]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
fce5d8ff
VS
12010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * NEWS: Put the date of 1.98 release.
4
d1e8a02f
VS
52010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
8 ft2build.h.
9
696fd607
VS
102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13 completition in the middle of string.
14
33e2e6f3
VS
152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * util/grub-mkrescue.in: Use mktemp with explicit template.
18
b1f6d291
VS
192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22
2ac227c7
VS
232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26 right pointer.
27
8f9a632b
VS
282010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Fix FreeBSD compilation.
31
32 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
33 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
34
60b03859
VS
352010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
38
48a5a769
VS
392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
42
3ab4bd77
VS
432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
46
d116e0d8
RM
472010-03-04 Robert Millan <rmh.grub@aybabtu.com>
48
49 Support relative image path in theme file.
50
51 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
52 (image_set_property): Handle theme_dir and relative path.
53
c7ef54aa
VS
542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * configure.ac: Alias amd64 to x86_64.
57
fcee14ed
VS
582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * NEWS: mention multiboot on EFI.
61
d0780363
VS
622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * kern/main.c (grub_load_modules): Handle errors from init functions of
65 embeded modules.
66
41168ea4
VS
672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * normal/autofs.c (autoload_fs_module): Handle errors.
70
b54d93ac
VS
712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
72
73 Disable linux.mod on qemu-mips since it's not functional and leads
74 to compilation failure.
75
76 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
77 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
78 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
79 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
80 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
81 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
82 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
83 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
84 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
85 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
86 Reported by: BVK Chaitanya
87
fc8345da
JU
882010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
89
90 * INSTALL: Add gettext as a dependency and add qemu to a new section
91 "Prerequisites for make-check".
92
4760f979
CF
932010-03-04 Christian Franke <franke@computer.org>
94
95 * util/grub-pe2elf.c: Add missing include "progname.h".
96
f209b5b2
VS
972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * normal/crypto.c (read_crypto_list): Fix a typo.
100 Reported by: Seth Goldberg.
101
b4b7be98
VS
1022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 105 Reported by: Seth Goldberg.
b4b7be98 106
c0ee0385
VS
1072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
110 ascii.bitmaps.
111
a8efbf64
VS
1122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 115 Reported by: Seth Goldberg.
a8efbf64 116
08dcd913
VS
1172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * util/i386/efi/grub-install.in: Copy gettext files.
120
c4d0b332
VS
1212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
124
c6f2fe52
VS
1252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
126
127 Wait for user entry basing on presence of output rather than on errors.
128
129 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
130 (grub_install_newline_hook): Likewise.
131 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
132 * normal/menu.c (show_menu): Check line_counter to determine presence
133 of output.
134 * normal/term.c (grub_normal_line_counter): New variable.
135 (grub_normal_get_line_counter): New function.
136 (grub_install_newline_hook): Likewise.
137
5382b1e4
VS
1382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
141
5519963b
VS
1422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * configure.ac: Update version to 1.98.
145
72b28631
VS
1462010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * util/grub.d/10_linux.in (linux_entry): Don't default to
149 gfxpayload=keep if Linux doesn't support video handover.
150
c140a180
VS
1512010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Don't compile video modules on yeeloong since video subsystem is part
154 of kernel.
155
156 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
157 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
158 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
159 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
160 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
161 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
162 * include/grub/bitmap_scale.h: Likewise.
163 * include/grub/bufio.h: Likewise.
164 * include/grub/font.h: Likewise.
165 * include/grub/gfxterm.h: Likewise.
166 * include/grub/video.h: Likewise.
167 * include/grub/vbe.h: Don't include video_fb.h.
168 * video/i386/pc/vbe.c: Include video_fb.h.
169 * commands/i386/pc/vbetest.c: Include video.h.
170
a0ca21c2
CW
1712010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
172
173 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
174 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
175 default entry if GRUB_SAVEDEFAULT=true. This allows using
176 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
177 saving a new default on every boot.
178
4a8a763c
VS
1792010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * normal/crypto.c (read_crypto_list): Fix a memory leak.
182 * normal/term.c (read_terminal_list): Likewise.
183 * normal/main.c (grub_normal_init_page): Likewise.
184 (grub_normal_read_line_real): Likewise.
185
607ffde2
VS
1862010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
189 memory leak.
190 Reported by: Seth Goldberg.
191
2b8fa975
CW
1922010-02-24 Joey Korkames <joey+lists@kidfixit.com>
193
194 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
195 duplicate declaration of `start'.
196
618307dd
VS
1972010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
200 filename.
201 Reported by: Georgy Buranov
202
7dd05b96 2032010-02-20 Carles Pina i Estany <carles@pina.cat>
204
205 * util/grub-mkrawimage.c (usage): Change string formatting to
206 improve gettext.
207
d1484a42
MRA
2082010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
209
210 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
211 backspace keys.
212
42b1d186
VS
2132010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
216 Reported by: Michael Suchanek.
217
2182010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
219
220 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
221 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
222
d9f31a41
VS
2232010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
224
225 Remove any reference to non-free fonts.
226
227 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
228 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
229 uses non-free components.
230 * font/font.c (grub_font_get_name): Remove example name.
231 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
232 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
233 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
234 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
235
2793c71e
GB
2362010-02-16 Georgy Buranov <gburanov@gmail.com>
237
238 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
239
402e3779
VS
2402010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
243 Double divisor.
244 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
245 features.
246 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
247
0dd1e0dd
VS
2482010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * gensymlist.sh.in: Use TARGET_CC instead of CC.
251
6fa7cfce
ST
2522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
253
254 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
255 * docs/grub.texi (Command-line and menu entry commands): Document play
256 command.
257
37c8483b
ST
2582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
259
260 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
261 parse arguments as inline tempo and notes. Move code for playing notes
262 to...
263 (play): ... new function.
264
14da0fb7
ST
2652010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
266
267 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
268 grub_uint16_t instead of short.
269 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
270 disk from little endian to cpu endianness.
271
04459e70
ST
2722010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
273
274 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
275 GRUB_TICKS_PER_SECOND instead of 120.
276
a0876943
VS
2772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
280 escape sequence after \e.
281
e29f95dc
VS
2822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
285 non-ASCII characters.
286
d27859b2
VS
2872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
290 set root in single quotes to prevent \, from being unescaped.
291
bc028f2f
VS
2922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
293
294 Prevent unknown commands from stopping menuentry execution.
295
296 * script/execute.c (grub_script_execute_cmdline): Print error after
297 unknown command.
298
095f5f82
VS
2992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
302 Reported by: Pavel Pisa.
303
8c717950
VS
3042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
307
904935c3
VS
3082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
309
310 Merge grub_ieee1275_map_physical into grub_map and rename to
311 grub_ieee1275_map
312
313 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
314 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
315 Remove.
316 * kern/ieee1275/openfw.c (grub_map): Rename to ...
317 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
318 necessary.
319 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
320
5b59a4e3
VS
3212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
324 opening and not after.
325
69e137e8
VS
3262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
329 constants.
330
2c0fcc36
VS
3312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
334 (alloc_phys): Use ALIGN_UP instead of align_addr.
335
8c6052ce
VS
3362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
339
17cec782
VS
3402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
343
e0128bbd
VS
3442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
347 verbose dprintf.
348
ca62070b
VS
3492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Fix over-4GiB seek on sparc64.
352
353 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
354 Replace pos_i and pos_lo with pos. All users updated.
355 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
356 New constant.
357 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
358 Likewise.
359 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
360 and pos_lo.
361
bdca2607
VS
3622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/grub-mkrawimage.c (main): Call set_program_name.
365
da278c4d
VS
3662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
367
368 Properly align 64-bit targets.
369
370 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
371 (generate_image): Use ALIGN_ADDR.
372
b274d734
VS
3732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
374
375 Properly create cross-endian images.
376
377 * include/grub/types.h (grub_host_to_target_addr): New macro
378 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
379
82da2062
VS
3802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
383
7cae4377
VS
3842010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
387
388 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
389 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
390 (grub_linux_boot): Divide by 64K when on VESA.
391
65a533e7
VS
3922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Support GRUB_GFXPAYLOAD_LINUX.
395
396 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
397 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
398
dd01d397
VS
3992010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
402 to show messages instead of discarding them.
403 Process errors after executing command and not before. Keep old method
404 too as precaution.
405
660960d6
VS
4062010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * configure.ac: Check for ft2build.h.
409
62509f04
VS
4102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
413
473df63d
VS
4142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * genkernsyms.sh.in: Use TARGET_CC.
417
c98d2a13
CW
4182010-02-07 Colin Watson <cjwatson@ubuntu.com>
419
420 * NEWS: Update.
421
6e14234c
VS
4222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
425 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
426 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 427
b255e9cf
YB
4282010-02-07 Yves Blusseau <blusseau@zetam.org>
429
6e14234c 430 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 431
98e6959d
VS
4322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
433
434 Fix warnings in grub-emu when compiling with maximum warning options.
435
436 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
437 (grub_arch_modules_addr): Return 0 and not NULL.
438 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 439 (xstrdup): Use newstr instead of dup.
f88d801b
VS
440 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
441 of disk to dsk to avoid shadowing.
74e4934e
VS
442 (find_free_slot): Fix prototype.
443 * util/getroot.c (grub_util_is_dmraid): Make static.
444 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
445 Add missing prototype.
446 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 447
74e31b5c
VS
4482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * loader/i386/linux.c (grub_linux_setup_video): Handle error
451 appropriately.
452
6b2ad14b
VS
4532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
456 code out.
457
8f891adc
VS
4582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
461 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
462 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
463 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
464 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
465 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
466
74b45184
VS
4672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * include/grub/err.h (grub_err_printf): Don't export.
470
a4bced77
VS
4712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
474
007d0695
VS
4752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * include/grub/i18n.h (grub_gettext_dummy): Removed.
478 * kern/misc.c (grub_gettext_dummy): Make static.
479
b6c0d9c2
VS
4802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
483 by non-valid ones.
484 * kern/term.c (grub_putchar): Likewise.
485
f51a90d0
VS
4862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
489 buggy hook call and memory leak.
490
6846cec5
VS
4912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
494
468d69fe
VS
4952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
498
51906b8c
VS
4992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
502 modevar.
503 Return grub_errno on allocation error.
504
09706ce5
VS
5052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
508
911df80c
YB
5092010-02-06 Yves Blusseau <blusseau@zetam.org>
510
511 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
512 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
513
3746a6bc
VS
5142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
517 non-pxe disk.
518 (grub_pxefs_open): Likewise.
519
09706ce5
VS
5202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
521
522 * util/grub.d/10_hurd.in: Add --class information to menuentries.
523 * util/grub.d/10_kfreebsd.in: Likewise.
524 * util/grub.d/10_linux.in: Likewise.
525
7cc192d9
VS
5262010-02-06 Colin D Bennett <colin@gibibit.com>
527
528 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
529 (gfxmenu_mod_SOURCES): New variable.
530 (gfxmenu_mod_CFLAGS): Likewise.
531 (gfxmenu_mod_LDFLAGS): Likewise.
532 * include/grub/term.h (grub_term_set_current_output): Declare
533 argument as const.
534 * docs/gfxmenu-theme-example.txt: New file.
535 * gfxmenu/gfxmenu.c: Likewise.
536 * gfxmenu/gui_box.c: Likewise.
537 * gfxmenu/gui_canvas.c: Likewise.
538 * gfxmenu/gui_circular_progress.c: Likewise.
539 * gfxmenu/gui_image.c: Likewise.
540 * gfxmenu/gui_label.c: Likewise.
541 * gfxmenu/gui_list.c: Likewise.
542 * gfxmenu/gui_progress_bar.c: Likewise.
543 * gfxmenu/gui_string_util.c: Likewise.
544 * gfxmenu/gui_util.c: Likewise.
545 * gfxmenu/icon_manager.c: Likewise.
546 * gfxmenu/model.c: Likewise.
547 * gfxmenu/named_colors.c: Likewise.
548 * gfxmenu/theme_loader.c: Likewise.
549 * gfxmenu/view.c: Likewise.
550 * gfxmenu/widget-box.c: Likewise.
551 * include/grub/gfxmenu_model.h: Likewise.
552 * include/grub/gfxmenu_view.h: Likewise.
553 * include/grub/gfxwidgets.h: Likewise.
554 * include/grub/gui.h: Likewise.
555 * include/grub/gui_string_util.h: Likewise.
556 * include/grub/icon_manager.h: Likewise.
557
5582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
559
560 Agglomerate scrolling in gfxterm.
561
562 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
563 (grub_virtual_screen_setup): Initialise 'total_screen'.
564 (write_char): Split to ...
565 (paint_char): ... this ...
566 (write_char): ... and this.
567 (paint_char): Handle delayed scrolling.
568 (draw_cursor): Likewise.
569 (scroll_up): Split to ...
570 (real_scroll): ... this ...
571 (scroll_up): ... and this.
572 (real_scroll): Handle multi-line scroll and draw below-the-bottom
573 characters.
574 (grub_gfxterm_refresh): Call real_scroll.
575
5762010-02-06 Colin D Bennett <colin@gibibit.com>
577
578 * include/grub/misc.h (grub_iscntrl): New inline function.
579 (grub_isalnum): Likewise.
580 (grub_strtol): Likewise.
581
5822010-02-06 Colin D Bennett <colin@gibibit.com>
583
584 * normal/menu_text.c (get_entry_number): Move from here ...
585 * normal/menu.c (get_entry_number): ... moved here.
586 * include/grub/menu.h (grub_menu_get_default_entry_index):
587 New prototype.
588 * normal/menu.c (grub_menu_get_default_entry_index): New function.
589 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
590 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
591 (grub_menu_viewer_should_return): Likewise.
592 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
593 * normal/menu_text.c (run_menu): Enable menu switching.
594 * normal/menu_viewer.c (should_return): New variable.
595 (menu_viewer_changed): Likewise.
596 (grub_menu_viewer_show_menu): Handle menu viewer changes.
597 (grub_menu_viewer_should_return): New function.
598 (menuviewer_write_hook): Likewise.
599 (grub_menu_viewer_init): Likewise.
600
6012010-02-06 Colin D Bennet <colin@gibibit.com>
6022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Support for gfxterm in a window.
605
606 * include/grub/gfxterm.h: New file.
607 * include/grub/video.h (struct grub_video_rect): New declaration.
608 (grub_video_rect_t): Likewise.
609 * term/gfxterm.c (struct grub_gfxterm_window): New type.
610 (refcount): New variable.
611 (render_target): Likewise.
612 (window): Likewise.
613 (repaint_callback): Likewise.
614 (grub_virtual_screen_setup): Use 'render_target'.
615 (init_window): New function.
616 (grub_gfxterm_init_window): Likewise.
617 (grub_gfxterm_init): Check reference counter.
618 Use init_window.
619 (destroy_window): New function.
620 (grub_gfxterm_destroy_window): Likewise.
621 (grub_gfxterm_fini): Check reference counter.
622 Use destroy_window.
623 (redraw_screen_rect): Restore viewport.
624 Use 'render_target' and 'window'.
625 Call 'repaint_callback'.
626 (write_char): Use 'render_target'.
627 (draw_cursor): Likewise.
628 (scroll_up): Restore viewport.
629 Use 'render_target' and 'window'.
630 Call 'repaint_callback'.
631 (grub_gfxterm_cls): Likewise.
632 (grub_gfxterm_refresh): Use 'window'.
633 (grub_gfxterm_set_repaint_callback): New function.
634 (grub_gfxterm_background_image_cmd): Use 'window'.
635 (grub_gfxterm_get_term): New function.
636 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
637
6382010-02-06 Colin D Bennett <colin@gibibit.com>
639
640 Bitmap scaling support.
641
642 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
643 (bitmap_scale_mod_SOURCES): New variable.
644 (bitmap_scale_mod_CFLAGS): Likewise.
645 (bitmap_scale_mod_LDFLAGS): Likewise.
646 * include/grub/bitmap_scale.h: New file.
647 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
648 (background_image_cmd_options): New variable.
649 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
650 (cmd): Rename and change type to ...
651 (background_image_cmd_handle): ... this. All users updated.
652 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
653 * video/bitmap_scale.c: New file.
654
6552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
656
657 SDL support.
658
659 * Makefile.in (LIBSDL): New variable.
660 (enable_grub_emu_sdl): Likewise.
661 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
662 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
663 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
664 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
665 * util/sdl.c: New file.
666
6672010-02-06 Colin D Bennett <colin@gibibit.com>
6682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
669
670 Double buffering support.
671
672 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
673 * include/grub/video.h: Update comment.
674 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
675 New type.
676 (grub_video_fb_doublebuf_blit_init): New prototype.
677 * term/gfxterm.c (scroll_up): Support double buffering.
678 (grub_gfxterm_refresh): Likewise.
679 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
680 (grub_video_fb_doublebuf_blit_init): Likewise.
681 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
682 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
683 'displayed_page', 'render_page' and 'update_screen'.
684 (grub_video_vbe_fini): Free offscreen buffer.
685 (doublebuf_pageflipping_commit): New function.
686 (doublebuf_pageflipping_update_screen): Likewise.
687 (doublebuf_pageflipping_init): Likewise.
688 (double_buffering_init): Likewise.
689 (grub_video_vbe_setup): Enable doublebuffering.
690 (grub_video_vbe_swap_buffers): Implement.
691 (grub_video_vbe_set_active_render_target): Handle double buffering.
692 (grub_video_vbe_get_active_render_target): Likewise.
693 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
694 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
695 (grub_video_vbe_enable_double_buffering): Likewise.
696 (grub_video_vbe_swap_buffers): Use update_screen.
697 (grub_video_set_mode): Use double buffering.
698
6992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
700
701 * maintainance/gentrigtables.py: Remove.
702 * lib/trig.c: Likewise.
703
704 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
705
706 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
707 `trigtables.c'.
708 (trigtables.c): New rule.
709 (gentrigtables): Likewise.
710 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
711
7122010-02-06 Robert Millan <rmh.grub@aybabtu.com>
713
714 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
715 integer constants.
716
7172010-02-06 Colin D Bennet <colin@gibibit.com>
718
719 Trigonometry support.
720
721 * include/grub/trig.h: New file.
722 * lib/trig.c: Likewise.
723 * maintainance/gentrigtables.py: Likewise.
724 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
725 (trig_mod_SOURCES): New variable.
726 (trig_mod_CFLAGS): Likewise.
727 (trig_mod_LDFLAGS): Likewise.
728
5562834e
VS
7292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
732 disk devices.
733
4f8528fc
VS
7342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
737 error.
738
2b4068e9
VS
7392010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * util/hostdisk.c (open_device): Don't use partition device when reading
742 before the partition.
743 (grub_util_biosdisk_read): Don't read from partition and before the
744 partition in single operation.
745 (grub_util_biosdisk_write): Don't write to partition and before the
746 partition in single operation.
747
399f6e4d
TL
7482010-02-03 Torsten Landschoff <torsten@debian.org>
749
750 * kern/disk.c (grub_disk_read): Fix offset computation when reading
751 last sectors.
752
996649b0
VS
7532010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
756 CDROM reads.
757 (grub_biosdisk_write): Refuse to write to CDROM.
758
3b205d4d
VS
7592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
762
61e89d9d
VS
7632010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * font/font.c (find_glyph): Check that bmp_idx is available before
766 using it.
767 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
768 with (font == NULL).
769
bf7fcba2
CS
7702010-01-28 Christian Schmitt <chris@ilovelinux.de>
771
772 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
773
f45d2663
BC
7742010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
775
776 * include/grub/script_sh.h (sourcecode): Add const qualifier.
777 * util/grub-script-check.c (getline): Fix empty lines case.
778
ec1444e6
RM
7792010-01-28 Robert Millan <rmh.grub@aybabtu.com>
780
781 * Makefile.in (check): Exit with fail status when one of the tests
782 fails.
783 * tests/example_functional_test.c (example_test): Fix reversed assert.
784 * tests/example_unit_test.c (example_test): Likewise.
785
2e1cb9bb
CW
7862010-01-28 Colin Watson <cjwatson@ubuntu.com>
787
788 * util/grub.d/10_linux.in: This script does not use any of the
789 contents of gettext.sh, only the external command `gettext', so stop
790 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
791 the same prefix as GRUB.)
792 * util/grub.d/10_kfreebsd.in: Likewise.
793
63533ab0
VS
7942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
797 of the line.
798
989e1f93
VS
7992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * kern/disk.c (grub_disk_read): Fix offset computation when reading
802 last sectors.
803
e709ebe2
VS
8042010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
807 having a 4KiB and not 32KiB buffer size.
808
27dea7ed
RM
8092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
810
811 * util/hostfs.c: Include `<errno.h>'.
812 (grub_hostfs_read): Handle errors from fseeko() and fread().
813
67667b9c
RM
8142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
815
816 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
817 loop when using read hooks on files whose size isn't sector-aligned.
818
c294d9d8
RM
8192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
820
821 Remove unused parameter.
822
823 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
824 (grub_iso9660_open): Remove initialization of `data->length'.
825
af75a9f1
RM
8262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
827
828 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
829 memleak conditions.
830
254e2ce5 8312010-01-27 Carles Pina i Estany <carles@pina.cat>
832
833 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
834 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
835
b510928c 8362010-01-26 Carles Pina i Estany <carles@pina.cat>
837
838 * util/bin2h.c (usage): Fix warning (space after backslash).
839
aa2f9dd2 8402010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 841
842 * font/font.c: Include `grub/fontformat.h.
843 Remove font file format constants.
844 (grub_font_load): Use the new macros.
845 * include/grub/fontformat.h: New file.
846 * util/grub-mkfont.c: Include `grub/fontformat.c'.
847 (write_font_pf2): Use the new macros.
848
94e7e712
RM
8492010-01-26 Robert Millan <rmh.grub@aybabtu.com>
850
851 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
852 does.
853
3973a59a
RM
8542010-01-26 Robert Millan <rmh.grub@aybabtu.com>
855
856 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
857
858 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
859 (_start): Macroify `0x7F'.
860
861 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
862 (make_install_device): Use "(pxe)" as fallback prefix when booting
863 via PXE.
864
42e0cba3
GS
8652010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * configure.ac: Reset LIBS after check for libgcc symbols.
868
847effd8
CW
8692010-01-25 Colin Watson <cjwatson@ubuntu.com>
870
871 * util/hostdisk.c (open_device): Add trailing newline to debug
872 message.
873
ea4a7e35
GS
8742010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
875
876 * configure.ac: Check for `limits.h'.
877 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
878
67951a53
RM
8792010-01-24 Robert Millan <rmh.grub@aybabtu.com>
880
881 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
882 capitalize error strings.
883
c273d4ce
ST
8842010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
885
886 * util/grub.d/10_hurd.in: Add a recovery mode.
887
69be5b74
VS
8882010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * configure.ac: Check for libgcc symbols with -nostdlib.
891
fc9e5810
BC
8922010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
893
894 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
895
4b358c0a
VS
8962010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
899 stack since heap may be unavailable at that point.
900 (grub_ofconsole_gotoxy): Likewise.
901
454fcd1c
VS
9022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * configure.ac: Check for _restgpr_14_x.
905 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
906 and _savegpr_* prototypes.
907
566863ca
RM
9082010-01-22 Robert Millan <rmh.grub@aybabtu.com>
909
910 Use generic grub_reboot() for i386-efi.
911
912 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
913 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
914 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
915
bf86e59a
VS
9162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
919 presence of "prefix" variable as it breaks when normal.mod is
920 embedded.
921
d645e0f8
VS
9222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
925 stack since heap is unavailable at that point.
926
f9ab2e25
VS
9272010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
930 (grub_freebsd_bootinfo): Rewritten.
931 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
932
01fc7054
VS
9332010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
936
caab4fd6
RM
9372010-01-21 Robert Millan <rmh.grub@aybabtu.com>
938
939 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
940 domain now.
941
67eb1427
FZ
9422010-01-20 Felix Zielcke <fzielcke@z-51.de>
943
944 * util/misc.c (make_system_path_relative_to_its_root): Change the work
945 around for handling "/" to the correct fix. Fix a memory leak. Use
946 xstrdup instead of strdup.
947
a9ed4ff3
VS
9482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
951
9522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
953
954 Optimise glyph lookup by Basic Multilingual Plane lookup array.
955
956 * font/font.c (struct grub_font): New member 'bmp_idx'.
957 (font_init): Initialise 'bmp_idx'.
958 (load_font_index): Fill 'bmp_idx'.
959 (find_glyph): Make inline. Use bmp_idx for BMP characters.
960
48209f4f
VS
9612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
964 unnecessary calls.
965
9f0a4bb7
VS
9662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Move context handling out of the kernel.
969
970 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
971 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
972 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
973 * conf/i386-efi.rmk: Likewise.
974 * conf/i386-ieee1275.rmk: Likewise.
975 * conf/i386-pc.rmk: Likewise.
976 * conf/powerpc-ieee1275.rmk: Likewise.
977 * conf/sparc64-ieee1275.rmk: Likewise.
978 * conf/x86_64-efi.rmk: Likewise.
979 * include/grub/env.h: Include grub/menu.h.
980 (grub_env_var_type): Removed.
981 (grub_env_var): Replaced field 'type' with 'global'.
982 (grub_env_find): New prototype.
983 (grub_env_context_open): Remove EXPORT_FUNC.
984 (grub_env_context_close): Likewise.
985 (grub_env_export): Likewise.
986 (grub_env_set_data_slot): Removed.
987 (grub_env_get_data_slot): Likewise.
988 (grub_env_unset_data_slot): Likewise.
989 (grub_env_unset_menu): New prototype.
990 (grub_env_set_menu): Likewise.
991 (grub_env_get_menu): Likewise.
992 * include/grub/env_private.h: New file.
993 * include/grub/normal.h (grub_context_init): New prototype.
994 (grub_context_fini): Likewise.
995 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
996 * normal/context.c (grub_cmd_export): ... to here.
997 * kern/env.c: Include env_private.h.
998 (HASHSZ): Moved to include/grub/env_private.h.
999 (grub_env_context): Likewise.
1000 (grub_env_sorted_var): Likewise.
1001 (current_context): Renamed from this ...
1002 (grub_current_context): ...to this. 'static' removed. All users updated.
1003 (grub_env_find): Removed 'static'.
1004 (grub_env_context_open): Moved to normal/context.c.
1005 (grub_env_context_close): Likewise.
1006 (grub_env_export): Likewise.
1007 (mangle_data_slot_name): Removed.
1008 (grub_env_set_data_slot): Likewise.
1009 (grub_env_get_data_slot): Likewise.
1010 (grub_env_unset_data_slot): Likewise.
1011 * kern/main.c (grub_set_root_dev): Don't export root.
1012 It will be done later.
1013 (grub_main): Don't export prefix.
1014 It will be done later.
1015 * normal/context.c: New file.
1016 * normal/main.c (free_menu): Use grub_env_unset_menu.
1017 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1018 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1019 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1020 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1021
8dd35b8c
VS
10222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 setpci support.
1025
1026 * commands/setpci.c: New file.
1027 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1028 (setpci_mod_SOURCES): New variable.
1029 (setpci_mod_CFLAGS): Likewise.
1030 (setpci_mod_LDFLAGS): Likewise.
1031
449193d5
VS
10322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 Byte-addressable PCI configuration space.
1035
1036 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1037 dword address.
1038 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1039 GRUB_PCI_REG_CACHELINE.
1040 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1041 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1042 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1043 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1044 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1045 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1046 grub_pci_make_address.
1047 (lock_rom_area): Likewise.
1048 * commands/lspci.c (grub_lspci_iter): Use macroses
1049 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1050 of grub_pci_make_address.
1051 * disk/ata.c (grub_ata_pciinit): Likewise.
1052 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1053 (GRUB_PCI_REG_VENDOR): Likewise.
1054 (GRUB_PCI_REG_DEVICE): Likewise.
1055 (GRUB_PCI_REG_COMMAND): Likewise.
1056 (GRUB_PCI_REG_STATUS): Likewise.
1057 (GRUB_PCI_REG_REVISION): Likewise.
1058 (GRUB_PCI_REG_CLASS): Likewise.
1059 (GRUB_PCI_REG_CACHELINE): Likewise.
1060 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1061 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1062 (GRUB_PCI_REG_BIST): Likewise.
1063 (GRUB_PCI_REG_ADDRESSES): Likewise.
1064 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1065 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1066 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1067 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1068 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1069 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1070 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1071 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1072 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1073 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1074 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1075 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1076 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1077 (GRUB_PCI_REG_MIN_GNT): Likewise.
1078 (GRUB_PCI_REG_MAX_LAT): Likewise.
1079 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1080 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1081 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 1082 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
1083 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1084 space.
1085
96d73208
RM
10862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1087
1088 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1089 can be reliably determined to be supported.
1090
d4484482
RM
10912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1092
1093 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1094 that VESA is supported.
1095 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1096 supported.
1097
00308ecf
VS
10982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1101
f66924a4
RM
11022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1103
1104 * util/misc.c (make_system_path_relative_to_its_root): Work around
1105 special-casing of "/", as previous incarnation of this routine did.
1106
cbca0ada
VS
11072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 Fix any-emu compilation.
1110
1111 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1112 * grub_bin2h_SOURCES: New variable.
1113
34a66d99
RM
11142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1115
1116 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1117
94fabf58
RM
11182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1119
1120 * util/grub.d/00_header.in: Fix handling of locale_dir.
1121
02cf98ca
VS
11222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1125 as possible unifont location (Gentoo).
1126 Reported by: Alexander Brüning
1127
327dbcd7
VS
11282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Don't try to generate lists for kernel.img.
1131
1132 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1133 (pkglib_MODULES): Remove kernel.img.
1134 (kernel_img_EXPORTS): Removed.
1135 (kernel_img_RELOCATABLE): New variable.
1136 * conf/x86_64-efi.rmk: Likewise.
1137 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1138
ca467290
VS
11392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1142 grub_xasprintf or grub_snprintf.
1143 (grub_vsprintf): Likewise.
1144 (grub_snprintf): New proto.
1145 (grub_vsnprintf): Likewise.
1146 (grub_xasprintf): Likewise.
1147 (grub_xvasprintf): Likewise.
1148 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1149 (grub_sprintf): Removed.
1150 (grub_vsnprintf): New function.
1151 (grub_snprintf): Likewise.
1152 (grub_xvasprintf): Likewise.
1153 (grub_xasprintf): Likewise.
1154 (grub_vsprintf): Renamed to ...
1155 (grub_vsnprintf_real): ...this. New argument max_len.
1156
aca655fd
BC
11572010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1158
1159 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1160 fix grub-script-check warning.
1161
7ee92c32
VS
11622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * include/grub/font.h (grub_font_load): Fix prototype.
1165
f80927ca
VS
11662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1169
119c50ea
VS
11702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * include/grub/x86_64/at_keyboard.h: New file.
1173
47d5f3c1
VS
11742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * loader/mips/linux.c: Include missing grub/i18n.h.
1177
55ff5266
RM
11782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1179
1180 * normal/menu.c (notify_execution_failure): Clarify error message.
1181
c893cc87
RM
11822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1183
1184 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1185 return value (and revert all return statements). Update users.
1186
917dd370
CW
11872010-01-20 Dan Merillat <debian@dan.merillat.org>
1188
1189 * kern/device.c (grub_device_iterate): Allocate new part_ent
1190 structure based on sizeof (*p) rather than sizeof (p->next), to
1191 account for structure padding.
1192
1193 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1194 disk is NULL, which might happen for LVM physical volumes with no
1195 LVM signature.
1196
d4a4ee57
RM
11972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1198
1199 * loader/mips/linux.c (grub_cmd_initrd)
1200 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1201
12022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1203
1204 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1205 (grub_video_video_init, grub_video_bitmap_init)
1206 (grub_font_manager_init, grub_term_gfxterm_init)
1207 (grub_at_keyboard_init): New extern declarations.
1208 (grub_machine_init): Initialize gfxterm and at_keyboard.
1209
1210 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1211
1212 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1213 `gfxterm.mod' into core image.
1214
1215 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1216 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1217 (kernel_img_FORMAT): Copy to ...
1218
1219 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1220 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1221 (kernel_img_FORMAT): ... here, and ...
1222
1223 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1224 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1225 (kernel_img_FORMAT): ... here.
1226
1227 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1228 and input (at_keyboard) terminals in kernel.
1229 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1230
1231 (pkglib_MODULES): Remove `pci.mod'.
1232 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1233 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1234 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1235 (at_keyboard_mod_LDFLAGS): Remove variables.
1236
12372010-01-11 Felix Zielcke <fzielcke@z-51.de>
1238
1239 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1240
12412009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1242
1243 * include/grub/mips/libgcc.h: Only export symbols for functions
1244 that libgcc provides.
1245
12462009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 MIPS support.
1249
1250 * bus/bonito.c: New file.
1251 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1252 GRUB_PCI_NUM_DEVICES.
1253 * term/i386/pc/serial.c: Move to ...
1254 * term/serial.c: ... here. All users updated.
1255 * util/i386/pc/grub-mkimage.c: Move to ...
1256 * util/grub-mkrawimage.c: ... here. All users updated.
1257 * term/i386/pc/at_keyboard.c: Move to ...
1258 * term/at_keyboard.c: ... here. All users updated.
1259 * conf/mips-qemu-mips.rmk: New file.
1260 * conf/mips-yeeloong.rmk: Likewise.
1261 * conf/mips.rmk: Likewise.
1262 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1263 mipsel-qemu-mips.
1264 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1265 to port addresses.
1266 (grub_ata_pciinit): Support CS5536.
1267 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1268 * font/font_cmd.c (loadfont_command): Open file before passing it to
1269 grub_font_load.
1270 (pseudo_file_read): New function.
1271 (pseudo_file_close): Likewise.
1272 (pseudo_fs): New structure.
1273 (load_font_module): New function.
1274 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1275 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1276 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1277 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1278 * include/grub/i386/at_keyboard.h: Split into ...
1279 * include/grub/at_keyboard.h: ... this ...
1280 * include/grub/i386/at_keyboard.h: ... and this.
1281 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1282 New prototype.
1283 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1284 updated.
1285 (grub_elf64_size): Likewise.
1286 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1287 filename.
1288 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1289 * include/grub/i386/coreboot/serial.h: Rewritten.
1290 * include/grub/i386/ieee1275/serial.h: Include
1291 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1292 * include/grub/i386/pc/serial.h: Moved from here ...
1293 * include/grub/serial.h: ... to here. All users updated.
1294 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1295 (GRUB_PCI_NUM_BUS): Likewise.
1296 (GRUB_PCI_NUM_DEVICES): Likewise.
1297 (grub_pci_device_map_range): Add missing volatile keyword.
1298 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1299 * include/grub/mips/at_keyboard.h: New file.
1300 * include/grub/mips/cache.h: Likewise.
1301 * include/grub/mips/io.h: Likewise.
1302 * include/grub/mips/kernel.h: Likewise.
1303 * include/grub/mips/libgcc.h: Likewise.
1304 * include/grub/mips/pci.h: Likewise.
1305 * include/grub/mips/qemu-mips/boot.h: Likewise.
1306 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1307 * include/grub/mips/qemu-mips/loader.h: Likewise.
1308 * include/grub/mips/qemu-mips/memory.h: Likewise.
1309 * include/grub/mips/qemu-mips/serial.h: Likewise.
1310 * include/grub/mips/qemu-mips/time.h: Likewise.
1311 * include/grub/mips/relocator.h: Likewise.
1312 * include/grub/mips/time.h: Likewise.
1313 * include/grub/mips/types.h: Likewise.
1314 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1315 * include/grub/mips/yeeloong/boot.h: Likewise.
1316 * include/grub/mips/yeeloong/kernel.h: Likewise.
1317 * include/grub/mips/yeeloong/loader.h: Likewise.
1318 * include/grub/mips/yeeloong/memory.h: Likewise.
1319 * include/grub/mips/yeeloong/pci.h: Likewise.
1320 * include/grub/mips/yeeloong/serial.h: Likewise.
1321 * include/grub/mips/yeeloong/time.h: Likewise.
1322 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1323 * kern/elf.c (grub_elf32_size): New parameter. All users
1324 updated.
1325 (grub_elf64_size): Likewise.
1326 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1327 Load modules before saying "Welcome to GRUB!".
1328 Call grub_refresh after saying "Welcome to GRUB!".
1329 * kern/mips/cache.S: New file.
1330 * kern/mips/cache_flush.S: Likewise.
1331 * kern/mips/dl.c: Likewise.
1332 * kern/mips/init.c: Likewise.
1333 * kern/mips/qemu-mips/init.c: Likewise.
1334 * kern/mips/startup.S: Likewise.
1335 * kern/mips/yeeloong/init.c: Likewise.
1336 * kern/term.c (grub_putcode): Handle NULL terminal.
1337 (grub_getcharwidth): Likewise.
1338 (grub_getkey): Likewise.
1339 (grub_checkkey): Likewise.
1340 (grub_getkeystatus): Likewise.
1341 (grub_getxy): Likewise.
1342 (grub_getwh): Likewise.
1343 (grub_gotoxy): Likewise.
1344 (grub_cls): Likewise.
1345 (grub_setcolorstate): Likewise.
1346 (grub_setcolor): Likewise.
1347 (grub_getcolor): Likewise.
1348 (grub_refresh): Likewise.
1349 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1350 (write_jump): Add hatch nop.
1351 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1352 * lib/mips/setjmp.S: New file.
1353 * loader/mips/linux.c: Likewise.
1354 * term/i386/pc/at_keyboard.c: Move from here ...
1355 * term/at_keyboard.c: ... to here.
1356 * term/i386/pc/serial.c: Moved from here ...
1357 * term/serial.c: ... to here. All users updated.
1358 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1359 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1360 (serial_translate_key_sequence): Avoid deadlock.
1361 (grub_serial_getkey): Handle backspace.
1362 (grub_serial_putchar): Fix newline handling.
1363 * util/i386/pc/grub-mkimage.c: Move from here ...
1364 * util/grub-mkrawimage.c: ... to here. All users updated.
1365 (generate_image): New parameters 'font_path' and 'format'.
1366 Support embedding font.
1367 Use grub_host_to_target* instead of grub_cpu_to_le*.
1368 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1369 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1370 (options): New option "--font".
1371 (usage): Likewise.
1372 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1373 (main): Handle "--font".
1374 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1375 (grub_virtual_screen_setup): Set bg_color_display.
1376 (redraw_screen_rect): Use bg_color_display instead of incorrect
1377 bg_color.
1378 (grub_gfxterm_cls): Likewise.
1379 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1380 Support embedding config file.
1381 (add_segments): Likewise.
1382 (options): New option "--config".
1383 (main): Handle "--config".
1384 * video/sm712.c: New file.
1385
25c2b5b3
RM
13862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1387
1388 Fix parallel builds.
1389
1390 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1391 font.c depend on ascii.h).
1392
13932010-01-12 Carles Pina i Estany <carles@pina.cat>
1394
1395 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1396
13972010-01-11 Carles Pina i Estany <carles@pina.cat>
1398
1399 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1400 By default: disabled.
1401 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1402 parameter.
1403
14042010-01-10 Carles Pina i Estany <carles@pina.cat>
1405
1406 * font/font.c: Update copyright years.
1407 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1408
14092010-01-10 Carles Pina i Estany <carles@pina.cat>
1410
1411 * font/font.c: Include `ascii.h'.
1412 (ASCII_BITMAP_SIZE): New macro.
1413 (ascii_font_glyph): Define.
1414 (ascii_glyph_lookup): New function.
1415 (grub_font_get_string_width): Change comment. If glyph not found, use
1416 ascii_glyph_lookup.
1417 (grub_font_get_glyph_with_fallback): If glyph not available returns
1418 ascii_glyph_lookup.
1419 * util/grub-mkfont.c (file_formats): New enum.
1420 (options): Add `ascii-bitmaps' new option.
1421 (usage): Add `asii-bitmaps' new option.
1422 (write_font_ascii_bitmap): New function.
1423 (write_font): Rename to ...
1424 (write_font_p2): ... this. Remove print_glyphs call.
1425 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1426 used. Call print_glyphs.
1427 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1428
14292010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1430
1431 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1432 (grub_bin2h_SOURCES): New variable.
1433 * util/bin2h.c: New file.
1434
915fc1b8
VS
14352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * include/multiboot.h: Resynced with spec.
1438 * include/multiboot2.h: Likewise.
1439 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1440 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1441
9444b678
RM
14422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1443
1444 * include/grub/term.h (grub_term_register_input,
1445 grub_term_register_output): Check return of terminal init()
1446 routines, and abort if errors are raised.
1447
1448 * commands/terminal.c: Update copyright year.
1449
cba98e8d
RM
14502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1451
1452 * commands/terminal.c (grub_cmd_terminal_input)
1453 (grub_cmd_terminal_output): Check return of terminal init()
1454 routines, and abort if errors are raised.
1455
6f7db5d6
VS
14562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * include/grub/i386/bsd.h: Fix include pathes.
1459
262bff8d
VS
14602010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 Add missing *BSD copyright headers.
1463
1464 * include/grub/aout.h: Add BSD licence.
1465 * include/grub/i386/bsd.h: Parts under different licences moved to ...
1466 * include/grub/i386/freebsd_linker.h: ... here,
1467 * include/grub/i386/freebsd_reboot.h: ... here,
1468 * include/grub/i386/netbsd_bootinfo.h: ... here,
1469 * include/grub/i386/netbsd_reboot.h: ... here,
1470 * include/grub/i386/openbsd_bootarg.h: ... here,
1471 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
1472 licence to each file.
1473
b2cab848
RM
14742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1475
1476 * acinclude.m4: Remove `nop' assembly instruction; it's not
1477 implemented by all architectures.
1478
2cb6be4b
RM
14792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1480
1481 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
1482 ELILO. This is no longer necessary.
1483
a2eaee15
BC
14842010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
1485
1486 Added new tool, grub-scrit-check to verify grub.cfg syntax.
1487
1488 * util/grub-script-check.c: grub-script-check tool.
1489 * conf/common.rmk: Make rules for grub-script-check.
1490
88d17012
RM
14912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1492
1493 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
1494 spotting it back in 2008. Shame on me for forgetting he did.
1495
1496 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
1497
8040619d
RM
14982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1499
1500 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
1501 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
1502 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
1503 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
1504 (GRUB_VIDEO_TYPE_EFI): Rename to ...
1505 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
1506
a0c2a0f6
RM
15072010-01-17 Robert Millan <rmh.grub@aybabtu.com>
1508
1509 * include/grub/test.h: Add license header.
1510 * tests/example_functional_test.c: Likewise.
1511 * tests/example_unit_test.c: Likewise.
1512 * tests/lib/functional_test.c: Likewise.
1513 * tests/lib/test.c: Likewise.
1514 * tests/lib/unit_test.c: Likewise.
1515
b0b13907
VS
15162010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 Use flag-based instead of hook-based video mode selection and "auto"
1519 keyword.
1520
1521 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
1522 (grub_video_set_mode): Changed prototype. All users updated.
1523 (grub_video_check_mode_flag): New inline function.
1524 * video/video.c (parse_modespec): New function.
1525 (grub_video_set_mode): Parse flags and keywords.
1526
ea379330 15272010-01-17 Carles Pina i Estany <carles@pina.cat>
1528
1529 * util/misc.c (grub_util_info): Fix the order of the parameters in a
1530 fprintf call.
1531
e15c215e
FZ
15322010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1533
1534 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
1535
409ae1c9 15362010-01-16 Carles Pina i Estany <carles@pina.cat>
1537
1538 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
1539 string.
1540 * util/grub-emu.c (usage): Likewise.
1541 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
1542 * util/i386/efi/grub-mkimage.c (usage): Likewise.
1543 * util/i386/pc/grub-mkimage.c (usage): Likewise.
1544 * util/i386/pc/grub-setup.c (usage): Likewise.
1545
70a14d3d 15462010-01-16 Carles Pina i Estany <carles@pina.cat>
1547
1548 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
1549 the message.
1550 (grub_util_info): Likewise.
1551 (grub_util_error): Likewise.
1552 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
1553 and/or new lines in `grub_util_warna', `grub_util_info',
1554 `grub_util_error' calls.
1555 * util/getroot.c: Likewise.
1556 * util/grub-editenv.c: Likewise.
1557 * util/grub-emu.c: Likewise.
1558 * util/grub-fstest.c: Likewise.
1559 * util/grub-mkdevicemap.c: Likewise.
1560 * util/grub-mkfont.c: Likewise.
1561 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1562 * util/grub-mkrelpath.c: Likewise.
1563 * util/grub-pe2elf.c: Likewise.
1564 * util/grub-probe.c: Likewise.
1565 * util/hostdisk.c: Likewise.
1566 * util/i386/efi/grub-mkimage.c: Likewise.
1567 * util/i386/pc/grub-mkimage.c: Likewise.
1568 * util/i386/pc/grub-setup.c: Likewise.
1569 * util/ieee1275/ofpath.c: Likewise.
1570 * util/mkisofs/eltorito.c: Likewise.
1571 * util/mkisofs/rock.c: Likewise.
1572 * util/mkisofs/write.c: Likewise.
1573 * util/raid.c: Likewise.
1574 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1575 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1576
a0b766fc
VS
15772010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 Enable multiboot on non-pc.
1580
1581 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
1582 multiboot.mod and multiboot2.mod to ...
1583 * conf/i386.rmk (pkglib_MODULES): ... here.
1584 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
1585 Moved to ...
1586 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
1587 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
1588 Moved to ...
1589 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
1590 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
1591 Moved to ...
1592 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
1593 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
1594 Moved to ...
1595 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
1596 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
1597 relocator.mod.
1598 (ata_mod_SOURCES): Removed.
1599 (ata_mod_CFLAGS): Likewise.
1600 (ata_mod_LDFLAGS): Likewise.
1601 (relocator_mod_SOURCES): Removed.
1602 (relocator_mod_CFLAGS): Likewise.
1603 (relocator_mod_ASFLAGS): Likewise.
1604 (relocator_mod_LDFLAGS): Likewise.
1605 Include i386.mk.
1606 * include/grub/x86_64/multiboot.h: New file.
1607 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
1608 Terminate EFI.
1609
884ade56
VS
16102010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 Video multiboot support.
1613
1614 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
1615 New prototype.
1616 * include/multiboot.h: Resynced with multiboot specification.
1617 * include/multiboot2.h: Likewise.
1618 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
1619 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
1620 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
1621 (HAS_VGA_TEXT): Likewise.
1622 (accepts_video): New variable.
1623 (grub_multiboot_set_accepts_video): New function.
1624 (grub_multiboot_get_mbi_size): Account for video structures.
1625 (set_video_mode): New function.
1626 (retrieve_video_parameters): Likewise.
1627 (grub_multiboot_make_mbi): Fill video fields.
1628
0d90e8a6
VS
16292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 Video driver ids.
1632
1633 * include/grub/video.h (grub_video_driver_id): New type.
1634 (grub_video_adapter): New member 'id'. All users updated.
1635 (grub_video_get_driver_id): New proto.
1636 * video/video.c (grub_video_get_driver_id): New function.
1637
5c71db1b 16382010-01-14 Carles Pina i Estany <carles@pina.cat>
1639
1640 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
1641 `var=val'.
1642
cca15b52 16432010-01-14 Carles Pina i Estany <carles@pina.cat>
1644
1645 * normal/cmdline.c (print_completion): Gettextizze.
1646
c586fbb2 16472001-01-14 Carles Pina i Estany <carles@pina.cat>
1648
1649 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
1650
ba2f6848 16512010-01-14 Carles Pina i Estany <carles@pina.cat>
1652
1653 * gettext/gettext.c (grub_gettext_translate): Push and pop
1654 grub_errno.
1655 (grub_gettext_delete_list): Change comment style.
1656 * kern/err.c (grub_error): Gettextizze.
1657 (grub_fatal): Gettextizze.
1658
0a46429a
RM
16592010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1660
1661 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
1662 (grub_linux16_real_boot): ... this.
1663 * kern/i386/loader.S: Likewise.
1664 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
1665 (grub_linux16_boot): New function. Switches to text mode and calls
1666 grub_linux16_real_boot().
1667
1668 * loader/i386/bsd.c: Include `<grub/video.h>'.
1669 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
1670 text mode before calling grub_unix_real_boot().
1671
1672 * loader/i386/multiboot.c: Include `<grub/video.h>'.
1673 (grub_multiboot_boot): Switch to text mode before calling
1674 grub_relocator32_boot().
1675
1676 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
1677 (grub_chainloader_boot): Switch to text mode before calling
1678 grub_chainloader_real_boot().
1679
d6f93a66
RM
16802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16812010-01-05 Colin Watson <cjwatson@ubuntu.com>
1682
1683 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
1684 non-empty value.
1685
16862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16872010-01-05 Colin Watson <cjwatson@ubuntu.com>
1688
1689 * util/grub.d/00_header.in: Define a "savedefault" function for use
1690 in menu entries.
1691 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
1692
16932010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16942010-01-05 Colin Watson <cjwatson@ubuntu.com>
1695
1696 * util/grub-mkconfig_lib.in (save_default_entry): Only set
1697 saved_entry if boot_once is unset.
1698 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
1699 previous saved entry (i.e. grub-reboot).
1700
17012009-12-08 Colin Watson <cjwatson@ubuntu.com>
1702
1703 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
1704
17052009-12-08 Colin Watson <cjwatson@ubuntu.com>
1706
1707 * util/grub.d/00_header.in: Use `set var=val' rather than plain
1708 `var=val'.
1709 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
1710
17112009-12-08 Colin Watson <cjwatson@ubuntu.com>
1712
1713 * util/grub-reboot.in: Fix --version output.
1714 * util/grub-set-default.in: Likewise.
1715
17162009-12-08 Colin Watson <cjwatson@ubuntu.com>
1717
1718 * util/grub.d/00_header.in: Silently ignore zero-sized environment
1719 blocks.
1720
17212009-12-08 Colin Watson <cjwatson@ubuntu.com>
1722
1723 * util/grub.d/00_header.in: Quote the value assigned to `default',
1724 in case it contains spaces.
1725
17262009-12-08 Colin Watson <cjwatson@ubuntu.com>
1727
1728 * util/grub.d/30_os-prober.in: Fix merge error that moved a
1729 `save_default_entry' call from the macosx case to the linux case.
1730
17312009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17322009-10-25 Colin Watson <cjwatson@ubuntu.com>
1733
1734 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
1735 in `chosen' environment variable.
1736 * normal/menu_text.c (get_entry_number): Check if the variable
1737 matches the title of a menu entry.
1738 (run_menu): Pass menu to get_entry_number.
1739
1740 * util/grub-reboot.in: New file.
1741 * util/grub-set-default.in: New file.
1742 * conf/common.rmk (grub-reboot): New utility.
1743 (grub-set-default): New utility.
1744
1745 * util/grub-mkconfig_lib.in (save_default_entry): New function.
1746 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
1747 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
1748 move it to `saved_entry' for the next boot. Load environment on
1749 initialisation.
1750 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
1751 * util/grub.d/10_hurd.in: Likewise.
1752 * util/grub.d/10_linux.in (linux_entry): Likewise.
1753 * util/grub.d/10_windows.in: Likewise.
1754 * util/grub.d/30_os-prober.in: Likewise.
1755
1756 * util/grub-install.in: Create environment block.
1757 * util/i386/efi/grub-install.in: Likewise.
1758 * util/ieee1275/grub-install.in: Likewise.
1759 * util/sparc64/ieee1275/grub-install.in: Likewise.
1760
0934d184
BC
17612010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1762
1763 Unit testing framework for GRUB.
1764
1765 * Makefile.in: Test framework build rules for 'make check'.
1766 * conf/tests.rmk: Build rules for individual tests and framework.
1767
1768 * include/grub/test.h: Header file for whitebox tests.
1769 * tests/lib/functional_test.c: Framework support for whitebox
1770 functional tests.
1771 * tests/lib/test.c: Common whitebox testing code for unit and
1772 functional tests.
1773 * tests/lib/unit_test.c: Framework support for whitebox unit
1774 tests.
1775
1776 * tests/util/grub-shell-tester.in: Support utility for grub-script
1777 tests.
1778 * tests/util/grub-shell.in: Utility to execute grub-script
1779 commands in a Qemu instance.
1780
1781 * tests/example_functional_test.c: Example whitebox functional
1782 test.
1783 * tests/example_grub_script_test.in: Example grub-script test.
1784 * tests/example_scripted_test.in: Example scripted test.
1785 * tests/example_unit_test.c: Example whitebox unit test.
1786
9c4ffeeb
VS
17872010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1790 Add loader/i386/multiboot_mbi.c.
1791 (multiboot2_mod_SOURCES): Likewise.
1792 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1793 (multiboot2_mod_SOURCES): Likewise.
1794 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1795 (grub_multiboot_make_mbi): Likewise.
1796 (grub_multiboot_free_mbi): Likewise.
1797 (grub_multiboot_init_mbi): Likewise.
1798 (grub_multiboot_add_module): Likewise.
1799 (grub_multiboot_set_bootdev): Likewise.
1800 * loader/i386/multiboot.c (mbi): Removed.
1801 (mbi_dest): Likewise.
1802 (alloc_mbi): New variable.
1803 (grub_multiboot_payload_size): Removed. All users updated.
1804 (grub_multiboot_pure_size): New variable.
1805 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1806 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1807 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1808 (grub_fill_multiboot_mmap): Likewise.
1809 (grub_multiboot_get_bootdev): Likewise.
1810 (grub_multiboot): Use multiboot_mbi functions.
1811 * loader/i386/multiboot_mbi.c: New file.
1812
17383dfe
VS
18132010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1816 it would result in module crash.
1817
c1f28820
VS
18182010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1821 (grub_ofconsole_getwh): Split to ...
1822 (grub_ofconsole_getwh): ... this.
1823 (grub_ofconsole_dimensions): ...and this.
1824 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1825
58655a16
RM
18262010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1827
1828 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1829
10891398
VS
18302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * loader/i386/pc/multiboot2.c: Removed stalled file.
1833
0b8a223c
VS
18342010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1837 Reported by: Grégoire Sutre
1838
92ab12b0
RM
18392010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1840
1841 * util/misc.c (canonicalize_file_name): New function.
1842 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1843 instead of realpath().
1844
a788afb6
CW
18452010-01-11 Colin Watson <cjwatson@ubuntu.com>
1846
1847 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1848 and make it clearer that it's optional. Based on confusion
1849 witnessed on IRC.
1850
ffa8e3d2
VS
18512010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1854 in premature implicit newline.
1855
e9060a9d
VS
18562010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1859 which resulted in garbled command line at the end of screen.
1860
f0d0c0b7
RM
18612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1862
1863 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1864 initialization with similar approach as with other Linux loaders.
1865
0e60bae7
RM
18662010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1867
1868 Fix i386-ieee1275 build.
1869
1870 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1871 and grub_term_height() for video_{width,height} initialization.
1872
18732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
1874
1875 Fix grub-emu build.
1876
1877 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1878
cdb3f378
RM
18792010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18802010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1881
1882 Support for multiple terminals.
1883
1884 * Makefile.in (pkglib_DATA): terminal.lst.
1885 (terminal.lst): New target.
1886 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1887 (GRUB_MOD_INIT(handler)): Likewise.
1888 (GRUB_MOD_FINI(handler)): Likewise.
1889 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1890 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1891 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1892 (grub_cmd_sleep): Use grub_term_save_pos.
1893 * commands/terminal.c: New file.
1894 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1895 commands/terminal.c and lib/charset.c.
1896 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1897 (pkglib_MODULES): Add terminal.mod.
1898 (terminal_mod_SOURCES): New variable.
1899 (terminal_mod_CFLAGS): Likewise.
1900 (terminal_mod_LDFLAGS): Likewise.
1901 * genhandlerlist.sh: Don't handle terminals.
1902 * genmk.rb: Generate terminal-*.lst.
1903 * genterminallist.sh: New file.
1904 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1905 (grub_is_valid_utf8): Likewise.
1906 (grub_utf8_to_ucs4_alloc): Likewise.
1907 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1908 (grub_menu_register_viewer): Changed argument.
1909 (grub_menu_try_text): New proto.
1910 (grub_gfxmenu_try_hook): New declaration.
1911 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1912 (grub_menu_init_page): Additional argument term.
1913 (grub_normal_init_page): Likewise.
1914 (grub_cmdline_get): Arguments simplified.
1915 (grub_utf8_to_ucs4_alloc): Removed.
1916 (grub_print_ucs4): Additional argument term.
1917 (grub_getstringwidth): Likewise.
1918 (grub_print_message_indented): Likewise.
1919 (grub_menu_text_register_instances): New proto.
1920 (grub_show_menu): Likewise.
1921 (read_terminal_list): Likewise.
1922 (grub_set_more): Likewise.
1923 * include/grub/parser.h: Include handler.h.
1924 * include/grub/reader.h: Rewritten.
1925 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
1926 (GRUB_TERM_WIDTH): Changed to function.
1927 (GRUB_TERM_HEIGHT): Likewise.
1928 (GRUB_TERM_BORDER_WIDTH): Likewise.
1929 (GRUB_TERM_BORDER_HEIGHT): Likewise.
1930 (GRUB_TERM_NUM_ENTRIES): Likewise.
1931 (GRUB_TERM_ENTRY_WIDTH): Likewise.
1932 (GRUB_TERM_CURSOR_X): Likewise.
1933 (grub_term_input_class): Likewise.
1934 (grub_term_output_class): Likewise.
1935 (grub_term_outputs_disabled): New declaration.
1936 (grub_term_inputs_disabled): Likewise.
1937 (grub_term_outputs): Likewise.
1938 (grub_term_inputs): Likewise.
1939 (grub_term_register_input): Rewritten.
1940 (grub_term_register_output): Likewise.
1941 (grub_term_unregister_input): Likewise.
1942 (grub_term_unregister_output): Likewise.
1943 (FOR_ACTIVE_TERM_INPUTS): New macro.
1944 (FOR_DISABLED_TERM_INPUTS): Likewise.
1945 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1946 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1947 * include/grub/terminfo.h: Add oterm argument to all protypes.
1948 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1949 Use grub_rescue_run.
1950 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1951 All users updated.
1952 * kern/reader.c: Removed. All users updated.
1953 * kern/rescue_reader.c (grub_rescue_init): Removed.
1954 (grub_rescue_reader): Likewise.
1955 (grub_register_rescue_reader): Likewise.
1956 (grub_rescue_run): New function based on kern/reader.c.
1957 * kern/term.c: Adapted for multiterm.
1958 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1959 (grub_is_valid_utf8): Likewise.
1960 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1961 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1962 right terminal.
1963 * loader/i386/linux.c (grub_linux_boot): Likewise.
1964 * normal/auth.c (grub_username_get): New function.
1965 (grub_auth_check_authentication): Use grub_username_get.
1966 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1967 * normal/color.c: Adapt for multiterm.
1968 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1969 (grub_normal_init_page): Additional argument term.
1970 (read_lists): Call read_terminal_lists.
1971 (grub_enter_normal_mode): Call grub_cmdline_run.
1972 Handle grub_normal_exit_level.
1973 (grub_cmd_normal): Make reentrant.
1974 (grub_cmd_normal_exit): New function.
1975 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1976 * normal/menu.c: Adapt for multiterm.
1977 * normal/menu_entry.c: Likewise.
1978 * normal/menu_text.c: Likewise.
1979 * normal/menu_viewer.c: Removed. All users updated.
1980 * normal/term.c: New file.
1981 * util/console.c: Change order of includes to workaround a bug in
1982 ncurses headers.
1983 * term/terminfo.c: New argument oterm on all exported functions.
1984 All users updated.
1985 * util/grub-editenv.c (grub_term_input_class): Removed.
1986 (grub_term_output_class): Likewise.
1987
1a064917
RM
19882010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1989
1990 Make loader output a bit more user-friendly.
1991
1992 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1993 is being loaded. Likewise for the Hurd.
1994
1995 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1996 that kernel of FreeBSD ${version} is being loaded.
1997
1998 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1999 grub_dprintf().
2000 (grub_cmd_initrd): Likewise.
2001 * util/grub.d/10_linux.in (linux_entry): Print message indicating
2002 that Linux ${version} is being loaded. Likewise for initrd.
2003
5ce0a83a 20042010-01-09 Carles Pina i Estany <carles@pina.cat>
2005
2006 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2007
809bbfeb 20082010-01-08 Carles Pina i Estany <carles@pina.cat>
2009
2010 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
2011 (GRUB_MOD_INIT): Gettextizze.
2012 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
2013 (GRUB_MOD_INIT): Gettextizze.
2014 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
2015 (grub_cmd_linux): Capitalise Linux.
2016 (GRUB_MOD_INIT): Gettextizze.
2017 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2018 (grub_cmd_linux): Capitalise Linux.
2019 (GRUB_MOD_INIT): Gettextizze.
2020 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2021 (grub_cmd_linux): Capitalise Linux.
2022 (GRUB_MOD_INIT): Gettextizze.
2023 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2024 (GRUB_MOD_INIT): Gettextizze.
2025 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2026 (grub_cmd_linux): Capitalise Linux.
2027 (GRUB_MOD_INIT): Gettextizze.
2028 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2029 (grub_cpu_xnu_init): Gettextizze.
2030 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2031 (GRUB_MOD_INIT): Gettextizze.
2032 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2033 (GRUB_MOD_INIT): Gettextizze.
2034 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2035 (grub_linux_load64): Capitalise Linux.
2036 (GRUB_MOD_INIT): Gettextizze.
2037 * loader/xnu.c: Include `<grub/i18n.h>'.
2038 (GRUB_MOD_INIT): Gettextizze.
2039 * po/POTFILES: Add `loader/efi/appleloader.c',
2040 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2041 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2042 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2043 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2044 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2045 and `loader/xnu.c'.
2046
b394b2ca
RM
20472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2048
2049 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2050
20512010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
2052
2053 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2054 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2055 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2056
bc8b32b3
RM
20572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2058
2059 Reset Multiboot 2 support. New loader implements the draft in
2060 /branches/multiboot2 and shares as much code as possible with the
2061 production Multiboot 1 implementation.
2062
2063 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2064 * loader/multiboot2.c: Likewise.
2065 * loader/i386/multiboot_helper.S: Likewise.
2066 * include/multiboot2.h: Replace with latest version from the draft
2067 in /branches/multiboot2.
2068
2069 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2070 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2071 and `loader/multiboot2.c'.
2072 (pkglib_MODULES): Add `multiboot2.mod'.
2073 (multiboot2_mod_SOURCES): New variable.
2074 (multiboot2_mod_LDFLAGS): Likewise.
2075 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2076
2077 * conf/i386-pc.rmk: Likewise.
2078
2079 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2080 (multiboot_mod_SOURCES): Remove variable.
2081 (multiboot_mod_LDFLAGS): Likewise.
2082 (multiboot_mod_CFLAGS): Likewise.
2083
2084 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2085 `<multiboot2.h>' instead of `<multiboot.h>'.
2086 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2087 (MULTIBOOT_HEADER_MAGIC): New macros.
2088
2089 * loader/multiboot_loader.c (module_version_status): Remove variable.
2090 (find_multi_boot2_header): Remove function.
2091 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2092 logic. Always check for the Multiboot version we're compiling for.
2093 (grub_cmd_module_loader): Likewise.
2094 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2095 command instead of `multiboot'.
2096
5d2c52b8
RM
20972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2098
2099 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2100 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2101 all users.
2102
53108d92
RM
21032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21042010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Fix breakage introduced with previous commit.
2107
2108 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2109 commands.
2110 * normal/handler.c (read_handler_list): Revert part of previous commit
2111 affecting this file.
2112 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2113 (grub_normal_execute): ... here.
2114
e2e936b2
RM
21152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2116
2117 Merge prefix-redefinition-fix branch.
2118
2119 * normal/autofs.c (read_fs_list): Make function capable of being
2120 run multiple times, gracefuly replacing the previous data
2121 structures.
2122 * normal/dyncmd.c (read_command_list): Likewise.
2123 * normal/handler.c (read_handler_list): Likewise.
2124 * normal/main.c (read_lists): New function. Calls all the
2125 list reading functions.
2126 (grub_normal_execute): Use read_lists() instead of calling all
2127 list reading functions explicitly. Register read_lists() as a
2128 variable hook attached to ${prefix}.
2129
607a3701
VS
21302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 Merge crypto branch.
2133
2134 * Makefile.in (pkglib_DATA): Add crypto.lst.
2135 (crypto.lst): New target.
2136 * commands/hashsum.c: New file.
2137 * commands/password.c (check_password): Use grub_crypto_memcmp.
2138 * commands/password_pbkdf2.c: New file.
2139 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2140 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2141 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2142 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2143 -I$(srcdir)/lib/libgcrypt_wrap.
2144 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2145 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2146 password_pbkdf2.mod.
2147 (crypto_mod_SOURCES): New variable.
2148 (crypto_mod_CFLAGS): Likewise.
2149 (crypto_mod_LDFLAGS): Likewise.
2150 (hashsum_mod_SOURCES): New variable.
2151 (hashsum_mod_CFLAGS): Likewise.
2152 (hashsum_mod_LDFLAGS): Likewise.
2153 (pbkdf2_mod_SOURCES): New variable.
2154 (pbkdf2_mod_CFLAGS): Likewise.
2155 (pbkdf2_mod_LDFLAGS): Likewise.
2156 (password_pbkdf2_mod_SOURCES): New variable.
2157 (password_pbkdf2_mod_CFLAGS): Likewise.
2158 (password_pbkdf2_mod_LDFLAGS): Likewise.
2159 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2160 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2161 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2162 Include conf/gcry.rmk.
2163 * include/grub/auth.h: Rewritten.
2164 * include/grub/crypto.h: New file.
2165 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2166 * include/grub/normal.h (read_crypto_list): New prototype.
2167 * lib/crypto.c: New file.
2168 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2169 * lib/pbkdf2.c: Likewise.
2170 * normal/auth.c (grub_auth_strcmp): Removed.
2171 (grub_iswordseparator): Likewise.
2172 (grub_auth_strword): Likewise.
2173 (is_authenticated): Use grub_strword.
2174 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2175 and grub_strword. Pass entered password to authentication callback.
2176 * normal/crypto.c: New file.
2177 * normal/main.c: Call read_crypto_list.
2178 * util/grub-mkpasswd-pbkdf2.c: New file.
2179 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2180
42841caa
VS
21812010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 Fix descent and ascent calculation.
2184
2185 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2186 (options): New option "asce".
2187 (usage): Likewise.
2188 (add_char): Ignore invalid glyphs for descent calculation.
2189 Calculate ascent from actual content.
2190 (print_glyphs): Use 'asce'.
2191 (write_font): Likewise. Allow ascent override.
2192 (main): Handle "asce" option.
2193
e7730de7 21942010-01-06 Carles Pina i Estany <carles@pina.cat>
2195
2196 * kern/err.c: Include `<grub/i18n.h>'.
2197 (grub_print_error): Add full stop. Gettextizze.
2198 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2199 (grub_bsd_load_elf): Capitalise ELF.
2200 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2201 (grub_cmd_freebsd_module): Likewise.
2202 (grub_cmd_freebsd_module_elf): Likewise.
2203 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2204
40e3a41f 22052010-01-06 Carles Pina i Estany <carles@pina.cat>
2206
2207 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2208 * commands/search_file.c (HELP_MESSAGE): New macro.
2209 * commands/search_label.c (HELP_MESSAGE): Likewise.
2210 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2211 * po/POTFILES: Add `commands/search_file.c',
2212 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2213 `commands/search.c'.
2214
83507e68
RM
22152010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2216
2217 * config.rpath: Update from Gnulib.
2218
465c787b
YB
22192010-01-05 Yves Blusseau <blusseau@zetam.org>
2220
2221 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2222
6581dd3a
YB
22232010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2224
2225 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2226
3bff18c5
CW
22272010-01-05 Colin Watson <cjwatson@ubuntu.com>
2228
2229 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2230 arguments to fread so that we get a return value in bytes, rather
2231 than something that will normally be rounded down to 0.
2232 Adjust error handling to avoid producing garbage when size_t is not
2233 the same size as long long.
2234
a1368118
CW
22352010-01-05 Colin Watson <cjwatson@ubuntu.com>
2236
2237 * util/mkisofs/write.c (padblock_write): Check return value of
2238 fread.
2239
7c302978
RM
22402010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2241
2242 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2243 floppy images now.
2244
2245 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2246
e33ace06
RM
22472010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2248
2249 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2250 instead of manual alignment.
2251 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2252 verbose). Avoid attempts to read past end of the device
2253 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2254 but GRUB_DISK_CACHE_SIZE may exceed that).
2255
4b856776
RM
22562010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2257
2258 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2259 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2260 it to upper layer.
2261
52c2d97f
VS
22622010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2265 New constant.
2266 (grub_efi_piwg_device_path): New structure
2267 (grub_efi_piwg_device_path_t): New type.
2268 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2269 (devpath_1): Transform to a structure. All users updated.
2270 (devpath_2): Likewise.
2271 (devpath_3): Likewise.
2272 (devpath_4): Likewise.
2273 (devpath_5): Likewise.
2274
98ff6a54
VS
22752010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * loader/efi/appleloader.c: Restored. Update all users.
2278
3a73dcb6
RM
22792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2280
2281 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2282
2283 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2284 (struct boot_blocklist): Move from here ...
2285 * include/grub/i386/pc/boot.h [ASM_FILE]
2286 (struct grub_boot_blocklist): ... to here. Update all users.
2287 (setup): Only initialize `start' member of `first_block'
2288 structure. Add assert() calls to verify the other members.
2289
2290 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2291 (generate_image): Fix broken blocklist length initialization.
2292 Add assert() call to verify blocklist `segment' field.
2293
ab0eeb0c
RM
22942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2295
2296 * loader/efi/appleloader.c: Remove. Update all users.
2297
58bc8bd5
RM
22982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2299
2300 * boot/i386/pc/boot.S: Update copyright year.
2301 * boot/i386/pc/cdboot.S: Likewise.
2302 * boot/i386/pc/diskboot.S: Likewise.
2303 * boot/i386/pc/lnxboot.S: Likewise.
2304 * boot/i386/pc/pxeboot.S: Likewise.
2305 * bus/pci.c: Likewise.
2306 * commands/cmp.c: Likewise.
2307 * commands/help.c: Likewise.
2308 * commands/hexdump.c: Likewise.
2309 * commands/i386/pc/halt.c: Likewise.
2310 * commands/i386/pc/play.c: Likewise.
2311 * commands/i386/pc/vbeinfo.c: Likewise.
2312 * commands/ls.c: Likewise.
2313 * commands/test.c: Likewise.
2314 * disk/dmraid_nvidia.c: Likewise.
2315 * disk/i386/pc/biosdisk.c: Likewise.
2316 * disk/ieee1275/nand.c: Likewise.
2317 * disk/ieee1275/ofdisk.c: Likewise.
2318 * disk/lvm.c: Likewise.
2319 * disk/raid.c: Likewise.
2320 * disk/raid6_recover.c: Likewise.
2321 * disk/scsi.c: Likewise.
2322 * fs/affs.c: Likewise.
2323 * fs/cpio.c: Likewise.
2324 * fs/ext2.c: Likewise.
2325 * fs/hfs.c: Likewise.
2326 * fs/iso9660.c: Likewise.
2327 * fs/ntfs.c: Likewise.
2328 * fs/sfs.c: Likewise.
2329 * fs/udf.c: Likewise.
2330 * fs/ufs.c: Likewise.
2331 * fs/xfs.c: Likewise.
2332 * gencmdlist.sh: Likewise.
2333 * genmk.rb: Likewise.
2334 * include/grub/disk.h: Likewise.
2335 * include/grub/efi/api.h: Likewise.
2336 * include/grub/efi/efi.h: Likewise.
2337 * include/grub/efi/pe32.h: Likewise.
2338 * include/grub/elf.h: Likewise.
2339 * include/grub/fs.h: Likewise.
2340 * include/grub/i386/at_keyboard.h: Likewise.
2341 * include/grub/i386/pc/memory.h: Likewise.
2342 * include/grub/i386/pc/vbe.h: Likewise.
2343 * include/grub/i386/pci.h: Likewise.
2344 * include/grub/i386/tsc.h: Likewise.
2345 * include/grub/ieee1275/ieee1275.h: Likewise.
2346 * include/grub/ntfs.h: Likewise.
2347 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2348 * include/grub/sparc64/libgcc.h: Likewise.
2349 * include/grub/symbol.h: Likewise.
2350 * include/grub/types.h: Likewise.
2351 * include/multiboot2.h: Likewise.
2352 * io/gzio.c: Likewise.
2353 * kern/device.c: Likewise.
2354 * kern/disk.c: Likewise.
2355 * kern/efi/efi.c: Likewise.
2356 * kern/efi/mm.c: Likewise.
2357 * kern/elf.c: Likewise.
2358 * kern/file.c: Likewise.
2359 * kern/i386/dl.c: Likewise.
2360 * kern/i386/pc/init.c: Likewise.
2361 * kern/i386/pc/startup.S: Likewise.
2362 * kern/ieee1275/ieee1275.c: Likewise.
2363 * kern/ieee1275/init.c: Likewise.
2364 * kern/main.c: Likewise.
2365 * kern/mm.c: Likewise.
2366 * kern/powerpc/dl.c: Likewise.
2367 * kern/sparc64/dl.c: Likewise.
2368 * kern/x86_64/dl.c: Likewise.
2369 * lib/hexdump.c: Likewise.
2370 * loader/efi/appleloader.c: Likewise.
2371 * loader/i386/ieee1275/linux.c: Likewise.
2372 * loader/i386/pc/chainloader.c: Likewise.
2373 * loader/i386/pc/linux.c: Likewise.
2374 * loader/i386/pc/multiboot2.c: Likewise.
2375 * loader/ieee1275/multiboot2.c: Likewise.
2376 * loader/multiboot2.c: Likewise.
2377 * loader/multiboot_loader.c: Likewise.
2378 * loader/powerpc/ieee1275/linux.c: Likewise.
2379 * normal/completion.c: Likewise.
2380 * normal/menu_entry.c: Likewise.
2381 * partmap/apple.c: Likewise.
2382 * util/grub.d/10_hurd.in: Likewise.
2383 * util/hostfs.c: Likewise.
2384 * video/readers/png.c: Likewise.
2385
e2d70b5c
CW
23862010-01-03 Colin Watson <cjwatson@ubuntu.com>
2387
2388 * include/grub/misc.h (GNUC_PREREQ): New macro.
2389 (ATTRIBUTE_ERROR): New macro.
2390 * include/grub/list.h (grub_bad_type_cast_real): Use
2391 ATTRIBUTE_ERROR.
2392
a173283f 23932010-01-03 Carles Pina i Estany <carles@pina.cat>
2394
2395 * normal/menu_text.c (print_message): Change messages.
2396
7fa7ff74 23972010-01-03 Carles Pina i Estany <carles@pina.cat>
2398
2399 * normal/menu_entry.c (store_completion): Gettextizze.
2400
136d24f6 24012010-01-03 Carles Pina i Estany <carles@pina.cat>
2402
2403 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2404
f936862e 24052010-01-03 Carles Pina i Estany <carles@pina.cat>
2406
2407 * po/POTFILES: Sort correctly.
2408
29c44ad1 24092010-01-03 Carles Pina i Estany <carles@pina.cat>
2410
2411 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2412 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2413 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2414 full stop.
2415 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2416 summary. Gettextizze the strings.
2417 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2418 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2419 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2420 full stop.
2421 (GRUB_MOD_INIT): Remove command name from summary.
2422 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2423 summary.
2424 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2425 * term/i386/pc/serial.c (options): Add full stops.
2426 (GRUB_MOD_INIT): Remove command name from the summary.
2427
77a79592 24282010-01-03 Carles Pina i Estany <carles@pina.cat>
2429
2430 * commands/acpi.c: Gettextizze help strings and/or options. Include
2431 `grub/i18n.h' if needed.
2432 * commands/blocklist.c: Likewise.
2433 * commands/boot.c: Likewise.
2434 * commands/cat.c: Likewise.
2435 * commands/cmp.c: Likewise.
2436 * commands/configfile.c: Likewise.
2437 * commands/crc.c: Likewise.
2438 * commands/date.c: Likewise.
2439 * commands/echo.c: Likewise.
2440 * commands/efi/fixvideo.c: Likewise.
2441 * commands/efi/loadbios.c: Likewise.
2442 * commands/gptsync.c: Likewise.
2443 * commands/halt.c: Likewise.
2444 * commands/handler.c: Likewise.
2445 * commands/hdparm.c: Likewise.
2446 * commands/hexdump.c: Likewise.
2447 * commands/i386/cpuid.c: Likewise.
2448 * commands/i386/pc/drivemap.c: Likewise.
2449 * commands/i386/pc/halt.c: Likewise.
2450 * commands/i386/pc/pxecmd.c: Likewise.
2451 * commands/i386/pc/vbeinfo.c: Likewise.
2452 * commands/i386/pc/vbetest.c: Likewise.
2453 * commands/ieee1275/suspend.c: Likewise.
2454 * commands/keystatus.c: Likewise.
2455 * commands/loadenv.c: Likewise.
2456 * commands/ls.c: Likewise.
2457 * commands/lsmmap.c: Likewise.
2458 * commands/lspci.c: Likewise.
2459 * commands/memrw.c: Likewise.
2460 * commands/minicmd.c: Likewise.
2461 * commands/parttool.c: Likewise.
2462 * commands/password.c: Likewise.
2463 * commands/probe.c: Likewise.
2464 * commands/read.c: Likewise.
2465 * commands/reboot.c: Likewise.
2466 * commands/search.c: Likewise.
2467 * commands/sleep.c: Likewise.
2468 * commands/test.c: Likewise.
2469 * commands/true.c: Likewise.
2470 * commands/usbtest.c: Likewise.
2471 * commands/videotest.c: Likewise.
2472 * commands/xnu_uuid.c: Likewise.
2473 * disk/loopback.c: Likewise.
2474 * hello/hello.c: Likewise.
2475 * loader/i386/bsd.c: Likewise.
2476 * term/i386/pc/serial.c: Likewise.
2477 * po/POTFILES: Add new files.
2478
da8d5c53
CW
24792010-01-02 Colin Watson <cjwatson@ubuntu.com>
2480
2481 * term/i386/pc/at_keyboard.c
2482 (keyboard_controller_wait_untill_ready): Rename to ...
2483 (keyboard_controller_wait_until_ready): ... this. Update all users.
2484
33937904 24852010-01-01 Carles Pina i Estany <carles@pina.cat>
2486
2487 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
2488 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
2489 string using string width.
2490 * normal/menu_text.c (grub_print_message_indented): Use
2491 grub_print_spaces and not print_spaces.
2492 (print_timeout): Likewise.
2493 (print_spaces): Move to...
2494 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
2495
3fd3b8d8
RM
24962010-01-01 Robert Millan <rmh.grub@aybabtu.com>
2497
2498 Import from Gnulib.
2499
2500 * gnulib/getdelim.c: New file.
2501 * gnulib/getline.c: Likewise.
2502
33433555
VS
25032009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
2504
2505 * include/grub/list.h (grub_assert_fail): Removed.
2506 (grub_bad_type_cast_real): New function.
2507 (grub_bad_type_cast): New macro.
2508 (GRUB_AS_LIST): Use grub_bad_type_cast.
2509 (GRUB_AS_LIST_P): Likewise.
e44721e8 2510 (GRUB_AS_NAMED_LIST): Likewise.
33433555 2511 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 2512 (GRUB_AS_PRIO_LIST): Likewise.
33433555 2513 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 2514 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 2515
f5a51306
VS
25162009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
2519 Fix syntax error.
2520
90d1e879
RM
25212009-12-29 Robert Millan <rmh.grub@aybabtu.com>
2522
2523 * configure.ac: Check for TARGET_CFLAGS initialization before we
2524 initialize it ourselves (sigh).
2525 Move a few modifications to TARGET_CFLAGS to be unconditional
2526 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
2527 eh_frame)
2528
2529 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
2530 * term/i386/pc/at_keyboard.c
2531 (keyboard_controller_wait_untill_ready): Likewise.
2532 (keyboard_controller_led): Rename `led_status' paramter to avoid
2533 name conflict.
2534
465b5a81 25352009-12-28 Carles Pina i Estany <carles@pina.cat>
2536
2537 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
2538 quotes.
2539
c181849b
VS
25402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2543
9c8739a4
VS
25442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * normal/menu_text.c (grub_print_message_indented): Prevent
2547 past-the-end-of-array dereference.
2548
3e74249c
VS
25492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
2552 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
2553
64fd18ed 25542009-12-27 Carles Pina i Estany <carles@pina.cat>
2555
2556 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
2557 * normal/main.c (grub_normal_read_line): Remove a space from the
2558 default prompt.
2559
714af9b9 25602009-12-27 Carles Pina i Estany <carles@pina.cat>
2561
2562 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
2563 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2564 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2565 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2566 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2567 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2568 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2569
82f3e412 25702009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 2571
2572 * video/readers/jpeg.c (cmd): Declare.
2573 (grub_cmd_jpegtest): Use `grub_command_t' type.
2574 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2575 Assign to `cmd'.
2576 (GRUB_MOD_FINI): Use `cmd' to unregister.
2577 * video/readers/png.c (cmd): Declare.
2578 (grub_cmd_pngtest): Use `grub_command_t' type.
2579 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2580 Assign to `cmd'.
2581 (GRUB_MOD_FINI): Use `cmd' to unregister.
2582 * video/readers/tga.c (cmd): Declare.
2583 (grub_cmd_tgatest): Use `grub_command_t' type.
2584 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2585 Assign to `cmd'.
2586 (GRUB_MOD_FINI): Use `cmd' to unregister.
2587
82f3e412 25882009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 2589
2590 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
2591 stops.
2592 * kern/corecmd.c (grub_register_core_commands): Likewise.
2593 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
2594 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2595 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
2596 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2597 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2598 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
2599 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2600 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
2601 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2602 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2603 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2604 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2605 * normal/handler.c (insert_handler): Likewise.
2606 * normal/main.c (GRUB_MOD_INIT): Likewise.
2607 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2608
fdcdbb66 26092009-12-26 Carles Pina i Estany <carles@pina.cat>
2610
2611 * commands/help.c (grub_cmd_help): Print the command name before the
2612 summary.
2613 (GRUB_MOD_INIT): Remove command name from the summary.
2614 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 2615 string as summary.
fdcdbb66 2616 * lib/arg.c (find_long): Print the command name before the summary.
2617 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
2618 summary.
2619 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
2620 * commands/cat.c (GRUB_MOD_INIT): Likewise.
2621 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
2622 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
2623 * commands/crc.c (GRUB_MOD_INIT): Likewise.
2624 * commands/date.c (GRUB_MOD_INIT): Likewise.
2625 * commands/echo.c (GRUB_MOD_INIT): Likewise.
2626 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
2627 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2628 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2629 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
2630 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
2631 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
2632 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
2633 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2634 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
2635 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
2636 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
2637 * commands/ls.c (GRUB_MOD_INIT): Likewise.
2638 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2639 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2640 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2641 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
2642 * commands/password.c (GRUB_MOD_INIT): Likewise.
2643 * commands/probe.c (GRUB_MOD_INIT): Likewise.
2644 * commands/read.c (GRUB_MOD_INIT): Likewise.
2645 * commands/search.c (GRUB_MOD_INIT): Likewise.
2646 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
2647 * commands/test.c (GRUB_MOD_INIT): Likewise.
2648 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
2649 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2650 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2651 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
2652 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2653 * lib/arg.c (GRUB_MOD_INIT): Likewise.
2654 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
2655 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2656 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2657 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2658 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2659 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
2660 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
2661 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2662
9c288be2
VS
26632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 Use search command for preliminar UUID search.
2666
2667 * commands/search.c: Split into ...
2668 * commands/search_wrap.c: ...this
2669 * commands/search.c: ...and this.
2670 * commands/search_file.c: New file.
2671 * commands/search_label.c: New file.
2672 * commands/search_uuid.c: New file.
2673 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
2674 Add commands/search_wrap.c, commands/search_file.c,
2675 commands/search_label.c and commands/search_uuid.c.
2676 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
2677 (search_mod_SOURCES): Set to commands/search_wrap.c.
2678 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
2679 search_label.mod.
2680 (search_fs_file_mod_SOURCES): New variable.
2681 (search_fs_file_mod_CFLAGS): Likewise.
2682 (search_fs_file_mod_LDFLAGS): Likewise.
2683 (search_label_mod_SOURCES): Likewise.
2684 (search_label_mod_CFLAGS): Likewise.
2685 (search_label_mod_LDFLAGS): Likewise.
2686 (search_fs_uuid_mod_SOURCES): New variable.
2687 (search_fs_uuid_mod_CFLAGS): Likewise.
2688 (search_fs_uuid_mod_LDFLAGS): Likewise.
2689 (fs_file_mod_SOURCES): Removed.
2690 (fs_file_mod_CFLAGS): Likewise.
2691 (fs_file_mod_LDFLAGS): Likewise.
2692 (fs_uuid_mod_SOURCES): Removed.
2693 (fs_uuid_mod_CFLAGS): Likewise.
2694 (fs_uuid_mod_LDFLAGS): Likewise.
2695 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
2696 Set to util/grub-install.in.
2697 * disk/fs_file.c: Removed.
2698 * disk/fs_uuid.c: Likewise.
2699 * include/grub/search.h: New file.
2700 * util/grub-install.in: Handle sparc64.
2701 Create and use load.cfg.
2702 * util/sparc64/ieee1275/grub-install.in: Removed.
2703
db943399
VS
27042009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
2707 Ignore return status if CF is cleared.
2708 (grub_biosdisk_get_diskinfo_standard): Likewise.
2709
3fdae612
RM
27102009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2711
2712 * term/i386/pc/at_keyboard.c
2713 (keyboard_controller_wait_untill_ready): New function.
2714 (grub_keyboard_controller_write, grub_keyboard_controller_read)
2715 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
2716 for keyboard polling, rather than duplicate the same loop. This
2717 saves a few bytes in code size.
2718
7ebaa2b4
VS
27192009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 Support for (pxe[:server[:gateway]]) syntax and
2722 use environment variable for PXE.
2723
2724 * commands/i386/pc/pxecmd.c (options): Removed.
2725 (print_ip): Removed.
2726 (grub_cmd_pxe): Removed
2727 (grub_cmd_pxe_unload): New function.
2728 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
2729 (grub_pxe_your_ip): Made static.
2730 (grub_pxe_default_server_ip): Likewise.
2731 (grub_pxe_default_gateway_ip): Likewise.
2732 (grub_pxe_blksize): Likewise.
2733 (parse_ip): New function.
2734 (grub_pxe_open): Support server and gateway specification.
2735 (grub_pxe_close): Free disk->data.
2736 (grub_pxefs_open): Use disk->data.
2737 (grub_pxefs_read): Likewise.
2738 (grub_env_write_readonly): New function.
2739 (set_mac_env): Likewise.
2740 (set_env_limn_ro): Likewise.
2741 (parse_dhcp_vendor): Likewise.
2742 (grub_pxe_detect): Set the environment variables.
2743 (set_ip_env): New function.
2744 (write_ip_env): Likewise.
2745 (grub_env_write_pxe_default_server): Likewise.
2746 (grub_env_write_pxe_default_gateway): Likewise.
2747 (grub_env_write_pxe_blocksize): Likewise.
2748 (GRUB_MOD_INIT(pxe)): Set environment variables.
2749 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
2750 (grub_pxe_mac_addr_t): ... this. All users updated.
2751 (grub_pxe_your_ip): Removed.
2752 (grub_pxe_server_ip): Likewise.
2753 (grub_pxe_gateway_ip): Likewise.
2754 (grub_pxe_blksize): Likewise.
2755
ec5f98ab 27562009-12-25 Carles Pina i Estany <carles@pina.cat>
2757
2758 * commands/help.c: Include `<grub/i18n.h>'.
2759 (grub_cmd_help): Gettextizze.
2760 (GRUB_MOD_INIT): Likewise.
2761 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2762 (GRUB_MOD_INIT): Gettextizze.
2763 * commands/search.c: Include `<grub/i18n.h>'.
2764 (options): Gettextizze.
2765 (GRUB_MOD_INIT): Gettextizze.
2766 * lib/arg.c: Include `<grub/i18n.h>'.
2767 (help_options): Gettextizze.
2768 (find_long): Likewise.
2769 (grub_arg_show_help): Likewise.
2770 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2771 (read_command_list): Gettextizze.
2772 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 2773 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 2774
22815526
RM
27752009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2776
2777 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2778 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2779 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2780 (led_status): New variable.
2781 (keyboard_controller_led): New function.
2782 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2783 update led status for caps lock, num lock and scroll lock.
2784
0ad46fd7
FZ
27852009-12-25 Felix Zielcke <fzielcke@z-51.de>
2786
2787 * util/hostdisk.c (open_device): Fix a comment.
2788
d0e158c2
RM
27892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2790
2791 * util/grub-install.in (host_os): New variable.
2792 * util/i386/efi/grub-install.in (host_os): Likewise.
2793
401c0ad6
RM
27942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2795
2796 * util/mkisofs/write.c (padblock_write): Abort when given an
2797 excedingly large embed image, instead of silently truncating it.
2798
d14d3370
RM
27992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2800
2801 * include/multiboot.h: Indentation fixes.
2802
eeed10b4
RM
28032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2804
2805 * include/multiboot.h (struct multiboot_aout_symbol_table)
2806 (struct multiboot_elf_section_header_table): New structure
2807 declarations (stolen from GRUB Legacy).
2808 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2809 table information.
2810
2811 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2812 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2813 type aliases.
2814
681c70ab
RM
28152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2816
2817 * include/multiboot.h: Make comments src2texi-friendly.
2818
e4d47d8d
RM
28192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2820
2821 For consistency with [multiboot]/docs/boot.S.
2822
2823 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2824 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2825 (MULTIBOOT_MAGIC2): Rename from this ...
2826 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2827
a0b70bda
RM
28282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2829
2830 * include/multiboot.h: Remove `<grub/types.h>'.
2831 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2832 types. Update all users.
2833
61ba42be 28342009-12-25 Carles Pina i Estany <carles@pina.cat>
2835
2836 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2837 `couldn't' and `can not' by `cannot'.
2838 * commands/i386/pc/drivemap.c: Likewise.
2839 * disk/ata.c: Likewise.
2840 * disk/ieee1275/nand.c: Likewise.
2841 * fs/affs.c: Likewise.
2842 * fs/fat.c: Likewise.
2843 * fs/hfs.c: Likewise.
2844 * fs/hfsplus.c: Likewise.
2845 * fs/iso9660.c: Likewise.
2846 * fs/jfs.c: Likewise.
2847 * fs/minix.c: Likewise.
2848 * fs/reiserfs.c: Likewise.
2849 * fs/sfs.c: Likewise.
2850 * fs/udf.c: Likewise.
2851 * fs/ufs.c: Likewise.
2852 * fs/xfs.c: Likewise.
2853 * loader/powerpc/ieee1275/linux.c: Likewise.
2854 * loader/sparc64/ieee1275/linux.c: Likewise.
2855 * util/grub-probe.c: Likewise.
2856 * util/misc.c: Likewise.
2857
7fd0baee 28582009-12-24 Carles Pina i Estany <carles@pina.cat>
2859
2860 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2861 grub_errno calls.
2862 * commands/acpi.c: Likewise.
2863 * commands/blocklist.c: Likewise.
2864 * commands/efi/loadbios.c: Likewise.
2865 * commands/i386/pc/drivemap.c: Likewise.
2866 * commands/loadenv.c: Likewise.
2867 * commands/memrw.c: Likewise.
2868 * commands/password.c: Likewise.
2869 * commands/videotest.c: Likewise.
2870 * disk/ata.c: Likewise.
2871 * disk/ata_pthru.c: Likewise.
2872 * disk/dmraid_nvidia.c: Likewise.
2873 * disk/ieee1275/nand.c: Likewise.
2874 * disk/ieee1275/ofdisk.c: Likewise.
2875 * disk/loopback.c: Likewise.
2876 * disk/lvm.c: Likewise.
2877 * disk/mdraid_linux.c: Likewise.
2878 * disk/raid.c: Likewise.
2879 * disk/raid6_recover.c: Likewise.
2880 * disk/scsi.c: Likewise.
2881 * efiemu/main.c: Likewise.
2882 * efiemu/mm.c: Likewise.
2883 * efiemu/pnvram.c: Likewise.
2884 * efiemu/symbols.c: Likewise.
2885 * font/font.c: Likewise.
2886 * fs/cpio.c: Likewise.
2887 * fs/hfsplus.c: Likewise.
2888 * fs/iso9660.c: Likewise.
2889 * fs/jfs.c: Likewise.
2890 * fs/minix.c: Likewise.
2891 * fs/ntfs.c: Likewise.
2892 * fs/ntfscomp.c: Likewise.
2893 * fs/reiserfs.c: Likewise.
2894 * fs/ufs.c: Likewise.
2895 * fs/xfs.c: Likewise.
2896 * gettext/gettext.c: Likewise.
2897 * include/grub/auth.h: Likewise.
2898 * kern/elf.c: Likewise.
2899 * kern/file.c: Likewise.
2900 * kern/ieee1275/init.c: Likewise.
2901 * kern/ieee1275/mmap.c: Likewise.
2902 * kern/ieee1275/openfw.c: Likewise.
2903 * kern/powerpc/dl.c: Likewise.
2904 * kern/sparc64/dl.c: Likewise.
2905 * lib/arg.c: Likewise.
2906 * loader/i386/bsd.c: Likewise.
2907 * loader/i386/bsdXX.c: Likewise.
2908 * loader/i386/efi/linux.c: Likewise.
2909 * loader/i386/efi/xnu.c: Likewise.
2910 * loader/i386/ieee1275/linux.c: Likewise.
2911 * loader/i386/linux.c: Likewise.
2912 * loader/i386/multiboot.c: Likewise.
2913 * loader/i386/pc/linux.c: Likewise.
2914 * loader/i386/pc/multiboot2.c: Likewise.
2915 * loader/i386/xnu.c: Likewise.
2916 * loader/ieee1275/multiboot2.c: Likewise.
2917 * loader/macho.c: Likewise.
2918 * loader/machoXX.c: Likewise.
2919 * loader/multiboot2.c: Likewise.
2920 * loader/multiboot_loader.c: Likewise.
2921 * loader/powerpc/ieee1275/linux.c: Likewise.
2922 * loader/sparc64/ieee1275/linux.c: Likewise.
2923 * loader/xnu.c: Likewise.
2924 * loader/xnu_resume.c: Likewise.
2925 * mmap/i386/pc/mmap.c: Likewise.
2926 * normal/menu_viewer.c: Likewise.
2927 * partmap/acorn.c: Likewise.
2928 * partmap/amiga.c: Likewise.
2929 * partmap/apple.c: Likewise.
2930 * script/lexer.c: Likewise.
2931 * term/gfxterm.c: Likewise.
2932 * term/i386/pc/serial.c: Likewise.
2933 * term/i386/pc/vga.c: Likewise.
2934 * term/ieee1275/ofconsole.c: Likewise.
2935 * term/terminfo.c: Likewise.
2936 * video/bitmap.c: Likewise.
2937 * video/efi_gop.c: Likewise.
2938 * video/efi_uga.c: Likewise.
2939 * video/fb/video_fb.c: Likewise.
2940 * video/i386/pc/vbe.c: Likewise.
2941 * video/readers/tga.c: Likewise.
2942 * video/video.c: Likewise.
2943
0ad46fd7 29442009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2945
2946 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2947 * commands/lspci.c: Likewise.
2948 * commands/probe.c: Likewise.
2949 * commands/xnu_uuid.c: Likewise.
2950 * conf/i386-coreboot.rmk: Likewise.
2951 * conf/i386-efi.rmk: Likewise.
2952 * conf/i386-ieee1275.rmk: Likewise.
2953 * conf/i386-pc.rmk: Likewise.
2954 * conf/powerpc-ieee1275.rmk: Likewise.
2955 * conf/sparc64-ieee1275.rmk: Likewise.
2956 * conf/x86_64-efi.rmk: Likewise.
2957 * fs/i386/pc/pxe.c: Likewise.
2958 * gettext/gettext.c: Likewise.
2959 * include/grub/efi/graphics_output.h: Likewise.
2960 * include/grub/i386/pc/memory.h: Likewise.
2961 * kern/env.c: Likewise.
2962 * kern/i386/qemu/startup.S: Likewise.
2963 * lib/i386/pc/biosnum.c: Likewise.
2964 * lib/i386/relocator.c: Likewise.
2965 * lib/i386/relocator_asm.S: Likewise.
2966 * lib/relocator.c: Likewise.
2967 * loader/i386/bsd.c: Likewise.
2968 * loader/i386/multiboot.c: Likewise.
2969 * loader/i386/pc/chainloader.c: Likewise.
2970 * loader/i386/xnu.c: Likewise.
2971 * loader/xnu.c: Likewise.
2972 * normal/main.c: Likewise.
2973 * normal/menu_text.c: Likewise.
2974 * util/getroot.c: Likewise.
2975 * util/grub-mkconfig_lib.in: Likewise.
2976 * util/grub.d/00_header.in: Likewise.
2977 * util/i386/pc/grub-mkimage.c: Likewise.
2978 * util/mkisofs/eltorito.c: Likewise.
2979 * util/mkisofs/exclude.h: Likewise.
2980 * util/mkisofs/hash.c: Likewise.
2981 * util/mkisofs/iso9660.h: Likewise.
2982 * util/mkisofs/joliet.c: Likewise.
2983 * util/mkisofs/mkisofs.c: Likewise.
2984 * util/mkisofs/mkisofs.h: Likewise.
2985 * util/mkisofs/multi.c: Likewise.
2986 * util/mkisofs/name.c: Likewise.
2987 * util/mkisofs/rock.c: Likewise.
2988 * util/mkisofs/tree.c: Likewise.
2989 * util/mkisofs/write.c: Likewise.
2990 * video/efi_gop.c: Likewise.
2991
009ec743
VS
29922009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2995 size counting.
2996
0ad46fd7 29972009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2998
2999 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
3000 * genmk.rb (class SCRIPT): Modify the target file instead of source.
3001
d3d30ea0
VS
30022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
3005 (GRUB_MOD_INIT(memrw)): Update help line.
3006
a34f5c70
VS
30072009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
3010 Use grub_extcmd_t. All users updated.
3011 (options): New variable.
3012 (grub_cmd_read): Restructure for readability. Support "-v" option.
3013 (grub_cmd_write): Restructure for readability.
3014
0ad46fd7 30152009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
3016
3017 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3018
0ad46fd7 30192009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
3020
3021 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3022 with the actual contents of the correspondending make variable.
3023 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3024 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3025 specifying `*.lst' and `efiemu??.o'
3026
0ad46fd7 30272009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
3028
3029 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3030 after function name.
3031 Noticed by Rene Engelhard <rene@debian.org>.
3032
dc77a799
VS
30332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3036 (options): New variable.
3037 (iospace): Likewise.
3038 (grub_lspci_iter): List IO spaces if "-i" was given.
3039 (grub_cmd_lspci): Parse options.
3040 (GRUB_MOD_INIT(lspci)): Use extcmd.
3041 (GRUB_MOD_FINI(lspci)): Likewise.
3042
0ad46fd7 30432009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
3044
3045 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3046 `function' keyword.
3047 Patch by Tony Mancill <tmancill@debian.org>.
3048
b5d5993b
VS
30492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3052 (grub_uhci_portstatus): Likewise.
3053 (grub_uhci_portstatus): Add necessary delay.
11d18281 3054 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 3055
941903f2 30562009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 3057
941903f2 3058 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3059 (GRUB_MOD_INIT): Likewise.
3060 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 3061 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3062 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 3063 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3064 (enable_rom_area): Likewise.
3065 (GRUB_MOD_INIT): Likewise.
3066 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3067 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3068 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3069 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3070 * commands/hexdump.c (options): Likewise.
3071 * commands/i386/cpuid.c (options): Likewise.
3072 (GRUB_MOD_INIT): Likewise.
3073 * commands/i386/pc/drivemap.c (options): Likewise.
3074 (GRUB_MOD_INIT): Likewise.
3075 * commands/i386/pc/halt (options): Likewise.
3076 (GRUB_MOD_INIT): Likewise.
3077 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3078 * commands/i386/pc/pxecmd.c (options): Likewise.
3079 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3080 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3081 * commands/keystatus.c (options): Likewise.
3082 (GRUB_MOD_INIT): Likewise.
3083 * commands/loadenv.c (options): Likewise.
3084 * commands/ls.c (options): Likewise.
3085 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3086 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3087 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3088 * commands/parttool.c (helpmsg): Likewise.
3089 * commands/probe.c (options): Likewise.
3090 * commands/read.c (GRUB_MOD_INIT): Likewise.
3091 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3092 * commands/search.c (options): Likewise.
3093 * commands/sleep.c (options): Likewise.
3094 * commands/test.c (GRUB_MOD_INIT): Likewise.
3095 * commands/true.c (GRUB_MOD_INIT): Likewise.
3096 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3097 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3098 * lib/arg.c (help_options): Likewise.
e9bbb4e7 3099 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3100 `$(XGETTEXT)'.
98a50553 3101 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 3102
0ad46fd7 31032009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 3104
ef3c2c3a 3105 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
3106 instead of specifying them explicit.
3107
7922f68b
RM
31082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3109
3110 * NEWS: Add grub-probe support for GNU/Hurd.
3111
537ce47f
RM
31122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3113
3114 * NEWS: gettext was added after 1.97.
3115
9b214e3a
RM
31162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3117
3118 * util/mkisofs/msdos_partition.h: New file (based on
3119 include/grub/msdos_partition.h).
3120 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3121 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3122 (ld_options, main): Recognize --protective-msdos-label.
3123 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3124 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3125 (padblock_write): If `use_protective_msdos_label' is set, patch a
3126 protective DOS-style label in the output image.
3127
3128 * util/grub-mkrescue.in: Use --protective-msdos-label.
3129
e9309813
RM
31302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3131
3132 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3133 boot.
3134
0ae56929
RM
31352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3136
3137 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3138 variables.
3139 (ld_options, main): Recognize `--embedded-boot'.
3140 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3141 declarations.
3142 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3143 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3144 (padblock_write): Likewise. Rewrite to support embedded boot image.
3145
3146 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3147 for BIOS-based disk boot instead of only ElTorito.
3148
b15937b1
RM
31492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3150
3151 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3152 build (not needed for bootstrap).
3153
52cc3ce0
RM
31542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3155
3156 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3157 from i386-pc build (not needed for bootstrap).
3158 Rewrite a pair of strings.
3159
36f5ff04
RM
31602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3161
3162 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3163
973c6c85 31642009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3165
3166 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3167
05d21547
AB
31682009-12-21 Andreas Born <futur.andy@googlemail.com>
3169
3170 * kern/env.c (grub_env_context_open): Mark exported variable for
3171 reexport.
3172
0175d51f
AB
31732009-12-21 Andreas Born <futur.andy@googlemail.com>
3174
3175 * kern/env.c (grub_env_export): Create nonexistent variables before
3176 exporting.
3177
7f39d92f 31782009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3179
7f39d92f 3180 * include/grub/auth.h: Include `<grub/i18n.h>'.
3181 (GRUB_GET_PASSWORD): Gettextizze string.
3182 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3183 menu_text.c.
3184 (grub_utf8_to_ucs4_alloc): Fix indentation.
3185 (grub_print_ucs4): Likewise.
3186 (grub_getstringwidth): Likewise.
3187 (print_message_indented): New declaration.
3188 * normal/auth.c: Include `<grub/i18n.h>'.
3189 (grub_auth_check_authentication): Gettexttize string.
3190 * normal/cmdline.c: Include `<grub/i18n.h>'.
3191 (grub_cmdline_get): Gettextizze.
3192 * normal/color.c: Include `<grub/i18n.h>'.
3193 (grub_parse_color_name_pair): Gettexttize strings.
3194 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3195 string (use `print_message_indented').
3196 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3197 `include/grub/normal.h'.
3198 (print_message_indented): Renamed to ...
3199 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3200 used in normal/main.c).
3201 (print_message): Use `grub_print_message_indented' instead of
3202 `print_message_indented'.
3203 (print_timeout): Likewise.
3204 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3205 (grub_normal_print_device_info): Gettexttize strings.
3206 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3207
3041d898
VS
32082009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3211 of arguments. Return number of tokens and not arguments. All users
3212 updated.
3213
de15bf8e
VS
32142009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3217 non-MSDOS paritions.
3218
e0a6ca52
VS
32192009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * include/grub/types.h (UNUSED): Removed since it conflicts with
3222 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3223 Reported by Grégoire Sutre.
3224
b99518d1 32252009-12-19 Carles Pina i Estany <carles@pina.cat>
3226
3227 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3228 (grub_print_ucs4_alloc): Likewise.
3229 (grub_getstringwidth): Likewise.
3230 * normal/main.c (grub_normal_init_page): Gettextize version string.
3231 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3232 (getstringwidth): Renamed to ...
3233 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3234 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3235 (grub_print_ucs4): Remove `static' qualifer (now used in
3236 normal/main.c).
3237 * po/POTFILES: Add normal/main.c.
3238
bfd5e52b 32392009-12-19 Carles Pina i Estany <carles@pina.cat>
3240
3241 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3242 (print_message_indented): Add `margin_left' and `margin_right'
3243 parameters.
3244 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3245 strings.
3246 (print_timeout): Use `print_message_indented' to print the message.
3247 Deletes `second_stage' parameter.
3248 (run_menu): Update `print_timeout' calls.
3249
5a1ad2b9
VS
32502009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 Fix console palette on OpenFirmware.
3253
3254 * term/ieee1275/ofconsole.c (MAX): Removed.
3255 (colors): Redone based on VGA palette.
3256 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3257 colors are supported.
3258 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3259
b045f00a
VS
32602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 Fix potential EfiEmu double prepare.
3263
3264 * efiemu/main.c (prepared): New variable
3265 (grub_efiemu_unload): Set prepare to '0'.
3266 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3267
3268 set_virtual_address_map support.
3269
3270 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3271 prototype.
3272 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3273 prototype.
3274 (grub_efiemu_crc32): Likewise.
3275 (grub_efiemu_crc64): Likewise.
3276 (grub_efiemu_set_virtual_address_map): Likewise.
3277 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3278 New definition.
3279 (grub_autoefi_set_virtual_address_map): Likewise.
3280 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3281 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3282 Restructure flow to accomodate it.
3283 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3284 (grub_efiemu_crc): Recompute CRC32.
3285 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3286 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3287 * efiemu/symbols.c (relocated_handle): New variable.
3288 (grub_efiemu_free_syms): Free relocated_handle.
3289 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3290 (grub_efiemu_write_sym_markers): New function.
3291 (grub_efiemu_set_virtual_address_map): Likewise.
3292
3293 Newer XNU parameters.
3294
3295 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3296 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3297 (grub_xnu_fill_devicetree): New prototype.
3298 (grub_xnu_heap_real_start): New variable.
3299 * loader/xnu.c (get_name_ptr): New function.
3300 (grub_xnu_load_driver): Fill namelen and name.
3301
3302 64-bit xnu support.
3303
3304 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3305 and 'loader/macho64.c'.
3306 * conf/i386-pc.rmk: Likewise.
3307 * conf/x86_64-efi.rmk: Likewise.
3308 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3309 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3310 * include/grub/macho.h (grub_macho_segment64): New structure.
3311 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3312 (grub_macho_size32): ... to this.
3313 (grub_macho32_get_entry_point): Renamed from ...
3314 (grub_macho_get_entry_point32): ... to this.
3315 (grub_macho_contains_macho64): New prototype.
3316 (grub_macho_size64): Likewise.
3317 (grub_macho_get_entry_point64): Likewise.
3318 (grub_macho32_load): Renamed from ...
3319 (grub_macho_load32): ... to this.
3320 (grub_macho32_filesize): Renamed from ...
3321 (grub_macho_filesize32): ... to this.
3322 (grub_macho32_readfile): Renamed from ...
3323 (grub_macho_readfile32): ... to this.
3324 (grub_macho_filesize64): New prototype.
3325 (grub_macho_readfile64): Likewise.
3326 (grub_macho_parse32): Likewise.
3327 (grub_macho_parse64): Likewise.
3328 * loader/macho.c: Split into ...
3329 * loader/machoXX.c: ... and this. Replace 32 with XX.
3330 * loader/macho32.c: New file.
3331 * loader/macho64.c: Likewise.
3332 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3333 (grub_cmd_xnu_kernel): Make 32-bit only.
3334 (grub_cmd_xnu_kernel64): New function.
3335 (grub_xnu_load_driver): Support Mach-O 64.
3336 (grub_cmd_xnu_mkext): Likewise.
3337 * util/grub.d/30_os-prober.in (osx_entry): New function.
3338 Generate entries for 64-bit boot too.
3339
3340 Eliminate ad-hoc tree format in XNU and EfiEmu.
3341
3342 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3343 * efiemu/pnvram.c: Rewritten to use environment variables.
3344 All users updated.
3345
3346 Inline utf16_to_utf8.
3347
3348 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3349 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3350 All users updated.
3351 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3352
3353 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3354 * commands/usbtest.c (grub_usb_get_string): ... move here.
3355 (usb_print_str): Fix error handling.
3356 * include/grub/usb.h (grub_usb_get_string): Remove.
3357
3358 UTF-8 to UTF-16 transformation.
3359
3360 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3361 (charset_mod_SOURCES): New variable.
3362 (charset_mod_CFLAGS): Likewise.
3363 (charset_mod_LDFLAGS): Likewise.
3364 * include/grub/utf.h: New file.
3365 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3366
3367 Support for device properties.
3368
3369 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3370 (grub_xnu_devprop_device_header): Likewise.
3371 (grub_xnu_devprop_device_descriptor): Likewise.
3372 (grub_xnu_devprop_add_device): New prototype.
3373 (grub_xnu_devprop_remove_device): Likewise.
3374 (grub_xnu_devprop_remove_property): Likewise.
3375 (grub_xnu_devprop_add_property_utf8): Likewise.
3376 (grub_xnu_devprop_add_property_utf16): Likewise.
3377 (grub_cpu_xnu_init): Likewise.
3378 (grub_cpu_xnu_fini): Likewise.
3379 (grub_cpu_xnu_unload): Likewise.
3380 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3381 (property_descriptor): Likewise.
3382 (devices): New variable.
3383 (grub_xnu_devprop_remove_property): New function.
3384 (grub_xnu_devprop_add_device): Likewise.
3385 (grub_xnu_devprop_remove_device): Likewise.
3386 (grub_xnu_devprop_add_property): Likewise.
3387 (grub_xnu_devprop_add_property_utf8): Likewise.
3388 (grub_xnu_devprop_add_property_utf16): Likewise.
3389 (hextoval): Likewise.
3390 (grub_cpu_xnu_fill_devprop): Likewise.
3391 (grub_cmd_devprop_load): Likewise.
3392 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3393 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3394 (cmd_devprop_load): New variable.
3395 (grub_cpu_xnu_init): New function.
3396 (grub_cpu_xnu_fini): Likewise.
3397 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3398 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3399 (grub_cmd_xnu_devtree): Likewise.
3400 (hextoval): New function.
3401 (unescape): Likewise.
3402 (grub_xnu_fill_devicetree): Likewise.
3403
3404 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3405 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3406
0945f181
VS
34072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Workaround for broken ATI VBE.
3410
3411 * video/i386/pc/vbe.c (last_set_mode): New variable.
3412 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3413 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3414 (grub_video_vbe_setup): Don't check for reserved flag.
3415
0ad46fd7 34162009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
3417
3418 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3419 the `find' command.
3420
c179ebe4
VS
34212009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 UUID support for HFS.
3424
3425 * fs/hfs.c (grub_hfs_uuid): New function.
3426 (grub_hfs_fs): New value .uuid.
3427 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3428
0ad46fd7 34292009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
3430
3431 Fix a segfault with parsing unknown long options.
3432
3433 * util/grub-mkrelpath.c (options): Zero terminate it.
3434
c4a3e41a
CPE
34352009-12-13 Carles Pina i Estany <carles@pina.cat>
3436
3437 * include/grub/misc.h (grub_puts): New declaration.
3438 (grub_puts_): Likewise.
a22008a6 3439 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
3440 (grub_puts_): Likewise.
3441
2e8a7602
RM
34422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3443
3444 * util/grub-probe.c (probe): Improve error message.
3445
b50b77b9
RM
34462009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3447
3448 * loader/i386/multiboot_elfxx.c
3449 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3450 initialization.
3451
34522009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 Relocator framework
3455
3456 * loader/i386/xnu_helper.S: Removed. All users updated.
3457 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3458 (relocator_mod_SOURCES): New variable.
3459 (relocator_mod_CFLAGS): Likewise.
3460 (relocator_mod_LDFLAGS): Likewise.
3461 (relocator_mod_ASFLAGS): Likewise.
3462 * conf/x86_64.rmk: Likewise.
3463 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
3464 (grub_multiboot_payload_entry_offset): Likewise.
3465 (grub_multiboot_forward_relocator): Likewise.
3466 (grub_multiboot_forward_relocator_end): Likewise.
3467 (grub_multiboot_backward_relocator): Likewise.
3468 (grub_multiboot_backward_relocator_end): Likewise.
3469 (grub_multiboot_payload_eip): New variable.
3470 (grub_multiboot_payload_orig): Likewise.
3471 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
3472 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
3473 * include/grub/i386/memory.h
3474 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
3475 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
3476 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
3477 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
3478 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3479 * include/grub/i386/relocator.h: New file.
3480 * include/grub/x86_64/relocator.h: Likewise.
3481 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
3482 (XNU_RELOCATOR): New macro.
3483 (grub_xnu_launcher_start): Remove.
3484 (grub_xnu_launcher_end): Likewise.
3485 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
3486 (grub_xnu_heap_real_start): Remove.
3487 (grub_xnu_heap_start): Change to void *. All users updated.
3488 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
3489 * lib/i386/relocator.c: New file.
3490 * lib/i386/relocator_asm.S: Likewise.
3491 * lib/i386/relocator_backward.S: Likewise.
3492 * lib/mips/relocator.c: Likewise.
3493 * lib/mips/relocator_asm.S: Likewise.
3494 * lib/relocator.c: Likewise.
3495 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
3496 (entry): Removed.
3497 (playground): Likewise.
3498 (grub_multiboot_payload_orig): New variable.
3499 (grub_multiboot_payload_dest): Likewise.
3500 (grub_multiboot_payload_size): Likewise.
3501 (grub_multiboot_payload_eip): Likewise.
3502 (grub_multiboot_payload_esp): Likewise.
3503 (grub_multiboot_boot): Use grub_relocator32_boot.
3504 (grub_multiboot_unload): Free relocators.
3505 (grub_multiboot): Setup stack. Use relocators.
3506 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
3507 (grub_multiboot_load_elfXX): Use relocators.
3508 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
3509 (grub_multiboot_payload_size): Likewise.
3510 (grub_multiboot_payload_dest): Likewise.
3511 (grub_multiboot_payload_entry_offset): Likewise.
3512 (grub_multiboot_forward_relocator): Likewise.
3513 (grub_multiboot_backward_relocator): Likewise.
3514 (grub_multiboot_real_boot): Likewise.
3515 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
3516 (grub_xnu_entry_point): Likewise.
3517 (grub_xnu_arg1): Likewise.
3518 (grub_xnu_stack): Likewise.
3519 (grub_xnu_launch): Removed.
3520 (grub_xnu_boot_resume): New function.
3521 (grub_xnu_boot): Use relocators.
3522 * loader/i386/xnu_helper.S: Removed.
3523 * loader/xnu.c (grub_xnu_heap_start): New variable.
3524 (grub_xnu_heap_size): Likewise.
3525 (grub_xnu_heap_malloc): Use relocators.
3526 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
3527
29eb90c6
VS
35282009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
3531 anything.
3532
31027430
CPE
35332009-12-13 Carles Pina i Estany <carles@pina.cat>
3534
3535 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
3536 GRUB_ERR_NONE before calling grub_env_set.
3537
dc0c71d9
RM
35382009-12-12 Robert Millan <rmh@aybabtu.com>
3539
3540 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
3541 * genmk.rb (video): New variable.
3542 (CLEANFILES, VIDEOFILES): Add #{video}.
3543 (#{video}): New target rule.
3544 * genvideolist.sh: New file.
3545 * Makefile.in (pkglib_DATA): Add video.lst.
3546 (video.lst): New target rule.
3547 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
3548 `video.lst'.
3549 * util/grub.d/30_os-prober.in: Replace `vbe' with
3550 ${GRUB_VIDEO_BACKEND}.
3551
2a4bfcf0
RM
35522009-12-11 Robert Millan <rmh.grub@aybabtu.com>
3553
3554 * THANKS: Add David Miller.
3555
2a3aa4d5
RM
35562009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 libpciaccess support.
3559
3560 * Makefile.in (LIBPCIACCESS): New variable.
3561 (enable_grub_emu_pci): Likewise.
3562 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
3563 util/pci.c and commands/lspci.c.
3564 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
3565 * configure.ac (grub-emu-pci): New option.
3566 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
3567 (grub_pci_device_unmap_range): Likewise.
3568 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
3569 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
3570 (grub_pci_address_t) [!GRUB_UTIL]: New type.
3571 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
3572 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
3573 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
3574 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
3575 * include/grub/pciutils.h: New file.
3576 * util/pci.c: Likewise.
3577
0ad46fd7 35782009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
3579
3580 * util/misc.c: Don't include <errno.h> twice.
3581
0ad46fd7 35822009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
3583
3584 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
3585 name in an error message.
3586 (grub_biosdisk_rw): Likewise.
3587
2e59983c
VS
35882009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 Eliminate NTFS 4Gib barrier.
3591
3592 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
3593 (read_run_data): Likewise.
3594 (grub_ntfs_read_run_list): Likewise.
3595 (grub_ntfs_read_block): Likewise.
3596 (grub_ntfs_iterate_dir): Likewise.
3597 (read_mft): Likewise.
3598 (read_data): Likewise.
3599 Use COM_LOG_LEN.
3600 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
3601 to avoid 64-bit division
3602 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
3603 (grub_ntfs_rlst): Use grub_disk_addr_t.
3604
71ee178a
VS
36052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Eliminate grub-fstest 4Gib barrier.
3608
3609 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
3610 (read_file): Fix error reporting.
3611
2520d4b8
VS
36122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 Eliminate hexdump 4Gib barrier.
3615
3616 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
3617 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
3618
e1f27065
VS
36192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
3622 Fixes amarsh bug.
3623
1a0f7f45
RM
36242009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
3625
3626 Remove miscellaneous files in distclean target.
3627
3628 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
3629
c631d9fb
CW
36302009-12-09 Colin Watson <cjwatson@ubuntu.com>
3631
3632 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
3633 if they're already set. This resolves the conflict between my
3634 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
3635 fixing the --grub-probe option again.
3636 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
3637 change on 2009-10-06, so that we now once again source
3638 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3639
7c7b6106
RM
36402009-12-08 Robert Millan <rmh.grub@aybabtu.com>
3641
3642 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
3643 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
3644 `util/devicemap.c'.
3645
e3069ec1
CPE
36462009-12-08 Carles Pina i Estany <carles@pina.cat>
3647
3648 * include/grub/misc.h (grub_printf_): New declaration.
3649 * kern/misc.c (grub_printf_): New definition.
3650 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
3651 instead of `grub_printf' and `_'.
3652 * normal/menu_entry.c (store_completion): Likewise.
3653 (run): Likewise.
3654 (grub_menu_entry_run): Likewise.
3655 * normal/menu_text.c (grub_wait_after_message): Likewise.
3656 (notify_booting): Likewise.
3657 (notify_fallback): Likewise.
3658 (notify_execution_failure): Likewise.
3659
d6ceebf1
CW
36602009-12-07 Colin Watson <cjwatson@ubuntu.com>
3661
3662 * configure.ac: Check for vasprintf.
3663 * util/misc.c (asprintf): Move allocation from here ...
3664 (vasprintf): ... to here. New function.
3665 (xasprintf): New function.
3666 * include/grub/util/misc.h (vasprintf, xasprintf): Add
3667 prototypes.
3668 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3669 * util/grub-mkfont.c (write_font): Likewise.
3670 * util/grub-probe.c (probe): Likewise.
3671 * util/hostdisk.c (make_device_name): Likewise.
3672
de6daa8b
DM
36732009-12-06 David S. Miller <davem@sunset.davemloft.net>
3674
3675 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
3676 anything even prefixed with 'cdrom' as a cdrom.
3677
0ad46fd7 36782009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
3679
3680 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
3681 mount points.
3682
98d3dc02
CPE
36832009-12-05 Carles Pina i Estany <carles@pina.cat>
3684
3685 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
3686 grub_gettext_msg_list.
3687 (grub_gettext_gettranslation_from_position): Return const char *
3688 and not char *.
a2c1332b 3689 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
3690 returns from the list if existing there.
3691 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
3692 (grub_gettext_delete_list): Delete the list.
3693 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
3694 lang environment variable is changed.
3695 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
3696
b283f108
VS
36972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 Rename kernel.mod to kernel.img.
3700
3701 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
3702 (kernel_mod_EXPORTS): Rename to ...
3703 (kernel_img_EXPORTS): ... this.
3704 (kernel_mod_SOURCES): Rename to ...
3705 (kernel_img_SOURCES): ... this.
3706 (kernel_mod_HEADERS): Rename to ...
3707 (kernel_img_HEADERS): ... this. All users updated.
3708 (kernel_mod_CFLAGS): Rename to ...
3709 (kernel_img_CFLAGS): ... this.
3710 (kernel_mod_ASFLAGS): Rename to ...
3711 (kernel_img_ASFLAGS): ... this.
3712 (kernel_mod_LDFLAGS): Rename to ...
3713 (kernel_img_LDFLAGS): ... this.
3714 * conf/x86_64-efi.rmk: Likewise.
3715 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
3716 (read_kernel_image): ... this. All users updated.
3717 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
3718
69055f8a
CPE
37192009-12-05 Carles Pina i Estany <carles@pina.cat>
3720
3721 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
3722 (print_spaces): New function.
3723 (grub_print_ucs4): New function.
3724 (getstringwidth): New function.
3725 (print_message_indented): New function.
3726 (print_message): Gettexttize strings using print_message_indented.
3727 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
3728 width.
3729 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 3730 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
3731 Gettextize.
3732 * normal/menu_entry.c (store_completion): Cleanup the gettextized
3733 string.
3734 (run): Likewise.
3735 (grub_menu_entry_run): Likewise.
3736 * PO/POTFILES: Add normal/menu_entry.c.
3737
f616f51c
VS
37382009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
3741
57bbe3be
CPE
37422009-12-05 Carles Pina i Estany <carles@pina.cat>
3743
3744 * util/grub-install.in: Install gettext .mo files.
3745 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
3746
013d67a1
CPE
37472009-12-05 Carles Pina i Estany <carles@pina.cat>
3748
3749 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
3750 grub_dprintf.
3751
fb954db0
RM
37522009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3753
3754 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3755 non-firmware-dependant one in realmode.S takes precedence.
3756
6b8474f8
RM
37572009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3758
3759 * commands/halt.c: Replace misc arch-specific headers with
3760 `<grub/misc.h>'.
3761 * commands/reboot.c: Likewise.
3762 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3763 `<grub/misc.h>'.
3764 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3765 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3766 (kernel_img_SOURCES): ... to here.
3767
3768 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3769 * include/grub/i386/pc/init.h: Likewise.
3770 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3771 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3772
3773 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3774
3775 * include/grub/i386/halt.h: Remove.
3776 * include/grub/i386/reboot.h: Likewise.
3777
3778 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3779
4b2e6ca2
DM
37802009-12-03 David S. Miller <davem@sunset.davemloft.net>
3781
3782 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3783 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3784 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3785 "progname.h"
3786 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3787 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3788 (usage): Add missing comma in printf.
3789
5239348f
RM
37902009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3791
3792 Use the same reboot approach on i386 coreboot and qemu as we do on
3793 BIOS.
3794
3795 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3796 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3797 * kern/i386/reboot.c: Remove.
3798 * include/grub/i386/reboot.h (grub_reboot): Export function.
3799 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3800 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3801 0xf000:0xfff0 instead of 0xffff:0x0000.
3802 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3803 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3804
ef34cbd4
RM
38052009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3806
3807 Fix $srcdir != $objdir build.
3808
3809 * Makefile.in (po/%.po): Rewrite as ...
3810 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3811
dc9837ea
ST
38122009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3813
3814 Fix GNU/Hurd grub-install crash.
3815 * util/grub-probe.c (probe): Try to access `path' only when it is not
3816 NULL.
3817
2f857f98
VS
38182009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 Correct module naming.
3821
3822 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3823 (GRUB_MOD_INIT(efi_uga)): ... to this
3824 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3825 (GRUB_MOD_FINI(efi_uga)): ... to this
3826 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3827 (GRUB_MOD_INIT(efi_gop)): ... to this
3828 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3829 (GRUB_MOD_FINI(efi_gop)): ... to this
3830
c5448046
RM
38312009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3832
3833 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3834 translatable.
3835 (usage): Translate `arg' strings using gettext().
3836 Thanks to Jordi Mallach for the suggestion.
3837
c85184ad
VS
38382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 GOP support. Based on patch from Bean
3841 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3842
3843 * video/efi_gop.c: New file.
3844 * include/grub/efi/graphics_output.h: Likewise.
3845 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3846 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3847 variables.
3848 * conf/x86_64-efi.rmk: Likewise.
3849
8a4c48d8
VS
38502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 Rename efi_fb to efi_uga.
3853
3854 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3855 'efi_uga.mod'.
3856 (efi_fb_mod_SOURCES): Rename this ...
3857 (efi_uga_mod_SOURCES): ... to this.
3858 (efi_fb_mod_CFLAGS): Rename this ...
3859 (efi_uga_mod_CFLAGS): ... to this.
3860 (efi_fb_mod_LDFLAGS): Rename this ...
3861 (efi_uga_mod_LDFLAGS): ... to this.
3862 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3863 'efi_uga.mod'.
3864 (efi_fb_mod_SOURCES): Rename this ...
3865 (efi_uga_mod_SOURCES): ... to this.
3866 (efi_fb_mod_CFLAGS): Rename this ...
3867 (efi_uga_mod_CFLAGS): ... to this.
3868 (efi_fb_mod_LDFLAGS): Rename this ...
3869 (efi_uga_mod_LDFLAGS): ... to this.
3870 * video/efi_fb.c: Move this ...
3871 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3872
fb6c1a7b
RM
38732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3874
3875 * po/README: New file. Explain our PO file workflow.
3876
3bc7896c
RM
38772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3878
3879 * po/ChangeLog: Remove. Move relevant entries back to ...
3880 * ChangeLog: ... here.
3881 * po/ca.po: Remove (now handled by TLP).
3882 * po/id.po: Likewise.
3883 * po/zh_CN.po: Likewise.
3884 * Makefile.in (LINGUAS): Initialize in a way that supports
3885 empty set.
3886
9ed4841d
RM
38872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3888
3889 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3890 reliing on po/LINGUAS.
3891 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3892 (po/%.po): ... this.
3893
0ad46fd7 38942009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
3895
3896 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3897 (main): Use `program_name' instead of nonexistent `progname'.
3898
e30dd392
FZ
38992009-11-26 Felix Zielcke <fzielcke@z-51.de>
3900
3901 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3902 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3903
7656de4f
RM
39042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3905
3906 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3907 commit.
3908 * conf/i386-efi.rmk: Likewise.
3909 * conf/i386-ieee1275.rmk: Likewise.
3910 * conf/powerpc-ieee1275.rmk: Likewise.
3911 * conf/sparc64-ieee1275.rmk: Likewise.
3912 * conf/x86_64-efi.rmk: Likewise.
3913
db77c4d4
FZ
39142009-11-26 Felix Zielcke <fzielcke@z-51.de>
3915
3916 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3917
a755bb04
FZ
39182009-11-26 Felix Zielcke <fzielcke@z-51.de>
3919
3920 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3921
8a4c07fd
RM
39222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3923
3924 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
3925 (grub_mkdevicemap_SOURCES): New variable.
3926 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
3927 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
3928 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
3929 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
3930 (grub_mkdevicemap_SOURCES): Remove.
3931 * conf/i386-efi.rmk: Likewise.
3932 * conf/i386-ieee1275.rmk: Likewise.
3933 * conf/i386-pc.rmk: Likewise.
3934 * conf/powerpc-ieee1275.rmk: Likewise.
3935 * conf/sparc64-ieee1275.rmk: Likewise.
3936 * conf/x86_64-efi.rmk: Likewise.
3937 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
3938 (usage): Fix strings to use `program_name'.
3939 (main): Initialize gettext.
3940 * util/grub-editenv.c: Likewise.
3941 * util/grub-emu.c: Likewise.
3942 * util/grub-fstest.c: Likewise.
3943 * util/grub-mkdevicemap.c: Likewise.
3944 * util/grub-mkfont.c: Likewise.
3945 * util/grub-mkrelpath.c: Likewise.
3946 * util/grub-pe2elf.c: Likewise.
3947 * util/grub-probe.c: Likewise.
3948 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3949 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3950 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3951
3952 * util/misc.c: Include `"progname.h"'.
3953 (progname): Remove variable.
3954 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3955
6f61ed55
FZ
39562009-11-25 Felix Zielcke <fzielcke@z-51.de>
3957
3958 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3959 printf and print a newline after the menuentry header line.
3960 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3961
f022876b
FZ
39622009-11-25 Felix Zielcke <fzielcke@z-51.de>
3963
3964 autoconf >= 2.60 support $(localedir).
3965
3966 * INSTALL: Note that autoconf 2.60 is required.
3967 * configure.ac (AC_PREREQ): Bump to 2.60.
3968 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3969 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3970
6717926e
YB
39712009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3972
3973 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3974 aclocal is run.
3975
08806a54
RM
39762009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3977
3978 * normal/main.c (grub_normal_read_line): Fix off-by-one
3979 buffer overflow.
3980
13b33fba
RM
39812009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3982
3983 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3984 "parser.grub" in grub_command_execute() call.
3985
4a8572e9
CPE
39862009-11-24 Carles Pina i Estany <carles@pina.cat>
3987
3988 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3989 * conf/i386-efi.rmk: Likewise.
3990 * conf/i386-ieee1275.rmk: Likewise.
3991 * conf/i386-pc.rmk: Likewise.
3992 * conf/powerpc-ieee1275.rmk: Likewise.
3993 * conf/sparc64-ieee1275.rmk: Likewise.
3994 * conf/x86_64-efi.rmk: Likewise.
3995 * gettext/gettex.c: Include <grub/i18n.h>.
3996 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3997 here ...
3998 * include/grub/i18n.h: ... to here
3999 * include/grub/i18n.h: ... to here.
4000 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 4001 (grub_gettext_dummy): Move above user.
4a8572e9 4002
bee48093
FZ
40032009-11-24 Felix Zielcke <fzielcke@z-51.de>
4004
4005 * util/Makefile.in (install-local): Convert a `for' into a normal
4006 shell expansion.
4007
a031e91c
RM
40082009-11-24 Robert Millan <rmh.grub@aybabtu.com>
4009
4010 * autogen.sh: Add automake call.
4011 * config.guess: Remove.
4012 * config.sub: Likewise.
4013 * install-sh: Likewise.
4014
26bec39d
FZ
40152009-11-24 Felix Zielcke <fzielcke@z-51.de>
4016
4017 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4018
8e2532fd
FZ
40192009-11-24 Felix Zielcke <fzielcke@z-51.de>
4020
4021 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4022 function to a normal shell `for'.
4023
fefa1b7d
FZ
40242009-11-24 Felix Zielcke <fzielcke@z-51.de>
4025
4026 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4027
4501250b
FZ
40282009-11-24 Felix Zielcke <fzielcke@z-51.de>
4029
4030 * util/grub-mkrelpath.c: New file.
4031 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4032 (grub_mkrelpath_SOURCES): New variable.
4033 * include/grub/util/misc.h: New function prototype.
4034 * util/misc.c (make_system_path_relative_to_its_root): New function.
4035
4036 * util/grub-mkconfig_lib.in (bindir): New variable.
4037 (grub_mkrelpath): Likewise.
4038 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4039
4040 * util/probe.c (probe): Make the file path relative to its root.
4041 Change a info message to use the GRUB path. Enable again the
4042 check if we can read the file with GRUB facilities.
4043
4044 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4045 to its root.
4046
11d9778b
FZ
40472009-11-24 Felix Zielcke <fzielcke@z-51.de>
4048
4049 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4050 platform.
4051
4465287d
FZ
40522009-11-24 Felix Zielcke <fzielcke@z-51.de>
4053
4054 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4055 strncmp().
4056
62b47f22
FZ
40572009-11-24 Felix Zielcke <fzielcke@z-51.de>
4058
4059 * util/getroot.c (grub_util_is_dmraid): New function.
4060 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4061 devices as normal ones, not as LVM.
4062
1eafb9b9 40632009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
4064
4065 * conf/common.rmk: Add grub-gettext_lib target and updates
4066 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4067 LDFLAGS.
4068 * gettext/gettext.c: New file. (Reads mo files).
4069 * include/grub/file.h (grub_file_pread): New prototype.
4070 * include/grub/i18n.h (_): New prototype.
4071 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4072 prototypes.
4073 * kern/misc.c (grub_gettext_dummy): New function.
4074 * normal/menu_text.c: Include <grub/i18n.h>.
4075 * normal/menu_text.c (print_timeout): Gettexttize string.
4076 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
4077 * po/POTFILES: Add `normal/menu_text.c'.
4078 * po/ca.po: Add new translations.
c3ea6bd4
CPE
4079 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4080 gettext module and defines locale_dir and lang in grub.cfg.
4081 * NEWS: Add gettext support.
4082
0fdb2568
RM
40832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4084
4085 * util/hostdisk.c: Include `<grub/i18n.h>'.
4086 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4087 (make_device_name): Rewrite using asprintf.
4088 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4089 (find_system_device): If a device is not found, generate one just
4090 by reusing the OS path name.
4091 (read_device_map): Make it permissible for device.map not to exist.
4092
f515aa62
RM
40932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4094
4095 * script/sh/execute.c: Move from here ...
4096 * script/execute.c: ... to here. Update all users.
4097 * script/sh/function.c: Move from here ...
4098 * script/function.c: ... to here. Update all users.
4099 * script/sh/lexer.c: Move from here ...
4100 * script/lexer.c: ... to here. Update all users.
4101 * script/sh/main.c: Move from here ...
4102 * script/main.c: ... to here. Update all users.
4103 * script/sh/parser.y: Move from here ...
4104 * script/parser.y: ... to here. Update all users.
4105 * script/sh/script.c: Move from here ...
4106 * script/script.c: ... to here. Update all users.
4107
f84b481b
RM
41082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4109
4110 * configure.ac: Detect all `emu' platforms. Define
4111 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4112 --enable-grub-emu logic. Disable include/grub/machine
4113 symlink on `emu' platforms.
4114
4115 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4116 * gensymlist.sh.in: Likewise.
4117
4118 * include/grub/i386/coreboot/machine.h: Remove file.
4119 * include/grub/i386/efi/machine.h: Likewise.
4120 * include/grub/i386/ieee1275/machine.h: Likewise.
4121 * include/grub/i386/pc/machine.h: Likewise.
4122 * include/grub/i386/qemu/machine.h: Likewise.
4123 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4124 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4125 * include/grub/x86_64/efi/machine.h: Likewise.
4126
4127 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4128 * commands/halt.c: Likewise.
4129 * commands/reboot.c: Likewise.
4130 * include/grub/autoefi.h: Likewise.
4131 * include/grub/i386/at_keyboard.h: Likewise.
4132 * include/grub/i386/kernel.h: Likewise.
4133 * include/grub/i386/loader.h: Likewise.
4134 * include/grub/i386/pc/memory.h: Likewise.
4135 * kern/dl.c: Likewise.
4136 * kern/i386/coreboot/init.c: Likewise.
4137 * loader/i386/bsd.c: Likewise.
4138 * loader/i386/linux.c: Likewise.
4139 * loader/multiboot_loader.c: Likewise.
4140 * term/i386/pc/serial.c: Likewise.
4141 * term/usb_keyboard.c: Likewise.
4142
4143 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4144 `<grub/machine/machine.h>'
4145 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4146 * util/misc.c: Remove `<grub/machine/machine.h>' and
4147 `<grub/machine/time.h>'.
4148
4149 * Makefile.in (enable_grub_emu): Remove variable.
4150 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4151
4152 * conf/any-emu.rmk: New file.
4153 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4154 (grub_emu_init.c): Move from here ...
4155 * conf/any-emu.rmk: ... to here.
4156
4157 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4158 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4159 * conf/any-emu.rmk: ... to here.
4160
4efeab03
RM
41612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4162
4163 * include/grub/parser.h (grub_parser_register): Document need
4164 of `name' parameter.
4165 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4166 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4167 "sh" to "grub".
4168
ea1dd8bf
RM
41692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4170
4171 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4172 `$(XGETTEXT)'.
4173 * include/grub/i18n.h (N_): New macro.
4174 * util/mkisofs/mkisofs.h: Likewise.
4175 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4176 around N_().
4177 (usage): Use gettext() to translate help strings when printing them.
4178
0c140626
RM
41792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4180
4181 Based on patch from Bean
4182 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4183
4184 * video/efi_fb.c: New file.
4185 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4186 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4187 variables.
4188 * conf/x86_64-efi.rmk: Likewise.
4189
87d58298
RM
41902009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4191
4192 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4193 * util/i386/pc/grub-setup.c: Likewise.
4194
994cc3a3
ST
41952009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4196
4197 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4198 <hurd/fs.h>
4199 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4200 file_get_storage_info to implement grub_guess_root_device.
4201
26a61d6a
FZ
42022009-11-21 Felix Zielcke <fzielcke@z-51.de>
4203
4204 * Makefile.in (target): Use make's builtin $(shell) function
4205 instead of calling directly $(SHELL) to create the locale directories,
4206 inside the $(foreach) function.
4207
74ff1dd5
FZ
42082009-11-21 Felix Zielcke <fzielcke@z-51.de>
4209
4210 * util/grub-mkrescue.in: Print an error and usage if output option
4211 has not been given.
4212
0b787d0e
FZ
42132009-11-21 Felix Zielcke <fzielcke@z-51.de>
4214
4215 Patch from Loïc Minier <loic.minier@ubuntu.com>.
4216 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4217 root and /boot are on different devices.
4218
1164b270
RM
42192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4220
4221 Fix build for srcdir != objdir.
4222
4223 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4224 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4225 $(srcdir).
4226 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4227 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4228 reference for input.
4229
13774a2f
RM
42302009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4231
4232 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4233 or hardlinking it). Remove -J option, Joliet is not compatible with
4234 multiple source directories.
4235
efda854e
RM
42362009-11-21 Carles Pina i Estany <carles@pina.cat>
42372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4238
4239 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4240 (process_input_dir): New function. Process an arbitrary input
4241 directory.
4242 Misc adjustments to support both "override mode" and system-wide mode.
4243
6c09890c
FZ
42442009-11-20 Felix Zielcke <fzielcke@z-51.de>
4245
4246 * configure.ac (UNIFONT_BDF): Rename to ...
4247 (FONT_SOURCE): ... this. Update all users.
4248
a797824f
FZ
42492009-11-20 Felix Zielcke <fzielcke@z-51.de>
4250
4251 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4252 to the list of unifont files to look for.
4253
cd4f42b0
RM
42542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4255
4256 Patch from Joe Auricchio <jauricchio@gmail.com>
4257 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4258 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4259 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4260
393c783d
FZ
42612009-11-19 Felix Zielcke <fzielcke@z-51.de>
4262
4263 * Makefile.in (install-local): Add a missing backslash.
4264
b2f1e327
FZ
42652009-11-19 Felix Zielcke <fzielcke@z-51.de>
4266
4267 * include/grub/x86_64/io.h: New file.
4268
f577f7a0
RM
42692009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4270
4271 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4272 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4273 Include `"progname.h"'.
4274 (main): Initialize gettext.
4275 * util/i386/pc/grub-setup.c: Gettexttize.
4276 * util/i386/pc/grub-mkimage.c: Likewise.
4277
4278 * Makefile.in (po/*.po): Redefine as ...
4279 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4280
3bc7896c
RM
4281 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4282
c37943b6
RM
42832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4284
4285 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4286 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4287 (program_name): Remove.
4288 (main): Initialize gettext support.
6323f705
RM
4289 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4290 Include `<libintl.h>'.
4291 (_): New macro.
c37943b6
RM
4292
4293 * util/mkisofs/eltorito.c: Gettexttize.
4294 * util/mkisofs/joliet.c: Likewise.
4295 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4296 * util/mkisofs/multi.c: Likewise.
4297 * util/mkisofs/rock.c: Likewise.
4298 * util/mkisofs/tree.c: Likewise.
4299 * util/mkisofs/write.c: Likewise.
4300
3bc7896c
RM
4301 * po/POTFILES: Update with new files.
4302
5ce77c6e
RM
43032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4304
4305 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4306 * util/mkisofs/iso9660.h: Likewise.
4307 * util/mkisofs/joliet.c: Likewise.
4308 * util/mkisofs/mkisofs.c: Likewise.
4309 * util/mkisofs/mkisofs.h: Likewise.
4310 * util/mkisofs/rock.c: Likewise.
4311 * util/mkisofs/tree.c: Likewise.
4312 * util/mkisofs/write.c: Likewise.
4313
4314 * util/mkisofs/eltorito.c (rcsid): Remove.
4315 * util/mkisofs/hash.c: Likewise.
4316 * util/mkisofs/joliet.c: Likewise.
4317 * util/mkisofs/name.c: Likewise.
4318 * util/mkisofs/rock.c: Likewise.
4319 * util/mkisofs/tree.c: Likewise.
4320 * util/mkisofs/write.c: Likewise.
4321
1dabbc77
RM
43222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4323
4324 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4325 instead of static allocation.
4326 * util/mkisofs/match.h: Likewise.
4327
633877cb
RM
43282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4329
3bc7896c
RM
4330 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4331 and `util/grub.d/10_linux.in'.
633877cb
RM
4332 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4333 translatable Shell files.
4334
af1c0c85
RM
43352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4336
4337 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4338
769ae37b
RM
43392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4340
4341 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4342 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4343 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4344 Add gettext initialization.
4345 (kfreebsd_entry): Make menuentry output translatable.
4346
43472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4348
4349 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4350 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4351 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4352 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4353 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4354 * po/LINGUAS: New file.
769ae37b
RM
4355
43562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4357
4358 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4359 other things).
4360 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4361 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4362 bindtextdomain() calls for gettext initialization.
4363
43642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4365
4366 * gnulib/progname.c: New file (imported from Gnulib).
4367 * gnulib/progname.h: Likewise.
4368 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4369 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4370 (usage): Replace `progname' with `program_name'.
4371 (main): Use set_program_name() for program name initialization.
4372
43732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4374
4375 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4376 from here ...
4377 * Makefile.in (CPPFLAGS): ... to here.
4378
43792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4380
4381 * aclocal.m4: Move from here ...
4382 * acinclude.m4: ... to here.
4383 * autogen.sh: Add call to `aclocal'.
4384 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4385
43862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4387
4388 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4389 (LINGUAS): New variable.
4390 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4391 (install-local): Install MO files.
4392 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4393 * include/grub/i18n.h: New file.
3bc7896c
RM
4394 * po/POTFILES: New file.
4395 * po/ca.po: New file.
769ae37b
RM
4396 * util/grub.d/10_linux.in (bindir): New variable.
4397 Add gettext initialization.
4398 (linux_entry): Make menuentry output translatable.
4399 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4400 (usage): Make --help output translatable.
4401 (main): Initialize gettext.
4402
02c0a6ad
RM
44032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4404
4405 * import_gcry.py: New file (written by Vladimir with minor
4406 adjustments).
4407 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4408 ciphers.
4409 * INSTALL: Document that Python is required for bootstrap.
4410
44112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4412
4413 Import ciphers from libgcrypt 1.4.4.
4414
4415 * lib/libgcrypt/cipher/ChangeLog
4416 * lib/libgcrypt/cipher/ac.c
4417 * lib/libgcrypt/cipher/arcfour.c
4418 * lib/libgcrypt/cipher/bithelp.h
4419 * lib/libgcrypt/cipher/blowfish.c
4420 * lib/libgcrypt/cipher/camellia-glue.c
4421 * lib/libgcrypt/cipher/camellia.c
4422 * lib/libgcrypt/cipher/camellia.h
4423 * lib/libgcrypt/cipher/cast5.c
4424 * lib/libgcrypt/cipher/cipher.c
4425 * lib/libgcrypt/cipher/crc.c
4426 * lib/libgcrypt/cipher/des.c
4427 * lib/libgcrypt/cipher/dsa.c
4428 * lib/libgcrypt/cipher/ecc.c
4429 * lib/libgcrypt/cipher/elgamal.c
4430 * lib/libgcrypt/cipher/hash-common.c
4431 * lib/libgcrypt/cipher/hash-common.h
4432 * lib/libgcrypt/cipher/hmac-tests.c
4433 * lib/libgcrypt/cipher/md.c
4434 * lib/libgcrypt/cipher/md4.c
4435 * lib/libgcrypt/cipher/md5.c
4436 * lib/libgcrypt/cipher/primegen.c
4437 * lib/libgcrypt/cipher/pubkey.c
4438 * lib/libgcrypt/cipher/rfc2268.c
4439 * lib/libgcrypt/cipher/rijndael-tables.h
4440 * lib/libgcrypt/cipher/rijndael.c
4441 * lib/libgcrypt/cipher/rmd.h
4442 * lib/libgcrypt/cipher/rmd160.c
4443 * lib/libgcrypt/cipher/rsa.c
4444 * lib/libgcrypt/cipher/seed.c
4445 * lib/libgcrypt/cipher/serpent.c
4446 * lib/libgcrypt/cipher/sha1.c
4447 * lib/libgcrypt/cipher/sha256.c
4448 * lib/libgcrypt/cipher/sha512.c
4449 * lib/libgcrypt/cipher/tiger.c
4450 * lib/libgcrypt/cipher/twofish.c
4451 * lib/libgcrypt/cipher/whirlpool.c
4452
af2f93ac
RM
44532009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4454
4455 Fix build for systems without error().
4456
4457 * gnulib/error.c: New file (imported from Gnulib).
4458 * gnulib/error.h: Likewise.
4459 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4460 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
4461 (this variable is now used by error()).
4462
73fb3dd5
FZ
44632009-11-16 Felix Zielcke <fzielcke@z-51.de>
4464
814f5e96
FZ
4465 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
4466 instead of relying that char is signed.
73fb3dd5 4467
a691ca33
VS
44682009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
4471 blocksize different from specified.
4472 (grub_pxefs_read): Likewise.
4473
2af8f0f4
FZ
44742009-11-16 Felix Zielcke <fzielcke@z-51.de>
4475
4476 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
4477
4478 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4479 (grub_ata_readwrite): Likewise. Update 2 format strings.
4480 (grub_atapi_read): Likewise.
4481
4482 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
4483 * conf/i386.rmk (pkglib_MODULES): ... to here ...
4484 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
4485 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
4486 (ata_mod_LDFLAGS): Move from here ...
4487 * conf/i386.rmk: ... to here ...
4488 * conf/x86_64-efi.rmk: ... and here.
4489 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
4490 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
4491
83bdecaf
RM
44922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4493
4494 Relicense multiboot.h, with RMS' blessing.
4495
4496 * include/multiboot.h: Change to X11 license.
4497
fd6fd3d7
RM
44982009-11-15 Robert Millan <rmh.grub@aybabtu.com>
4499
4500 Support --version in grub-mkisofs.
4501
4502 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
4503 (OPTION_VERSION): New macro.
4504 (ld_options): Recognize --version.
4505 (usage): Move `program_name' from here ...
4506 (program_name): ... to here. Add `static' qualifier.
4507 (main): Recognize `OPTION_VERSION'.
4508
16a88c49
FZ
45092009-11-15 Felix Zielcke <fzielcke@z-51.de>
4510
4511 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
4512 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
4513
a4158476
RM
45142009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4515
4516 Fix help2man generation for mkisofs.
4517
4518 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
4519 (usage): Send output to stdout (rather than stderr).
4520
fc2208b0
RM
45212009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4522
4523 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
4524 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4525 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
4526 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4527 (bin_SCRIPTS): Add `grub-mkfloppy'.
4528 (grub_mkfloppy_SOURCES): New variable.
4529
4530 * util/grub-mkrescue.in: New file.
4531 * util/i386/pc/grub-mkfloppy.in: New file.
4532
4533 * util/i386/coreboot/grub-mkrescue.in: Remove.
4534 * util/i386/pc/grub-mkrescue.in: Remove.
4535
8d0edf4a
RM
45362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4537
4538 * include/grub/multiboot.h (struct grub_multiboot_header): Move
4539 from here ...
4540 * include/multiboot.h (struct multiboot_header): ... to here. Update
4541 all users.
4542 * include/grub/multiboot.h (struct grub_multiboot_info): Move
4543 from here ...
4544 * include/multiboot.h (struct multiboot_info): ... to here. Update
4545 all users.
4546 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
4547 from here ...
4548 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
4549 Update all users.
4550 * include/grub/multiboot.h (struct grub_mod_list): Move
4551 from here ...
4552 * include/multiboot.h (struct multiboot_mod_list): ... to here.
4553 Update all users.
4554
a73f5969
RM
45552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4556
4557 * include/multiboot2.h (multiboot_word): Rename from this ...
4558 (multiboot2_word): ... to this. Update all users.
4559 (multiboot_header): Rename from this ...
4560 (multiboot2_header): ... to this. Update all users.
4561 (multiboot_tag_header): Rename from this ...
4562 (multiboot2_tag_header): ... to this. Update all users.
4563 (multiboot_tag_start): Rename from this ...
4564 (multiboot2_tag_start): ... to this. Update all users.
4565 (multiboot_tag_name): Rename from this ...
4566 (multiboot2_tag_name): ... to this. Update all users.
4567 (multiboot_tag_module): Rename from this ...
4568 (multiboot2_tag_module): ... to this. Update all users.
4569 (multiboot_tag_memory): Rename from this ...
4570 (multiboot2_tag_memory): ... to this. Update all users.
4571 (multiboot_tag_unused): Rename from this ...
4572 (multiboot2_tag_unused): ... to this. Update all users.
4573 (multiboot_tag_end): Rename from this ...
4574 (multiboot2_tag_end): ... to this. Update all users.
4575
1c8927f0
RM
45762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4577
4578 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
4579 this platform we should support Multiboot1 first.
4580
4581 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4582 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
4583 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
4584
6e1e0d89
RM
45852009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4586
4587 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
4588 of write calls (converting them to fwrite() if they aren't already).
4589 (get_torito_desc): Likewise.
4590 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
4591
7f2b34d8
RM
45922009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4593
4594 * util/i386/pc/grub-install.in: Move from here ...
4595 * util/grub-install.in: ... to here. Update all users.
4596
c0ef3311
CW
45972009-11-11 Colin Watson <cjwatson@ubuntu.com>
4598
4599 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
4600
e1f240ff
RM
46012009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4602
4603 Support for El Torito without floppy emulation.
4604
4605 * util/mkisofs/eltorito.c: Include `<errno.h>'.
4606 (init_boot_catalog): Improve error handling.
4607 (get_torito_desc): Don't use floppy emulation unless requested by
4608 user. Patch boot information table when requested via
4609 `-boot-info-table'.
4610 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
4611 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
4612 (use_boot_info_table): New variables.
4613 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
4614 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
4615 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
4616 `--eltorito-emul-floppy'.
4617 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
4618 and `OPTION_ELTORITO_EMUL_FLOPPY'.
4619 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
4620 (use_boot_info_table, get_731): New prototypes.
4621 * util/mkisofs/write.c (get_731): New function.
4622
af7d4de5
FZ
46232009-11-11 Felix Zielcke <fzielcke@z-51.de>
4624
4625 Fix the generation of the man page.
4626
4627 * util/pc/i386/grub-install.in: Source
4628 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4629
2c55dbc0
RM
46302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4631
4632 Large file support for grub-mkisofs.
4633
4634 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
4635 * util/mkisofs/mkisofs.c (next_extent, last_extent)
4636 (session_start): Upgrade type to `uint64_t'. Update all users.
4637 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
4638 (struct directory_entry): Upgrade type of `starting_block' and
4639 `size' to `uint64_t'. Update all users.
4640 (struct deferred): Remove unused structure.
4641 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
4642 Update all users.
4643 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
4644 file is larger than `UINT32_MAX'.
4645 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
4646 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
4647 return value.
4648 (struct deferred_write): Upgrade type of `extent' and `size' to
4649 `uint64_t'. Update all users.
4650 (last_extent_written): Upgrade type to `uint64_t'. Update all
4651 users.
4652 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
4653 Update all users. Upgrade type of `remain' to `int64_t' and
4654 `use' to `size_t'. Use error() to handle fread() errors.
4655 (write_files): Rely on write_one_file() rather than calling
4656 xfwrite() directly.
4657
6a9cead5
FZ
46582009-11-09 Felix Zielcke <fzielcke@z-51.de>
4659
4660 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
4661
4825d790
RM
46622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4663
4664 * util/mkisofs/fnmatch.c: Remove.
4665 * util/mkisofs/getopt1.c: Likewise.
4666 * util/mkisofs/getopt.c: Likewise.
4667 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
4668 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
4669 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
4670 `gnulib/getopt1.c' and `gnulib/getopt.c'.
4671 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
4672
4673 * configure.ac: Detect `mingw32msvc' host_os.
4674 Check for lstat(), getuid() and getgid().
4675
4676 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
4677 instances of `u_char' with `uint8_t'.
4678
4679 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
4680 [!HAVE_GETUID] (getuid): New function (stub).
4681 [!HAVE_GETGID] (getgid): Likewise.
4682 [!HAVE_LSTAT] (lstat): Likewise.
4683 [!S_IROTH] (S_IROTH): New macro (dummy).
4684 [!S_IRGRP] (S_IRGRP): Likewise.
4685
84b860d8
RM
46862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4687
4688 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
4689 conditional expression).
4690
66e9b712
RM
46912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4692
4693 Import from Gnulib.
4694
4695 * gnulib/fnmatch.c: New file.
4696 * gnulib/fnmatch.h: Likewise.
4697 * gnulib/fnmatch_loop.c: Likewise.
4698 * gnulib/getopt.c: Likewise.
4699 * gnulib/getopt.h: Likewise.
4700 * gnulib/getopt1.c: Likewise.
4701 * gnulib/getopt_int.h: Likewise.
4702 * gnulib/gettext.h: Likewise.
4703
34f4a5b0
RM
47042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4705
4706 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
4707 * normal/handler.c (read_handler_list): Likewise.
4708
ac451143
RM
47092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4710
4711 Misc cleanup.
4712
4713 * kern/command.c (grub_register_command_prio): Use
4714 grub_zalloc() instead of explicitly zeroing data.
4715 * kern/list.c: Include `<grub/mm.h>'.
4716 (grub_named_list_find): Replace `0' with `NULL'.
4717 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
4718 (fs_module_list): Change type to `grub_named_list_t'. Update all
4719 users.
4720 * normal/dyncmd.c (read_command_list): Add space between function
4721 call and parenthesis.
4722 * normal/handler.c (read_handler_list): Likewise.
4723
4089b167
RM
47242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4725
4726 * normal/auth.c (punishment_delay): Moved from here ...
4727 (grub_auth_strcmp): ... to here (inside function).
4728
325f5037
RM
47292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4730
4731 * include/grub/list.h (struct grub_named_list): Remove `const'
4732 qualifier from `name'.
4733 (struct grub_prio_list): Likewise.
4734
7aea29a3
RM
47352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4736
4737 * normal/auth.c: Include `<grub/time.h>'.
4738 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
4739
3fd6f044
RM
47402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4741
4742 * normal/auth.c (punishment_delay): New variable.
4743 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
4744 (grub_auth_check_authentication): Punish failed login attempts with
4745 an incremental (2^N) delay.
4746
a4cd68e4
RM
47472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4748
4749 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
4750 path with $(srcdir).
4751
7ad12f43
VS
47522009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4755
c1129f03
RM
47562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4757
4758 * util/i386/coreboot/grub-mkrescue.in: New file.
4759 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4760 variables.
4761
4762 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4763 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4764 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4765 requirements.
4766 * util/mkisofs/defaults.h: New file.
4767 * util/mkisofs/eltorito.c: Likewise.
4768 * util/mkisofs/exclude.h: Likewise.
4769 * util/mkisofs/fnmatch.c: Likewise.
4770 * util/mkisofs/getopt.c: Likewise.
4771 * util/mkisofs/getopt1.c: Likewise.
4772 * util/mkisofs/hash.c: Likewise.
4773 * util/mkisofs/include/fctldefs.h: Likewise.
4774 * util/mkisofs/include/mconfig.h: Likewise.
4775 * util/mkisofs/include/prototyp.h: Likewise.
4776 * util/mkisofs/include/statdefs.h: Likewise.
4777 * util/mkisofs/iso9660.h: Likewise.
4778 * util/mkisofs/joliet.c: Likewise.
4779 * util/mkisofs/match.c: Likewise.
4780 * util/mkisofs/match.h: Likewise.
4781 * util/mkisofs/mkisofs.c: Likewise.
4782 * util/mkisofs/mkisofs.h: Likewise.
4783 * util/mkisofs/multi.c: Likewise.
4784 * util/mkisofs/name.c: Likewise.
4785 * util/mkisofs/rock.c: Likewise.
4786 * util/mkisofs/tree.c: Likewise.
4787 * util/mkisofs/write.c: Likewise.
4788
ec8bb77d
VS
47892009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4792 being insecure.
4793
3716b12c
RM
47942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4795
4796 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4797 `grub-mkimage' (and use $0 when possible).
4798
b97b7b91
RM
47992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4800
4801 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4802 error message for excessively large memory map.
4803
04114812
RM
48042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4805
4806 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4807 executable bit.
4808
e4eb2373
RM
48092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4810
4811 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4812 message for coreboot users.
4813
c926e1d5 48142009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4815
4816 Fix build with GNU gold.
4817
4818 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4819 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4820 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4821 link addresses.
4822 * aclocal.m4: Likewise.
4823
86e5b1db 48242009-11-04 Felix Zielcke <fzielcke@z-51.de>
4825
4826 * configure.ac (AC_PREREQ): Bump to 2.59d.
4827 * INSTALL: Make it more clear when Autoconf and Ruby are
4828 needed and when to run `./autogen.sh'.
4829
246cd78f 48302009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4831
4832 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4833 OSes.
4834
4f9dfb37 48352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4836
4837 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4838
b82bd5e1 48392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4840
4841 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4842 giving it to GNU Mach.
4843
ff1a9bca 48442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4845
4846 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4847 GNU partition number to get internal GRUB partition number.
4848
61697d9c 48492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4850
4851 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4852 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4853
a50569e1 48542009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4855
4856 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4857 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4858 case.
4859
5b153867 48602009-11-01 Felix Zielcke <fzielcke@z-51.de>
4861
4862 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4863
d9e2cd70 48642009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4865
4866 Fix build problem.
4867
4868 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4869 `-isystem=$(srcdir)/include'.
4870
805111a4 48712009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4872
4873 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4874 checked (grub-install doesn't currently rely on it).
4875
fa6e945f 48762009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4877
4878 Revert SVN r2660.
4879
4880 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4881 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4882 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4883 * conf/i386-ieee1275.rmk: Likewise.
4884 * conf/i386-pc.rmk: Likewise.
4885 * conf/powerpc-ieee1275.rmk: Likewise.
4886 * conf/sparc64-ieee1275.rmk: Likewise.
4887 * conf/x86_64-efi.rmk: Likewise.
4888
cee15086 48892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4890
4891 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4892
95b9239e 48932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4894
4895 * include/grub/misc.h: Stop checking for APPLE_CC.
4896
2ed19dfd 48972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4898
4899 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4900 doesn't cause an infinite call loop.
4901
fdcdde19 49022009-10-28 Felix Zielcke <fzielcke@z-51.de>
4903
4904 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4905 strings.
4906
cefabfe1 49072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4908
4909 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4910 variable.
4911 * Makefile.in: Likewise.
4912
ed96ab6d 49132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4914
4915 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4916
0579b753 49172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4918
4919 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4920
478df409 49212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4922
4923 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
4924
083d1679 49252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4926
4927 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
4928 from here ...
4929 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
4930
5947ae32 49312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4932
4933 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
4934 in $(MAKEINFO) invocation. This makes it clear in output that
4935 errors are being ignored.
4936
94180ff6 49372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4938
4939 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
4940 from here ...
4941 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4942 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4943 * conf/i386-ieee1275.rmk: Likewise.
4944 * conf/i386-pc.rmk: Likewise.
4945 * conf/powerpc-ieee1275.rmk: Likewise.
4946 * conf/sparc64-ieee1275.rmk: Likewise.
4947 * conf/x86_64-efi.rmk: Likewise.
4948
9031b03a 49492009-10-26 Colin Watson <cjwatson@ubuntu.com>
4950
4951 * util/grub-editenv.c (main): If only a command is given, use
4952 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4953 (usage): FILENAME is now optional and has a default.
4954
e4f6809b 49552009-10-26 Colin Watson <cjwatson@ubuntu.com>
4956
4957 Improve grub-mkconfig performance when there are several menu
4958 entries on a single filesystem.
4959
4960 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4961 prepare_grub_to_access_device.
4962 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4963 * util/grub.d/30_os-prober.in: Likewise.
4964
67937d4d 49652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4966
4967 * util/grub.d/10_freebsd.in: Remove.
4968 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4969 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4970
ee3756cc 49712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4972
5c35048e 4973 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4974
4dea1c6f 49752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4976
4977 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4978 grub_util_error() call.
4979
042484d7 49802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4981
4982 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4983 `reserved_first_sector' member.
4984 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4985 `reserved_first_sector' to 1.
4986 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4987 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4988 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4989 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4990 filesystems which begin at first sector.
4991 (options): New option --skip-fs-probe.
4992 (main): Handle --skip-fs-probe and pass it to setup().
4993
d64448a7 49942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4995
4996 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4997 (memset): Fix function prototype.
4998
508d42ec 49992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
50002009-10-25 Vasily Averin <vvs@parallels.com>
5001
5002 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
5003 `dirent.direntlen == 0'.
5004
b240e30c 50052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5006
5007 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
5008 `cpio'.
5009 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
5010
346e7fbe 50112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5012
5013 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
5014 `__trampoline_setup' and `__ucmpdi2'.
5015 * include/grub/powerpc/libgcc.h: Only export symbols for functions
5016 that libgcc provides.
5017
cdb308b0 50182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5019
5020 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5021 * include/grub/sparc64/libgcc.h (memset): Likewise.
5022 * include/grub/misc.h (memset, memcmp): New function prototypes.
5023
fb26abc2 50242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5025
5026 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5027 `cpio'.
5028 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5029
f6693890 50302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5031
5032 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5033 * docs/grub.cfg: Compensate for recent change in multiboot
5034 loader (since 2009-08-14 it won't pass filename to payload).
5035 * util/grub.d/10_hurd.in: Likewise.
5036
0933cdc0 50372009-10-21 Felix Zielcke <fzielcke@z-51.de>
5038
5039 * config.guess: Update to latest version from config git
5040 repository.
5041 * config.sub: Likewise.
5042
3b2fe8c2 50432009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5044
5045 Fix build on sparc64.
5046
5047 * configure.ac: Perform checks for libgcc symbols before
5048 adding `-nostdlib' to LDFLAGS.
5049
46695a62 50502009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 Let user specify OpenBSD root device.
5053
5054 * loader/i386/bsd.c (openbsd_root): New variable.
5055 (openbsd_opts): New option 'root'.
5056 (OPENBSD_ROOT_ARG): New macro.
5057 (grub_openbsd_boot): Use 'openbsd_root'.
5058 (grub_cmd_openbsd): Fill 'openbsd_root'.
5059
d2b6b7fc 50602009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5061
5062 * NEWS: Misc adjustments.
5063
421bd7ac 50642009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5067
f1d29d87 50682009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5069
5070 * configure.ac: Bump version to 1.97.
5071
6f3cd880 50722009-10-16 Colin Watson <cjwatson@ubuntu.com>
5073
5074 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5075 -mno-3dnow on x86 architectures. Some toolchains enable these
5076 features by default, but they rely on registers that aren't enabled
5077 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5078
035f7122 50792009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5080
5081 Make entry text a bit more readable.
5082
5083 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5084
44998e58 50852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5088
cd2851b3 50892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5092 operations.
5093
c6f3b249 50942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * configure.ac: Add missing dollar.
5097
6b5886ba 50982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5101
5102 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5103 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5104 exports.
5105 * include/grub/sparc64/libgcc.h: Likewise. Use
5106 preprocessor conditionals.
5107
e9d66f6d 51082009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5109
5110 * conf/common.rmk (grub-dumpbios): Remove rule.
5111 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5112 * util/grub-dumpbios.in: Remove file.
5113
9155bc17 51142009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5115
5116 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5117 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5118
5119 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5120 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5121 users.
5122
5123 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5124 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5125 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5126 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5127 users.
5128
bf7f7a18 51292009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5130
5131 * term/tparm.c: Switch to GPLv3.
5132
86564c26 51332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5134
5135 * include/grub/i386/cpuid.h: Add header protection.
5136
5c936493 51372009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5138
5139 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5140
5141 * include/grub/i386/cpuid.h: New file.
5142 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5143 (has_longmode): Rename to ...
5144 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5145 `static' attribute.
5146 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5147 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5148 on a CPU that doesn't implement AMD64 instruction set.
5149
186e7cf2 51502009-10-06 Colin Watson <cjwatson@ubuntu.com>
5151
5152 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5153 that version.texi is rebuilt on version number changes.
5154
83b65c4a 51552009-10-06 Colin Watson <cjwatson@ubuntu.com>
5156
5157 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5158 Fixes bug #27602.
5159
d244281c 51602009-10-06 Colin Watson <cjwatson@ubuntu.com>
5161
5162 * util/i386/pc/grub-install.in: Source
5163 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5164 that the --grub-probe option will work.
5165 * util/sparc64/ieee1275/grub-install.in: Likewise.
5166
da25306d 51672009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5168
5169 * configure.ac: Bump version to 1.97~beta4.
5170
e8ee83c0 51712009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5172
5173 Resync grub-mkdevicemap in x86_64-efi.
5174
5175 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5176 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5177 `util/devicemap.c'.
5178
50dcabcf 51792009-10-01 Colin Watson <cjwatson@ubuntu.com>
5180
5181 * util/grub-editenv.c (create_envblk_file): Write new block with a
5182 .new suffix and then rename it into place, to ensure atomic
5183 creation.
5184
0e51c3a7 51852009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5186
5187 Do not automatically install headers.
5188
5189 * Makefile.in (include_DATA): Remove. Update all users.
5190
31299a95 51912009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5192
5193 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5194 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5195
5196 * util/osdetect.lua: Remove.
5197 * script/lua/lauxlib.c: Likewise.
5198 * script/lua/ldebug.c: Likewise.
5199 * script/lua/grub_main.c: Likewise.
5200 * script/lua/lauxlib.h: Likewise.
5201 * script/lua/ldebug.h: Likewise.
5202 * script/lua/ltablib.c: Likewise.
5203 * script/lua/liolib.c: Likewise.
5204 * script/lua/lstrlib.c: Likewise.
5205 * script/lua/lualib.h: Likewise.
5206 * script/lua/ldo.c: Likewise.
5207 * script/lua/ldump.c: Likewise.
5208 * script/lua/ldo.h: Likewise.
5209 * script/lua/loslib.c: Likewise.
5210 * script/lua/lundump.c: Likewise.
5211 * script/lua/grub_lib.c: Likewise.
5212 * script/lua/ldblib.c: Likewise.
5213 * script/lua/lundump.h: Likewise.
5214 * script/lua/lmem.c: Likewise.
5215 * script/lua/grub_lib.h: Likewise.
5216 * script/lua/lmathlib.c: Likewise.
5217 * script/lua/lstate.c: Likewise.
5218 * script/lua/ltm.c: Likewise.
5219 * script/lua/lvm.c: Likewise.
5220 * script/lua/lmem.h: Likewise.
5221 * script/lua/lstate.h: Likewise.
5222 * script/lua/ltm.h: Likewise.
5223 * script/lua/ltable.c: Likewise.
5224 * script/lua/lvm.h: Likewise.
5225 * script/lua/llex.c: Likewise.
5226 * script/lua/lgc.c: Likewise.
5227 * script/lua/grub_lua.h: Likewise.
5228 * script/lua/loadlib.c: Likewise.
5229 * script/lua/lfunc.c: Likewise.
5230 * script/lua/lopcodes.c: Likewise.
5231 * script/lua/lparser.c: Likewise.
5232 * script/lua/ltable.h: Likewise.
5233 * script/lua/llex.h: Likewise.
5234 * script/lua/lgc.h: Likewise.
5235 * script/lua/lfunc.h: Likewise.
5236 * script/lua/lbaselib.c: Likewise.
5237 * script/lua/lopcodes.h: Likewise.
5238 * script/lua/lparser.h: Likewise.
5239 * script/lua/lzio.c: Likewise.
5240 * script/lua/linit.c: Likewise.
5241 * script/lua/lobject.c: Likewise.
5242 * script/lua/llimits.h: Likewise.
5243 * script/lua/lstring.c: Likewise.
5244 * script/lua/lzio.h: Likewise.
5245 * script/lua/lapi.c: Likewise.
5246 * script/lua/lcode.c: Likewise.
5247 * script/lua/lua.h: Likewise.
5248 * script/lua/lobject.h: Likewise.
5249 * script/lua/lstring.h: Likewise.
5250 * script/lua/lapi.h: Likewise.
5251 * script/lua/lcode.h: Likewise.
5252 * script/lua/luaconf.h: Likewise.
5253
cb8a2c38 52542009-09-26 Colin Watson <cjwatson@ubuntu.com>
5255
5256 * docs/grub.texi (Command-line and menu entry commands): Document
5257 date and echo commands.
5258
6b9b6276 52592009-09-24 Pavel Roskin <proski@gnu.org>
5260
5261 * include/grub/kernel.h (struct grub_module_header): Remove
5262 `grub_module_header_types'. Make `type' unsigned. Make `size'
5263 32-bit on all platforms.
5264 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5265 8-bit field. Use grub_host_to_target32() for `size'.
5266 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5267 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5268 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5269
4e5a02a7 52702009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5271
5272 Fix "lost keypress" bug in at_keyboard.
5273
5274 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5275 Checks for readyness of input buffer (without flushing it).
5276 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5277 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5278
c6dcedf6 52792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5280
5281 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5282 size check within GRUB_MACHINE_PCBIOS section.
5283
74c958b1 52842009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5285
5286 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5287 return value.
5288 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5289 KEYBOARD_ISREADY check.
5290 (grub_at_keyboard_checkkey): Rename to ...
5291 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5292 Remove gratuitous cast.
5293
ff420223 52942009-09-23 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * configure.ac: Call AC_PROG_MKDIR_P.
5297 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5298 version.texi in $(builddir) rather than $(srcdir).
5299 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5300 to makeinfo's @include search path.
5301
d96875df 53022009-09-23 Felix Zielcke <fzielcke@z-51.de>
5303
5304 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5305
9b3f8365 53062009-09-23 Felix Zielcke <fzielcke@z-51.de>
5307
5308 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5309 for `*.dpkg-new'.
5310
c44c90db 53112009-09-21 Colin Watson <cjwatson@ubuntu.com>
5312
5313 Build info documentation. Some code borrowed from Automake.
5314
5315 * configure.ac: Check for makeinfo.
5316 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5317 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5318 docs/version.texi.
5319 (MOSTLYCLEANFILES): Add vti.tmp.
5320 (docs/version.texi, docs/stamp-vti): Update automatically.
5321 (docs/grub.info): Build info documentation. Use --force and ignore
5322 errors for now.
5323 (all-local): Add $(INFOS).
5324 (install-local): Install info files.
5325 (uninstall): Uninstall info files.
5326 * docs/version.texi: Remove from revision control. This file is
5327 automatically generated on build now.
5328 * gendistlist.sh: Add `*.info'.
5329
e0b37bb5 53302009-09-21 Felix Zielcke <fzielcke@z-51.de>
5331
5332 * kern/term.c: Fix indentation.
5333
5a78865b 53342009-09-21 Felix Zielcke <fzielcke@z-51.de>
5335
5336 * util/hostdisk.c: Fix a comment.
5337
dace7e8a 53382009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5339
5340 Fix regression introduced in r2539.
5341
5342 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5343 to 0xA1.
5344
a83d079b 53452009-09-19 Colin Watson <cjwatson@ubuntu.com>
5346
5347 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5348 os-prober. Under normal operation, it does not print anything to
5349 stderr; if it does, we need to debug it, and throwing away stderr
5350 makes that excessively difficult.
a83d079b 5351
be94a509 53522009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5355
63f745e8 53562009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5357
5358 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5359 AC_LANG_PROGRAM from autoconf.
5360 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5361 prototypes (fixes warning).
5362
5363 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5364 `--disable-werror' was used.
5365
bbb2a70f 53662009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5367
5368 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5369 uninitialized `lastaddr'.
5370
77c24f1d 53712009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5372
0f0b8c87 5373 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5374
07197f23 53752009-09-14 Colin Watson <cjwatson@ubuntu.com>
5376
5377 * commands/test.c (get_fileinfo): Return immediately if
5378 grub_fs_probe fails.
5379
dabf1798 53802009-09-14 José Martínez <xosemp@gmail.com>
5381
5382 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5383
d52109a7 53842009-09-14 Colin Watson <cjwatson@ubuntu.com>
5385
5386 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5387 output.
5388
56532179 53892009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5390
5391 * configure.ac: Remove --enable-grub-pe2elf. Only build
5392 grub-pe2elf when needed by the build system itself.
5393 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5394
8ef070f5 53952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5396
5397 * configure.ac: Bump version to 1.97~beta3.
5398 * docs/version.texi: Likewise.
5399
61229557 54002009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5401
5402 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5403 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5404 from here ...
5405 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5406 (grub_linux_setup_video): ... to here (with some adjustments).
5407
5c9f8d84 54082009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5409
5410 Fix memory corruption issue (spotted by Colin Watson).
5411
5412 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5413 causing returned size to be stored in an incorrect memory location.
5414 Fix use of uninitialized value when storing the returned size.
5415
e8f5d6e9 54162009-09-12 Yves Blusseau <blusseau@zetam.org>
5417
5418 Change clean rules to properly remove files
5419
5420 * genmk.rb: add new clean rules
5421 * Makefile.in (clean): add the new targets
5422 (mostlyclean): likewise
5423
cda2a409 54242009-09-11 Colin Watson <cjwatson@ubuntu.com>
5425
5426 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5427 to grub_uint64_t.
5428 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5429 non-resident files.
5430
86695375 54312009-09-11 Colin Watson <cjwatson@ubuntu.com>
5432
5433 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5434 part of bug #27349.
5435
8aa1541a 54362009-09-10 Felix Zielcke <fzielcke@z-51.de>
5437
5438 * util/grub-mkconfig.in: Make the created config mode 400 and
5439 print a warning if it fails.
5440
48d9bb0a 54412009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5442
5443 * util/grub.d/40_custom.in: Ask user to type custom entries below
5444 comment, rather than below 'exec tail' line.
5445
3b0521be 54462009-09-10 Colin Watson <cjwatson@ubuntu.com>
5447
5448 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5449 visible in grub.cfg.
5450
50051d55 54512009-09-10 Colin Watson <cjwatson@ubuntu.com>
5452
5453 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5454 file.
5455
c0d34387 54562009-09-10 Felix Zielcke <fzielcke@z-51.de>
5457
5458 * docs/grub.cfg: Add an example menu entry for memtest86+.
5459
80a608f3 54602009-09-09 Felix Zielcke <fzielcke@z-51.de>
5461
a2094832 5462 * config.guess: Update to latest version from config git.
80a608f3 5463 * config.sub: Likewise.
5464
99423078 54652009-09-08 Colin Watson <cjwatson@ubuntu.com>
5466
5467 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
5468 unknown-command case. Fixes bug #27320.
5469
44454e4c 54702009-09-08 Felix Zielcke <fzielcke@z-51.de>
5471
5472 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
5473 `help' if the command exists.
5474
e30d87ad 54752009-09-06 Robert Millan <rmh.grub@aybabtu.com>
5476
5477 * INSTALL: Require GCC 4.1.3 or later.
5478
9a86f1ec 54792009-09-06 Yves Blusseau <blusseau@zetam.org>
5480
5481 * Makefile.in (RMKFILES): add i386-qemu.rmk
5482 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
5483 $(srcdir)/stamp-h.in
5484
7f26d466 54852009-09-05 Robert Millan <rmh.grub@aybabtu.com>
5486
5487 * util/grub-probe.c (probe): Comment out buggy codepath, which
5488 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
5489 should be re-enabled after 1.97.
5490
3a613259 54912009-09-05 Felix Zielcke <fzielcke@z-51.de>
5492
5493 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
5494 find searches for.
5495
197f76c7 54962009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
5499 unnecessary calls to grub_error.
5500
70ba68ce 55012009-09-04 Colin Watson <cjwatson@ubuntu.com>
5502
5503 * NEWS: Mention `keystatus' and Unicode fonts.
5504
4ff0d7a4 55052009-09-04 Robert Millan <rmh.grub@aybabtu.com>
5506
5507 * configure.ac: Bump version to 1.97~beta2.
5508 * docs/version.texi: Likewise.
5509
77c55a87 55102009-09-03 Colin Watson <cjwatson@ubuntu.com>
5511
5512 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
5513 containing unwind information in some cases where it previously did
5514 not. Use -fno-dwarf2-cfi-asm if available to restore the old
5515 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
5516 discussion.
5517
f79572cd 55182009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
5519
5520 Embedding loadenv module into grub-emu
5521
5522 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
5523 commands/loadenv.c
5524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
5525 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
5526 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
5527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
5528 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
5529 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
5530
93a81088 55312009-09-03 Magnus Granberg <zorry@ume.nu>
5532
5533 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
5534 include -fPIE in the default specs.
5535 * configure.ac: Check if pie_possible is yes and add -fno-PIE
5536 to TARGET_CFLAGS.
5537
160034b2 55382009-09-03 Felix Zielcke <fzielcke@z-51.de>
5539
5540 * INSTALL: Note that GNU Bison 2.3 or later is required.
5541
087c07c4 55422009-09-03 Colin Watson <cjwatson@ubuntu.com>
5543
5544 * kern/i386/pc/startup.S: Fix typo.
5545
cbf978c0 55462009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
5549 according to GCS.
5550
55512009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 5552
5553 * docs/grub.texi (Naming convention): Describe one-based partition
5554 numbering.
5555 (Device syntax): Likewise.
5556 (File name syntax): Likewise.
5557 (Block list syntax): Likewise.
5558 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
5559 menu.lst.
5560 (File name syntax): Likewise.
5561 (Command-line and menu entry commands): Document acpi, blocklist,
5562 crc, export, insmod, keystatus, ls, set, and unset commands.
5563
f3e8cdfd 55642009-09-02 Colin Watson <cjwatson@ubuntu.com>
5565
5566 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
5567 to avoid implying that only one of --shift, --ctrl, or --alt may be
5568 used.
5569
c0bc232b 55702009-09-02 Colin Watson <cjwatson@ubuntu.com>
5571
5572 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
5573 rather than comparing against S_IFREG, which will almost never work.
5574
aa0f752d 55752009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
5578 (write_blocklists): Likewise.
5579
ecb3166a 55802009-09-01 Colin Watson <cjwatson@ubuntu.com>
5581
5582 * script/lua/grub_lua.h (fputs): Supply a format string as the first
5583 argument to grub_printf.
5584
c403a125 55852009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 5586
5587 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 5588 non GNU test.
31aba781 5589
b5e7312c 55902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * kern/file.c (grub_file_read): Spelling fix
5593
fe00f472 55942009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
5597 loading of headers in some cases.
5598
cc55302e 55992009-08-30 Robert Millan <rmh.grub@aybabtu.com>
5600
5601 * configure.ac: Bump version to 1.97~beta1.
5602 * docs/version.texi: Likewise.
5603
5c90cdd2 56042009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 5605
5606 * include/grub/i386/xnu.h: Add license header.
5607 include grub/err.h explicitly.
5608
c90edae4 56092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5610
5611 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
5612 to `ufs' in the vfs.root.mountfrom kernel parameter.
5613
d8888b5c 56142009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5615
5616 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
5617
5618 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
5619 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
5620
5621 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
5622 `ARRAY_SIZE' macro.
5623
6f07b921 56242009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * kern/file.c (grub_file_read): Check offset.
5627 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
5628 * fs/jfs.c (grub_jfs_read_file): Likewise.
5629 * fs/ntfs.c (grub_ntfs_read): Likewise.
5630 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
5631 * fs/minix.c (grub_minix_read_file): Correct offset check.
5632 * fs/ufs.c (grub_ufs_read_file): Likewise.
5633
b4f34077 56342009-08-28 Colin Watson <cjwatson@ubuntu.com>
5635
5636 * term/i386/pc/console.c (bios_data_area): Cast
5637 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
5638
e7c69859 56392009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 1-bit optimised blitters.
5642
5643 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
5644 prototype.
5645 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5646 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5647 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5648 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5649 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5650 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5651 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
5652 function.
5653 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5654 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5655 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5656 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5657 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5658 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5659 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
5660 when possible.
5661 * video/video.c (grub_video_get_blit_format): Return
5662 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
5663
a57da43f 56642009-08-28 Colin Watson <cjwatson@ubuntu.com>
5665
5666 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
5667 the first argument to grub_printf.
5668
4cbe67e5 56692009-08-28 Colin Watson <cjwatson@ubuntu.com>
56702009-08-28 Robert Millan <rmh.grub@aybabtu.com>
5671
5672 Add `getkeystatus' terminal method. Add a new `keystatus' command
5673 to query it.
5674
5675 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
5676 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
5677 modifier key bitmasks.
5678 (struct grub_term_input): Add `getkeystatus' member.
5679 (grub_getkeystatus): Add prototype.
5680 * kern/term.c (grub_getkeystatus): New function.
5681
5682 * include/grub/i386/pc/memory.h
5683 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
5684 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
5685 Data Area layout.
5686 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
5687 (grub_console_term_input): Set `getkeystatus' member.
5688 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
5689 constants.
5690 (grub_usb_keyboard_getreport): Likewise.
5691 (grub_usb_keyboard_checkkey): Likewise.
5692 (grub_usb_keyboard_getkeystatus): New function.
5693 (grub_usb_keyboard_term): Set `getkeystatus' member.
5694
5695 * commands/keystatus.c: New file.
5696 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
5697 (keystatus_mod_SOURCES): New variable.
5698 (keystatus_mod_CFLAGS): Likewise.
5699 (keystatus_mod_LDFLAGS): Likewise.
5700 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
5701 commands/keystatus.c.
5702 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5704 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5706 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5707 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 5708
6e2a9085 57092009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 Split befs.mod and afs.mod into *_be.mod and *.mod
5712
5713 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
5714 (grub_fstest_SOURCES): Likewise.
5715 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
5716 (afs_be_mod_SOURCES): New variable.
5717 (afs_be_mod_CFLAGS): Likewise.
5718 (afs_be_mod_LDFLAGS): Likewise.
5719 (befs_be_mod_SOURCES): Likewise.
5720 (befs_be_mod_CFLAGS): Likewise.
5721 (befs_be_mod_LDFLAGS): Likewise.
5722 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
5723 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5724 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5725 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5726 (grub_emu_SOURCES): Likewise.
5727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5729 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5730 * fs/afs_be.c: New file.
5731 * fs/befs_be.c: New file.
5732 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
5733 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
5734 (U16): Replaced with ...
5735 (grub_afs_to_cpu16): ...this. All users updated.
5736 (U32): Replaced with ...
5737 (grub_afs_to_cpu32): ...this. All users updated.
5738 (U64): Replaced with ...
5739 (grub_afs_to_cpu64): ...this. All users updated.
5740 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
5741 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 5742 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 5743 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5744 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5745 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5746 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5747 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5748 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5749 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5750 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5751
32a71655 57522009-08-26 Bean <bean123ch@gmail.com>
5753
5754 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5755 64-bit number.
5756 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5757 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5758 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5759
552bf6c5 57602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 NetBSD memory map support.
5763
5764 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5765 (grub_netbsd_btinfo_mmap_header): New structure.
5766 (grub_netbsd_btinfo_mmap_entry): Likewise.
5767 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5768
1ae2078c 57692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 Enable bsd.mod on coreboot.
5772
5773 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5774 (bsd_mod_SOURCES): New variable.
5775 (bsd_mod_CFLAGS): Likewise.
5776 (bsd_mod_LDFLAGS): Likewise.
5777 (bsd_mod_ASFLAGS): Likewise.
5778 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5779 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5780
beefc598 57812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 Cleanup NetBSD root support.
5784
5785 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5786 grub_bsd_get_device.
5787 Fix typo.
5788
3b76e68b 57892009-08-25 Felix Zielcke <fzielcke@z-51.de>
5790
5791 * util/grub.d/00_header.in: Move check for the video backend of
5792 gfxterm from here ...
5793 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5794 a suitable video backend.
5795
aea664ea 57962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 Fix breakage in grub-setup.
5799
5800 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5801 "msdos_partition_map".
5802
ff747d50 58032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 Fix breakage in normal/auth.c.
5806
5807 * normal/auth.c (grub_iswordseparator): New function.
5808
e7e1f93f 58092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Authentication support.
5812
5813 * commands/password.c: New file.
5814 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5815 (password_mod_SOURCES): New variable.
5816 (password_mod_CFLAGS): Likewise.
5817 (password_mod_LDFLAGS): Likewise.
5818 (normal_mod_SOURCES): Add normal/auth.c.
5819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5820 normal/auth.c.
5821 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5823 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5825 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5826 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5827 * include/grub/auth.h: New file.
5828 * include/grub/err.h (grub_err_t): New enum value
5829 GRUB_ERR_ACCESS_DENIED.
5830 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5831 'users'.
5832 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5833 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5834 users updated.
5835 * normal/auth.c: New file.
5836 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5837 (grub_cmdline_run): Don't allow to go to command line without
5838 authentication.
5839 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5840 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5841 menuentry without superuser rights.
5842 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5843 user isn't a superuser.
5844
70f1161d 58452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 Save space by inlining misc.c functions.
5848
5849 * kern/misc.c (grub_iswordseparator): Made static.
5850 * kern/misc.c (grub_strcat): Moved from here ...
5851 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5852 * kern/misc.c (grub_strncat): Moved from here ...
5853 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5854 * kern/misc.c (grub_strcasecmp): Moved from here ...
5855 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5856 * kern/misc.c (grub_strncasecmp): Moved from here ...
5857 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5858 * kern/misc.c (grub_isalpha): Moved from here ...
5859 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5860 * kern/misc.c (grub_isdigit): Moved from here ...
5861 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5862 * kern/misc.c (grub_isgraph): Moved from here ...
5863 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5864 * kern/misc.c (grub_tolower): Moved from here ...
5865 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5866
48e40bff 58672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * script/sh/function.c (grub_script_function_find): Cut error message
5870 not to flood terminal.
5871 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5872 limit.
5873 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5874
c385bfc3 58752009-08-24 Colin Watson <cjwatson@ubuntu.com>
5876
5877 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5878 `report' grub_uint8_t *.
5879 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5880 Use a 50-millisecond timeout rather than just repeating
5881 grub_usb_keyboard_getreport 50 times.
5882 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5883
2d21e3e8 58842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 Rename *_partition_map to part_*
5887
5888 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5889 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5890 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5891 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5892 All users updated.
5893 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5894 All users updated.
5895 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5896 * util/grub-probe.c (probe_partmap): Don't transform partition name
5897 to get module name.
5898
dd103c4e 58992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Fix OpenBSD and NetBSD support.
5902
5903 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5904 memory address conflict.
5905 (OPENBSD_MMAP_ACPI): New definition.
5906 (OPENBSD_MMAP_NVS): Likewise.
5907 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5908 and OPENBSD_MMAP_NVS.
5909 Add memory map terminator
5910 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 5911 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 5912
16c84d74 59132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Let user specify NetBSD root device.
5916
5917 * loader/i386/bsd.c (netbsd_root): New variable.
5918 (netbsd_opts): New option 'root'.
5919 (NETBSD_ROOT_ARG): New macro.
5920 (grub_netbsd_boot): Use 'netbsd_root'.
5921 (grub_bsd_unload): Free 'netbsd_root'.
5922 (grub_cmd_netbsd): Fill 'netbsd_root'.
5923
adb29902 59242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Support for 64-bit NetBSD.
5927
5928 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
5929 point when booting non-FreeBSD.
5930
f5ae9f74 59312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 Support --no-smp and --no-acpi for NetBSD.
5934
5935 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
5936 (NETBSD_AB_NOACPI): Likewise.
5937 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
5938 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
5939
de74f136 59402009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5943 errors.
5944 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5945 errors. Call grub_error when needed.
5946
e9a925da 59472009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * commands/search.c (search_fs): Try searching without autoload first.
5950 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5951 filesystem module explicitly for faster booting.
5952
5174302b 59532009-08-23 Colin Watson <cjwatson@ubuntu.com>
5954
5955 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5956
c8c80635 59572009-08-23 Colin Watson <cjwatson@ubuntu.com>
5958
5959 * util/grub.d/30_os-prober.in: Disable os-prober if
5960 `GRUB_DISABLE_OS_PROBER' was set to true.
5961
71acf5e5 59622009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5963
5964 * partmap/pc.c: Rename to ...
5965 * partmap/msdos.c: ... this. Update all users.
5966 (grub_pc_partition_map): Rename to ...
5967 (grub_msdos_partition_map): ... this. Update all users.
5968
5969 * parttool/pcpart.c: Rename to ...
5970 * parttool/msdospart.c: ... this. Update all users.
5971
5972 * include/grub/pc_partition.h: Rename to ...
5973 * include/grub/msdos_partition.h: ... this. Update all users.
5974 (grub_pc_partition_bsd_entry): Rename to ...
5975 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5976 (grub_pc_partition_disk_label): Rename to ...
5977 (grub_msdos_partition_disk_label): ... this. Update all users.
5978 (grub_pc_partition_entry): Rename to ...
5979 (grub_msdos_partition_entry): ... this. Update all users.
5980 (grub_pc_partition_mbr): Rename to ...
5981 (grub_msdos_partition_mbr): ... this. Update all users.
5982 (grub_pc_partition): Rename to ...
5983 (grub_msdos_partition): ... this. Update all users.
5984 (grub_pc_partition_is_empty): Rename to ...
5985 (grub_msdos_partition_is_empty): ... this. Update all users.
5986 (grub_pc_partition_is_extended): Rename to ...
5987 (grub_msdos_partition_is_extended): ... this. Update all users.
5988 (grub_pc_partition_is_bsd): Rename to ...
5989 (grub_msdos_partition_is_bsd): ... this. Update all users.
5990
5991 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5992 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5993 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5994 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5995 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5996 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5997 (gpt_mod_LDFLAGS): Rename to ...
5998 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5999 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
6000 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
6001 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
6002 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
6003 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
6004 (part_gpt_mod_LDFLAGS): ... this.
6005 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
6006 `pcpart.mod' to `msdospart.mod'.
6007 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
6008 to ...
6009 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
6010 (msdospart_mod_LDFLAGS): ... this.
6011
c11fded5 60122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
6015 (openbsd_opts): Likewise.
6016 (netbsd_opts): Likewise.
6017 (freebsd_flags): Added 0 terminator.
6018 (openbsd_flags): Likewise.
6019 (netbsd_flags): Likewise.
6020 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6021 (grub_cmd_freebsd): Transformed into extended command.
6022 (grub_cmd_openbsd): Likewise.
6023 (grub_cmd_netbsd): Likewise.
6024 (cmd_freebsd): Changed type to grub_extcmd_t.
6025 (cmd_openbsd): Likewise.
6026 (cmd_netbsd): Likewise.
6027 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6028 grub_cmd_openbsd as extended commands.
6029 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6030 cmd_netbsd and cmd_openbsd
6031
11d1c769 60322009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6035
7a9094e5 60362009-08-21 Pavel Roskin <proski@gnu.org>
6037
5496c37e 6038 * Makefile.in (install-local): When checking if a file is in the
6039 build directory, use "test -e" to detect symlinks.
6040
7a9094e5 6041 * Makefile.in (install-local): Remove all files in
6042 $(DESTDIR)$(pkglibdir) before installing new files there.
6043
e53cea11 60442009-08-18 Felix Zielcke <fzielcke@z-51.de>
6045
6046 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6047 grub-mkelfimage.
6048
9aced544 60492009-08-18 Felix Zielcke <fzielcke@z-51.de>
6050
6051 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6052 explicitly specified by the user.
6053
b7da6bab 60542009-08-18 Pavel Roskin <proski@gnu.org>
6055
6056 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6057 grub_uint8_t pointer for data.
6058 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6059 Likewise.
6060 * video/fb/fbutil.c: Remove unnecessary casts.
6061
19f1b335 60622009-08-17 Michal Suchanek <hramrach@centrum.cz>
6063
6064 VBE cleanup.
6065
6066 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6067 (grub_vbe_set_video_mode): Save active mode info
6068 only after setting the mode.
6069 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6070 second argument.
6071
2f467aa9 60722009-08-17 Michal Suchanek <hramrach@centrum.cz>
6073
6074 Rename variables for clarity.
6075
6076 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6077 (active_vbe_mode_info): ... this. All users updated.
6078 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6079 All users updated.
6080 (initial_mode): Rename to ...
6081 (initial_vbe_mode): ... this. All users updated.
6082 (mode_in_use): Rename to ..
6083 (vbe_mode_in_use): ... this. All users updated.
6084 (mode_list): Rename to ..
6085 (vbe_mode_list): ... this. All users updated.
6086 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6087 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6088 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6089 'mode_list_size' to 'vbe_mode_list_size'.
6090 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6091 'best_mode_info' to 'best_vbe_mode_info' and
6092 'best_mode' to 'best_vbe_mode'
6093
6025fcd7 60942009-08-17 Michal Suchanek <hramrach@centrum.cz>
6095
6096 Remove duplicate grub_video_fb_get_video_ptr.
6097
6098 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6099 (grub_video_fb_get_video_ptr): ... this.
6100 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6101 * video/fb/fbutil.c: Add comment about addressing.
6102 (get_data_ptr): Rename to ...
6103 (grub_video_fb_get_video_ptr): ... this. All users updated.
6104 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6105
cc8c6faf 61062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6107
6108 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6109 grub_dprintf() that was just added.
6110
08aa61f0 61112009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6112
6113 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6114 (DEFAULT_VIDEO_MODE): Remove macros.
6115 (grub_linux_boot): Remove assumption that Linux has FB support,
6116 and use "text" as default video mode.
6117
7cef4f75 61182009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6121 grub_dprintf.
6122 * fs/fat.c (grub_fat_read_data): Likewise.
6123
e1f39873 61242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6127 payload.
6128 (grub_module): Likewise.
6129
c166d79e 61302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6133 mbi->cmdline but free playground.
6134
c60cee8e 61352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 Handle group offset on UFS1.
6138
6139 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6140 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6141
c0d8b5d4 61422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Split ufs.mod into ufs1.mod and ufs2.mod.
6145
6146 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6147 (grub_fstest_SOURCES): Likewise.
6148 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6149 (ufs_mod_SOURCES): Remove.
6150 (ufs_mod_CFLAGS): Likewise.
6151 (ufs_mod_LDFLAGS): Likewise.
6152 (ufs1_mod_SOURCES): New variable.
6153 (ufs1_mod_CFLAGS): Likewise.
6154 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6155 (ufs2_mod_SOURCES): New variable.
6156 (ufs2_mod_CFLAGS): Likewise.
6157 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6158 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6159 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6160 Likewise.
6161 (grub_emu_SOURCES): Likewise.
6162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6163 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6164 (grub_setup_SOURCES): Likewise.
6165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6166 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6167 (grub_setup_SOURCES): Likewise.
6168 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6169 Likewise.
6170 * fs/ufs2.c: New file.
6171 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6172
d3539132 61732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 Framebuffer split.
6176
6177 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6178 subsystem at the end.
6179 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6180 (video_fb_mod_SOURCES): New variable.
6181 (video_fb_mod_CFLAGS): Likewise.
6182 (video_fb_mod_LDFLAGS): Likewise.
6183 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6184 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6185 * video/i386/pc/vbeblit.c: Moved from here ...
6186 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6187 * video/i386/pc/vbefill.c: Moved from here ...
6188 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6189 * video/i386/pc/vbeutil.c: Moved from here ...
6190 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6191 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6192 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6193 * include/grub/i386/pc/vbefill.h: Moved from here ...
6194 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6195 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6196 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6197 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6198 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6199 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6200 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6201 (grub_video_adapter): Added 'get_info_and_fini'.
6202 (grub_video_get_info_and_fini): New prototype.
6203 (grub_video_set_mode): make modestring const char *.
6204 * loader/i386/linux.c (grub_linux_setup_video): Use
6205 grub_video_get_info_and_fini.
6206 (grub_linux_boot): Move modesetting just before booting.
6207 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6208 grub_video_get_info_and_fini.
6209 * video/i386/pc/vbe.c: Moved framebuffer part ...
6210 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6211 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6212 grub_video_fbstd_colors and grub_video_fb_set_palette.
6213 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6214 grub_video_fb_init.
6215 (grub_video_vbe_fini): Use grub_video_fb_fini.
6216 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6217 render_target and use grub_video_fb_set_active_render_target and
6218 grub_video_fb_set_palette.
6219 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6220 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6221 (grub_video_vbe_adapter): Use framebuffer.
6222 * video/video.c (grub_video_get_info_and_fini): New function.
6223 (grub_video_set_mode): Make modestring const char *.
6224 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6225 values are already initialised.
6226
d404ee56 62272009-08-14 Pavel Roskin <proski@gnu.org>
6228
6229 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6230 ABS and APPLE_CC.
6231 * boot/i386/pc/diskboot.S: Likewise.
6232 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6233 sectors allow compilation on MacOSX.
6234 * conf/i386-pc.rmk: Enable unconditional compilation of
6235 lnxboot.img.
6236
9a10df16 62372009-08-13 Colin Watson <cjwatson@ubuntu.com>
6238
6239 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6240 * util/grub.d/00_header.in: Enter interruptible sleep if
6241 GRUB_HIDDEN_TIMEOUT is set.
6242
be3c9ca7 62432009-08-13 Yves Blusseau <blusseau@zetam.org>
6244
6245 * include/grub/symbol.h: Add the LOCAL macro.
6246 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6247 starting with "L_".
6248
1f9e557e 62492009-08-13 Pavel Roskin <proski@gnu.org>
6250
9ca62843 6251 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6252 any modern compilers we support.
6253
1f9e557e 6254 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6255 Use local labels starting with "L_" so that Apple assembler
6256 knows they are local.
6257
81623db6 62582009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6259
6260 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6261 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6262 (bsd_kernel_types): ... this enum.
6263
6264 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6265 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6266 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6267
6268 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6269 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6270 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6271 messages.
6272
f5d35e7a 62732009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6274
6275 * util/grub-dumpdevtree: Moved from here ...
6276 * util/i386/efi/grub-dumpdevtree: ... to here.
6277 (hexify): New function. Converts a string to its hex version.
6278 Generate hex versions of "efi" and "device-properties" by calling
6279 hexify() on the ASCII strings rather than by hardcoding numbers.
6280
d1e1d527 62812009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6282
6283 * fs/jfs.c: Update copyright year.
6284
1ebbe064 62852009-08-08 Felix Zielcke <fzielcke@z-51.de>
6286
6287 * util/grub.d/00_header.in: Fix a comment.
6288 * util/grub.d/10_linux.in: Likewise.
6289 * util/grub.d/10_windows.in: Likewise.
6290 * util/grub.d/10_hurd.in: Likewise.
6291
a78c8d24 62922009-08-08 Felix Zielcke <fzielcke@z-51.de>
6293
6294 * util/grub-mkconfig.in: Allow the user to specify the used font
6295 with GRUB_FONT.
6296
29a6b9e8 62972009-08-08 Pavel Roskin <proski@gnu.org>
6298
b5f16cc4 6299 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6300 available, xfs.mod needs it now.
6301
2f5cb827 6302 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6303 the "g" modifier in sed when the intention is to strip something
6304 once. This fixes comparison of kernels with multiple dashes.
6305
29a6b9e8 6306 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6307 on it. Add missing space before closing bracket. Fix
6308 misleading formatting.
6309
892a3d98 63102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6311
6312 * docs/grub.texi: Major overhaul. Remove all sections that are
6313 specific to GRUB Legacy, or mostly composed of Legacy-specific
6314 information.
6315
ed94253f 63162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6317
6318 * docs/version.texi: New file. Provides version information for
6319 grub.texi.
6320
126d6628 63212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6322
6323 * docs/grub.texi: Update CVS information to SVN.
6324 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6325
998b5aa9 63262009-08-07 Felix Zielcke <fzielcke@z-51.de>
6327
6328 * util/grub-mkconfig.in: Remove a wrong `fi'.
6329
818e094a 63302009-08-07 Felix Zielcke <fzielcke@z-51.de>
6331
6332 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6333 (grub_jfs_uuid): New function.
6334 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6335
b969c52f 63362009-08-07 Felix Zielcke <fzielcke@z-51.de>
6337
6338 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6339 of it to ...
6340 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6341 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6342
7a4894cc 63432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6344
6345 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6346 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6347 Update all users.
6348
6349 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6350 not just "vmlinu[zx]".
6351 Moved from here ...
6352 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6353 all users.
6354
6355 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6356 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6357 all users.
6358
4e2171f8 63592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6360
6361 * util/grub.d/10_freebsd.in: Use an absolute device path for
6362 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6363
6dcfcb32 63642009-08-06 Felix Zielcke <fzielcke@z-51.de>
6365
6366 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6367 handling of multiple abstraction modules.
6368
f56a8756 63692009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6370
6371 Fix a bug resulting in black screen when loading Linux using a
6372 packed video mode.
6373
6374 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6375 function.
6376
6377 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6378 (grub_vbe_bios_getset_dac_palette_width): New function.
6379 (grub_vbe_bios_get_dac_palette_width)
6380 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6381 grub_vbe_bios_getset_dac_palette_width()).
6382
6383 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6384 check for return status.
6385 (grub_vbe_get_video_mode_info): When getting information for a packed
6386 mode (<= 8 bpp), obtain DAC palette width using
6387 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6388 {red,green,blue}_mark_size.
6389
222671b2 63902009-08-04 Felix Zielcke <fzielcke@z-51.de>
6391
ecb1a6d9 6392 * commands/search.c (options): Fix help output to match actual code.
222671b2 6393
f84114f5 63942009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6397 of homegrown code.
6398
bd288a20 63992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6400
6401 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6402 on XFS or ReiserFS.
6403
8aab5e25 64042009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Support Apple partition map with sector size different from 512 bytes.
6407
6408 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6409 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6410 and 'apart.partmap_size'.
6411
6ad6258a 64122009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
64132009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6414
6415 Fix cpuid command.
6416
6417 * commands/i386/cpuid.c (options): New variable.
6418 (grub_cmd_cpuid): Return real error.
6419 (GRUB_MOD_INIT(cpuid)): Declare options.
6420
67459bc6 64212009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6424 valid.
6425
fbc6ab54 64262009-07-31 Bean <bean123ch@gmail.com>
6427
6428 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6429 log2_inode.
6430 (grub_fshelp_node): Move inode field to the end.
6431 (grub_xfs_data): Remove inode field.
6432 (grub_xfs_inode_block): Calculate inode size using sblock.
6433 (grub_xfs_inode_offset): Likewise.
6434 (grub_xfs_read_inode): Calculate inode size using sblock.
6435 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6436 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6437 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6438 to match inode size.
6439 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6440 not accessible when data is null.
6441 (grub_xfs_open): Likewise.
6442
f45d6cfc 64432009-07-31 Bean <bean123ch@gmail.com>
6444
6445 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6446 Don't change pv->disk if it's already set.
6447
6448 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6449 (grub_raid_register): ... here.
6450 (grub_raid_rescan): Removed.
6451
6452 * include/grub/raid.h (grub_raid_rescan): Removed.
6453
6454 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6455 (fstest): Replace grub_raid_rescan with module fini function followed
6456 by init function.
6457
6458 * util/grub-probe.c: Add include file <grub/raid.h>.
6459 (probe_raid_level): New function.
6460 (probe): Detect abstraction by walking the disk device, support two
6461 level of abstraction (LVM on RAID) when detecting partition map.
6462
24443b5a 64632009-07-31 Pavel Roskin <proski@gnu.org>
6464
6465 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
6466 to grub_zalloc(), it was erroneous.
6467 Reported by Bean <bean123ch@gmail.com>
6468
a275d9e7 64692009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 6472 embedding zone, not only the first one.
a275d9e7 6473
56c5a47f 64742009-07-29 Joe Auricchio <jauricchio@gmail.com>
6475
6476 * term/gfxterm.c (clear_char): New function.
6477 (grub_virtual_screen_setup): Use clear_char.
6478 (scroll_up): Likewise.
6479 (grub_virtual_screen_cls): Likewise.
6480
67bb323a 64812009-07-29 Felix Zielcke <fzielcke@z-51.de>
6482
6483 * util/deviceiter.c (get_acceleraid_disk_name): New static
6484 function.
6485 (grub_util_iterate_devices): Handle Accelraid devices.
6486 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
6487
388a7c75 64882009-07-28 Robert Millan <rmh.grub@aybabtu.com>
6489
6490 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
6491 separator for the suggested gfxpayload string (';' collides with the
6492 parser and needs escaping).
6493
3bb7abcf 64942009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
6497 Clear direction flag before jumping to OS.
6498 (grub_multiboot2_real_boot): Likewise.
6499
2ddd36d7 65002009-07-28 Felix Zielcke <fzielcke@z-51.de>
6501
6502 * util/i386/pc/grub-install: Fix parsing of --disk-module
6503 option.
6504
c521b62b 65052009-07-28 Felix Zielcke <fzielcke@z-51.de>
6506
6507 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
6508 when embedding.
6509
880e0a0c 65102009-07-26 Felix Zielcke <fzielcke@z-51.de>
6511
6512 * util/grub-mkconfig.in (package_version): New variable.
6513 Use it do display the version.
6514
2366e356 65152009-07-25 Felix Zielcke <fzielcke@z-51.de>
6516
6517 * kern/file.c (grub_file_open): Revert to previous check with
6518 grub_errno.
6519
7ad8c80e 65202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
6523 from help line. It's out of sync with code.
6524
72b9658b 65252009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
6528 entries on failed boot.
6529
77435277 65302009-07-25 Felix Zielcke <fzielcke@z-51.de>
6531
6532 * kern/file.c (grub_file_open): Fix an error check.
6533
fcaa8b21 65342009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
6535
35d16c74 6536 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
6537 partition map couldn't be identified.
fcaa8b21 6538
48904cd1 65392009-07-23 Pavel Roskin <proski@gnu.org>
6540
ef3c317f 6541 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
6542 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
6543 case of little endian words becomes just an optimization.
6544 Respect const modifier.
ad8ea1f4 6545 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 6546
48904cd1 6547 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
6548 to avoid loss of upper bits if align is unsigned and shorter
6549 than addr.
6550
260c9a89 65512009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 UUID support for UFS
6554
6555 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
6556 (grub_ufs_uuid): New function.
6557 (grub_ufs_fs): add .uuid
6558
f76ce889 65592009-07-21 Pavel Roskin <proski@gnu.org>
6560
6561 * kern/dl.c (grub_dl_check_header): Make static.
6562
6a6cbcaf 65632009-07-21 Felix Zielcke <fzielcke@z-51.de>
6564
6565 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
6566 add drivemap for Vista. It breaks Windows 7.
6567
cffcddb2 65682009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
6571 128 bytes
6572
1ef44b80 65732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Add BFS support
6576
6577 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
6578 (grub_fstest_SOURCES): Likewise.
6579 (pkglib_MODULES): Add befs.mod.
6580 (befs_mod_SOURCES): New variable.
6581 (befs_mod_CFLAGS): Likewise.
6582 (befs_mod_LDFLAGS): Likewise.
6583 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6584 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6585 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6586 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6587 (grub_setup_SOURCES): Likewise.
6588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6589 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6590 (grub_setup_SOURCES): Likewise.
6591 * fs/befs.c: New file.
6592 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
6593 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
6594 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
6595 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
6596 (B_KEY_INDEX_ALIGN): New declaration.
6597 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
6598 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
6599 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
6600 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
6601 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
6602 (grub_afs_mount) [MODE_BFS]: Likewise.
6603 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
6604 (grub_afs_fs): Use GRUB_AFS_FSNAME
6605 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
6606 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
6607 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
6608 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
6609
4f253044 66102009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
6611
6612 * util/getroot.c (find_root_device): Add support for MacOSX.
6613 * util/hostdisk.c: Likewise.
6614
57a55913 66152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * font/font.c (find_glyph): Check whether a font is present to avoid
6618 segmentation fault.
75421ca9 6619
66202009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 6621
6622 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
6623
e98cd0c2 66242009-07-20 Pavel Roskin <proski@gnu.org>
6625
6626 * configure.ac: Trim excessively wordy excuses.
6627
1d2d169a 66282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 Add symlink, mtime and label support to AtheFS.
6631
6632 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
6633 (grub_afs_iterate_dir): Handle symlinks.
6634 (grub_afs_open): Use grub_afs_read_symlink.
6635 (grub_afs_dir): Likewise.
6636 Pass mtime.
6637 (grub_afs_label): New function.
6638 (grub_afs_fs): Add grub_afs_label.
6639 (grub_afs_read_symlink): New function.
6640
186f3189 66412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 Fix AtheFS support.
6644
6645 * fs/afs.c: Fix comments style.
6646 (grub_afs_blockrun): Declare as packed.
6647 (grub_afs_datastream): Likewise.
6648 (grub_afs_bnode): Likewise.
6649 (grub_afs_btree): Likewise.
6650 (grub_afs_sblock): Likewise.
6651 Declare `name' as char.
6652 (grub_afs_inode): Declare as packed.
6653 Change void *vnode to grub_uint32_t unused.
6654 (grub_afs_iterate_dir): Check that key_size is positive.
6655 (grub_afs_mount): Don't read superblock twice.
75421ca9 6656 (grub_afs_dir): Don't free node in case of error,
186f3189 6657 grub_fshelp_find_file already handles this.
6658 (grub_afs_open): Likewise.
6659
5680109e 66602009-07-19 Pavel Roskin <proski@gnu.org>
6661
6662 * Makefile.in: Remove LIBLZO and enable_lzo.
6663 * conf/i386-pc.rmk: Remove lzo support.
6664 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
6665 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
6666 support.
6667 * kern/i386/pc/lzo1x.S: Remove.
6668 * kern/i386/pc/startup.S: Remove lzo support.
6669 * util/i386/pc/grub-mkimage.c: Likewise.
6670
ac70fa32 66712009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
6674 * fs/xfs.c (grub_xfs_dir): Likewise.
6675 * fs/afs.c (grub_afs_dir): Likewise.
6676 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6677 (grub_iso9660_open): Likewise.
6678 * fs/jfs.c (grub_jfs_open): Likewise.
6679 * fs/ext2.c (grub_ext2_dir): Likewise.
6680 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
6681 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 6682
eab58da2 66832009-07-16 Pavel Roskin <proski@gnu.org>
6684
d2838156 6685 * configure.ac: Never add "-c" to CFLAGS.
6686
55c70904 6687 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
6688
43e6200c 6689 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
6690 grub_cv_cc_efiemu should be used.
6691
ce7a733d 6692 * configure.ac: Typo fixes.
6693
eab58da2 6694 * kern/mm.c (grub_zalloc): New function.
6695 (grub_debug_zalloc): Likewise.
6696 * include/grub/mm.h: Declare grub_zalloc() and
6697 grub_debug_zalloc().
6698 * util/misc.c (grub_zalloc): New function.
6699 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
6700 instead of grub_malloc(), remove unneeded initializations.
6701 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
6702 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
6703 * commands/parttool.c (grub_cmd_parttool): Likewise.
6704 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6705 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
6706 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
6707 * disk/usbms.c (grub_usbms_finddevs): Likewise.
6708 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
6709 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
6710 (grub_cmd_efiemu_pnvram): Likewise.
6711 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
6712 * fs/iso9660.c (grub_iso9660_mount): Likewise.
6713 (grub_iso9660_iterate_dir): Likewise.
6714 * fs/jfs.c (grub_jfs_opendir): Likewise.
6715 * fs/ntfs.c (list_file): Likewise.
6716 (grub_ntfs_mount): Likewise.
6717 * kern/disk.c (grub_disk_open): Likewise.
6718 * kern/dl.c (grub_dl_load_core): Likewise.
6719 * kern/elf.c (grub_elf_file): Likewise.
6720 * kern/env.c (grub_env_context_open): Likewise.
6721 (grub_env_set): Likewise.
6722 (grub_env_set_data_slot): Likewise.
6723 * kern/file.c (grub_file_open): Likewise.
6724 * kern/fs.c (grub_fs_blocklist_open): Likewise.
6725 * loader/i386/multiboot.c (grub_module): Likewise.
6726 * loader/xnu.c (grub_xnu_create_key): Likewise.
6727 (grub_xnu_create_value): Likewise.
6728 * normal/main.c (grub_normal_add_menu_entry): Likewise.
6729 (read_config_file): Likewise.
6730 * normal/menu_entry.c (make_screen): Likewise.
6731 * partmap/sun.c (sun_partition_map_iterate): Likewise.
6732 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
6733 * script/sh/script.c (grub_script_parse): Likewise.
6734 * video/bitmap.c (grub_video_bitmap_create): Likewise.
6735 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6736 * video/readers/png.c (grub_png_output_byte): Likewise.
6737 (grub_video_reader_png): Likewise.
6738
830afef7 67392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 6740
6741 Enable all targets that can be built by default
6742
830afef7 6743 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 6744 grub-mkfont and grub-fstest if they can be built
6745
ee293aee 67462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 Fix hang and segmentation fault in grub-emu-usb
6749
6750 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
6751 * util/usb.c (grub_libusb_devices): likewise
6752 (grub_libusb_init): rename to ...
6753 (GRUB_MOD_INIT (libusb)):...this
6754 (grub_libusb_fini): rename to ..
6755 (GRUB_MOD_FINI (libusb)):...this
6756 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6757 * include/grub/disk.h (grub_raid_init): removed, it's useless
6758 (grub_raid_fini): likewise
6759 (grub_lvm_init): likewise
6760 (grub_lvm_fini): likewise
6761 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6762 by grub_init_all
6763
94414221 67642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 Fix libusb
6767
6768 * Makefile.in (LIBUSB): new macro
6769 * genmk.rb (Utility/print_tail): new method
6770 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6771 (top level): call util.print_tail at the end.
6772
59ade63d 67732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 Make FreeBSD accept zpool.cache
6776
6777 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6778 type is /boot/zfs/zpool.cache
6779
a58da8c7 67802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Fix 64-bit efiemu
6783
6784 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6785 correct wrong typedef
6786 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6787
20591577 67882009-07-15 Pavel Roskin <proski@gnu.org>
6789
560ca572 6790 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6791 * kern/disk.c (struct grub_disk_cache): Likewise.
6792
e8e8e4fd 6793 * commands/probe.c (options): Typo fix.
6794
fde24e10 6795 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6796 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6797 accordingly.
6798 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6799
379c54c1 6800 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6801 the end of "Error" to make the message more readable.
6802
7bd8f5bf 6803 * boot/i386/pc/boot.S (kernel_segment): Remove.
6804 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6805 for destination.
6806
40b132c5 6807 * boot/i386/pc/boot.S (boot_version): Remove.
6808 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6809 Remove.
6810
20591577 6811 * include/grub/i386/pc/boot.h: Sort all offsets.
6812 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6813 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6814 * boot/i386/pc/boot.S: Assert location of every offset listed in
6815 include/grub/i386/pc/boot.h.
6816
2df32b2c 68172009-07-13 Pavel Roskin <proski@gnu.org>
6818
44b5d879 6819 * include/grub/i386/coreboot/machine.h: Rename
6820 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6821 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6822 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6823
17dc3751 6824 * kern/dl.c: Force native word size to suppress warnings when
6825 compiling grub-emu.
6826
2df32b2c 6827 * kern/device.c (grub_device_iterate): Change struct part_ent to
6828 hold the name, not a pointer to it. Use one grub_malloc() per
6829 partition, not two. Free partition_name if grub_malloc() fails.
6830 Set ents to NULL only before grub_partition_iterate() is called.
6831
75c59f59 68322009-07-11 Bean <bean123ch@gmail.com>
6833
6834 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6835 childname.
6836
0ae1bf88 68372009-07-10 Bean <bean123ch@gmail.com>
68382009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6839
6840 * kern/ieee1275/openfw.c (grub_children_iterate)
6841 (grub_devalias_iterate): Fix size evaluation for property or path
6842 strings, which was broken since r2132.
6843
8279cade 68442009-07-07 Pavel Roskin <proski@gnu.org>
6845
7d8a52d3 6846 * commands/search.c (search_file): Merge into ...
6847 (search_fs): ... this. Accept search type as argument.
6848 (grub_cmd_search): Pass search type to search_fs().
6849
25f9a05a 6850 * include/grub/util/console.h: New file.
6851 * util/console.c: Use it instead of grub/machine/console.h.
6852 * util/grub-emu.c: Likewise.
6853
8279cade 6854 * lib/arg.c (find_long_option): Remove.
6855 (find_long): Add `len' argument, make `s' const char *.
6856 (grub_arg_parse): Parse long options in place, not in a
6857 temporary buffer.
6858
4a11b60f 68592009-07-06 Pavel Roskin <proski@gnu.org>
6860
99f68041 6861 * commands/search.c (search_fs): Fix potential NULL pointer
6862 dereference.
6863
4a11b60f 6864 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6865 function pointer.
6866
e110f4de 68672009-07-06 Daniel Mierswa <impulze@impulze.org>
6868
6869 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6870 comparison.
6871
46eeb6a2 68722009-07-05 Pavel Roskin <proski@gnu.org>
6873
bab74958 6874 * include/grub/i386/linux.h (struct linux_kernel_params):
6875 Restore padding3, it's still needed.
6876
46eeb6a2 6877 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6878 FreeBSD.
6879 * util/osdetect.lua: Likewise.
6880
b4a1dc79 68812009-07-05 Bean <bean123ch@gmail.com>
6882
6883 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6884
6885 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6886 (grub_lua_getenv): Likewise.
6887 (grub_lua_setenv): Likewise.
6888 (save_errno): New function.
6889 (push_result): Likewise.
6890 (grub_lua_enum_device): Likewise.
6891 (grub_lua_enum_file): Likewise.
6892 (grub_lua_file_open): Likewise.
6893 (grub_lua_file_close): Likewise.
6894 (grub_lua_file_seek): Likewise.
6895 (grub_lua_file_read): Likewise.
6896 (grub_lua_file_getline): Likewise.
6897 (grub_lua_file_getsize): Likewise.
6898 (grub_lua_file_getpos): Likewise.
6899 (grub_lua_file_eof): Likewise.
6900 (grub_lua_file_exist): Likewise.
6901 (grub_lua_add_menu): Likewise.
6902
6903 * script/lua/grub_lua.h (isupper): New inline function.
6904 (islower): Likewise.
6905 (ispunct): Likewise.
6906 (isxdigit): Likewise.
6907 (strcspn): Change to normal function.
6908 (strpbkr): New function declaration.
6909 (memchr): Likewise.
6910
6911 * script/lua/grub_main.c (scan_str): New function.
6912 (strcspn): Likewise.
6913 (strpbrk): Likewise.
6914 (memchr): Likewise.
6915
6916 * script/lua/linit.c (lualibs): Enable the string library.
6917
6918 * util/osdetect.lua: New file.
6919
2da92295 69202009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6921
6922 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6923 `capabilities' member.
6924
b2582ec9 69252009-07-02 Pavel Roskin <proski@gnu.org>
6926
6927 * genparttoollist.sh: Add missing newline at the end.
6928
32622956 69292009-07-01 Pavel Roskin <proski@gnu.org>
6930
87a7339e 6931 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
6932
d23af54e 6933 * util/hostdisk.c (open_device): Remove `const' from
6934 `sysctl_size', as sysctlbyname() can change it (in this case it
6935 doesn't actually happen).
6936
c94b18a9 6937 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
6938 using signed long int constants.
6939
c6cd3ef0 6940 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6941 constant to avoid a warning on FreeBSD.
6942
0df63420 6943 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6944 where it's needed.
6945
999577f1 6946 * Makefile.in: Install include/grub/machine symlink.
6947
6f41557f 6948 * Makefile.in: When installing symlinks, use "cp -fR", which
6949 works on FreeBSD and MacOSX.
6950 From Yves Blusseau <cl7m42e02@sneakemail.com>
6951
c8d22988 6952 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6953 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6954
1b96e952 6955 * util/misc.c: Move grub_reboot() and grub_halt() ...
6956 * util/grub-emu.c: ... here. Make main_env static.
6957 * include/grub/util/misc.h: Remove main_env.
6958
2ef0084d 6959 * kern/mm.c: Use correct format to print size_t.
6960
32622956 6961 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6962 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6963 * kern/powerpc/dl.c: Likewise.
6964 * kern/sparc64/dl.c: Likewise.
6965 * kern/x86_64/dl.c: Likewise.
6966
3f7f0cd0 69672009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6968
6969 Fix grub-emu build on sparc64-ieee1275.
6970
75421ca9 6971 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6973
211d06b5 69742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6975
6976 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6977 (grub_reboot, grub_halt): New functions.
6978
6979 * util/i386/pc/misc.c: Delete. Update all users.
6980 * util/sparc64/ieee1275/misc.c: Likewise.
6981 * util/powerpc/ieee1275/misc.c: Likewise.
6982
aaf53e3c 69832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6984
6985 * conf/i386.rmk (setjmp_mod_SOURCES)
6986 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6987 * conf/common.rmk (setjmp_mod_SOURCES)
6988 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6989 to use $(target_cpu).
6990 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6991 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6992 * conf/powerpc-ieee1275.rmk: Likewise.
6993 * conf/sparc64-ieee1275.rmk: Likewise.
6994
6995 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6996 $(target_cpu) for kern/$(target_cpu)/dl.c.
6997 * conf/i386-efi.rmk: Likewise.
6998 * conf/i386-ieee1275.rmk: Likewise.
6999 * conf/x86_64-efi.rmk: Likewise.
7000 * conf/i386-coreboot.rmk: Likewise.
7001 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
7002 $(target_cpu) for kern/$(target_cpu)/dl.c and for
7003 kern/$(target_cpu)/cache.S.
7004 * conf/sparc64-ieee1275.rmk: Likewise.
7005
a337130b 70062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7007
7008 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
7009 type to `grub_uint8_t', and adjust `padding9' accordingly.
7010
c6fe4d53 70112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7012
b09db61d 7013 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
7014
c6fe4d53 7015 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
7016 assembly in final jump, using register constraints.
7017
b09db61d 7018 (grub_linux_boot): For text mode, initialize `have_vga' using
7019 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7020
7021 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7022 right before the final jump.
7023
7024 Set `video_mode' to 0x3.
7025
7026 Document initialization of `video_page', `video_mode' and
7027 `video_ega_bx'.
7028
28333ad0 70292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7030
7031 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7032 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 7033 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 7034
02164e1b 70352009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7036
7037 Fix build on Debian / sparc.
7038
7039 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7040
18b6c557 70412009-06-28 Pavel Roskin <proski@gnu.org>
7042
85f2aab6 7043 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7044 fix a warning.
7045
18b6c557 7046 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7047
ad760f81 70482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7049
7050 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7051 `err'.
7052
87a4623b 70532009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7054
7055 Revert r2338.
7056
7057 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7058 file can't be opened. grub_file_open() is already supposed to set
75421ca9 7059 grub_errno / grub_errmsg appropriately.
87a4623b 7060 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7061
8231fb77 70622009-06-27 Pavel Roskin <proski@gnu.org>
70632009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7064
7065 * include/grub/dl.h: Include grub/elf.h.
7066 (struct grub_dl): Add symtab field.
7067 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7068 GRUB_MODULES_MACHINE_READONLY.
7069 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7070 of the header for read-only modules.
7071 (grub_dl_unload): Free mod->symtab for read-only modules.
7072 * kern/i386/dl.c: Use mod->symtab.
7073 * kern/powerpc/dl.c: Likewise.
7074 * kern/sparc64/dl.c: Likewise.
7075 * kern/x86_64/dl.c: Likewise.
7076
7077 * conf/i386-qemu.rmk: New file.
7078 * kern/i386/qemu/startup.S: Likewise.
7079 * kern/i386/qemu/mmap.c: Likewise.
7080 * boot/i386/qemu/boot.S: Likewise.
7081 * include/grub/i386/qemu/time.h: Likewise.
7082 * include/grub/i386/qemu/serial.h: Likewise.
7083 * include/grub/i386/qemu/kernel.h: Likewise.
7084 * include/grub/i386/qemu/console.h: Likewise.
7085 * include/grub/i386/qemu/boot.h: Likewise.
7086 * include/grub/i386/qemu/init.h: Likewise.
7087 * include/grub/i386/qemu/machine.h: Likewise.
7088 * include/grub/i386/qemu/loader.h: Likewise.
7089 * include/grub/i386/qemu/memory.h: Likewise.
7090
7091 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7092 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7093 [qemu] (pkglib_IMAGES): Add `boot.img'.
7094 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7095 [qemu] (boot_img_FORMAT): New variables.
7096 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7097 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7098 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7099 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7100 [qemu] (kernel_img_FORMAT): New variables.
7101
7102 * configure.ac: Recognise `i386-qemu'.
7103
7104 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7105 (for no compression).
7106 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7107 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7108 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7109 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7110 ifdefs).
7111
97fe384e 71122009-06-27 Pavel Roskin <proski@gnu.org>
7113
7114 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7115 read.
7116 * efiemu/prepare32.c: Likewise.
7117 * efiemu/prepare64.c: Likewise.
7118
c402ab17 71192009-06-26 Pavel Roskin <proski@gnu.org>
7120
7121 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7122 * include/grub/elf.h: Define symbols without "32" or "64" based
7123 on GRUB_TARGET_WORDSIZE.
7124 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7125 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7126 ELF definitions.
7127 * efiemu/loadcore64.c: Likewise.
7128 * loader/i386/bsd32.c: Likewise.
7129 * loader/i386/bsd64.c: Likewise.
7130 * kern/dl.c: Remove own ELF definitions.
7131 * util/i386/efi/grub-mkimage.c: Likewise.
7132
9bbdfd4d 71332009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7134
7135 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7136 segment 0x0 unconditionally, because the reference generated by
7137 GAS is an absolute address.
7138
a42ce6e9 71392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7140
7141 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7142 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7143
c952cf92 71442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7145
7146 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7147 indexes. Check for -f explicitly.
cc3752ad 7148 (search_file): Improve error message.
7149 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7150
132a0a59 71512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7152
7153 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7154 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7155
387a140c 71562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7157
7158 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7159 * conf/i386-ieee1275.rmk: Likewise.
7160 * conf/i386-coreboot.rmk: Likewise.
7161
7162 * kern/i386/pc/startup.S (grub_stop): Remove function.
7163 * kern/i386/ieee1275/startup.S: Likewise.
7164 * kern/i386/coreboot/startup.S: Likewise.
7165 * kern/i386/misc.S (grub_stop): New function.
7166
41da9665 71672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7168
7169 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7170 * kern/i386/realmode.S (real_to_prot): ... to here.
7171
bf337234 71722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7173
7174 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7175 with `kernel.img'.
7176 (kernel_elf_SOURCES): Rename to ...
7177 (kernel_img_SOURCES): ... this.
7178 (kernel_elf_HEADERS): Rename to ...
7179 (kernel_img_HEADERS): ... this. Update all users.
7180 (kernel_elf_ASFLAGS): Rename to ...
7181 (kernel_img_ASFLAGS): ... this.
7182 (kernel_elf_CFLAGS): Rename to ...
7183 (kernel_img_CFLAGS): ... this.
7184 (kernel_elf_LDFLAGS): Rename to ...
7185 (kernel_img_LDFLAGS): ... this.
7186 * conf/i386-coreboot.rmk: Likewise.
7187 * conf/powerpc-ieee1275.rmk: Likewise.
7188
7189 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7190 with "kernel.img".
7191
f52196ff 71922009-06-21 Pavel Roskin <proski@gnu.org>
7193
c3cee413 7194 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7195 to match nested functions.
7196 * loader/sparc64/ieee1275/linux.c: Likewise.
7197
f52196ff 7198 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7199
58750afc 72002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7201
7202 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7203 all i386 platforms.
7204
15355c7d 72052009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7206
7207 Fix asm file handling on ELF, and remove workarounds.
7208
7209 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7210 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7211 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7212 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7213
3f3ec72b 72142009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 Load BSD ELF modules
7217
7218 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7219 and loader/i386/bsd64.c
7220 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7221 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7222 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7223 (grub_freebsd_load_elfmodule32): New declaration
7224 (grub_freebsd_load_elfmoduleobj64): Likewise
7225 (grub_freebsd_load_elf_meta32): Likewise
7226 (grub_freebsd_load_elf_meta64): Likewise
7227 (grub_freebsd_add_meta): Likewise
7228 (grub_freebsd_add_meta_module): Likewise
7229 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7230 (grub_freebsd_add_meta_module): Likewise and move module-specific
7231 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7232 (grub_cmd_freebsd): Add elf-kernel specific parts
7233 based on grub_freebsd_add_meta_module
7234 (grub_cmd_freebsd_module): Add type parsing moved from
7235 grub_freebsd_add_meta_module
7236 (grub_cmd_freebsd_module_elf): New function
7237 (cmd_freebsd_module_elf): New variable
7238 (GRUB_MOD_INIT): Register freebsd_module_elf
7239 * loader/i386/bsd32.c: New file
7240 * loader/i386/bsd64.c: Likewise
7241 * loader/i386/bsdXX.c: Likewise
7242 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7243 (grub_elf64_load): Likewise
7244 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7245 All users updated
7246 (grub_elf64_load_hook_t): Likewise
7247
0db15301 72482009-06-21 Colin Watson <cjwatson@ubuntu.com>
7249
7250 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7251 variable.
7252 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7253 don't write a menu entry for recovery mode.
7254
546796c1 72552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7256
7257 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7258 after it's no longer needed.
7259
cd7310d5 72602009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7261
7262 * include/grub/i386/loader.h (grub_linux_prot_size)
7263 (grub_linux_tmp_addr, grub_linux_real_addr)
7264 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7265 GRUB_MACHINE_PCBIOS.
7266 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7267 common grub_util_info() call to ...
7268 (generate_image): ... here.
7269 Fix use of uninitialized memory, comparison of signed with
7270 unsigned integers and memory leak.
7271 Remove bogus module address message.
7272
ab32d3b5 72732009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7276 grub_raid_register
7277 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7278
024ef597 72792009-06-19 Pavel Roskin <proski@gnu.org>
7280
7281 * configure.ac: Remove stray AC_MSG_CHECKING.
7282
3ac72b51 72832009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7286
e14cd814 72872009-06-18 Pavel Roskin <proski@gnu.org>
7288
7289 * conf/common.rmk: Add fs_file.mod.
7290 * disk/fs_file.c: New file.
7291 * include/grub/disk.h (enum grub_disk_dev_id): Add
7292 GRUB_DISK_DEVICE_FILE_ID.
7293
26586d98 72942009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 Fix build with Apple's toolchain. Part 2
7297
7298 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7299 a fake start
7300
26de2bcd 73012009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 Fix build with Apple's toolchain. Part 1
7304
7305 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7306 for long calls
7307 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7308 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7309 Apple's toolchain
7310
09b3490b 73112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 Fix warnings
7314
7315 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7316 (decomp_block): initialize ch
7317 use grub_memcpy instead of memcpy
7318
c22a006a 73192009-06-17 Pavel Roskin <proski@gnu.org>
7320
d3638678 7321 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7322 version, use declarations needed to use vga_text as the startup
7323 console.
7324
c22a006a 7325 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7326 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7327 the kernel.
7328 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7329 and grub_at_keyboard_fini(), it's done on module load and
7330 unload.
7331
05b129e0 73322009-06-17 Felix Zielcke <fzielcke@z-51.de>
7333
7334 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7335 file can't be found.
7336 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7337
cf24ed9e 73382009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 Fix newline handling
7341
7342 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7343 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7344 (grub_script_yylex): don't segfault on unterminated script
7345 newline terminates command and variable
7346
74aa8e4b 73472009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 avoid double grub_adjust_range call. Bug reported by David Simner
7350
7351 * kern/disk.c (grub_disk_write): change to raw disk access before
7352 calling disk_read
7353
1bd265f3 73542009-06-17 Colin Watson <cjwatson@ubuntu.com>
7355
7356 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7357 spaces, for the benefit of help2man.
7358 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7359
a2d08c06 73602009-06-16 Pavel Roskin <proski@gnu.org>
7361
7362 * kern/i386/halt.c: Include grub/machine/init.h.
7363 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7364
b97bcb19 73652009-06-16 Felix Zielcke <fzielcke@z-51.de>
7366
7367 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7368 drivemap menuentry.
7369
0644f96c 73702009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7371
7372 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7373 `echo' command.
7374
3ef17a2e 73752009-06-16 Pavel Roskin <proski@gnu.org>
7376
7377 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7378 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7379 save %dx, we only need %dl and we never change it.
7380 * boot/i386/pc/cdboot.S: Don't set the root drive.
7381 * boot/i386/pc/pxeboot.S: Likewise.
7382 * include/grub/i386/pc/boot.h: Remove
7383 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7384 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7385 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7386 * kern/i386/pc/init.c (make_install_device): Remove references
7387 to grub_root_drive.
7388 * kern/i386/pc/startup.S: Likewise.
7389 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7390
693fe637 73912009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 xnu_uuid command
7394
7395 * commands/xnu_uuid.c: new file
7396 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7397 (xnu_uuid_mod_SOURCES): new variable
7398 (xnu_uuid_mod_CFLAGS): likewise
7399 (xnu_uuid_mod_LDFLAGS): likewise
7400 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7401 * conf/i386-ieee1275.rmk: likewise
7402 * conf/i386-pc.rmk: likewise
7403 * conf/powerpc-ieee1275.rmk: likewise
7404 * conf/sparc64-ieee1275.rmk: likewise
7405 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7406
c9da87d0 74072009-06-16 Pavel Roskin <proski@gnu.org>
7408
7409 * configure.ac: Avoid '==' in test command, it's not portable.
7410
9c6f4596 74112009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 Probe command
7414
7415 * commands/probe.c: new file
7416 * conf/common.rmk (pkglib_MODULES): add probe.mod
7417 (probe_mod_SOURCES): new variable
7418 (probe_mod_CFLAGS): likewise
7419 (probe_mod_LDFLAGS): likewise
7420 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7421 * conf/i386-ieee1275.rmk: likewise
7422 * conf/i386-pc.rmk: likewise
7423 * conf/powerpc-ieee1275.rmk: likewise
7424 * conf/sparc64-ieee1275.rmk: likewise
7425
70b7f9fd 74262009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 Fix handling of string like \"hello\" and "a
7429 b"
7430
7431 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7432 (grub_script_yylex): fix parsing of quoting, escaping and newline
7433
71c79a6b 74342009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7435
dd74360c 7436 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 7437 handling
dd74360c 7438
0644f96c 74392009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 7440
7441 * util/grub-mkconfig.in: Fix parsing of --output option.
7442
e40893c3 74432009-06-12 Pavel Roskin <proski@gnu.org>
7444
7445 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7446 genmk.rb don't need to be generated or installed.
7447
3a1acfe2 74482009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * commands/i386/pc/drivemap_int13h.S: add more comments
7451
3a4575d4 74522009-06-11 Pavel Roskin <proski@gnu.org>
7453
0658e928 7454 * Makefile.in (uninstall): Uninstall manuals.
7455
ca0388f0 7456 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7457 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7458 and update-grub_lib in two places.
7459 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7460
e3b27c39 7461 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
7462 a compiler warning.
7463
3a4575d4 7464 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
7465 `entry_lo' to fix variable shadowing.
7466
af1f4f55 74672009-06-11 Christian Franke <franke@computer.org>
7468
7469 * kern/misc.c (__enable_execute_stack): Add missing return type
7470 to prevent gcc warning.
7471
5225e649 74722009-06-11 Felix Zielcke <fzielcke@z-51.de>
7473
7474 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
7475
7d83bd47 74762009-06-11 Pavel Roskin <proski@gnu.org>
7477
c1cb63ba 7478 * Makefile.in: Don't rely on any scripts being executable.
7479 Always use $(SHELL) to run shell scripts.
7480
7d83bd47 7481 * configure.ac: Always define ___main if using -nostdlib. This
7482 fixes tests on Cygwin.
7483
948f48e7 74842009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
7485
7486 UDF fix
7487
7d83bd47 7488 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 7489 is in bytes and not in blocks
7d83bd47 7490
8ada9bc1 74912009-06-11 Pavel Roskin <proski@gnu.org>
7492
7493 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
7494 warning.
7495
25ad2323 74962009-06-11 Felix Zielcke <fzielcke@z-51.de>
7497
7498 * util/grub.d/30_os-prober.in: Fix a comment. Source
7499 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
7500 to set the root device. Place drivemap command in the generated
7501 chain entry.
7502
e65acb0c 75032009-06-11 Pavel Roskin <proski@gnu.org>
7504
7505 * configure.ac: Remove host_m32. Issues with 64-bit utilities
7506 have long been resolved.
7507
f285fe2d 75082009-06-11 Colin Watson <cjwatson@ubuntu.com>
7509
bd47b0b5 7510 * util/grub.d/10_linux.in: Capitalise "Linux".
7511
f285fe2d 7512 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
7513
a0c62e4e 75142009-06-11 Pavel Roskin <proski@gnu.org>
7515
b6783cb2 7516 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
7517 fix a gcc warning and ensure that the function won't ever exit.
7518
dde032e8 7519 * kern/i386/ieee1275/init.c: Add missing prototype for
7520 grub_stop_floppy().
7521
22cd079d 7522 * loader/ieee1275/multiboot2.c [__i386__]: Include
7523 grub/cpu/multiboot.h.
7524
a0c62e4e 7525 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
7526 casts to short - they are not portable and cause warnings. Fix
7527 use of uninitialized values in input_buf. Use ARRAY_SIZE.
7528
63963d17 75292009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 Drivemap fixes
7532
7533 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
7534 new function
7535 (grub_get_root_biosnumber_saved): new variable
7536 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
7537 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 7538 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 7539 %dx after the call if necessary
7540 * conf/common.rmk (pkglib_MODULES): remove boot.mod
7541 (boot_mod_SOURCES): remove
7542 (boot_mod_CFLAGS): remove
7543 (boot_mod_LDFLAGS): remove
7544 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
7545 (boot_mod_SOURCES): new variable
7546 (boot_mod_CFLAGS): likewise
7547 (boot_mod_LDFLAGS): likewise
7548 * conf/i386-efi.rmk: likewise
7549 * conf/i386-ieee1275.rmk: likewise
7550 * conf/i386-pc.rmk: likewise
7551 * conf/powerpc-ieee1275.rmk: likewise
7552 * conf/sparc64-ieee1275.rmk: likewise
7553 * conf/x86_64-efi.rmk: likewise
7554 * include/grub/i386/pc/biosnum.h: new file
7555 * lib/i386/pc/biosnum.c: likewise
7556 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
7557 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
7558 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 7559
33abf7ae 75602009-06-10 Pavel Roskin <proski@gnu.org>
7561
5ac35b35 7562 * io/gzio.c (test_header): Don't reuse one buffer for all data.
7563 Use separate variables. Read only the file size at the end, but
7564 not the checksum that we don't use.
7565
5c5215d5 7566 * kern/file.c (grub_file_read): Use void pointer for the buffer.
7567 Adjust all callers.
7568
27d5fef7 7569 * kern/ieee1275/openfw.c: Remove libc includes.
7570 * kern/ieee1275/cmain.c: Likewise.
7571 * include/grub/ieee1275/ieee1275.h: Likewise.
7572
33abf7ae 7573 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
7574 compiler warnings.
7575
19d50c2b 75762009-06-10 Felix Zielcke <fzielcke@z-51.de>
7577
7578 * Makefile.in: Remove all trailing whitespace.
7579 * conf/i386-pc.rmk: Likewise.
7580 * conf/powerpc-ieee1275.rmk: Likewise.
7581 * conf/sparc64-ieee1275.rmk: Likewise.
7582 * docs/grub.texi: Likewise.
7583 * docs/texinfo.tex: Likewise.
7584 * disk/fs_uuid.c: Likewise.
7585 * disk/lvm.c: Likewise.
7586 * disk/scsi.c: Likewise.
7587 * disk/ata.c: Likewise.
7588 * disk/ieee1275/ofdisk.c: Likewise.
7589 * disk/i386/pc/biosdisk.c: Likewise.
7590 * disk/host.c: Likewise.
7591 * disk/raid.c: Likewise.
7592 * disk/efi/efidisk.c: Likewise.
7593 * disk/usbms.c: Likewise.
7594 * disk/memdisk.c: Likewise.
7595 * disk/loopback.c: Likewise.
7596 * kern/powerpc/dl.c: Likewise.
7597 * kern/device.c: Likewise.
7598 * kern/dl.c: Likewise.
7599 * kern/sparc64/dl.c: Likewise.
7600 * kern/ieee1275/ieee1275.c: Likewise.
7601 * kern/term.c: Likewise.
7602 * kern/fs.c: Likewise.
7603 * kern/i386/dl.c: Likewise.
7604 * kern/i386/pc/startup.S: Likewise.
7605 * kern/i386/pc/init.c: Likewise.
7606 * kern/i386/pc/mmap.c: Likewise.
7607 * kern/i386/pc/lzo1x.S: Likewise.
7608 * kern/i386/ieee1275/init.c: Likewise.
7609 * kern/i386/realmode.S: Likewise.
7610 * kern/i386/tsc.c: Likewise.
7611 * kern/partition.c: Likewise.
7612 * kern/corecmd.c: Likewise.
7613 * kern/file.c: Likewise.
7614 * kern/efi/efi.c: Likewise.
7615 * kern/efi/init.c: Likewise.
7616 * kern/efi/mm.c: Likewise.
7617 * kern/main.c: Likewise.
7618 * kern/err.c: Likewise.
7619 * kern/env.c: Likewise.
7620 * kern/disk.c: Likewise.
7621 * kern/generic/millisleep.c: Likewise.
7622 * kern/generic/rtc_get_time_ms.c: Likewise.
7623 * kern/misc.c: Likewise.
7624 * kern/parser.c: Likewise.
7625 * genmk.rb: Likewise.
7626 * configure.ac: Likewise.
7627 * boot/i386/pc/diskboot.S: Likewise.
7628 * boot/i386/pc/pxeboot.S: Likewise.
7629 * boot/i386/pc/boot.S: Likewise.
7630 * boot/i386/pc/lnxboot.S: Likewise.
7631 * boot/i386/pc/cdboot.S: Likewise.
7632 * parttool/pcpart.c: Likewise.
7633 * video/readers/tga.c: Likewise.
7634 * video/video.c: Likewise.
7635 * video/bitmap.c: Likewise.
7636 * lib/envblk.c: Likewise.
7637 * lib/i386/setjmp.S: Likewise.
7638 * fs/xfs.c: Likewise.
7639 * fs/afs.c: Likewise.
7640 * fs/fat.c: Likewise.
7641 * fs/ntfs.c: Likewise.
7642 * fs/udf.c: Likewise.
7643 * fs/affs.c: Likewise.
7644 * fs/iso9660.c: Likewise.
7645 * fs/hfs.c: Likewise.
7646 * fs/fshelp.c: Likewise.
7647 * fs/ext2.c: Likewise.
7648 * fs/jfs.c: Likewise.
7649 * fs/reiserfs.c: Likewise.
7650 * fs/hfsplus.c: Likewise.
7651 * fs/minix.c: Likewise.
7652 * fs/cpio.c: Likewise.
7653 * fs/sfs.c: Likewise.
7654 * fs/ufs.c: Likewise.
7655 * efiemu/prepare.c: Likewise.
7656 * efiemu/loadcore_common.c: Likewise.
7657 * efiemu/runtime/efiemu.sh: Likewise.
7658 * efiemu/runtime/efiemu.S: Likewise.
7659 * efiemu/runtime/efiemu.c: Likewise.
7660 * efiemu/pnvram.c: Likewise.
7661 * efiemu/main.c: Likewise.
7662 * efiemu/i386/pc/cfgtables.c: Likewise.
7663 * efiemu/i386/loadcore64.c: Likewise.
7664 * efiemu/i386/loadcore32.c: Likewise.
7665 * efiemu/loadcore.c: Likewise.
7666 * efiemu/symbols.c: Likewise.
7667 * efiemu/mm.c: Likewise.
7668 * include/grub/autoefi.h: Likewise.
7669 * include/grub/datetime.h: Likewise.
7670 * include/grub/term.h: Likewise.
7671 * include/grub/hfs.h: Likewise.
7672 * include/grub/lvm.h: Likewise.
7673 * include/grub/i386/tsc.h: Likewise.
7674 * include/grub/i386/linux.h: Likewise.
7675 * include/grub/i386/xnu.h: Likewise.
7676 * include/grub/i386/efiemu.h: Likewise.
7677 * include/grub/i386/pc/biosdisk.h: Likewise.
7678 * include/grub/i386/pc/memory.h: Likewise.
7679 * include/grub/i386/pc/vbe.h: Likewise.
7680 * include/grub/parttool.h: Likewise.
7681 * include/grub/video.h: Likewise.
7682 * include/grub/memory.h: Likewise.
7683 * include/grub/fs.h: Likewise.
7684 * include/grub/partition.h: Likewise.
7685 * include/grub/xnu.h: Likewise.
7686 * include/grub/efi/api.h: Likewise.
7687 * include/grub/efi/pe32.h: Likewise.
7688 * include/grub/efi/memory.h: Likewise.
7689 * include/grub/multiboot.h: Likewise.
7690 * include/grub/usbdesc.h: Likewise.
7691 * include/grub/multiboot2.h: Likewise.
7692 * include/grub/acpi.h: Likewise.
7693 * include/grub/efiemu/efiemu.h: Likewise.
7694 * include/grub/disk.h: Likewise.
7695 * include/grub/ieee1275/ieee1275.h: Likewise.
7696 * include/grub/net.h: Likewise.
7697 * include/grub/machoload.h: Likewise.
7698 * include/grub/macho.h: Likewise.
7699 * include/multiboot.h: Likewise.
7700 * genmoddep.awk: Likewise.
7701 * normal/main.c: Likewise.
7702 * normal/menu_entry.c: Likewise.
7703 * normal/menu_viewer.c: Likewise.
7704 * normal/completion.c: Likewise.
7705 * normal/cmdline.c: Likewise.
7706 * normal/misc.c: Likewise.
7707 * normal/datetime.c: Likewise.
7708 * bus/usb/usbtrans.c: Likewise.
7709 * bus/usb/ohci.c: Likewise.
7710 * bus/usb/uhci.c: Likewise.
7711 * bus/usb/usb.c: Likewise.
7712 * mmap/efi/mmap.c: Likewise.
7713 * mmap/i386/pc/mmap_helper.S: Likewise.
7714 * mmap/i386/pc/mmap.c: Likewise.
7715 * mmap/i386/mmap.c: Likewise.
7716 * mmap/i386/uppermem.c: Likewise.
7717 * mmap/mmap.c: Likewise.
7718 * commands/acpi.c: Likewise.
7719 * commands/echo.c: Likewise.
7720 * commands/blocklist.c: Likewise.
7721 * commands/loadenv.c: Likewise.
7722 * commands/usbtest.c: Likewise.
7723 * commands/boot.c: Likewise.
7724 * commands/parttool.c: Likewise.
7725 * commands/search.c: Likewise.
7726 * commands/cat.c: Likewise.
7727 * commands/i386/pc/play.c: Likewise.
7728 * commands/i386/pc/drivemap.c: Likewise.
7729 * commands/i386/pc/vbeinfo.c: Likewise.
7730 * commands/i386/pc/acpi.c: Likewise.
7731 * commands/i386/pc/vbetest.c: Likewise.
7732 * commands/ls.c: Likewise.
7733 * commands/cmp.c: Likewise.
7734 * commands/test.c: Likewise.
7735 * commands/efi/acpi.c: Likewise.
7736 * commands/gptsync.c: Likewise.
7737 * commands/help.c: Likewise.
7738 * partmap/amiga.c: Likewise.
7739 * partmap/apple.c: Likewise.
7740 * partmap/acorn.c: Likewise.
7741 * partmap/pc.c: Likewise.
7742 * partmap/sun.c: Likewise.
7743 * partmap/gpt.c: Likewise.
7744 * script/sh/lexer.c: Likewise.
7745 * script/sh/function.c: Likewise.
7746 * font/font.c: Likewise.
7747 * font/font_cmd.c: Likewise.
7748 * loader/powerpc/ieee1275/linux.c: Likewise.
7749 * loader/efi/chainloader.c: Likewise.
7750 * loader/multiboot_loader.c: Likewise.
7751 * loader/macho.c: Likewise.
7752 * loader/i386/multiboot.c: Likewise.
7753 * loader/i386/linux.c: Likewise.
7754 * loader/i386/pc/linux.c: Likewise.
7755 * loader/i386/pc/multiboot2.c: Likewise.
7756 * loader/i386/pc/chainloader.c: Likewise.
7757 * loader/i386/pc/xnu.c: Likewise.
7758 * loader/i386/bsd_trampoline.S: Likewise.
7759 * loader/i386/efi/linux.c: Likewise.
7760 * loader/i386/multiboot_elfxx.c: Likewise.
7761 * loader/i386/bsd_helper.S: Likewise.
7762 * loader/i386/bsd.c: Likewise.
7763 * loader/i386/linux_trampoline.S: Likewise.
7764 * loader/i386/xnu_helper.S: Likewise.
7765 * loader/i386/xnu.c: Likewise.
7766 * loader/i386/bsd_pagetable.c: Likewise.
7767 * loader/i386/multiboot_helper.S: Likewise.
7768 * loader/xnu.c: Likewise.
7769 * loader/xnu_resume.c: Likewise.
7770 * io/gzio.c: Likewise.
7771 * term/efi/console.c: Likewise.
7772 * term/terminfo.c: Likewise.
7773 * term/ieee1275/ofconsole.c: Likewise.
7774 * term/i386/pc/serial.c: Likewise.
7775 * term/i386/pc/vesafb.c: Likewise.
7776 * term/i386/pc/vga.c: Likewise.
7777 * term/usb_keyboard.c: Likewise.
7778 * term/gfxterm.c: Likewise.
7779 * aclocal.m4: Likewise.
7780 * util/lvm.c: Likewise.
7781 * util/grub.d/30_os-prober.in: Likewise.
7782 * util/grub.d/10_hurd.in: Likewise.
7783 * util/console.c: Likewise.
7784 * util/grub-macho2img.c: Likewise.
7785 * util/grub-probe.c: Likewise.
7786 * util/hostfs.c: Likewise.
7787 * util/i386/pc/grub-mkimage.c: Likewise.
7788 * util/i386/pc/grub-setup.c: Likewise.
7789 * util/i386/efi/grub-mkimage.c: Likewise.
7790 * util/grub-mkconfig.in: Likewise.
7791 * util/raid.c: Likewise.
7792 * util/resolve.c: Likewise.
7793 * util/grub-mkdevicemap.c: Likewise.
7794 * util/grub-emu.c: Likewise.
7795 * util/getroot.c: Likewise.
7796 * util/hostdisk.c: Likewise.
7797 * util/usb.c: Likewise.
7798 * util/grub-editenv.c: Likewise.
7799 * util/misc.c: Likewise.
7800
d2d49665 78012009-06-10 Felix Zielcke <fzielcke@z-51.de>
7802
7803 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7804 `genparttoollist.sh'.
7805 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7806 Add `*.sh' to the list find searches for and change `mdate.sh'
7807 to `mdate-sh'.
7808
fe052e37 78092009-06-10 Pavel Roskin <proski@gnu.org>
7810
2763ac18 7811 * include/grub/multiboot2.h: Provide compatibility defines for
7812 multiboot2.h.
7813 * include/multiboot2.h: Include stdint.h only if needed, using
7814 angle brackets.
7815 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7816 grub/multiboot2.h.
7817 * loader/ieee1275/multiboot2.c: Likewise.
7818 * loader/multiboot2.c: Likewise.
7819 * loader/multiboot_loader.c: Likewise.
7820
437e6adc 7821 * configure.ac: Use -nostdlib when probing for the target. It
7822 should not be required to have libc for the target.
7823
06a6836c 7824 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7825 they fail without libc headers for the target.
7826 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7827 exports.
7828 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7829 preprocessor conditionals.
7830
fe052e37 7831 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7832 build system doesn't need to be aware of the tar.c internals.
7833
afd22553 78342009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 7835
afd22553 7836 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 7837
6b787c4f 78382009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7839
7840 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7841 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7842
78432009-06-09 Felix Zielcke <fzielcke@z-51.de>
7844
7845 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 7846 aren't available if ata.mod gets used.
6b787c4f 7847
473d1e45 78482009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 7849
473d1e45 7850 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 7851 initialising controller.
473d1e45 7852 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 7853
255a27d4 78542009-06-08 Felix Zielcke <fzielcke@z-51.de>
7855
7856 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7857 to choose between ata and biosdisk module on i386-pc.
7858
473d1e45 78592009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 7860
d55842d8 7861 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7862 Subclass and Programming Interface fields in terms of the 3 byte
7863 Class Code register.
7864 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7865
fa5db0b1 7866 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7867 interface is OHCI. Add grub_dprintf for symmetry with
7868 bus/usb/uhci.c.
7869 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7870 interface is UHCI. Add interf variable for programming
7871 interface. Print interface with class/subclass.
7872
c0947beb 7873 * bus/usb/ohci.c: Set interf with correct field.
7874
69da8877 7875 * bus/usb/uhci.c: Remove unneeded doubled lines.
7876 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7877 Remove whitespace inside comment.
7878
9e172e30 78792009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7880
7881 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7882 as fallback an equivalent option without depth.
7883
de65ee2b 78842009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 Not fail if unable to retrieve C/H/S on LBA disks
7887
473d1e45 7888 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 7889 if unable to retrieve C/H/S on LBA disks
7890
b57ea2c9 78912009-06-08 Pavel Roskin <proski@gnu.org>
7892
7893 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7894 about aliasing.
7895
af361263 78962009-06-08 Felix Zielcke <fzielcke@z-51.de>
7897
7898 * Makefile.in (uninstall): Remove all $lib_DATA files.
7899
4c9ec6b3 79002009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 Bugfix: install on partitionless device
7903
7904 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7905 is a whole disk
7906
e76fc924 79072009-06-08 Felix Zielcke <fzielcke@z-51.de>
7908
7909 * Makefile.in (uninstall): Remove all $include_DATA files.
7910
ba5a0d05 79112009-06-08 Felix Zielcke <fzielcke@z-51.de>
7912
7913 * commands/true.c: New file. Implement the true and false commands.
7914 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7915 (true_mod_SOURCES): New variable.
7916 (true_mod_CFLAGS): Likewise.
7917 (true_mod_LDFLAGS): Likewise.
7918
c8048e32 79192009-06-05 Colin D Bennett <colin@gibibit.com>
7920
7921 Optimized font character lookup using binary search instead of linear
7922 search. Fonts now are required to have the character index ordered by
7923 code point.
7924
7925 * font/font.c (load_font_index): Verify that fonts have ordered
7926 character indices.
7927 (find_glyph): Use binary search instead of linear search to find a
7928 character in a font.
7929
408305be 79302009-06-05 Michael Scherer <misc@mandriva.org>
7931
7932 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
7933 uses case sensitive btree.
7934 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
7935 only for case insensitive filesystems.
7936
8ee1e0d9 79372009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
7940 * conf/common.rmk (search_mod_CFLAGS): likewise
7941
a9966eb1 79422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7943
473d1e45 7944 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7945 compensate a compiler bug
7946
9e7100fb 79472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7948
473d1e45 7949 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7950 instead of '\b'
473d1e45 7951
ede21d71 79522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 Definitions for creating asm symbols with Apple's CC
7955
7956 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7957 [APPLE_CC] (VARIABLE): likewise
7958
9dbf7653 79592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Disable lnxboot.img when compiled
7962 with Apple's CC
7963
7964 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7965 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7966 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7967 [! APPLE_CC] (CODE_LENG): skip
7968 [! APPLE_CC] (setup_sects): likewise
7969 [! APPLE_CC]: skip filling
473d1e45 7970
e93cdc3d 79712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 Address in trampolines based on 32-bit registers when compiled
7974 with Apple's CC
7975
473d1e45 7976 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7977 for addresses
7978 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7979
6c688477 79802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7983
7984 * kern/misc.c [APPLE_CC] (memcpy): new function
7985 [APPLE_CC] (memmove): likewise
7986 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7987 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7988 (memset): likewise
7989 (abort): likewise
7990 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7991 APPLE_CC are defined
7992 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7993 (grub_assert_fail): make prototype conditional
7994
e37ffc5c 79952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7998
473d1e45 7999 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
8000 grub-macho2img
e37ffc5c 8001 (CLEANFILES): add grub-macho2img
8002 (grub_macho2img_SOURCES): new variable
8003 * kern/i386/pc/startup.S (bss_start): new variable
8004 (bss_end): likewise
8005 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
8006 * util/grub-macho2img.c: new file
8007
cf00df31 80082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 Use objconv when compiling with Apple's CC
8011
8012 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
8013 (efiemu64.o): likewise
8014 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
8015 when compiling with Apple's CC
8016 (efiemu64_s.o): likewise
8017 * configure.ac: check for objconv when compiling with Apple's CC
8018 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 8019
d119a20c 80202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 Define segment as well as section when compiling with
8023 Apple's CC
8024
8025 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8026 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8027 (efiemu_convert_pointer): likewise
8028 (efiemu_set_virtual_address_map): likewise
8029 (efiemu_convert_pointer): likewise
8030 (efiemu_getcrc32): likewise
8031 (init_crc32_table): likewise
8032 (reflect): likewise
8033 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8034 (GRUB_MOD_DEP): likewise
473d1e45 8035
c8600122 80362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 Allow a compilation without -mcmodel=large
8039
8040 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8041 when compiled without -mcmodel=large
473d1e45 8042 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 8043 without -mcmodel=large
473d1e45 8044 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 8045 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 8046
e8df1d4e 80472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Remove nested functions in efiemu core
8050
8051 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 8052
cc6c3ac1 80532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8056
8057 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8058 temporary storage
473d1e45 8059 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8060 using Apple's CC
cc6c3ac1 8061 (grub_cpu_is_tsc_supported): likewise
8062 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 8063
3e325901 80642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 Absolute addressing through constant with Apple's cc
8067
8068 * kern/i386/pc/startup.S: Define necessary constants
8069 and address through it when using ABS with Apple's CC
8070 * boot/i386/pc/diskboot.S: likewise
8071 * boot/i386/pc/boot.S: likewise
8072 * boot/i386/pc/lnxboot.S: likewise
8073 * boot/i386/pc/cdboot.S: likewise
8074 * mmap/i386/pc/mmap_helper.S: likewise
8075 * commands/i386/pc/drivemap_int13h.S: likewise
8076
2b167a72 80772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 Check if compiler is apple cc
8080
8081 * Makefile.in (ASFLAGS): new variable
8082 (TARGET_ASFLAGS): likewise
8083 (TARGET_MODULE_FORMAT): likewise
8084 (TARGET_APPLE_CC): likewise
8085 (OBJCONV): likewise
8086 (TARGET_IMG_CFLAGS): likewise
8087 (TARGET_CPPFLAGS): add includedir
8088 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8089 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8090 Check for linker script only if compiler isn't Apple's CC
8091 (TARGET_MODULE_FORMAT): set
8092 (TARGET_APPLE_CC): likewise
8093 (TARGET_ASFLAGS): likewise
8094 (ASFLAGS): likewise
8095 Check for objcopy only if compiler isn't Apple's CC
8096 Check for BSS symbol only if compiler isn't Apple's CC
8097 * genmk.rb: adapt nm options if we use Apple's utils
8098 * aclocal.m4 (grub_apple_cc): new test
8099 (grub_apple_target_cc): likewise
473d1e45 8100
fb14123e 81012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 Simplify sed expressions and improve awk
8104
8105 * Makefile.in (install-local): simplify sed expression
8106 * gencmdlist.sh: likewise
8107 * genmoddep.awk: avoid adding module as a dependency of itself
8108
5b889789 81092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 Add missing start symbols
8112
8113 * boot/i386/pc/boot.S: add start
fb14123e 8114 * boot/i386/pc/pxeboot.S: likewise
473d1e45 8115
fd2bf2e3 81162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 8119
8120 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 8121 (relocate_addresses): consider both r_addend and value at offset
8122 (make_mods_section): zerofill modinfo and header
8123 (convert_elf): write prefix here
473d1e45 8124
5389763d 81252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 Use .asciz instead of .string
8128
8129 * i386/pc/diskboot.S: use .asciz instead of .string
8130 * i386/pc/boot.S: likewise
8131 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8132 (GRUB_MOD_NAME): likewise
473d1e45 8133
3eb5ed4e 81342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 gfxpayload support
8137
8138 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8139 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8140 (grub_video_setup): remove
8141 (grub_video_set_mode): new prototype
8142 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8143 (vid_mode): remove
8144 (linux_vesafb_res): compile only on PCBIOS
8145 (grub_linux_boot): support gfxpayload
8146 * loader/i386/pc/xnu.c (video_hook): new function
8147 (grub_xnu_set_video): support gfxpayload
8148 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8149 (DEFAULT_VIDEO_HEIGHT): likewise
8150 (DEFAULT_VIDEO_FLAGS): likewise
8151 (DEFAULT_VIDEO_MODE): new definition
8152 (video_hook): new function
8153 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8154 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8155 loading xnu
8156 * video/video.c (grub_video_setup): removed
473d1e45 8157 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8158 grub_video_setup
8159
4b0e1143 81602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 Avoid calling biosdisk in drivemap
8163
8164 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8165 (revparse_biosdisk): likewise
8166 (list_mappings): derive name from id directly
8167 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8168
fda6cb98 81692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 Script fixes
8172
8173 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8174 (grub_lexer_param): add tokenonhold
8175 (grub_script_create_cmdline): remove cmdline. All callers updated
8176 (grub_script_function_create): make functionname
8177 grub_script_arg. All callers updated
8178 (grub_script_execute_argument_to_string): new prototype
8179 * kern/parser.c (state_transitions): reorder
8180 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8181 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8182 make global
8183 (grub_script_execute_cmdline): use new format
8184 * script/sh/function.c (grub_script_function_create): make functionname
8185 grub_script_arg. All callers updated
473d1e45 8186 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8187 (grub_script_yylex): remove
8188 (grub_script_yylex2): renamed to ...
8189 (grub_script_yylex): ...renamed
8190 parse the expressions like a${b}c
8191 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8192 (GRUB_PARSER_TOKEN_VAR): remove
8193 (GRUB_PARSER_TOKEN_NAME): likewise
8194 ("if"): declare as typeless
8195 ("while"): likewise
8196 ("function"): likewise
8197 ("else"): likewise
8198 ("then"): likewise
8199 ("fi"): likewise
8200 (text): remove
8201 (argument): likewise
8202 (script): accept empty scripts and make exit on error
8203 (arguments): use GRUB_PARSER_TOKEN_ARG
8204 (function): likewise
8205 (command): move error handling to script
8206 (menuentry): move grub_script_lexer_ref before
473d1e45 8207 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8208 argument. All callers updated
8209
f4448a07 82102009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8211
8212 Prevent GRUB from probing floppies during boot.
8213
8214 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8215 * commands/search.c (options): Add --no-floppy.
8216 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8217 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8218 --no-floppy when searching for UUIDs.
8219
2bf5885a 82202009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8221
8222 Simplify the code duplication in commands/search.c.
8223
8224 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8225 (search_fs): ... this. Update all users.
8226
f6fd460a 82272009-06-03 Felix Zielcke <fzielcke@z-51.de>
8228
8229 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8230
cbb3c83e 82312009-05-28 Pavel Roskin <proski@gnu.org>
8232
57788cfd 8233 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8234 Remove the original symlink explicitly.
8235
cbb3c83e 8236 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8237 just one slash. That's how grub_fshelp_find_file() does it.
8238
cd0d5e30 82392009-05-26 Pavel Roskin <proski@gnu.org>
8240
f0f8bbe2 8241 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8242 to `str'.
8243
cd0d5e30 8244 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8245 possibly unused.
8246
8c2cab51 82472009-05-25 Christian Franke <franke@computer.org>
8248
8249 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8250 register.
8251 (grub_atapi_identify): Add wait after drive select.
8252 (grub_ata_identify): Do more strict status register check before
8253 calling grub_atapi_identify (). Suppress error message if status
8254 register is 0x00 after command failure. Add status register
8255 check after PIO read to avoid bogus identify due to stuck DRQ.
8256 Thanks to Pavel Roskin for testing.
8257 (grub_device_initialize): Remove unsafe status register check.
8258 Thanks to 'phcoder' for problem report and patch.
8259 Prevent sign extension in debug message.
8260
230c0ad6 82612009-05-23 Colin D Bennett <colin@gibibit.com>
8262
8263 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8264 definition file, and functions defined in `normal/menu.c' have had
8265 their prototypes moved to `include/grub/menu.h' for consistency.
8266
8267 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8268 from normal.h.
8269 (grub_menu_get_entry): Likewise.
8270 (grub_menu_get_timeout): Likewise.
8271 (grub_menu_set_timeout): Likewise.
8272 (grub_menu_execute_entry): Likewise.
8273 (grub_menu_execute_with_fallback): Likewise.
8274 (grub_menu_entry_run): Likewise.
8275
8276 * include/grub/normal.h: Re-ordered and grouped function
8277 prototypes by file that the function is defined in.
8278 (grub_menu_execute_callback): Removed; moved to menu.h.
8279 (grub_menu_get_entry): Likewise.
8280 (grub_menu_get_timeout): Likewise.
8281 (grub_menu_set_timeout): Likewise.
8282 (grub_menu_execute_entry): Likewise.
8283 (grub_menu_execute_with_fallback): Likewise.
8284 (grub_menu_entry_run): Likewise.
8285 (grub_menu_addentry): Renamed from this ...
8286 (grub_normal_add_menu_entry): ... to this.
8287
8288 * normal/main.c (grub_menu_addentry): Renamed from this ...
8289 (grub_normal_add_menu_entry): ... to this.
8290
8291 * script/sh/execute.c (grub_script_execute_menuentry): Update
8292 reference to renamed grub_menu_addentry function.
8293
861f03a5 82942009-05-23 Felix Zielcke <fzielcke@z-51.de>
8295
8296 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8297
96b1619a 82982009-05-22 Pavel Roskin <proski@gnu.org>
8299
bf6a5fb2 8300 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8301 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8302 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8303 compiling for the i386 targets, but not for the utilities.
8304
96b1619a 8305 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8306 to grub_uint8_t.
8307 (grub_root_drive): Likewise.
8308 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8309 remove alignment.
8310 (grub_root_drive): Change size to byte.
8311 (grub_start_addr): Remove.
8312 (grub_end_addr): Likewise.
8313 (grub_apm_bios_info): Likewise.
8314
b729776b 83152009-05-21 Felix Zielcke <fzielcke@z-51.de>
8316
8317 * normal/i386: Remove.
8318 * normal/powerpc: Likewise.
8319 * normal/sparc64: Likewise.
8320 * normal/x86_64: Likewise.
8321
0a15ce80 83222009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8325 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8326 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8327
33db9015 83282009-05-18 Colin D Bennett <colin@gibibit.com>
8329
d6da58e6 8330 Display error messages when parsing a Lua statement fails.
8331 Previously, executing a syntactically invalid statement like
8332 ")foo" or "bar;" would silently fail.
33db9015 8333
8334 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8335 (grub_lua_parse_line): Improved reporting of Lua parser and
8336 execution errors.
33db9015 8337
46422c89 83382009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 Remove -Werror which causes build to fail on some systems
8341
8342 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8343 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8344 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8345
22f53a96 83462009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 trampoline for linux on 64-bit platform
8349
18f547ad 8350 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8351 loader/i386/efi/linux_trampoline.S
8352 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8353 declaration
d6da58e6 8354 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8355 here
22f53a96 8356 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8357 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8358 trampoline
22f53a96 8359 (jumpvector): removed
8360 (grub_linux_trampoline_start): new declaration
8361 (grub_linux_trampoline_end): likewise
8362 (grub_linux_boot): use trampoline when on 64-bit platform
8363 * loader/i386/linux.c: likewise
8364
cb5a0f40 83652009-05-16 Pavel Roskin <proski@gnu.org>
8366
8367 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8368 const to avoid a warning.
8369 (grub_lua_setenv): Likewise.
8370 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8371 lmsg to fix a warning.
8372
334f2c28 83732009-05-16 Felix Zielcke <fzielcke@z-51.de>
8374
8375 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8376 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8377 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8378 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8379 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8380 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8381 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8382 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8383
59e5d3ec 83842009-05-16 Felix Zielcke <fzielcke@z-51.de>
8385
8386 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8387
9d87a1ba 83882009-05-16 Bean <bean123ch@gmail.com>
8389
8390 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8391 (lua_mod_SOURCES): New variable.
8392 (lua_mod_CFLAGS): Likewise.
8393 (lua_mod_LDFLAGS): Likewise.
8394
8395 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8396 (setjmp_mod_SOURCES): New variable.
8397 (setjmp_mod_CFLAGS): Likewise.
8398 (setjmp_LDFLAGS): Likewise.
8399
8400 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8401 (setjmp_mod_SOURCES): New variable.
8402 (setjmp_mod_CFLAGS): Likewise.
8403 (setjmp_LDFLAGS): Likewise.
8404
8405 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8406 (setjmp_mod_SOURCES): New variable.
8407 (setjmp_mod_CFLAGS): Likewise.
8408 (setjmp_LDFLAGS): Likewise.
8409
8410 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8411 (setjmp_mod_SOURCES): New variable.
8412 (setjmp_mod_CFLAGS): Likewise.
8413 (setjmp_LDFLAGS): Likewise.
8414
8415 * normal/i386/setjmp.S: Moved from here ...
8416 * lib/i386/setjmp.S: ... Moved here
8417 * normal/x86_64/setjmp.S: Moved from here ...
8418 * lib/x86_64/setjmp.S: ... Moved here
8419 * normal/powerpc/setjmp.S: Moved from here ...
8420 * lib/powerpc/setjmp.S: ... Moved here
8421 * normal/sparc64/setjmp.S: Moved from here ...
8422 * lib/sparc64/setjmp.S: ... Moved here
8423
8424 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8425 returns_twice in mingw.
8426
8427 * script/lua/grub_lib.c: New file.
8428 * script/lua/grub_lib.h: Likewise.
8429 * script/lua/grub_lua.h: Likewise.
8430 * script/lua/grub_main.c: Likewise.
8431 * script/lua/lapi.c: Likewise.
8432 * script/lua/lapi.h: Likewise.
8433 * script/lua/lauxlib.c: Likewise.
8434 * script/lua/lauxlib.h: Likewise.
8435 * script/lua/lbaselib.c: Likewise.
8436 * script/lua/lcode.c: Likewise.
8437 * script/lua/lcode.h: Likewise.
8438 * script/lua/ldblib.c: Likewise.
8439 * script/lua/ldebug.c: Likewise.
8440 * script/lua/ldebug.h: Likewise.
8441 * script/lua/ldo.c: Likewise.
8442 * script/lua/ldo.h: Likewise.
8443 * script/lua/ldump.c: Likewise.
8444 * script/lua/lfunc.c: Likewise.
8445 * script/lua/lfunc.h: Likewise.
8446 * script/lua/lgc.c: Likewise.
8447 * script/lua/lgc.h: Likewise.
8448 * script/lua/linit.c: Likewise.
8449 * script/lua/liolib.c: Likewise.
8450 * script/lua/llex.c: Likewise.
8451 * script/lua/llex.h: Likewise.
8452 * script/lua/llimits.h: Likewise.
8453 * script/lua/lmathlib.c: Likewise.
8454 * script/lua/lmem.c: Likewise.
8455 * script/lua/lmem.h: Likewise.
8456 * script/lua/loadlib.c: Likewise.
8457 * script/lua/lobject.c: Likewise.
8458 * script/lua/lobject.h: Likewise.
8459 * script/lua/lopcodes.c: Likewise.
8460 * script/lua/lopcodes.h: Likewise.
8461 * script/lua/loslib.c: Likewise.
8462 * script/lua/lparser.c: Likewise.
8463 * script/lua/lparser.h: Likewise.
8464 * script/lua/lstate.c: Likewise.
8465 * script/lua/lstate.h: Likewise.
8466 * script/lua/lstring.c: Likewise.
8467 * script/lua/lstring.h: Likewise.
8468 * script/lua/lstrlib.c: Likewise.
8469 * script/lua/ltable.c: Likewise.
8470 * script/lua/ltable.h: Likewise.
8471 * script/lua/ltablib.c: Likewise.
8472 * script/lua/ltm.c: Likewise.
8473 * script/lua/ltm.h: Likewise.
8474 * script/lua/lua.h: Likewise.
8475 * script/lua/luaconf.h: Likewise.
8476 * script/lua/lualib.h: Likewise.
8477 * script/lua/lundump.c: Likewise.
8478 * script/lua/lundump.h: Likewise.
8479 * script/lua/lvm.c: Likewise.
8480 * script/lua/lvm.h: Likewise.
8481 * script/lua/lzio.c: Likewise.
8482 * script/lua/lzio.h: Likewise.
8483
5e898c9d 84842009-05-16 Bean <bean123ch@gmail.com>
8485
8486 * include/grub/kernel.h (grub_module_header_types): Add type
8487 OBJ_TYPE_CONFIG.
8488
8489 * kern/main.c (grub_load_config): New function.
8490 (grub_main): Call grub_load_config to read boot config.
8491
8492 * grub-mkimage (generate_image): New parameter config_path.
8493 (options): New option --config.
8494 (main): Parse --config option, and pass it to generate_image.
8495
cf353a47 84962009-05-14 Christian Franke <franke@computer.org>
8497
8498 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
8499 This fixes build on Cygwin.
8500
3834887f 85012009-05-14 Pavel Roskin <proski@gnu.org>
8502
8503 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
8504 jump. This saves two bytes, so the typical case of 2 swapped
8505 drives would fit 32 bytes.
8506
8090fc01 85072009-05-13 Pavel Roskin <proski@gnu.org>
8508
ac963883 8509 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
8510 grub_uint32_t to avoid a warning.
8511
8090fc01 8512 * loader/i386/linux.c (allocate_pages): When assigning
8513 real_mode_mem, cast through grub_size_t to fix a warning. The
8514 code already makes sure that the value would fit a pointer.
8515 (grub_linux_setup_video): Cast render_target->data to
8516 grub_size_t to fix a warning.
8517
18f547ad 85182009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 8519
8520 * commands/i386/pc/drivemap.c: New file - implement drivemap
8521 command.
8522 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
8523 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
8524
6f6a8b28 85252009-05-13 Pavel Roskin <proski@gnu.org>
8526
8527 * util/i386/pc/grub-setup.c (setup): Remove unused variable
8528 embedding_area_exists.
8529
15fbf4c4 85302009-05-13 Robert Millan <rmh.grub@aybabtu.com>
8531
8532 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
8533 it easier to understand / work with.
59978c8a 8534 Improve warning messages for cases where there's no embedding area,
8535 or when it is too small (or core.img too large).
15fbf4c4 8536
238e871f 85372009-05-13 Pavel Roskin <proski@gnu.org>
8538
0ab3a9a4 8539 * loader/i386/pc/multiboot2.c: Add necessary includes for
8540 grub_multiboot2_real_boot().
8541
a2c8c5f8 8542 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
8543 PX record is always little-endian. We only need the lower 2
8544 bytes of the mode.
8545
faec96af 8546 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
8547 facilitate code reuse.
8548 (grub_cpio_mount): Use "struct head", not a char buffer. This
8549 fixes a warning reported by gcc 4.4.
8550
238e871f 8551 * kernel/disk.c (grub_disk_read): Use void pointer for the
8552 buffer.
8553 (grub_disk_write): Use const void pointer for the buffer.
8554 Adjust all callers. Remove unnecessary casts.
8555
901d2f0c 85562009-05-10 Robert Millan <rmh.grub@aybabtu.com>
8557
8558 * util/i386/pc/grub-install.in: Update copyright year.
8559
18f547ad 85602009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 8561
8562 gptsync
8563
8564 * commands/gptsync.c: new file
8565 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
8566 (gptsync_mod_SOURCES): new variable
8567 (gptsync_mod_CFLAGS): likewise
8568 (gptsync_mod_LDFLAGS): likewise
18f547ad 8569 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 8570 new definition
8571 (GRUB_PC_PARTITION_TYPE_HFS): likewise
8572 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
8573 * conf/i386-ieee1275.rmk: likewise
8574 * conf/i386-pc.rmk: likewise
8575 * conf/powerpc-ieee1275.rmk: likewise
8576
b4ba690a 85772009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 Fixed grub-emu
8580
8581 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
8582 (grub_dl_ref): likewise
8583
317e1a44 85842009-05-08 Robert Millan <rmh.grub@aybabtu.com>
8585
8586 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
8587 split in two functions (one for msdos and one for gpt).
8588
041b8094 85892009-05-08 Pavel Roskin <proski@gnu.org>
8590
752473c2 8591 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
8592 not modified.
8593
041b8094 8594 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
8595 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
8596 Initialize them with -1. Add sanity check for bad1. Eliminate
8597 nerr variable.
8598
172800ce 85992009-05-08 David S. Miller <davem@davemloft.net>
8600
8601 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
8602
29aa5e81 86032009-05-06 Robert Millan <rmh.grub@aybabtu.com>
8604
8605 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 8606 existence.
29aa5e81 8607
96613b62 86082009-05-05 Felix Zielcke <fzielcke@z-51.de>
8609
8610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 8611 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 8612
eef73c8a 86132009-05-05 David S. Miller <davem@davemloft.net>
8614
8615 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
8616
119494b5 86172009-05-05 Pavel Roskin <proski@gnu.org>
8618
8619 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
8620 of grub_dl_ref() and grub_dl_unref().
8621 * commands/parttool.c: Remove preprocessor conditionals around
8622 grub_dl_ref() and grub_dl_unref().
8623 * fs/affs.c: Likewise.
8624 * fs/afs.c: Likewise.
8625 * fs/cpio.c: Likewise.
8626 * fs/ext2.c: Likewise.
8627 * fs/fat.c: Likewise.
8628 * fs/hfs.c: Likewise.
8629 * fs/hfsplus.c: Likewise.
8630 * fs/iso9660.c: Likewise.
8631 * fs/jfs.c: Likewise.
8632 * fs/minix.c: Likewise.
8633 * fs/ntfs.c: Likewise.
8634 * fs/reiserfs.c: Likewise.
8635 * fs/sfs.c: Likewise.
8636 * fs/udf.c: Likewise.
8637 * fs/ufs.c: Likewise.
8638 * fs/xfs.c: Likewise.
8639 * include/grub/dl.h: Likewise.
8640 * loader/xnu.c: Likewise.
8641
de5fd76e 86422009-05-04 Pavel Roskin <proski@gnu.org>
8643
8644 * commands/acpi.c: Remove unused variable my_mod.
8645 * partmap/amiga.c: Likewise.
8646 * partmap/apple.c: Likewise.
8647 * partmap/gpt.c: Likewise.
8648 * partmap/pc.c: Likewise.
8649 * partmap/sun.c: Likewise.
8650 * term/gfxterm.c: Likewise.
8651 * term/i386/pc/vesafb.c: Likewise.
8652 * term/i386/pc/vga.c: Likewise.
8653
983598ad 86542009-05-04 David S. Miller <davem@davemloft.net>
8655
8656 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
8657 pointer args to grub_ieee1275_get_property().
8658
8aadec43 8659 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
8660
9554b15e 8661 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
8662 devices, and do not traverse down under controller nodes.
8663
67e23c90 8664 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
8665 (grub_ofdisk_open): Use it to un-escape "," characters.
8666 * kern/disk.c (find_part_sep): New.
8667 (grub_disk_open): Use it to find the first non-escaped ','
8668 character in the disk name.
8669 * util/ieee1275/devicemap.c (escape_of_path): New.
8670 (grub_util_emit_devicemap_entry): Use it.
8671 * util/sparc64/ieee1275/grub-install.in: Update script to
8672 strip partition specifiers properly by not triggering on
8673 '\' escaped ',' characters.
8674
74bfdd2f 86752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8676
8677 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
8678 to 0x300.
8679 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
8680 resolutions.
8681 (linux_vesafb_modes): Add a lot of additional modes to the list (based
8682 on documentation from Wikipedia).
8683
4241d2b1 86842009-05-04 Pavel Roskin <proski@gnu.org>
8685
8686 * disk/ata.c: Spelling fixes.
8687 * disk/raid.c: Likewise.
8688 * disk/usbms.c: Likewise.
8689 * disk/dmraid_nvidia.c: Likewise.
8690 * kern/ieee1275/openfw.c: Likewise.
8691 * kern/ieee1275/init.c: Likewise.
8692 * kern/ieee1275/cmain.c: Likewise.
8693 * boot/i386/pc/cdboot.S: Likewise.
8694 * video/readers/png.c: Likewise.
8695 * video/i386/pc/vbe.c: Likewise.
8696 * fs/udf.c: Likewise.
8697 * fs/hfs.c: Likewise.
8698 * fs/reiserfs.c: Likewise.
8699 * efiemu/runtime/efiemu.c: Likewise.
8700 * efiemu/main.c: Likewise.
8701 * efiemu/mm.c: Likewise.
8702 * include/grub/elf.h: Likewise.
8703 * include/grub/xnu.h: Likewise.
8704 * include/grub/usbdesc.h: Likewise.
8705 * include/grub/usb.h: Likewise.
8706 * include/grub/script_sh.h: Likewise.
8707 * include/grub/lib/LzmaEnc.h: Likewise.
8708 * include/grub/efiemu/efiemu.h: Likewise.
8709 * include/grub/command.h: Likewise.
8710 * normal/menu.c: Likewise.
8711 * normal/main.c: Likewise.
8712 * normal/datetime.c: Likewise.
8713 * bus/usb/uhci.c: Likewise.
8714 * mmap/i386/uppermem.c: Likewise.
8715 * mmap/mmap.c: Likewise.
8716 * commands/acpi.c: Likewise.
8717 * commands/test.c: Likewise.
8718 * partmap/apple.c: Likewise.
8719 * font/font.c: Likewise.
8720 * loader/sparc64/ieee1275/linux.c: Likewise.
8721 * loader/macho.c: Likewise.
8722 * loader/i386/bsd_trampoline.S: Likewise.
8723 * loader/i386/bsd.c: Likewise.
8724 * loader/xnu.c: Likewise.
8725 * term/i386/pc/vesafb.c: Likewise.
8726 * term/usb_keyboard.c: Likewise.
8727 * util/resolve.c: Likewise.
8728 * util/getroot.c: Likewise.
8729
0cfc0083 87302009-05-04 Felix Zielcke <fzielcke@z-51.de>
8731
8732 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
8733
7c1d00cd 87342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8735
8736 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
8737 build error.
8738
b01f0548 87392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8740
8741 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
8742 parameter only available on BIOS.
8743
ecc3eb22 87442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Removed wrong semicolon in declaration
8747
8748 * grub/misc.h (grub_dprintf): remove semicolon
8749
112972a9 87502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8751
8752 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8753 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8754 is done by grub_cmd_linux() now).
8755 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8756 restore video to text mode.
8757 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8758 indicates lack of "vga=" parameter. "vga=0" is mapped to
8759 `GRUB_LINUX_VID_MODE_NORMAL'.
8760
afd5c115 87612009-05-04 Felix Zielcke <fzielcke@z-51.de>
8762
8763 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8764 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8765 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 8766 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 8767 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8768 `grub_script.tab.c'.
8769
8770 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8771 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8773 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8774 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8775
faa517ce 8776 * Makefile.in: Remove duplicated 2008 in Copyright line.
8777
ae0c0bdc 87782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8779
473d1e45 8780 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 8781 unconditionally.
8782 * include/grub/util/misc.h (grub_util_warn): New declaration.
8783
8784 * util/i386/pc/grub-install.in: Understand --force and pass it down
8785 to grub-setup.
8786
8787 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8788 down to setup().
8789 (setup): Improve error messages and add warnings when requested to
8790 install in odd layouts. Refuse to install using blocklists unless
8791 --force was set.
8792
18f547ad 87932009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8794
8795 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8796
6d260daa 87972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 Updated copyright year
8800
8801 * fs/hfsplus.c: updated copyright year
18f547ad 8802
69f853f8 88032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 HFS+ UUID
8806
18f547ad 8807 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8808 in the space previously used by unused3
8809 (grub_hfsplus_uuid): new function
8810 (grub_hfsplus_fs): added uuid field
8811
4c402e73 88122009-05-03 Pavel Roskin <proski@gnu.org>
8813
8814 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8815 suppress warnings. It's no longer needed.
8816 * disk/host.c: Likewise.
8817 * disk/ata_pthru.c: Likewise.
8818 * disk/loopback.c: Likewise.
8819 * hook/datehook.c: Likewise.
8820 * parttool/pcpart.c: Likewise.
8821 * fs/i386/pc/pxe.c: Likewise.
8822 * fs/ntfscomp.c: Likewise.
8823 * efiemu/main.c: Likewise.
8824 * mmap/mmap.c: Likewise.
8825 * commands/crc.c: Likewise.
8826 * commands/hexdump.c: Likewise.
8827 * commands/hdparm.c: Likewise.
8828 * commands/acpi.c: Likewise.
8829 * commands/echo.c: Likewise.
8830 * commands/minicmd.c: Likewise.
8831 * commands/blocklist.c: Likewise.
8832 * commands/memrw.c: Likewise.
8833 * commands/loadenv.c: Likewise.
8834 * commands/usbtest.c: Likewise.
8835 * commands/lsmmap.c: Likewise.
8836 * commands/boot.c: Likewise.
8837 * commands/parttool.c: Likewise.
8838 * commands/configfile.c: Likewise.
8839 * commands/search.c: Likewise.
8840 * commands/ieee1275/suspend.c: Likewise.
8841 * commands/cat.c: Likewise.
8842 * commands/i386/pc/pxecmd.c: Likewise.
8843 * commands/i386/pc/play.c: Likewise.
8844 * commands/i386/pc/halt.c: Likewise.
8845 * commands/i386/pc/vbeinfo.c: Likewise.
8846 * commands/i386/pc/vbetest.c: Likewise.
8847 * commands/lspci.c: Likewise.
8848 * commands/date.c: Likewise.
8849 * commands/handler.c: Likewise.
8850 * commands/ls.c: Likewise.
8851 * commands/test.c: Likewise.
8852 * commands/cmp.c: Likewise.
8853 * commands/efi/loadbios.c: Likewise.
8854 * commands/efi/fixvideo.c: Likewise.
8855 * commands/halt.c: Likewise.
8856 * commands/help.c: Likewise.
8857 * commands/reboot.c: Likewise.
8858 * hello/hello.c: Likewise.
8859 * script/sh/main.c: Likewise.
8860 * loader/xnu.c: Likewise.
8861 * term/terminfo.c: Likewise.
8862 * term/i386/pc/serial.c: Likewise.
8863 * term/usb_keyboard.c: Likewise.
8864
515b5079 88652009-05-03 David S. Miller <davem@davemloft.net>
8866
8867 * normal/menu.c: Include grub/parser.h
8868
dfc31a22 88692009-05-03 Pavel Roskin <proski@gnu.org>
8870
2fee74f1 8871 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8872 not char*.
8873 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8874 Suggested by Javier Martín <lordhabbit@gmail.com>
8875
dfc31a22 8876 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8877 efiemu??.o doesn't exist.
8878 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8879 copying.
8880
18f547ad 88812009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 8882
8883 FreeBSD 64-bit support
8884
18f547ad 8885 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 8886 and loader/i386/bsd_trampoline.S
8887 (bsd_mod_ASFLAGS): new variable
8888 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8889 (FREEBSD_MODTYPE_KERNEL64): likewise
8890 (grub_bsd64_trampoline_start): likewise
8891 (grub_bsd64_trampoline_end): likewise
8892 (grub_bsd64_trampoline_selfjump): likewise
8893 (grub_bsd64_trampoline_gdt): likewise
8894 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8895 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8896 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8897 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 8898 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 8899 of "attrib" member
8900 * loader/i386/bsd_pagetable.c: new file
8901 * loader/i386/bsd_trampoline.S: likewise
8902 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8903 (ALIGN_VAR): likewise
8904 (entry_hi): new variable
8905 (kern_end_mdofs): likewise
8906 (is_64bit): likewise
8907 (grub_freebsd_add_meta): use ALIGN_VAR
8908 (grub_e820_mmap): new declaration
8909 (grub_freebsd_add_mmap): new function
8910 (grub_freebsd_add_meta_module): support 64 bit kernels
8911 (grub_freebsd_list_modules): use ALIGN_VAR
8912 (gdt_descriptor): new declaration
8913 (grub_freebsd_boot): support 64 bit kernels
8914 (grub_bsd_elf64_hook): new function
8915 (grub_bsd_load_elf): support elf64
8916
038c5720 89172009-05-03 Bean <bean123ch@gmail.com>
8918
8919 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8920 after we get the result of if statement.
8921
fc45fb58 89222009-05-03 Bean <bean123ch@gmail.com>
8923
8924 * Makefile.in (enable_efiemu): New variable.
8925
8926 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
8927 set.
8928 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
8929 path.
8930 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
8931 path, add -mno-red-zone option.
8932 (efiemu64_s.o): Likewise.
8933 (efiemu64.o): Use macro $^ for source file.
8934
8935 * configure.ac (--enable-efiemu): New option.
8936
bbee0f2b 89372009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 xnu support
8940
8941 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8942 (pkglib_MODULES): add xnu.mod
8943 (xnu_mod_SOURCES): new variable
8944 (xnu_mod_CFLAGS): likewise
8945 (xnu_mod_LDFLAGS): likewise
8946 (xnu_mod_ASFLAGS): likewise
8947 * conf/i386-pc.rmk: likewise
8948 * conf/x86_64-efi.rmk: likewise
7dd4a573 8949 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8950 new declaration
8951 * include/grub/i386/macho.h: new file
8952 * include/grub/i386/xnu.h: likewise
8953 * include/grub/macho.h: likewise
8954 * include/grub/machoload.h: likewise
8955 * include/grub/x86_64/macho.h: likewise
8956 * include/grub/x86_64/xnu.h: likewise
8957 * include/grub/xnu.h: likewise
8958 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8959 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8960 * loader/i386/efi/xnu.c: new file
8961 * loader/i386/pc/xnu.c: likewise
8962 * loader/i386/xnu.c: likewise
8963 * loader/i386/xnu_helper.S: likewise
8964 * loader/macho.c: likewise
8965 * loader/xnu.c: likewise
8966 * loader/xnu_resume.c: likewise
8967 * util/grub-dumpdevtree: likewise
8968 * include/grub/i386/pit.h: include grub/err.h
8969 (grub_pit_wait): export
8970 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8971
5caf964d 89722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 Efiemu
7dd4a573 8975
5caf964d 8976 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8977 _linux_efi, linux_efi.
8978 new files in grub-emu
5caf964d 8979 new targets efiemu32.o and efiemu64.o
8980 * loader/linux_normal_efiemu.c: likewise
8981 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8982 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8983 files to copy
8984 * include/grub/autoefi.h: new file
7dd4a573 8985 * include/grub/i386/efiemu.h: likewise
5caf964d 8986 * include/grub/i386/pc/efiemu.h: likewise
8987 * include/grub/efi/api.h: add LL suffix when necessary
8988 new definitions relating to tables
8989 * include/grub/efiemu/efiemu.h: new file
8990 * include/grub/efiemu/runtime.h: likewise
8991 * efiemu/prepare.c: likewise
8992 * efiemu/loadcore_common.c: likewise
8993 * efiemu/loadcore64.c: likewise
8994 * efiemu/runtime/efiemu.sh: likewise
8995 * efiemu/runtime/efiemu.S: likewise
8996 * efiemu/runtime/efiemu.c: likewise
8997 * efiemu/runtime/config.h: likewise
8998 * efiemu/prepare32.c: likewise
8999 * efiemu/main.c: likewise
9000 * efiemu/modules/pnvram.c: likewise
9001 * efiemu/modules/i386: likewise
9002 * efiemu/modules/i386/pc: likewise
9003 * efiemu/modules/acpi.c: likewise
9004 * efiemu/i386/pc/cfgtables.c: likewise
9005 * efiemu/i386/loadcore64.c: likewise
9006 * efiemu/i386/loadcore32.c: likewise
9007 * efiemu/prepare64.c: likewise
9008 * efiemu/loadcore.c: likewise
9009 * efiemu/symbols.c: likewise
9010 * efiemu/mm.c: likewise
9011 * efiemu/loadcore32.c: likewise
7dd4a573 9012
90132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 9014
9015 ACPI spoofing
9016
9017 * commands/acpi.c: new file
9018 * commands/i386/pc/acpi.c: likewise
9019 * commands/efi/acpi.c: likewise
9020 * include/grub/acpi.h: likewise
9021 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9022 (acpi_mod_SOURCES): new variable
9023 (acpi_mod_CFLAGS): likewise
9024 (acpi_mod_LDFLAGS): likewise
9025 * conf/i386-efi.rmk: likewise
9026 * conf/x86_64-efi.rmk: likewise
9027
7dd4a573 90282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 9029
9030 Missing part from mmap patch
9031
9032 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9033 (grub_mmap_unregister)
9034 (grub_mmap_free_and_unregister): use grub_mmap_register
9035
7dd4a573 90362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 9037
9038 Mmap services
9039
9040 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9041 * loader/i386/linux.c (find_mmap_size): likewise
9042 (allocate_pages): likewise
9043 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9044 (grub_fill_multiboot_mmap): likewise
9045 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9046 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9047 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9048 (OPENBSD_MMAP_RESERVED): likewise
9049 * include/grub/i386/pc/memory.h: include grub/memory.h
9050 (grub_lower_mem): removed
9051 (grub_upper_mem): likewise
9052 (GRUB_MACHINE_MEMORY_ACPI): new definition
9053 (GRUB_MACHINE_MEMORY_NVS): likewise
9054 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9055 (GRUB_MACHINE_MEMORY_HOLE): likewise
9056 (grub_machine_mmap_register): likewise
9057 (grub_machine_mmap_unregister): likewise
9058 (grub_machine_get_upper): likewise
9059 (grub_machine_get_lower): likewise
9060 (grub_machine_get_post64): likewise
9061 * include/grub/i386/efi/memory.h: new file
9062 * include/grub/x86_64/efi/memory.h: likewise
9063 * include/grub/efi/memory.h: likewise
9064 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9065 (mmap_mod_SOURCES): new variable
9066 (mmap_mod_LDFLAGS): likewise
9067 (mmap_mod_ASFLAGS): likewise
9068 * conf/i386-coreboot.rmk: likewise
9069 * conf/i386-ieee1275.rmk: likewise
9070 * conf/i386-efi.rmk: likewise
9071 * conf/x86_64-efi.rmk: likewise
9072 * include/grub/types.h (UINT_TO_PTR): new macro
9073 (PTR_TO_UINT32): likewise
9074 (PTR_TO_UINT64): likewise
9075 * include/grub/memory.h: new file
9076 * mmap/i386/pc/mmap.c: likewise
9077 * mmap/i386/pc/mmap_helper.S: likewise
9078 * mmap/i386/uppermem.c: likewise
9079 * mmap/mmap.c: likewise
9080 * mmap/efi/mmap.c: likewise
7dd4a573 9081 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 9082 grub_upper_mem
9083 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9084 (grub_upper_mem): likewise
9085 (grub_machine_init): don't use grub_upper_mem,
9086 make grub_lower_mem local
9087 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9088 grub_mmap_iterate and grub_mmap_get_upper
9089 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9090
d558e6b5 90912009-05-02 Bean <bean123ch@gmail.com>
9092
9093 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9094 script/sh/parser.y.
9095 (pkglib_MODULES): Add normal.mod and sh.mod.
9096 (normal_SOURCES): New variable.
9097 (normal_mod_CFLAGS): Likewise.
9098 (normal_mod_LDFLAGS): Likewise.
9099 (sh_mod_SOURCES): Likewise.
9100 (sh_mod_CFLAGS): Likewise.
9101 (sh_mod_LDFLAGS): Likewise.
9102
9103 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9104 script/sh/lexer.c_DEPENDENCIES.
9105 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9106 kern/rescue_reader.c and kern/rescue_parser.c.
9107 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9108 (grub_emu_SOURCES): Change source files.
9109 (pkglib_MODULES): Remove normal.mod.
9110 (normal_SOURCES): Removed.
9111 (normal_mod_CFLAGS): Likewise.
9112 (normal_mod_LDFLAGS): Likewise.
9113 * conf/i386-coreboot.rmk: Likewise.
9114 * conf/i386-efi.rmk: Likewise.
9115 * conf/i386-ieee1276.rmk: Likewise.
9116 * conf/powerpc-ieee1275.rmk: Likewise.
9117 * conf/sparc64-ieee1275.rmk: Likewise.
9118 * conf/x86_64-efi.rmk: Likewise.
9119
9120 * include/grub/command.h (grub_command_execute): New inline function.
9121
9122 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9123
9124 * include/grub/normal.h: Remove <grub/setjmp.h>.
9125 (grub_fs_module_list): Moved to normal/autofs.c.
9126 (grub_exit_env): Removed.
9127 (grub_command_execute): Likewise.
9128 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9129 parameter script.
9130 (read_command_list): New function declaration.
9131 (read_fs_list): Likewise.
9132
9133 * include/parser.h: Include <grub/reader.h>.
9134 (grub_parser_split_cmdline): Change type of getline parameter.
9135 (grub_parser): New structure.
9136 (grub_parser_class): New variable.
9137 (grub_parser_execute): New function declaration.
9138 (grub_register_rescue_parser): Likewise.
9139 (grub_parser_register): New inline function.
9140 (grub_parser_unregister): Likewise.
9141 (grub_parser_get_current): Likewise.
9142 (grub_parser_set_current): Likewise.
9143
9144 * include/grub/reader.h: New file.
9145 * kern/reader.c: Likewise.
9146 * kern/rescue_parser.c: Likewise.
9147 * kern/rescue_reader.c: Likewise.
9148 * normal/autofs.c: Likewise.
9149 * normal/dyncmd.c: Likewise.
9150
9151 * include/grub/rescue.h: Removed.
9152 * normal/command.h: Likewise.
9153
9154 * include/grub/script.h: Moved to ...
9155 * include/grub/script_sh.h: ... Moved here.
9156 * normal/execute.c: Moved to ...
9157 * script/sh/execute.c: ... Moved here.
9158 * normal/function.c: Moved to ...
9159 * script/sh/function.c: ... Moved here.
9160 * normal/lexer.c: Moved to ...
9161 * script/sh/lexer.c: ... Moved here.
9162 * normal/parser.y: Moved to ...
9163 * script/sh/parser.y: ... Moved here.
9164 * normal/script.c: Moved to ...
9165 * script/sh/script.c: ... Moved here.
9166
9167 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9168 <grub/reader.h>.
9169 (grub_exit_env): Removed.
9170 (fs_module_list): Moved to normal/autofs.c.
9171 (grub_file_getline): Don't handle comment here.
9172 (free_menu): Skip removed field entry->commands.
9173 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9174 script parameter.
9175 (read_config_file): Removed nested parameter, change getline function.
9176 (grub_enter_normal_mode): Removed.
9177 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9178 (read_command_list): Likewise.
9179 (autoload_fs_module): Moved to normal/autofs.c.
9180 (read_fs_list): Likewise.
9181 (reader_nested): New variable.
9182 (grub_normal_execute): Run parser.sh to switch to sh parser.
9183 (grub_cmd_rescue): Removed.
9184 (cmd_normal): Removed.
9185 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9186 rescue command.
9187 (grub_cmdline_run): New function.
9188 (grub_normal_reader_init): Likewise.
9189 (grub_normal_read_line): Likewise.
9190 (grub_env_write_pager): Likewise.
9191 (cmdline): New variable.
9192 (grub_normal_reader): Likewise.
9193 (GRUB_MOD_INIT): Register normal reader and set as current, register
9194 pager hook, register normal command with grub_register_command_prio,
9195 so that it won't show up in command.lst.
9196 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9197 grub_fs_autoload_hook.
9198
9199 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9200 (grub_menu_execute_entry): Replace grub_script_execute with
9201 grub_parser_execute, change parameter to grub_command_execute.
9202
9203 * normal/menu_text.c: Remove <grub/script.h>.
9204
9205 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9206 and <grub/parser.h>.
9207 (run): Change editor_getline to use new parser interface. Change
9208 parameter to grub_command_execute.
9209
9210 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9211 <grub/reader.h> and <grub/parser.h>.
9212 (grub_load_normal_mode): Execute normal command.
9213 (grub_main): Call grub_register_core_commands,
9214 grub_register_rescue_parser and grub_register_rescue_reader, use
9215 grub_reader_loop to enter input loop.
9216
7dd4a573 9217 * kern/parser.c (grub_parser_split_cmdline): Change type of
9218 getline parameter.
d558e6b5 9219 (grub_parser_class): New variable.
9220 (grub_parser_execute): New function.
9221
9222 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9223 * loader/multiboot2.c: Likewise.
9224 * loader/sparc64/ieee1275/linux.c: Likewise.
9225
9226 * util/grub-emu.c (read_command_list): New dummy function.
9227
18db813d 92282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9229
9230 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9231 count to 16 for CCISS and IDA.
9232
6c67de15 92332009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9234
9235 * normal/menu_text.c (grub_wait_after_message): Print a newline
9236 after waiting for user input.
9237
9238 * loader/i386/linux.c: Include `<grub/normal.h>'.
9239 (grub_cmd_linux): Improve the error message about `ask' mode, by
9240 waiting for user input so it's not missed (we can do this, since
9241 user requested interaction).
9242
d9dc87b0 92432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 Added missing lst to grub-mkrescue
9246
9247 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9248 and ${input_dir}/parttool.lst
9249
ac8a2baa 92502009-04-30 David S. Miller <davem@davemloft.net>
9251
ad22a610 9252 * util/hostdisk.c (device_is_wholedisk): New function.
9253 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9254 zero only if device_is_wholedisk() returns true.
9255
6966215d 9256 * util/hostdisk.c (convert_system_partition_to_system_disk):
9257 Handle virtual disk devices named /dev/vdiskX as found on sparc
9258 and powerpc.
9259
ac8a2baa 9260 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9261 lettered partition specifier is found, convert to numbered.
9262
979b4fb4 92632009-04-29 David S. Miller <davem@davemloft.net>
9264
e2bf39b2 9265 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9266 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9267
3c64e104 9268 * normal/command.c: Add missing newline at end of file.
9269
979b4fb4 9270 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9271 warnings.
9272 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9273 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9274 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9275 ihandles have a 32-bit type but need to be stored in a "void *".
9276
136d9f82 92772009-04-28 Pavel Roskin <proski@gnu.org>
9278
9459c306 9279 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9280 not disk. Adjust all dependencies.
2e08a26a 9281 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 9282 grub_disk_close().
9283
136d9f82 9284 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9285 parent's partition, don't copy it by reference, as it gets freed
9286 on close.
9287
7dd4a573 92882009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9289
9290 Preboot hooks support
9291
9292 * commands/boot.c (struct grub_preboot_t): new declaration
9293 (preboots_head): new variable
9294 (preboots_tail): likewise
9295 (grub_loader_register_preboot_hook): new function
9296 (grub_loader_unregister_preboot_hook): likewise
9297 (grub_loader_set): launch preboot hooks
9298 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9299 (grub_loader_register_preboot_hook): new declaration
9300 (grub_loader_unregister_preboot_hook): likewise
9301
5af922b5 93022009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 Warning fix
9305
7dd4a573 9306 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9307 calling grub_dprintf
9308
a5562c30 93092009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 Bug and warning fixes
9312
7dd4a573 9313 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9314 declaration
9315 * commands/test.c (test_parse): fixed bug with file tests and corrected
9316 declaration of find_file
9317
4006f85c 93182009-04-26 Pavel Roskin <proski@gnu.org>
9319
9320 * Makefile.in: Don't install empty manual pages if help2man is
9321 missing. Use help2man option for output, not shell redirection.
9322
5c77c3de 93232009-04-26 David S. Miller <davem@davemloft.net>
9324
9325 * util/grub-mkdevicemap.c (make_device_map): Add missing
9326 NESTED_FUNC_ATTR to process_device().
9327
033b10a8 93282009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 Test command
9331
9332 * commands/test.c: rewritten to use bash-like test
9333
e4343593 93342009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 Parttool autoloading and improvements
9337
7dd4a573 9338 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9339 (parttool.lst): new target
9340 * genmk.rb: generate parttool-*
9341 (CLEANFILES): add #{parttool}
9342 (PARTTOOLFILES): new variable
9343 * genparttoollist.sh: new file
7dd4a573 9344 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9345 (grub_pcpart_type): likewise
9346 * commands/parttool.c (helpmsg): new variable
9347 (grub_cmd_parttool): output help if not enough arguments are supplied
9348 autoload modules
9349 (GRUB_MOD_INIT(parttool)): use helpmsg
9350
0d312500 93512009-04-24 David S. Miller <davem@davemloft.net>
9352
7dd4a573 9353 Avoiding opening same device multiple times in device iterator.
0d312500 9354
9355 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9356 and use it to build a list of partitions in iterate_disk() and
0d312500 9357 iterate_partition().
9358
ac20caff 9359 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9360 on disk->data.
9361
0dcf7495 9362 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9363 grub_devalias_iterate() result instead of unconditional 0.
9364 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9365 Also, capture hook return value, either directly or via
9366 grub_children_iterate(), and propagate to caller.
9367 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9368 grub_children_iterate): Return value is now 'int' instead of
9369 'grub_err_t'.
9370 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9371 like a proper iterator, stopping when hooks return non-zero.
9372 (grub_devalias_iterate): Likewise.
9373
c8c08833 93742009-04-23 David S. Miller <davem@davemloft.net>
9375
9376 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9377
f01005a8 93782009-04-22 David S. Miller <davem@davemloft.net>
9379
9380 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9381 is larger than address_cells, use that value for address_cells too.
9382
4e8269da 9383 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9384 IEEE1275_MAX_PATH_LEN): Define.
9385 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9386 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9387 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9388 'devtype'. Explicitly NULL terminate devalias expansion.
9389
a1447506 9390 * util/sparc64/ieee1275/misc.c: New file.
9391 * util/sparc64/ieee1275/grub-setup.c: New file.
9392 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9393 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9394 * util/sparc64/ieee1275/grub-install.in: New file.
9395 * util/ieee1275/ofpath.c: New file.
9396 * util/ieee1275/devicemap.c: New file.
9397 * util/devicemap.c: New file.
9398 * util/deviceiter.c: New file.
9399 * kern/sparc64/ieee1275/init.c: New file.
9400 * include/grub/util/ofpath.h: New file.
9401 * include/grub/util/deviceiter.h: New file.
9402 * util/grub-mkdevicemap.c: Include deviceiter.h.
9403 Implement using grub_util_emit_devicemap_entry and
9404 grub_util_iterate_devices.
9405 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9406 util/devicemap.c into grub-mkdevicemap
9407 * conf/i386-efi.rmk: Likewise.
9408 * conf/i386-ieee1275.rmk: Likewise.
9409 * conf/i386-pc.rmk: Likewise.
9410 * conf/powerpc-ieee1275.rmk: Likewise.
9411 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9412 images and installation utilities. Build kernel as image
9413 instead of as elf binary. Use common rules as much as possible.
9414
7dd4a573 94152009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 9416
9417 Correct GPT definition
9418
7dd4a573 9419 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 9420 of "attrib" member
9421
c6c5219f 94222009-04-19 Felix Zielcke <fzielcke@z-51.de>
9423
9424 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9425
0552ff9f 94262009-04-19 David S. Miller <davem@davemloft.net>
9427
9428 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9429 (grub_rescue_cmd_linux): Rename to...
9430 (grub_cmd_linux): and fix prototype.
9431 (grub_rescue_cmd_initrd): Rename to...
9432 (grub_cmd_initrd): and fix prototype.
9433 (cmd_linux, cmd_initrd): New.
9434 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9435 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9436
d1a282fc 94372009-04-17 Pavel Roskin <proski@gnu.org>
9438
07c5039f 9439 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9440 format.
9441 (grub_ohci_transfer): Likewise.
9442
b012002d 9443 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9444
1bc09c35 9445 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9446 return without a value. Fix inconsistent indentation.
9447
e0ff9126 9448 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9449 match struct grub_fs.
9450
d1a282fc 9451 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9452 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9453 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9454 * commands/lspci.c (grub_lspci_iter): Likewise.
9455
a96df3f2 94562009-04-16 Bean <bean123ch@gmail.com>
9457
9458 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9459 value.
9460
41bb0fe9 94612009-04-15 Pavel Roskin <proski@gnu.org>
9462
9463 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
9464 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
9465 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
9466 definitions.
9467
596c6970 94682009-04-15 Felix Zielcke <fzielcke@z-51.de>
9469
9470 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 9471 that no multiple data or metadata areas are supported and `Unknown
596c6970 9472 metadata header'.
9473
7dd4a573 94742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 9475
9476 Move loader out of the kernel
9477
9478 * kern/loader.c: moved to ...
9479 * commands/boot.c: ... moved here
9480 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9481 * commands/boot.c (grub_cmd_boot): moved here. All users updated
9482 * include/grub/kernel.h (grub_machine_fini): export
9483 * include/grub/loader.h (grub_loader_is_loaded): update declaration
9484 (grub_loader_set): likewise
9485 (grub_loader_unset): likewise
9486 (grub_loader_boot): likewise
9487 * conf/common.rmk: new module boot.mod
9488 (pkglib_MODULES): add boot.mod
9489 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
9490 (grub_emu_SOURCES): likewise
9491 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
9492 (grub_emu_SOURCES): likewise
9493 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
9494 (grub_emu_SOURCES): likewise
9495 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
9496 (grub_emu_SOURCES): likewise
9497 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
9498 (grub_emu_SOURCES): likewise
7dd4a573 9499 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
9500 (grub_emu_SOURCES): likewise
0d5d5653 9501 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 9502 (grub_emu_SOURCES): likewise
0d5d5653 9503
7dd4a573 95042009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 9505
9506 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 9507
5999d619 9508 * kern/misc.c (grub_itoa): Removed function
9509 (grub_ltoa): likewise
9510 (grub_vsprintf): use grub_lltoa
9511
7dd4a573 95122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 9513
9514 Restore grub-emu
9515
9516 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
9517 * conf/i386-coreboot.rmk: likewise
9518 * conf/i386-ieee1275.rmk: likewise
9519 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9520
20318222 95212009-04-15 Felix Zielcke <fzielcke@z-51.de>
9522
9523 * INSTALL: Add that `./autogen.sh' needs to be run before
9524 `./configure.'.
9525
d05f0df3 95262009-04-14 Bean <bean123ch@gmail.com>
9527
9528 * Makefile.in (pkglib_DATA): Add handler.lst.
9529 (handler.lst): New rule.
9530
9531 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
9532 * conf/i386-coreboot.rmk: Likewise.
9533 * conf/i386-ieee1275.rmk: Likewise.
9534 * conf/i386-efi.rmk: Likewise.
9535 * conf/x86_64-efi.rmk: Likewise.
9536 * conf/powerpc-ieee1275.rmk: Likewise.
9537 * conf/sparc64-ieee1275.rmk: Likewise.
9538
9539 * genhandlerlist.sh: New file.
9540
9541 * genmk.rb: Add rules to generate handler.lst.
9542
9543 * include/grub/normal.h (grub_file_getline): New function definition.
9544 (read_handler_list): Likewise.
9545 (free_handler_list): Likewise.
9546
9547 * include/grub/term.h (grub_term_register_input): Add name parameter
9548 for auto generation of handler.lst.
9549 (grub_term_register_output): Likewise.
9550
9551 * normal/handler.c: New file.
9552
9553 * normal/main.c (get_line): Renamed to grub_file_getline.
9554 (read_config_file): Use the newly renamed grub_file_getline.
9555 (read_command_list): Likewise.
9556 (read_fs_list): Likewise.
9557 (grub_normal_execute): Call read_handler_list to parse handler.lst.
9558 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
9559
9560 * term/efi/console.c (grub_console_init): Add name parameter for auto
9561 generation of handler.lst.
9562 * term/gfxterm.c: Likewise.
9563 * term/i386/pc/at_keyboard.c: Likewise.
9564 * term/i386/pc/console.c: Likewise.
9565 * term/i386/pc/serial.c: Likewise.
9566 * term/i386/pc/vesafb.c: Likewise.
9567 * term/i386/pc/vga.c: Likewise.
9568 * term/i386/pc/vga_text.c: Likewise.
9569 * term/ieee1275/ofconsole.c: Likewise.
9570 * term/usb_keyboard.c: Likewise.
9571
33c846be 95722009-04-14 Bean <bean123ch@gmail.com>
9573
9574 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
9575 properly with null character.
9576
4484e01e 95772009-04-14 Felix Zielcke <fzielcke@z-51.de>
9578
9579 * configure: Remove.
9580 * config.h.in: Likewise.
f93d668e 9581 * stamp-h.in: Likewise.
4484e01e 9582 * DISTLIST: Likewise.
9583 * conf/common.mk: Likewise.
9584 * conf/i386-coreboot.mk: Likewise.
9585 * conf/i386-efi.mk: Likewise.
9586 * conf/i386-ieee1275.mk: Likewise.
9587 * conf/i386.mk: Likewise.
9588 * conf/i386-pc.mk: Likewise.
9589 * conf/powerpc-ieee1275.mk: Likewise.
9590 * conf/sparc64-ieee1275.mk: Likewise.
9591 * conf/x86_64-efi.mk: Likewise.
9592
9593 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
9594 develop on GRUB.
9595
7dd4a573 95962009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 9597 David S. Miller <davem@davemloft.net>
9598
9599 * util/hostdisk.c (make_device_name): Fix buffer length
9600 calculations.
9601
e25b5a8c 96022009-04-14 Felix Zielcke <fzielcke@z-51.de>
9603
9604 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
9605 <sys/param.h> and <sys/sysctl.h>.
9606 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
9607 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
9608 opening the device and reset them afterwards.
9609
1f1f580c 96102009-04-13 Pavel Roskin <proski@gnu.org>
9611
9612 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
9613 Reported by John Stanley <jpsinthemix@verizon.net>
9614
7ebc2d6b 96152009-04-13 Robert Millan <rmh@aybabtu.com>
9616
9617 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 9618 that name for menuentries when appropriate.
7ebc2d6b 9619
d8ba3667 96202009-04-13 Felix Zielcke <fzielcke@z-51.de>
9621
9622 * util/grub.d/10_freebsd.in: Add a missing `fi'.
9623
cba416eb 96242009-04-13 Robert Millan <rmh@aybabtu.com>
9625
9626 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
9627 to Linux, simply abort telling the user it's no longer supported.
9628
a547a745 96292009-04-13 Felix Zielcke <fzielcke@z-51.de>
9630
9631 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 9632 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 9633 `freebsd_loadenv' only when devices.hints exist.
9634
232a769c 96352009-04-13 Pavel Roskin <proski@gnu.org>
9636
9637 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
9638
c3012039 96392009-04-13 Felix Zielcke <fzielcke@z-51.de>
9640
9641 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
9642 partition number.
9643 (grub_drive): Likewise.
9644
234022fe 96452009-04-13 David S. Miller <davem@davemloft.net>
9646
9647 * kern/sparc64/ieee1275/ieee1275.c: New file.
9648 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
9649 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
9650 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
9651 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
9652 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
9653 grub_ieee1275_alloc_physmem): Declare new exported functions.
9654
d8e1836c 9655 * include/grub/sparc64/ieee1275/loader.h: New file.
9656 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9657 * include/grub/sparc64/kernel.h: Likewise.
9658 * loader/sparc64/ieee1275/linux.c: Likewise.
9659
96bd81ec 9660 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
9661 (grub_fstest_SOURCES): Likewise.
9662
6a4737e5 9663 * util/hostdisk.c (make_device_name): Do not make any assumptions
9664 about the length of drive names.
9665
1d7a72fd 9666 * kern/dl.c (grub_dl_load_file): Close file immediately when
9667 we are done using it.
9668
56bc2471 96692009-04-12 David S. Miller <davem@davemloft.net>
9670
9671 * kern/misc.c (grub_ltoa): Fix cast when handling negative
9672 values. Noticed by Pavel Roskin.
9673
df38d0bb 9674 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
9675 target compiler.
7dd4a573 9676
e382e93a 9677 * genmk.rb: Add more flexible image type specification, also
9678 pass --strip-unneeded to objcopy.
9679 * conf/i386-pc.rmk: Use *_FORMAT.
9680 * conf/i386-pc.mk: Rebuilt.
9681
f5dbbca9 9682 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
9683 (OFDISK_HASH_SZ): Define.
9684 (ofdisk_hash): New hash table.
9685 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
9686 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
9687 instead of device phandle which is not unique.
9688
91c88b12 9689 * kern/sparc64/ieee1275/init.c: Delete, replace with...
9690 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
9691 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
9692 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
9693 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
9694 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
9695 GRUB_KERNEL_MACHINE_DATA_END): Define.
9696 (grub_kernel_image_size, grub_total_module_size): Declare.
9697
5b5d4aa5 96982009-04-12 Pavel Roskin <proski@gnu.org>
9699
7dd4a573 9700 * configure.ac: Change the logic when we check for target tools.
9701 Do it when the target is specified and it's different from the
9702 specified value of the host.
5b5d4aa5 9703
c91e1793 97042009-04-11 Felix Zielcke <fzielcke@z-51.de>
9705
9706 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
9707 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
9708 GNU/kFreeBSD. Check if a device is a character device. Use
9709 DIOCGMEDIASIZE to get the size.
9710 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
9711 support for GNU/kFreeBSD.
9712 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: 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_kernel__]: Check if ENT
9717 is a character device instead of a block device.
9718
9719 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
9720 is a character device instead of a block device.
9721
b1ac8644 97222009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
9723
9724 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
9725 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
9726 FreeBSD. Check if a device is a character device. Use
9727 DIOCGMEDIASIZE to get the size.
9728 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
9729 support for FreeBSD.
9730 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
9731 is a character device instead of a block device. Add support for
9732 FreeBSD device names.
9733
9734 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
9735 a character device instead of a block device.
9736 (grub_util_check_char_device): New function.
9737
9738 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
9739 a character device instead of a block device.
9740
9741 * include/grub/util/getroot.h (grub_util_check_char_device): New
9742 prototype.
9743
a3f7515a 97442009-04-11 David S. Miller <davem@davemloft.net>
9745
9746 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
9747 static libgcc.
9748 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
9749 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
9750 function, if present.
9751 (__bswapdi2): Likewise.
9752
0d44993d 9753 * include/grub/sparc64/ieee1275/boot.h: New file.
9754 * boot/sparc64/ieee1275/boot.S: Likewise.
9755 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9756
ed3d2bc2 9757 * kern/misc.c (grub_ltoa): New function.
9758 (grub_vsprintf): Use it to format 'long' integers.
9759
d3bfb59c 97602009-04-10 David S. Miller <davem@davemloft.net>
9761
9762 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9763 slots are of type grub_ieee1275_cell_t.
9764 (grub_nand_read): Likewise.
9765 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9766 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9767 macros are used to compare values in arg/ret block of the call.
9768 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9769 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9770 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9771 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9772 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9773 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9774 grub_ieee1275_close, grub_ieee1275_set_property,
9775 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9776 grub_ieee1275_cell_t.
9777 * kern/ieee1275/openfw.c (grub_map): Likewise.
9778 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9779 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9780
450e2238 9781 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9782 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9783 (grub_devalias_iterate): Likewise.
9784
7dd4a573 97852009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 9786
9787 UFS improvements
9788
9789 * fs/ufs.c (INODE_NBLOCKS): new definition
9790 (struct grub_ufs_dirent): added fields for non-BSD dirents
9791 (grub_ufs_get_file_block): fixed double indirect handling
9792 (grub_ufs_lookup_symlink): use more robust way to determine whether
9793 symlink is inline
9794 (grub_ufs_find_file): support for non-BSD dirents
9795 (grub_ufs_dir): support for non-BSD dirents
9796
e7e6862a 97972009-04-10 Bean <bean123ch@gnail.com>
9798
9799 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9800 attribute, otherwise the size would be wrong for i386 platform.
9801
9802 * include/grub/pci.h (grub_pci_read_word): New inline function.
9803 (grub_pci_read_byte): Likewise.
9804 (grub_pci_write): Likewise.
9805 (grub_pci_write_word): Likewise.
9806 (grub_pci_write_byte): Likewise.
9807
9808 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9809
9810 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9811 (find_framebuf): Scan pci to locate the frame buffer address.
9812
9813 * commands/efi/fixvideo.c: New file.
9814
9815 * commands/efi/loadbios.c: Likewise.
9816
9817 * commands/memrw.c: Likewise.
9818
9819 * util/grub-dumpbios.in: Likewise.
9820
9821 * conf/common.rmk (grub-dumpbios): New utility.
9822 (pkglib_MODULES): New module memrw.mod.
9823 (memrw_mod_SOURCE): New macro.
9824 (memrw_mod_CFLAGS): Likewise.
9825 (memrw_mod_LDFLAGS): Likewise.
9826
7dd4a573 9827 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9828 fixvideo.mod.
9829 (loadbios_mod_SOURCE): New macro.
9830 (loadbios_mod_CFLAGS): Likewise.
9831 (loadbios_mod_LDFLAGS): Likewise.
9832 (fixvideo_mod_SOURCE): Likewise.
9833 (fixvideo_mod_CFLAGS): Likewise.
9834 (fixvideo_mod_LDFLAGS): Likewise.
9835
7dd4a573 9836 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9837 fixvideo.mod.
9838 (loadbios_mod_SOURCE): New macro.
9839 (loadbios_mod_CFLAGS): Likewise.
9840 (loadbios_mod_LDFLAGS): Likewise.
9841 (fixvideo_mod_SOURCE): Likewise.
9842 (fixvideo_mod_CFLAGS): Likewise.
9843 (fixvideo_mod_LDFLAGS): Likewise.
9844
af63ada2 98452009-04-08 Felix Zielcke <fzielcke@z-51.de>
9846
9847 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9848
c2cdde70 98492009-04-07 David S. Miller <davem@davemloft.net>
9850
9851 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9852 support for R_SPARC_OLO10 relocations. Fix compile warning for
9853 R_SPARC_WDISP30 case.
ea3f72cf 9854 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 9855
761319cf 98562009-04-06 Pavel Roskin <proski@gnu.org>
9857
1007d1f5 9858 * include/grub/misc.h (ARRAY_SIZE): New macro.
9859 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9860 New macro.
9861 * loader/i386/linux.c (allocate_pages): Use free_pages().
9862 (grub_linux_unload): Don't use free_pages().
9863 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9864 wrong index. Treat all other modes as text modes.
9865 (grub_cmd_linux): Initialize vid_mode unconditionally to
9866 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9867
761319cf 9868 * commands/help.c (print_command_help): Use cmd->prio, not
9869 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9870
ea761d40 98712009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 9872
ea761d40 9873 Parttool
9874
9875 * parttool/pcpart.c: new file
9876 * commands/parttool.c: likewise
9877 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9878 (parttool_mod_SOURCES): new variable
9879 (parttool_mod_CFLAGS): likewise
9880 (parttool_mod_LDFLAGS): likewise
9881 (pcpart_mod_SOURCES): likewise
9882 (pcpart_mod_CFLAGS): likewise
9883 (pcpart_mod_LDFLAGS): likewise
7dd4a573 9884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 9885 and parttool/pcpart.c
9886 * conf/i386-efi.rmk: likewise
9887 * conf/i386-ieee1275.rmk: likewise
9888 * conf/i386-pc.rmk: likewise
9889 * conf/powerpc-ieee1275.rmk: likewise
9890 * conf/sparc64-ieee1275.rmk: likewise
9891 * conf/x86_64-ieee1275.rmk: likewise
9892
05aaebfb 98932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 Support for mtime and further expandability of dir command
9896
9897 * include/grub/lib/datetime.h: moved to ...
7dd4a573 9898 * include/grub/datetime.h: ... moved here and added
05aaebfb 9899 declaration of grub_unixtime2datetime. All users updated
7dd4a573 9900 * include/grub/fs.h: new syntax for dir and mtime functions in
9901 struct grub_fs
05aaebfb 9902 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9903 and GRUB_FSHELP_FLAGS_MASK
9904 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9905 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9906 (grub_ext2_mtime): new function
9907 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9908 (grub_hfsplus_mtime): new function
9909 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9910 (GRUB_UFS_ATTR_FILE): likewise
9911 (GRUB_UFS_ATTR_LNK): likewise
9912 (struct grub_ufs_sblock): new fields mtime
9913 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9914 all users updated
9915 (grub_ufs_dir): mtime support
9916 (grub_ufs_mtime): new function
9917 * fs/affs.c (grub_affs_dir): use new dir syntax
9918 * fs/afs.c (grub_afs_dir): likewise
9919 * fs/cpio.c (grub_cpio_dir): likewise
9920 * fs/fat.c (grub_fat_find_dir): likewise
9921 * fs/hfs.c (grub_hfs_dir): likewise
9922 * fs/iso9660.c (grub_iso9660_dir): likewise
9923 * fs/jfs.c (grub_jfs_dir): likewise
9924 * fs/minix.c (grub_minix_dir): likewise
9925 * fs/ntfs.c (grub_ntfs_dir): likewise
9926 * fs/reiserfs.c (grub_reiserfs_dir): likewise
9927 * fs/sfs.c (grub_sfs_dir): likewise
9928 * fs/xfs.c (grub_xfs_dir): likewise
9929 * util/hostfs.c (grub_hostfs_dir): likewise
9930 * lib/datetime.c: moved to ...
9931 * normal/datetime.c: ... moved here
9932 (grub_unixtime2datetime): new function
9933 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 9934 * normal/completion.c (iterate_dir): use new dir syntax
9935 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 9936 last modification time of a volume
7dd4a573 9937 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 9938 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 9939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 9940 (normal_mod_SOURCES): likewise
9941 (datetime_mod_SOURCES): Removed lib/datetime.c
9942 * conf/i386-efi.rmk: likewise
7dd4a573 9943 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9944 * conf/i386-pc.rmk: likewise
9945 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9946 * conf/sparc64-ieee1275.rmk: likewise
9947 * conf/x86_64-efi.rmk: likewise
05aaebfb 9948
8a7e1a14 99492009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9952
9953 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9954 on grub_fat_find_dir
9955 (grub_fat_find_dir): use grub_fat_iterate_dir
9956 (grub_fat_label): likewise
9957
04186a9c 99582009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9959
7dd4a573 9960 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9961 and command.h
9962 remove extraneous kernel_elf_HEADERS
9963
da4c0bb6 99642009-04-04 Bean <bean123ch@gnail.com>
9965
9966 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9967
9968 * util/misc.c: Likewise.
9969
54ad9555 99702009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9971
9972 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9973 instead of grub_printf.
9974
7a6bf9f2 99752009-04-03 Robert Millan <rmh@aybabtu.com>
9976
9977 * loader/i386/linux.c (grub_linux_setup_video): Fill
9978 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9979 values from `mode info' structure instead of hardcoded
9980 values.
9981
3fcc2083 99822009-04-01 Pavel Roskin <proski@gnu.org>
9983
9984 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9985 unused now.
9986 * genmk.rb: Likewise.
9987 * configure.ac: Likewise.
9988
5ec9740b 99892009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9990
9991 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9992 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9993
5270cec8 99942009-04-01 David S. Miller <davem@davemloft.net>
9995
9996 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9997 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9998 (grub_setjmp): Mark with 'returns_twice' attribute.
9999 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
10000 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
10001 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
10002
9c3dd854 100032009-04-01 Robert Millan <rmh@aybabtu.com>
10004
10005 Reapply fix from 2008-07-28 which was accidentally reverted; also
10006 perform the same fix to a similar check in same function.
10007
10008 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10009 with the same number are found, just use issue a warning with
10010 grub_dprintf(), as this error has been reported to be non-fatal.
10011
0d818b7e 100122009-03-31 Pavel Roskin <proski@gnu.org>
10013
10014 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
10015 for cross-compilation.
10016
95646d92 100172009-03-30 Robert Millan <rmh@aybabtu.com>
10018
10019 Fix i386-ieee1275 build.
10020
10021 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10022 Remove declaration.
10023
6a003ed1 100242009-03-30 Pavel Roskin <proski@gnu.org>
10025
10026 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10027 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10028 zero-terminated, rely only on the strlen value. Fix comparison
10029 of strings differing in length.
10030
92f33540 100312009-03-30 Robert Millan <rmh@aybabtu.com>
10032
10033 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10034 checking for abi version. Improve error messages on BIOS to notify
10035 user about `linux16' command.
10036
a8c48fd5 100372009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10038
f968172e 10039 Leak fixes
a8c48fd5 10040
f968172e 10041 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10042 in case of collision
10043 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 10044
9c323f09 100452009-03-29 Robert Millan <rmh@aybabtu.com>
10046
10047 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10048 set `vid_mode' accordingly.
10049 (grub_linux_boot): Process `vid_mode' and set video mode.
10050
ae68f423 100512009-03-29 Robert Millan <rmh@aybabtu.com>
10052
10053 * util/grub.d/10_linux.in (linux_entry): New function.
10054 Factorize generation of Linux boot entries.
10055
5709cfc4 100562009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10057
10058 Make the format of Environment Block plain text. The boot loader
10059 part is not tested well yet.
7dd4a573 10060
5709cfc4 10061 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10062 (buffer): Removed.
10063 (envblk): Likewise.
10064 (usage): Remove "info" and "clear". Add "unset". Update the
10065 description of "set", as this does not delete variables any
10066 longer.
10067 (create_envblk_file): Complete rewrite.
10068 (open_envblk_file): Likewise.
10069 (cmd_info): Removed.
10070 (cmd_list): Likewise.
10071 (cmd_set): Likewise.
10072 (cmd_clear): Likewise.
10073 (list_variables): New function.
10074 (write_envblk): Likewise.
10075 (set_variables): Likewise.
10076 (unset_variables): Likewise.
10077 (main): Complete rewrite.
10078
10079 * commands/loadenv.c (buffer): Removed.
10080 (envblk): Likewise.
10081 (open_envblk_file): New function.
10082 (read_envblk_file): Complete rewrite.
10083 (grub_cmd_load_env): Likewise.
10084 (grub_cmd_list_env): Likewise.
10085 (struct blocklist): New struct.
10086 (free_blocklists): New function.
10087 (check_blocklists): Likewise.
10088 (write_blocklists): Likewise.
10089 (grub_cmd_save_env): Complete rewrite.
10090
10091 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10092 a plain text signature.
10093 (GRUB_ENVBLK_MAXLEN): Removed.
10094 (struct grub_envblk): Complete rewrite.
10095 (grub_envblk_find): Removed.
10096 (grub_envblk_insert): Likewise.
10097 (grub_envblk_open): New prototype.
10098 (grub_envblk_set): Likewise.
10099 (grub_envblk_delete): Put const to VALUE.
10100 (grub_envblk_iterate): Put const to NAME and VALUE.
10101 (grub_envblk_close): New prototype.
10102 (grub_envblk_buffer): New inline function.
10103 (grub_envblk_size): Likewise.
10104
10105 * lib/envblk.c: Include grub/mm.h.
10106 (grub_env_find): Removed.
10107 (grub_envblk_open): New function.
10108 (grub_envblk_close): Likewise.
10109 (escaped_value_len): Likewise.
10110 (find_next_line): Likewise.
10111 (grub_envblk_insert): Removed.
10112 (grub_envblk_set): New function.
10113 (grub_envblk_delete): Complete rewrite.
10114 (grub_envblk_iterate): Likewise.
10115
a9368fd3 101162009-03-28 Robert Millan <rmh@aybabtu.com>
10117
10118 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10119 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10120 variables. Use 16-bit loader.
10121 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10122 loader.
10123 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10124 (grub_linux16_boot): ... this. Update all users.
10125 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10126 (grub_linux_boot): ... this. Update all users.
10127
10128 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10129 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10130 commands to `linux16' and `initrd16'.
10131 (GRUB_MOD_FINI(linux)): Rename to ...
10132 (GRUB_MOD_FINI(linux16)): ... this.
10133
e4dd5a7e 101342009-03-24 Pavel Roskin <proski@gnu.org>
10135
10136 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10137 not just for compilation.
10138
c04d6e05 101392009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 Move multiboot helper out of kernel
10142
10143 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10144 `loader/i386/multiboot_helper.S'.
10145 * conf/i386-coreboot.rmk: Likewise
10146 * conf/i386-ieee1275.rmk: Likewise
10147
10148 * kern/i386/loader.S: Move multiboot helpers from here...
10149 * loader/i386/multiboot_helper.S: ...moved here
10150 * include/grub/i386/loader.h: Move declarations of multiboot
10151 helpers from here...
10152 * include/grub/i386/multiboot.h: ...moved here
10153 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10154
42a5b3fc 101552009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10156
10157 * kern/env.c (grub_env_context_open): Added an argument to specify
10158 whether a new context inherits exported variables from current
10159 one. This is useful when making a sandbox to interpret a config
10160 file.
10161 All callers updated.
10162
10163 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10164
b28bbc4e 101652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10166
10167 * kern/env.c (grub_env_context_close): Fix memory leaks.
10168
f04f02e4 101692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10170
10171 * normal/main.c (grub_normal_execute): Added an argument
10172 BATCH to specify if an interactive interface should be provided
10173 after reading a config file.
10174 All callers updated.
10175 (read_command_list): Prevent being executed twice.
10176 (read_fs_list): Likewise.
10177
42a5b3fc 10178 * include/grub/normal.h (grub_normal_execute): Updated the
10179 prototype.
f04f02e4 10180
41473ac2 101812009-03-22 Pavel Roskin <proski@gno.org>
10182
fbc00b0c 10183 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10184 _start.
10185 * kern/i386/pc/startup.S: Likewise.
10186 * kern/i386/efi/startup.S: Likewise.
10187 * kern/i386/ieee1275/startup.S: Likewise.
10188 * kern/i386/coreboot/startup.S: Likewise.
10189 * kern/x86_64/efi/startup.S: Likewise.
10190
41473ac2 10191 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10192 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10193 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10194
2274cc8f 101952009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10198
10199 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10200 limit detection.
10201 Use vaddr of correct segment for entry_point.
10202
b1b797cb 102032009-03-21 Bean <bean123ch@gmail.com>
10204
10205 * commands/blocklist.c: Add include file <grub/command.h>, remove
10206 <grub/normal.h> and <grub/arg.h>.
10207 (grub_cmd_blocklist): Use the new command interface.
10208 (GRUB_MOD_INIT): Likewise.
10209 (GRUB_MOD_FINI): Likewise.
10210 * commands/boot.c: Likewise.
10211 * commands/cat.c: Likewise.
10212 * commands/cmp.c: Likewise.
10213 * commands/configfile.c: Likewise.
10214 * commands/crc.c: Likewise.
10215 * commands/echo.c: Likewise.
10216 * commands/halt.c: Likewise.
10217 * commands/handler.c: Likewise.
10218 * commands/hdparm.c: Likewise.
10219 * commands/help.c: Likewise.
10220 * commands/hexdump.c: Likewise.
10221 * commands/loadenv.c: Likewise.
10222 * commands/ls.c: Likewise.
10223 * commands/lsmmap.c: Likewise.
10224 * commands/lspci.c: Likewise.
10225 * commands/loadenv.c: Likewise.
10226 * commands/read.c: Likewise.
10227 * commands/reboot.c: Likewise.
10228 * commands/search.c: Likewise.
10229 * commands/sleep.c: Likewise.
10230 * commands/test.c: Likewise.
10231 * commands/usbtest.c: Likewise.
10232 * commands/videotest.c: Likewise.
10233 * commands/i386/cpuid.c: Likewise.
10234 * commands/i386/pc/halt.c: Likewise.
10235 * commands/i386/pc/play.c: Likewise.
10236 * commands/i386/pc/pxecmd.c: Likewise.
10237 * commands/i386/pc/vbeinfo.c: Likewise.
10238 * commands/i386/pc/vbetest.c: Likewise.
10239 * commands/ieee1275/suspend.c: Likewise.
10240 * disk/loopback.c: Likewise.
10241 * font/font_cmd.c: Likewise.
10242 * hello/hello.c: Likewise.
10243 * loader/efi/appleloader.c: Likewise.
10244 * loader/efi/chainloader.c: Likewise.
10245 * loader/i386/bsd.c: Likewise.
10246 * loader/i386/efi/linux.c: Likewise.
10247 * loader/i386/ieee1275/linux.c: Likewise.
10248 * loader/i386/linux.c: Likewise.
10249 * loader/i386/pc/chainloader.c: Likewise.
10250 * loader/i386/pc/linux.c: Likewise.
10251 * loader/powerpc/ieee1275/linux.c: Likewise.
10252 * loader/multiboot_loader.c: Likewise.
10253 * term/gfxterm.c: Likewise.
10254 * term/i386/pc/serial.c: Likewise.
10255 * term/terminfo.c: Likewise.
10256
10257 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10258 * term/i386/pc/vga.c: Likewise.
10259 * video/readers/jpeg.c: Likewise.
10260 * video/readers/png.c: Likewise.
10261 * video/readers/tga.c: Likewise.
10262
10263 * util/grub-fstest (cmd_loopback): Removed.
10264 (cmd_blocklist): Likewise.
10265 (cmd_ls): Likewise.
10266 (grub_register_command): Likewise.
10267 (grub_unregister_command): Likewise.
10268 (execute_command): Use grub_command_find to locate command and execute
10269 it.
10270
10271 * include/grub/efi/chainloader.h: Removed.
10272 * loader/efi/chainloader_normal.c: Likewise.
10273 * loader/i386/bsd_normal.c: Likewise.
10274 * loader/i386/pc/chainloader_normal.c: Likewise.
10275 * loader/i386/pc/multiboot_normal.c: Likewise.
10276 * loader/linux_normal.c: Likewise.
10277 * loader/multiboot_loader_normal.c: Likewise.
10278 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10279
10280 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10281 and grub_register_command_p1.
10282
10283 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10284 kern/command.c, lib/arg.c and commands/extcmd.c.
10285 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10286 (minicmd_mod_SOURCES): New variable.
10287 (minicmd_mod_CFLAGS): Likewise.
10288 (minicmd_mod_LDFLAGS): Likewise.
10289 (extcmd_mod_SOURCES): Likewise.
10290 (extcmd_mod_CFLAGS): Likewise.
10291 (extcmd_mod_LDFLAGS): Likewise.
10292 (boot_mod_SOURCES): Removed.
10293 (boot_mod_CFLAGS): Likewise.
10294 (boot_mod_LDFLAGS): Likewise.
10295
10296 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10297 kern/corecmd.c.
10298 (kernel_img_HEADERS): Add command.h.
10299 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10300 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10301 and lib/arg.c.
10302 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10303 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10304 remove the corresponding normal mode command.
10305 (normal_mod_SOURCES): Remove normal/arg.c.
10306 * conf/i386-coreboot.rmk: Likewise.
10307 * conf/i386-efi.rmk: Likewise.
10308 * conf/i386-ieee1275.rmk: Likewise.
10309 * conf/powerpc-ieee1275.rmk: Likewise.
10310 * conf/x86_64-efi.rmk: Likewise.
10311
10312 * include/grub/arg.h: Move from here ...
10313 * include/grub/lib/arg.h: ... to here.
10314
10315 * normal/arg.c: Move from here ...
10316 * lib/arg.c: ... to here.
10317
10318 * commands/extcmd.c: New file.
10319 * commands/minicmd.c: Likewise.
10320 * include/grub/command.h: Likewise.
10321 * include/grub/extcmd.h: Likewise.
10322 * kern/command.c: Likewise.
10323 * kern/corecmd.c: Likewise.
10324
10325 * kern/list.c (grub_list_iterate): Return int instead of void.
10326 (grub_list_insert): New function.
10327 (grub_prio_list_insert): Likewise.
10328
10329 * kern/rescue.c (grub_rescue_command): Removed.
10330 (grub_rescue_command_list): Likewise.
10331 (grub_rescue_register_command): Likewise.
10332 (grub_rescue_unregister_command): Likewise.
10333 (grub_rescue_cmd_boot): Move to minicmd.c
10334 (grub_rescue_cmd_help): Likewise.
10335 (grub_rescue_cmd_info): Likewise.
10336 (grub_rescue_cmd_boot): Likewise.
10337 (grub_rescue_cmd_testload): Likewise.
10338 (grub_rescue_cmd_dump): Likewise.
10339 (grub_rescue_cmd_rmmod): Likewise.
10340 (grub_rescue_cmd_lsmod): Likewise.
10341 (grub_rescue_cmd_exit): Likewise.
10342 (grub_rescue_print_devices): Moved to corecmd.c.
10343 (grub_rescue_print_files): Likewise.
10344 (grub_rescue_cmd_ls): Likewise.
10345 (grub_rescue_cmd_insmod): Likewise.
10346 (grub_rescue_cmd_set): Likewise.
10347 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10348 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10349 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10350 commands, remove grub_rescue_register_command calls.
b1b797cb 10351
7d074e3c 10352 * normal/command.c (grub_register_command): Removed.
b1b797cb 10353 (grub_unregister_command): Likewise.
10354 (grub_command_find): Likewise.
10355 (grub_iterate_commands): Likewise.
10356 (rescue_command): Likewise.
10357 (export_command): Moved to corecmd.c.
10358 (set_command): Removed.
10359 (unset_command): Likewise.
10360 (insmod_command): Likewise.
10361 (rmmod_command): Likewise.
10362 (lsmod_command): Likewise.
10363 (grub_command_init): Likewise.
10364
10365 * normal/completion.c (iterate_command): Use cmd->prio to check for
10366 active command.
10367 (complete_arguments): Use grub_extcmd_t structure to find options.
10368 (grub_normal_do_completion): Change function grub_iterate_commands to
10369 grub_command_iterate.
10370
10371 * normal/execute.c (grub_script_execute_cmd): No need to parse
10372 argument here.
10373
10374 * normal/main.c (grub_dyncmd_dispatcher): New function.
10375 (read_command_list): Register unload commands as dyncmd.
10376 (grub_cmd_normal): Use new command interface, register rescue,
10377 unregister normal at entry, register normal, unregister rescue at exit.
10378
10379 * include/grub/list.h (grub_list_test_t): New type.
10380 (grub_list_iterate): Return int instead of void.
10381 (grub_list_insert): New function.
10382 (GRUB_AS_NAMED_LIST_P): New macro.
10383 (GRUB_AS_PRIO_LIST): Likewise.
10384 (GRUB_AS_PRIO_LIST_P): Likewise.
10385 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10386 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10387 (grub_prio_list): New structure.
10388 (grub_prio_list_insert): New function.
10389 (grub_prio_list_remove): New inline function.
10390
10391 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10392 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10393 (GRUB_COMMAND_FLAG_MENU): Likewise.
10394 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10395 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10396 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10397 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10398 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10399 (grub_command): Likewise.
10400 (grub_register_command): Likewise.
10401 (grub_command_find): Likewise.
10402 (grub_iterate_commands): Likewise.
10403 (grub_command_init): Likewise.
10404 (grub_arg_parse): Likewise.
10405 (grub_arg_show_help): Likewise.
10406
10407 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10408 (grub_rescue_unregister_command): Likewise.
10409
10410 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10411 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10412 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10413
10414 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10415 grub_rescue_cmd_initrd.
10416 * include/grub/i386/loader.h: Likewise.
10417 * include/grub/x86_64/loader.h: Likewise.
10418
10419 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10420
1f4147aa 104212009-03-21 Bean <bean123ch@gmail.com>
10422
10423 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10424 instead of stat in mingw environment.
10425
10426 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10427
10428 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10429
10430 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10431 AC_CONFIG_LINKS.
10432
2156d5ba 104332009-03-21 Bean <bean123ch@gmail.com>
10434
10435 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10436 out of range error.
10437
177b82ca 104382009-03-18 Michel Dänzer <michel@daenzer.net>
10439
10440 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10441 checking inode flags for EXT4_EXTENTS_FLAG.
10442
14aad807 104432009-03-18 Robert Millan <rmh@aybabtu.com>
10444
10445 * loader/i386/linux.c: Include `<grub/video.h>' and
10446 `<grub/i386/pc/vbe.h>'..
10447 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10448 (grub_linux32_boot): Attempt to configure video settings with
10449 grub_linux_setup_video().
10450 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10451 to avoid grub_console_fini() which would step out of graphical mode
10452 unconditionally.
10453
8cf83a27 104542009-03-14 Robert Millan <rmh@aybabtu.com>
10455
10456 Fix build on powerpc.
10457 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10458
40164e75 104592009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
10462 background image command.
10463
c58bc32a 104642009-03-12 Colin D Bennett <colin@gibibit.com>
10465
10466 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
10467 (grub_gfxterm_putchar): Extract pairs of identical calls to
10468 draw_cursor out of conditional blocks.
10469
5415144a 104702009-03-11 Pavel Roskin <proski@gnu.org>
10471
10472 * fs/hfs.c (grub_hfs_strncasecmp): New function.
10473 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
10474
6394042e 104752009-03-11 Robert Millan <rmh@aybabtu.com>
10476
10477 * loader/i386/multiboot_elfxx.c
10478 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10479
b7b50e5f 104802009-03-11 Felix Zielcke <fzielcke@z-51.de>
10481
10482 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
10483 `kern/handler.c'.
10484
1ca7fc96 104852009-03-11 Robert Millan <rmh@aybabtu.com>
10486
10487 * loader/i386/multiboot.c (code_size): New variable.
10488 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 10489 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 10490 4-byte alignment to MBI and others by increasing
7d074e3c 10491 `boot_loader_name_length' appropriately.
1ca7fc96 10492
10493 * loader/i386/multiboot_elfxx.c
10494 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
10495
a83ea1d2 104962009-03-09 Felix Zielcke <fzielcke@z-51.de>
10497
10498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
10499 `fs/ext2.c'.
10500
aa9f3bff 105012009-03-08 Robert Millan <rmh@aybabtu.com>
10502
10503 Make loader/i386/linux.c usable on i386-pc again.
10504
10505 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
10506 memory to heap.
10507 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
10508 `#error' stanza.
10509
d8b3b60e 105102009-03-07 Bean <bean123ch@gmail.com>
10511
10512 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
10513 allocation.
10514
b362c9e9 105152009-03-06 Robert Millan <rmh@aybabtu.com>
10516
10517 Fix display issue on terminals with screen size other than 80x25
10518 (e.g. gfxterm with resolution higher than 640x480).
10519
10520 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 10521 position relative to the center of the terminal instead of relying
b362c9e9 10522 on a hardcoded offset.
10523
9304eef1 105242009-03-04 Robert Millan <rmh@aybabtu.com>
10525
10526 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
10527 installed.
10528
10529 * Makefile.in (host_kernel): New variable.
10530 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
10531 scripts instead of just the windows one.
10532 * configure.ac: Initialize and AC_SUBST `host_kernel'.
10533
eabc95fb 105342009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 10535
10536 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
10537 `kern/handler.c'.
10538 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10539 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10542 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10543 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10544
ceb1223c 105452009-03-04 Felix Zielcke <fzielcke@z-51.de>
10546
10547 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
10548 or if there's no space for the disk label and print the partition number on a
10549 invalid magic.
10550
4910684a 105512009-03-04 Felix Zielcke <fzielcke@z-51.de>
10552
10553 * util/misc.c: Include <time.h>.
10554 (grub_millisleep): New function.
10555
7e9ca17a 105562009-03-04 Bean <bean123ch@gmail.com>
10557
10558 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
10559 another option -mno-red-zone.
10560
10561 * commands/handler.c: Change module description.
10562
10563 * kern/handler.c: Add missing space at the end of description line.
10564
10565 * kern/list.c: Likewise.
10566
f501677c 105672009-03-03 Robert Millan <rmh@aybabtu.com>
10568
10569 Move more components to the relocation area, and fix mbi pointer
10570 handling to use the destination rather than the origin (thanks to
10571 Vladimir Serbinenko for spotting).
10572
10573 * loader/i386/multiboot.c (mbi_dest): New variable.
10574 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
10575 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
10576 relocation area.
10577
9902d047 105782009-03-01 Bean <bean123ch@gmail.com>
10579
50fb7002 10580 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 10581 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
10582 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
10583 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
10584
10585 * loader/i386/efi/linux.c (acpi_guid): New variable.
10586 (acpi_guid): Likewise.
10587 (EBDA_SEG_ADDR): New constant.
10588 (LOW_MEM_ADDR): Likewise.
10589 (FAKE_EBDA_SEG): Likewise.
10590 (fake_bios_data): New function.
10591 (grub_linux_boot): Call fake_bios_data.
10592
71b9f361 105932009-03-01 Bean <bean123ch@gmail.com>
10594
10595 * commands/terminal.c: Removed.
10596
10597 * commands/handler.c: New file.
10598
10599 * include/grub/list.h: Likewise.
10600
10601 * include/grub/handler.h: Likewise.
10602
10603 * kern/list.c: Likewise.
10604
10605 * kern/handler.c: Likewise.
10606
10607 * kern/term.h: Include header file <grub/handler.h>.
10608 (grub_term_input): Move next field to the beginning.
10609 (grub_term_output): Likewise.
10610 (grub_term_input_class): New variable.
10611 (grub_term_output_class): Likewise.
10612 (grub_term_register_input): Changed to inline function.
10613 (grub_term_register_output): Likewise.
10614 (grub_term_unregister_input): Likewise.
10615 (grub_term_unregister_output): Likewise.
10616 (grub_term_set_current_input): Likewise.
10617 (grub_term_set_current_output): Likewise.
10618 (grub_term_get_current_input): Likewise.
10619 (grub_term_get_current_output): Likewise.
10620 (grub_term_iterate_input): Removed.
10621 (grub_term_iterate_output): Likewise.
10622
10623 * kern/term.c (grub_term_list_input): Removed.
10624 (grub_term_list_output): Likewise.
10625 (grub_term_input_class): New variable.
10626 (grub_term_output_class): Likewise.
50fb7002 10627 (grub_cur_term_input): Change variable as macro.
71b9f361 10628 (grub_cur_term_output): Likewise.
10629 (grub_term_register_input): Removed.
10630 (grub_term_register_output): Likewise.
10631 (grub_term_unregister_input): Likewise.
10632 (grub_term_unregister_output): Likewise.
10633 (grub_term_set_current_input): Likewise.
10634 (grub_term_set_current_output): Likewise.
10635 (grub_term_iterate_input): Likewise.
10636 (grub_term_iterate_output): Likewise.
10637 (grub_term_get_current_input): Likewise.
10638 (grub_term_get_current_output): Likewise.
10639
10640 * util/grub-editenv.c: Include header file <grub/handler.h>.
10641 (grub_term_get_current_input): Removed.
10642 (grub_term_get_current_output): Likewise.
10643 (grub_term_input_class): New variable.
50fb7002 10644 (grub_term_output_class): Likewise.
71b9f361 10645
10646 * util/grub-fstest.c (grub_term_get_current_input): Removed.
10647 (grub_term_get_current_output): Likewise.
10648 (grub_term_input_class): New variable.
50fb7002 10649 (grub_term_output_class): Likewise.
71b9f361 10650
10651 * util/grub-probe.c (grub_term_get_current_input): Removed.
10652 (grub_term_get_current_output): Likewise.
10653 (grub_term_input_class): New variable.
50fb7002 10654 (grub_term_output_class): Likewise.
71b9f361 10655
10656 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
10657 (grub_term_get_current_output): Likewise.
10658 (grub_term_input_class): New variable.
50fb7002 10659 (grub_term_output_class): Likewise.
71b9f361 10660
10661 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
10662 (terminal_mod_SOURCES): Likewise.
10663 (terminal_mod_CFLAGS): Likewise.
10664 (terminal_mod_LDFLAGS): Likewise.
10665
10666 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
10667 handler.c.
10668 (kernel_img_SOURCES): Add list.c and handler.c.
10669 (kernel_img_HEADERS): Add list.h and handler.h.
10670
10671 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10672 handler.c.
10673 (kernel_mod_SOURCES): Add list.c and handler.c.
10674 (kernel_mod_HEADERS): Add list.h and handler.h.
10675
10676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
10677 handler.c.
10678 (kernel_elf_SOURCES): Add list.c and handler.c.
10679 (kernel_elf_HEADERS): Add list.h and handler.h.
10680
10681 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10682 handler.c.
10683 (kernel_elf_SOURCES): Add list.c and handler.c.
10684 (kernel_elf_HEADERS): Add list.h and handler.h.
10685
10686 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10687 handler.c.
10688 (kernel_mod_SOURCES): Add list.c and handler.c.
10689 (kernel_mod_HEADERS): Add list.h and handler.h.
10690
10691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10692 handler.c.
10693 (kernel_elf_SOURCES): Add list.c and handler.c.
10694 (kernel_elf_HEADERS): Add list.h and handler.h.
10695
8a31787f 106962009-02-27 Robert Millan <rmh@aybabtu.com>
10697
10698 Factorize elf32 / elf64 code in Multiboot loader. This will
10699 prevent it from getting out of sync again.
10700
10701 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
10702 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
10703 grub_multiboot_load_elf64): Move from here ...
10704 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
10705 grub_multiboot_load_elf): ... to here (new file).
10706
51cd3dfc 107072009-02-27 Robert Millan <rmh@aybabtu.com>
10708
10709 * util/grub.d/10_linux.in: Rename "single-user mode" to
10710 "recovery mode".
10711
6e8c9c3a 107122009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 Don't leak in SCSI code.
10715 * disk/scsi.c (grub_scsi_close): free `scsi'.
10716
4b6bf4f9 107172009-02-27 Robert Millan <rmh@aybabtu.com>
10718
10719 * loader/i386/pc/multiboot.c: Move from here ...
10720 * loader/i386/multiboot.c: ... to here. Update all users.
10721
b9413424 107222009-02-27 Robert Millan <rmh@aybabtu.com>
10723
10724 Patch from Alexandre Bique <bique.alexandre@gmail.com>
10725 * util/i386/pc/grub-setup.c (setup): Fix directory path.
10726
50fb7002 107272009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 10728
10729 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
10730 b-tree.
10731
8cc50345 107322009-02-27 Robert Millan <rmh@aybabtu.com>
10733
10734 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
10735 `0x' qualifier as 0 when base is specified as parameter).
10736
6e09b8b7 107372009-02-24 Bean <bean123ch@gmail.com>
10738
10739 * configure.ac: Check for -mcmodel=large in x86_64 target.
10740
10741 * include/grub/efi/api.h (efi_call_10): New macro.
10742 (efi_wrap_10): New function.
10743
10744 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
10745 (GRUB_PE32_REL_BASED_HIGH): Likewise.
10746 (GRUB_PE32_REL_BASED_LOW): Likewise.
10747 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
10748 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
10749 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
10750 (GRUB_PE32_REL_BASED_SECTION): Likewise.
10751 (GRUB_PE32_REL_BASED_REL): Likewise.
10752 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10753 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10754 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10755
10756 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10757 issue.
10758
10759 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10760 (efi_wrap_10): New function.
10761
10762 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10763
10764 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10765 MB/MBP model (NV chipset).
10766 (devdata_devs): Add devpath_5 to the list.
10767
10768 * load/i386/efi/linux.c (video_base): Remove variable.
10769 (RGB_MASK): New macro.
10770 (RGB_MAGIC): Likewise.
10771 (LINE_MIN): Likewise.
10772 (LINE_MAX): Likewise.
10773 (FBTEST_STEP): Likewise.
10774 (FBTEST_COUNT): Likewise.
10775 (fb_list): New variable.
10776 (grub_find_video_card): Remove function.
10777 (find_framebuf): New function.
10778 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10779 line length.
10780
10781 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10782 problem for x86_64.
10783
74b21bee 107842009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10785
10786 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10787
10788 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10789 coding tool name.
10790
a455f472 107912009-02-22 Robert Millan <rmh@aybabtu.com>
10792
10793 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10794 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10795 in our relocation, instead of using it directly from heap. Also
10796 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10797
6374daf3 107982009-02-21 Robert Millan <rmh@aybabtu.com>
10799
10800 Implement USB keyboard support (based on patch by Marco Gerards)
10801
10802 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10803 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10804 (usb_keyboard_mod_LDFLAGS): New variables.
10805
10806 * term/usb_keyboard.c: New file.
10807
8fa4ea70 108082009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Corrected wrong declaration
10811
10812 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10813
353976ac 108142009-02-14 Christian Franke <franke@computer.org>
10815
10816 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10817 (grub_lspci_iter): Print class code and programming interface byte.
10818
6aa1169b 108192009-02-14 Christian Franke <franke@computer.org>
10820
10821 * gendistlist.sh: Ignore `.svn' directories.
10822
265372ca 108232009-02-14 Felix Zielcke <fzielcke@z-51.de>
10824
10825 * fs/fat.c: Add 2009 to Copyright line.
10826
9ff516f3 108272009-02-14 Christian Franke <franke@computer.org>
10828
10829 * commands/hdparm.c: New file. Provides `hdparm' command
10830 which sends ATA commands via grub_disk_ata_pass_through ().
10831
10832 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10833
10834 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10835 and <grub/cpu/io.h> to include/grub/ata.h.
10836 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10837 (GRUB_CDROM_SECTOR_SIZE): Remove.
10838 (GRUB_ATA_*): Move to include/grub/ata.h.
10839 (GRUB_ATAPI_*): Likewise.
10840 (enum grub_ata_commands): Likewise.
10841 (enum grub_ata_timeout_milliseconds): Likewise.
10842 (struct grub_ata_device): Likewise.
10843 (grub_ata_regset): Likewise.
10844 (grub_ata_regget): Likewise.
10845 (grub_ata_regset2): Likewise.
10846 (grub_ata_regget2): Likewise.
10847 (grub_ata_check_ready): Likewise.
10848 (grub_ata_wait_not_busy): Remove static, exported in
10849 include/grub/ata.h.
10850 (grub_ata_wait_drq): Likewise.
10851 (grub_ata_pio_read): Likewise.
10852
10853 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10854 function for hdparm.mod.
10855
10856 * include/grub/ata.h: New file, contains declarations from
10857 disk/ata.c.
10858 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10859
10860 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10861 (grub_disk_ata_pass_through): New exported variable.
10862
10863 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10864
772e23da 108652009-02-13 Colin D Bennett <colin@gibibit.com>
10866
10867 Support multiple fallback entries, and provide an API to support
10868 executing default+fallback menu entries. Renamed the `terminal' menu
10869 viewer to `text'.
10870
10871 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10872 variable declaration.
10873 (grub_menu_execute_callback): New structure declaration.
10874 (grub_menu_execute_callback_t): New typedef.
10875 (grub_menu_execute_with_fallback): New function declaration.
10876 (grub_menu_get_entry): Likewise.
10877 (grub_menu_get_timeout): Likewise.
10878 (grub_menu_set_timeout): Likewise.
10879
10880 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10881
10882 * normal/menu.c (grub_wait_after_message): Moved to
10883 `normal/menu_text.c'.
10884 (draw_border): Likewise.
10885 (print_message): Likewise.
10886 (print_entry): Likewise.
10887 (print_entries): Likewise.
10888 (grub_menu_init_page): Likewise.
10889 (get_entry_number): Likewise.
10890 (print_timeout): Likewise.
10891 (run_menu): Likewise.
10892 (grub_menu_execute_entry): Likewise.
10893 (show_text_menu): Likewise.
10894 (get_and_remove_first_entry_number): New function.
10895 (grub_menu_execute_with_fallback): Likewise.
10896 (get_entry): Renamed to ...
10897 (grub_menu_get_entry): .. this and made it global.
10898 (get_timeout): Renamed to ...
10899 (grub_menu_get_timeout): ... this and made it global.
10900 (set_timeout): Renamed to ...
10901 (grub_menu_set_timeout): ... this and made it global.
10902 (grub_normal_terminal_menu_viewer): Renamed to ...
10903 (grub_normal_text_menu_viewer): ... this.
10904
10905 * normal/menu_text.c: New file. Extracted text-menu-specific code
10906 from normal/menu.c.
10907
10908 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10909 (normal_mod_SOURCES): Likewise.
10910
10911 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10912 (normal_mod_SOURCES): Likewise.
10913
10914 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10915 (normal_mod_SOURCES): Likewise.
10916
10917 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10918 (normal_mod_SOURCES): Likewise.
10919
10920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10921 (normal_mod_SOURCES): Likewise.
10922
10923 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10924 (normal_mod_SOURCES): Likewise.
10925
10926 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10927 (normal_mod_SOURCES): Likewise.
10928
16ac430e 109292009-02-11 Robert Millan <rmh@aybabtu.com>
10930
10931 * util/grub.d/00_header.in: Update old reference to `font' command.
10932
06ff20fc 109332009-02-10 Felix Zielcke <fzielcke@z-51.de>
10934
10935 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
10936
10937 Based on patch from Javier Martín.
10938
96da9407 109392009-02-09 Felix Zielcke <fzielcke@z-51.de>
10940
10941 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10942 to avoid false positives with FAT.
96da9407 10943 (grub_fstest_SOURCES): Likewise.
10944 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10945 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10947 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10948 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10949 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10950
6dca6fe4 109512009-02-09 Felix Zielcke <fzielcke@z-51.de>
10952
06ff20fc 10953 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10954 bpb.version_specific.fat12_or_fat16.fstype and
10955 bpb.version_specific.fat32.fstype.
10956
2550c62f 109572009-02-08 Robert Millan <rmh@aybabtu.com>
10958
be110b30 10959 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10960
56978920 109612009-02-08 Robert Millan <rmh@aybabtu.com>
10962
10963 * Makefile.in (host_os, host_cpu): New variables.
10964 (target_os): Remove. Update all users.
10965
d64399b5 109662009-02-08 Marco Gerards <marco@gnu.org>
10967
10968 * Makefile.in (enable_grub_emu_usb): New variable.
10969 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10970 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10971 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10972 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10973 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10974 `usbtest.mod' and `usbms.mod'.
10975 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10976 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10977 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10978 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10979 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10980 variables.
10981
10982 * disk/usbms.c: New file.
10983
10984 * include/grub/usb.h: Likewise.
10985
10986 * include/grub/usbtrans.h: Likewise.
10987
10988 * include/grub/usbdesc.h: Likewise.
10989
10990 * bus/usb/usbtrans.c: Likewise.
10991
10992 * bus/usb/ohci.c: Likewise.
10993
10994 * bus/usb/uhci.c: Likewise.
10995
10996 * bus/usb/usbhub.c: Likewise.
10997
10998 * bus/usb/usb.c: Likewise.
10999
11000 * commands/usbtest.c: Likewise.
11001
11002 * util/usb.c: Likewise.
50fb7002 11003
d64399b5 11004 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
11005
11006 * configure.ac: Test for libusb presence.
50fb7002 11007
d64399b5 11008 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
11009
2b40d6bb 110102009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
11011
11012 * kern/mm.c: Add more comments.
11013
73a4ce81 110142009-02-08 Robert Millan <rmh@aybabtu.com>
11015
11016 Patch from Javier Martín.
11017 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11018 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11019
f821ce59 110202009-02-08 Robert Millan <rmh@aybabtu.com>
11021
11022 * fs/cpio.c: Split tar functionality to ...
11023 * fs/tar.c: ... here (new file). Update all users.
11024
aebfc4b0 110252009-02-07 Robert Millan <rmh@aybabtu.com>
11026
11027 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11028 backward-incompatible features.
11029
11030 Based on patch from Javier Martín, with some adjustments.
11031
50fb7002 110322009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 11033
11034 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11035
0bb5115e 110362009-02-07 Robert Millan <rmh@aybabtu.com>
11037
11038 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11039 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11040 after the RAID stuff.
11041
38a0f8e7 110422009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11043
50fb7002 11044 Fixes problem when running vbetest command as reported by
38a0f8e7 11045 Vladimir Serbinenko <phcoder@gmail.com>.
11046
11047 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11048
3143cc1c 110492009-02-04 Felix Zielcke <fzielcke@z-51.de>
11050
11051 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11052 /dev/md/NpN style mdraid devices.
11053
9cba6fce 110542009-02-03 Felix Zielcke <fzielcke@z-51.de>
11055
11056 * util/unifont2pff.rb: Remove.
11057
e507a2c1 110582009-02-03 Felix Zielcke <fzielcke@z-51.de>
11059
11060 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11061 `#'.
11062
d2c2b4cd 110632009-02-03 Felix Zielcke <fzielcke@z-51.de>
11064
11065 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11066 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11067 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11068 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11072
b4315fb0 110732009-02-02 Christian Franke <franke@computer.org>
11074
11075 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11076
de3aa260 110772009-02-01 Felix Zielcke <fzielcke@z-51.de>
11078
7c3ff286 11079 * INSTALL: Note that we now require at least autoconf 2.59 and
11080 that LZO is optional.
de3aa260 11081
825a182b 110822009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11083
11084 Base on patch on bug #24154 created by Tomas Tintera
11085 <trosos@seznam.cz>.
11086
11087 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11088
a69ef770 110892009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11090
7c3ff286 11091 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 11092 <bero@arklinux.org>.
11093
11094 * normal/parser.y (script_init): Add missing semicolon.
11095
6fa42fa6 110962009-01-31 Colin D Bennett <colin@gibibit.com>
11097
7c3ff286 11098 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 11099 (free_menu_entry_classes): Added.
11100 (grub_normal_menu_addentry): Added class property handling.
11101 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11102 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11103
11104 * normal/menu_viewer.c: New file.
11105
11106 * normal/menu.c (run_menu_entry): Renamed to ...
11107 (grub_menu_execute_entry): ... this and made it as global.
11108 (grub_menu_run): Renamed to ...
11109 (show_text_menu): ... this and made it local.
11110 (show_text_menu): Adapt to new function names.
11111 (grub_normal_terminal_menu_viewer): New global variable.
11112
11113 * include/grub/menu.h: New file.
11114
11115 * include/grub/menu_viewer.h: New file.
11116
11117 * include/grub/normal.h: Added include to grub/menu.h.
11118 (grub_menu_entry): Moved to include/grub/menu.h.
11119 (grub_menu_entry_t): Likewise.
11120 (grub_menu): Likewise.
11121 (grub_menu_t): Likewise.
11122 (grub_normal_terminal_menu_viewer): Added.
11123 (grub_menu_execute_entry): Likewise.
11124 (grub_menu_run): Removed.
11125
11126 * DISTLIST: Added include/grub/menu.h.
11127 Added include/grub/menu_viewer.h.
11128 Added normal/menu_viewer.c.
11129
111302009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11131
11132 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11133 arglist for menutitle arguments.
11134
11135 * normal/main.c (grub_normal_menu_addentry): Likewise.
11136
11137 * normal/parser.y (menuentry): Likewise.
11138
11139 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11140
11141 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11142 (grub_script_create_cmdmenu): Likewise.
11143
11144 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11145
11146 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11147 changes.
11148
11149 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11150
11151 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11152
11153 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11154
11155 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11156
11157 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11158
11159 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11160
56192c23 111612009-01-30 Christian Franke <franke@computer.org>
11162
11163 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11164 in option help text.
11165
d72521b3 111662009-01-27 Pavel Roskin <proski@gnu.org>
11167
11168 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11169
994b5e84 111702009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11171
11172 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11173
11174 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11175
11176 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11177 unregister function.
11178
6a7eab2c 111792009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11180
11181 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11182
11183 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11184
11185 * util/grub-mkfont.c (usage): Fix typo.
11186
11187 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11188
1806b56e 111892009-01-26 Daniel Mierswa <impulze@impulze.org>
11190
3fb18f09 11191 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11192
336e1fb9 11193 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11194
1806b56e 11195 * kern/misc.c (grub_strcasecmp): New function.
11196 (grub_strcasecmp): Use grub_size_t instead of int for length.
11197 Fix return value.
11198 * include/grub/misc.h: Update function prototypes.
11199
580b2a0f 112002009-01-26 Robert Millan <rmh@aybabtu.com>
11201
11202 * configure.ac: Fix cross-compilation check.
ef257b36 11203
d31c24f1 112042009-01-22 Christian Franke <franke@computer.org>
11205
11206 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11207 (precision) digit string. Allow `.format2' without `format1' (width).
11208 Limit input chars for `%s' output to `format2' if specified. This is
11209 compatible with standard printf ().
11210
3138b44c 112112009-01-22 Christian Franke <franke@computer.org>
11212
11213 * disk/ata.c (grub_ata_wait_status): Replace by ...
11214 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11215 other status bits may be invalid while BSY is asserted.
11216 (grub_ata_check_ready): New function.
11217 (grub_ata_cmd): Removed.
11218 (grub_ata_wait_drq): New function.
11219 (grub_ata_strncpy): Remove inline.
11220 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11221 and error check now done by grub_ata_wait_drq ().
11222 (grub_ata_pio_write): Likewise.
11223 (grub_atapi_identify): Set DEV before check for !BSY. Use
11224 grub_ata_wait_drq () to wait for data.
11225 (grub_ata_device_initialize): Add status register check to
11226 detect missing SATA slave devices. Add debug messages.
11227 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11228 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11229 transfer loop by grub_ata_pio_write ().
11230 (grub_ata_identify): Set DEV before check for !BSY. Use
11231 grub_ata_wait_drq () to wait for data.
ef257b36 11232 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11233 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11234 read/write in one loop. Fix invalid command on write. Fix incomplete
11235 command on (size % batch) == 0. Add missing error check after write of
11236 last block. Add debug messages.
11237 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11238
59a64ef6 112392009-01-19 Christian Franke <franke@computer.org>
11240
11241 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11242 (GRUB_ATAPI_IREASON_*): Likewise.
11243 (grub_ata_pio_write): Fix timeout error return.
11244 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11245 (grub_atapi_wait_drq): New function.
11246 (grub_atapi_packet): New parameter `size'.
11247 Use grub_atapi_wait_drq () and direct write instead of
11248 grub_ata_pio_write ().
11249 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11250 reads the number of bytes requested by the device for each DRQ
11251 assertion.
11252 (grub_atapi_write): Remove old implementation, return not
11253 implemented instead.
11254
1cfe20b3 112552009-01-19 Christian Franke <franke@computer.org>
11256
11257 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11258 of 512 to calculate data size.
11259 (grub_scsi_read12): Likewise.
11260 (grub_scsi_write10): Likewise.
11261 (grub_scsi_write12): Likewise.
11262 (grub_scsi_read): Adjust size according to blocksize.
11263 Add checks for invalid blocksize and unaligned transfer.
11264
bee5fe5d 112652009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11266
11267 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11268
ef257b36 11269 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 11270 width glyphs.
11271
3e643f8c 112722009-01-19 Robert Millan <rmh@aybabtu.com>
11273
11274 * config.guess: Update to latest version from config git.
11275 * config.sub: Likewise.
11276
4fa80998 112772009-01-17 Felix Zielcke <fzielcke@z-51.de>
11278
11279 * Makefile.in: Change font compilation to use new grub-mkfont instead
11280 of java version.
11281
11282 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11283 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11284 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11285 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11286 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11287 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11288 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11289 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11290 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11291
7086085b 112922009-01-16 Christian Franke <franke@computer.org>
11293
11294 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11295 (enum grub_ata_timeout_milliseconds): New enum.
11296 (grub_ata_wait_status): Add parameter milliseconds.
11297 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11298 recovery from timed-out commands.
11299 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11300 return grub_errno instead of REG_ERROR.
11301 (grub_ata_pio_write): Add parameter milliseconds.
11302 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11303 Pass milliseconds to grub_ata_wait_status () and
11304 grub_ata_pio_read ().
11305 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11306 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11307 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11308 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11309 It is not suitable for device detection, because DEV bit is ignored,
11310 the command may run too long, and not all devices set the signature
11311 properly.
11312 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11313 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11314 Fix device selection, DEV bit must be set first to address the registers
11315 of the correct device.
11316 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11317 grub_ata_pio_read/write ().
11318 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11319 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11320
4a412913 113212009-01-13 Carles Pina i Estany <carles@pina.cat>
11322
11323 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11324
7795c55e 113252009-01-13 Bean <bean123ch@gmail.com>
d913988c 11326
11327 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11328
7795c55e 113292009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11330
11331 * Makefile.in: (enable_grub_mkfont): New variable.
11332 (freetype_cflags): Likewise.
11333 (freetype_libs): Likewise.
11334
11335 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11336 (grub_mkfont_SOURCES): New variable.
11337 (grub_mkfont_CFLAGS): Likewise.
11338 (grub_mkfont_LDFLAGS): Likewise.
11339
11340 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11341 library if `--enable-grub-mkfont' is requested.
11342 (enable_grub_mkfont): New variable.
11343 (freetype_cflags): Likewise.
11344 (freetype_libs): Likewise.
11345
11346 * util/grub-mkfont.c: New file.
11347
093af1fe 113482009-01-12 Christian Franke <franke@computer.org>
11349
11350 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11351 mode check. Fix setting of compat_use[].
11352
f36cc108 113532009-01-10 Robert Millan <rmh@aybabtu.com>
11354
11355 Update a few copyright years which we forgot to do in 2008 (only for
11356 files whose changes made in 2008 were copyright-significant)
11357
11358 * Makefile.in: Add 2008 to Copyright line.
11359 * disk/ieee1275/ofdisk.c: Likewise.
11360 * disk/efi/efidisk.c: Likewise.
11361 * kern/dl.c: Likewise.
11362 * kern/sparc64/ieee1275/init.c: Likewise.
11363 * kern/mm.c: Likewise.
11364 * kern/efi/mm.c: Likewise.
11365 * boot/i386/pc/boot.S: Likewise.
11366 * genfslist.sh: Likewise.
11367 * fs/iso9660.c: Likewise.
11368 * fs/hfs.c: Likewise.
11369 * fs/jfs.c: Likewise.
11370 * fs/minix.c: Likewise.
11371 * fs/ufs.c: Likewise.
11372 * gensymlist.sh.in: Likewise.
11373 * genkernsyms.sh.in: Likewise.
11374 * include/grub/misc.h: Likewise.
11375 * include/grub/types.h: Likewise.
11376 * include/grub/symbol.h: Likewise.
11377 * include/grub/elf.h: Likewise.
11378 * include/grub/kernel.h: Likewise.
11379 * include/grub/disk.h: Likewise.
11380 * include/grub/dl.h: Likewise.
11381 * include/grub/i386/linux.h: Likewise.
11382 * include/grub/i386/pc/biosdisk.h: Likewise.
11383 * include/grub/efi/api.h: Likewise.
11384 * include/grub/efi/pe32.h: Likewise.
11385 * include/grub/util/misc.h: Likewise.
11386 * normal/execute.c: Likewise.
11387 * normal/arg.c: Likewise.
11388 * normal/completion.c: Likewise.
11389 * normal/lexer.c: Likewise.
11390 * normal/parser.y: Likewise.
11391 * normal/misc.c: Likewise.
11392 * commands/i386/pc/vbeinfo.c: Likewise.
11393 * commands/hexdump.c: Likewise.
11394 * commands/terminal.c: Likewise.
11395 * commands/ls.c: Likewise.
11396 * commands/help.c: Likewise.
11397 * partmap/pc.c: Likewise.
11398 * loader/efi/chainloader.c: Likewise.
11399 * loader/multiboot_loader.c: Likewise.
11400 * loader/i386/pc/multiboot2.c: Likewise.
11401 * term/efi/console.c: Likewise.
11402 * term/i386/pc/serial.c: Likewise.
11403 * util/lvm.c: Likewise.
11404 * util/console.c: Likewise.
11405 * util/i386/efi/grub-mkimage.c: Likewise.
11406 * util/raid.c: Likewise.
11407
7f02114b 114082009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11409
11410 * commands/videotest.c: Removed include to grub/machine/memory.h.
11411
11412 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11413 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11414 (video_mod_SOURCES): Removed.
11415 (video_mod_CFLAGS): Likewise.
11416 (video_mod_LDFLAGS): Likewise.
11417 (gfxterm_mod_SOURCES): Likewise.
11418 (gfxterm_mod_CFLAGS): Likewise.
11419 (gfxterm_mod_LDFLAGS): Likewise.
11420 (videotest_mod_SOURCES): Likewise.
11421 (videotest_mod_CFLAGS): Likewise.
11422 (videotest_mod_LDFLAGS): Likewise.
11423 (bitmap_mod_SOURCES): Likewise.
11424 (bitmap_mod_CFLAGS): Likewise.
11425 (bitmap_mod_LDFLAGS): Likewise.
11426 (tga_mod_SOURCES): Likewise.
11427 (tga_mod_CFLAGS): Likewise.
11428 (tga_mod_LDFLAGS): Likewise.
11429 (jpeg_mod_SOURCES): Likewise.
11430 (jpeg_mod_CFLAGS): Likewise.
11431 (jpeg_mod_LDFLAGS): Likewise.
11432 (png_mod_SOURCES): Likewise.
11433 (png_mod_CFLAGS): Likewise.
11434 (png_mod_LDFLAGS): Likewise.
11435
11436 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11437 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11438 (video_mod_SOURCES): Added.
11439 (video_mod_CFLAGS): Likewise.
11440 (video_mod_LDFLAGS): Likewise.
11441 (videotest_mod_SOURCES): Likewise.
11442 (videotest_mod_CFLAGS): Likewise.
11443 (videotest_mod_LDFLAGS): Likewise.
11444 (bitmap_mod_SOURCES): Likewise.
11445 (bitmap_mod_CFLAGS): Likewise.
11446 (bitmap_mod_LDFLAGS): Likewise.
11447 (tga_mod_SOURCES): Likewise.
11448 (tga_mod_CFLAGS): Likewise.
11449 (tga_mod_LDFLAGS): Likewise.
11450 (jpeg_mod_SOURCES): Likewise.
11451 (jpeg_mod_CFLAGS): Likewise.
11452 (jpeg_mod_LDFLAGS): Likewise.
11453 (png_mod_SOURCES): Likewise.
11454 (png_mod_CFLAGS): Likewise.
11455 (png_mod_LDFLAGS): Likewise.
11456 (gfxterm_mod_SOURCES): Likewise.
11457 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 11458 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 11459
11460 * term/gfxterm.c: Removed include to grub/machine/memory.h,
11461 grub/machine/console.h.
11462
644fff97 114632009-01-04 Jerone Young <jerone@gmail.com>
11464
11465 Make on screen instructions clearer
11466
11467 Based on patch created by Jidanni <jidanni@jidanni.org>
11468
11469 * normal/menu.c: print clearer instructions on the screen
11470
1e901a75 114712009-01-02 Colin D Bennett <colin@gibibit.com>
11472
11473 New font engine.
34c44600 11474
1e901a75 11475 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
11476 build system and fixed gfxterm.c to work with different sized fonts.
11477
11478 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 11479
1e901a75 11480 * configure: Re-generated.
34c44600 11481
1e901a75 11482 * DISTLIST: Removed font/manager.c.
11483 Added font/font.c.
11484 Added font/font_cmd.c.
34c44600 11485
1e901a75 11486 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
11487 compilation.
34c44600 11488
1e901a75 11489 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 11490
11491 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 11492
11493 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 11494
1e901a75 11495 * normal/menu.c: Likewise.
34c44600 11496
1e901a75 11497 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
11498 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 11499
1e901a75 11500 * include/grub/font.h: Replaced with new file.
34c44600 11501
1e901a75 11502 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
11503 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
11504 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
11505 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
11506 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 11507 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 11508 fg_red, fg_green, fg_blue, fg_alpha.
11509 (grub_video_adapter): Removed blit_glyph.
34c44600 11510 (grub_video_blit_glyph): Removed.
11511
1e901a75 11512 * font/manager.c: Removed file.
34c44600 11513
11514 * font/font.c: New file.
11515
1e901a75 11516 * font/font_cmd.c: Likewise.
34c44600 11517
1e901a75 11518 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 11519
1e901a75 11520 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
11521 (grub_video_vbe_map_rgba): Likewise.
11522 (grub_video_vbe_unmap_color_int): Likewise.
11523 (grub_video_vbe_blit_glyph): Removed.
11524 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 11525
1e901a75 11526 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
11527 (get_pixel): Likewise.
34c44600 11528 (set_pixel): Likewise.
11529
1e901a75 11530 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 11531
1e901a75 11532 * term/gfxterm.c: Adapted to new font engine.
34c44600 11533
1e901a75 11534 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 11535
1e901a75 11536 * term/i386/pc/vga.c: Likewise.
34c44600 11537
1e901a75 11538 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 11539
1e901a75 11540 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 11541
1e901a75 11542 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11543
1e901a75 11544 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11545
1e901a75 11546 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 11547
1e901a75 11548 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 11549
1e901a75 11550 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 11551
1e901a75 11552 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 11553
1e901a75 11554 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11555
11556 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 11557
1e901a75 11558 * util/grub-mkconfig_lib.in: Changed font extension.
11559
278922e8 115602008-12-28 Felix Zielcke <fzielcke@z-51.de>
11561
11562 * util/getroot.c (grub_util_get_grub_dev): Add support for
11563 /dev/md/dNNpNN style partitionable mdraid devices.
11564
3ced05cf 115652008-12-12 Alex Smith <alex@alex-smith.me.uk>
11566
11567 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
11568 at a time limit of the PXE TFTP API correctly.
11569 (grub_pxefs_close): Likewise.
11570
7fd0ee30 115712008-11-29 Robert Millan <rmh@aybabtu.com>
11572
34c44600 11573 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 11574 grub_ata_device_initialize() calls.
11575
34c44600 115762008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 11577
11578 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
11579 iteration failed.
11580 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
11581
89313780 115822008-11-28 Robert Millan <rmh@aybabtu.com>
11583
11584 Fix build on powerpc-ieee1275. Based on patch created by
11585 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
11586 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11587 `kern/ieee1275/mmap.c'.
11588 * include/grub/powerpc/ieee1275/memory.h: New file.
11589
15257703 11590 Provide grub-install on coreboot.
11591 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
11592 (grub_install_SOURCES): New variable.
11593 * util/i386/pc/grub-install.in: Add a few condition checks to make it
11594 usable on coreboot.
11595
9fc5388a 115962008-11-25 Felix Zielcke <fzielcke@z-51.de>
11597
11598 * util/grub-fstest.c (grub_term_get_current_input): Change return type
11599 to `grub_term_input_t'.
11600 (grub_term_get_current_output): Change return type to
11601 `grub_term_output_t'.
11602
bc3a2f31 116032008-11-22 Robert Millan <rmh@aybabtu.com>
11604
34c44600 11605 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 11606 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
11607 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
11608 grub_vga_text_cls().
11609
80fc88f2 11610 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 11611 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 11612
cbf36fd3 11613 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
11614 to 0x200000 (avoids trouble with some OFW implementations, and matches
11615 with the one in Yaboot).
11616 Reported by Manoel Abranches
11617
73e8e268 116182008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 11619
11620 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
11621 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
11622
73e8e268 11623 * util/grub-mkconfig_lib.in (grub_warn): New function.
11624 (convert_system_path_to_grub_path): Use grub_warn() when issuing
11625 warnings, to obtain consistent formatting.
11626 * util/grub.d/00_header.in: Likewise.
11627 * util/update-grub_lib.in: Likewise.
11628
e94045a1 11629 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 11630 Move comment text to `#error' stanza.
e94045a1 11631
79d29fd7 11632 Harmonize ieee1275's grub_available_iterate() with the generic
11633 grub_machine_mmap_iterate() interface (fixes a recently-introduced
11634 build problem on i386-ieee1275):
11635 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
11636 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
11637 parameter `type'. Update all users of this function.
11638 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11639 `kern/ieee1275/mmap.c'.
11640 * kern/ieee1275/init.c
11641 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
11642 with ...
11643 (grub_machine_mmap_iterate): ... this.
11644 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
11645 return type to `grub_err_t'. Update all implementations of this
11646 function prototype.
11647 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
11648 Likewise.
11649
60d6b16e 11650 Add `lsmmap' command (lists firmware-provided memory map):
11651 * commands/lsmmap.c: New file.
11652 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
11653 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
11654 variables.
11655 * conf/powerpc-ieee1275.rmk: Likewise.
11656 * conf/i386-coreboot.rmk: Likewise.
11657 * conf/i386-ieee1275.rmk: Likewise.
11658
ebaaf49b 116592008-11-19 Robert Millan <rmh@aybabtu.com>
11660
11661 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 11662 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
11663 constraints to initrd allocation (based on code from
11664 loader/i386/pc/linux.c). Without them, initrd was allocated too high
11665 for Linux to find it.
ebaaf49b 11666
dfab719f 116672008-11-14 Robert Millan <rmh@aybabtu.com>
11668
11669 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
11670 order to cope with duplicate slashes.
11671
10fc3eb9 116722008-11-14 Robert Millan <rmh@aybabtu.com>
11673
11674 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
11675 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
11676 don't want to mess with lower memory, because it is used in the Linux
11677 loader.
11678
11679 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 11680 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 11681 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
11682 is in our heap (probably as a result of it being corrupted during
2f2a3442 11683 decompression). Add #error instance with comment to explain why this
11684 loader isn't currently usable on PC/BIOS.
10fc3eb9 11685
e2e07847 116862008-11-14 Robert Millan <rmh@aybabtu.com>
11687
11688 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 11689 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 11690
fe8e8d69 116912008-11-12 Robert Millan <rmh@aybabtu.com>
11692
11693 Make loader/i386/linux.c buildable on i386-pc (although disabled).
11694
11695 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
11696 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
11697 from here ...
11698 * include/grub/i386/pc/memory.h: ... to here.
11699
976b07d0 117002008-11-12 Robert Millan <rmh@aybabtu.com>
11701
11702 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
11703 split).
11704
11705 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
11706 (grub_console_cur_color, grub_console_real_putchar)
11707 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11708 (grub_console_setcolorstate, grub_console_setcolor)
11709 (grub_console_getcolor): Move from here ...
11710 * include/grub/i386/vga_common.h: ... to here (new file).
11711
11712 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
11713 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
11714 `<grub/i386/io.h>'.
11715 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
11716 `<grub/i386/vga_common.h>'.
11717
76679cd3 117182008-11-12 Robert Millan <rmh@aybabtu.com>
11719
11720 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
11721 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
11722 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
11723 variables.
11724 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11725 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
11726
11727 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
11728 grub_console_init() with call to grub_vga_text_init().
11729 (grub_machine_fini): Replace call to
11730 grub_console_fini() with call to grub_vga_text_fini() and
11731 grub_at_keyboard_fini().
11732
11733 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
11734 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11735 (grub_console_setcolorstate, grub_console_setcolor)
11736 (grub_console_getcolor): New function prototypes.
11737
11738 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
11739 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
11740 (grub_vga_text_setcursor): Static-ize.
11741 (grub_vga_text_term): New structure.
11742 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
11743
11744 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
11745 (grub_console_cur_color, grub_console_standard_color)
11746 (grub_console_normal_color, grub_console_highlight_color)
11747 (map_char, grub_console_putchar, grub_console_getcharwidth)
11748 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
11749 (grub_console_getcolor): Move from here ...
11750 * term/i386/vga_common.c: ... to here (same function names).
11751
95b841d3 117522008-11-12 Robert Millan <rmh@aybabtu.com>
11753
11754 Use newly-added Multiboot support in coreboot.
11755
11756 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11757 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11758
11759 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11760 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11761 (codestart): Store the MBI in `startup_multiboot_info' when we're
11762 being loaded using Multiboot.
11763
11764 * kern/i386/coreboot/init.c (grub_machine_init): Move
11765 grub_at_keyboard_init() call to beginning of function (useful for
11766 debugging). Call grub_machine_mmap_init() before attempting to use
11767 grub_machine_mmap_iterate().
11768 (grub_lower_mem, grub_upper_mem): Move from here ...
11769 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11770 here (new file).
11771
11772 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11773 function prototype.
11774
761ca975 117752008-11-12 Robert Millan <rmh@aybabtu.com>
11776
11777 Fix a regression introduced by the at_keyboard.mod split. Because
11778 some terminals are default on some platforms and non-default on
11779 others, the first terminal being registered determines which is
11780 going to be default.
11781
11782 * kern/term.c (grub_term_register_input): If this is the first
11783 terminal being registered, set it as the current one.
11784 (grub_term_register_output): Likewise.
11785
11786 * term/efi/console.c (grub_console_init): Do not call
11787 grub_term_set_current_output() or grub_term_set_current_input().
11788 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11789 * term/i386/pc/console.c (grub_console_init): Likewise.
11790 (grub_console_fini): Do not call grub_term_set_current_input()
11791 (but leave grub_term_set_current_output() to restore text mode).
11792
6c529df7 117932008-11-10 Robert Millan <rmh@aybabtu.com>
11794
11795 * util/grub.d/00_header.in: Add backward compatibility check for
11796 versions of terminal.mod that don't understand `terminal_input' or
11797 `terminal_output'.
11798
132e4113 117992008-11-09 Robert Millan <rmh@aybabtu.com>
11800
11801 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11802 `terminal_input' / `terminal_output', not `terminal'.
11803
ac293d50 118042008-11-08 Robert Millan <rmh@aybabtu.com>
11805
11806 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11807 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11808
0025933a 118092008-11-08 Robert Millan <rmh@aybabtu.com>
11810
11811 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11812 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11813 members. Update all users.
11814 * util/console.c (grub_ncurses_term): Split in ...
11815 (grub_ncurses_term_input): ... this, and ...
11816 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11817 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11818
37c86336 118192008-11-08 Robert Millan <rmh@aybabtu.com>
11820
11821 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11822 (PKGDATA): Add $(pkgdata_SRCDIR).
11823 (pkglib_BUILDDIR): New variable.
11824 (pkgdata_SRCDIR): New variable.
11825 (build_env.mk): New target.
11826 (include_DATA): New variable.
11827 (install-local): Install $(include_DATA) files in $(includedir).
11828
b6c15a2d 118292008-11-07 Pavel Roskin <proski@gnu.org>
11830
d99d46f1 11831 * gendistlist.sh: Use C locale for sorting to ensure consistent
11832 output on all systems.
11833
b6c15a2d 11834 * util/grub.d/00_header.in: Remove incorrect space before
11835 "serial".
11836
c32ee8c9 118372008-11-07 Robert Millan <rmh@aybabtu.com>
11838
11839 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11840 per specification.
11841 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11842 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11843 (based on find_multi_boot1_header).
11844 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11845 using find_multi_boot2_header(), and abort if neither Multiboot or
11846 Multiboot headers were found.
11847
651c29b7 118482008-11-07 Robert Millan <rmh@aybabtu.com>
11849
11850 Modularize at_keyboard.mod:
11851
11852 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11853 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11854 (at_keyboard_mod_LDFLAGS): New variables.
11855
11856 Actual terminal split:
11857
11858 * include/grub/term.h (struct grub_term): Split in ...
11859 (struct grub_term_input): ... this, and ...
11860 (struct grub_term_output): ... this. Update all users.
11861 (grub_term_set_current): Split in ...
11862 (grub_term_set_current_input): ... this, and ...
11863 (grub_term_set_current_output): ... this.
11864 (grub_term_get_current): Split in ...
11865 (grub_term_get_current_input): ... this, and ...
11866 (grub_term_get_current_output): ... this.
11867 (grub_term_register): Split in ...
11868 (grub_term_register_input): ... this, and ...
11869 (grub_term_register_output): ... this.
11870 (grub_term_unregister): Split in ...
11871 (grub_term_unregister_input): ... this, and ...
11872 (grub_term_unregister_output): ... this.
11873 (grub_term_iterate): Split in ...
11874 (grub_term_iterate_input): ... this, and ...
11875 (grub_term_iterate_output): ... this.
11876
11877 * kern/term.c (grub_term_list): Split in ...
11878 (grub_term_list_input): ... this, and ...
11879 (grub_term_list_output): ... this. Update all users.
11880 (grub_cur_term): Split in ...
11881 (grub_cur_term_input): ... this, and ...
11882 (grub_cur_term_output): ... this. Update all users.
11883 (grub_term_set_current): Split in ...
11884 (grub_term_set_current_input): ... this, and ...
11885 (grub_term_set_current_output): ... this.
11886 (grub_term_get_current): Split in ...
11887 (grub_term_get_current_input): ... this, and ...
11888 (grub_term_get_current_output): ... this.
11889 (grub_term_register): Split in ...
11890 (grub_term_register_input): ... this, and ...
11891 (grub_term_register_output): ... this.
11892 (grub_term_unregister): Split in ...
11893 (grub_term_unregister_input): ... this, and ...
11894 (grub_term_unregister_output): ... this.
11895 (grub_term_iterate): Split in ...
11896 (grub_term_iterate_input): ... this, and ...
11897 (grub_term_iterate_output): ... this.
11898
11899 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11900 a check for input and one for output (and only attempt to get keys
11901 from user when input works).
11902
11903 * util/grub-probe.c (grub_term_get_current): Split in ...
11904 (grub_term_get_current_input): ... this, and ...
11905 (grub_term_get_current_output): ... this.
11906 * util/grub-fstest.c: Likewise.
11907 * util/i386/pc/grub-setup.c: Likewise.
11908 * util/grub-editenv.c: Likewise.
11909
11910 Portability adjustments:
11911
11912 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11913 `term/i386/pc/at_keyboard.c'.
11914 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11915 grub_keyboard_controller_init() (now handled by terminal .init).
11916 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11917 grub_at_keyboard_init().
11918 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11919 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11920 at_keyboard.mod via input terminal interface).
11921 * include/grub/i386/coreboot/console.h: Convert into a stub for
11922 `<grub/i386/pc/console.h>'.
11923
11924 Migrate full terminals to new API:
11925
11926 * term/efi/console.c (grub_console_term): Split into ...
11927 (grub_console_term_input): ... this, and ...
11928 (grub_console_term_output): ... this. Update all users.
11929 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
11930 (grub_ofconsole_init): Split into ...
11931 (grub_ofconsole_init_input): ... this, and ...
11932 (grub_ofconsole_init_output): ... this.
11933 (grub_ofconsole_term): Split into ...
11934 (grub_ofconsole_term_input): ... this, and ...
11935 (grub_ofconsole_term_output): ... this. Update all users.
11936 * term/i386/pc/serial.c (grub_serial_term): Split into ...
11937 (grub_serial_term_input): ... this, and ...
11938 (grub_serial_term_output): ... this. Update all users.
11939 * term/i386/pc/console.c (grub_console_term): Split into ...
11940 (grub_console_term_input): ... this, and ...
11941 (grub_console_term_output): ... this. Update all users.
11942 (grub_console_term_input): Only enable it on PC/BIOS platform.
11943 (grub_console_init): Remove grub_keyboard_controller_init() call.
11944
11945 Migrate input terminals to new API:
11946
11947 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11948 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11949 i386-specific anyway).
11950 (grub_console_checkkey): Rename to ...
11951 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11952 users.
11953 (grub_keyboard_controller_orig): New variable.
11954 (grub_console_getkey): Rename to ...
11955 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11956 users.
11957 (grub_keyboard_controller_init): Static-ize. Save original
11958 controller value so that it can be restored ...
11959 (grub_keyboard_controller_fini): ... here (new function).
11960 (grub_at_keyboard_term): New structure.
11961 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11962 functions.
11963
11964 Migrate output terminals to new API:
11965
11966 * term/i386/pc/vga.c (grub_vga_term): Change type to
11967 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11968 members. Update all users.
11969 * term/gfxterm.c (grub_video_term): Change type to
11970 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11971 members. Update all users.
11972 * include/grub/i386/pc/console.h (grub_console_checkkey)
11973 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11974 etc).
11975
11976 Migrate `terminal' command and userland tools to new API:
11977
11978 * commands/terminal.c (grub_cmd_terminal): Split into ...
11979 (grub_cmd_terminal_input): ... this, and ...
11980 (grub_cmd_terminal_output): ... this.
11981 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11982 `terminal_input' and `terminal_output'.
11983 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11984 `terminal_input' / `terminal_output' API.
11985 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11986 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11987 provided ${GRUB_TERMINAL}, convert it).
11988
96e5d876 119892008-11-04 Robert Millan <rmh@aybabtu.com>
11990
11991 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11992 for FreeBSD.
11993 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11994
556f3775 119952008-11-03 Bean <bean123ch@gmail.com>
11996
11997 * kern/elf.c (grub_elf32_load): Revert to previous code.
11998 (grub_elf64_load): Likewise.
11999
12000 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
12001
926b9823 120022008-11-01 Robert Millan <rmh@aybabtu.com>
12003
12004 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
12005 (TARGET_CPPFLAGS): Likewise.
12006 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
12007
1432e958 120082008-11-01 Carles Pina i Estany <carles@pina.cat>
12009
12010 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
12011
dba3f844 120122008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 12013
12014 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
12015 addition of objects until the code is not going to be able to fail.
12016
dba3f844 120172008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 12018
12019 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12020 (add a missing NULL check, and correct them by moving the pointer
12021 operations after the actual check).
12022
7ab28c21 120232008-10-29 Robert Millan <rmh@aybabtu.com>
12024
12025 * util/i386/pc/grub-install.in: Handle empty string as output from
12026 make_system_path_relative_to_its_root().
12027
1b7748eb 120282008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12029
12030 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12031 circular metadata worst case scenario. If the metadata is circular
12032 then copy the wrap in place.
12033 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12034 project lib/format_text/layout.h
12035 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12036
c9618ab2 120372008-10-03 Felix Zielcke <fzielcke@z-51.de>
12038
7a36edca 12039 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 12040
bf981c62 120412008-10-03 Felix Zielcke <fzielcke@z-51.de>
12042
12043 * util/update-grub_lib.in: Mention filename in warning message.
12044
6d994591 120452008-09-29 Felix Zielcke <fzielcke@z-51.de>
12046
12047 * NEWS: Update for rename of update-grub to grub-mkconfig.
12048
18ade780 120492008-09-29 Felix Zielcke <fzielcke@z-51.de>
12050
12051 * util/update-grub_lib.in: Copy to ...
12052 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 12053 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 12054 * util/update-grub.in: Rename to ...
12055 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12056 option. Add `--output' option to allow users to specify the generated
12057 configuration file. Default to stdout.
12058 (update_grub_dir): Rename to ...
12059 (grub_mkconfig_dir): ... this.
12060 (grub_cfg): Default to an empty string.
12061 * conf/common.rmk (update-grub): Rename to ...
12062 (grub-mkconfig): ... this.
12063 (update-grub_lib): Copy to ...
12064 (grub-mkconfig_lib): ... this.
12065 (update-grub_SCRIPTS): Copy to ...
12066 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12067 (update-grub_DATA): Rename to ...
12068 (grub-mkconfig_DATA): ... this.
12069
556ce6ac 120702008-09-28 Robert Millan <rmh@aybabtu.com>
12071
12072 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12073 to `modified'. Add the real `created' field.
12074 (grub_iso9660_uuid): Use `modified' rather than `created' for
12075 constructing the UUID.
12076
120772008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 12078
12079 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12080 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12081
92274e85 120822008-09-28 Bean <bean123ch@gmail.com>
12083
12084 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12085 Thanks to Christian Franke for finding this bug.
12086
add6f17a 120872008-09-25 Robert Millan <rmh@aybabtu.com>
12088
12089 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12090 instances of grub_util_get_disk_name() (see previous commit).
12091
d2a367b8 120922008-09-25 Robert Millan <rmh@aybabtu.com>
12093
12094 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12095 `util/i386/get_disk_name.c'.
12096 * conf/i386-efi.rmk: Likewise.
12097 * conf/x86_64-efi.rmk: Likewise.
12098 * conf/i386-coreboot.rmk: Likewise.
12099 * conf/i386-ieee1275.rmk: Likewise.
12100 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12101 `util/ieee1275/get_disk_name.c'.
12102 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12103 * util/ieee1275/get_disk_name.c: Remove file.
12104 * util/i386/get_disk_name.c: Remove file.
12105 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12106 "hd%d" for device.map entries, rather than using
12107 grub_util_get_disk_name().
12108
81a06771 121092008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 12110
12111 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12112 warning.
12113 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12114
5a004279 121152008-09-24 Carles Pina i Estany <carles@pina.cat>
12116
12117 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12118 Changed to 0x5100.
12119 (GRUB_TERM_PPAGE): Changed to 0x4900.
12120
397093d3 121212008-09-24 Robert Millan <rmh@aybabtu.com>
12122
12123 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12124 macros (they were i386-pc specific).
12125 * include/grub/sparc64/ieee1275/console.h: Likewise.
12126 * include/grub/efi/console.h: Likewise.
12127
a91b6c7c 121282008-09-22 Bean <bean123ch@gmail.com>
12129
12130 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12131 resident and in attribute list.
12132
12133 * include/grub/ntfs.h (BMP_LEN): Removed.
12134
c40fd116 121352008-09-22 Bean <bean123ch@gmail.com>
12136
81a06771 12137 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 12138 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12139
12140 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12141 error occurs, as grub_disk_open will call grub_disk_close, which will
12142 call p->close (scsi).
12143
81a06771 121442008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12145
12146 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12147 (AC_PREREQ): Bumped to 2.59.
12148 (AC_TRY_COMPILE): Replace obsolete macro with ...
12149 (AC_COMPILE_IFELSE): ... this.
12150 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12151 (AC_LINK_IFELSE): ... this.
12152
5dc43410 121532008-09-21 Felix Zielcke <fzielcke@z-51.de>
12154
12155 * autogen.sh: Add a call to `gendistlist.sh'.
12156
9035dce4 121572008-09-19 Christian Franke <franke@computer.org>
12158
12159 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12160 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12161 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12162 Export __enable_execute_stack() to modules.
12163 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12164 New function.
12165
7fd75377 121662008-09-09 Felix Zielcke <fzielcke@z-51.de>
12167
040030b3 12168 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12169 Sort the list.
12170
121712008-09-09 Felix Zielcke <fzielcke@z-51.de>
12172
12173 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12174 #include <grub/util/hostdisk.h>.
12175
89d5ffcf 121762008-09-08 Robert Millan <rmh@aybabtu.com>
12177
12178 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12179 segments when their filesz is zero (grub_file_read() interprets
81a06771 12180 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12181 Use `lowest_segment' rather than 0 for calculating the current
12182 segment load address.
12183
40da438f 121842008-09-08 Robert Millan <rmh@aybabtu.com>
12185
12186 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12187 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12188 clobbered useful information.
12189
ddbf5556 121902008-09-08 Robert Millan <rmh@aybabtu.com>
12191
12192 * include/grub/util/biosdisk.h: Move to ...
12193 * include/grub/util/hostdisk.h: ... here. Update all users.
12194 * util/biosdisk.c: Move to ...
12195 * util/hostdisk.c: ... here. Update all users.
12196
783d0f48 121972008-09-07 Robert Millan <rmh@aybabtu.com>
12198
12199 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12200 variables.
12201 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12202 and length can be stored directly in the `mbi->mmap_addr' and
12203 `mbi->mmap_length' struct fields.
12204
548e2ea5 122052008-09-07 Robert Millan <rmh@aybabtu.com>
12206
12207 * conf/i386.rmk: New file. Provides declaration for building
12208 `cpuid.mod'.
12209 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12210 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12211 variables.
12212 Include `conf/i386.mk'.
12213 * conf/i386-efi.rmk: Likewise.
12214 * conf/x86_64-efi.rmk: Likewise.
12215 * conf/i386-coreboot.rmk: Likewise.
12216 * conf/i386-ieee1275.rmk: Likewise.
12217
0ea85a37 122182008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12219
12220 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12221 Adds optimization support for BGR based modes.
12222
12223 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12224 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12225 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12226 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12227 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12228 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12229 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12230 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12231 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12232 (grub_video_i386_vbeblit_index_index): Likewise.
12233 (grub_video_i386_vbeblit_replace_directN): Added.
12234 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12235 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12236 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12237 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12238 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12239 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12240 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12241 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12242 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12243 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12244 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12245 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12246 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12247
12248 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12249 (grub_video_i386_vbefill_R8G8B8): Likewise.
12250 (grub_video_i386_vbefill_index): Likewise.
12251 (grub_video_i386_vbefill_direct32): Added.
12252 (grub_video_i386_vbefill_direct24): Likewise.
12253 (grub_video_i386_vbefill_direct16): Likewise.
12254 (grub_video_i386_vbefill_direct8): Likewise.
12255
81a06771 12256 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 12257 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12258 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12259 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12260 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12261 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 12262
0ea85a37 12263 * video/video.c (grub_video_get_blit_format): Updated to use new
12264 blit formats. Added handling for 16 bit color modes.
81a06771 12265
12266 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 12267 fillers.
12268 (common_blitter): Updated to use new blitters.
12269
12270 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12271 Removed.
12272 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12273 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12274 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12275 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12276 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12277 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12278 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12279 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12280 (grub_video_i386_vbeblit_index_index): Likewise.
12281 (grub_video_i386_vbeblit_replace_directN): Added.
12282 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12283 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12284 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12285 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12286 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12287 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12288 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12289 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12290 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12291 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12292 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12293 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12294 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12295
0ea85a37 12296 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12297 (grub_video_i386_vbefill_R8G8B8): Likewise.
12298 (grub_video_i386_vbefill_index): Likewise.
12299 (grub_video_i386_vbefill_direct32): Added.
12300 (grub_video_i386_vbefill_direct24): Likewise.
12301 (grub_video_i386_vbefill_direct16): Likewise.
12302 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12303
0ea85a37 12304 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12305 types.
81a06771 12306
0ea85a37 12307 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12308 types.
81a06771 12309
0ea85a37 12310 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12311 blitter types.
81a06771 12312
0ea85a37 12313 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12314 types.
12315
e8a83df6 123162008-09-06 Felix Zielcke <fzielcke@z-51.de>
12317
12318 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12319 RAID level 1.
12320
6bcd8ee5 123212008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12322
6bcd8ee5 12323 * fs/iso9660.c (grub_iso9660_date): New structure.
12324 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12325 (grub_iso9660_uuid): New function.
c375ae58 12326
59261157 123272008-09-05 Bean <bean123ch@gmail.com>
12328
12329 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12330
12331 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12332 insensitive bit for names in Win32 and Win32 & DOS namespace.
12333
12334 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12335
12336 * include/grub/types.h (LONG_MAX): Likewise.
12337
58b6645a 123382008-09-04 Felix Zielcke <fzielcke@z-51.de>
12339
4ee55921 12340 * util/getroot.c: Include <config.h>.
12341 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12342 add support for /dev/md/N devices and handle LVM double dash escaping.
12343
123442008-09-04 Felix Zielcke <fzielcke@z-51.de>
12345
12346 * config.guess: Update to latest version from config git.
12347 * config.sub: Likewise.
58b6645a 12348
9124f65d 123492008-09-03 Robert Millan <rmh@aybabtu.com>
12350
12351 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12352 `disk->total_sectors'.
12353
81a06771 123542008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12355
12356 * include/grub/normal.h: Fixed incorrect comment for
12357 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12358
81a06771 123592008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12360
12361 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12362 values with defines.
12363
12364 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12365 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12366 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12367 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12368 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12369 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12370 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12371 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12372 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12373 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12374 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12375 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12376 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12377 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12378 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12379 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12380 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12381 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12382 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12383
93d5cbf8 123842008-08-31 Robert Millan <rmh@aybabtu.com>
12385
12386 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12387 declaration.
12388 (grub_multiboot): Fix a few warnings.
12389
21751d50 123902008-08-31 Robert Millan <rmh@aybabtu.com>
12391
12392 * loader/i386/pc/multiboot.c: Update comment not to say that
12393 boot_device support is unimplemented.
12394
e27a75c5 123952008-08-31 Robert Millan <rmh@aybabtu.com>
12396
12397 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12398 or memory map support are unimplemented.
12399
81a06771 124002008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12401
12402 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12403
81a06771 124042008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12405
12406 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12407 total video memory in 'vbeinfo' output; show color format details for
12408 each video mode.
12409
7c5d8d95 124102008-08-30 Pavel Roskin <proski@gnu.org>
12411
12412 * util/genmoddep.c: Remove for real this time.
12413 * DISTLIST: Remove util/genmoddep.c.
12414
4cebd25a 124152008-08-30 Robert Millan <rmh@aybabtu.com>
12416
12417 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12418 as required by Multiboot spec (it was already 4-byte aligned, but
12419 only by chance).
12420
b497a269 124212008-08-29 Pavel Roskin <proski@gnu.org>
12422
e3925185 12423 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12424 * kern/powerpc/ieee1275/startup.S: ... this.
12425 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12426 * DISTLIST: Likewise.
12427
b497a269 12428 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12429 grub/cpu/kernel.h. Add start label for consistency with other
12430 platforms. Add grub_prefix immediately after start. Add jump
12431 to the code after grub_prefix.
12432 * include/grub/powerpc/kernel.h: Provide valid values for
12433 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12434
6e5a42fe 124352008-08-29 Bean <bean123ch@gmail.com>
12436
12437 * configure.ac: Change host_os to cygwin for mingw.
12438 (asprintf): New check for function.
12439
12440 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12441 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12442
12443 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 12444 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 12445 sync, sleep and grub_util_get_disk_size for mingw.
12446
12447 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12448 to get size in mingw.
12449 (open_device): Use flag O_BINARY if it's defined.
12450 (find_root_device): Add dummy code for mingw.
12451
12452 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12453 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12454 (get_scsi_disk_name): Return 0 for mingw.
12455
12456 * util/hostfs.c: #include <grub/util/misc.h>.
12457 (grub_hostfs_open): Use "rb" flag to open file, use
12458 grub_util_get_disk_size to get disk size for mingw.
12459
12460 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
12461 (asprintf): New function if HAVE_ASPRINTF is not set.
12462 (sync): New function for mingw.
12463 (sleep): Likewise.
12464 (grub_util_get_disk_size): Likewise.
12465
ab3f2673 124662008-08-28 Pavel Roskin <proski@gnu.org>
12467
12468 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12469 kern/time.c.
12470
1c282483 124712008-08-28 Robert Millan <rmh@aybabtu.com>
12472
12473 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
12474
678e849c 124752008-08-28 Robert Millan <rmh@aybabtu.com>
12476
12477 Change find_grub_drive() syntax so it doesn't prevent it from
12478 detecting NULL names as errors.
12479
12480 * util/biosdisk.c (find_grub_drive): Move free slot search code
12481 from here ...
12482 (find_free_slot): ... to here.
12483 (read_device_map): Use find_free_slot() to search for free slots.
12484
965c75ca 124852008-08-27 Marco Gerards <marco@gnu.org>
12486
12487 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
12488 (scsi_mod_SOURCES): New variable.
12489 (scsi_mod_CFLAGS): Likewise
12490 (scsi_mod_LDFLAGS): Likewise.
12491
12492 * disk/scsi.c: New file.
12493
12494 * include/grub/scsi.h: Likewise.
12495
12496 * include/grub/scsicmd.h: Likewise.
12497
12498 * disk/ata.c: Include <grub/scsi.h>.
12499 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
12500 instead.
12501 (grub_ata_iterate): Skip ATAPI devices.
12502 (grub_ata_open): Only handle ATAPI devices.
12503 (struct grub_atapi_read): Removed.
12504 (grub_atapi_readsector): Likewise.
12505 (grub_ata_read): No longer handle ATAPI devices.
12506 (grub_ata_write): Likewise.
12507 (grub_atapi_iterate): New function.
12508 (grub_atapi_read): Likewise.
12509 (grub_atapi_write): Likewise.
12510 (grub_atapi_open): Likewise.
12511 (grub_atapi_close): Likewise.
12512 (grub_atapi_dev): New variable.
12513 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
12514 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
12515
12516 * include/grub/disk.h (enum grub_disk_dev_id): Add
12517 `GRUB_DISK_DEVICE_SCSI_ID'.
12518
c07ae501 125192008-08-26 Robert Millan <rmh@aybabtu.com>
12520
12521 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
12522 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
12523 descriptive.
12524
5ed20adc 125252008-08-23 Bean <bean123ch@gmail.com>
12526
12527 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
12528 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12529 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
12530 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
12531 dm_nv.mod.
12532 (raid5rec_mod_SOURCES): New macro.
12533 (raid5rec_mod_CFLAGS): Likewise.
12534 (raid5rec_mod_LDFLAGS): Likewise.
12535 (raid6rec_mod_SOURCES): Likewise.
12536 (raid6rec_mod_CFLAGS): Likewise.
12537 (raid6rec_mod_LDFLAGS): Likewise.
12538 (mdraid_mod_SOURCES): Likewise.
12539 (mdraid_mod_CFLAGS): Likewise.
12540 (mdraid_mod_LDFLAGS): Likewise.
12541 (dm_nv_mod_SOURCES): Likewise.
12542 (dm_nv_mod_CFLAGS): Likewise.
12543 (dm_nv_mod_LDFLAGS): Likewise.
12544
12545 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
12546 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12547 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12548
12549 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
12550 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12551
12552 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12553
12554 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12555
12556 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12557
12558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12559
12560 * disk/raid5_recover.c: New file.
12561
12562 * disk/raid6_recover.c: Likewise.
12563
12564 * disk/mdraid_linux.c: Likewise.
12565
12566 * disk/dmraid_nvidia.c: Likewise.
12567
12568 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
12569 ULONG_MAX.
12570
12571 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
12572 calculate the size of raid device.
12573 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
12574 different layout of raid5.
12575 (grub_raid_scan_device): Remove code specific to mdraid.
12576 (grub_raid_list): New variable.
12577 (free_array): New function.
12578 (grub_raid_register): Likewise.
12579 (grub_raid_unregister): Likewise.
12580 (grub_raid_rescan): Likewise.
12581 (GRUB_MOD_INIT): Don't iterate device here.
12582 (GRUB_MOD_FINI): Use free_array to release resource.
12583
12584 * include/grub/raid.h: Remove macro and structure specific to mdraid.
12585 (grub_raid5_recover_func_t): New function variable type.
12586 (grub_raid6_recover_func_t): Likewise.
12587 (grub_raid5_recover_func): New variable.
12588 (grub_raid6_recover_func): Likewise.
12589 (grub_raid_register): New function.
12590 (grub_raid_unregister): Likewise.
12591 (grub_raid_rescan): Likewise.
12592 (grub_raid_block_xor): Likewise.
12593
12594 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
12595 (CMD_CRC): New macro.
12596 (part): Removed.
12597 (read_file): Handle device as well as file.
12598 (cmd_crc): New function.
12599 (fstest): Handle multiple disks.
12600 (options): Remove part, raw and long, add root and diskcount.
12601 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 12602 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 12603 add handling for the new options, support multiple disks.
12604
12605 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
12606
29c18915 126072008-08-23 Bean <bean123ch@gmail.com>
12608
12609 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
12610
12611 * genfslist.sh: Ignore kernel.mod.
12612
12613 * genpartmaplist.sh: Likewise.
12614
8415f261 126152008-08-23 Robert Millan <rmh@aybabtu.com>
12616
12617 * util/getroot.c (find_root_device): Skip anything that starts with
12618 a dot, not just directories. This avoids things like /dev/.tmp.md0.
12619
d5a7dc5b 126202008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 12621
d5a7dc5b 12622 * util/update-grub.in (GRUB_GFXMODE): Export variable.
12623 * util/grub.d/00_header.in: Allow the administrator to change default
12624 gfxmode via ${GRUB_GFXMODE}.
12625
380cfbb4 126262008-08-21 Felix Zielcke <fzielcke@z-51.de>
12627
12628 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
12629
c9baafe7 126302008-08-21 Robert Millan <rmh@aybabtu.com>
12631
12632 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
12633 loader.
12634 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
12635 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
12636
e290bef2 126372008-08-20 Carles Pina i Estany <carles@pina.cat>
12638
12639 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
12640 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
12641
f9dbfc96 126422008-08-19 Robert Millan <rmh@aybabtu.com>
12643
12644 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
12645 (struct grub_virtual_screen): Remove `cursor_color'.
12646 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
12647 initialization.
12648 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
12649
dd6bd6ab 126502008-08-18 Robert Millan <rmh@aybabtu.com>
12651
12652 Unify (identical) linux_normal.c files.
12653 * loader/i386/efi/linux_normal.c: Move from here ...
12654 * loader/linux_normal.c: ... to here. Update all users.
12655 * loader/i386/pc/linux_normal.c: Delete. Update all users.
12656 * loader/i386/ieee1275/linux_normal.c: Likewise.
12657
7f42f83e 126582008-08-18 Robert Millan <rmh@aybabtu.com>
12659
12660 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
12661 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
12662 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
12663 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
12664 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
12665 New macros.
12666 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
12667 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
12668 (GRUB_LINUX_CL_END_OFFSET): ... to here.
12669 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
12670 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
12671 (GRUB_EFI_CL_END_OFFSET): Rename to ...
12672 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
12673 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
12674 Initialize `params->video_cursor_x' and `params->video_cursor_y'
12675 portably using grub_getxy().
12676 Replace `-EFI' with `-bzImage' in boot message.
12677
38487ddb 126782008-08-17 Robert Millan <rmh@aybabtu.com>
12679
12680 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
12681
deceb3ec 126822008-08-17 Robert Millan <rmh@aybabtu.com>
12683
12684 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
12685
12686 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
12687 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
12688 (grub_machine_mmap_iterate): New function declaration.
12689 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
12690 structure.
12691 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
12692 macros.
12693
12694 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
12695 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
12696 Move e820 parsing from here ...
12697 * kern/i386/pc/mmap.c: New file.
12698 (grub_machine_mmap_iterate): ... to here.
12699
12700 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
12701 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
12702 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
12703 (grub_available_iterate): Redeclare to return `void', and redeclare
12704 its hook to use grub_uint64_t as addr and size parameters, and rename
12705 to ...
12706 (grub_machine_mmap_iterate): ... this. Update all users.
12707
12708 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
12709 to make it more readable. Rename to ...
12710 (grub_machine_mmap_iterate): ... this.
12711
12712 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
12713 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
12714 (grub_multiboot): Allocate an extra region after the payload, and fill
12715 it with a Multiboot memory map. Adjust a.out loader to calculate size
12716 with the extra space.
12717 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
12718 with the extra space.
12719
f8aa0f43 127202008-08-17 Carles Pina i Estany <carles@pina.cat>
12721
9807deb9 12722 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 12723
605f5bb6 127242008-08-17 Felix Zielcke <fzielcke@z-51.de>
12725
12726 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
12727 mdate-sh to the list `find' searches for.
12728 * DISTLIST: Regenerated.
12729
210db6c6 127302008-08-16 Felix Zielcke <fzielcke@z-51.de>
12731
12732 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
12733 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 12734 genmoddep.awk, gensymlist.sh.in.
12735 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 12736 * DISTLIST: Regenerated.
48cdbfd4 12737 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 12738
1082b929 127392008-08-16 Robert Millan <rmh@aybabtu.com>
12740
12741 * disk/raid.c (grub_raid_init): Handle/report errors set by
12742 grub_device_iterate().
12743 * disk/lvm.c (grub_lvm_init): Likewise.
12744
42ce5170 127452008-08-15 Bean <bean123ch@gmail.com>
12746
12747 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12748 and datehook.mod.
12749 (datetime_mod_SOURCES): New macro.
12750 (datetime_mod_CFLAGS): Likewise.
12751 (datetime_mod_LDFLAGS): Likewise.
12752 (date_mod_SOURCES): Likewise.
12753 (date_mod_CFLAGS): Likewise.
12754 (date_mod_LDFLAGS): Likewise.
12755 (datehook_mod_SOURCES): Likewise.
12756 (datehook_mod_CFLAGS): Likewise.
12757 (datehook_mod_LDFLAGS): Likewise.
12758
12759 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12760 and datehook.mod.
12761 (datetime_mod_SOURCES): New macro.
12762 (datetime_mod_CFLAGS): Likewise.
12763 (datetime_mod_LDFLAGS): Likewise.
12764 (date_mod_SOURCES): Likewise.
12765 (date_mod_CFLAGS): Likewise.
12766 (date_mod_LDFLAGS): Likewise.
12767 (datehook_mod_SOURCES): Likewise.
12768 (datehook_mod_CFLAGS): Likewise.
12769 (datehook_mod_LDFLAGS): Likewise.
12770
12771 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12772 and datehook.mod.
12773 (datetime_mod_SOURCES): New macro.
12774 (datetime_mod_CFLAGS): Likewise.
12775 (datetime_mod_LDFLAGS): Likewise.
12776 (date_mod_SOURCES): Likewise.
12777 (date_mod_CFLAGS): Likewise.
12778 (date_mod_LDFLAGS): Likewise.
12779 (datehook_mod_SOURCES): Likewise.
12780 (datehook_mod_CFLAGS): Likewise.
12781 (datehook_mod_LDFLAGS): Likewise.
12782
12783 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12784 and datehook.mod.
12785 (datetime_mod_SOURCES): New macro.
12786 (datetime_mod_CFLAGS): Likewise.
12787 (datetime_mod_LDFLAGS): Likewise.
12788 (date_mod_SOURCES): Likewise.
12789 (date_mod_CFLAGS): Likewise.
12790 (date_mod_LDFLAGS): Likewise.
12791 (datehook_mod_SOURCES): Likewise.
12792 (datehook_mod_CFLAGS): Likewise.
12793 (datehook_mod_LDFLAGS): Likewise.
12794
12795 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12796 and datehook.mod.
12797 (datetime_mod_SOURCES): New macro.
12798 (datetime_mod_CFLAGS): Likewise.
12799 (datetime_mod_LDFLAGS): Likewise.
12800 (date_mod_SOURCES): Likewise.
12801 (date_mod_CFLAGS): Likewise.
12802 (date_mod_LDFLAGS): Likewise.
12803 (datehook_mod_SOURCES): Likewise.
12804 (datehook_mod_CFLAGS): Likewise.
12805 (datehook_mod_LDFLAGS): Likewise.
12806
12807 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12808
12809 * commands/date.c: New file.
12810
12811 * hook/datehook.c: Likewise.
12812
12813 * include/grub/lib/datetime.h: Likewise.
12814
12815 * include/grub/i386/cmos.h: Likewise.
12816
12817 * lib/datetime.c: Likewise.
12818
12819 * lib/i386/datetime.c: Likewise.
12820
12821 * lib/efi/datetime.c: Likewise.
12822
0e9242da 128232008-08-14 Robert Millan <rmh@aybabtu.com>
12824
12825 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12826 (grub_mkelfimage_SOURCES): New variable.
12827 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12828
12829 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12830 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12831 * conf/powerpc-ieee1275.rmk: Likewise.
12832 * conf/i386-ieee1275.rmk: Likewise.
12833
12834 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12835 * kern/i386/coreboot/init.c: Likewise.
12836
12837 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12838 with `<grub/cpu/kernel.h>'.
12839 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12840 to ...
12841 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12842 * kern/i386/coreboot/startup.S: Likewise.
12843
12844 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12845 (GRUB_MOD_GAP): Remove.
12846 * include/grub/powerpc/kernel.h: New file.
12847 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12848 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12849 * include/grub/i386/kernel.h: New file.
12850 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12851 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12852 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12853
12854 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12855 `grub-mkelfimage'.
12856 Use --directory when invoking grub_mkimage.
12857
12858 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12859 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12860 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12861 and GRUB_KERNEL_CPU_PREFIX.
12862
b86408f8 128632008-08-14 Felix Zielcke <fzielcke@z-51.de>
12864
d5e619ca 12865 * include/grub/err.h (grub_err_printf): New function prototype.
12866 * util/misc.c (grub_err_printf): New function.
12867 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12868 grub_printf.
12869 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 12870
7161f0e0 128712008-08-13 Robert Millan <rmh@aybabtu.com>
12872
12873 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12874
a1967522 128752008-08-13 Robert Millan <rmh@aybabtu.com>
12876
12877 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12878 boot entry.
12879
371458b5 128802008-08-12 Robert Millan <rmh@aybabtu.com>
12881
12882 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12883 of the relocation code from here ...
12884 (grub_multiboot): ... to here.
12885 (forward_relocator, backward_relocator): Move from here ...
12886 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12887 (grub_multiboot_backward_relocator): ... to here.
12888 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12889 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12890 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12891 (grub_multiboot_forward_relocator_end)
12892 (grub_multiboot_backward_relocator)
12893 (grub_multiboot_backward_relocator_end): New variables.
12894
05f9452b 128952008-08-12 Bean <bean123ch@gmail.com>
12896
12897 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12898
20024ab0 128992008-08-11 Robert Millan <rmh@aybabtu.com>
12900
12901 * kern/i386/linuxbios/startup.S: Move from here ...
12902 * kern/i386/coreboot/startup.S: ... to here.
12903
12904 * kern/i386/linuxbios/init.c: Move from here ...
12905 * kern/i386/coreboot/init.c: ... to here.
12906
12907 * kern/i386/linuxbios/table.c: Move from here ...
12908 * kern/i386/coreboot/mmap.c: ... to here.
12909
12910 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12911
e352e9cd 129122008-08-11 Robert Millan <rmh@aybabtu.com>
12913
12914 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12915 errors. Leave it to the upper layer to handle them.
12916
2d05bc6a 129172008-08-09 Christian Franke <franke@computer.org>
12918
12919 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12920 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12921 Install `grub.d/10_windows' only on Cygwin.
12922 * configure.ac: Add subst of `target_os'.
12923 Check `target_os' also before setting TARGET_OBJ2ELF.
12924 Add `--enable-grub-pe2elf'.
12925
042bd419 129262008-08-08 Robert Millan <rmh@aybabtu.com>
12927
12928 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12929 (grub_last_time): Change type to grub_uint64_t.
12930 (grub_disk_open): Migrate code from to using grub_get_time_ms().
12931 (grub_disk_close): Likewise.
12932
12933 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12934 (run_menu): Migrate code from to using grub_get_time_ms().
12935
12936 * util/misc.c (grub_get_time_ms): New function.
12937
7f280db5 129382008-08-08 Marco Gerards <marco@gnu.org>
12939
12940 * disk/ata.c (grub_ata_regget): Change return type to
12941 `grub_uint8_t'.
12942 (grub_ata_regget2): Likewise.
12943 (grub_ata_wait_status): New function.
12944 (grub_ata_wait_busy): Removed function, updated all users to use
12945 `grub_ata_wait_status'.
12946 (grub_ata_wait_drq): Likewise.
12947 (grub_ata_cmd): New function.
12948 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12949 error handling.
12950 (grub_ata_pio_write): Add error handling.
12951 (grub_atapi_identify): Likewise.
12952 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12953 handling.
12954 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12955 handling. Actually use the detected registers. Reorder the
12956 detection logic such that it is easier to read.
12957 (grub_ata_pciinit): Do not assign the same ID to each controller.
12958 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12959 handling.
12960 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12961
12962 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12963
1fbc5e66 129642008-08-08 Marco Gerards <marco@gnu.org>
12965
12966 * NEWS: Update.
12967
819ce6c0 129682008-08-07 Bean <bean123ch@gmail.com>
12969
12970 * include/grub/x86_64/pci.h: New file.
12971
5c41d44d 129722008-08-07 Christian Franke <franke@computer.org>
12973
12974 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12975 (TIMER2_GATE): Likewise.
12976 (grub_pit_wait): Add enable/disable of the timer2 gate
12977 bit of port 0x61. This fixes a possible infinite loop.
12978
5ebc275d 129792008-08-07 Bean <bean123ch@gmail.com>
12980
12981 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12982 kern/i386/tsc.c and kern/i386/pit.c.
12983
12984 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12985 x86_64 platform.
12986
12987 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12988 <grub/i386/tsc.h>.
12989
12990 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12991
e383b3d0 129922008-08-07 Bean <bean123ch@gmail.com>
12993
12994 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12995
12996 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12997
12998 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12999 multiple inclusion. Add #include <grub/types.h>.
13000
1cbb58ac 130012008-08-06 Christian Franke <franke@computer.org>
13002
13003 * conf/common.rmk: Build and install `10_windows'.
13004 * util/grub.d/10_windows.in: New script.
13005
337f5a1e 130062008-08-06 Pavel Roskin <proski@gnu.org>
13007
13008 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
13009
057bc4ac 130102008-08-06 Robert Millan <rmh@aybabtu.com>
13011
13012 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
13013 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
13014
2b99f123 130152008-08-06 Bean <bean123ch@gmail.com>
13016
13017 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13018 (grub_pxefs_fs_int): Remove dummy definition.
13019 (grub_pxefs_open): Use data->block_size to store the current block
13020 size setting.
13021 (grub_pxefs_read): Use block size stored in data->block_size. As the
13022 value of grub_pxe_blksize can be changed after the file is opened.
13023
9f0234cb 130242008-08-06 Bean <bean123ch@gmail.com>
13025
13026 * fs/i386/pc/pxe.c (curr_file): new variable.
13027 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13028 require the dummy internal file system anymore.
13029 (grub_pxefs_read): Removed.
13030 (grub_pxefs_close): Likewise.
13031 (grub_pxefs_fs_int): Likewise.
13032 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13033 connection when we switch file.
13034 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13035
a55d42e0 130362008-08-06 Robert Millan <rmh@aybabtu.com>
13037
13038 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13039 `halt.mod'.
13040 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13041 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13042
13043 * kern/i386/halt.c: New file.
13044 * kern/i386/reboot.c: Likewise.
13045 * include/grub/i386/reboot.h: Likewise.
13046 * include/grub/i386/halt.h: Likewise.
13047
13048 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13049 Include `<grub/cpu/halt.h>'.
13050 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13051 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13052
13053 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13054 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13055 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13056 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13057 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13058 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13059 from here ...
13060 * include/grub/i386/at_keyboard.h: ... to here.
13061
24371d26 130622008-08-05 Robert Millan <rmh@aybabtu.com>
13063
13064 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13065 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13066 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13067 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13068 `kern/generic/millisleep.c'.
13069
13070 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13071 instead of grub_get_rtc().
13072 (grub_tsc_init): Initialize `tsc_boot_time'.
13073
13074 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13075 (grub_machine_init): Use grub_tsc_init() rather than
13076 installing an RTC-based handler via grub_install_get_time_ms().
13077
13078 * kern/i386/pit.c: New file.
13079 * include/grub/i386/pit.h: Likewise.
13080
9e7007b3 130812008-08-05 Bean <bean123ch@gmail.com>
13082
13083 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13084
13085 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13086 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13087 (pxe_mod_SOURCES): New macro.
13088 (pxe_mod_CFLAGS): Likewise.
13089 (pxe_mod_LDFLAGS): Likewise.
13090 (pxecmd_mod_SOURCES): Likewise.
13091 (pxecmd_mod_CFLAGS): Likewise.
13092 (pxecmd_mod_LDFLAGS): Likewise.
13093
13094 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13095 (grub_pxe_call): Likewise.
13096
13097 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13098
13099 * commands/i386/pc/pxecmd.c: New file.
13100
9f0234cb 13101 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 13102
13103 * include/grub/i386/pc/pxe.h: Likewise.
13104
6977d49f 131052008-08-05 Bean <bean123ch@gmail.com>
13106
13107 * util/console.c (grub_console_cur_color): New variable.
13108 (grub_console_standard_color): Likewise.
13109 (grub_console_normal_color): Likewise.
13110 (grub_console_highlight_color): Likewise.
13111 (color_map): Likewise.
13112 (use_color): Likewise.
13113 (NUM_COLORS): New macro.
13114 (grub_ncurses_setcolorstate): Handle color properly.
13115 (grub_ncurses_setcolor): Don't change color here, just remember the
13116 settings, color will be set in grub_ncurses_setcolorstate.
13117 (grub_ncurses_getcolor): New function.
13118 (grub_ncurses_init): Initialize color pairs.
13119 (grub_ncurses_term): New member grub_ncurses_getcolor.
13120
9c2ff3ee 131212008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 13122
9c2ff3ee 13123 High resolution timer support. Implemented for x86 CPUs using TSC.
13124 Extracted generic grub_millisleep() so it's linked in only as needed.
13125 This requires a Pentium compatible CPU; if the RDTSC instruction is
13126 not supported, then it falls back on the generic grub_get_time_ms()
13127 implementation that uses the machine's RTC.
13128
13129 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13130 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13131 `kern/generic/millisleep.c'.
13132
13133 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13134 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13135
13136 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13137 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13138
13139 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13140
13141 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13142 `kern/generic/millisleep.c'.
13143
13144 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13145
13146 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13147
13148 * kern/generic/rtc_get_time_ms.c: New file.
13149
13150 * kern/generic/millisleep.c: New file.
337f5a1e 13151
9c2ff3ee 13152 * kern/misc.c: Don't include
13153 <kern/time.h> anymore.
13154 (grub_millisleep_generic): Removed.
13155
13156 * commands/sleep.c (grub_interruptible_millisleep): Uses
13157 grub_get_time_ms() instead of grub_get_rtc().
13158
13159 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13160 function.
13161 (grub_cpu_is_cpuid_supported): New inline function.
13162 (grub_cpu_is_tsc_supported): New inline function.
13163 (grub_tsc_init): New function prototype.
13164 (grub_tsc_get_time_ms): New function prototype.
13165
13166 * kern/i386/tsc.c (grub_get_time_ms): New file.
13167
13168 * include/grub/time.h: Include <grub/types.h.
13169 (grub_millisleep_generic): Removed.
13170 (grub_get_time_ms): New prototype.
13171 (grub_install_get_time_ms): New prototype.
13172 (grub_rtc_get_time_ms): New prototype.
13173
13174 * kern/time.c (grub_get_time_ms): New function.
13175 (grub_install_get_time_ms): New function.
13176
13177 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13178 <grub/time.h> anymore.
13179 (grub_millisleep): Removed.
13180 (grub_machine_init): Call grub_tsc_init.
13181
13182 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13183 get_time_ms() implementation.
13184
13185 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13186 (ieee1275_get_time_ms): New function.
13187 (grub_machine_init): Install get_time_ms() implementation.
13188
13189 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13190 (grub_machine_init): Call grub_tsc_init().
13191 (grub_millisleep): Removed.
bf06a93f 13192
9c2ff3ee 13193 * kern/ieee1275/init.c (grub_millisleep): Removed.
13194 (grub_machine_init): Install ieee1275_get_time_ms()
13195 implementation.
13196 (ieee1275_get_time_ms): New function.
13197 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13198 real work.
13199
9ec92aaf 132002008-08-05 Marco Gerards <marco@gnu.org>
13201
13202 * disk/ata.c: Include <grub/pci.h>.
13203 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13204 (grub_ata_initialize): Rewritten.
13205 (grub_ata_device_initialize): New function.
13206
8d23f507 132072008-08-04 Pavel Roskin <proski@gnu.org>
13208
13209 * kern/main.c: Include grub/mm.h.
13210
5e15ee3d 132112008-08-04 Robert Millan <rmh@aybabtu.com>
13212
13213 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13214 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13215 corruption problem).
13216
a9053f8f 132172008-08-04 Robert Millan <rmh@aybabtu.com>
13218
13219 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13220 warnings introduced in my last commit.
13221
dd19c7d7 132222008-08-03 Robert Millan <rmh@aybabtu.com>
13223
13224 Make PCI available on all i386 architectures.
13225
13226 * include/grub/i386/pc/pci.h: Move from here ...
13227 * include/grub/i386/pci.h: ... to here.
13228
13229 * include/grub/i386/pc/pci.h: Remove.
13230 * include/grub/i386/efi/pci.h: Remove.
13231 * include/grub/x86_64/efi/pci.h: Remove.
13232
13233 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13234 `<grub/cpu/pci.h>'.
13235
13236 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13237 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13238 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13239
13240 * conf/i386-ieee1275.rmk: Likewise.
13241
e14a6184 132422008-08-03 Robert Millan <rmh@aybabtu.com>
13243
13244 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13245 (grub_console_setcursor): Make it possible to set cursor off.
13246
52768e37 132472008-08-03 Robert Millan <rmh@aybabtu.com>
13248
13249 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13250 of modules instead of assuming which platform provides what.
13251 * util/update-grub.in: Likewise.
13252
2d52f57f 132532008-08-03 Robert Millan <rmh@aybabtu.com>
13254
13255 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13256 instead of `grub_install_dos_part' to determine whether a drive needs
13257 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 13258 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 13259
2a5cd121 132602008-08-02 Robert Millan <rmh@aybabtu.com>
13261
13262 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13263
93808428 132642008-08-02 Robert Millan <rmh@aybabtu.com>
13265
13266 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13267 of informational grub_dprintf() calls.
13268
3bd0a12a 132692008-08-02 Robert Millan <rmh@aybabtu.com>
13270
13271 * disk/memdisk.c (memdisk_size): Don't initialize.
13272 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13273
13274 * include/grub/i386/pc/kernel.h
13275 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13276 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13277 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13278 (grub_arch_memdisk_size): Remove.
13279
13280 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13281 field (was only used to transfer a constant). Add `type' field to
13282 support multiple module types.
13283 (grub_module_iterate): New function.
13284
13285 * kern/device.c (grub_device_open): Do not hide error messages
13286 when grub_disk_open() fails. Use grub_print_error() instead.
13287
13288 * kern/i386/pc/init.c (grub_arch_modules_addr)
13289 (grub_arch_memdisk_size): Remove functions.
13290 (grub_arch_modules_addr): Return the module address in high memory
13291 (now that it isn't copied anymore).
13292
13293 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13294 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13295 decompression routine (grub_total_module_size already includes that
13296 now). Don't copy modules back to low memory.
13297
13298 * kern/main.c: Include `<grub/mm.h>'.
13299 (grub_load_modules): Split out (and use) ...
13300 (grub_module_iterate): ... this function, which iterates through
13301 module objects and runs a hook.
13302 Comment out grub_mm_init_region() call, as it would cause non-ELF
13303 modules to be overwritten.
13304
13305 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13306 the memdisk image in its own region, make it part of the module list.
13307 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13308 (main): Parse --memdisk|-m option, and pass user-provided path as
13309 parameter to generate_image().
13310 (add_segments): Pass `memdisk_path' down to load_modules().
13311 (load_modules): Embed memdisk image in module section when requested.
13312 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13313 `header.type' instead of `header.offset'.
13314
13315 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13316 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13317 (memdisk_mod_LDFLAGS): New variables.
13318 * conf/i386-coreboot.rmk: Likewise.
13319 * conf/i386-ieee1275.rmk: Likewise.
13320
a927cc73 133212008-08-02 Robert Millan <rmh@aybabtu.com>
13322
13323 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13324 (backward_relocator): New variables. Used to allocate and relocate
13325 the payload, respectively.
13326 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13327 address, install the appropriate relocator code in each bound of
a927cc73 13328 the payload, and set the entry point such that
13329 grub_multiboot_real_boot() will jump to one of them.
13330
13331 * kern/i386/loader.S (grub_multiboot_payload_size)
13332 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13333 (grub_multiboot_payload_entry_offset): New variables.
13334 (grub_multiboot_real_boot): Set cpu context to what the relocator
13335 expects, and jump to the relocator instead of the payload.
13336
13337 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13338 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13339 (grub_multiboot_payload_entry_offset): Export.
13340
b15d8a0c 133412008-08-01 Bean <bean123ch@gmail.com>
13342
13343 * normal/menu_entry.c (editor_getline): Don't return the original
13344 string as result, as it will be released by lexer once it has done
13345 using it.
13346
cdfb3d22 133472008-08-01 Robert Millan <rmh@aybabtu.com>
13348
13349 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13350 within menuentries, not before them.
13351 util/grub.d/10_hurd.in: Likewise.
13352
9175e93d 133532008-08-01 Bean <bean123ch@gmail.com>
13354
13355 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13356 (bufio_mod_SOURCES): New macro.
13357 (bufio_mod_CFLAGS): Likewise.
13358 (bufio_mod_LDFLAGS): Likewise.
13359
13360 * include/grub/bufio.h: New file.
13361
13362 * io/bufio.c: Likewise.
13363
13364 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13365 (grub_video_reader_png): Use grub_buffile_open to open file.
13366
13367 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13368 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13369
13370 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13371 (grub_video_reader_tga): Use grub_buffile_open to open file.
13372
13373 * font/manager.c: Include <grub/bufio.h>.
13374 (add_font): Use grub_buffile_open to open file.
13375
3d8383e7 133762008-07-31 Robert Millan <rmh@aybabtu.com>
13377
13378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13379 ELF segments, use a macro for arbitrarily accessing any of them instead
13380 of preparing a pointer that allows access to one at a time.
13381 (grub_multiboot_load_elf64): Likewise.
13382
16e641b6 133832008-07-31 Bean <bean123ch@gmail.com>
13384
13385 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13386 GRUB_KERNEL_MACHINE_DATA_END.
13387
59198b72 133882008-07-30 Robert Millan <rmh@aybabtu.com>
13389
13390 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13391 Increase from 0x50 to 0x60.
13392 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13393 use UUIDs to identify the root drive for them. If that's not
13394 possible, abort.
13395 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13396 check, for cross-disk installs.
13397
ae88bca3 133982008-07-30 Robert Millan <rmh@aybabtu.com>
13399
13400 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13401 is non-empty, use it to set the `prefix' environment variable instead
13402 of the usual approach.
13403 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13404 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13405 environment variable instead of dummy make_install_device().
13406
13407 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13408 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13409 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13410
13411 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13412 New variable reference.
13413 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13414 New macro. Defines offset of `grub_prefix' within startup.S (relative
13415 to `start').
13416 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13417 section within startup.S (relative to `start').
13418 * include/grub/i386/coreboot/kernel.h: Likewise.
13419
13420 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13421 Overwrite grub_prefix with its contents, at the beginning of the
13422 first segment.
13423 (main): Understand -p|--prefix.
13424
14f41dd1 134252008-07-30 Robert Millan <rmh@aybabtu.com>
13426
13427 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13428
4ca049a3 134292008-07-30 Robert Millan <rmh@aybabtu.com>
13430
13431 * term/i386/pc/vga_text.c (grub_console_cls): Use
13432 grub_console_gotoxy() to go back to beginning of the screen.
13433 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13434
2921d337 134352008-07-29 Christian Franke <franke@computer.org>
13436
13437 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13438 Add conversion of emulated mount points on Cygwin.
13439
b609876d 134402008-07-29 Christian Franke <franke@computer.org>
13441
13442 * util/update-grub.in: Add a check for admin
13443 group on Cygwin.
13444 Remove old `grub.cfg.new' before creation.
13445 Add `-f' to `mv' to handle the different filesystem
13446 semantics of Windows.
13447
e93e4679 134482008-07-29 Bean <bean123ch@gmail.com>
13449
13450 * normal/main.c (get_line): Fix buffer overflow bug.
13451
41694fd0 134522008-07-28 Robert Millan <rmh@aybabtu.com>
13453
13454 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13455 (struct grub_apple_header): New struct. Describes the layout of
13456 the partmap header.
13457 (apple_partition_map_iterate): Check the header magic as well as the
13458 partition magic (which was already being checked).
13459
cfd0b4e6 134602008-07-28 Pavel Roskin <proski@gnu.org>
13461
13462 * genmk.rb: Add a warning to the beginning of the output that
13463 it's a generated file and should not be edited.
13464
93cce016 134652008-07-28 Robert Millan <rmh@aybabtu.com>
13466
13467 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13468 with the same number are found, just use issue a warning with
13469 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 13470
cd1df915 134712008-07-27 Robert Millan <rmh@aybabtu.com>
13472
13473 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
13474 information.
13475
b70a8427 134762008-07-27 Bean <bean123ch@gmail.com>
13477
13478 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13479 (grub_fat_find_dir): Ignore case when comparing filename.
13480
8f5e379f 134812008-07-27 Bean <bean123ch@gmail.com>
13482
13483 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
13484 smallino, as it's more descriptive, and i8count can be confused with
13485 the other field count.
13486 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
13487 inode type.
13488
a85cd5a0 134892008-07-27 Bean <bean123ch@gmail.com>
13490
13491 * commands/crc.c: New file.
13492
13493 * lib/crc.c: Likewise.
13494
13495 * include/grub/lib/crc.h: Likewise.
13496
13497 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
13498
13499 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
13500 (hexdump): Move this function to ...
13501
13502 * lib/hexdump.c: ... here.
13503
13504 * include/grub/hexdump.h: Renamed to ...
13505
13506 * include/grub/lib/hexdump.h: ... this.
13507
13508 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
13509
13510 * util/grub-editenv.c: Likewise.
13511
13512 * include/envblk.h: Renamed to ...
13513
13514 * include/lib/envblk.h: ... this.
13515
13516 * util/envblk.c: Renamed to ...
13517
13518 * lib/envblk.c: ... this.
13519
13520 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
13521 lib/hexdump.c.
13522 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
13523 (pkglib_MODULES): Add crc.mod.
13524 (hexdump_mod_SOURCES): Add lib/hexdump.c.
13525 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
13526 (crc_mod_SOURCES): New macro.
13527 (crc_mod_CFLAGS): Likewise.
13528 (crc_mod_LDFLAGS): Likewise.
13529
13530 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
13531
13532 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13533
13534 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13535
13536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13537
13538 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13539
c298def0 135402008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 13541
13542 * commands/help.c: Include <grub/term.h>.
13543 (TERM_WIDTH): Removed. Updated all users.
13544
cc349fb3 135452008-07-27 Pavel Roskin <proski@gnu.org>
13546
13547 * util/getroot.c (find_root_device): Rephrase a comment to avoid
13548 spurious warnings about a comment within a comment.
13549
9051607e 135502008-07-25 Robert Millan <rmh@aybabtu.com>
13551
13552 * util/getroot.c (find_root_device): Skip devices that match
13553 /dev/dm-[0-9]. This lets the real device be found for any type of
13554 abstraction (LVM, EVMS, RAID..).
13555 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
13556 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
13557 device is found first, find_root_device() will now skip it.
13558
01453bfc 135592008-07-24 Pavel Roskin <proski@gnu.org>
13560
13561 * include/grub/types.h: Use __builtin_bswap32() and
13562 __builtin_bswap64() with gcc 4.3 and newer.
13563
6af9849f 135642008-07-24 Christian Franke <franke@computer.org>
13565
3a0fa256 13566 * util/i386/pc/grub-install.in: If `--debug' is specified,
13567 pass `--verbose' to grub-setup.
13568 Abort script if make_system_path_relative_to_its_root() fails.
13569
7810e747 135702008-07-24 Bean <bean123ch@gmail.com>
13571
13572 * configure.ac: Fixed a bug caused by the previous cygwin patch,
13573 variable `target_platform' should be `platform'.
13574
42290e17 135752008-07-24 Bean <bean123ch@gmail.com>
13576
51cc5193 13577 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 13578 (grub_png_init_fixed_block): New function.
13579 (grub_png_decode_image_data): Handle fixed huffman code compression.
13580
2a8a80e4 135812008-07-24 Bean <bean123ch@gmail.com>
13582
13583 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
13584 (grub_pe2elf_SOURCES): New macro.
13585 (CLEANFILES): Add grub-pe2elf.
13586
13587 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
13588 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
13589 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
13590 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
13591 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
13592 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
13593 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
13594 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
13595 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
13596 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
13597 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
13598 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
13599 (GRUB_PE32_DT_FUNCTION): Likewise.
13600 (GRUB_PE32_REL_I386_DIR32): Likewise.
13601 (GRUB_PE32_REL_I386_REL32): Likewise.
13602 (grub_pe32_symbol): New structure.
13603 (grub_pe32_reloc): Likewise.
13604
13605 * util/grub-pe2elf.c: New file.
13606
13607 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
13608 start symbol in non pc platform.
13609
13610 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
13611
13612 The following patches are from Christian Franke.
13613
13614 * include/grub/dl.h: Remove .previous, gas supports this only
13615 for ELF format.
13616
13617 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
13618 Remove .type, gas supports this only for ELF format.
13619
13620 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
13621 nullbytes in symbol table. This fixes an infinite loop if table is
13622 zero filled.
13623
13624 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
13625 TARGET_IMG_LDFLAGS and EXEEXT.
13626
13627 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
13628 TARGET_IMG_LDFLAGS_AC.
13629 (grub_CHECK_STACK_ARG_PROBE): New function.
13630
13631 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
13632
13633 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
13634
13635 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
13636 to set TARGET_IMG_LD* accordingly.
13637 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
13638 Add call to grub_CHECK_STACK_ARG_PROBE.
13639 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
13640
13641 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
13642
13643 * genmk.rb: Add EXEEXT to CLEANFILES.
13644
12ccdb75 136452008-07-23 Robert Millan <rmh@aybabtu.com>
13646
13647 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
13648 define the codes for arrows and lines used for the menu).
13649 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
13650 as well.
13651
13652 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
13653 fonts, because the latter are too slow.
13654
18eeaf04 136552008-07-21 Bean <bean123ch@gmail.com>
13656
13657 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
13658 a20. Run keyboard test last, as it will cause macbook to halt.
13659
b095e2ad 136602008-07-18 Pavel Roskin <proski@gnu.org>
13661
13662 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
13663 load foreign architecture modules correctly anyway. Keep
13664 support for loading host architecture modules, whether we
13665 compile them or not.
13666
737feb35 136672008-07-17 Pavel Roskin <proski@gnu.org>
13668
3f4ce737 13669 * configure.ac: Use -m32 or -m64 regardless of whether we had to
13670 change target_cpu. The compiler default can mismatch target_cpu
13671 in any case.
13672
4ad2d049 13673 * disk/efi/efidisk.c: Fix format warnings on x86_64.
13674 * kern/efi/efi.c: Likewise.
13675
f6130a12 13676 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
13677 target compiler is functional.
13678 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
13679 are set up.
13680
58393a2d 13681 * configure.ac: Default to efi platform for x86_64-apple. Allow
13682 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
13683 adjustments from the rest, only do them if target is not
13684 explicitly given. Merge other adjustments with the final sanity
13685 check. Remove an extraneous check for supported CPU. Be
13686 specific which CPU and which platform is not supported.
13687
737feb35 13688 * configure.ac: Default to pc platform for x86_64.
13689
546f966a 136902008-07-17 Robert Millan <rmh@aybabtu.com>
13691
13692 Partial LinuxBIOS -> Coreboot rename.
13693
13694 * conf/i386-linuxbios.rmk: Renamed to ...
13695 * conf/i386-coreboot.rmk: ... this.
13696 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
13697 * configure.ac: Accept "coreboot" as input platform (but maintain
13698 compatibility with "linuxbios").
13699 * include/grub/i386/linuxbios: Renamed to ...
13700 * include/grub/i386/coreboot: ... this.
13701
20011694 137022008-07-17 Bean <bean123ch@gmail.com>
13703
13704 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 13705 (appleldr_mod_SOURCE): New variable.
20011694 13706 (appleldr_mod_CFLAGS): Likewise.
13707 (appleldr_mod_LDFLAGS): Likewise.
13708 (pci_mod_SOURCES): Likewise.
13709 (pci_mod_CFLAGS): Likewise.
13710 (pci_mod_LDFLAGS): Likewise.
13711 (lspci_mod_SOURCES): Likewise.
13712 (lspci_mod_CFLAGS): Likewise.
13713 (lspci_mod_LDFLAGS): Likewise.
13714
13715 * conf/x86_64-efi.rmk: New file.
13716
13717 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
13718 macro.
13719 (grub_efidisk_write): Likewise.
13720
13721 * include/efi/api.h (efi_call_0): New macro.
13722 (efi_call_1): Likewise.
13723 (efi_call_2): Likewise.
13724 (efi_call_3): Likewise.
13725 (efi_call_4): Likewise.
13726 (efi_call_5): Likewise.
13727 (efi_call_6): Likewise.
13728
13729 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
13730 grub_rescue_cmd_chainloader.
13731
13732 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
13733 (grub_pe32_optional_header): Change some fields based on i386 or
13734 x86_64 platform.
13735 (GRUB_PE32_PE32_MAGIC): Likewise.
13736
13737 * include/grub/efi/uga_draw.h: New file.
13738
13739 * include/grub/elf.h (STN_ABS): New constant.
13740 (R_X86_64_NONE): Relocation constant for x86_64.
13741 (R_X86_64_64): Likewise.
13742 (R_X86_64_PC32): Likewise.
13743 (R_X86_64_GOT32): Likewise.
13744 (R_X86_64_PLT32): Likewise.
13745 (R_X86_64_COPY): Likewise.
13746 (R_X86_64_GLOB_DAT): Likewise.
13747 (R_X86_64_JUMP_SLOT): Likewise.
13748 (R_X86_64_RELATIVE): Likewise.
13749 (R_X86_64_GOTPCREL): Likewise.
13750 (R_X86_64_32): Likewise.
13751 (R_X86_64_32S): Likewise.
13752 (R_X86_64_16): Likewise.
13753 (R_X86_64_PC16): Likewise.
13754 (R_X86_64_8): Likewise.
13755 (R_X86_64_PC8): Likewise.
13756
13757 * include/grub/i386/efi/pci.h: New file.
13758
13759 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13760 Change it value based on platform.
13761 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13762 (GRUB_E820_RAM): Likewise.
13763 (GRUB_E820_RESERVED): Likewise.
13764 (GRUB_E820_ACPI): Likewise.
13765 (GRUB_E820_NVS): Likewise.
13766 (GRUB_E820_EXEC_CODE): Likewise.
13767 (GRUB_E820_MAX_ENTRY): Likewise.
13768 (grub_e820_mmap): New structure.
13769 (linux_kernel_header): Change the efi field according to different
13770 kernel version, also field from linux_kernel_header.
13771
13772 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13773
13774 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13775 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13776 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13777 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13778 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13779 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13780 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13781 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13782 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13783 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13784
13785 * include/grub/x86_64/efi/kernel.h: New file.
13786
13787 * include/grub/x86_64/efi/loader.h: Likewise.
13788
13789 * include/grub/x86_64/efi/machine.h: Likewise.
13790
13791 * include/grub/x86_64/efi/pci.h: Likewise.
13792
13793 * include/grub/x86_64/efi/time.h: Likewise.
13794
13795 * include/grub/x86_64/linux.h: Likewise.
13796
13797 * include/grub/x86_64/setjmp.h: Likewise.
13798
13799 * include/grub/x86_64/time.h: Likewise.
13800
13801 * include/grub/x86_64/types.h: Likewise.
13802
13803 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13804 GRUB_TARGET_SIZEOF_VOID_P.
13805
13806 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13807 (grub_efi_locate_handle): Likewise.
13808 (grub_efi_open_protocol): Likewise.
13809 (grub_efi_set_text_mode): Likewise.
13810 (grub_efi_stall): Likewise.
13811 (grub_exit): Likewise.
13812 (grub_reboot): Likewise.
13813 (grub_halt): Likewise.
13814 (grub_efi_exit_boot_services): Likewise.
13815 (grub_get_rtc): Likewise.
13816
13817 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13818 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13819 (grub_efi_allocate_pages): Wrap efi calls.
13820 (grub_efi_free_pages): Wrap efi calls.
13821 (grub_efi_get_memory_map): Wrap efi calls.
13822
13823 * kern/x86_64/dl.c: New file.
13824
13825 * kern/x86_64/efi/callwrap.S: Likewise.
13826
13827 * kern/x86_64/efi/startup.S: Likewise.
13828
13829 * loader/efi/appleloader.c: Likewise.
13830
13831 * loader/efi/chainloader.c (cmdline): New variable.
13832 (grub_chainloader_unload): Wrap efi calls.
13833 (grub_chainloader_boot): Likewise.
13834 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13835 command line.
13836
13837 * loader/efi/chainloader_normal.c (chainloader_command):
13838 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13839 command line.
13840
13841 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13842 method.
13843 (grub_e820_add_region): New function.
13844 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13845 booting.
13846 (grub_find_video_card): New function.
13847 (grub_linux_setup_video): New function.
13848 (grub_rescue_cmd_linux): Probe for video information.
13849
13850 * normal/x86_64/setjmp.S: New file.
13851
13852 * term/efi/console.c (map_char): New function.
13853 (grub_console_putchar): Map unicode char.
13854 (grub_console_checkkey): Wrap efi calls.
13855 (grub_console_getkey): Likewise.
13856 (grub_console_getwh): Likewise.
13857 (grub_console_gotoxy): Likewise.
13858 (grub_console_cls): Likewise.
13859 (grub_console_setcolorstate): Likewise.
13860 (grub_console_setcursor): Likewise.
13861
13862 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13863
59652a20 138642008-07-16 Pavel Roskin <proski@gnu.org>
13865
ef294055 13866 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13867 format strings.
13868
59652a20 13869 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13870 pointer, not an integer. This fixes a warning and prevents
13871 precision loss on 64-bit systems.
13872 (relocate_addresses): Remove unneeded cast.
13873
afc3b5d7 138742008-07-15 Pavel Roskin <proski@gnu.org>
13875
506b2b3e 13876 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13877
62ead89c 13878 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13879
c4cd51d7 13880 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13881 Fix comparison between signed and unsigned.
13882
0d3d8f28 13883 * include/grub/i386/ieee1275/console.h: Declare
13884 grub_console_init() and grub_console_fini().
13885
8804b286 13886 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13887 It's empty and unused.
13888
ee01cf35 13889 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13890 beginning to avoid warnings with some compilers.
13891
afc3b5d7 13892 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13893 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13894
e4e8eaa5 138952008-07-14 Pavel Roskin <proski@gnu.org>
13896
407aceb4 13897 * kern/env.c (grub_register_variable_hook): Don't copy empty
13898 string, it leaks memory. Pass "" to grub_env_set(), it should
13899 handle constant strings.
13900
e4e8eaa5 13901 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13902 * commands/cmp.c (grub_cmd_cmp): Likewise.
13903 * kern/dl.c (grub_dl_flush_cache): Likewise.
13904 (grub_dl_load_core): Likewise.
13905 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13906 (grub_elf64_load_phdrs): Likewise.
13907
d4e2dad3 139082008-07-13 Pavel Roskin <proski@gnu.org>
13909
13910 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13911 between signed and unsigned.
13912 (LzmaEnc_Finish): Fix warning about an unused parameter.
13913
aa24b516 139142008-07-13 Bean <bean123ch@gmail.com>
13915
13916 * Makefile.in (enable_lzo): New rule.
13917
13918 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13919
13920 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13921
13922 * boot/i386/pc/lnxboot.S: #include <config.h>.
13923
13924 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 13925 its value according to the compression algorithm used, lzo or lzma.
aa24b516 13926
13927 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
13928 compression algorithm according to configure macro.
13929
13930 * kern/i386/pc/startup.S (codestart): Likewise.
13931
13932 * kern/i386/pc/lzma_decode.S: New file.
13933
13934 * include/grub/lib/LzFind.h: Likewise.
13935
13936 * include/grub/lib/LzHash.h: Likewise.
13937
13938 * include/grub/lib/LzmaDec.h: Likewise.
13939
13940 * include/grub/lib/LzmaEnc.h: Likewise.
13941
13942 * include/grub/lib/LzmaTypes.h: Likewise.
13943
13944 * lib/LzFind.c: Likewise.
13945
13946 * lib/LzmaDec.c: Likewise.
13947
13948 * lib/LzmaEnc.c: Likewise.
13949
4ae821ac 139502008-07-13 Bean <bean123ch@gmail.com>
13951
13952 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13953 (grub_ext4_extent_header): New structure.
13954 (grub_ext4_extent): Likewise.
13955 (grub_ext4_extent_idx): Likewise.
13956 (grub_ext4_find_leaf): New function.
13957 (grub_ext2_read_block): Handle extents.
13958
9a745147 139592008-07-12 Robert Millan <rmh@aybabtu.com>
13960
13961 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13962
d49a4cf6 139632008-07-11 Robert Millan <rmh@aybabtu.com>
13964
13965 * util/grub.d/40_custom.in: New file. Example on how to add custom
13966 entries to /etc/grub.d.
13967 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13968 40_custom (implicitly, by merging all the grub.d rules).
13969
947414b4 139702008-07-11 Pavel Roskin <proski@gnu.org>
13971
0059cf6f 13972 * commands/read.c (grub_getline): Fix invalid memory access.
13973 Don't add newline to the variable value.
13974
947414b4 13975 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13976 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13977 (serial_hw_get_port): Check validity of the port number.
13978 (grub_cmd_serial): Check return value of serial_hw_get_port().
13979
62a02d00 139802008-07-07 Pavel Roskin <proski@gnu.org>
13981
13982 * boot/i386/pc/diskboot.S (notification_string): Replace
13983 "Loading kernel" with just "loading". This is shorter, less
13984 confusing and saves a few bytes for possible future changes.
13985
3e5581b0 139862008-07-05 Pavel Roskin <proski@gnu.org>
13987
ea387a48 13988 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13989 size for ATAPI devices, they are undefined. Output sector
13990 number in decimal form.
13991
3e5581b0 13992 * disk/ata.c: Use named constants for status bits.
13993
fdecb8fd 139942008-07-04 Pavel Roskin <proski@gnu.org>
13995
bcd35b90 13996 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13997 grub_addr_t before casting it to the void pointer to fix a
13998 warning. Non-addressable regions are discarded earlier.
13999 (grub_arch_modules_addr): Cast _end to grub_addr_t.
14000 * kern/i386/linuxbios/table.c: Include grub/misc.h.
14001 (check_signature): Don't shadow table_header.
14002 (grub_linuxbios_table_iterate): Cast numeric constants to
14003 grub_linuxbios_table_header_t.
14004 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
14005 grub_stop().
14006
af58ab3d 14007 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
14008 prevent warnings.
14009
1759aa57 14010 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
14011 pointer, which can cause warnings. Support 64-bit addresses.
14012
fdecb8fd 14013 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
14014 of sizeof(long). This fixes PowerPC image generation on x86_64.
14015
8516d2a8 140162008-07-04 Robert Millan <rmh@aybabtu.com>
14017
14018 This fixes a performance issue when pc & gpt partmap iterators
14019 didn't abort iteration even after our hook found what it was
fe987087 14020 looking for (often causing expensive probes of non-existent drives).
8516d2a8 14021
14022 Some callers relied on previous buggy behaviour, since they would
34c44600 14023 raise an error when their own hooks caused early abortion of its
8516d2a8 14024 iteration.
14025
14026 * kern/device.c (grub_device_open): Improve error message.
14027 * disk/lvm.c (grub_lvm_open): Likewise.
14028 * disk/raid.c (grub_raid_open): Likewise.
14029
14030 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14031 when hook requests it, independently of grub_errno.
14032 (pc_partition_map_probe): Do not fail when find_func() caused
14033 early abortion of pc_partition_map_iterate().
14034
14035 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14036 when hook requests it, independently of grub_errno.
14037 (gpt_partition_map_probe): Do not fail when find_func() caused
14038 early abortion of gpt_partition_map_iterate().
14039
14040 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14041 when hook requests it, independently of grub_errno. Do not fail when
14042 part_map_iterate_hook() caused early abortion of p->iterate().
14043
14044 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14045 when grub_partition_iterate() returned with non-zero.
14046
277d0de9 140472008-07-03 Pavel Roskin <proski@gnu.org>
14048
14049 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14050 like we do in grub_ata_pio_read().
14051 (grub_ata_readwrite): Always write individual sectors. Fix the
14052 sector count for the remainder.
14053 (grub_ata_write): Enable writing to ATA devices. Correctly
14054 report error for ATAPI devices.
14055
d4c9b428 140562008-07-02 Pavel Roskin <proski@gnu.org>
14057
e43fc690 14058 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14059 warning.
14060
f707af42 14061 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14062 for every read sector, we already increment it for the whole
14063 batch. This fixes reading more than 256 sectors at once.
14064
11e16b15 14065 * util/grub-editenv.c (cmd_info): Cast argument to long
14066 explicitly. ptrdiff_t reduces to int on i386.
14067
cbabfdd4 14068 * util/grub-editenv.c (main): Be specific which parameter is
14069 missing.
14070
b8fbce0a 14071 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14072 (memdisk): Make memdisk_orig_addr a pointer.
14073
c9c8e606 14074 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14075 for file offsets, use grub_off_t instead. Fix printf format
14076 warnings.
14077
ca62e598 14078 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14079 there. Real unexpected warnings should not drown in the noise
14080 about known problems.
14081
ce8d1766 14082 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14083 grub_disk_addr_t for memory addresses.
14084
00c7a56a 14085 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14086 explicitly to fix a warning.
14087
08d3ef09 14088 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14089
cb71ba20 14090 * Makefile.in (MODULE_LDFLAGS): New variable.
14091 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14092 the linker accepts --build-id=none.
14093 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14094 MODULE_LDFLAGS.
14095 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14096
d4c9b428 14097 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14098 those in Linux XFS code. Provide a way to access 64-bit parent
14099 inode.
14100 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14101 the end of struct grub_xfs_dir_header.
14102
d4156eee 141032008-07-02 Bean <bean123ch@gmail.com>
14104
14105 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14106 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14107 and GRUB_IEEE1275_FLAG_NO_ANSI.
14108
14109 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14110 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14111 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14112
14113 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14114 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14115
14116 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14117 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14118
14119 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14120 esc sequence on non ANSI terminal.
14121 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14122
14123 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14124 beginning of file.
14125
2270f77b 141262008-07-02 Bean <bean123ch@gmail.com>
14127
14128 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14129 (grub_editenv_SOURCES): New variable.
14130 (pkglib_MODULES): Add loadenv.mod.
14131 (loadenv_mod_SOURCES): New variable.
14132 (loadenv_mod_CFLAGS): Likewise.
14133 (loadenv_mod_LDFLAGS): Likewise.
14134
14135 * include/grub/envblk.h: New file.
14136
14137 * util/envblk.c: New file.
14138
14139 * util/grub-editenv.c: New file.
14140
14141 * commands/loadenv.c: New file.
14142
0e9e51ec 141432008-07-01 Pavel Roskin <proski@gnu.org>
14144
d89b7634 14145 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14146 not unsigned char. This fixes warnings and is consistent with
14147 other tags.
14148
bf1835b1 14149 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14150
8222a04b 14151 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14152
6a42d99d 14153 * term/tparm.c (analyze): Always set *popcount.
14154
10b159d1 14155 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14156 cast to fix a warning.
14157
b8789f6c 14158 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14159 cast to suppress a warning.
14160
29d7e38a 14161 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14162 grub_fshelp_read_file() expects.
14163
f341f669 14164 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14165 write uuid as a 32-bit value in CPU byte order, so declare and
14166 use it as such.
14167
0e9e51ec 14168 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14169 long if the format specifier expects it.
14170 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14171 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14172 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14173 long to fix a warning.
14174 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14175 grub_dprintf() arguments to fix warnings.
14176
3aefa857 141772008-06-30 Pavel Roskin <proski@gnu.org>
14178
56c7668b 14179 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14180 install_bsd_part immediately before core.img is embedded or
14181 modified on disk. This fixes core.img verification if core.img
14182 cannot be embedded.
14183
3aefa857 14184 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14185 core_path to calculate the blocklist.
14186 Patch from Javier Martín <lordhabbit@gmail.com>
14187
5444088d 141882008-06-29 Robert Millan <rmh@aybabtu.com>
14189
14190 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14191 block to disk block.
14192 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14193 Patch from Niels Böhm <bitbucket@arcor.de>
14194
674835c8 141952008-06-29 Robert Millan <rmh@aybabtu.com>
14196
14197 * util/update-grub_lib.in (font_path): Search for fonts in
14198 /boot/grub first, which is more likely to be readable (we aren't
14199 deciding where fonts live, just looking for them).
14200
f527dbc8 142012008-06-26 Pavel Roskin <proski@gnu.org>
14202
6c2d8df6 14203 * util/biosdisk.c (read_device_map): Don't leave dead map
14204 entries for devices failing stat() check.
14205
f527dbc8 14206 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14207 core_path_dev for the core.img path on the target device.
14208
aebe3d13 142092008-06-26 Robert Millan <rmh@aybabtu.com>
14210
14211 * disk/fs_uuid.c: New file.
14212 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14213 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14214 (fs_uuid_mod_LDFLAGS): New variables.
14215 * include/grub/disk.h (grub_disk_dev_id): Add
14216 `GRUB_DISK_DEVICE_UUID_ID'.
14217 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14218 implement iterate().
14219
37aaf354 142202008-06-26 Robert Millan <rmh@aybabtu.com>
14221
14222 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14223 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14224 Linux image includes no initrd.
14225
25ff262a 142262008-06-21 Javier Martín <lordhabbit@gmail.com>
14227
14228 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14229 call to resolve the core image location that effectively appended the
14230 name twice.
14231
76a2bd44 142322008-06-21 Robert Millan <rmh@aybabtu.com>
14233
14234 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14235 call from here ...
14236
14237 * util/grub.d/10_hurd.in: ... to here ...
14238 * util/grub.d/10_linux.in: ... and here.
14239
650e1c79 142402008-06-19 Robert Millan <rmh@aybabtu.com>
14241
fe987087 14242 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14243 after it has been set by grub_machine_set_prefix().
14244
6ce63911 142452008-06-19 Robert Millan <rmh@aybabtu.com>
14246
14247 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14248 search result when not saving to variable, not the other way around.
14249 When saving to variable, abort iteration as soon as a match is found.
14250
73940cec 142512008-06-19 Robert Millan <rmh@aybabtu.com>
14252
14253 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14254 check for partition that provides /boot/grub. Its logic is flawed,
14255 as it prevents prepare_grub_to_access_device() from being called
14256 multiple times.
14257
3c62a39d 142582008-06-19 Robert Millan <rmh@aybabtu.com>
14259
14260 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14261 "insmod" command directly when abstraction modules are needed,
fe987087 14262 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 14263 since it had already been processed).
14264
47395a42 142652008-06-19 Pavel Roskin <proski@gnu.org>
14266
14267 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14268 changed. This is needed in case GRUB_LIBDIR changes.
14269 * conf/i386-ieee1275.rmk: Likewise.
14270 * conf/i386-linuxbios.rmk: Likewise.
14271 * conf/i386-pc.rmk: Likewise.
14272 * conf/powerpc-ieee1275.rmk: Likewise.
14273
a145ac2d 142742008-06-18 Pavel Roskin <proski@gnu.org>
14275
14276 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14277 kernel_elf_symlist.c to symlist.c for consistency with other
14278 architectures. Update all users.
14279 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14280
7847c51e 142812008-06-18 Robert Millan <rmh@aybabtu.com>
14282
14283 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14284 it in prefix.
14285
14286 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14287 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14288 a RAID device, run setup() for all members independently on whether
14289 LVM abstraction is being used.
14290 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14291 If grub-mkimage has set `*install_dos_part == -2', don't override this
14292 value.
14293 Perform *install_dos_part adjustments independently on whether
14294 we're embedding or not.
14295 Clarify error message when image is too big for embedding.
14296 Remove duplicate *install_dos_part stanza.
14297
b23e5644 142982008-06-17 Robert Millan <rmh@aybabtu.com>
14299
14300 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14301 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14302 variables.
14303 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14304 values in grub_ofconsole_normal_color and
14305 grub_ofconsole_highlight_color (they're not directly related to
14306 background and foreground).
14307 (grub_ofconsole_setcolorstate): Extract background and foreground
14308 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14309
0aac2f79 143102008-06-17 Robert Millan <rmh@aybabtu.com>
14311
14312 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14313 /boot/grub for the check in last commit, not /boot (they could be
14314 different partitions).
14315
3cca7ef3 143162008-06-16 Robert Millan <rmh@aybabtu.com>
14317
14318 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14319 asked to setup access for the same partition that provides /boot,
14320 don't bother using UUIDs since our root already has the value we
14321 want.
14322
347396d8 143232008-06-16 Robert Millan <rmh@aybabtu.com>
14324
14325 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14326 I2O devices.
14327 Patch from Sven Mueller <sven@debian.org>.
14328
991477f8 143292008-06-16 Robert Millan <rmh@aybabtu.com>
14330
14331 * util/update-grub.in: Check for $EUID instead of $UID.
14332 Reported by Vincent Zweije.
14333
d31a32a1 143342008-06-16 Bean <bean123ch@gmail.com>
14335
fe987087 14336 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14337 (grub_ext2_read_block): Likewise.
14338 (grub_ext2_read_inode): Likewise.
14339 (grub_ext2_mount): Likewise.
14340 (grub_ext2_close): Likewise.
14341 (grub_ext3_get_journal): Removed.
14342
fe987087 14343 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14344 (grub_reiserfs_read_symlink): Likewise.
14345 (grub_reiserfs_mount): Likewise.
14346 (grub_reiserfs_open): Likewise.
14347 (grub_reiserfs_read): Likewise.
14348 (grub_reiserfs_close): Likewise.
14349 (grub_reiserfs_get_journal): Removed.
14350
14351 * fs/fshelp.c (grub_fshelp_read): Removed.
14352 (grub_fshelp_map_block): Likewise.
14353
14354 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14355 (grub_fshelp_journal): Likewise.
14356 (grub_fshelp_read): Likewise.
14357 (grub_fshelp_map_block): Likewise.
14358
3540a760 143592008-06-16 Pavel Roskin <proski@gnu.org>
14360
14361 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14362 floating point anymore.
14363 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14364
95614c84 143652008-06-15 Pavel Roskin <proski@gnu.org>
14366
14367 * commands/ls.c (grub_ls_list_files): Use integer calculations
14368 for human readable format, avoid floating point use.
14369 * kern/misc.c (grub_ftoa): Remove.
14370 (grub_vsprintf): Remove floating point support.
14371
50465dd6 143722008-06-15 Robert Millan <rmh@aybabtu.com>
14373
fe6b695a 14374 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14375 devices.
14376 Reported by Max Vozeler.
14377
a9207284 143782008-06-15 Robert Millan <rmh@aybabtu.com>
14379
14380 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14381 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14382 skipped later.
14383 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14384 the beginning of the prefix.
14385
14386 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14387 It is assumed that if we have a memdisk, grub-mkimage has set
14388 grub_prefix to include the "(memdisk)" drive in it.
14389
a7cbd45a 143902008-06-15 Robert Millan <rmh@aybabtu.com>
14391
14392 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14393 Initialize keyboard controller after registering the terminal, so that
14394 grub_printf() can be called from grub_keyboard_controller_init().
14395
21cf716a 143962008-06-15 Robert Millan <rmh@aybabtu.com>
14397
14398 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14399 extent-btree which is written as big endian on disk.
14400 Reported by Alain Greppin <al@chilibi.org>.
14401
23a64d8e 144022008-06-14 Robert Millan <rmh@aybabtu.com>
14403
14404 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14405 * util/i386/pc/grub-install.in (modules): Likewise.
14406
d687651c 144072008-06-13 Pavel Roskin <proski@gnu.org>
14408
14409 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14410
dfe9ddd4 144112008-06-13 Bean <bean123ch@gmail.com>
14412
14413 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14414
14415 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14416
14417 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14418 to indicate sparse block.
14419
16ae7781 144202008-06-12 Pavel Roskin <proski@gnu.org>
14421
e6d1a308 14422 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14423 number, grub_fshelp_read() does it for us.
14424
16ae7781 14425 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14426 linear disk read with journal translation.
14427 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14428 * include/grub/fshelp.h: Declare grub_fshelp_read().
14429
40fd3a2b 144302008-06-09 Pavel Roskin <proski@gnu.org>
14431
14432 * fs/minix.c (grub_minix_mount): Handle error reading
14433 superblock.
14434
f5679726 144352008-06-08 Robert Millan <rmh@aybabtu.com>
14436
14437 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14438 don't append the RAID prefix afterwards.
14439 Reported by Clint Adams.
14440
ce525529 144412008-06-08 Robert Millan <rmh@aybabtu.com>
14442
14443 Based on description from Pavel:
14444 * kern/disk.c (grub_disk_check_range): Rename to ...
14445 (grub_disk_adjust_range): ... this. Add a comment explaining the
14446 tasks performed by this function.
14447
ad4936a0 144482008-06-08 Robert Millan <rmh@aybabtu.com>
14449
14450 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14451 `num_serial' (for consistency with other variables).
14452 (struct grub_ntfs_data): Add `uuid' member.
14453 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14454 (grub_ntfs_uuid): New function.
14455 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14456
dc20b0f9 144572008-06-07 Pavel Roskin <proski@gnu.org>
14458
14459 * util/biosdisk.c (open_device): Revert last change to the
14460 function, it broke installation. The sector needs to be
14461 different dependent on which device is opened.
14462
c5e3cfba 144632008-06-06 Robert Millan <rmh@aybabtu.com>
14464
14465 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
14466 rest of GRUB, and breakage doesn't happen if its value were modified.
14467
14468 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14469 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
14470 a constant (same value).
14471 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
14472 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
14473
26a1f8c4 144742008-06-06 Robert Millan <rmh@aybabtu.com>
14475
14476 * util/biosdisk.c (open_device): Do not modify sector offset when
14477 accessing a partition. kern/disk.c already handles this for us.
14478
25d6b327 144792008-06-06 Robert Millan <rmh@aybabtu.com>
14480
14481 * util/grub-emu.c (grub_machine_init): Move code in this function from
14482 here ...
14483 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
14484 segfault in case grub_printf() is called).
14485
14486 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
14487 grub_probe. Update all users not to explicitly add it again.
14488 (grub_device): New variable; contains corresponding device for grubdir.
14489 (fs_module, partmap_module, devabstraction_module): Pass
14490 `--device ${grub_device}' to grub_probe to avoid traversing /dev
14491 every time.
14492
9ece62fb 144932008-06-05 Robert Millan <rmh@aybabtu.com>
14494
14495 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
14496 is found, print it (same layout as with labels).
14497
1ad36d37 144982008-06-04 Robert Millan <rmh@aybabtu.com>
14499
14500 * util/biosdisk.c (get_drive): Rename to ...
14501 (find_grub_drive): ... this. Update all users.
14502
14503 (get_os_disk): Rename to ...
14504 (convert_system_partition_to_system_disk): ... this. Update all users.
14505
14506 (find_drive): Rename to ...
14507 (find_system_device): ... this. Update all users.
14508
e6a30859 145092008-06-04 Robert Millan <rmh@aybabtu.com>
14510
14511 * util/biosdisk.c (get_os_disk): Handle IDA devices.
14512 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14513 (make_device_map): Likewise.
14514
00c108a4 145152008-06-01 Robert Millan <rmh@aybabtu.com>
14516
14517 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
14518 before dereferencing it.
14519
14520 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
14521 union with fat12/fat16-specific ones. Add some new fields, including
14522 `num_serial' for both versions.
14523 (struct grub_fat_data): Add `uuid' member.
14524 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
14525 names. Initialize `data->uuid' using `num_serial'.
14526 (grub_fat_uuid): New function.
14527 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
14528
14529 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
14530 (grub_reiserfs_uuid): New function.
14531 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
14532 member.
14533
14534 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
14535 (grub_xfs_uuid): New function.
14536 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
14537
1385c5bb 145382008-06-01 Robert Millan <rmh@aybabtu.com>
14539
14540 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
14541 code that is backward compatible with pre-uuid search command.
14542
c682dfd7 145432008-05-31 Robert Millan <rmh@aybabtu.com>
14544
14545 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
14546 floppies after everything else, to ensure floppy drive isn't accessed
14547 unnecessarily (patch from Bean).
14548
b7db5d47 145492008-05-31 Robert Millan <rmh@aybabtu.com>
14550
14551 * commands/search.c (search_label, search_fs_uuid, search_file): Do
14552 not print device names when we were asked to set a variable.
14553
6e037aa9 145542008-05-31 Robert Millan <rmh@aybabtu.com>
14555
14556 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
14557 using "cursor-on" and "cursor-off" commands (understood at least by
14558 the Open Firmware flavour on OLPC).
14559
41305bc8 145602008-05-31 Michael Gorven <michael@gorven.za.net>
14561
14562 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
14563 on and off sequences.
14564
69ba137e 145652008-05-31 Robert Millan <rmh@aybabtu.com>
14566
14567 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
14568 * util/update-grub.in: Likewise.
14569
520ae21b 145702008-05-30 Pavel Roskin <proski@gnu.org>
14571
14572 * util/biosdisk.c (linux_find_partition): Simplify logic and
14573 make the code more universal. Keep special processing for
14574 devfs, but use a simple rule for all other devices. If the
14575 device ends with a number, append 'p' and the partition number.
14576 Otherwise, append only the partition number.
14577
5786569b 145782008-05-30 Robert Millan <rmh@aybabtu.com>
14579
14580 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
14581 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
14582 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
14583 the `root' parameter to Linux.
14584
51500452 145852008-05-30 Robert Millan <rmh@aybabtu.com>
14586
14587 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
14588 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
14589 --fs_uuid with --fs-uuid.
14590 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
14591 all filesystems support them).
14592
811d3878 145932008-05-30 Robert Millan <rmh@aybabtu.com>
14594
14595 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 14596 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 14597
cab63c95 145982008-05-30 Robert Millan <rmh@aybabtu.com>
14599
14600 * util/grub.d/00_header.in: Remove obsolete comment referencing
14601 convert_system_path_to_grub_path().
14602 * util/update-grub.in: Likewise.
14603 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
14604 (convert_system_path_to_grub_path): Add a warning message explaining
14605 that this function is deprecated. Rely on is_path_readable_by_grub()
14606 for the readability checks.
14607 (font_path): Use is_path_readable_by_grub() for the readability
14608 check rather than convert_system_path_to_grub_path().
14609
972e2f7a 146102008-05-30 Robert Millan <rmh@aybabtu.com>
14611
14612 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
14613 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
14614 converting it first.
14615 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
14616 grub.cfg for access to font file, and afterwards call it again to set
14617 the root device.
14618
62191274 146192008-05-30 Robert Millan <rmh@aybabtu.com>
14620
14621 * commands/search.c (options): Add --fs_uuid option.
14622 (search_fs_uuid): New function.
14623 (grub_cmd_search): Fix --set argument passing.
14624 Use search_fs_uuid() when requested via --fs_uuid.
14625 (grub_search_init): Update help message.
14626 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
14627 and redeclare it as an array of 16-bit words.
14628 (grub_ext2_uuid): New function.
14629 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
14630 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
14631 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
14632 (GRUB_DEVICE_BOOT_UUID): New variables.
14633 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
14634 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
14635 whenever possible.
14636 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
14637 just assume `root' variable has the right value.
14638 * util/grub.d/10_linux.in: Likewise.
14639 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
14640 via PRINT_FS_UUID.
14641 (main): Recognise `-t fs_uuid' argument.
14642
01b73ec8 146432008-05-30 Robert Millan <rmh@aybabtu.com>
14644
14645 * util/biosdisk.c (map): Redefine structure to hold information
14646 about GRUB drive name.
fe6b695a 14647 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 14648 drive names.
14649 (call_hook): Remove.
14650 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
14651 member. Assume drive has partitions.
14652 (grub_util_biosdisk_open): Access device names via `.device' struct
14653 member.
14654 (open_device): Likewise.
14655 (find_drive): Likewise.
14656 (read_device_map): Adjust map[] usage to match the new struct
14657 definition. Don't check for duplicates (still possible, but not cheap
14658 anymore).
14659 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
14660 (make_device_name): Remove assumption of BIOS-like drive names.
14661
22f16596 146622008-05-30 Pavel Roskin <proski@gnu.org>
14663
14664 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
14665 compiling execute.c doesn't need grub_script.tab.h anymore.
14666 (normal/command.c_DEPENDENCIES): Likewise.
14667 (normal/function.c_DEPENDENCIES): Likewise.
14668 * conf/i386-ieee1275.rmk: Likewise.
14669 * conf/i386-linuxbios.rmk: Likewise.
14670 * conf/i386-pc.rmk: Likewise.
14671 * conf/powerpc-ieee1275.rmk: Likewise.
14672 * conf/sparc64-ieee1275.rmk: Likewise.
14673
528ad8f2 146742008-05-29 Pavel Roskin <proski@gnu.org>
14675
d1dff95d 14676 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
14677 when scanning metadata for volume group name.
14678
528ad8f2 14679 * include/grub/script.h: Don't include grub_script.tab.h. It's
14680 a generated file, which may only be included from the files with
14681 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
14682 use union YYSTYPE, as the later allows forward declaration.
14683 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
14684
47248e08 146852008-05-29 Robert Millan <rmh@aybabtu.com>
14686
14687 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
14688 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
14689 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
14690 (grub_console_checkkey): Add grub_dprintf() call to report unknown
14691 scan codes.
14692
ee632529 146932008-05-29 Robert Millan <rmh@aybabtu.com>
14694
14695 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
14696 control key combinations.
14697
eee96e08 146982008-05-29 Robert Millan <rmh@aybabtu.com>
14699
14700 * util/powerpc/ieee1275/grub-install.in: Move from here ...
14701 * util/ieee1275/grub-install.in: ... to here.
14702 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
14703 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
14704 (grub_install_SOURCES): Likewise.
14705
da9a6a94 147062008-05-29 Robert Millan <rmh@aybabtu.com>
14707
14708 * fs/affs.c: Update copyright year.
14709 * fs/ext2.c: Likewise.
14710 * fs/fshelp.c: Likewise.
14711 * fs/hfsplus.c: Likewise.
14712 * fs/ntfs.c: Likewise.
14713 * fs/xfs.c: Likewise.
14714 * include/grub/fshelp.h: Likewise.
14715 * util/grub-mkdevicemap.c: Likewise.
14716
12e65f3a 147172008-05-28 Robert Millan <rmh@aybabtu.com>
14718
14719 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
14720 might need to be fatfs to support some firmware implementations
14721 (e.g. OFW or EFI).
14722
23023641 147232008-05-28 Robert Millan <rmh@aybabtu.com>
14724
14725 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
14726 devices.
14727 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14728 (make_device_map): Likewise.
14729
887d2619 147302008-05-20 Bean <bean123ch@gmail.com>
14731
14732 * fs/fshelp.c (grub_fshelp_map_block): New function.
14733 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
14734 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
14735
14736 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
14737 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
14738 (grub_fshelp_journal): New structure.
14739 (grub_fshelp_map_block): New function prototype.
14740 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
14741 (grub_fshelp_map_block): Likewise.
14742
14743 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
14744 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
14745 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
14746 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
14747 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
14748 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
14749 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
14750 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
14751 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14752 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14753 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14754 (grub_ext2_sblock): New members for journal support.
14755 (grub_ext3_journal_header): New structure.
14756 (grub_ext3_journal_revoke_header): Likewise.
14757 (grub_ext3_journal_block_tag): Likewise.
14758 (grub_ext3_journal_sblock): Likewise.
14759 (grub_fshelp_node): New members logfile and journal.
14760 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14761 grub_fshelp_map_block to get real block number.
14762 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14763 number.
14764 (grub_ext2_read_inode): Likewise.
14765 (grub_ext3_get_journal): New function.
14766 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14767 (grub_ext2_close): Release memory used by journal.
14768
14769 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14770 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14771 (grub_reiserfs_transaction_header): Renamed to
14772 grub_reiserfs_description_block, replace field data with real_blocks.
14773 (grub_reiserfs_commit_block): New structure.
14774 (grub_reiserfs_data): New member journal.
14775 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14776 number.
14777 (grub_reiserfs_read_symlink): Likewise.
14778 (grub_reiserfs_iterate_dir): Likewise.
14779 (grub_reiserfs_open): Likewise.
14780 (grub_reiserfs_read): Likewise.
14781 (grub_reiserfs_get_journal): New function.
14782 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14783 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14784 using grub_reiserfs_get_journal.
14785 (grub_reiserfs_close): Release memory used by journal.
14786
14787 * fs/affs.c (grub_affs_read_block): Change block type to
14788 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14789
14790 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14791
14792 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14793
14794 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14795
14796 * fs/udf.c (grub_udf_read_block): Change block type to
14797 grub_disk_addr_t. Use type cast to avoid warning.
14798
14799 * fs/xfs.c (grub_xfs_read_block): Likewise.
14800
b7c6bed5 148012008-05-16 Christian Franke <franke@computer.org>
14802
14803 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14804 to ensure that break with ESC will always work.
14805 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14806 Remove ESC from keyboard queue.
14807
eedf167f 148082008-05-16 Christian Franke <franke@computer.org>
14809
14810 * util/biosdisk.c: [__CYGWIN__] Add includes.
14811 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14812 (get_os_disk): Move variable declarations to OS specific
14813 parts to avoid warning.
14814 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14815 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14816 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14817 Cygwin.
14818 * util/getroot.c: [__CYGWIN__] Add includes.
14819 (strip_extra_slashes): Fix "/" case.
14820 [__CYGWIN__] (get_win32_path): New function.
14821 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14822 [__CYGWIN__] (find_root_device): Disable.
14823 [__CYGWIN__] (get_bootsec_serial): New function.
14824 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14825 [__linux__] (grub_guess_root_device): Add early returns to simplify
14826 structure.
14827 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14828 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14829 check for Linux only.
14830
a079699e 148312008-05-15 Bean <bean123ch@gmail.com>
14832
14833 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14834 keyboard hang problem in apple's intel mac.
14835
1cf4059a 148362008-05-09 Robert Millan <rmh@aybabtu.com>
14837
14838 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14839 devices.
14840 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14841 (make_device_map): Likewise.
14842 Reported by Aurelien Jarno <aurel32@debian.org>
14843
ed759390 148442008-05-07 Ian Campbell <ijc@hellion.org.uk>
14845
14846 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14847 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14848 (make_device_map): Output entries for xvd type disks.
14849
b56c4eaa 148502008-05-07 Robert Millan <rmh@aybabtu.com>
14851
14852 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14853 devices.
14854 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14855 (make_device_map): Likewise.
14856 Reported by Roland Dreier <rdreier@cisco.com>
14857
7f8866ed 148582008-05-07 Robert Millan <rmh@aybabtu.com>
14859
14860 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14861 grub_strstr() call. Correct a few mistakes in failure path handling.
14862
b0346e0f 148632008-05-06 Robert Millan <rmh@aybabtu.com>
14864
14865 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14866 Do not print a trailing slash (therefore, the root directory is an
14867 empty string).
14868 (convert_system_path_to_grub_path): Do not remove trailing slash
14869 from make_system_path_relative_to_its_root() output.
14870
14871 * util/i386/pc/grub-install.in: Add trailing slash to output from
14872 make_system_path_relative_to_its_root().
14873
6cf12cbd 148742008-05-06 Robert Millan <rmh@aybabtu.com>
14875
14876 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14877 ensures that output lines aren't intermangled with those sent to
14878 stderr (via grub_util_info()).
14879 * util/grub-probe.c (grub_refresh): Likewise.
14880 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14881
0fbb3117 148822008-05-05 Christian Franke <franke@computer.org>
14883
14884 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14885 Add Cygwin device names.
14886 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14887 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14888 (check_device): Return error instead of success on empty name.
14889 (make_device_map): Move label inside linux specific code to
14890 prevent compiler warning.
14891
8124cdb7 148922008-04-30 Robert Millan <rmh@aybabtu.com>
14893
14894 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14895 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14896 first boot option.
14897 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14898
094c01d0 148992008-04-29 Robert Millan <rmh@aybabtu.com>
14900
14901 * docs/grub.cfg: New file (example GRUB configuration).
14902
f4b1fc02 149032008-04-26 Robert Millan <rmh@aybabtu.com>
14904
329ce2a5 14905 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14906 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14907 and `disk/ieee1275/nand.c'.
f4b1fc02 14908
25f16ec1 149092008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 14910
25f16ec1 14911 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14912 i386-linuxbios.
14913
14914 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14915 change the buffer size to 4096 for cdrom device.
14916
14917 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14918 and nand.mod.
14919 (_linux_mod_SOURCES): New variable.
14920 (_linux_mod_CFLAGS): Likewise.
14921 (_linux_mod_LDFLAGS): Likewise.
14922 (linux_mod_SOURCES): Likewise.
14923 (linux_mod_CFLAGS): Likewise.
14924 (linux_mod_LDFLAGS): Likewise.
14925 (nand_mod_SOURCES): Likewise.
14926 (nand_mod_CFLAGS): Likewise.
14927 (nand_mod_LDFLAGS): Likewise.
14928
14929 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
14930 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
14931 type property. (nand device in olpc don't have this property)
14932
14933 * include/grub/disk.h (grub_disk_dev_id): New macro
14934 GRUB_DISK_DEVICE_NAND_ID.
14935
14936 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
14937 function prototype.
14938 (grub_rescue_cmd_initrd): Likewise.
14939
14940 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14941 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14942 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14943
25f16ec1 14944 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14945 GRUB_MACHINE_IEEE1275 is defined.
14946
14947 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14948 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14949
14950 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14951 on nested function heap_init.
14952 (grub_upper_mem): New variable for i386-ieee1275.
14953 (grub_get_extended_memory): New function for i386-ieee1275.
14954 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14955
14956 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14957 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14958 property.
f19dbdb7 14959
25f16ec1 14960 * loader/i386/ieee1275/linux.c: New file.
14961
14962 * loader/i386/ieee1275/linux_normal.c: New file.
14963
14964 * disk/ieee1275/nand.c: New file.
14965
e89d61e9 149662008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14967
14968 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14969 value.
14970 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14971
602566f6 149722008-04-18 Robert Millan <rmh@aybabtu.com>
14973
14974 Restructures early code path on ieee1275 to unify grub_main() as
14975 the first C function that is executed in every platform.
14976
14977 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14978 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14979 cmain().
14980 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14981 * kern/ieee1275/cmain.c (cmain): Rename to ...
14982 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14983 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14984 at the beginning.
14985
57490c2b 149862008-04-18 Robert Millan <rmh@aybabtu.com>
14987
14988 * util/update-grub.in: Fix syntax error when setting
14989 `GRUB_PRELOAD_MODULES'.
14990 Reported by Stephane Chazelas <stephane@artesyncp.com>
14991
1977517d 149922008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14993
14994 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14995 section into account, newer toolchains generate unique build ids
14996 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14997 we want build ids to be preserved
1977517d 14998 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14999 far from other sections don't cause the raw binary images grow
15000 size
15001
bfb1f1a2 150022008-04-15 Robert Millan <rmh@aybabtu.com>
15003
15004 * disk/lvm.c: Update copyright year.
15005 * kern/misc.c: Likewise.
15006
01979850 150072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15008
15009 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 15010 there is no memory left for physical volume name.
01979850 15011
0a1150e2 150122008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15013
15014 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
15015 volume name mapping to support bigger than 9 character names properly.
15016
82ead3fe 150172008-04-13 Robert Millan <rmh@aybabtu.com>
15018
15019 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15020 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15021
e54a72f5 150222008-04-13 Christian Franke <franke@computer.org>
15023
15024 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15025 to create a floppy emulation boot CD when non emulation mode
15026 does not work.
15027 Enable Joliet CD filesystem extension.
15028
9fe86034 150292008-04-13 Robert Millan <rmh@aybabtu.com>
15030
15031 * kern/misc.c (grub_strncat): Fix off-by-one error.
15032 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15033
15034 * kern/env.c (grub_env_context_close): Clear current context, not
15035 previous one.
15036 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15037
15038 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15039
7ceeee39 150402008-04-13 Robert Millan <rmh@aybabtu.com>
15041
15042 Improve robustness when handling LVM.
15043
15044 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 15045 (and leave `*p' unmodified).
7ceeee39 15046 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15047 through it.
15048 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15049 iterating through it.
15050 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15051 through it.
fe6b695a 15052 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 15053 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15054 Don't assume `vg->pvs != NULL' when iterating through it.
15055
58cd3d85 150562008-04-13 Robert Millan <rmh@aybabtu.com>
15057
15058 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15059 * genmk.rb (partmap): New variable.
15060 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15061 (#{partmap}): New target rule.
15062 * genpartmaplist.sh: New file.
15063 * Makefile.in (pkglib_DATA): Add partmap.lst.
15064 (partmap.lst): New target rule.
15065 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15066 modules (including all partition maps), instead of preloading them.
15067
78b51059 150682007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15069
15070 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15071 `linux-boot-prober' (if installed) to detect other operating
15072 systems which are installed on the computer and add them to
15073 the boot menu.
15074 * conf/common.rmk: Build and install 30_os-prober.
15075
a91627b4 150762008-04-12 Robert Millan <rmh@aybabtu.com>
15077
15078 * kern/powerpc/ieee1275/init.c: Move from here ...
15079 * kern/ieee1275/init.c: ... to here. Update all users.
15080
15081 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15082 * kern/ieee1275/cmain.c: ... to here. Update all users.
15083
15084 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15085 * kern/ieee1275/openfw.c: ... to here. Update all users.
15086
15087 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15088 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15089
322562ea 150902008-04-10 Pavel Roskin <proski@gnu.org>
15091
15092 * configure.ac: Always use "_cv_" in cache variables for
15093 compatibility with Autoconf 2.62.
15094
a02a73c5 150952008-04-07 Robert Millan <rmh@aybabtu.com>
15096
15097 Revert grub/machine/init.h addition by Pavel (since it breaks on
15098 i386-ieee1275 and others):
15099 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15100 * util/powerpc/ieee1275/misc.c: Likewise.
15101
25c024b1 151022008-04-07 Robert Millan <rmh@aybabtu.com>
15103
15104 * util/grub-probe.c (probe): Improve error message.
15105
3cbd2f98 151062008-04-07 Robert Millan <rmh@aybabtu.com>
15107
15108 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15109 (this prevents the presence of a bogus entry from ruining the whole
15110 thing).
15111
87a297bf 151122008-04-06 Pavel Roskin <proski@gnu.org>
15113
36747a62 15114 * util/biosdisk.c: Include grub/util/biosdisk.h.
15115 * util/grub-fstest.c (execute_command): Make static.
15116 * util/grub-mkdevicemap.c (check_device): Likewise.
15117 * util/i386/pc/misc.c: Include grub/machine/init.h.
15118 * util/powerpc/ieee1275/misc.c: Likewise.
15119 * util/lvm.c: Include grub/util/lvm.h.
15120 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15121 grub/cache.h.
15122 * util/raid.c: Include grub/util/raid.h.
15123 (grub_util_getdiskname): Make static.
15124
87a297bf 15125 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15126 grub_hostfs_fini(), as they are called from grub_init_all() and
15127 grub_fini_all() respectively. This fixes an infinite loop in
15128 grub-fstest due to double registration of hostfs.
15129 Reported by Christian Franke <Christian.Franke@t-online.de>
15130
f6ce7629 151312008-04-05 Pavel Roskin <proski@gnu.org>
15132
15133 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15134 all 8 functions. Otherwise, probe function 0 only.
15135
070e49e4 151362008-04-04 Pavel Roskin <proski@gnu.org>
15137
8b088a4c 15138 * commands/lspci.c (grub_lspci_iter): Print the bus number
15139 correctly.
15140
4f657021 15141 * commands/lspci.c (grub_pci_classes): Fix typos.
15142 (grub_lspci_iter): Don't print func twice. Print vendor ID
15143 before device ID, as it's normally done.
15144
070e49e4 15145 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15146 Fix signedness warnings.
15147 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15148 Likewise.
15149 * util/ieee1275/get_disk_name.c: Include config.h so that
15150 _GNU_SOURCE is defined and getline() is declared. Mark an
15151 unused argument as such. Fix a signedness warning.
15152
ba7328dc 151532008-04-02 Pavel Roskin <proski@gnu.org>
15154
26887f22 15155 * genkernsyms.sh.in: Use more robust assignments for CC and
15156 srcdir. Quote srcdir.
15157 * gensymlist.sh.in: Likewise. Assert at the compile time that
15158 the symbol table is not empty.
15159
ba7328dc 15160 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15161 * fs/cpio.c (grub_cpio_read): Likewise.
15162
0f582c6b 151632008-04-01 Pavel Roskin <proski@gnu.org>
15164
4b6e1995 15165 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15166 * disk/host.c (grub_host_open): Likewise.
15167 * disk/loopback.c (grub_loopback_open): Likewise.
15168 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15169 disk->id as in disk/host.c, not a multi-character constant.
15170
828a2768 15171 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15172 later is obsolete, potentially dangerous and sets a bad example.
15173 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15174 * util/misc.c (grub_util_get_image_size): Likewise.
15175
2bb4fb47 15176 * disk/loopback.c (options): Improve help for "--partitions".
15177
0f582c6b 15178 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15179 options to align them with the short options, e.g. "echo -e".
15180
a33224e0 151812008-03-31 Bean <bean123ch@gmail.com>
15182
15183 * video/reader/png.c (grub_png_data): New member is_16bit and
15184 image_data.
15185 (grub_png_decode_image_header): Detect 16 bit png image.
15186 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15187 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15188 (grub_video_reader_png): Release memory occupied by image_data.
15189
15190 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15191 4096 bytes.
15192 (grub_nfs_mount): Skip the test for sector per cluster.
15193
15194 * include/grub/ntfs.h (MAX_SPC): Removed.
15195
86cb4f54 151962008-03-31 Bean <bean123ch@gmail.com>
15197
15198 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15199 (grub_probe_SOURCES): Add fs/afs.c.
15200 (grub_fstest_SOURCES): Likewise.
15201 (afs_mod_SOURCES): New variable.
15202 (afs_mod_CFLAGS): Likewise.
15203 (afs_mod_LDFLAGS): Likewise.
15204
15205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15206 (grub_emu_SOURCES): Likewise.
15207
15208 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15209
15210 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15211
15212 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15213
15214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15215
15216 * fs/afs.c: New file.
15217
17c74c21 152182008-03-30 Pavel Roskin <proski@gnu.org>
15219
4cb68e89 15220 * disk/host.c: Include grub/misc.h to fix a warning.
15221 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15222 warnings about implicit declarations.
15223
8790bb04 15224 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15225 variable.
15226 * include/grub/i386/loader.h: Change declaration of
15227 grub_linux_boot() to match what grub_loader_set() expects.
15228 * util/getroot.c (grub_guess_root_device): Return const char* to
15229 fix a warning.
15230 * util/grub-probe.c (probe): Fix a warning about uninitialized
15231 abstraction_name variable.
15232 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15233 second argument as unused to fix a warning.
15234
9a3f3296 15235 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15236 missing grub_error() call.
15237
0ecef90d 15238 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15239 2.60 and newer uses it to define datadir.
15240
0bf6d401 15241 * commands/sleep.c: Fix warning about implicit declaration.
15242 * disk/memdisk.c: Likewise.
15243 * loader/aout.c: Likewise.
15244 * loader/i386/bsd_normal.c: Likewise.
15245 * util/grub-probe.c: Likewise.
15246
7cdacf97 15247 * commands/i386/cpuid.c (has_longmode): Make static.
15248 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15249 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15250
17c74c21 15251 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15252 GDT. This is more robust, as %ds can change.
15253 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15254 calling real_to_prot().
15255 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15256
80a3e68b 152572008-03-28 Pavel Roskin <proski@gnu.org>
15258
15259 * kern/i386/pc/startup.S: Assert that uncompressed functions
15260 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15261 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15262 code, as they push parts of the code (error handlers) beyond
15263 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15264 code as correctness and size.
15265
77bcd272 152662008-03-28 Pavel Roskin <proski@gnu.org>
15267
15268 * kern/i386/pc/startup.S
15269 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15270 data block address to the real mode, keep offset minimal. This
15271 works around a bug in AWARD BIOS on old Athlon systems, which
15272 makes CD detection hang.
15273
c5dfd43b 152742008-03-26 Pavel Roskin <proski@gnu.org>
15275
15276 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15277 const.
15278 * include/grub/normal.h: Add grub_parse_color_name_pair()
15279 declaration.
15280
bf962df2 152812008-03-24 Bean <bean123ch@gmail.com>
15282
15283 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15284 (cd_count): Removed.
15285 (cd_drive): New variable.
15286 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15287 (grub_biosdisk_call_hook): Likewise.
15288 (grub_biosdisk_iterate): Change cdrom detection method.
15289 (grub_biosdisk_open): Replace cd_start with cd_drive.
15290 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15291 detect cdrom device.
15292
15293 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15294 Removed.
15295 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15296 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15297 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15298 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15299 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15300 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15301 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15302 (grub_biosdisk_cdrp): New structure.
15303 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15304
15305 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15306
15307 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15308 device.
15309
15310 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15311 New function.
15312
68e7fc7a 153132008-03-20 Robert Millan <rmh@aybabtu.com>
15314
15315 Remove 2 TiB limit in ata.mod.
15316 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15317 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15318 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15319 grub_uint64_t instead of grub_uint32_t.
15320
38ad2cf5 153212008-03-05 Bean <bean123ch@gmail.com>
15322
15323 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15324 (grub_multiboot): Set boot device.
15325
15326 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15327
2b89344e 153282008-03-02 Bean <bean123ch@gmail.com>
15329
15330 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15331 symlink_buffer.
15332
87a95d1f 153332008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15334
15335 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15336 texinfo.tex.
15337
15338 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15339 modified.
15340
15341 * docs/fdl.texi: New file.
f19dbdb7 15342
87a95d1f 15343 * docs/mdate-sh: New file. Copied from gnulib.
15344 * docs/texinfo.tex: Likewise.
15345
15346 * config.guess: Updated from gnulib.
15347 * install-sh: Likewise.
15348
7dc15d8e 153492008-02-28 Robert Millan <rmh@aybabtu.com>
15350
15351 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15352 (aout_mod_SOURCES): New variable.
15353 (aout_mod_CFLAGS): Likewise.
15354 (aout_mod_LDFLAGS): Likewise.
15355
15356 * conf/i386-ieee1275.rmk: Likewise.
15357
b00ab696 153582008-02-28 Robert Millan <rmh@aybabtu.com>
15359
15360 * util/update-grub.in: Reorganise terminal validity check. Accept
15361 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15362 Based on suggestion by Franklin PIAT.
15363
79ca2d78 153642008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15365
15366 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15367 function.
15368 * util/getroot.c (grub_util_check_block_device): New function that
15369 returns the given argument if it is a block device and returns NULL else.
15370 * util/grub-probe.c (argument_is_device): New variable.
15371 (probe): Promote device_name from a variable to an argument. Receive
15372 device_name from grub_util_check_block_device() if path is NULL and from
15373 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15374 (options): Introduce new parameter '-d, --device'.
79ca2d78 15375 (main): Add description of the new parameter to the help screen.
15376 Rename path variable to argument. Set argument_is_device if the '-d'
15377 option is given. Pass argument to probe() depending on
15378 argument_is_device.
15379
0d16e571 153802008-02-24 Bean <bean123ch@gmail.com>
15381
15382 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15383 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15384 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15385 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15386 (GRUB_ISO9660_VOLDESC_END): Likewise.
15387 (grub_iso9660_primary_voldesc): New member escape.
15388 (grub_iso9660_data): New member joliet.
15389 (grub_iso9660_convert_string): New function.
15390 (grub_iso9660_mount): Detect joliet extension.
15391 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15392 (grub_iso9660_iso9660_label): Likewise.
15393
15394 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15395 (grub_setup_SOURCES): Add fs/udf.c.
15396 (grub_fstest_SOURCES): Likewise.
15397 (udf_mod_SOURCES): New variable.
15398 (udf_mod_CFLAGS): Likewise.
15399 (udf_mod_LDFLAGS): Likewise.
15400
15401 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15402 (grub_emu_SOURCES): Likewise.
15403
15404 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15405
15406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15407
15408 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15409
15410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15411
15412 * fs/udf.c: New file.
15413
8a594a17 154142008-02-24 Robert Millan <rmh@aybabtu.com>
15415
15416 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15417 (normal/lexer.c_DEPENDENCIES): New variables.
15418 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15419 (normal/lexer.c_DEPENDENCIES): Likewise.
15420 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15421 (normal/lexer.c_DEPENDENCIES): Likewise.
15422 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15423 (normal/lexer.c_DEPENDENCIES): Likewise.
15424 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15425 (normal/lexer.c_DEPENDENCIES): Likewise.
15426 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15427 (normal/lexer.c_DEPENDENCIES): Likewise.
15428
2dc33c03 154292008-02-23 Robert Millan <rmh@aybabtu.com>
15430
15431 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15432 since they were intended to be in hex. This didn't break previously
15433 because of a bug in gpt_partition_map_iterate() (see below).
15434
15435 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15436 when checking the validity of GPT header.
15437 Remove `partno', since it always provides the same information as `i'.
15438
f6f4cfb0 154392008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15440
15441 * include/grub/efi/time.h: Fix a wrong comment.
15442
79ff665f 154432008-02-19 Pavel Roskin <proski@gnu.org>
15444
15445 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15446 message.
15447
d38e24c2 154482008-02-19 Bean <bean123ch@gmail.com>
15449
15450 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15451 (aout_mod_SOURCES): New variable.
15452 (aout_mod_CFLAGS): Likewise.
15453 (aout_mod_LDFLAGS): Likewise.
15454 (_bsd_mod_SOURCES): New variable.
15455 (_bsd_mod_CFLAGS): Likewise.
15456 (_bsd_mod_LDFLAGS): Likewise.
15457 (bsd_mod_SOURCES): New variable.
15458 (bsd_mod_CFLAGS): Likewise.
15459 (bsd_mod_LDFLAGS): Likewise.
15460
15461 * include/grub/aout.h: New file.
15462
15463 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
15464
15465 * include/grub/i386/bsd.h: New file.
15466
15467 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
15468 to make it public.
15469
15470 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
15471 function is called, so that it's possible to change it inside the hook.
15472 (grub_elf64_load): Likewise.
15473 (grub_elf_file): Don't close the file if elf header is not found.
15474 (grub_elf_close): Close the file if grub_elf_file fails (The new
15475 grub_elf_file won't close it).
15476 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
15477 (grub_elf64_size): Likewise.
15478
15479 * kern/i386/loader.S (grub_unix_real_boot): New function.
15480
15481 * loader/aout.c: New file.
15482
15483 * loader/i386/bsd.c: New file.
15484
15485 * loader/i386/bsd_normal.c: New file.
15486
15487 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
15488
15489 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 15490 can test other formats.
d38e24c2 15491
b93bdb0f 154922008-02-19 Robert Millan <rmh@aybabtu.com>
15493
15494 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
15495 (grub_gpt_partition_type_empty): Redefine with macro from
15496 `<grub/gpt_partition.h>'.
15497 (gpt_partition_map_iterate): Adjust partition type comparison.
15498
15499 Export `entry' as partmap-specific `part.data' struct.
15500 (grub_gpt_header, grub_gpt_partentry): Move from here ...
15501
15502 * include/grub/gpt_partition.h (grub_gpt_header)
15503 (grub_gpt_partentry): ... to here (new file).
15504
15505 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
15506
15507 (grub_gpt_partition_type_bios_boot): New const variable, defined
15508 with macro from `<grub/gpt_partition.h>'.
15509
15510 (setup): Replace `first_start' with `embed_region', which keeps
15511 track of the embed region (and is partmap-agnostic).
15512
15513 Replace find_first_partition_start() with find_usable_region(),
15514 which finds a usable region for embedding using partmap-specific
15515 knowledge (supports PC/MSDOS and GPT).
15516
15517 Fix all assumptions that the embed region start at sector 1, using
15518 `embed_region.start' from now on. Similarly, use `embed_region.end'
15519 rather than `first_start' to calculate available size.
15520
15521 In grub_util_info() message, replace "into after the MBR" with an
15522 indication of the specific sector our embed region starts at.
15523
66cb40f6 155242008-02-19 Robert Millan <rmh@aybabtu.com>
15525
15526 * DISTLIST: Replace `commands/ieee1275/halt.c' and
15527 `commands/ieee1275/reboot.c' with `commands/halt.c' and
15528 `commands/reboot.c'.
15529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15530 (halt_mod_SOURCES): Likewise.
15531 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15532 (halt_mod_SOURCES): Likewise.
15533
b7202015 155342008-02-17 Christian Franke <franke@computer.org>
15535
15536 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
15537
32b0fc49 155382008-02-17 Robert Millan <rmh@aybabtu.com>
15539
15540 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15541 set `first_start' to 0 for non-PC/MSDOS partition maps.
15542
aca63502 155432008-02-16 Robert Millan <rmh@aybabtu.com>
15544
15545 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15546 do not assume partition map is PC/MSDOS before performing checks that
15547 are specific to that layout.
15548
0de8be86 155492008-02-13 Robert Millan <rmh@aybabtu.com>
15550
15551 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
15552 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
15553 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
15554
c3db8364 155552008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
15556
15557 * configure.ac: Only a cosmetic change on the handling of
15558 -fno-stack-protector.
15559
f714229e 155602008-02-12 Alexandre Boeglin <alex@boeglin.org>
15561
c3db8364 15562 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
15563 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
15564 reboot.c.
f714229e 15565 (grub_install_SOURCES): Add halt.mod and reboot.mod.
15566 (halt_mod_SOURCES): New variable.
15567 (halt_mod_CFLAGS): Likewise.
15568 (halt_mod_LDFLAGS): Likewise.
15569 (reboot_mod_SOURCES): Likewise.
15570 (reboot_mod_CFLAGS): Likewise.
15571 (reboot_mod_LDFLAGS): Likewise.
15572
c3db8364 15573 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
15574 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
15575 reboot.c.
f714229e 15576 (halt_mod_SOURCES): Likewise.
15577 (reboot_mod_SOURCES): Likewise.
15578
c3db8364 15579 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
15580 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 15581 (reboot_mod_SOURCES): Likewise.
15582
15583 * commands/i386/pc/reboot.c: merge this file ...
15584
15585 * commands/ieee1275/reboot.c: ... and this file ...
15586
15587 * commands/reboot.c: ... to this file.
c3db8364 15588 Add some precompiler directive to include the correct header for
15589 each machine.
f714229e 15590
15591 * commands/ieee1275/halt.c: move this file ...
15592
15593 * commands/halt.c: ... to here.
c3db8364 15594 Add some precompiler directive to include the correct header for
15595 each machine.
f714229e 15596
15597 * include/grub/efi/efi.h (grub_reboot): New function declaration.
15598 (grub_halt): Likewise.
15599
15600 * kern/efi/efi.c (grub_reboot): New function.
15601 (grub_halt): Likewise.
15602
c74493e0 156032008-02-12 Robert Millan <rmh@aybabtu.com>
15604
15605 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
15606 /dev (like it is done for /dev/mapper). This doesn't provide support
15607 for EVMS, but at least it is now easy to identify the problem when it
15608 arises.
15609
d0db4b04 156102008-02-11 Robert Millan <rmh@aybabtu.com>
15611
15612 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
15613 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
15614 comparing it with -1, not 0.
15615
bf748642 156162008-02-10 Robert Millan <rmh@aybabtu.com>
15617
15618 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
15619 `disk/lvm.c'.
15620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15621 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15622
15623 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
15624 `disk/lvm.c' to the end of the list.
15625 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15626 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15627
b5db202a 156282008-02-10 Robert Millan <rmh@aybabtu.com>
15629
15630 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
15631 grub_print_error() instead. This will let user know why we're entering
15632 rescue mode.
15633 Based on suggestions from Sam Morris.
15634
83abee31 156352008-02-10 Alexandre Boeglin <alex@boeglin.org>
15636
15637 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
15638 on remaining N args, instead of "--" arg N times.
15639
78d5a08b 156402008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
15641
15642 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
15643 (fill_with_default_glyph): Changed to use unknown_glyph for fill
15644 pattern for unknown glyphs.
15645
68807e5f 156462008-02-09 Robert Millan <rmh@aybabtu.com>
15647
15648 * configure.ac: Probe for `help2man'.
15649 * Makefile.in (builddir): New variable.
15650 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
15651 or otherwise add a few flags/options to it.
15652 (install-local): For every executable utility or script that is
15653 installed, invoke $(HELP2MAN) to install a manpage based on --help
15654 output.
15655
15656 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
15657 that it doesn't prevent --help from working in build tree.
15658
15659 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
15660 with `bug-grub@gnu.org'.
15661 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
15662 * util/update-grub.in (usage): New function.
15663 Implement proper argument check, with support for --help and --version
15664 (as well as existing -y).
15665
156662008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 15667
15668 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
15669 avoid overwriting previous output.
15670 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
15671
c1962162 156722008-02-09 Robert Millan <rmh@aybabtu.com>
15673
15674 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
15675 drawing the menu.
15676
3dac2e3f 156772008-02-09 Robert Millan <rmh@aybabtu.com>
15678
15679 * commands/sleep.c: New file.
15680 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
15681 (sleep_mod_SOURCES): New variable.
15682 (sleep_mod_CFLAGS): Likewise.
15683 (sleep_mod_LDFLAGS): Likewise.
15684
7a634e08 156852008-02-09 Robert Millan <rmh@aybabtu.com>
15686
15687 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
15688 situations in which we can deduce the RAID size and the superblock
15689 doesn't match it.
15690
b92f0c18 156912008-02-09 Robert Millan <rmh@aybabtu.com>
15692
15693 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
15694 and return a grub_diskmemberlist_t composed of LVM physical volumes.
15695 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
15696
15697 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
15698 and return a grub_diskmemberlist_t composed of physical array members.
15699 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
15700
15701 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
15702 prototype.
15703 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
15704 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
15705 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
15706
15707 * util/grub-probe.c (probe): Move partmap probing code from here ...
15708 (probe_partmap): ... to here.
15709 (probe): Use probe_partmap() once for the disk we're probing, and
15710 additionally, when such disk contains a memberlist() struct member,
15711 once for each disk that is contained in the structure returned by
15712 memberlist().
15713
91a4bf68 157142008-02-09 Robert Millan <rmh@aybabtu.com>
15715
15716 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
15717 environment variable to 'all' in order to obtain debug output from
15718 non-util/ code.
15719 * util/i386/pc/grub-setup.c (main): Likewise.
15720
a96f9caa 157212008-02-08 Robert Millan <rmh@aybabtu.com>
15722
15723 * disk/raid.c (grub_raid_scan_device): Check for
15724 `array->device[sb.this_disk.number]' rather than for
15725 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 15726 guaranteed to be accessible.
a96f9caa 15727
b37a9222 157282008-02-08 Robert Millan <rmh@aybabtu.com>
15729
15730 * disk/raid.c: Update copyright.
15731 * fs/cpio.c: Likewise.
15732 * include/grub/raid.h: Likewise.
15733 * loader/i386/pc/multiboot.c: Likewise.
15734 * util/hostfs.c: Likewise.
15735
5626aee1 157362008-02-08 Robert Millan <rmh@aybabtu.com>
15737
15738 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
15739 to a grub_disk_t array.
15740 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
15741 `device[x]'.
15742 (grub_raid_scan_device): Replace `device[x].name' accesses with
15743 `device[x]->name'. Simplify initialization of `array->device[x]'.
15744
554f0187 157452008-02-08 Robert Millan <rmh@aybabtu.com>
15746
15747 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
15748 grub_dprintf() calls.
15749 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
15750 error message.
15751
1ec8425d 157522008-02-07 Christian Franke <franke@computer.org>
15753
15754 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15755 instead of fseek and ftell to support large files.
15756 (grub_hostfs_read): Likewise.
15757
f2156fda 157582008-02-07 Robert Millan <rmh@aybabtu.com>
15759
15760 Patch from Jeroen Dekkers.
15761 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 15762 failure, since successfully reading all array members might not be
f2156fda 15763 required.
15764
9216e0e7 157652008-02-06 Robert Millan <rmh@aybabtu.com>
15766
15767 * util/grub-probe.c (probe): Simplify partmap probing (with the
15768 assumption that the first word up to the underscore equals to
15769 the module name).
15770
b0dfd29a 157712008-02-06 Christian Franke <franke@computer.org>
15772
15773 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15774 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15775 last block of a cpio or tar stream.
15776 Check for "TRAILER!!!" instead of any empty data
15777 block to detect last block of a cpio stream.
15778 (grub_cpio_dir): Fix constness of variable np.
15779 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15780 cpio or tar trailer is detected. This fixes a crash
15781 on open of a non existing file.
15782
c32865bf 157832008-02-05 Bean <bean123ch@gmail.com>
15784
15785 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15786 address of entry.
15787 (grub_multiboot_load_elf64): Likewise.
15788 (grub_multiboot): Initialize mbi structure.
15789
15790 * util/grub-fstest.c: Don't include unused header file script.h.
15791
fe6b695a 15792 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15793 of file.
15794 (grub_fstest_SOURCES): Likewise.
15795
409480b7 157962008-02-05 Robert Millan <rmh@aybabtu.com>
15797
15798 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15799 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15800 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15801 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15802
15803 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15804 (translation_table): Replace hardcoded values with macros
15805 provided by `<grub/term.h>'.
15806
15807 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15808 (keyboard_map): Correct/add a few values, with macros provided
15809 by `<grub/term.h>'.
15810 (keyboard_map_shift): Zero values that don't differ from their
15811 `keyboard_map' equivalents.
15812 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15813 Discard the second scan code that is always sent by Caps lock.
15814 Only use `keyboard_map_shift' when it provides a non-zero value,
15815 otherwise fallback to `keyboard_map'.
15816
99fadbaa 158172008-02-04 Bean <bean123ch@gmail.com>
15818
15819 * Makefile.in (enable_grub_fstest): New variable.
15820
15821 * conf/common.rmk (grub_fstest_init.lst): New rule.
15822 (grub_fstest_init.h): Likewise.
15823 (grub_fstest_init.c): Likewise.
15824 (util/grub-fstest.c_DEPENDENCIES): New variable.
15825 (grub_fstest_SOURCES): Likewise.
15826
15827 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15828
15829 * util/grub-fstest.c: New file.
15830
bf567c50 158312008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15832
15833 Make grub-setup handle a separate root device.
f19dbdb7 15834
bf567c50 15835 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15836 so that the root device can be compared with the destination
15837 device.
15838 When embedding the core image, if the root and destination devices
15839 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15840 0xFF.
15841 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 15842
9be6b98b 158432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15844
15845 Add support for having a grub directory in a different drive. This
15846 is still only the data handling part.
f19dbdb7 15847
9be6b98b 15848 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15849 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15850 (grub_root_drive): New variable.
15851
15852 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15853 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15854 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15855 as it was.
15856
15857 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15858
15859 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15860 macro.
15861 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15862
15863 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15864 is bogus, because PXE booting does not specify any drive
15865 correctly.
15866
15867 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15868 am not sure if this is really correct.
15869
15870 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15871 is always identical to the boot drive when booting from a CD.
15872
15873 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15874 longer.
15875 (root_drive): New variable.
15876 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15877 (setup_sectors): Push %dx right after popping it, because %dh will
15878 be modified later.
15879 (copy_buffer): Restore %dx.
15880
e0ca0677 158812008-02-03 Robert Millan <rmh@aybabtu.com>
15882
15883 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15884 use `cdboot.img' for cdrom images.
15885
3b3f6629 158862008-02-03 Robert Millan <rmh@aybabtu.com>
15887
15888 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15889 only setup gfxterm when `font' command has succeeded.
15890
d42b3672 158912008-02-03 Robert Millan <rmh@aybabtu.com>
15892
15893 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15894 (grub_rescue_cmd_multiboot_loader)
15895 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15896
fa370ea6 158972008-02-03 Pavel Roskin <proski@gnu.org>
15898
e0c5dacb 15899 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 15900 %edx and %esi from stack only after grub_gate_a20() is called.
15901 grub_gate_a20() clobbers %edx.
15902
f2a76e1d 159032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15904
15905 * configure.ac (AC_INIT): Bumped to 1.96.
15906
15907 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15908 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15909 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15910 video/readers/png.c.
15911
90fd32d1 159122008-02-03 Bean <bean123ch@gmail.com>
9be665dd 15913
15914 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15915 (cdboot_img_SOURCES): New variable.
15916 (cdboot_img_ASFLAGS): New variable.
15917 (cdboot_img_LDFLAGS): New variable.
15918
15919 * boot/i386/pc/cdboot.S: New file.
15920
15921 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15922 (cd_count): Likewise.
15923 (grub_biosdisk_get_drive): Add support for cd device.
15924 (grub_biosdisk_call_hook): Likewise.
15925 (grub_biosdisk_iterate): Likewise.
15926 (grub_biosdisk_open): Likewise.
15927 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
15928 (grub_biosdisk_rw): Support reading from cd device.
15929 (GRUB_MOD_INIT): Iterate cd devices.
15930
15931 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
15932 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
15933 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
15934
15935 * kern/i386/pc/init.c (make_install_device): Check for cd device.
15936
4020aa53 159372008-02-02 Robert Millan <rmh@aybabtu.com>
15938
15939 * commands/read.c: New file.
15940 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15941 (read_mod_SOURCES): New variable.
15942 (read_mod_CFLAGS): Likewise.
15943 (read_mod_LDFLAGS): Likewise.
15944
e03a1132 159452008-02-02 Robert Millan <rmh@aybabtu.com>
15946
15947 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15948 determining whether menu has to be displayed.
15949
58c69220 159502008-02-02 Marco Gerards <marco@gnu.org>
15951
15952 * bus/pci.c: New file.
15953
15954 * include/grub/pci.h: Likewise.
15955
15956 * include/grub/i386/pc/pci.h: Likewise.
15957
15958 * commands/lspci.c: Likewise.
15959
15960 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15961 `lspci.mod'.
15962 (pci_mod_SOURCES): New variable.
15963 (pci_mod_CFLAGS): Likewise.
15964 (pci_mod_LDFLAGS): Likewise.
15965 (lspci_mod_SOURCES): Likewise.
15966 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15967 (lspci_mod_LDFLAGS): Likewise.
58c69220 15968
c004e1b4 159692008-02-02 Bean <bean123ch@gmail.com>
15970
15971 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15972 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15973
15974 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15975 (grub_xfs_btree_node): New structure.
15976 (grub_xfs_btree_root): New structure.
15977 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15978 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15979 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15980 (GRUB_XFS_EXTENT_SIZE): Likewise.
15981 (grub_xfs_read_block): Support btree format type.
15982 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15983 Use directory block as basic unit.
15984
15985 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15986
15987 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15988 __attribute__ ((__regparm__ (1))).
15989
f95562bf 159902008-02-01 Robert Millan <rmh@aybabtu.com>
15991
15992 Correct a mistake in previous commit.
15993
15994 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15995 top.
15996 (normal/command.c_DEPENDENCIES): New variable.
15997
7d31f41f 159982008-02-01 Robert Millan <rmh@aybabtu.com>
15999
16000 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
16001 top.
16002 (normal/command.c_DEPENDENCIES): New variable.
16003 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
16004 * conf/i386-ieee1275.rmk: Likewise.
16005 * conf/i386-linuxbios.rmk: Likewise.
16006 * conf/i386-pc.rmk: Likewise.
16007 * conf/sparc64-ieee1275.rmk: Likewise.
16008 * conf/powerpc-ieee1275.rmk: Likewise.
16009 (grub_emu_SOURCES): Add `fs/fshelp.c'.
16010
16011 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
16012
60b6be74 160132008-02-01 Robert Millan <rmh@aybabtu.com>
16014
16015 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
16016 call at beginning of function.
16017
078522ab 160182008-01-31 Pavel Roskin <proski@gnu.org>
16019
16020 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 16021 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16022 (grub_mkrescue_SOURCES): Likewise.
078522ab 16023 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16024
ccaa8a5f 160252008-01-30 Robert Millan <rmh@aybabtu.com>
16026
16027 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16028 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16029 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16030 (grub_probe_SOURCES): ... to here.
16031
16032 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16033 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16034 * conf/i386-ieee1275.rmk: Likewise.
16035 * conf/i386-linuxbios.rmk: Likewise.
16036 * conf/powerpc-ieee1275.rmk: Likewise.
16037
ae5a9cd7 160382008-01-30 Tristan Gingold <gingold@free.fr>
16039
16040 * kern/rescue.c: Silently accept empty lines.
16041
70bc2ef2 160422008-01-29 Bean <bean123ch@gmail.com>
16043
16044 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16045 (real_code_2): Code cleanup and change comment style.
16046 (move_memory): Avoid using 32-bit address mode.
16047
6a4d50ea 160482008-01-29 Bean <bean123ch@gmail.com>
16049
16050 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16051 (png_mod_SOURCES): New variable.
16052 (png_mod_CFLAGS): Likewise.
16053 (png_mod_LDFLAGS): Likewise.
16054
16055 * video/readers/png.c: New file.
16056
11cc30ac 160572008-01-28 Robert Millan <rmh@aybabtu.com>
16058
16059 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16060 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16061 `ifndef GRUB_MOD_GAP' hack.
16062 * util/elf/grub-mkimage.c (add_segments): Likewise.
16063
3abc589f 160642008-01-27 Robert Millan <rmh@aybabtu.com>
16065
16066 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16067 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 16068 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 16069
e1907778 160702008-01-27 Robert Millan <rmh@aybabtu.com>
16071
16072 Get grub-emu to build again (including parallel builds).
16073
16074 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16075 Split into ...
16076 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16077 (normal/execute.c_DEPENDENCIES): ... this, ...
16078 (grub-emu_DEPENDENCIES): ... and this.
16079
16080 * conf/i386-efi.rmk: Likewise.
16081 * conf/i386-linuxbios.rmk: Likewise.
16082 * conf/i386-ieee1275.rmk: Likewise.
16083 * conf/powerpc-ieee1275.rmk: Likewise.
16084 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16085
2216b101 160862008-01-27 Robert Millan <rmh@aybabtu.com>
16087
16088 * NEWS: Add a few items.
16089
f75172d9 160902008-01-27 Robert Millan <rmh@aybabtu.com>
16091
16092 Fix parallel builds with grub-emu. Based on earlier commit for
16093 grub-probe and grub-setup.
16094
16095 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16096 (util/grub-emu.c_DEPENDENCIES): ... this.
16097 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16098 (util/grub-emu.c_DEPENDENCIES): ... this.
16099 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16100 (util/grub-emu.c_DEPENDENCIES): ... this.
16101 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16102 (util/grub-emu.c_DEPENDENCIES): ... this.
16103 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16104 (util/grub-emu.c_DEPENDENCIES): ... this.
16105
3f51de77 161062008-01-27 Pavel Roskin <proski@gnu.org>
16107
16108 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16109 to create a gap between _end and the modules added to the image
16110 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16111 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16112 * util/elf/grub-mkimage.c (add_segments): Likewise.
16113
2033f53e 161142008-01-26 Pavel Roskin <proski@gnu.org>
16115
16116 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16117 just return an error.
16118
22da1f6f 161192008-01-26 Bean <bean123ch@gmail.com>
16120
16121 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16122 (grub_reiserfs_get_item): Save offset of the next item.
16123 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16124
2a9525e6 161252008-01-25 Robert Millan <rmh@aybabtu.com>
16126
16127 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16128 make all filesystem sources appear together (possibly fixing omissions
16129 while at it).
16130 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16131 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16132 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16134
16135 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16136 add `kern/file.c'.
16137 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16138 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16139 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16140 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16141
16142 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16143 (probe): Add a sanity check to make sure of our ability to read
16144 requested files when probing for filesystem type.
16145
16146 * genmk.rb: Update copyright year (2007).
16147
16148 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16149 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16150 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16151 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16152 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16153 : Remove function prototypes.
16154
b95f71b5 161552008-01-25 Robert Millan <rmh@aybabtu.com>
16156
16157 Revert my previous commits (based on wrong assumption of how grub_errno
16158 works).
16159
fe6b695a 16160 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16161 * kern/file.c (grub_file_open): Likewise.
16162
d08bbb49 161632008-01-24 Pavel Roskin <proski@gnu.org>
16164
16165 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16166 that hang if GRUB tries to setup colors.
16167 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16168 colors for firmwares that don't support it.
16169 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16170 Recognize Open Hack'Ware, set flags to work around its
16171 limitations.
16172
605e36ed 161732008-01-24 Robert Millan <rmh@aybabtu.com>
16174
16175 * kern/file.c (grub_file_open): Do not account previous failures of
16176 unrelated functions when grub_errno is checked for.
16177 Reported by Oleg Strikov.
16178
bac332a1 161792008-01-24 Bean <bean123ch@gmail.com>
16180
16181 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16182 (grub_ufs_sblock): New member volume name.
16183 (grub_ufs_find_file): Fix string copy bug.
16184 (grub_ufs_label): Implement this function properly.
16185
16186 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16187 (grub_hfs_iterate_records): Use the correct file number for extents
16188 and catalog file. Fix problem in next index calculation.
16189 (grub_hfs_find_node): Replace recursive function call with loop.
16190 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16191
15c80c09 161922008-01-23 Robert Millan <rmh@aybabtu.com>
16193
16194 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16195 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16196 (grub_multiboot2_real_boot): New function prototype.
16197
16198 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16199 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16200
16201 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16202 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16203
305338fd 162042008-01-23 Robert Millan <rmh@aybabtu.com>
16205
16206 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16207 #ifdef'ed out grub_printf().
16208
3ea52685 162092008-01-23 Robert Millan <rmh@aybabtu.com>
16210
16211 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16212 grub_dprintf calls, since they make "debug=all" mode unusable.
16213 (grub_console_checkkey): Likewise.
16214
5882ae4b 162152008-01-23 Robert Millan <rmh@aybabtu.com>
16216
16217 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16218 `term/i386/pc/at_keyboard.c'.
16219 (pkglib_MODULES): Add `serial.mod'.
16220 (serial_mod_SOURCES): New variable.
16221 (serial_mod_CFLAGS): Likewise.
16222 (serial_mod_LDFLAGS): Likewise.
16223
16224 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16225 `<grub/powerpc/ieee1275/console.h>'.
16226 (grub_keyboard_controller_init): New function prototype.
16227 (grub_console_checkkey): Likewise.
16228 (grub_console_getkey): Likewise.
16229
16230 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16231 keyboard on i386.
16232
16233 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16234 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16235
06ab5303 162362008-01-23 Robert Millan <rmh@aybabtu.com>
16237
16238 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16239 present, "(memdisk)/boot/grub" becomes the default prefix.
16240
16241 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16242 a memdisk tarball with all the modules. Add --overlay=DIR option that
16243 allows users to overlay additional files into the image.
16244
dbb475a4 162452008-01-23 Robert Millan <rmh@aybabtu.com>
16246
16247 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16248 and `machine/memory.h'.
16249 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16250 (_multiboot_mod_SOURCES): New variable.
16251 (_multiboot_mod_CFLAGS): Likewise.
16252 (_multiboot_mod_LDFLAGS): Likewise.
16253 (multiboot_mod_SOURCES): Likewise.
16254 (multiboot_mod_CFLAGS): Likewise.
16255 (multiboot_mod_LDFLAGS): Likewise.
16256
16257 * include/grub/i386/ieee1275/loader.h: New file.
16258
16259 * include/grub/i386/ieee1275/machine.h: Likewise.
16260
16261 * include/grub/i386/ieee1275/memory.h: Likewise.
16262
16263 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16264 variable declaration.
16265 (grub_os_area_size): Likewise.
16266
16267 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16268 (grub_lower_mem, grub_upper_mem): New variables.
16269 (grub_stop_floppy): New function (just to make
16270 grub_multiboot2_real_boot() happy).
16271
16272 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16273 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16274 (grub_stop): New function.
16275 Include `"../realmode.S"' and `"../loader.S"'.
16276
16277 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16278 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16279
16280 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16281 rely on grub_multiboot2_real_boot() for final boot.
16282
25638629 162832008-01-22 Robert Millan <rmh@aybabtu.com>
16284
16285 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16286 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16287 device that doesn't look like an SD card.
16288 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16289 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16290 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16291 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16292 found.
16293
9dad816d 162942008-01-22 Robert Millan <rmh@aybabtu.com>
16295
16296 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16297 avoid claiming over our own code.
16298
34842f2d 162992008-01-22 Bean <bean123ch@gmail.com>
16300
16301 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16302 (jpeg_mod_SOURCES): New variable.
16303 (jpeg_mod_CFLAGS): Likewise.
16304 (jpeg_mod_LDFLAGS): Likewise.
16305
16306 * video/readers/jpeg.c : New file.
16307
44023a28 163082008-01-22 Bean <bean123ch@gmail.com>
16309
16310 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16311 there are no more items.
16312
bc2d8ac6 163132008-01-21 Robert Millan <rmh@aybabtu.com>
16314
16315 * kern/mm.c (grub_mm_init_region): Improve debug message.
16316
261bd4bc 163172008-01-21 Robert Millan <rmh@aybabtu.com>
16318
16319 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16320 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16321 address.
16322 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16323 a C macro.
16324 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16325 Indicates start of upper memory.
16326 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16327 (generate_image): Abort when image size is big enough to corrupt
16328 upper memory.
16329
16330 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16331 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16332 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16333 instead of hardcoding 0xA0000.
16334 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16335 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16336 instead of hardcoding 0xA0000.
16337
f970b55e 163382008-01-21 Robert Millan <rmh@aybabtu.com>
16339
16340 * disk/memdisk.c (memdisk_size): New variable.
16341 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16342 `memdisk_size'.
16343 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16344 image to dynamic memory.
16345 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16346 `memdisk_size'. Free memdisk block.
16347
1a8b0526 163482008-01-21 Robert Millan <rmh@aybabtu.com>
16349
16350 Fix detection of very small filesystems (like tar).
16351
16352 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16353 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16354 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16355 a problem with this disk).
16356
6e9b4aab 163572008-01-21 Robert Millan <rmh@aybabtu.com>
16358
16359 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16360 on grub_biosdisk_rw_standard() error.
16361
0d8837b2 163622008-01-21 Robert Millan <rmh@aybabtu.com>
16363
16364 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16365 recent changes.
16366 * kern/elf.c: Likewise.
16367 * kern/ieee1275/ieee1275.c: Likewise.
16368 * kern/powerpc/ieee1275/openfw.c: Likewise.
16369 * term/ieee1275/ofconsole.c: Likewise.
16370
ffd36e34 163712008-01-21 Robert Millan <rmh@aybabtu.com>
16372
16373 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16374
3f0093d0 16375 * include/grub/kernel.h (grub_arch_memdisk_addr)
16376 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16377
3f0093d0 16378 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16379 (grub_arch_memdisk_size): ... to here.
ffd36e34 16380
6c391b21 163812008-01-21 Robert Millan <rmh@aybabtu.com>
16382
16383 Mostly based on bugfix from Bean.
16384
16385 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16386 attribute with hook() parameter.
16387 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16388 declaration.
16389 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16390 attribute with hook() parameter.
16391 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16392 declaration.
16393
55a581dc 163942008-01-21 Robert Millan <rmh@aybabtu.com>
16395
16396 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16397 (pkglib_MODULES): Add `memdisk.mod'.
16398 (memdisk_mod_SOURCES): New variable.
16399 (memdisk_mod_CFLAGS): Likewise.
16400 (memdisk_mod_LDFLAGS): Likewise.
16401
16402 * disk/memdisk.c: New file.
16403
16404 * include/grub/disk.h (grub_disk_dev_id): Add
16405 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16406
16407 * include/grub/i386/pc/kernel.h
16408 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16409 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16410 (grub_kernel_image_size): New variable declaration.
16411 (grub_total_module_size): Likewise.
16412 (grub_memdisk_image_size): Likewise.
16413
16414 * include/grub/i386/pc/memory.h
16415 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16416
16417 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16418 (grub_arch_memdisk_addr): New variable declaration.
16419 (grub_arch_memdisk_size): Likewise.
16420
16421 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16422 (grub_arch_memdisk_size): Likewise.
16423
16424 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16425 (codestart): Replace hardcoded `0x100000' with
16426 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16427
16428 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16429 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16430 not NULL, append the contents of the file it refers to, at the end of
16431 the compressed kernel image. Initialize `grub_memdisk_image_size'
16432 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16433 (options): Add "memdisk"|'m' option.
16434 (main): Parse --memdisk|-m option, and pass user-provided path as
16435 parameter to generate_image().
16436
3d7f54c9 164372008-01-20 Robert Millan <rmh@aybabtu.com>
16438
16439 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16440 grub_dprintf() calls from here ...
16441 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16442
0bf74728 164432008-01-20 Robert Millan <rmh@aybabtu.com>
16444
16445 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16446
16447 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16448 declaration.
16449 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16450 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16451 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 16452 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 16453 property).
16454 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16455 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16456
33bf70a7 164572008-01-19 Robert Millan <rmh@aybabtu.com>
16458
fe6b695a 16459 Get rid of confusing function (superseded by
33bf70a7 16460 `grub_ieee1275_get_integer_property')
16461 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
16462 prototype.
16463 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
16464 function.
16465 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
16466 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 16467 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 16468
e2da7d26 164692008-01-19 Robert Millan <rmh@aybabtu.com>
16470
16471 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
16472 command after "shut-down", since implementations differ on which
16473 the command for halt is.
16474
59f1fd8d 164752008-01-19 Robert Millan <rmh@aybabtu.com>
16476
16477 * include/grub/i386/linuxbios/console.h: Add header protection.
16478 (grub_keyboard_controller_init): New function prototype.
16479 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16480 (KEYBOARD_COMMAND_READ): Likewise.
16481 (KEYBOARD_COMMAND_WRITE): Likewise.
16482 (KEYBOARD_SCANCODE_SET1): Likewise.
16483 (grub_keyboard_controller_write): New function.
16484 (grub_keyboard_controller_read): Likewise.
16485 (grub_keyboard_controller_init): Likewise.
16486
16487 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
16488 (grub_console_init): On coreboot/LinuxBIOS, call
16489 grub_keyboard_controller_init().
16490
5f5a7c15 164912008-01-19 Robert Millan <rmh@aybabtu.com>
16492
16493 PowerPC changes provided by Pavel Roskin.
16494
16495 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
16496 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
16497 don't rely on cmain() doing it.
16498 * kern/i386/ieee1275/startup.S (_start): Store %eax in
16499 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
16500
1210e168 165012008-01-16 Robert Millan <rmh@aybabtu.com>
16502
16503 * include/grub/i386/linuxbios/memory.h
16504 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
16505 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
16506 receive `table_header' as argument. Instead, probe for it in the
16507 known memory ranges where it can be present.
16508 (grub_available_iterate): Do not pass a fixed `table_header' address
16509 to grub_linuxbios_table_iterate().
16510
3d04eab8 165112008-01-15 Robert Millan <rmh@aybabtu.com>
16512
16513 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
16514 * conf/i386-ieee1275.rmk: New file.
16515 * include/grub/i386/ieee1275/console.h: Likewise.
16516 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
16517 * include/grub/i386/ieee1275/kernel.h: Likewise.
16518 * include/grub/i386/ieee1275/time.h: Likewise.
16519 * kern/i386/ieee1275/init.c: Likewise.
16520 * kern/i386/ieee1275/startup.S: Likewise.
16521
d1bc1b73 165222008-01-15 Robert Millan <rmh@aybabtu.com>
16523
16524 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
16525 when pointers are 32-bit (but still do set it to one when they are
16526 64-bit).
16527
66a65807 165282008-01-15 Robert Millan <rmh@aybabtu.com>
16529
16530 * include/grub/ieee1275/ieee1275.h
16531 (grub_ieee1275_get_integer_property): New function prototype.
16532
16533 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
16534 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 16535 grub_ieee1275_get_property() to handle endianness.
66a65807 16536
16537 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
16538 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 16539 where appropriate.
66a65807 16540 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
16541 (grub_map): Likewise.
16542 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
16543
a83ccafd 165442008-01-15 Bean <bean123ch@gmail.com>
16545
16546 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
16547 (grub_script_execute_cmdline): Reset grub_errno.
16548
16549 * normal/main.c (read_config_file): Reset grub_errno.
16550
16551 * normal/parse.y (script_init): New.
16552 (script): Move function and menuentry here.
16553 (delimiter): New.
16554 (command): Add delimiter at the end of command.
16555 (commands): Adjust to match the new command.
16556 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 16557 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 16558 (if): Use the new commands.
16559
16560 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
16561
df6ecfc6 165622008-01-15 Robert Millan <rmh@aybabtu.com>
16563
16564 * normal/menu.c (run_menu): Move timeout message from here ...
16565 (print_timeout): ... to here.
16566 (run_menu): Use print_timeout() once during initial draw to print
16567 the whole message, and again in every clock tick to update only
16568 the number of seconds.
16569
87ae25eb 165702008-01-15 Robert Millan <rmh@aybabtu.com>
16571
16572 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
16573 actual size of `available' from grub_ieee1275_get_property(), and
16574 restrict parsing to that bound.
16575
47bf09a4 165762008-01-15 Christian Franke <franke@computer.org>
16577
16578 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
16579 (argp_program_version): Remove variable.
16580 (argp_program_bug_address): Likewise.
16581 (options): Convert from struct argp_option to struct option.
16582 (struct arguments): Remove.
16583 (parse_opt): Remove.
16584 (usage): New function.
16585 (main): Replace struct args members by simple variables.
16586 Replace argp_parse() by getopt_long().
16587 Add switch to evaluate options.
16588 Add missing "(...)" around root_dev in prefix string.
16589
c86f1469 165902008-01-14 Robert Millan <rmh@aybabtu.com>
16591
16592 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
16593 for grub_ieee1275_exit(), in order to improve portability.
16594
e622c559 165952008-01-14 Robert Millan <rmh@aybabtu.com>
16596
16597 * util/grub.d/10_linux.in (prefix): Define.
16598 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
16599
44cb1ec8 166002008-01-13 Pavel Roskin <proski@gnu.org>
16601
16602 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
16603 grub_errno if no errors have been detected.
16604
1eb8c802 166052008-01-12 Robert Millan <rmh@aybabtu.com>
16606
16607 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
16608 (grub_util_get_dev_abstraction): New function prototype.
16609
16610 * util/getroot.c: Include `<grub/util/getroot.h>'
16611 (grub_util_get_grub_dev): Move detection of abstraction type to ...
16612 (grub_util_get_dev_abstraction): ... here (new function).
16613
16614 * util/grub-probe.c: Convert PRINT_* to an enum. Add
16615 `PRINT_ABSTRACTION'.
16616 (probe): Probe for abstraction type when requested.
16617 (main): Understand `--target=abstraction'.
16618
16619 * util/i386/efi/grub-install.in: Add abstraction module to core
16620 image when it is found to be necessary.
16621 * util/i386/pc/grub-install.in: Likewise.
16622 * util/powerpc/ieee1275/grub-install.in: Likewise.
16623
16624 * util/update-grub_lib.in (font_path): Return system path without
16625 converting to GRUB path.
16626 * util/update-grub.in: Convert system path returned by font_path()
16627 to a GRUB path. Use `grub-probe -t abstraction' to determine what
16628 abstraction module is needed for loading fonts (if any). Export
16629 that as `GRUB_PRELOAD_MODULES'.
16630 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
16631 insmod commands).
16632
52bd3de9 166332008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
16634
16635 Remove some unused code from reiserfs.
f19dbdb7 16636
52bd3de9 16637 * fs/reiserfs.c (struct grub_reiserfs_key)
16638 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
16639 (struct grub_reiserfs_node_body): Removed.
16640 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16641 Likewise.
16642 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16643 Likewise.
16644 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16645 Likewise.
16646 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16647 Likewise.
16648 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16649 Likewise.
16650 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
16651 Likewise.
16652 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16653 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16654 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16655
2f80039d 166562008-01-10 Robert Millan <rmh@aybabtu.com>
16657
16658 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
16659 Determines if a file is garbage left by packaging systems, etc.
16660 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
16661 for processing /etc/grub.d scripts.
16662 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
16663 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
16664 as a condition for processing Linux images.
16665
87888032 166662008-01-10 Pavel Roskin <proski@gnu.org>
16667
16668 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
16669 to compile reiserfs.c on PowerPC.
16670
7e54fced 166712008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 16672
16673 * kern/device.c (grub_device_iterate): Do not abort device iteration
16674 when one of the devices cannot be opened.
16675 * kern/disk.c (grub_disk_open): Do not account previous failures of
16676 unrelated functions when grub_errno is checked for.
16677
5aa541e6 166782008-01-08 Robert Millan <rmh@aybabtu.com>
16679
16680 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
16681 `! grub_linux_is_bzimage', change order of address comparison to make
16682 it more intuitive, and improve "too big zImage" error message.
16683
7076340d 166842008-01-08 Robert Millan <rmh@aybabtu.com>
16685
16686 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
16687 `$(update-grub_DATA)'.
16688 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
16689 targets.
16690
9ca70333 166912008-01-07 Robert Millan <rmh@aybabtu.com>
16692
16693 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
16694 which instruction is modified by grub-setup during installation
16695 (since it wasn't obvious by only looking at this file).
16696
38ccf575 166972008-01-07 Robert Millan <rmh@aybabtu.com>
16698
16699 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
16700 listing actual TODO items.
16701
f5db4291 167022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16703
868967cf 16704 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
16705 correctly.
16706 (grub_reiserfs_get_key_offset): Likewise.
16707 (grub_reiserfs_set_key_offset): Likewise.
16708 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 16709 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 16710
16711 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
16712 better to remove the bitfield version completely.
f19dbdb7 16713
868967cf 167142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16715
f5db4291 16716 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
16717 allocated from the heap, due to the fshelp implementation.
16718 (grub_reiserfs_dir): Free NODE, due to the same reason.
16719
492e6d9d 167202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16721
16722 Mostly from Vincent Pelletier:
f19dbdb7 16723
492e6d9d 16724 * fs/reiserfs.c: New file.
f19dbdb7 16725
492e6d9d 16726 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
16727 (reiserfs_mod_SOURCES): New variable.
16728 (reiserfs_mod_CFLAGS): Likewise.
16729 (reiserfs_mod_LDFLAGS): Likewise.
16730
16731 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
16732 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
16733 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
16734 normal/color.c.
16735
9ce3e7c1 167362008-01-06 Robert Millan <rmh@aybabtu.com>
16737
16738 * normal/color.c: Remove `<grub/env.h>'.
16739
f3b58148 167402008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
16741
16742 * include/grub/normal.h: Include <grub/env.h>.
16743
7ac3bcfa 167442008-01-05 Robert Millan <rmh@aybabtu.com>
16745
16746 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
16747 usage example with `(hd0,1)'.
fb358190 16748 Reported by Samuel Thibault.
7ac3bcfa 16749
c8ee99d7 167502008-01-05 Robert Millan <rmh@aybabtu.com>
16751
16752 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16753 (grub_linux_boot_zimage): Rename to ...
16754 (grub_linux_boot): ... this.
16755 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16756 (grub_linux_boot_zimage): Conditionalize zImage copy.
16757
16758 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16759 (grub_linux_boot_bzimage): Remove prototype.
16760 (grub_linux_boot_zimage): Rename to ...
16761 (grub_linux_boot): ... this.
16762
16763 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16764 (grub_linux_boot): Remove function.
16765
0ece25b1 167662008-01-05 Robert Millan <rmh@aybabtu.com>
16767
16768 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16769 (grub_env_write_color_highlight): Likewise.
16770 (grub_wait_after_message): Likewise.
16771
16772 * normal/color.c: New file.
16773
16774 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16775 (normal_mod_DEPENDENCIES): Likewise.
16776
16777 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16778 (normal_mod_DEPENDENCIES): Likewise.
16779
16780 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16781 (normal_mod_DEPENDENCIES): Likewise.
16782
16783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16784 (normal_mod_DEPENDENCIES): Likewise.
16785
16786 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16787 for waiting after a message is printed.
16788 * normal/main.c (read_config_file): Likewise.
16789 (grub_normal_init): Register grub_env_write_color_normal() and
16790 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16791 `color_highlight' variables as global.
16792
16793 * normal/menu.c (grub_wait_after_message): New function.
16794 (grub_color_menu_normal): New variable. Replaces ...
16795 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16796 (grub_color_menu_highlight): New variable. Replaces ...
16797 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16798 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16799 `GRUB_TERM_COLOR_STANDARD'.
16800 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16801 `normal_code' and `highlight_code' to `old_color_normal' and
16802 `old_color_highlight', respectively.
16803 (grub_menu_init_page): Update colors when drawing the menu, based on
16804 `menu_color_normal' and `menu_color_highlight' variables.
16805 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16806 a message is printed.
16807
182dd4e5 168082008-01-05 Robert Millan <rmh@aybabtu.com>
16809
16810 * kern/env.c (grub_env_context_open): Propagate hooks for global
16811 variables to new context.
16812
16813 * kern/main.c (grub_set_root_dev): Export `root' variable.
16814
ddf8f6ad 168152008-01-05 Robert Millan <rmh@aybabtu.com>
16816
16817 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16818 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16819 them.
16820
d8b43d9b 168212008-01-05 Robert Millan <rmh@aybabtu.com>
16822
16823 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16824
2bff2de3 168252008-01-04 Christian Franke <franke@computer.org>
16826
16827 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16828 of eisa_mmap.
16829
97eab917 168302008-01-03 Pavel Roskin <proski@gnu.org>
16831
16832 * kern/i386/linuxbios/init.c: Put "void" to all function
16833 declarations with no arguments.
16834 * kern/powerpc/ieee1275/init.c: Likewise.
16835 * term/i386/pc/at_keyboard.c: Likewise.
16836 * term/i386/pc/vga_text.c: Likewise.
16837 * util/grub-mkdevicemap.c: Likewise.
16838
b9416d00 168392008-01-02 Robert Millan <rmh@aybabtu.com>
16840
16841 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16842 message when loaded image is out of bounds.
16843 (grub_multiboot_load_elf64): Likewise.
16844
92695df9 168452008-01-02 Pavel Roskin <proski@gnu.org>
16846
16847 * util/grub.d/10_linux.in: Try version without ".old" when
16848 looking for initrd. It's better to use initrd from the newer
16849 kernel of the same version than no initrd at all.
16850
d98d9cad 168512008-01-01 Robert Millan <rmh@aybabtu.com>
16852
16853 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16854
dbfdce36 168552008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16856
f19dbdb7 16857 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 16858 grub_video_get_active_render_target.
16859 (grub_video_adapter): Added unmap_color and get_active_render_target.
16860
f19dbdb7 16861 * video/video.c: Added grub_video_unmap_color and
dbfdce36 16862 grub_video_get_active_render_target.
16863 (grub_video_get_info): Changed method to accept NULL pointer as an
16864 argument to allow detection of active video adapter.
16865
16866 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16867 grub_video_vbe_unmap_color_int.
16868 Added grub_video_vbe_unmap_color and
16869 grub_video_vbe_get_active_render_target.
16870 (grub_video_vbe_adapter): Added unmap_color and
16871 get_active_render_target.
16872
f19dbdb7 16873 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 16874 with grub_video_vbe_unmap_color_int.
16875
16876 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16877 (DEFAULT_NORMAL_COLOR): Likewise.
16878 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16879 (DEFAULT_FG_COLOR): Removed.
16880 (DEFAULT_BG_COLOR): Likewise.
16881 (DEFAULT_CURSOR_COLOR): Changed value.
16882 (grub_virtual_screen): Added standard_color_setting,
16883 normal_color_setting, highlight_color_setting and term_color.
16884 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16885 (bitmap_width): Added.
16886 (bitmap_height): Likewise.
16887 (bitmap): Likewise.
16888 (set_term_color): Likewise.
16889 (grub_virtual_screen_setup): Changed to use new terminal coloring
16890 settings.
16891 (grub_gfxterm_init): Added init for bitmap.
16892 (grub_gfxterm_fini): Added destroy for bitmap.
16893 (redraw_screen_rect): Updated to use background bitmap and new
16894 terminal coloring.
16895 (scroll_up): Added optimization for case when there is no bitmap.
16896 (grub_gfxterm_cls): Fixed to use correct background color.
16897 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16898 coloring.
16899 (grub_virtual_screen_setcolor): Likewise.
16900 (grub_virtual_screen_getcolor): Added.
16901 (grub_gfxterm_background_image_cmd): Likewise.
16902 (grub_video_term): Added setcolor and getcolor.
16903 (MOD_INIT): Added registration of background_image command.
16904 (MOD_TERM): Added unregistration for background_image command.
16905
c3c20931 169062007-12-30 Pavel Roskin <proski@gnu.org>
16907
16908 * loader/multiboot_loader.c: Fix multiboot command
16909 unregistration. Fix all typos in the word "multiboot".
16910
df266716 169112007-12-29 Pavel Roskin <proski@gnu.org>
94239199 16912
16913 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16914 support for initrd names used in Fedora.
16915
fc6e896c 169162007-12-26 Bean <bean123ch@gmail.com>
16917
16918 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16919 (cpio_mod_SOURCES): New variable.
16920 (cpio_mod_CFLAGS): Likewise.
16921 (cpio_mod_LDFLAGS): Likewise.
16922
16923 * fs/cpio.c: New file.
16924
16925 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
16926
16927 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16928
16929 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16930
16931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16932
533110ad 169332007-12-25 Robert Millan <rmh@aybabtu.com>
16934
16935 * include/grub/term.h (struct grub_term): Add `getcolor' function.
16936 (grub_getcolor): New function.
16937
16938 * kern/term.c (grub_getcolor): New function.
16939 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
16940 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16941 (print_entry): Set normal and highlight colors to
16942 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16943 respectively, before printing and restore them to old
16944 values afterwards.
16945 (grub_menu_init_page): Likewise. Fill an additional colored space
16946 that would otherwise be left blank.
16947
16948 * term/efi/console.c (grub_console_getcolor): New function.
16949 (struct grub_console_term.getcolor): New variable.
16950 * term/i386/pc/console.c (grub_console_getcolor): New function.
16951 (struct grub_console_term.getcolor): New variable.
16952 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16953 (struct grub_console_term.getcolor): New variable.
16954
16955 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16956 (struct grub_console_term.setcolor): Remove variable.
16957 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16958 (struct grub_console_term.setcolor): Remove variable.
16959 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16960 (struct grub_console_term.setcolor): Remove variable.
16961 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16962 (struct grub_console_term.setcolor): Remove variable.
16963
4931827f 169642007-12-25 Robert Millan <rmh@aybabtu.com>
16965
16966 * configure.ac: Search for possible unifont.hex locations, and
16967 define UNIFONT_HEX if found.
16968
16969 * Makefile.in (UNIFONT_HEX): Define variable.
16970 (DATA): Rename to ...
16971 (PKGLIB): ... this. Update all users.
16972 (PKGDATA): New variable.
16973 (pkgdata_IMAGES): Rename to ...
16974 (pkglib_IMAGES): ... this. Update all users.
16975 (pkgdata_MODULES): Rename to ...
16976 (pkglib_MODULES): ... this. Update all users.
16977 (pkgdata_PROGRAMS): Rename to ...
16978 (pkglib_PROGRAMS): ... this. Update all users.
16979 (pkgdata_DATA): Rename to ...
16980 (pkglib_DATA): ... this. Update all users.
16981 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16982 (unicode.pff, ascii.pff): New rules.
16983 (all-local): Add `$(PKGDATA)' dependency.
16984 (install-local): Process `$(PKGDATA)'.
16985
16986 * util/update-grub_lib.in (font_path): Search for *.pff files in
16987 a few more locations, including `${pkgdata}'.
16988
57e57e31 169892007-12-23 Robert Millan <rmh@aybabtu.com>
16990
16991 Patch from Bean <bean123ch@gmail.com>:
16992 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16993 `size'.
16994
4bc72aa9 169952007-12-21 Bean <bean123ch@gmail.com>
16996
16997 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16998 (ntfscomp_mod_SOURCES): New variable.
16999 (ntfscomp_mod_CFLAGS): Likewise.
17000 (ntfscomp_mod_LDFLAGS): Likewise.
17001
17002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
17003 (grub_probe_SOURCES): Likewise.
17004 (grub_emu_SOURCES): Likewise.
17005
17006 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17007 (grub_emu_SOURCES): Likewise.
17008
17009 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17010 (grub_emu_SOURCES): Likewise.
17011
17012 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17013 (grub_emu_SOURCES): Likewise.
17014
17015 * fs/ntfs.c (grub_ntfscomp_func): New variable.
17016 (read_run_list): Renamed to grub_ntfs_read_run_list.
17017 (decomp_nextvcn): Moved to ntfscomp.c.
17018 (decomp_getch): Likewise.
17019 (decomp_get16): Likewise.
17020 (decomp_block): Likewise.
17021 (read_block): Likewise.
17022 (read_data): Partially moved to ntfscomp.c.
17023 (fixup): Change unsigned to grub_uint16_t.
17024 (read_mft): Change unsigned long to grub_uint32_t.
17025 (read_attr): Likewise.
17026 (read_data): Likewise.
17027 (read_run_data): Likewise.
17028 (read_run_list): Likewise.
17029 (read_mft): Likewise.
17030
17031 * fs/ntfscomp.c: New file.
17032
17033 * include/grub/ntfs.h: New file.
17034
af680a87 170352007-12-16 Robert Millan <rmh@aybabtu.com>
17036
17037 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17038 IDE disk check, since Linux is known to support 20 IDE disks.
17039 Reported by Colin Watson.
17040
84be7599 170412007-12-15 Bean <bean123ch@gmail.com>
17042
17043 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17044 (lnxboot_img_SOURCES): New variable.
17045 (lnxboot_img_ASFLAGS): Likewise.
17046 (lnxboot_img_LDFLAGS): Likewise.
17047
17048 * boot/i386/pc/lnxboot.S: New file.
17049
6af9db01 170502007-11-24 Pavel Roskin <proski@gnu.org>
17051
17052 * configure.ac: Test if '--build-id=none' is supported by the
17053 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17054 objcopy to generate incorrect binary files (binutils
17055 2.17.50.0.18-1 as shipped by Fedora 8).
17056 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17057 linking, so that build ID doesn't break the test.
17058
7361cfe6 170592007-11-24 Pavel Roskin <proski@gnu.org>
17060
17061 * include/grub/i386/time.h: use "void" in the argument list
17062 of grub_cpu_idle().
17063 * include/grub/powerpc/time.h: Likewise.
17064 * include/grub/sparc64/time.h: Likewise.
17065
1593e10c 170662007-11-18 Christian Franke <franke@computer.org>
17067
17068 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17069 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17070 This fixes the problem that function keys did not work in grub-emu.
17071
3b8db1a8 170722007-11-18 Christian Franke <franke@computer.org>
17073
17074 * disk/host.c (grub_host_open): Remove attribute unused from
17075 name parameter. Add check for "host". This fixes the problem
17076 that grub-emu does not find partitions.
17077
2e29408d 170782007-11-18 Christian Franke <franke@computer.org>
17079
17080 * util/hostfs.c (is_dir): New function.
17081 (grub_hostfs_dir): Handle missing dirent.d_type case.
17082 (grub_hostfs_read): Add missing fseek().
17083 (grub_hostfs_label): Clear label pointer. This fixes a crash
17084 of grub-emu on "ls (host)".
17085
398cd047 170862007-11-18 Christian Franke <franke@computer.org>
17087
17088 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17089 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17090 to 64 bit boundary by default.
17091
c405c391 170922007-11-18 Bean <bean123ch@gmail.com>
17093
17094 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17095 (hexdump_mod_SOURCES): New variable.
17096 (hexdump_mod_CFLAGS): Likewise.
17097 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 17098
c405c391 17099 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17100
17101 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17102
17103 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17104
17105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17106
17107 * include/grub/hexdump.h: New file.
17108
17109 * commands/hexdump.c: New file.
17110
5cced7fd 171112007-11-10 Robert Millan <rmh@aybabtu.com>
17112
17113 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17114 in grub_outb() calls.
17115 (beep_on): Likewise.
17116
8b714eb0 171172007-11-10 Christian Franke <franke@computer.org>
17118
17119 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17120 (grub_menu_run): Likewise.
17121
ce0f1839 171222007-11-10 Robert Millan <rmh@aybabtu.com>
17123
17124 * include/grub/i386/efi/machine.h: New file.
17125 * include/grub/i386/linuxbios/machine.h: Likewise.
17126 * include/grub/i386/pc/machine.h: Likewise.
17127 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17128 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17129
17130 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17131 (serial_hw_io_addr): New variable.
17132 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17133 instead of `(unsigned short *) 0x400'.
17134
270c237d 171352007-11-10 Bean <bean123ch@gmail.com>
17136
17137 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17138
a87783bf 171392007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17140
17141 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17142 (vga_mod_SOURCES): Added.
17143 (vga_mod_CFLAGS): Likewise.
17144 (vga_mod_LDFLAGS): Likewise.
17145
17146 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17147 grub_outb() calls.
17148 (set_map_mask): Likewise.
17149 (set_read_map): Likewise.
17150 (set_read_address): Likewise.
17151 (vga_font): Removed variable.
17152 (get_vga_glyph): Removed function.
17153 (invalidate_char): Likewise.
17154 (write_char): Changed to use grub_font_get_glyph() for font
17155 information.
17156 (grub_vga_putchar): Likewise.
17157 (grub_vga_getcharwidth): Likewise.
17158
6433b448 171592007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17160
17161 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17162 flags.
17163 (pxeboot_img_LDFLAGS): Likewise.
17164 (diskboot_img_LDFLAGS): Likewise.
17165 (kernel_img_LDFLAGS): Likewise.
17166
49178511 171672007-11-06 Robert Millan <rmh@aybabtu.com>
17168
17169 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17170 in grub_outb() calls.
17171 (serial_hw_init): Likewise.
17172
53b052de 171732007-11-05 Robert Millan <rmh@aybabtu.com>
17174
17175 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17176 spaces. Skip non-regular files.
17177
5ab33bba 171782007-11-05 Robert Millan <rmh@aybabtu.com>
17179
17180 * kern/disk.c (grub_disk_firmware_fini)
17181 (grub_disk_firmware_is_tainted): New variables.
17182
17183 * include/grub/disk.h (grub_disk_firmware_fini)
17184 (grub_disk_firmware_is_tainted): Likewise.
17185
17186 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17187 (grub_disk_biosdisk_fini): ... to here.
17188 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17189 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17190 is set. Register grub_disk_biosdisk_fini() in
17191 `grub_disk_firmware_fini'.
17192
17193 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17194 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17195 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17196 to finish existing firmware disk interface.
17197
17198 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17199 (ata_mod_SOURCES): New variable.
17200 (ata_mod_CFLAGS): Likewise.
17201 (ata_mod_LDFLAGS): Likewise.
17202
0149ab7c 172032007-11-05 Robert Millan <rmh@aybabtu.com>
17204
17205 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17206 (grub_ata_wait): Reimplement using grub_millisleep().
17207
17208 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17209 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17210
be7ac41e 172112007-11-03 Marco Gerards <marco@gnu.org>
17212
17213 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17214 (CRTC_ADDR_PORT): New macro.
17215 (CRTC_DATA_PORT): Likewise.
17216 (CRTC_CURSOR): Likewise.
17217 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17218 (CRTC_CURSOR_ADDR_LOW): Likewise.
17219 (update_cursor): New function.
17220 (grub_console_real_putchar): Call `update_cursor'.
17221 (grub_console_gotoxy): Likewise.
17222 (grub_console_cls): Set the default color when clearing the
17223 screen.
17224 (grub_console_setcursor): Implemented.
17225
bb06ab2e 172262007-11-03 Marco Gerards <marco@gnu.org>
17227
17228 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17229 become activate.
17230 (grub_ata_pio_write): Likewise.
17231
17232 (grub_atapi_identify): Wait after issuing an ATA command.
17233 (grub_atapi_packet): Likewise.
17234 (grub_ata_identify): Likewise.
17235 (grub_ata_readwrite): Likewise.
17236
cf8f780b 172372007-11-03 Marco Gerards <marco@gnu.org>
17238
17239 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17240 (grub_ata_pio_write): Likewise.
17241 (grub_ata_readwrite): Use `grub_error', instead of
17242 returning `grub_errno'.
17243
ed649e54 172442007-11-03 Marco Gerards <marco@gnu.org>
17245
17246 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17247 grub_ata_pio_write once for every single sector, instead of for
17248 multiple sectors.
17249
ca25d8f0 172502007-10-31 Robert Millan <rmh@aybabtu.com>
17251
17252 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17253
17254 * conf/i386-linuxbios.rmk: New file.
17255
17256 * kern/i386/pc/hardware.c: Likewise.
17257 * term/i386/pc/at_keyboard.c: Likewise.
17258 * term/i386/pc/vga_text.c: Likewise.
17259
17260 * include/grub/i386/linuxbios/boot.h: Likewise.
17261 * include/grub/i386/linuxbios/console.h: Likewise.
17262 * include/grub/i386/linuxbios/init.h: Likewise.
17263 * include/grub/i386/linuxbios/kernel.h: Likewise.
17264 * include/grub/i386/linuxbios/loader.h: Likewise.
17265 * include/grub/i386/linuxbios/memory.h: Likewise.
17266 * include/grub/i386/linuxbios/serial.h: Likewise.
17267 * include/grub/i386/linuxbios/time.h: Likewise.
17268
17269 * kern/i386/linuxbios/init.c: Likewise.
17270 * kern/i386/linuxbios/startup.S: Likewise.
17271 * kern/i386/linuxbios/table.c: Likewise.
17272
e911ecc1 172732007-10-31 Marco Gerards <marco@gnu.org>
17274
17275 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17276 (ata_mod_SOURCES): New variable.
17277 (ata_mod_CFLAGS): Likewise.
17278 (ata_mod_LDFLAGS): Likewise.
17279
17280 * disk/ata.c: New file.
17281
17282 * include/grub/disk.h (grub_disk_dev_id): Add
17283 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 17284
7f66d0e0 172852007-10-31 Robert Millan <rmh@aybabtu.com>
17286
17287 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17288 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17289
17290 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17291 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17292
17293 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17294 `<grub/types.h>'.
17295
17296 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17297
5cd7dd46 172982007-10-27 Robert Millan <rmh@aybabtu.com>
17299
3236ca65 17300 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17301
2ebfc90f 173022007-10-22 Robert Millan <rmh@aybabtu.com>
17303
17304 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17305 `"../realmode.S"'.
17306 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17307
73fcb0f3 173082007-10-22 Robert Millan <rmh@aybabtu.com>
17309
17310 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17311 (pkgdata_MODULES): Add `biosdisk.mod'.
17312 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17313 variables.
17314
17315 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17316 (grub_biosdisk_init): Replace with ...
17317 (GRUB_MOD_INIT(biosdisk)): ... this.
17318 (grub_biosdisk_fini): Replace with ...
17319 (GRUB_MOD_FINI(biosdisk)): ... this.
17320
17321 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17322 (grub_machine_init): Remove call to grub_biosdisk_init().
17323 (grub_machine_fini): Remove call to grub_machine_fini().
17324
17325 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17326
3381d274 173272007-10-22 Robert Millan <rmh@aybabtu.com>
17328
17329 * include/grub/time.h: New file.
17330 * include/grub/i386/time.h: Likewise.
17331 * include/grub/powerpc/time.h: Likewise.
17332 * include/grub/sparc64/time.h: Likewise.
17333
17334 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17335 instances to ...
17336 (KERNEL_MACHINE_TIME_HEADER): ... this.
17337 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17338 instances to ...
17339 (KERNEL_MACHINE_TIME_HEADER): ... this.
17340 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17341 instances to ...
17342 (KERNEL_MACHINE_TIME_HEADER): ... this.
17343
17344 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17345 (grub_millisleep): New function.
17346 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17347 (grub_millisleep): New function.
17348 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17349 Remove `grub/machine/time.h' include.
17350 (grub_millisleep): New function.
17351 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17352 Remove `grub/machine/time.h' include.
17353 (grub_millisleep): New function.
17354
17355 * include/grub/misc.h (grub_div_roundup): New function.
17356
17357 * kern/misc.c: Include `<grub/time.h>'.
17358 (grub_millisleep_generic): New function.
17359
17360 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17361 Add `time.h'.
17362 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17363 Add `time.h'.
17364 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17365 `machine/time.h'. Add `time.h'.
17366 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17367
a39a0312 173682007-10-21 Robert Millan <rmh@aybabtu.com>
17369
17370 * include/grub/misc.h (grub_max): New function.
17371
2aad70e2 173722007-10-21 Robert Millan <rmh@aybabtu.com>
17373
17374 * util/misc.c (grub_util_info): Call fflush() before returning.
17375
54b71c4b 173762007-10-20 Robert Millan <rmh@aybabtu.com>
17377
17378 * genmk.rb (Image): Copy `extra_flags' from here ...
17379 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17380
17381 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17382 to `argc' and `args' arguments.
17383
a979f513 173842007-10-17 Robert Millan <rmh@aybabtu.com>
17385
17386 * kern/i386/loader.S: New file.
17387
17388 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17389 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17390 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17391 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17392 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17393 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17394 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17395 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17396 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17397 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17398 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17399 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17400 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17401 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17402
17403 * kern/i386/realmode.S: New file.
17404
17405 * kern/i386/pc/startup.S (protstack): Moved from here ...
17406 * kern/i386/realmode.S (protstack)... to here.
17407 * kern/i386/pc/startup.S (gdt): Moved from here ...
17408 * kern/i386/realmode.S (gdt)... to here.
17409 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17410 * kern/i386/realmode.S (prot_to_real)... to here.
17411
17412 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17413 `kern/i386/realmode.S'.
17414
825fc8fd 174152007-10-17 Robert Millan <rmh@aybabtu.com>
17416
17417 * include/grub/i386/loader.h: New file.
17418
17419 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17420 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17421 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17422 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17423 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17424 * include/grub/i386/loader.h (grub_linux_prot_size)
17425 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17426 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17427 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17428 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17429
17430 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17431
e179b2f4 174322007-10-15 Robert Millan <rmh@aybabtu.com>
17433
17434 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17435 filesystem when dev->disk is unset.
17436 Do probe for filesystem even when dev->disk->has_partitions is set.
17437 In case a filesystem is found, always report it.
17438 In case it isn't, if dev->disk->has_partitions is set, report that
17439 a partition table was found instead of reporting that no filesystem
17440 could be identified.
17441
5db82af6 174422007-10-12 Robert Millan <rmh@aybabtu.com>
17443
17444 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17445 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17446
68f6ac74 17447 * include/grub/types.h (grub_host_to_target16): New macro.
17448 (grub_host_to_target32): Likewise.
17449 (grub_host_to_target64): Likewise.
17450 (grub_target_to_host16): Likewise.
17451 (grub_target_to_host32): Likewise.
17452 (grub_target_to_host64): Likewise.
5db82af6 17453
17454 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17455 Renamed from to ...
17456 (GRUB_MOD_ALIGN): ...this. Update all users.
17457
68f6ac74 17458 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17459 grub_host_to_target32.
17460 Replace grub_be_to_cpu32 with grub_target_to_host32.
17461 (load_modules): Likewise.
17462 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
17463 Replace grub_be_to_cpu32 with grub_target_to_host32.
17464 Replace grub_cpu_to_be16 with grub_host_to_target16.
17465 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 17466
3cf497cc 174672007-10-12 Robert Millan <rmh@aybabtu.com>
17468
17469 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
17470 * util/elf/grub-mkimage.c: ... here.
17471
17472 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
17473 `util/powerpc/ieee1275/grub-mkimage.c'.
17474
c8cc3692 174752007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 17476
c8cc3692 17477 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
17478 and make it easier to figure out.
17479 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17480 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17481 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
17482 leave us with less than HEAP_MIN_SIZE total heap.
17483 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 17484
5c58b791 174852007-10-03 Robert Millan <rmh@aybabtu.com>
17486
17487 * include/grub/i386/io.h: New file.
17488 * commands/i386/pc/play.c (inb): Removed.
17489 (outb): Removed.
17490 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17491 with grub_outb().
afcd2ef8 17492 * term/i386/pc/serial.c (inb): Removed.
17493 (outb): Removed.
17494 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17495 with grub_outb().
17496 * term/i386/pc/vga.c (inb): Removed.
17497 (outb): Removed.
17498 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17499 with grub_outb().
5c58b791 17500
1a477ed6 175012007-10-02 Robert Millan <rmh@aybabtu.com>
17502
17503 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
17504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17505 Reported by Marcin Kurek.
17506
6b5d80fa 175072007-09-07 Robert Millan <rmh@aybabtu.com>
17508
17509 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
17510 SmartFirmware version updates (as released by Sven Luther), and avoid
17511 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
17512 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
17513 known broken.
17514
5618afbf 175152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17516
17517 From Hitoshi Ozeki:
17518 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
17519 when merging two regions.
17520
6139dcd9 175212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17522
508e39ee 17523 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
17524 * normal/completion.c (grub_normal_do_completion): Likewise.
17525 Reported by Hitoshi Ozeki.
17526
175272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17528
6139dcd9 17529 Do not use devices at boot in chainloading.
f19dbdb7 17530
6139dcd9 17531 * loader/i386/pc/chainloader.c (boot_drive): New variable.
17532 (boot_part_addr): Likewise.
17533 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
17534 with BOOT_DRIVE and BOOT_PART_ADDR.
17535 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
17536 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
17537
38da6516 175382007-08-29 Robert Millan <rmh@aybabtu.com>
17539
17540 Patch from Simon Peter <dn.tlp@gmx.net>:
17541 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
17542 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
17543 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
17544 util/i386/pc/grub-setup.c_DEPENDENCIES.
17545 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
17546 util/grub-probe.c_DEPENDENCIES.
17547 * conf/powerpc-ieee1275.rmk: Likewise.
17548
29d0928c 175492007-08-28 Robert Millan <rmh@aybabtu.com>
17550
17551 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
17552 to tell grub-mkdevicemap how to name devices.
17553 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
17554 feature).
17555
17556 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
17557 util/i386/get_disk_name.c.
17558 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
17559 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
17560 util/ieee1275/get_disk_name.c.
17561
17562 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
17563
17564 * DISTLIST: Add util/i386/get_disk_name.c and
17565 util/ieee1275/get_disk_name.c.
17566
17567 * util/grub-mkdevicemap.c: Replace device naming logic with
17568 grub_util_get_disk_name() calls.
17569
5a0d3cca 175702007-08-20 Robert Millan <rmh@aybabtu.com>
17571
17572 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
17573 (so that it works for both plural and singular quantities).
17574
8b72db2f 175752007-08-05 Robert Millan <rmh@aybabtu.com>
17576
17577 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
17578 so that [xz] isn't taken into account when determining order.
17579
352466bf 175802007-08-02 Marco Gerards <marco@gnu.org>
17581
17582 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
17583 `include/multiboot2.h', `include/grub/elfload.h',
17584 `include/multiboot.h', `include/grub/multiboot.h',
17585 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
17586 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
17587 `kern/elf.c', `loader/multiboot_loader.c',
17588 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
17589 `loader/i386/pc/multiboot2.c',
17590 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
17591 `util/i386/pc/grub-mkrescue.in'. Remove
17592 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
17593 `include/grub/i386/pc/util/biosdisk.h' and
17594 `include/grub/powerpc/ieee1275/multiboot.h'.
17595
8f096014 175962007-08-02 Bean <bean123ch@gmail.com>
17597
17598 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
17599 (ntfs_mod_SOURCES): New variable.
17600 (ntfs_mod_CFLAGS): Likewise.
17601 (ntfs_mod_LDFLAGS): Likewise.
17602
17603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
17604 (grub_probe_SOURCES): Likewise.
17605 (grub_emu_SOURCES): Likewise.
17606
17607 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17608 (grub_emu_SOURCES): Likewise.
17609
17610 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17611 (grub_emu_SOURCES): Likewise.
f19dbdb7 17612
8f096014 17613 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
17614
17615 * fs/ntfs.c: New file.
17616
9959f7db 176172007-08-02 Bean <bean123ch@gmail.com>
17618
17619 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
17620
17621 * file.h (grub_file): Likewise.
17622
17623 * fshelp.h (grub_fshelp_read_file): Likewise.
17624
17625 * util/i386/pc/grub-setup.c (setup): Likewise.
17626 (save_first_sector): Likewise.
17627 (save_blocklists): Likewise.
f19dbdb7 17628
9959f7db 17629 * fs/affs.c (grub_affs_read_file): Likewise.
17630
17631 * fs/ext2.c (grub_ext2_read_file): Likewise.
17632
17633 * fs/fat.c (grub_fat_read_data): Likewise.
17634
17635 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
17636
17637 * fs/hfs.c (grub_hfs_read_file): Likewise.
17638
17639 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17640
17641 * fs/jfs.c (grub_jfs_read_file): Likewise.
17642
17643 * fs/minix.c (grub_minix_read_file): Likewise.
17644
17645 * fs/sfs.c (grub_sfs_read_file): Likewise.
17646
17647 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 17648
9959f7db 17649 * fs/xfs.c (grub_xfs_read_file): Likewise.
17650
17651 * command/blocklist.c (read_blocklist): Likewise.
17652 (print_blocklist): Likewise.
17653
0a203f83 176542007-08-02 Marco Gerards <marco@gnu.org>
17655
17656 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
17657 `util/hostfs.c'.
17658
17659 * disk/host.c: New file.
17660
17661 * util/hostfs.c: Likewise.
17662
17663 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
17664 return `GRUB_ERR_BAD_FS'.
17665 * fs/sfs.c (grub_sfs_mount): Likewise.
17666 * fs/xfs.c (grub_xfs_mount): Likewise.
17667
17668 * include/grub/disk.h (enum grub_disk_dev_id): Add
17669 `GRUB_DISK_DEVICE_HOST_ID'.
17670
17671 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
17672
e5dfe777 176732007-07-24 Jerone Young <jerone@gmail.com>
17674
f19dbdb7 17675 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 17676 modules for compilation.
17677 * conf/powerpc-ieee1275.rmk: Likewise.
17678
17679 * include/multiboot.h: Move multiboot definitions to one file. Rename
17680 many definitions to not get grub specific.
17681 * include/multiboot2.h: Create header with multiboot 2 definitions.
17682 * include/grub/multiboot.h: Header for grub specific function
17683 prototypes and definitions.
17684 * include/grub/multiboot2.h: Likewise.
17685 * include/grub/multiboot_loader.h: Likewise.
17686 * include/grub/i386/pc/multiboot.h: Removed.
17687 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
17688
17689 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
17690 and 2 to allow for one multiboot and module commands.
17691 * loader/multiboot2.c: Add multiboot2 functionality.
17692 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
17693 and definition names.
17694 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
17695 2 functions.
17696 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
17697 ieee1275 specific multiboot2 code.
17698
17699 * kern/i386/pc/startup.S: Change headers and definition names for
17700 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
17701
daf0f0ba 177022007-07-22 Robert Millan <rmh@aybabtu.com>
17703
17704 * geninitheader.sh: Process file specified in first parameter rather
17705 than hardcoding grub_modules_init.lst.
fe6b695a 17706 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 17707 than hardcoding grub_modules_init.h.
17708
17709 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
17710 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
17711 grub_probe_init.[ch] and grub_setup_init.[ch].
17712
17713 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
17714 grub_modules_init.h with grub_emu_init.h.
17715 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
17716 grub_probe_init.[ch] files.
17717 * conf/i386-efi.rmk: Likewise.
17718 * conf/i386-pc.rmk: Likewise.
17719 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
17720 grub_setup_init.[ch] files.
17721
17722 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
17723 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
17724 to initialize modules rather than a list of hardcoded functions.
17725 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
17726 grub_init_all() to initialize modules rather than a list of hardcoded
17727 functions.
17728
54cdc1cc 177292007-07-22 Robert Millan <rmh@aybabtu.com>
17730
17731 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17732 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
17733
ad0686cc 177342007-07-22 Robert Millan <rmh@aybabtu.com>
17735
17736 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17737 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
17738 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
17739 flag when running on SmartFirmware.
17740 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
17741 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
17742 was set.
17743
17744 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17745 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
17746 rather than decreasing it.
17747
17748 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
17749 there's not enough space to do it, fail in the same way as when it
17750 can't be done because there are no partitions.
17751
17752 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17753 when nvsetenv failed.
17754
969c02ec 177552007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17756
17757 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17758 because this rule is automatically generated.
17759 (grub-mkrescue): Removed for the same reason as above.
17760
5a79f472 177612007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17762
17763 Migrate to GNU General Public License Version 3.
f19dbdb7 17764
5a79f472 17765 * COPYING: Replaced with the plain text version of GPLv3.
17766
17767 * config.guess: Updated from gnulib.
17768 * config.sub: Likewise.
17769
17770 * geninit.sh: Output a GPLv3 copyright notice.
17771 * geninitheader.sh: Likewise.
17772 * genmodsrc.sh: Likewise.
17773 * gensymlist.sh.in: Likewise.
17774
17775 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17776 * boot/i386/pc/diskboot.S: Likewise.
17777 * boot/i386/pc/pxeboot.S: Likewise.
17778 * commands/blocklist.c: Likewise.
17779 * commands/boot.c: Likewise.
17780 * commands/cat.c: Likewise.
17781 * commands/cmp.c: Likewise.
17782 * commands/configfile.c: Likewise.
17783 * commands/echo.c: Likewise.
17784 * commands/help.c: Likewise.
17785 * commands/ls.c: Likewise.
17786 * commands/search.c: Likewise.
17787 * commands/terminal.c: Likewise.
17788 * commands/test.c: Likewise.
17789 * commands/videotest.c: Likewise.
17790 * commands/i386/cpuid.c: Likewise.
17791 * commands/i386/pc/halt.c: Likewise.
17792 * commands/i386/pc/play.c: Likewise.
17793 * commands/i386/pc/reboot.c: Likewise.
17794 * commands/i386/pc/vbeinfo.c: Likewise.
17795 * commands/i386/pc/vbetest.c: Likewise.
17796 * commands/ieee1275/halt.c: Likewise.
17797 * commands/ieee1275/reboot.c: Likewise.
17798 * commands/ieee1275/suspend.c: Likewise.
17799 * disk/loopback.c: Likewise.
17800 * disk/lvm.c: Likewise.
17801 * disk/raid.c: Likewise.
17802 * disk/efi/efidisk.c: Likewise.
17803 * disk/i386/pc/biosdisk.c: Likewise.
17804 * disk/ieee1275/ofdisk.c: Likewise.
17805 * font/manager.c: Likewise.
17806 * fs/affs.c: Likewise.
17807 * fs/ext2.c: Likewise.
17808 * fs/fat.c: Likewise.
17809 * fs/fshelp.c: Likewise.
17810 * fs/hfs.c: Likewise.
17811 * fs/hfsplus.c: Likewise.
17812 * fs/iso9660.c: Likewise.
17813 * fs/jfs.c: Likewise.
17814 * fs/minix.c: Likewise.
17815 * fs/sfs.c: Likewise.
17816 * fs/ufs.c: Likewise.
17817 * fs/xfs.c: Likewise.
17818 * hello/hello.c: Likewise.
17819 * include/grub/acorn_filecore.h: Likewise.
17820 * include/grub/arg.h: Likewise.
17821 * include/grub/bitmap.h: Likewise.
17822 * include/grub/boot.h: Likewise.
17823 * include/grub/cache.h: Likewise.
17824 * include/grub/device.h: Likewise.
17825 * include/grub/disk.h: Likewise.
17826 * include/grub/dl.h: Likewise.
17827 * include/grub/elfload.h: Likewise.
17828 * include/grub/env.h: Likewise.
17829 * include/grub/err.h: Likewise.
17830 * include/grub/file.h: Likewise.
17831 * include/grub/font.h: Likewise.
17832 * include/grub/fs.h: Likewise.
17833 * include/grub/fshelp.h: Likewise.
17834 * include/grub/gzio.h: Likewise.
17835 * include/grub/hfs.h: Likewise.
17836 * include/grub/kernel.h: Likewise.
17837 * include/grub/loader.h: Likewise.
17838 * include/grub/lvm.h: Likewise.
17839 * include/grub/misc.h: Likewise.
17840 * include/grub/mm.h: Likewise.
17841 * include/grub/net.h: Likewise.
17842 * include/grub/normal.h: Likewise.
17843 * include/grub/parser.h: Likewise.
17844 * include/grub/partition.h: Likewise.
17845 * include/grub/pc_partition.h: Likewise.
17846 * include/grub/raid.h: Likewise.
17847 * include/grub/rescue.h: Likewise.
17848 * include/grub/script.h: Likewise.
17849 * include/grub/setjmp.h: Likewise.
17850 * include/grub/symbol.h: Likewise.
17851 * include/grub/term.h: Likewise.
17852 * include/grub/terminfo.h: Likewise.
17853 * include/grub/tparm.h: Likewise.
17854 * include/grub/types.h: Likewise.
17855 * include/grub/video.h: Likewise.
17856 * include/grub/efi/api.h: Likewise.
17857 * include/grub/efi/chainloader.h: Likewise.
17858 * include/grub/efi/console.h: Likewise.
17859 * include/grub/efi/console_control.h: Likewise.
17860 * include/grub/efi/disk.h: Likewise.
17861 * include/grub/efi/efi.h: Likewise.
17862 * include/grub/efi/pe32.h: Likewise.
17863 * include/grub/efi/time.h: Likewise.
17864 * include/grub/i386/linux.h: Likewise.
17865 * include/grub/i386/setjmp.h: Likewise.
17866 * include/grub/i386/types.h: Likewise.
17867 * include/grub/i386/efi/kernel.h: Likewise.
17868 * include/grub/i386/efi/loader.h: Likewise.
17869 * include/grub/i386/efi/time.h: Likewise.
17870 * include/grub/i386/pc/biosdisk.h: Likewise.
17871 * include/grub/i386/pc/boot.h: Likewise.
17872 * include/grub/i386/pc/chainloader.h: Likewise.
17873 * include/grub/i386/pc/console.h: Likewise.
17874 * include/grub/i386/pc/init.h: Likewise.
17875 * include/grub/i386/pc/kernel.h: Likewise.
17876 * include/grub/i386/pc/loader.h: Likewise.
17877 * include/grub/i386/pc/memory.h: Likewise.
17878 * include/grub/i386/pc/multiboot.h: Likewise.
17879 * include/grub/i386/pc/serial.h: Likewise.
17880 * include/grub/i386/pc/time.h: Likewise.
17881 * include/grub/i386/pc/vbe.h: Likewise.
17882 * include/grub/i386/pc/vbeblit.h: Likewise.
17883 * include/grub/i386/pc/vbefill.h: Likewise.
17884 * include/grub/i386/pc/vbeutil.h: Likewise.
17885 * include/grub/i386/pc/vga.h: Likewise.
17886 * include/grub/ieee1275/ieee1275.h: Likewise.
17887 * include/grub/ieee1275/ofdisk.h: Likewise.
17888 * include/grub/powerpc/libgcc.h: Likewise.
17889 * include/grub/powerpc/setjmp.h: Likewise.
17890 * include/grub/powerpc/types.h: Likewise.
17891 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17892 * include/grub/powerpc/ieee1275/console.h: Likewise.
17893 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17894 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17895 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17896 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17897 * include/grub/powerpc/ieee1275/time.h: Likewise.
17898 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17899 * include/grub/sparc64/libgcc.h: Likewise.
17900 * include/grub/sparc64/setjmp.h: Likewise.
17901 * include/grub/sparc64/types.h: Likewise.
17902 * include/grub/sparc64/ieee1275/console.h: Likewise.
17903 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17904 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17905 * include/grub/sparc64/ieee1275/time.h: Likewise.
17906 * include/grub/util/biosdisk.h: Likewise.
17907 * include/grub/util/getroot.h: Likewise.
17908 * include/grub/util/lvm.h: Likewise.
17909 * include/grub/util/misc.h: Likewise.
17910 * include/grub/util/raid.h: Likewise.
17911 * include/grub/util/resolve.h: Likewise.
17912 * io/gzio.c: Likewise.
17913 * kern/device.c: Likewise.
17914 * kern/disk.c: Likewise.
17915 * kern/dl.c: Likewise.
17916 * kern/elf.c: Likewise.
17917 * kern/env.c: Likewise.
17918 * kern/err.c: Likewise.
17919 * kern/file.c: Likewise.
17920 * kern/fs.c: Likewise.
17921 * kern/loader.c: Likewise.
17922 * kern/main.c: Likewise.
17923 * kern/misc.c: Likewise.
17924 * kern/mm.c: Likewise.
17925 * kern/parser.c: Likewise.
17926 * kern/partition.c: Likewise.
17927 * kern/rescue.c: Likewise.
17928 * kern/term.c: Likewise.
17929 * kern/efi/efi.c: Likewise.
17930 * kern/efi/init.c: Likewise.
17931 * kern/efi/mm.c: Likewise.
17932 * kern/i386/dl.c: Likewise.
17933 * kern/i386/efi/init.c: Likewise.
17934 * kern/i386/efi/startup.S: Likewise.
17935 * kern/i386/pc/init.c: Likewise.
17936 * kern/i386/pc/lzo1x.S: Likewise.
17937 * kern/i386/pc/startup.S: Likewise.
17938 * kern/ieee1275/ieee1275.c: Likewise.
17939 * kern/powerpc/cache.S: Likewise.
17940 * kern/powerpc/dl.c: Likewise.
17941 * kern/powerpc/ieee1275/cmain.c: Likewise.
17942 * kern/powerpc/ieee1275/crt0.S: Likewise.
17943 * kern/powerpc/ieee1275/init.c: Likewise.
17944 * kern/powerpc/ieee1275/openfw.c: Likewise.
17945 * kern/sparc64/cache.S: Likewise.
17946 * kern/sparc64/dl.c: Likewise.
17947 * kern/sparc64/ieee1275/init.c: Likewise.
17948 * kern/sparc64/ieee1275/openfw.c: Likewise.
17949 * loader/efi/chainloader.c: Likewise.
17950 * loader/efi/chainloader_normal.c: Likewise.
17951 * loader/i386/efi/linux.c: Likewise.
17952 * loader/i386/efi/linux_normal.c: Likewise.
17953 * loader/i386/pc/chainloader.c: Likewise.
17954 * loader/i386/pc/chainloader_normal.c: Likewise.
17955 * loader/i386/pc/linux.c: Likewise.
17956 * loader/i386/pc/linux_normal.c: Likewise.
17957 * loader/i386/pc/multiboot.c: Likewise.
17958 * loader/i386/pc/multiboot_normal.c: Likewise.
17959 * loader/powerpc/ieee1275/linux.c: Likewise.
17960 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17961 * normal/arg.c: Likewise.
17962 * normal/cmdline.c: Likewise.
17963 * normal/command.c: Likewise.
17964 * normal/completion.c: Likewise.
17965 * normal/execute.c: Likewise.
17966 * normal/function.c: Likewise.
17967 * normal/lexer.c: Likewise.
17968 * normal/main.c: Likewise.
17969 * normal/menu.c: Likewise.
17970 * normal/menu_entry.c: Likewise.
17971 * normal/misc.c: Likewise.
17972 * normal/parser.y: Likewise.
17973 * normal/script.c: Likewise.
17974 * normal/i386/setjmp.S: Likewise.
17975 * normal/powerpc/setjmp.S: Likewise.
17976 * normal/sparc64/setjmp.S: Likewise.
17977 * partmap/acorn.c: Likewise.
17978 * partmap/amiga.c: Likewise.
17979 * partmap/apple.c: Likewise.
17980 * partmap/gpt.c: Likewise.
17981 * partmap/pc.c: Likewise.
17982 * partmap/sun.c: Likewise.
17983 * term/gfxterm.c: Likewise.
17984 * term/terminfo.c: Likewise.
17985 * term/efi/console.c: Likewise.
17986 * term/i386/pc/console.c: Likewise.
17987 * term/i386/pc/serial.c: Likewise.
17988 * term/i386/pc/vesafb.c: Likewise.
17989 * term/i386/pc/vga.c: Likewise.
17990 * term/ieee1275/ofconsole.c: Likewise.
17991 * util/biosdisk.c: Likewise.
17992 * util/console.c: Likewise.
17993 * util/genmoddep.c: Likewise.
17994 * util/getroot.c: Likewise.
17995 * util/grub-emu.c: Likewise.
17996 * util/grub-mkdevicemap.c: Likewise.
17997 * util/grub-probe.c: Likewise.
17998 * util/lvm.c: Likewise.
17999 * util/misc.c: Likewise.
18000 * util/raid.c: Likewise.
18001 * util/resolve.c: Likewise.
18002 * util/update-grub.in: Likewise.
18003 * util/update-grub_lib.in: Likewise.
18004 * util/grub.d/00_header.in: Likewise.
18005 * util/grub.d/10_hurd.in: Likewise.
18006 * util/grub.d/10_linux.in: Likewise.
18007 * util/i386/efi/grub-install.in: Likewise.
18008 * util/i386/efi/grub-mkimage.c: Likewise.
18009 * util/i386/pc/grub-install.in: Likewise.
18010 * util/i386/pc/grub-mkimage.c: Likewise.
18011 * util/i386/pc/grub-mkrescue.in: Likewise.
18012 * util/i386/pc/grub-setup.c: Likewise.
18013 * util/i386/pc/misc.c: Likewise.
18014 * util/powerpc/ieee1275/grub-install.in: Likewise.
18015 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
18016 * util/powerpc/ieee1275/misc.c: Likewise.
18017 * video/bitmap.c: Likewise.
18018 * video/video.c: Likewise.
18019 * video/i386/pc/vbe.c: Likewise.
18020 * video/i386/pc/vbeblit.c: Likewise.
18021 * video/i386/pc/vbefill.c: Likewise.
18022 * video/i386/pc/vbeutil.c: Likewise.
18023 * video/readers/tga.c: Likewise.
18024
3572d015 180252007-07-02 Robert Millan <rmh@aybabtu.com>
18026
18027 * conf/i386-efi.rmk: Replace obsolete reference to
18028 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18029 with util/getroot.c.
18030 * conf/powerpc-ieee1275.rmk: Likewise.
18031 * conf/sparc64-ieee1275.rmk: Likewise.
18032
18033 * util/grub-emu.c (main): Fix unchecked pointer handling.
18034
2c2a681b 180352007-07-02 Robert Millan <rmh@aybabtu.com>
18036
18037 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18038 invocation to fail, in order to support partition-less media.
18039
18040 * util/i386/pc/grub-install.in: Likewise.
18041
18042 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18043 which fs or partmap modules are needed (akin to its sister scripts).
18044
18045 Also use grub-probe to get rid of unportable /proc/mounts check.
18046
18047 Print the same informational message that the other scripts do, before
fe6b695a 18048 exiting.
2c2a681b 18049
6193defe 180502007-06-23 Robert Millan <rmh@aybabtu.com>
18051
fe6b695a 18052 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 18053 a font file can be found and, if so, echo the GRUB path to it.
18054
18055 * util/update-grub.in: Handle multiple terminals depending on user
18056 input, platform availability and font file presence. Propagate
18057 variables of our findings to /etc/grub.d/ children.
18058
18059 * util/grub.d/00_header.in: Handle multiple terminals, based on
18060 environment setup by update-grub.
18061
eface1dc 180622007-06-23 Robert Millan <rmh@aybabtu.com>
18063
ba50d28f 18064 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 18065
bf697e28 180662007-06-21 Robert Millan <rmh@aybabtu.com>
18067
18068 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18069 indicate end of data section in kernel image.
18070 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18071 GRUB_KERNEL_MACHINE_DATA_END.
18072
18073 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18074 space for it.
18075 * kern/i386/efi/startup.S: Likewise.
18076
18077 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18078 during image generation. Implement --prefix option to override this
18079 patch.
18080 * util/i386/efi/grub-mkimage.c: Likewise.
18081
18082 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18083 code to make path relative to its root into a separate function.
18084
18085 * util/i386/pc/grub-install.in: Use newly provided
18086 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18087 pass the result to grub-install --prefix.
18088
baa574b4 180892007-06-13 Robert Millan <rmh@aybabtu.com>
18090
18091 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18092 DEFAULT_DEVICE_MAP.
18093 * util/grub-emu.c: Use above definitions from misc.h instead of
18094 defining them.
18095 * util/grub-mkdevicemap.c: Likewise.
18096 * util/i386/pc/grub-setup.c: Likewise.
18097 * util/grub-probe.c: Likewise.
18098 (probe): Abort with grub_util_error() when either
18099 grub_guess_root_device or grub_util_get_grub_dev fails.
18100
0215dcbf 181012007-06-12 Robert Millan <rmh@aybabtu.com>
18102
18103 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18104 "pager" assignment.
18105 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18106 "pcdata".
18107 * util/grub-probe.c (probe): Likewise for "drive_name".
18108
8af2ab7b 181092007-06-11 Robert Millan <rmh@aybabtu.com>
18110
18111 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18112 not just the cdrom one.
18113
59d31694 181142007-06-11 Robert Millan <rmh@aybabtu.com>
18115
18116 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18117 Add --pkglibdir=DIR option to override pkglibdir.
18118 Mention --image-type=TYPE in help output.
18119 Fix --grub-mkimage (it was a no-op).
fe6b695a 18120 Abort gracefully when no parameter is given.
59d31694 18121
7ee367e4 181222007-06-11 Robert Millan <rmh@aybabtu.com>
18123
18124 * util/i386/pc/grub-mkrescue.in: New file.
18125 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18126 * Makefile.in: Handle bin_SCRIPTS.
18127
29b0ed46 181282007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18129
18130 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18131 list of video modes.
18132
c0f90770 181332007-06-06 Robert Millan <rmh@aybabtu.com>
18134
18135 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18136 file doesn't exist, or if it is in a filesystem grub can't read.
18137
18138 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18139 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18140 header comment to fit in 80 columns when the variables are resolved.
18141
18142 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18143 could be identified by update-grub. Remove redundant check for
fe6b695a 18144 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18145 handles that).
18146
fb36dc26 181472007-06-04 Robert Millan <rmh@aybabtu.com>
18148
18149 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18150
18151 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18152
18153 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18154
0c68c93e 181552007-06-04 Robert Millan <rmh@aybabtu.com>
18156
18157 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18158
18159 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18160 grub_apple_partition_map_fini.
18161
18162 * util/biosdisk.c
18163 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18164 to access >2 TiB disks).
18165
18166 Print disk->total_sectors with %llu instead of %lu, since this
18167 variable is always 64-bit (prevents wrong disk size from being displayed
18168 on either >2 TiB disk or big-endian CPU).
18169
18170 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18171 into a generic case that supports all (sane) partition maps.
18172
18173 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18174 breaks big-endian.
18175
18176 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18177 and grub_apple_partition_map_fini() after that.
18178
0f23eb74 181792007-06-01 Robert Millan <rmh@aybabtu.com>
18180
18181 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18182
18183 * util/grub.d/00_header.in: Only enable gfxterm when
18184 convert_system_path_to_grub_path() succeeds.
18185
42c71976 181862007-05-20 Robert Millan <rmh@aybabtu.com>
18187
18188 * util/update-grub_lib.in: New file.
18189 * DISTLIST: Add update-grub_lib.in.
18190 * conf/common.rmk: Generate update-grub_lib and install it in
18191 $(lib_DATA).
18192 * Makefile.in: Add install routine for $(lib_DATA).
18193
18194 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18195 function provided by update-grub_lib to support arbitrary paths of
18196 unifont.pff.
18197 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18198 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18199
5beb2291 182002007-05-19 Robert Millan <rmh@aybabtu.com>
18201
18202 * commands/i386/cpuid.c: New module.
18203 * DISTLIST: Add it.
18204 * conf/i386-efi.rmk: Enable cpuid.mod.
18205 * conf/i386-pc.rmk: Likewise.
18206
7262eca1 182072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18208
18209 * kern/disk.c (grub_disk_read): Check return value of
18210 grub_realloc().
18211
260ba823 182122007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18213
18214 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18215 arrays.
18216 * disk/raid.c (grub_raid_open): Likewise.
18217
1ecb6cf2 182182007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18219
18220 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18221 stack instead of on the heap.
18222
18223 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18224 before doing a read on it.
18225
18226 * configure.ac: Only use -fno-stack-protector for the target
18227 environment.
f19dbdb7 18228
21c8cbb1 182292007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18230
18231 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18232 __attribute_ ((unused)) to mode_type argument.
18233
18234 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18235
21c8cbb1 18236 * kern/misc.c (memcmp): Fix prototype.
18237
18238 * include/grub/partition.h [GRUB_UTIL]
18239 (grub_gpt_partition_map_init): Add prototype.
18240 (grub_gpt_partition_map_fini): Likewise.
18241
18242 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18243 at the right place.
18244
18245 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18246 (grub_fat_read_data): Likewise.
18247 (grub_fat_find_dir): Likewise.
18248
18249 * font/manager.c (find_glyph): Make table a const.
18250 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 18251
849d55d3 182522007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18253
18254 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18255 code, first search for device in /dev/mapper, then in /dev.
18256 (grub_util_get_grub_dev): New function.
18257 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18258 prototype.
18259 * util/grub-probe.c (probe): Remove check for RAID, call
18260 grub_util_get_grub_dev() instead of
18261 grub_util_biosdisk_get_grub_dev().
18262 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18263 grub_util_biosdisk_get_grub_dev().
18264 * util/i386/pc/grub-setup.c (main): Likewise.
18265
8fff7c2f 182662007-05-16 Robert Millan <rmh@aybabtu.com>
18267
18268 * DISTLIST: Update for the latest changes.
18269 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18270 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18271 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18272 grub/util/biosdisk.h.
18273 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18274 grub/util/biosdisk.h.
18275
48e12b52 182762007-05-16 Robert Millan <rmh@aybabtu.com>
18277
18278 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18279
46b9d128 182802007-05-16 Robert Millan <rmh@aybabtu.com>
18281
18282 * util/i386/efi/grub-install.in: New.
18283 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18284 newly added grub-install.
18285 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18286 include.
18287 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18288 grub/util/biosdisk.h.
18289 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18290 grub/util/biosdisk.h.
18291
2d1a40a9 182922007-05-16 Robert Millan <rmh@aybabtu.com>
18293
18294 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18295 * include/grub/util/biosdisk.h: ... here.
18296 * util/i386/pc/biosdisk.c: Moved to ...
18297 * util/biosdisk.c: ... here.
18298 * util/i386/pc/getroot.c: Moved to ...
18299 * util/getroot.c: ... here.
18300 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18301 * util/grub-mkdevicemap.c: ... here.
18302 * util/i386/pc/grub-probe.c: Moved to ...
18303 * util/grub-probe.c: ... here.
18304
9e26e3bc 183052007-05-15 Robert Millan <rmh@aybabtu.com>
18306
18307 * util/update-grub.in: Remove duplicated line in grub.cfg header
18308 message.
18309
57f96397 183102007-05-13 Robert Millan <rmh@aybabtu.com>
18311
18312 * util/update-grub.in: Fix a few assumptions about the devices holding
18313 /, /boot and /boot/grub being the same.
18314 * util/grub.d/00_header.in: Likewise.
18315 * util/grub.d/10_hurd.in: Likewise.
18316 * util/grub.d/10_linux.in: Likewise.
18317
18318 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18319 patterns. Use that to define the `.old' suffix as older than `'.
18320
18321 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18322
18323 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18324 the grub.cfg header message.
18325
2e610d62 183262007-05-11 Robert Millan <rmh@aybabtu.com>
18327
18328 * util/update-grub.in: Create device.map if it doesn't already exist,
18329 before attempting to run grub-probe.
18330 Check for grub-probe and grub-mkdevicemap with the same code
18331 grub-install is using.
18332 Remove test mode.
18333
3f6a10ef 183342007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18335
18336 * Makefile.in: Add the datarootdir autoconf variable.
18337
02e7b75e 183382007-05-09 Robert Millan <rmh@aybabtu.com>
18339
18340 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18341 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18342
75f396cc 183432007-05-07 Robert Millan <rmh@aybabtu.com>
18344
18345 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18346 determine partition map module.
18347 * util/i386/pc/grub-install.in: Use this feature to decide which
18348 partition module to load, instead of hardcoding pc and gpt.
18349
da65cb36 183502007-05-07 Robert Millan <rmh@aybabtu.com>
18351
18352 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18353 source directory differs from build directory.
18354
b57d6a91 183552007-05-05 Robert Millan <rmh@aybabtu.com>
18356
18357 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18358 initialisation.
18359
509d00f1 183602007-05-05 Robert Millan <rmh@aybabtu.com>
18361
18362 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18363
c48f23ef 183642007-05-05 Robert Millan <rmh@aybabtu.com>
18365
18366 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18367 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18368
20b97658 183692007-05-05 Robert Millan <rmh@aybabtu.com>
18370
18371 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18372 (grub_probe_SOURCES): Likewise.
18373 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18374 GPT and initialize dos_part and bsd_part accordingly.
18375 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18376 install_bsd_part.
18377 (main): Activate gpt module for use during partition identification,
18378 and deactivate it afterwards.
18379 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18380 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18381 partition identification, and deactivate it afterwards.
18382
99123174 183832007-05-05 Robert Millan <rmh@aybabtu.com>
18384
18385 * term/i386/pc/console.c (grub_console_fini): Call
18386 grub_term_set_current() before grub_term_unregister().
18387
ebd97f6e 183882007-05-04 Robert Millan <rmh@aybabtu.com>
18389
18390 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18391 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18392 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18393 and update-grub_DATA.
18394 * conf/common.rmk: Build and install update-grub components.
18395 * conf/common.mk: Regenerate.
18396 * util/update-grub.in: New. Core of update-grub.
18397 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18398 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18399 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18400 * util/grub.d/README: New. Document grub.d directory layout.
18401
b06a264d 184022007-05-01 Robert Millan <rmh@aybabtu.com>
18403
18404 * util/grub-emu.c: Move initialization functions
18405 grub_util_biosdisk_init() and grub_init_all() before
18406 grub_util_biosdisk_get_grub_dev(), which relies on them.
18407
41f0050e 184082007-04-19 Robert Millan <rmh@aybabtu.com>
18409
18410 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18411 it is used later.
18412
04582bb3 184132007-04-18 Jerone Young <jerone@gmail.com>
18414
f19dbdb7 18415 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 18416 stanza.
18417
08db4632 184182007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 18419
08db4632 18420 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18421 continue on and look for device node with real device name.
18422
801b76be 184232007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 18424
fe6b695a 18425 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 18426 ability.
18427 * Makefile.in: Add autoconf package transformation code.
18428 * util/i386/pc/grub-install.in: Likewise.
18429 * util/powerpc/ieee1275/grub-install.in: Likewise.
18430
6795c4e1 184312007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18432
18433 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18434 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18435 (EXT2_REVISION): Likewise.
18436 (EXT2_INODE_SIZE): Likewise.
18437 (struct grub_ext2_block_group): Added a missing member
18438 "used_dirs".
18439 (grub_ext2_read_inode): Divide by the inode size in a superblock
18440 instead of 128 to obtain INODES_PER_BLOCK.
18441 Use the macro EXT2_INODE_SIZE instead of directly using
18442 SBLOCK->INODE_SIZE.
18443
d70af616 184442007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18445
18446 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18447 superblock instead of the structure size to compute an
18448 offset. This fixes the problem that GRUB could not read a
18449 filesystem when inode size is different from 128-byte.
18450
3b801603 184512007-03-05 Marco Gerards <marco@gnu.org>
18452
18453 * normal/main.c (read_config_file): When "menu" is not set, create
18454 an initial context.
18455
4785bfe4 184562007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18457
18458 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18459 (HEAP_LIMIT): New macro.
18460 (grub_claim_heap): Claim memory up to `heaplimit'.
18461
a0cbb023 184622007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18463
18464 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
18465 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
18466 (_start): Likewise.
18467 (grub_arch_modules_addr): Return address after `_end'.
18468 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
18469 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
18470 (add_segments): Calculate `_end' from phdr size and location.
18471 (ALIGN_UP): Moved to ...
18472 * include/grub/misc.h: here.
18473 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18474 New macro.
18475 (GRUB_IEEE1275_MODULE_BASE): Removed.
18476
fd7d8eba 184772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18478
18479 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18480 loop boundary.
18481
9b09e6fc 184822007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18483
18484 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
18485 All users updated.
18486 (grub_elf64_load_hook_t): Likewise.
18487 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
18488 debug output.
18489
3ce27299 184902007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18491
18492 * kern/mm.c: Update copyright.
18493 (grub_mm_debug): Correct syntax error.
18494 (grub_mm_dump_free): New function.
18495 (grub_debug_free): Call `grub_free'.
18496 * include/grub/mm.h: Update copyright.
18497 (grub_mm_dump_free): Add declaration.
18498
077d5fee 184992007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18500
18501 * include/grub/ieee1275/ieee1275.h: Update copyright.
18502 * kern/powerpc/ieee1275/init.c: Likewise.
18503 * kern/powerpc/ieee1275/openfw.c: Likewise.
18504
18505 * loader/powerpc/ieee1275/linux.c: Likewise.
18506 * include/grub/elfload.h: Likewise.
18507 * kern/elf.c: Likewise.
18508 (grub_elf32_load): Pass `base' and `size' parameters. Update all
18509 callers.
18510 (grub_elf64_load): Likewise.
18511 (grub_elf32_load_segment): Move to a nested function.
18512 (grub_elf64_load_segment): Likewise.
18513
dc946850 185142007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18515
18516 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
18517 prototype.
18518 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
18519 (grub_heap_len): Likewise.
18520 (HEAP_SIZE): New macro.
18521 (grub_claim_heap): New function.
18522 (grub_machine_init): Don't claim heap directly. Call
18523 `grub_claim_heap'.
18524 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
18525 (grub_available_iterate): New function.
18526
baa2a121 185272007-02-03 Thomas Schwinge <tschwinge@gnu.org>
18528
18529 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
18530 * configure.ac: Use it for testing the HOST and TARGET compilers.
18531
4fe9862e 185322006-12-13 Thomas Schwinge <tschwinge@gnu.org>
18533
18534 * Makefile.in (enable_grub_emu): New variable.
18535 * configure.ac (--enable-grub-emu): New option.
18536 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
18537 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
18538 * conf/i386-pc.rmk: Likewise.
18539 * conf/powerpc-ieee1275.rmk: Likewise.
18540 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
18541
a8aa5762 185422006-12-12 Marco Gerards <marco@gnu.org>
18543
18544 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
18545
18546 * kern/env.c (grub_env_unset): Don't free the member `value' when
18547 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
18548 pointer.
18549
18550 * normal/main.c (current_menu): Removed.
18551 (free_menu): Unset the `menu' environment variable.
18552 (grub_normal_menu_addentry): Make use of the environment variable
18553 `menu', instead of using the global `current_menu'. Allocate
18554 memory for the sourcecode of this entry.
18555 (read_config_file): New argument `nested', changed all callers.
18556 Only in the case of a new context, initialize a new menu. Set the
18557 `menu' environment variable.
18558 (grub_normal_execute): Don't set and unset the environment
18559 variable `menu' here anymore. Only free the menu when leaving the
18560 context.
18561
18562 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
18563 leak.
18564
957b3a3e 185652006-12-11 Marco Gerards <marco@gnu.org>
18566
18567 * normal/menu_entry.c (run): Fix off by one bug so the last line
18568 is executed. Move the loader check to outside the loop.
18569
ef875714 185702006-12-08 Hollis Blanchard <hollis@penguinppc.org>
18571
18572 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
18573
4e739985 185742006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
18575
18576 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
18577 the number of sectors. Reported by Andrey Shuvikov
18578 <mr_hyro@yahoo.com>.
f19dbdb7 18579
790707f2 185802006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
18581
18582 * kern/disk.c (grub_disk_read): When there is a read error, always
18583 try to read only the necessary data.
f19dbdb7 18584
790707f2 18585 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
18586 disk/raid.c.
18587 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
18588 prototype.
18589 [GRUB_UTIL] (grub_raid_fini): Likewise.
18590 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 18591 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 18592 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
18593 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
18594 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
18595 and grub_raid_fini().
f19dbdb7 18596
03e58196 185972006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
18598
18599 * include/grub/types.h (__unused): Rename to UNUSED.
18600 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
18601 (grub_elf64_size): Likewise.
f19dbdb7 18602
ae4f23bf 186032006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18604
18605 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
18606 grub_error_push and grub_error_pop in the error-handling path.
18607 (grub_elf32_load_segment): Only call grub_file_read with non-zero
18608 length.
18609
2166cc83 186102006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18611
18612 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
18613 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18615 (kernel_elf_SOURCES): Likewise.
18616 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
18617 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
18618 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18619 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18620 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
18621 (elf_mod_SOURCES): New variable.
18622 (elf_mod_CFLAGS): Likewise.
18623 (elf_mod_LDFLAGS): Likewise.
18624 * include/grub/types.h (__unused): New macro.
18625 * include/grub/elfload.h: New file.
18626 * kern/elf.c: Likewise.
18627 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
18628 (ELF32_LOADMASK): New macro.
18629 (ELF64_LOADMASK): Likewise.
18630 (vmlinux): Removed.
18631 (grub_linux_load32): New function.
18632 (grub_linux_load64): Likewise.
18633 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
18634 Use grub_elf_t instead of grub_file_t.
18635
a09d5aa5 186362006-11-02 Hollis Blanchard <hollis@penguinppc.org>
18637
18638 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
18639 `catch_result' to struct set_color_args.
18640
d976fc51 186412006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18642
18643 * normal/menu.c: Include grub/script.h.
18644 * normal/menu_entry.c: Likewise.
18645 * include/grub/normal.h: Do not include grub/script.h.
18646
67507549 186472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18648
18649 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
18650
69203a99 186512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18652
18653 * kern/disk.c (grub_disk_open): Print debug messages when opening a
18654 disk.
18655 (grub_disk_close): Print debug messages when closing a disk.
18656 (grub_disk_read): Print debug messages when disk read fails.
18657 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
18658 filesystem type.
18659 * kern/partition.c: Include misc.h.
18660 (grub_partition_iterate): Print debug messages when detecting
18661 partition type.
18662
e2b8278c 186632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18664
18665 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
18666 is negative.
18667 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
18668
97b2f2ff 186692006-10-26 Hollis Blanchard <hollis@penguinppc.org>
18670
18671 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18672 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
18673
6555d655 186742006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
18675
18676 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
18677 instead of sizeof(lv). Patch by Michael Guntsche.
18678
4d42b77f 186792006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
18680
18681 * disk/lvm.c: Rename VGS to VG_LIST.
18682 (grub_lvm_iterate): Change VGS->LV to VG-LV.
18683 (grub_lvm_open): Likewise.
18684 Thanks to Michael Guntsche for finding this bug.
18685
5d74d927 186862006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18687
18688 * configure.ac (AC_INIT): Bumped to 1.95.
18689
a1bb27e4 186902006-10-14 Robert Millan <rmh@aybabtu.com>
18691
18692 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
18693 with "/dev/.static/dev/md".
18694
e0994b8b 186952006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18696
18697 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
18698 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
18699 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
18700 DRIVE_NAME are always freed.
18701
18702 * util/i386/pc/biosdisk.c (make_device_name): Add one into
18703 DOS_PART, as a DOS partition is counted from one instead of zero
18704 now. Reported by Robert Millan.
18705
ddd5cee9 187062006-10-14 Robert Millan <rmh@aybabtu.com>
18707
18708 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
18709 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
18710 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
18711 string returned by grub_guess_root_device.
18712 * util/i386/pc/grub-setup.c: Likewise.
18713 * util/i386/pc/grub-probefs.c: Likewise.
18714
18715 * util/i386/pc/grub-probefs.c: Rename to ...
18716 * util/i386/pc/grub-probe.c: ... this.
18717 * DISTLIST: Remove grub-probefs, add grub-probe.
18718 * conf/i386-efi.rmk: Likewise.
18719 * conf/i386-pc.rmk: Likewise.
18720 * util/i386/pc/grub-install.in: Likewise.
18721
18722 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
18723 choose which information we want to print.
18724
2b002173 187252006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18726
18727 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
18728 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
18729 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
18730 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
18731 video/readers/tga.c and video/i386/pc/vbeutil.c.
18732
187332006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
18734
18735 Added support for RAID and LVM.
f19dbdb7 18736
2b002173 18737 * disk/lvm.c: New file.
18738 * disk/raid.c: Likewise.
18739 * include/grub/lvm.h: Likewise.
f19dbdb7 18740 * include/grub/raid.h: Likewise.
2b002173 18741 * include/grub/util/lvm.h: Likewise.
18742 * include/grub/util/raid.h: Likewise.
18743 * util/lvm.c: Likewise.
18744 * util/raid.c: Likewise.
18745
18746 * include/grub/disk.h (grub_disk_dev_id): Add
18747 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
18748 (grub_disk_get_size): New prototype.
18749 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
18750 returns a partition.
18751 (grub_disk_get_size): New function.
f19dbdb7 18752
2b002173 18753 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18754 verbatim if grub_install_dos_part is -2.
18755
18756 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18757 and LVM devices.
18758
18759 * util/i386/pc/grub-setup.c (setup): New argument
18760 MUST_EMBED. Force embedding of GRUB when the argument is
18761 true. Close FILE before returning.
18762 (main): Add support for RAID and LVM.
f19dbdb7 18763
2b002173 18764 * conf/common.rmk: Add RAID and LVM modules.
18765 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18766 util/lvm.c.
18767 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18768
18769 * kern/misc.c (grub_strstr): New function.
18770 * include/grub/misc.h (grub_strstr): New prototype.
18771
050548d0 187722006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18773
18774 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18775
da849d2d 187762006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18777
18778 * kern/misc.c (grub_strtoull): Guess the base only if not
18779 specified.
18780
97b2f2ff 187812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 18782
18783 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18784 PowerMac support.
18785
97b2f2ff 187862006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 18787
18788 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18789
18790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18791 Remove `flags' argument. All callers changed.
18792 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18793 (IEEE1275_IHANDLE_INVALID): New variable.
18794 (IEEE1275_CELL_INVALID): New variable.
18795 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18796 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18797 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18798 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18799 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18800 codes from Open Firmware. All callers updated.
18801 (grub_ieee1275_next_property): Directly return Open Firmware return
18802 code.
18803 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18804 Standardize error checking from `grub_ieee1275_get_property'.
18805 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18806 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18807
97b2f2ff 188082006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18809
18810 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18811 `instance_to_package_args' to `instance_to_path_args'.
18812
18813 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18814 `grub_ieee1275_chosen'.
18815
18816 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18817 `grub_ieee1275_interpret'.
18818
97b2f2ff 188192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18820
18821 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18822
97b2f2ff 188232006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18824
18825 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18826 (__cmpdi): Likewise.
18827
18828 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18829 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18830 `grub_ssize_t'.
18831
02bb8acc 18832 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 18833
18834 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18835 to type `grub_ssize_t'.
18836 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18837
7f9a8531 188382006-09-22 Marco Gerards <marco@gnu.org>
18839
18840 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18841 newlines.
18842
b5ef1102 188432006-09-22 Marco Gerards <marco@gnu.org>
18844
18845 * commands/echo.c: New file.
18846
18847 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18848
18849 * conf/common.rmk (echo_mod_SOURCES): New variable.
18850 (echo_mod_CFLAGS): Likewise.
18851 (echo_mod_LDFLAGS): Likewise.
18852
2cff3677 188532006-09-22 Marco Gerards <marco@gnu.org>
18854
18855 * normal/main.c (get_line): Malloc memory instead of using
18856 preallocated memory. Removed the arguments `cmdline' and
18857 `max_len'. Updated all callers.
18858
6ba4688b 188592006-09-22 Marco Gerards <marco@gnu.org>
18860
18861 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18862 (normal_mod_DEPENDENCIES): Likewise.
18863
18864 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18865 (normal_mod_DEPENDENCIES): Likewise.
18866
18867 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18868
e02ac02c 188692006-09-22 Johan Rydberg <jrydberg@gnu.org>
18870
18871 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18872 programs.
18873 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18874 (normal_mod_DEPENDENCIES): Likewise.
18875 * conf/i386-pc.mk: Regenerate.
18876 * conf/i386-efi.mk: Likewise
18877 * conf/common.mk: Likewise.
18878 * conf/powerpc-ieee1275.mk: Likewise.
18879 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18880
8d252e44 188812006-09-22 Robert Millan <rmh@aybabtu.com>
18882
18883 Sync with i386 version.
18884 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18885 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18886
209bf7ac 188872006-09-21 Robert Millan <rmh@aybabtu.com>
18888
18889 Import from GRUB Legacy (lib/device.c):
18890 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18891 (init_device_map) [__linux__]: Add support for I2O devices.
18892
6b146090 188932006-09-14 Marco Gerards <marco@gnu.org>
18894
18895 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18896 `-melf_i386'.
18897
e38600a8 188982006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 18899
18900 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18901 /boot/grub/*.lst.
78fa1790 18902
2952da5d 18903 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 18904
2952da5d 18905 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18906 before adding it to device.map.
18907
01b82a64 189082006-08-15 Johan Rydberg <jrydberg@gnu.org>
18909
fe6b695a 18910 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 18911 compiles a file; using the -MD option.
18912 * conf/common.mk: Regenerate.
18913 * conf/i386-pc.mk: Likewise.
18914 * conf/i386-efi.mk: Likewise.
18915 * conf/powerpc-ieee1275.mk: Likewise.
18916 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18917
1064790d 189182006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18919
18920 Move the prototypes of grub_setjmp and grub_longjmp to
18921 cpu/setjmp.h, so that each architecture may specify different
18922 attributes.
f19dbdb7 18923
1064790d 18924 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
18925 (grub_longjmp): Likewise.
18926 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
18927 (grub_longjmp): Likewise.
18928 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
18929 (grub_longjmp): Likewise.
18930
18931 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
18932 [!GRUB_UTIL] (grub_longjmp): Removed.
18933
29dda3ed 189342006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
18935
18936 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
18937 "color!" method does not return any value.
18938
ad2a06ed 189392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18940
18941 * include/grub/bitmap.h: New file.
18942
18943 * include/grub/i386/pc/vbeutil.h: Likewise.
18944
18945 * video/bitmap.c: Likewise.
18946
18947 * video/readers/tga.c: Likewise.
18948
18949 * video/i386/pc/vbeutil.c: Likewise.
18950
18951 * commands/videotest.c: Code cleanup and updated to reflect to new
18952 video API.
18953
18954 * term/gfxterm.c: Likewise.
18955
18956 * video/video.c: Likewise.
18957
18958 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18959 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18960 (bitmap_mod_SOURCES): New entry.
18961 (bitmap_mod_CFLAGS): Likewise.
18962 (bitmap_mod_LDFLAGS): Likewise.
18963 (tga_mod_SOURCES): Likewise.
18964 (tga_mod_CFLAGS): Likewise.
18965 (tga_mod_LDFLAGS): Likewise.
18966
18967 * include/grub/video.h (grub_video_blit_operators): New enum type.
18968 (grub_video_render_target): Changed as forward declaration and moved
18969 actual definition to be video driver specific.
18970 (grub_video_adapter.blit_bitmap): Added blitting operator.
18971 (grub_video_adapter.blit_render_target): Likewise.
18972 (grub_video_blit_bitmap): Likewise.
18973 (grub_video_blit_render_target): Likewise.
18974
18975 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18976 driver specific render target definition.
18977 (grub_video_vbe_map_rgba): Added driver internal helper.
18978 (grub_video_vbe_unmap_color): Updated to use
18979 grub_video_i386_vbeblit_info.
18980 (grub_video_vbe_get_video_ptr): Likewise.
18981
18982 * include/grub/i386/pc/vbeblit.h
18983 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18984 grub_video_i386_vbeblit_info.
18985 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18986 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18987 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18988 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18989 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18990 (grub_video_i386_vbeblit_index_index): Likewise.
18991 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18992 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18993 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18994 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18995 operator.
18996 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18997 operator.
18998
18999 * video/i386/pc/vbeblit.c: Updated to reflect changes on
19000 include/grub/i386/pc/vbeblit.h.
19001
19002 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
19003 Updated to use grub_video_i386_vbeblit_info.
19004 (grub_video_i386_vbefill_R8G8B8): Likewise.
19005 (grub_video_i386_vbefill_index): Likewise.
19006 (grub_video_i386_vbefill): Added generic filler.
19007
19008 * video/i386/pc/vbefill.c: Updated to reflect changes on
19009 include/grub/i386/pc/vbefill.h.
19010
19011 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
19012 grub_video_i386_vbeblit_info.
19013 (grub_video_vbe_unmap_color): Likewise.
19014 (grub_video_vbe_blit_glyph): Likewise.
19015 (grub_video_vbe_scroll): Likewise.
19016 (grub_video_vbe_draw_pixel): Removed function.
19017 (grub_video_vbe_get_pixel): Likewise.
19018 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19019 updated code to use it.
19020 (common_blitter): Added common blitter for render target and bitmap.
19021 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19022 (grub_video_vbe_blit_render_target): Likewise.
19023
bc8c036d 190242006-07-30 Johan Rydberg <jrydberg@gnu.org>
19025
19026 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19027 is in text mode if there is no console control protocol instance
19028 available.
19029
684a8eff 190302006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19031
19032 * include/grub/video.h: Code cleanup.
19033
19034 * include/grub/i386/pc/vbe.h: Likewise.
19035
19036 * video/i386/pc/vbe.c: Likewise.
19037
19038 * video/i386/pc/vbeblit.c: Likewise.
19039
19040 * video/i386/pc/vbefill.c: Likewise.
19041
19042 * video/video.c: Likewise. Also added more comments.
19043
5915059b 190442006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19045
19046 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19047 (struct grub_biosdisk_dap): Likewise.
19048
19049 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19050 linkage settings for all functions.
19051
90ce5d56 190522006-07-12 Marco Gerards <marco@gnu.org>
19053
19054 * configure.ac (--enable-mm-debug): Fix typo.
19055
19056 * genkernsyms.sh.in: Use proper quoting for `CC'.
19057
43e7f879 190582006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19059
19060 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19061 (normal_mod_ASFLAGS): Remove "-m32".
19062
4889bdec 190632006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19064
19065 * util/misc.c: Include config.h.
19066 [!HAVE_MEMALIGN]: Do not include malloc.h.
19067 (grub_memalign): Use posix_memalign, if present. Then, use
19068 memalign, if present. Otherwise, emit an error.
19069
19070 * util/grub-emu.c: Do not include malloc.h.
19071
19072 * include/grub/util/misc.h: Include unistd.h. This is required for
19073 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19074 D. Eades III <hde@foobar-qux.org>.
19075
19076 * configure.ac (AC_GNU_SOURCE): Added.
19077 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19078 type.
19079
fd39d4da 190802006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19081
19082 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19083 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19084
b786f3b5 190852006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19086
19087 * include/grub/types.h (grub_host_addr_t): Rename to
19088 grub_target_addr_t.
19089 (grub_host_off_t): Rename to grub_target_off_t.
19090 (grub_host_size_t): Rename to grub_target_size_t.
19091 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19092 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19093
19094 * include/grub/kernel.h (struct grub_module_header): Change type
19095 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19096 (grub_module_info): Likewise.
f19dbdb7 19097
051988bb 190982006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19099
19100 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19101 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19102 Velazquez <jesus.velazquez@gmail.com>.
19103
deae281b 191042006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19105
19106 Count partitions from 1 instead of 0 in the string representation
19107 of partitions. Still use 0-based internally.
f19dbdb7 19108
deae281b 19109 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19110 (sun_partition_map_iterate): Use grub_partition_t instead of
19111 struct grub_partition *. Cast DESC->START_CYLINDER to
19112 grub_uint64_t after converting the endian.
19113 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19114 (sun_partition_map_get_name): Add 1 to P->INDEX.
19115
19116 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19117 PCDATA->DOS_PART.
19118 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19119
19120 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19121 zero instead of one.
19122 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19123 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19124
19125 * partmap/apple.c (apple_partition_map_iterate): Change the type
19126 of POS to unsigned.
19127 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19128 (apple_partition_map_get_name): Add 1 into P->INDEX.
19129
19130 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19131 of POS to unsigned.
19132 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19133 calculate the offset of a partition.
19134 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19135 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19136
19137 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19138 SECTOR to grub_disk_addr_t.
19139 (acorn_partition_map_iterate): Likewise.
19140 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19141 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19142 top.
19143 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19144
19145 * kern/i386/pc/init.c (make_install_device): Add 1 into
19146 GRUB_INSTALL_DOS_PART.
19147
19148 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19149 conditional.
19150
524a1e6a 191512006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19152
19153 Clean up the code to support 64-bit addressing in disks and
19154 files. This change is not enough for filesystems yet.
f19dbdb7 19155
524a1e6a 19156 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19157 type of "start" to grub_uint64_t.
19158 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19159 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19160 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19161 convert addresses.
19162
19163 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19164 to grub_disk_addr_t.
19165
19166 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19167 string.
19168
19169 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19170
19171 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19172 to char *.
19173
19174 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19175
19176 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19177
19178 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19179
19180 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19181 to grub_off_t, to detect an error from grub_file_seek.
19182 (grub_multiboot_load_elf32): Likewise.
19183
19184 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19185 maximum unsigned long value when an overflow is detected.
19186 (grub_strtoull): New function.
19187 (grub_divmod64): Likewise.
19188 (grub_lltoa): use grub_divmod64.
19189
19190 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19191 grub_disk_addr_t.
19192 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19193 the pointer to next character. Use grub_strtoull instead of
19194 grub_strtoul.
19195 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19196 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19197 respectively.
19198
fe6b695a 19199 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19200 return value is signed.
19201 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19202 test if OFFSET is less than zero, as OFFSET is unsigned now.
19203
19204 * kern/disk.c (struct grub_disk_cache): Change the type of
19205 "sector" to grub_disk_addr_t.
19206 (grub_disk_cache_get_index): Change the type of SECTOR to
19207 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19208 unsigned after shifting.
19209 (grub_disk_cache_invalidate): Change the type of SECTOR to
19210 grub_disk_addr_t.
19211 (grub_disk_cache_unlock): Likewise.
19212 (grub_disk_cache_store): Likewise.
19213 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19214 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19215 grub_disk_addr_t and grub_uint64_t, respectively.
19216 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19217 body, as the value of OFFSET is tweaked by
19218 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19219 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19220 respectively.
19221 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19222 body, as the value of OFFSET is tweaked by
19223 grub_disk_check_range. Change the types of LEN and N to
19224 grub_size_t.
19225
19226 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19227 and "saved_offset" to grub_off_t.
19228 (test_header): Cast BUF to char *.
19229 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19230 to char *.
19231 (grub_gzio_read): Change the types of OFFSET and SIZE to
19232 grub_off_t and grub_size_t, respectively.
19233
19234 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19235 Removed.
19236 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19237 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19238 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19239 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19240 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19241
19242 * include/grub/types.h (grub_off_t): Unconditionally set to
19243 grub_uint64_t.
19244 (grub_disk_addr_t): Changed to grub_uint64_t.
19245
19246 * include/grub/partition.h (struct grub_partition): Change the
19247 types of "start", "len" and "offset" to grub_disk_addr_t,
19248 grub_uint64_t and grub_disk_addr_t, respectively.
19249 (grub_partition_get_start): Return grub_disk_addr_t.
19250 (grub_partition_get_len): Return grub_uint64_t.
19251
19252 * include/grub/misc.h (grub_strtoull): New prototype.
19253 (grub_divmod64): Likewise.
19254
19255 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19256 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19257 grub_off_t, respectively.
19258 All callers and references changed.
19259
19260 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19261 grub_size_t in "read".
19262 All callers and references changed.
19263
19264 * include/grub/file.h (struct grub_file): Change the types of
19265 "offset" and "size" to grub_off_t and grub_off_t,
19266 respectively. Change the type of SECTOR to grub_disk_addr_t in
19267 "read_hook".
19268 (grub_file_read): Change the type of LEN to grub_size_t.
19269 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19270 grub_off_t.
19271 (grub_file_size): Return grub_off_t.
19272 (grub_file_tell): Likewise.
19273 All callers and references changed.
19274
19275 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19276 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19277 "write".
19278 (struct grub_disk): Change the type of "total_sectors" to
19279 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 19280 "read_hook".
524a1e6a 19281 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19282 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19283 (grub_disk_write): Likewise.
19284 All callers and references changed.
19285
19286 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19287 char * for grub_strncmp to silence gcc.
19288 (grub_iso9660_mount): Likewise.
19289 (grub_iso9660_mount): Likewise.
19290 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19291 return statement.
19292 (grub_iso9660_iterate_dir): Likewise.
19293 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19294
19295 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19296 LEN to grub_disk_addr_t and grub_size_t, respectively.
19297
19298 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19299
19300 * fs/jfs.c (grub_jfs_read_file): Likewise.
19301
19302 * fs/minix.c (grub_jfs_read_file): Likewise.
19303
19304 * fs/sfs.c (grub_jfs_read_file): Likewise.
19305
19306 * fs/ufs.c (grub_jfs_read_file): Likewise.
19307
19308 * fs/xfs.c (grub_jfs_read_file): Likewise.
19309
19310 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19311 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19312 respectively.
19313
19314 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19315 BLKNR to -1 instead of returning GRUB_ERRNO.
19316 (grub_ext2_read_file): Change the types of SECTOR and
19317 LEN to grub_disk_addr_t and grub_size_t, respectively.
19318
19319 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19320 LEN to grub_disk_addr_t and grub_size_t, respectively.
19321
19322 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19323 grub_file_read.
19324
19325 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19326 string. Do not cast SECTOR explicitly.
19327
19328 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19329 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19330 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19331 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19332 over 2TB and LBA mode is not supported, raise an error.
19333 (get_safe_sectors): New function.
19334 (grub_biosdisk_read): Use get_safe_sectors.
19335 (grub_biosdisk_write): Likewise.
19336
19337 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19338 (grub_efidisk_write): Likewise.
19339
19340 * disk/loopback.c (delete_loopback): Cosmetic changes.
19341 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19342 correctly.
19343 (grub_loopback_open): Likewise.
19344 (grub_loopback_read): Likewise. Also, change the type of POS to
19345 grub_off_t, and fix the usage of grub_memset.
19346
19347 * commands/i386/pc/play.c: Include grub/machine/time.h.
19348
19349 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19350 print FILE->SIZE.
19351
19352 * commands/configfile.c: Include grub/env.h.
19353
19354 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19355 GRUB_ERRNO directly instead. Change the type of POS to
19356 grub_off_t. Follow the coding standard.
19357
19358 * commands/blocklist.c: Include grub/partition.h.
19359 (grub_cmd_blocklist): Return an error if the underlying device is
19360 not a disk. Take the starting sector of a partition into account,
19361 if a partition is used.
19362
19363 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19364 a length field.
19365 (lba_mode): Support 64-bit addresses.
19366 (chs_mode): Likewise.
19367 (copy_buffer): Adapted to the new offsets of a length field and a
19368 segment field.
19369 (blocklist_default_start): Allocate 64-bit space.
19370
19371 * boot/i386/pc/boot.S (force_lba): Removed.
19372 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19373 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19374 space.
19375 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19376 is useless.
19377 (lba_mode): Refactored to support a 64-bit address. More size
19378 optimization.
19379 (setup_sectors): Likewise.
19380
53af98ad 193812006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19382
19383 * DISTLIST: Added include/grub/i386/linux.h. Removed
19384 include/grub/i386/pc/linux.h
19385
19386 * configure.ac (AC_INIT): Bumped to 1.94.
19387
19388 * config.guess: Updated from gnulib.
19389 * config.sub: Likewise.
19390 * install-sh: Likewise.
19391 * mkinstalldirs: Likewise.
19392
b4c1940a 193932006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19394
19395 * conf/common.rmk (grub_modules_init.lst): Depended on
19396 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19397 MODSRCFILES.
19398
19399 * genmk.rb (PModule::rule): Reverted the previous change.
19400
cfca1cfd 194012006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19402
19403 * conf/common.rmk (grub_modules_init.lst): Depends on
19404 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19405 that the target does not exist before producing.
19406 (grub_modules_init.h): Remove the target before generating.
19407 (grub_emu_init.c): Likewise.
19408
19409 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19410
aa6d7826 194112006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19412
19413 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19414 for the target-specific tests. Make sure that we also have the
19415 up-to-date target variables for those tests.
19416
26c607b9 194172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19418
19419 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19420 (PModule::rule): Likewise.
19421
0162321a 194222006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19423
19424 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19425 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19426 target-specific flags should be prefixed.
19427 (PModule::rule): Likewise.
19428
6c826348 194292006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19430
19431 * configure.ac (CMP): Check if cmp is available explicitly.
19432
b977bf01 194332006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19434
19435 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19436 (target_cpu): New variable.
19437 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 19438
b977bf01 19439 * util/i386/pc/grub-install.in (host_cpu): Removed.
19440 (target_cpu): New variable.
19441 (pkglibdir): Use target_cpu instead of host_cpu.
19442
19443 * util/genmoddep.c: Removed.
f19dbdb7 19444
b977bf01 19445 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19446 instead of GRUB_HOST_SIZEOF_VOID_P.
19447 * kern/dl.c: Likewise.
19448
19449 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19450 ...
19451 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19452 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19453 (GRUB_TARGET_SIZEOF_LONG): ... this.
19454 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19455 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19456 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19457 to ...
19458 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19459 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19460 (GRUB_TARGET_SIZEOF_LONG): ... this.
19461 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19462 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19463 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19464 to ...
19465 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19466 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19467 (GRUB_TARGET_SIZEOF_LONG): ... this.
19468 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19469 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19470
19471 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
19472 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
19473 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
19474 instead of GRUB_HOST_SIZEOF_LONG.
19475 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
19476 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
19477 GRUB_CPU_WORDS_BIGENDIAN.
19478 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19479 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19480 grub_host_ssize_t.
19481
19482 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
19483 (genmoddep_SOURCES): Likewise.
19484 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
19485 (genmoddep_SOURCES): Likewise.
19486 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
19487 (genmoddep_SOURCES): Likewise.
19488 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
19489 Likewise.
19490 (genmoddep_SOURCES): Likewise.
19491
19492 * genmoddep.awk: New file.
19493
19494 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
19495 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
19496 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
19497 (PModule::rule): Likewise.
19498 (Program::rule): Likewise.
19499 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
19500 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
19501 respectively.
19502
19503 * configure.ac: Rewritten intensively to use host and target
19504 instead of build and host, respectively.
19505
19506 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
19507 (host_cpu): Removed.
19508 (target_cpu): New variable.
19509 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
19510 (BUILD_CC): Removed.
19511 (BUILD_CFLAGS): Likewise.
19512 (BUILD_CPPFLAGS): Likewise.
19513 (TARGET_CC): New variable.
19514 (TARGET_CFLAGS): Likewise.
19515 (TARGET_CPPFLAGS): Likewise.
19516 (TARGET_LDFLAGS): Likewise.
19517 (AWK): Likewise.
19518 (include): Use target_cpu instead of host_cpu.
19519 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 19520
b977bf01 19521 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
19522
f09771a1 195232006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
19524
19525 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
19526 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
19527 field 'false' to 'exec_on_false'.
19528 (grub_script_create_cmdif): Renamed argument names to reflect above
19529 changes.
19530
19531 * normal/execute.c (grub_script_execute_cmdif): Likewise.
19532
19533 * normal/script.c (grub_script_create_cmdif): Likewise.
19534
118f4fb3 195352006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
19536
19537 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
19538 top.
19539 (grub_hfsplus_btree_recptr): Likewise.
19540 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
19541 FILEBLOCK both to pass a block number and store next block
19542 number.
19543 (grub_hfsplus_read_block): Rewritten heavily to support an extent
19544 overflow file correctly. Specify errors appropriately, because
19545 fshelp expects that GRUB_ERRNO is set when fails. Reuse
19546 grub_hfsplus_btree_recptr to get the pointer to a found key.
19547 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
19548 is found.
19549
19550 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
19551 linux.mod.
19552 (_linux_mod_SOURCES): New variable.
19553 (_linux_mod_CFLAGS): Likewise.
19554 (_linux_mod_LDFLAGS): Likewise.
19555 (linux_mod_SOURCES): Likewise.
19556 (linux_mod_CFLAGS): Likewise.
19557 (linux_mod_LDFLAGS): Likewise.
19558
19559 * DISTLIST: Added loader/i386/efi/linux.c,
19560 loader/i386/efi/linux_normal.c and
19561 include/grub/i386/efi/loader.h.
19562
19563 * loader/i386/efi/linux.c: New file.
19564 * loader/i386/efi/linux_normal.c: Likewise.
19565 * include/grub/i386/efi/loader.h: Likewise.
19566
89a7d726 195672006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
19568
19569 * commands/blocklist.c: New file.
19570
19571 * DISTLIST: Added commands/blocklist.c.
19572
19573 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 19574 color for the background, and a darker color for the foreground.
89a7d726 19575 (grub_console_checkkey): Return READ_KEY.
19576 (grub_console_cls): Set the background to
19577 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
19578
19579 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
19580
19581 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
19582 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
19583
19584 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
19585 prototype.
19586
19587 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
19588 BG. The spec is wrong again.
19589
19590 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
19591 prototype.
19592 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
19593
19594 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19595 commands/blocklist.c.
19596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 19597
89a7d726 19598 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
19599 (blocklist_mod_SOURCES): New variable.
19600 (blocklist_mod_CFLAGS): Likewise.
19601 (blocklist_mod_LDFLAGS): Likewise.
19602
75c8f258 196032006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
19604
19605 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
19606 duplication.
19607 (lba_mode): Use %eax more intensively to reduce the code size.
19608
da2eb181 196092006-05-20 Marco Gerards <marco@gnu.org>
19610
19611 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
19612
19613 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
19614 for `menuentry'.
19615 (script): Accept leading newlines.
19616 (newlines): New rule to describe 0 or more newlines.
19617 (commands): Accept `command' with trailing newline. Fixed the
19618 order in which arguments were passed to `grub_script_add_cmd'.
19619 Accept commands separated by newlines.
19620 (function): Changed to accept newlines.
19621 (menuentry) Rewritten.
19622
19623 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
19624 front of the list, instead of to the end.
19625
577b4050 196262006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
19627
19628 * util/i386/pc/grub-install.in (bindir): New variable.
19629 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
19630 Shaver <lbgwjl@gmail.com>.
19631
0d6e1189 196322006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
19633
19634 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
19635 grub/machine/linux.h
19636 * loader/i386/pc/linux.c: Likewise.
19637
19638 * include/grub/i386/pc/linux.h: Moved to ...
19639 * include/grub/i386/linux.h: ... here.
19640
19641 * include/grub/i386/linux.h (struct linux_kernel_params): New
19642 struct.
f19dbdb7 19643
31b86e9f 196442006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
19645
19646 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
19647 checking.
19648 (grub_video_vbe_blit_glyph): Likewise.
19649 (grub_video_vbe_blit_bitmap): Likewise.
19650 (grub_video_vbe_blit_render_target): Likewise.
19651
83b984de 196522006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
19653
19654 * configure.ac (--with-platform): Properly quote the square
19655 brackets.
19656
5f0413bd 196572006-05-08 Marco Gerards <marco@gnu.org>
19658
19659 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
19660 this...
19661 (kernel_elf_HEADERS): ...to this. Updated all users.
19662 (grubof_symlist.c): Renamed from this...
19663 (kernel_elf_symlist.c): ...to this. Updated all users.
19664 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19665 (grubof_SOURCES): Renamed from this...
19666 (kernel_elf_SOURCES): ...to this.
19667 (grubof_HEADERS): Renamed from this...
19668 (kernel_elf_HEADERS): ...to this.
19669 (grubof_CFLAGS): Renamed from this...
19670 (kernel_elf_CFLAGS): ...to this.
19671 (grubof_ASFLAGS): Renamed from this...
19672 (kernel_elf_ASFLAGS): ...to this.
19673 (grubof_LDFLAGS): Renamed from this...
19674 (kernel_elf_LDFLAGS): ...to this.
19675
19676 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
19677 this...
19678 (kernel_elf_HEADERS): ...to this. Updated all users.
19679 (grubof_symlist.c): Renamed from this...
19680 (kernel_elf_symlist.c): ...to this. Updated all users.
19681 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19682 (grubof_SOURCES): Renamed from this...
19683 (kernel_elf_SOURCES): ...to this.
19684 (grubof_HEADERS): Renamed from this...
19685 (kernel_elf_HEADERS): ...to this.
19686 (grubof_CFLAGS): Renamed from this...
19687 (kernel_elf_CFLAGS): ...to this.
19688 (grubof_ASFLAGS): Renamed from this...
19689 (kernel_elf_ASFLAGS): ...to this.
19690 (grubof_LDFLAGS): Renamed from this...
19691 (kernel_elf_LDFLAGS): ...to this.
19692
19693 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
19694 `kernel.elf' instead of `grubof'.
19695
05568c2e 196962006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
19697
19698 Add --with-platform to configure. Use pkglibdir instead of
19699 pkgdatadir. This is reported by Roger Leigh.
19700
19701 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
19702 (host_vendor): Likewise.
19703 (host_os): Likewise.
19704 (pkgdatadir): Likewise.
19705 (platform): New variable.
19706 (pkglibdir): Likewise.
19707 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 19708
05568c2e 19709 * util/i386/pc/grub-install.in (datadir): Removed.
19710 (host_vendor): Likewise.
19711 (host_os): Likewise.
19712 (pkgdatadir): Likewise.
19713 (platform): New variable.
19714 (pkglibdir): Likewise.
19715 Use PKGLIBDIR instead of PKGDATADIR.
19716
19717 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
19718 instead of GRUB_DATADIR.
19719 (main): Likewise.
19720 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19721 (main): Likewise.
19722 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19723 (main): Likewise.
19724
19725 * configure.ac (--with-platform): New option.
19726 Use PLATFORM instead of HOST_VENDOR to specify a platform.
19727
19728 * Makefile.in: Include a makefile based on PLATFORM instead of
19729 HOST_VENDOR.
19730 (pkgdatadir): Not appended by the machine type.
19731 (pkglibdir): Appended by the machine type.
19732 (host_vendor): Removed.
19733 (platform): New variable.
19734 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
19735 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
19736 (uninstall): Likewise.
19737
4e93851c 197382006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
19739
19740 Use the environment context in the menu. Remove the commands
19741 "default" and "timeout", and use variables instead.
f19dbdb7 19742
4e93851c 19743 * normal/menu.c: Include grub/env.h.
19744 (print_entry): Cast TITLE to silence gcc.
19745 (get_timeout): New function.
19746 (set_timeout): Likewise.
19747 (get_entry_number): Likewise.
19748 (run_menu): Use a default entry, a fallback entry and a timeout
19749 in the environment variables "default", "fallback" and
19750 "timeout". Also, tweak the default entry if it is not within the
19751 current menu entries.
19752 (grub_menu_run): Use a fallback entry in the environment variable
19753 "fallback".
19754
19755 * normal/main.c (read_config_file): Do not initialize
19756 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19757 NEWMENU->TIMEOUT.
19758 (grub_normal_execute): Use a data slot to store the menu.
19759
19760 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19761 fallback_entry and timeout.
19762 (struct grub_menu_list): Removed.
19763 (grub_menu_list_t): Likewise.
19764 (struct grub_context): Likewise.
19765 (grub_context_t): Likewise.
19766 (grub_context_get): Likewise.
19767 (grub_context_get_current_menu): Likewise.
19768 (grub_context_push_menu): Likewise.
19769 (grub_context_pop_menu): Likewise.
19770 (grub_default_init): Likewise.
19771 (grub_default_fini): Likewise.
19772 (grub_timeout_init): Likewise.
19773 (grub_timeout_fini): Likewise.
19774
19775 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19776 and timeout.mod.
19777 (normal_mod_SOURCES): Removed normal/context.c.
19778
19779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19780 commands/default.c, commands/timeout.c and normal/context.c.
19781 (normal_mod_SOURCES): Removed normal/context.c.
19782
19783 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19784 commands/timeout.c and normal/context.c.
19785 (normal_mod_SOURCES): Removed normal/context.c.
19786
19787 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19788 commands/default.c, commands/timeout.c and normal/context.c.
19789 (normal_mod_SOURCES): Removed normal/context.c.
19790
19791 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19792 timeout.mod.
19793 (default_mod_SOURCES): Removed.
19794 (default_mod_CFLAGS): Likewise.
19795 (default_mod_LDFLAGS): Likewise.
19796 (timeout_mod_SOURCES): Removed.
19797 (timeout_mod_CFLAGS): Likewise.
19798 (timeout_mod_LDFLAGS): Likewise.
19799
19800 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19801 normal/context.c.
19802
19803 * commands/default.c: Removed.
19804 * commands/timeout.c: Likewise.
19805 * normal/context.c: Likewise.
19806
1eb9cc1d 198072006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19808
19809 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19810
385bd9c1 198112006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19812
19813 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19814 "next" to "prev" for readability.
19815 (struct grub_env_sorted_var): New struct.
19816 (grub_env_context): Renamed to ...
19817 (initial_context): ... this.
19818 (grub_env_var_context): Renamed to ...
19819 (current_context): ... this.
19820 (grub_env_find): Look only at CURRENT_CONTEXT.
19821 (grub_env_context_open): Rewritten to copy exported variables from
19822 previous context.
19823 (grub_env_context_close): Rewritten according to the new
19824 scheme. Also, add an assertion to prevent the initial context from
19825 removed.
19826 (grub_env_insert): Removed the code for the sorted list.
19827 (grub_env_remove): Likewise.
19828 (grub_env_export): Simply mark the variable with
19829 GRUB_ENV_VAR_GLOBAL.
19830 (grub_env_set): A cosmetic change for naming consistency.
19831 (grub_env_get): Likewise.
19832 (grub_env_unset): Likewise.
19833 (grub_env_iterate): Rewritten to sort variables within this
19834 function.
19835 (grub_register_variable_hook): Fixed for naming consistency. Call
19836 grub_env_find again, only if NAME is not found at the first time.
19837 (mangle_data_slot_name): New function.
19838 (grub_env_set_data_slot): Likewise.
19839 (grub_env_get_data_slot): Likewise.
19840 (grub_env_unset_data_slot): Likewise.
19841
19842 * include/grub/env.h (grub_env_var_type): New enum.
19843 (GRUB_ENV_VAR_LOCAL): New constant.
19844 (GRUB_ENV_VAR_GLOBAL): Likewise.
19845 (GRUB_ENV_VAR_DATA): Likewise.
19846 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19847 "type".
19848 (grub_env_set): Replace VAR with NAME for consistency.
19849 (grub_register_variable_hook): Likewise.
19850 (grub_env_export): Specify the name of the argument.
19851 (grub_env_set_data_slot): New prototype.
19852 (grub_env_get_data_slot): Likewise.
19853 (grub_env_unset_data_slot): Likewise.
19854
7f362539 198552006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19856
19857 Extend the loader so that GRUB can accept a loader which comes
19858 back to GRUB when a loaded image exits. Also, this change adds
19859 support for a chainloader on EFI.
f19dbdb7 19860
7f362539 19861 * term/efi/console.c: Include grub/misc.h.
19862 (grub_console_checkkey): Display a scan code on the top for
19863 debugging. This will be removed once the EFI port gets stable.
19864 Correct the scan code mapping.
19865
19866 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19867 allocate memory from larger regions, in order to reduce the number
19868 of allocated regions. Otherwise, the MacOSX loader panics.
19869 (filter_memory_map): Avoid less than 1MB for compatibility with
19870 other loaders.
19871 (add_memory_regions): Allocate from the tail of a region, if
19872 possible, to avoid allocating a region near to 1MB, for the MacOSX
19873 loader.
19874
19875 * kern/efi/init.c (grub_efi_set_prefix): Specify
19876 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19877
19878 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19879 argument IMAGE_HANDLE and specify it to get a loaded image.
19880 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19881 grub_efi_get_loaded_image.
fe6b695a 19882 (grub_efi_get_filename): Divide the length by the size of
7f362539 19883 grub_efi_char16_t.
19884 (grub_efi_get_device_path): New function.
19885 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19886 the length by the size of grub_efi_char16_t for a file path device
19887 path node.
19888
19889 * kern/loader.c (grub_loader_noreturn): New variable.
19890 (grub_loader_set): Accept a new argument NORETURN. Set
19891 GRUB_LOADER_NORETURN to NORETURN.
19892 All callers changed.
19893 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19894 grub_machine_fini.
19895
19896 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19897 prototype.
19898 (grub_efi_get_loaded_image): Take an argument to specify an image
19899 handle.
19900
19901 * include/grub/loader.h (grub_loader_set): Added one more argument
19902 NORETURN.
19903
19904 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19905 instead of grub_efi_open_protocol.
19906 (grub_efidisk_get_device_name): Likewise.
19907 (grub_efidisk_close): Print a newline.
19908 (grub_efidisk_get_device_handle): Fixed to use
19909 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19910 GRUB_EFI_DEVICE_PATH_TYPE.
19911
19912 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19913 * kern/efi/efi.c (device_path_guid): ... here.
19914
19915 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19916 chain.mod.
19917 (kernel_mod_HEADERS): Added efi/disk.h.
19918 (_chain_mod_SOURCES): New variable.
19919 (_chain_mod_CFLAGS): Likewise.
19920 (_chain_mod_LDFLAGS): Likewise.
19921 (chain_mod_SOURCES): Likewise.
19922 (chain_mod_CFLAGS): Likewise.
19923 (chain_mod_LDFLAGS): Likewise.
19924
19925 * DISTLIST: Added include/grub/efi/chainloader.h,
19926 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
19927
19928 * include/grub/efi/chainloader.h: New file.
19929 * loader/efi/chainloader.c: Likewise.
19930 * loader/efi/chainloader_normal.c: Likewise.
19931
c0111d6e 199322006-04-30 Marco Gerards <marco@gnu.org>
19933
19934 * commands/configfile.c (grub_cmd_source): New function.
19935 (GRUB_MOD_INIT): Register the commands `source' and `.'.
19936 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
19937
df5341da 199382006-04-30 Marco Gerards <marco@gnu.org>
19939
19940 * normal/execute.c (grub_script_execute_cmd): Change the return
19941 type to `grub_err_t'. Correctly return the error.
19942 (grub_script_execute_cmdline): In case a command line is not a
19943 command or a function, try to interpret it as an assignment.
19944
f85934bd 199452006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19946
19947 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19948 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19949 skip a node whose name is obviously invalid as UTF-16,
19950 i.e. contains a NUL character. Stop the iteration when the last
19951 directory entry is found. Instead of using the return value of
19952 grub_hfsplus_btree_iterate_node, store the value in RET and use
19953 it, because the iterator can be stopped by the last directory
19954 entry.
19955
8f8a2cf8 199562006-04-30 Marco Gerards <marco@gnu.org>
19957
19958 * include/grub/env.h (grub_env_export): New prototype. Reported
19959 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19960
a27e84ce 199612006-04-30 Marco Gerards <marco@gnu.org>
19962
19963 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19964 size of the extents in a catalog file record.
19965
eaef0553 199662006-04-29 Marco Gerards <marco@gnu.org>
19967
19968 * commands/configfile.c (grub_cmd_configfile): Execute the
19969 configfile within its own context.
19970
19971 * include/grub/env.h (grub_env_context_open): New prototype.
19972 (grub_env_context_close): Likewise.
19973
19974 * kern/env.c (grub_env): Removed.
19975 (grub_env_sorted): Likewise.
19976 (grub_env_context): New variable.
19977 (grub_env_var_context): Likewise.
19978 (grub_env_find): Search both the active context and the global
19979 context.
19980 (grub_env_context_open): New function.
19981 (grub_env_context_close): Likewise.
19982 (grub_env_insert): Likewise.
19983 (grub_env_remove): Likewise.
19984 (grub_env_export): Likewise.
19985 (grub_env_set): Changed to use helper functions to avoid code
19986 duplication.
19987 (grub_env_iterate): Rewritten so both the current context and the
19988 global context are being used.
19989
19990 * normal/command.c (export_command): New function.
19991 (grub_command_init): Register the `export' function.
19992
7b455f4d 199932006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19994
19995 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19996 explicitly to suppress gcc's warnings.
19997 * fs/fat.c (grub_fat_find_dir): Likewise.
19998 (grub_fat_label): Likewise.
19999 * fs/xfs.c (grub_xfs_read_inode): Likewise.
20000 (grub_xfs_mount): Likewise.
20001 (grub_xfs_label): Likewise.
20002 * fs/affs.c (grub_affs_mount): Likewise.
20003 (grub_affs_label): Likewise.
20004 (grub_affs_iterate_dir): Likewise.
20005 * fs/sfs.c (grub_sfs_mount): Likewise.
20006 (grub_sfs_iterate_dir): Likewise.
20007 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
20008 * fs/hfs.c (grub_hfs_mount): Likewise.
20009 (grub_hfs_cmp_catkeys): Likewise.
20010 (grub_hfs_find_dir): Likewise.
20011 (grub_hfs_dir): Likewise.
20012 (grub_hfs_label): Likewise.
20013 * fs/jfs.c (grub_jfs_mount): Likewise.
20014 (grub_jfs_opendir): Likewise.
20015 (grub_jfs_getent): Likewise.
20016 (grub_jfs_lookup_symlink): Likewise.
20017 (grub_jfs_label): Likewise.
20018 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20019 (grub_hfsplus_iterate_dir): Likewise.
20020 (grub_hfsplus_btree_iterate_node): Made static.
20021
20022 * util/grub-emu.c (prefix): New variable.
20023 (grub_machine_set_prefix): New function.
20024 (main): Do not set the environment variable "prefix" here. Only
20025 set PREFIX, which is used later by grub_machine_set_prefix.
20026
20027 * include/grub/video.h: Do not include grub/symbol.h.
20028 (grub_video_register): Not exported. This symbol is not defined in
20029 the kernel.
20030 (grub_video_unregister): Likewise.
20031 (grub_video_iterate): Likewise.
20032 (grub_video_setup): Likewise.
20033 (grub_video_restore): Likewise.
20034 (grub_video_get_info): Likewise.
20035 (grub_video_get_blit_format): Likewise.
20036 (grub_video_set_palette): Likewise.
20037 (grub_video_get_palette): Likewise.
20038 (grub_video_set_viewport): Likewise.
20039 (grub_video_get_viewport): Likewise.
20040 (grub_video_map_color): Likewise.
20041 (grub_video_map_rgb): Likewise.
20042 (grub_video_map_rgba): Likewise.
20043 (grub_video_fill_rect): Likewise.
20044 (grub_video_blit_glyph): Likewise.
20045 (grub_video_blit_bitmap): Likewise.
20046 (grub_video_blit_render_target): Likewise.
20047 (grub_video_scroll): Likewise.
20048 (grub_video_swap_buffers): Likewise.
20049 (grub_video_create_render_target): Likewise.
20050 (grub_video_delete_render_target): Likewise.
20051 (grub_video_set_active_render_target): Likewise.
20052
20053 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20054 Undefined.
20055 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20056
20057 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20058 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20059 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20060 instead of $(srcdir)/genkernsyms.sh.
20061
20062 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20063 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20064 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20065 instead of $(srcdir)/genkernsyms.sh.
20066
20067 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20068 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20069 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20070 instead of $(srcdir)/genkernsyms.sh.
20071
20072 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20073 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20074 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20075 instead of $(srcdir)/genkernsyms.sh.
20076
20077 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20078 genkernsyms.sh.
20079
20080 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20081 genkernsyms.sh.
20082 (gensymlist.sh): New target.
20083 (genkernsyms.sh): Likewise.
20084
20085 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20086 genkernsyms.sh.in and gensymlist.sh.in.
20087
20088 * genkernsyms.sh: Removed.
20089 * gensymlist.sh: Likewise.
f19dbdb7 20090
7b455f4d 20091 * genkernsyms.sh.in: New file.
20092 * gensymlist.sh.in: Likewise.
20093
1885bb27 200942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20095
20096 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20097 clobber "prefix", since we may have already set it manually.
20098
71538dff 200992006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20100
20101 * kern/misc.c (abort): New alias for grub_abort.
20102
2965c7cc 201032006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20104
20105 A new machine-specific function "grub_machine_set_prefix" is
20106 defined. This is called after loading modules, so that a prefix
20107 initialization can use modules. Also, this change adds an
20108 intensive debugging feature for the memory manager via the
20109 configure option "--enable-mm-debug".
f19dbdb7 20110
2965c7cc 20111 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20112 PART.LEN.
20113
20114 * kern/sparc64/ieee1275/init.c (abort): Removed.
20115 (grub_stop): Likewise.
20116 (grub_exit): New function.
20117 (grub_set_prefix): Renamed to ...
20118 (grub_machine_set_prefix): ... this.
20119 (grub_machine_init): Do not call grub_set_prefix.
20120
20121 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20122 (grub_machine_set_prefix): ... this.
20123 (grub_machine_init): Do not call grub_set_prefix.
20124
20125 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20126 (grub_machine_init): Do not set the prefix here.
20127
20128 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20129
20130 * kern/efi/init.c: Include grub/mm.h.
20131 (grub_efi_set_prefix): New function.
20132
20133 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20134 (grub_efi_get_filename): New function.
20135 (grub_print_device_path): Renamed to ...
20136 (grub_efi_print_device_path): ... this.
20137
20138 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20139 [MM_DEBUG] (grub_realloc): Likewise.
20140 [MM_DEBUG] (grub_free): Likewise.
20141 [MM_DEBUG] (grub_memalign): Likewise.
20142 [MM_DEBUG] (grub_mm_debug): New variable.
20143 [MM_DEBUG] (grub_debug_malloc): New function.
20144 [MM_DEBUG] (grub_debug_free): New function.
20145 [MM_DEBUG] (grub_debug_realloc): New function.
20146 [MM_DEBUG] (grub_debug_memalign): New function.
20147
20148 * kern/misc.c (grub_abort): Print a newline to distinguish
20149 the message.
20150
20151 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20152 grub_set_root_dev after loading modules. This is necessary when
20153 setting a prefix depends on modules.
20154
20155 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20156 (grub_efi_print_device_path): ... this.
20157 (grub_efi_get_filename): New prototype.
20158 (grub_efi_set_prefix): Likewise.
20159
20160 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20161 and grub/disk.h.
20162 (grub_efidisk_get_device_handle): New prototype.
20163 (grub_efidisk_get_device_name): Likewise.
20164
20165 * include/grub/mm.h: Include config.h.
20166 (MM_DEBUG): Removed.
20167 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20168 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20169 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20170 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20171 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20172 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20173 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20174 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20175 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20176
20177 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20178
20179 * disk/efi/efidisk.c: Include grub/partition.h.
20180 (iterate_child_devices): New function.
20181 (add_device): First, compare only last device path nodes, so that
20182 devices are sorted by the types.
20183 (grub_efidisk_get_device_handle): New function.
20184 (grub_efidisk_get_device_name): Likewise.
20185
20186 * configure.ac (--enable-mm-debug): New option to enable the
20187 memory manager debugging feature. This makes the binary much
20188 bigger, so is disabled by default.
20189
9cacaa17 201902006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20191
20192 Use grub_abort instead of grub_stop, and grub_exit must be
20193 define in each architecture now. Also, this change adds support
20194 for EFI disks.
f19dbdb7 20195
9cacaa17 20196 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20197 (grub_getkey): New function.
20198 (grub_term_get_current): Likewise.
20199
20200 * util/i386/pc/grub-setup.c: Include grub/term.h.
20201 (grub_getkey): New function.
20202 (grub_term_get_current): Likewise.
20203
20204 * util/misc.c (grub_stop): Renamed to ...
20205 (grub_exit): ... this.
20206
20207 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20208 (grub_exit): ... this.
20209 (grub_machine_init): Use grub_abort instead of abort.
20210 (grub_stop): Removed.
20211
20212 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20213 abort.
20214
20215 * kern/i386/pc/startup.S (grub_exit): New function.
20216 (cold_reboot): New label.
20217
20218 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20219 (grub_efi_init): Call grub_efidisk_init.
20220 (grub_efi_fini): Call grub_efidisk_fini.
20221
20222 * kern/efi/efi.c: Include grub/mm.h.
20223 (grub_efi_console_control_guid): Renamed to ...
20224 (console_control_guid): ... this.
20225 (grub_efi_loaded_image_guid): Renamed to ...
20226 (loaded_image_guid): ... this.
20227 (grub_efi_locate_handle): New function.
20228 (grub_efi_open_protocol): Likewise.
20229 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20230 GRUB_EFI_CONSOLE_CONTROL_GUID.
20231 (grub_efi_exit): Removed.
20232 (grub_stop): Likewise.
20233 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20234 (grub_exit): New function.
20235 (grub_print_device_path): Likewise.
20236
20237 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20238 (grub_enter_rescue_mode): Register "exit".
20239
20240 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20241 (grub_abort): New function.
20242
20243 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20244
20245 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20246
20247 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20248
20249 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20250 (grub_print_device_path): New prototype.
20251 (grub_efi_locate_handle): Likewise.
20252 (grub_efi_open_protocol): Likewise.
20253
20254 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20255 * disk/efi/efidisk.c: Likewise.
20256
20257 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20258
20259 * include/grub/efi/console_control.h
20260 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20261
20262 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20263 last 8 bytes as an array.
20264 (GRUB_EFI_DISK_IO_GUID): New macro.
20265 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20266 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20267 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20268 grub_uint8_t.
20269 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20270 (struct grub_efi_device_path): Rename the member "sub_type" to
20271 "subtype".
20272 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20273 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20274 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20275 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20276 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20277 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20278 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20279 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20280 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20281 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20282 (struct grub_efi_pci_device_path): New structure.
20283 (grub_efi_pci_device_path_t): New type.
20284 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20285 (struct grub_efi_pccard_device_path): New structure.
20286 (grub_efi_pccard_device_path_t): New type.
20287 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20288 (struct grub_efi_memory_mapped_device_path): New structure.
20289 (grub_efi_memory_mapped_device_path_t): New type.
20290 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20291 (struct grub_efi_vendor_device_path): New structure.
20292 (grub_efi_vendor_device_path_t): New type.
20293 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20294 (struct grub_efi_controller_device_path): New structure.
20295 (grub_efi_controller_device_path_t): New type.
20296 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20297 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20298 (struct grub_efi_acpi_device_path): New structure.
20299 (grub_efi_acpi_device_path_t): New type.
20300 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20301 (struct grub_efi_expanded_acpi_device_path): New structure.
20302 (grub_efi_expanded_acpi_device_path_t): New type.
20303 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20304 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20305 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20306 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20307 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20308 (struct grub_efi_atapi_device_path): New structure.
20309 (grub_efi_atapi_device_path_t): New type.
20310 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20311 (struct grub_efi_fibre_channel_device_path): New structure.
20312 (grub_efi_fibre_channel_device_path_t): New type.
20313 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20314 (struct grub_efi_1394_device_path): New structure.
20315 (grub_efi_1394_device_path_t): New type.
20316 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20317 (struct grub_efi_usb_device_path): New structure.
20318 (grub_efi_usb_device_path_t): New type.
20319 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20320 (struct grub_efi_usb_class_device_path): New structure.
20321 (grub_efi_usb_class_device_path_t): New type.
20322 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20323 (struct grub_efi_i2o_device_path): New structure.
20324 (grub_efi_i2o_device_path_t): New type.
20325 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20326 (struct grub_efi_mac_address_device_path): New structure.
20327 (grub_efi_mac_address_device_path_t): New type.
20328 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20329 (struct grub_efi_ipv4_device_path): New structure.
20330 (grub_efi_ipv4_device_path_t): New type.
20331 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20332 (struct grub_efi_ipv6_device_path): New structure.
20333 (grub_efi_ipv6_device_path_t): New type.
20334 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20335 (struct grub_efi_infiniband_device_path): New structure.
20336 (grub_efi_infiniband_device_path_t): New type.
20337 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20338 (struct grub_efi_uart_device_path): New structure.
20339 (grub_efi_uart_device_path_t): New type.
20340 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20341 (struct grub_efi_vendor_messaging_device_path): New structure.
20342 (grub_efi_vendor_messaging_device_path_t): New type.
20343 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20344 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20345 (struct grub_efi_hard_drive_device_path): New structure.
20346 (grub_efi_hard_drive_device_path_t): New type.
20347 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20348 (struct grub_efi_cdrom_device_path): New structure.
20349 (grub_efi_cdrom_device_path_t): New type.
20350 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20351 (struct grub_efi_vendor_media_device_path): New structure.
20352 (grub_efi_vendor_media_device_path_t): New type.
20353 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20354 (struct grub_efi_file_path_device_path): New structure.
20355 (grub_efi_file_path_device_path_t): New type.
20356 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20357 (struct grub_efi_protocol_device_path): New structure.
20358 (grub_efi_protocol_device_path_t): New type.
20359 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20360 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20361 (struct grub_efi_bios_device_path): New structure.
20362 (grub_efi_bios_device_path_t): New type.
20363 (struct grub_efi_disk_io): New structure.
20364 (grub_efi_disk_io_t): New type.
20365 (struct grub_efi_block_io_media): New structure.
20366 (grub_efi_block_io_media_t): New type.
20367 (struct grub_efi_block_io): New structure.
20368 (grub_efi_block_io_t): New type.
20369
20370 * include/grub/misc.h (grub_stop): Removed.
20371 (grub_exit): New prototype.
20372 (grub_abort): Likewise.
20373
20374 * include/grub/disk.h (enum grub_disk_dev_id): Added
20375 GRUB_DISK_DEVICE_EFIDISK_ID.
20376
20377 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20378 disk/efi/efidisk.c.
20379 (kernel_syms.lst): Remove the target if an error occurs.
20380
49986a9f 203812006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20382
20383 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20384 as it was simply too buggy.
20385
970d3b8a 203862006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20387
20388 * kern/misc.c (grub_lltoa): New function.
20389 (grub_vsprintf): Added support for the long long suffix,
20390 i.e. "ll".
20391
ff04ec24 203922006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20393
20394 * Makefile.in (LDFLAGS): Add variable.
20395 (LD): Remove variable.
20396 * configure.ac: Add -m32 to LDFLAGS.
20397 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20398 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20399 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20400 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20401 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20402 variables.
20403 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20404 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20405 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20406
37e5e1a4 204072006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20408
20409 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20410 length for unknown glyph.
20411
c352d8dd 204122006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20413
2eab1c0d 20414 Add support for pre-loaded modules into the EFI port.
f19dbdb7 20415
2eab1c0d 20416 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20417 completely. Accept one more argument DIR. The caller has changed.
20418
20419 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20420
20421 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20422 (grub_efi_loaded_image_guid): New variable.
20423 (grub_efi_get_loaded_image): New function.
20424 (grub_arch_modules_addr): Likewise.
20425
20426 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20427 prototype.
20428
20429 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20430 (struct grub_efi_loaded_image): New structure.
20431 (grub_efi_loaded_image_t): New type.
20432
204332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20434
c352d8dd 20435 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20436 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20437 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20438
6d01d6b4 204392006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20440
20441 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20442
976a4ea0 204432006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20444
20445 * DISTLIST: Added include/grub/efi/console.h,
20446 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20447 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20448
20449 * include/grub/efi/console.h: New file.
20450 * include/grub/efi/time.h: Likewise.
20451 * include/grub/i386/efi/kernel.h: Likewise.
20452 * kern/efi/init.c: Likewise.
20453 * kern/efi/mm.c: Likewise.
20454 * term/efi/console.c: Likewise.
f19dbdb7 20455
976a4ea0 20456 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20457 (grub_stop): Removed.
20458 (grub_get_rtc): Likewise.
20459 (grub_machine_init): Simply call grub_efi_init.
20460 (grub_machine_fini): Call grub_efi_fini.
20461
20462 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
20463 (grub_efi_output_string): Removed.
20464 (grub_efi_stall): New function.
20465 (grub_stop): Likewise.
20466 (grub_get_rtc): Likewise.
20467
20468 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
20469 (grub_efi_stall): New prototype.
20470 (grub_efi_allocate_pages): Likewise.
20471 (grub_efi_free_pages): Likewise.
20472 (grub_efi_get_memory_map): Likewise.
20473 (grub_efi_mm_init): Likewise.
20474 (grub_efi_mm_fini): Likewise.
20475 (grub_efi_init): Likewise.
20476 (grub_efi_fini): Likewise.
20477
20478 * include/grub/i386/efi/time.h: Do not include
20479 grub/symbol.h. Include grub/efi/time.h.
20480 (GRUB_TICKS_PER_SECOND): Removed.
20481 (grub_get_rtc): Likewise.
20482
20483 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
20484 Added padding. The EFI spec is buggy.
20485 (GRUB_EFI_BLACK): New macro.
20486 (GRUB_EFI_BLUE): Likewise.
20487 (GRUB_EFI_GREEN): Likewise.
20488 (GRUB_EFI_CYAN): Likewise.
20489 (GRUB_EFI_RED): Likewise.
20490 (GRUB_EFI_MAGENTA): Likewise.
20491 (GRUB_EFI_BROWN): Likewise.
20492 (GRUB_EFI_LIGHTGRAY): Likewise.
20493 (GRUB_EFI_BRIGHT): Likewise.
20494 (GRUB_EFI_DARKGRAY): Likewise.
20495 (GRUB_EFI_LIGHTBLUE): Likewise.
20496 (GRUB_EFI_LIGHTGREEN): Likewise.
20497 (GRUB_EFI_LIGHTCYAN): Likewise.
20498 (GRUB_EFI_LIGHTRED): Likewise.
20499 (GRUB_EFI_LIGHTMAGENTA): Likewise.
20500 (GRUB_EFI_YELLOW): Likewise.
20501 (GRUB_EFI_WHITE): Likewise.
20502 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
20503 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
20504 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
20505 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
20506 (GRUB_EFI_BACKGROUND_RED): Likewise.
20507 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
20508 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
20509 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
20510 (GRUB_EFI_TEXT_ATTR): Likewise.
20511
20512 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
20513 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20514 (kernel_mod_HEADERS): Added efi/time.h.
20515
83709125 205162006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
20517
20518 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
20519 include/grub/efi/api.h, include/grub/efi/console_control.h,
20520 include/grub/efi/efi.h, include/grub/efi/pe32.h,
20521 include/grub/i386/efi/time.h, kern/efi/efi.c,
20522 kern/i386/efi/init.c, kern/i386/efi/startup.S,
20523 and util/i386/efi/grub-mkimage.c.
20524
20525 * Makefile.in (RMKFILES): Added i386-efi.rmk.
20526
20527 * genmk.rb (PModule#rule): Do not export symbols if
20528 #{prefix}_EXPORTS is set to "no".
20529
20530 * conf/i386-efi.mk: New file.
20531 * conf/i386-efi.rmk: Likewise.
20532 * include/grub/efi/api.h: Likewise.
20533 * include/grub/efi/console_control.h: Likewise.
20534 * include/grub/efi/efi.h: Likewise.
20535 * include/grub/efi/pe32.h: Likewise.
20536 * include/grub/i386/efi/time.h: Likewise.
20537 * kern/efi/efi.c: Likewise.
20538 * kern/i386/efi/init.c: Likewise.
20539 * kern/i386/efi/startup.S: Likewise.
20540 * util/i386/efi/grub-mkimage.c: Likewise.
20541
205422006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 20543
20544 * include/grub/script.h: Include <grub/parser.h> and
20545 "grub_script.tab.h".
20546 (struct grub_lexer_param): New struct.
20547 (struct grub_parser_param): Likewise.
20548 (grub_script_create_arglist): Pass the state in an argument.
20549 (grub_script_add_arglist): Likewise.
20550 (grub_script_create_cmdline): Likewise.
20551 (grub_script_create_cmdblock): Likewise.
20552 (grub_script_create_cmdif): Likewise.
20553 (grub_script_create_cmdmenu): Likewise.
20554 (grub_script_add_cmd): Likewise.
20555 (grub_script_arg_add): Likewise.
20556 (grub_script_lexer_ref): Likewise.
20557 (grub_script_lexer_deref): Likewise.
20558 (grub_script_lexer_record_start): Likewise.
20559 (grub_script_lexer_record_stop): Likewise.
20560 (grub_script_mem_record): Likewise.
20561 (grub_script_mem_record_stop): Likewise.
20562 (grub_script_malloc): Likewise.
20563 (grub_script_yylex): Likewise.
20564 (grub_script_yyparse): Likewise.
20565 (grub_script_yyerror): Likewise.
20566 (grub_script_yylex): Likewise.
20567 (grub_script_lexer_init): Return the state.
20568
20569 * normal/lexer.c (grub_script_lexer_state): Removed variable.
20570 (grub_script_lexer_done): Likewise.
20571 (grub_script_lexer_getline): Likewise.
20572 (grub_script_lexer_refs): Likewise.
20573 (script): Likewise.
20574 (newscript): Likewise.
20575 (record): Likewise.
20576 (recording): Likewise.
20577 (recordpos): Likewise.
20578 (recordlen): Likewise.
20579 (grub_script_lexer_init): Return the state instead of setting
20580 global variables.
20581 (grub_script_lexer_ref): Use the newly added argument for state
20582 instead of globals.
20583 (grub_script_lexer_deref): Likewise.
20584 (grub_script_lexer_record_start): Likewise.
20585 (grub_script_lexer_record_stop): Likewise.
20586 (recordchar): Likewise.
20587 (nextchar): Likewise.
20588 (grub_script_yylex2): Likewise.
20589 (grub_script_yylex): Likewise.
20590 (grub_script_yyerror): Likewise.
20591
20592 * normal/parser.y (func_mem): Removed variable.
20593 (menu_entry): Likewise.
20594 (err): Likewise.
20595 (%lex-param): New parser option.
20596 (%parse-param): Likewise.
20597 (script): Always return the AST.
20598 (argument): Pass the state around.
20599 (arguments): Likewise.
20600 (grubcmd): Likewise.
20601 (commands): Likewise.
20602 (function): Likewise.
20603 (menuentry): Likewise.
20604 (if_statement): Likewise.
20605 (if): Likewise.
20606
20607 * normal/script.c (grub_script_memused): Removed variable.
20608 (grub_script_parsed): Likewise.
20609 (grub_script_malloc): Added a state argument. Use that instead of
20610 global variables.
20611 (grub_script_mem_record): Likewise.
20612 (grub_script_mem_record_stop): Likewise.
20613 (grub_script_arg_add): Likewise.
20614 (grub_script_add_arglist): Likewise.
20615 (grub_script_create_cmdline): Likewise.
20616 (grub_script_create_cmdif): Likewise.
20617 (grub_script_create_cmdmenu): Likewise.
20618 (grub_script_add_cmd): Likewise.
20619 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 20620
e2a8c904 206212006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 20622
20623 * normal/command.c (grub_command_init): Remove the title command.
20624
20625 * normal/lexer.c (grub_script_yylex): Renamed from this...
20626 (grub_script_yylex2): ... to this.
20627 (grub_script_yylex): New function. Temporary
20628 introduced to filter some tokens.
20629 (grub_script_yyerror): Print a newline.
20630
20631 * normal/main.c (read_config_file): Output information about the
20632 lines that contain errors. Wait for a key after all lines have
20633 been processed. Don't return an empty menu.
20634
20635 * normal/parser.y (func_mem): Don't initialize.
20636 (menu_entry): Likewise.
20637 (err): New variable.
20638 (script): Don't return anything when an error was encountered.
20639 (ws, returns): Removed rules.
20640 (argument): Disabled concatenated variable support.
20641 (arguments): Remove explicit separators.
20642 (grubcmd): Likewise.
20643 (function): Likewise.
20644 (menuentry): Likewise.
20645 (if): Likewise.
20646 (commands): Likewise. Add error handling.
20647
20648 * normal/script.c (grub_script_create_cmdline): If
20649 `grub_script_parsed' is 0, assume the parser encountered an error.
20650
c9a86192 206512006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
20652
20653 * configure.ac: Add support for EFI. Fix the typo
20654 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
20655
70f3b243 206562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20657
20658 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
20659 foreign multibyte characters should be shown correctly.
20660
65f201ad 206612006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20662
20663 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
20664 calculation.
20665 (read_config_file): Made it to close file before returning.
20666
b4b93674 206672006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
20668
20669 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
20670 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
20671 video/i386/pc/vbefill.c.
20672
20673 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
20674 video/i386/pc/vbefill.c.
20675
20676 * include/grub/video.h (grub_video_blit_format): New enum.
20677 (grub_video_mode_info): Added new member blit_format.
20678 (grub_video_get_blit_format): New function prototype.
20679
20680 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
20681 function prototype.
20682 (grub_video_vbe_map_rgb): Likewise.
20683 (grub_video_vbe_unmap_color): Likewise.
20684
20685 * include/grub/i386/pc/vbeblit.h: New file.
20686
20687 * include/grub/i386/pc/vbefill.h: New file.
20688
20689 * video/video.c (grub_video_get_blit_format): New function.
20690 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
20691 (grub_video_vbe_map_rgb): Likewise.
20692 (grub_video_vbe_unmap_color): Likewise.
20693
20694 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
20695 optimized fills.
20696 (grub_video_vbe_blit_render_target): Changed to use more optimized
20697 blits.
20698 (grub_video_vbe_setup): Added detection for optimized settings.
20699 (grub_video_vbe_create_render_target): Likewise.
20700
20701 * video/i386/pc/vbeblit.c: New file.
20702
20703 * video/i386/pc/vbefill.c: New file.
20704
c2379b9c 207052006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
20706
20707 * font/manager.c (grub_font_get_glyph): Removed font fixup from
20708 here...
20709
20710 * util/unifont2pff.rb: ... and moved it to here. Improved argument
20711 parsing to support both hex and dec ranges. If filename was missing
20712 show usage information.
20713
bd0d7896 207142006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
20715
20716 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
20717 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
20718
20719 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
20720 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
20721 (video_mod_SOURCES): Added.
20722 (video_mod_CFLAGS): Likewise.
20723 (video_mod_LDFLAGS): Likewise.
20724 (gfxterm_mod_SOURCES): Likewise.
20725 (gfxterm_mod_CFLAGS): Likewise.
20726 (gfxterm_mod_LDFLAGS): Likewise.
20727 (videotest_mod_SOURCES): Likewise.
20728 (videotest_mod_CFLAGS): Likewise.
20729 (videotest_mod_LDFLAGS): Likewise.
20730 (vesafb_mod_SOURCES): Removed.
20731 (vesafb_mod_CFLAGS): Likewise.
20732 (vesafb_mod_LDFLAGS): Likewise.
20733 (vga_mod_SOURCES): Likewise.
20734 (vga_mod_CFLAGS): Likewise.
20735 (vga_mod_LDFLAGS): Likewise.
20736
20737 * commands/videotest.c: New file.
20738
20739 * font/manager.c (fill_with_default_glyph): Modified to use
20740 grub_font_glyph.
20741 (grub_font_get_glyph): Likewise.
20742 (fontmanager): Renamed from this...
20743 (font_manager): ... to this.
20744
20745 * include/grub/font.h (grub_font_glyph): Added new structure.
20746 (grub_font_get_glyph): Modified to use grub_font_glyph.
20747
20748 * include/grub/misc.h (grub_abs): Added as inline function.
20749
20750 * include/grub/video.h: New file.
20751
20752 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20753 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20754 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20755 (grub_vbe_get_controller_info): Renamed from this...
20756 (grub_vbe_bios_get_controller_info): ... to this.
20757 (grub_vbe_get_mode_info): Renamed from this...
20758 (grub_vbe_bios_get_mode_info): ... to this.
20759 (grub_vbe_set_mode): Renamed from this...
20760 (grub_vbe_bios_set_mode): ... to this.
20761 (grub_vbe_get_mode): Renamed from this...
20762 (grub_vbe_bios_get_mode): ... to this.
20763 (grub_vbe_set_memory_window): Renamed from this...
20764 (grub_vbe_bios_set_memory_window): ... to this.
20765 (grub_vbe_get_memory_window): Renamed from this...
20766 (grub_vbe_bios_get_memory_window): ... to this.
20767 (grub_vbe_set_scanline_length): Renamed from this...
20768 (grub_vbe_set_scanline_length): ... to this.
20769 (grub_vbe_get_scanline_length): Renamed from this...
20770 (grub_vbe_bios_get_scanline_length): ... to this.
20771 (grub_vbe_set_display_start): Renamed from this...
20772 (grub_vbe_bios_set_display_start): ... to this.
20773 (grub_vbe_get_display_start): Renamed from this...
20774 (grub_vbe_bios_get_display_start): ... to this.
20775 (grub_vbe_set_palette_data): Renamed from this...
20776 (grub_vbe_bios_set_palette_data): ... to this.
20777 (grub_vbe_set_pixel_rgb): Removed.
20778 (grub_vbe_set_pixel_index): Likewise.
20779
20780 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20781 from this...
20782 (grub_vbe_bios_get_controller_info): ... to this.
20783 (grub_vbe_get_mode_info): Renamed from this...
20784 (grub_vbe_bios_get_mode_info): ... to this.
20785 (grub_vbe_set_mode): Renamed from this...
20786 (grub_vbe_bios_set_mode): ... to this.
20787 (grub_vbe_get_mode): Renamed from this...
20788 (grub_vbe_bios_get_mode): ... to this.
20789 (grub_vbe_set_memory_window): Renamed from this...
20790 (grub_vbe_bios_set_memory_window): ... to this.
20791 (grub_vbe_get_memory_window): Renamed from this...
20792 (grub_vbe_bios_get_memory_window): ... to this.
20793 (grub_vbe_set_scanline_length): Renamed from this...
20794 (grub_vbe_set_scanline_length): ... to this.
20795 (grub_vbe_get_scanline_length): Renamed from this...
20796 (grub_vbe_bios_get_scanline_length): ... to this.
20797 (grub_vbe_set_display_start): Renamed from this...
20798 (grub_vbe_bios_set_display_start): ... to this.
20799 (grub_vbe_get_display_start): Renamed from this...
20800 (grub_vbe_bios_get_display_start): ... to this.
20801 (grub_vbe_set_palette_data): Renamed from this...
20802 (grub_vbe_bios_set_palette_data): ... to this.
20803 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20804 getting corrupted after calling it. Added more pushes and pops.
20805 (grub_vbe_bios_set_mode): Likewise.
20806 (grub_vbe_bios_get_mode): Likewise.
20807 (grub_vbe_bios_get_memory_window): Likewise.
20808 (grub_vbe_bios_set_scanline_length): Likewise.
20809 (grub_vbe_bios_get_scanline_length): Likewise.
20810 (grub_vbe_bios_get_display_start): Likewise.
20811 (grub_vbe_bios_set_palette_data): Likewise.
20812
20813 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20814 (cl_insert): Likewise.
20815 (cl_delete): Likewise.
20816
20817 * term/gfxterm.c: New file.
20818
20819 * term/i386/pc/vesafb.c: Removed file.
20820
20821 * video/video.c: New file.
20822
20823 * video/i386/pc/vbe.c (real2pm): Added new function.
20824 (grub_video_vbe_draw_pixel): Likewise.
20825 (grub_video_vbe_get_video_ptr): Likewise.
20826 (grub_video_vbe_get_pixel): Likewise
20827 (grub_video_vbe_init): Likewise.
20828 (grub_video_vbe_fini): Likewise.
20829 (grub_video_vbe_setup): Likewise.
20830 (grub_video_vbe_get_info): Likewise.
20831 (grub_video_vbe_set_palette): Likewise.
20832 (grub_video_vbe_get_palette): Likewise.
20833 (grub_video_vbe_set_viewport): Likewise.
20834 (grub_video_vbe_get_viewport): Likewise.
20835 (grub_video_vbe_map_color): Likewise.
20836 (grub_video_vbe_map_rgb): Likewise.
20837 (grub_video_vbe_map_rgba): Likewise.
20838 (grub_video_vbe_unmap_color): Likewise.
20839 (grub_video_vbe_fill_rect): Likewise.
20840 (grub_video_vbe_blit_glyph): Likewise.
20841 (grub_video_vbe_blit_bitmap): Likewise.
20842 (grub_video_vbe_blit_render_target): Likewise.
20843 (grub_video_vbe_scroll): Likewise.
20844 (grub_video_vbe_swap_buffers): Likewise.
20845 (grub_video_vbe_create_render_target): Likewise.
20846 (grub_video_vbe_delete_render_target): Likewise.
20847 (grub_video_vbe_set_active_render_target): Likewise.
20848 (grub_vbe_set_pixel_rgb): Remove function.
20849 (grub_vbe_set_pixel_index): Likewise.
20850 (index_color_mode): Remove static variable.
20851 (active_mode): Likewise.
20852 (framebuffer): Likewise.
20853 (bytes_per_scan_line): Likewise.
20854 (grub_video_vbe_adapter): Added new static variable.
20855 (framebuffer): Likewise.
20856 (render_target): Likewise.
20857 (initial_mode): Likewise.
20858 (mode_in_use): Likewise.
20859 (mode_list): Likewise.
20860
5f97350b 208612006-03-10 Marco Gerards <marco@gnu.org>
20862
20863 * configure.ac (AC_INIT): Bumped to 1.93.
20864
20865 * DISTLIST: Added `include/grub/hfs.h'.
20866
a3c5c6f8 208672006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20868
20869 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20870 18H, which might help the BIOS falling back to next boot media.
20871
6de53d26 208722006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20873
20874 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20875 Poe Chen <poe.poechen@gmail.com>.
20876
77c4a393 208772006-01-17 Marco Gerards <marco@gnu.org>
20878
20879 * include/grub/normal.h: Include <grub/script.h>.
20880 (grub_command_list): Removed struct.
20881 (grub_command_list_t): Removed type.
20882 (grub_menu_entry): Remove members `num' and `command_list'. Add
20883 members `commands' and `sourcecode'.
20884 * include/grub/script.h: Add inclusion guards.
20885 (grub_script_cmd_menuentry): New struct.
20886 (grub_script_execute_menuentry): New prototype.
20887 (grub_script_lexer_record_start): Likewise.
20888 (grub_script_lexer_record_stop): Likewise.
20889 * normal/execute.c (grub_script_execute_menuentry): New function.
20890 * normal/lexer.c (record, recording, recordpos, recordlen): New
20891 variables.
20892 (grub_script_lexer_record_start): New function.
20893 (grub_script_lexer_record_stop): Likewise.
20894 (recordchar): Likewise.
20895 (nextchar): Likewise.
20896 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20897 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20898 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20899 (current_menu): New variable.
20900 (free_menu): Mainly rewritten.
20901 (grub_normal_menu_addentry): New function.
20902 (read_config_file): Rewritten.
20903 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 20904 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 20905 the menu entry.
20906 (run): Mainly rewritten.
20907 * normal/parser.y (menu_entry): New variable.
20908 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20909 (menuentry): New rule.
20910 (command): Add `menuentry'.
20911 (if_statement): Allow additional returns before `fi'.
20912 * normal/script.c (grub_script_create_cmdmenu): New function.
20913
144f1f98 209142006-01-03 Marco Gerards <marco@gnu.org>
20915
20916 * INSTALL: GNU Bison is required.
20917 * configure.ac: Rewritten the test to detect Bison.
20918 * Makefile.in (YACC): New variable. Reported by Xun Sun
20919 <xun.sun.cn@gmail.com>.
20920
af4b2d89 209212006-01-03 Marco Gerards <marco@gnu.org>
20922
20923 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
20924 the HFS+ filesystem to filesystem blocks.
20925 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
20926 GCC warning is silenced.
20927
15643b71 209282006-01-03 Marco Gerards <marco@gnu.org>
20929
20930 * partmap/apple.c (apple_partition_map_iterate): Convert the data
20931 read from disk from big endian to host byte order.
20932
00905879 209332006-01-03 Hollis Blanchard <hollis@penguinppc.org>
20934
20935 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
20936 documentation.
20937 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
20938 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
20939 embedded HFS+ filesystem.
20940 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20941 (grub_hfs_sblock): Move from here...
20942 * include/grub/hfs.h: To here... New file.
20943 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20944 documentation.
20945 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20946 New macros.
20947 (grub_hfsplus_volheader): Change type of member `magic' to
20948 `grub_uint16_t'.
20949 (grub_hfsplus_data): Add new member `embedded_offset'.
20950 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20951 returned block.
20952 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20953 Calculate the offset.
20954
8899bc3e 209552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20956
20957 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20958 Removed.
20959 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20960
ae8c0277 209612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20962
20963 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20964 ENV->NAME is NULL after allocating ENV->VALUE.
20965
07084456 209662005-12-25 Marco Gerards <marco@gnu.org>
20967
20968 * kern/env.c (grub_env_set): Rewritten the error handling code.
20969
4750f5f1 209702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20971
20972 * geninit.sh: Made more robust, and more portable.
20973
50214199 209742005-12-25 Marco Gerards <marco@gnu.org>
20975
20976 Add support for Apple HFS+ filesystems.
f19dbdb7 20977
50214199 20978 * fs/hfsplus.c: New file.
20979
20980 * DISTLIST: Added `fs/hfsplus.c'.
20981
20982 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20983 (hfsplus_mod_SOURCES): New variable.
20984 (hfsplus_mod_CFLAGS): Likewise.
20985 (hfsplus_mod_LDFLAGS): Likewise.
20986 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20987 (grub_setup_SOURCES): Likewise.
20988 (grub_mkdevicemap_SOURCES): Likewise.
20989 (grub_emu_SOURCES): Likewise.
20990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20991
20992 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20993
20994 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20995
befaed6c 209962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20997
20998 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20999 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
21000 include/grub/parser.h, include/grub/script.h, kern/parser.c,
21001 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
21002 normal/lexer.c, normal/parser.y, normal/script.c, and
21003 partmap/gpt.c.
21004 Removed kern/sparc64/cache.c.
21005
21006 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
21007 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
21008 grub_emu_init.c.
21009
21010 * configure.ac (AC_INIT): Bumped to 1.92.
21011
6a124103 210122005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
21013
21014 * kern/err.c (grub_error_push): Added new function to support error
21015 stacks.
21016 (grub_error_pop): Likewise.
21017 (grub_error_stack_items): New local variable to support error stacks.
21018 (grub_error_stack_pos): Likewise.
21019 (grub_error_stack_assert): Likewise.
21020 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21021 stack depth.
21022 (grub_print_error): Added support to print errors from error stack.
21023
21024 * include/grub/err.h (grub_error_push): Added function prototype.
21025 (grub_error_pop): Likewise.
21026
be973c1b 210272005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21028
21029 * configure.ac: Accept `powerpc64' as host_cpu.
21030 (amd64): Rename to `biarch32'.
21031
21032 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21033 non-cacheline-aligned addresses.
21034
21035 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21036 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21037 if `size' is non-zero.
21038
b04216ab 210392005-12-03 Marco Gerards <mgerards@xs4all.nl>
21040
21041 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21042 and `cd' to make sure the filename is not prefixed with a
21043 directory name.
21044 (pkgdata_MODULES): Add `gpt.mod'.
21045 (gpt_mod_SOURCES): New variable.
21046 (gpt_mod_CFLAGS): Likewise.
21047 (gpt_mod_LDFLAGS): Likewise.
21048
21049 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21050
21051 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21052 New macro.
21053
21054 * partmap/gpt.c: New file.
21055
21056 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21057 GPT partition map is detected.
21058
41730ed9 210592005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21060
21061 * commands/i386/pc/play.c: New file.
21062 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21063 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21064 macros.
f19dbdb7 21065
95dc3643 210662005-11-27 Marco Gerards <mgerards@xs4all.nl>
21067
21068 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21069 ((unused))' to silence gcc warning.
21070
1569ec51 210712005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21072
21073 * configure.ac: Correct `AC_PROG_YACC' test.
21074
9abde152 210752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21076
21077 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21078 check before installing files.
21079
44b83271 210802005-11-22 Mike Small <smallm@panix.com>
21081
21082 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21083 number regex so multidigit numbers are recognized correctly.
21084
210852005-11-22 Mike Small <smallm@panix.com>
21086
21087 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21088 debugging message before attempting to claim memory.
21089 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21090 multiple addresses in case of failure.
21091
9c12956b 210922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21093
21094 * term/tparm.c (get_space): Remove empty `if' statement.
21095
21096 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21097
21098 * kern/parser.c (check_varstate): Rename `state' to 's'.
21099
aeaf81d9 211002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21101
21102 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21103 variable definitions to the beginning of each function. Sort stack
21104 variables by size.
21105 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21106 `buf' argument to `char *'.
21107
79bbb63f 211082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21109
21110 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21111 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21112 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 21113 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21114 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21115 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21116 configfile.mod, search.mod, gzio.mod and test.mod.
21117 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21118 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21119 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21120 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21121 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21122 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21123 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21124 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21125 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21126 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21127 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21128 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21129 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21130 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21131 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21132 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21133 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21134 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21135 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21136 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21137 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21138 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21139 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21140
21141 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21142 `grep --include'.
21143 (pkgdata_MODULES): Add test.mod.
21144
233b1628 211452005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21146
21147 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21148 appending to variables with "+=".
21149 (PModule): Use full pathname to generate *.lst filenames.
21150
21151 * Makefile.in: Fixed list rules moved from genmk.rb.
21152 (.DELETE_ON_ERROR): New special target.
21153 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21154
21155 * conf/i386-pc.rmk: Include conf/common.mk.
21156 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21157 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21158 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21159 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21160 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21161 configfile.mod, search.mod, gzio.mod and test.mod.
21162 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21163 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21164 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21165 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21166 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21167 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21168 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21169 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21170 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21171 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21172 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21173 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21174 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21175 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21176 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21177 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21178 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21179 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21180 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21181 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21182 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21183 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21184 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21185 here...
21186 * conf/common.rmk: ... to here. New file.
21187
21188 * conf/common.mk: New file.
21189
16f820c8 211902005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21191
21192 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21193 (grub_script.tab.c): ... here.
21194
21195 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21196 (grub_script.tab.c): ... here.
21197
21198 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21199 (grub_script.tab.c): ... here.
21200
21201 * normal/command.c (grub_command_find): Fixed a memory leak of
21202 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21203
63ba1554 212042005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21205
21206 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21207 "@" which marks the start of a comment on ARM.
21208 (VARIABLE): Likewise.
21209
7f67dc13 212102005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21211
79bbb63f 21212 Add support for Linux/ADFS partition tables.
7f67dc13 21213
21214 * partmap/acorn.c: New file.
21215
21216 * include/grub/acorn_filecore.h: Likewise.
21217
21218 * DISTLIST: Added `partmap/acorn.c' and
21219 `include/grub/acorn_filecore.h'.
f19dbdb7 21220
7f67dc13 21221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21222 `partmap/acorn.c'.
21223 (pkgdata_MODULES): Add `acorn.mod'.
21224 (acorn_mod_SOURCES): New variable.
21225 (acorn_mod_CFLAGS): Likewise.
21226
21227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21228 `partmap/acorn.c'.
21229 (pkgdata_MODULES): Add `acorn.mod'.
21230 (acorn_mod_SOURCES): New variable.
21231 (acorn_mod_CFLAGS): Likewise.
21232
21233 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21234 (pkgdata_MODULES): Add `acorn.mod'.
21235 (acorn_mod_SOURCES): New variable.
21236 (acorn_mod_CFLAGS): Likewise.
21237 (acorn_mod_LDFLAGS): Likewise.
21238
21239 * include/types.h (grub_disk_addr_t): New typedef.
21240
6d099807 212412005-11-13 Marco Gerards <mgerards@xs4all.nl>
21242
21243 * geninit.sh: New file.
21244
21245 * geninitheader.sh: Likewise.
21246
21247 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21248 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21249 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21250 * commands/configfile.c (grub_configfile_init)
21251 (grub_configfile_fini): Likewise.
21252 * commands/default.c (grub_default_init, grub_default_fini):
21253 Likewise.
21254 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21255 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21256 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21257 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21258 Likewise.
21259 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21260 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21261 Likewise.
21262 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 21263 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 21264 Likewise.
21265 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21266 Likewise.
fe6b695a 21267 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 21268 Likewise.
21269 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21270 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21271 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21272 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21273 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21274 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21275 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21276 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21277 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21278 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21279 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21280 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21281 * partmap/amiga.c (grub_amiga_partition_map_init)
21282 (grub_amiga_partition_map_fini): Likewise.
21283 * partmap/apple.c (grub_apple_partition_map_init)
21284 (grub_apple_partition_map_fini): Likewise.
21285 * partmap/pc.c (grub_pc_partition_map_init)
21286 (grub_pc_partition_map_fini): Likewise.
21287 * partmap/sun.c (grub_sun_partition_map_init,
21288 grub_sun_partition_map_fini): Likewise.
21289 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21290 Likewise.
21291
21292 * util/grub-emu.c: Include <grub_modules_init.h>.
21293 (main): Don't initialize and de-initialize any modules directly,
21294 use `grub_init_all' and `grub_fini_all' instead.
21295
21296 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21297 `grub_vesafb_mod_init'.
21298 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21299 all users.
21300 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21301 `grub_vga_mod_init'. Updated all users.
21302 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21303
6d099807 21304 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21305 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21306 rules.
21307
21308 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21309 Generate a function to initialize the module in utilities.
21310 Updated all callers.
21311 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21312 initialize the module in utilities. Updated all callers.
21313
9046bcf0 213142005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21315
21316 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21317 escape sequence and a literal ^L to clear the screen.
21318
21319 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21320 when returning from Open Firmware.
21321
d13ea639 213222005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21323
21324 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21325 (grub_ofconsole_height): Likewise.
21326 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21327 manually insert a '\n'.
21328 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21329 `grub_ofconsole_height'. Return early if these are already set.
21330
a8fcf206 213312005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21332
21333 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21334 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21335 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21336 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21337 and `normal/script.c'.
21338 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21339 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21340 (test_mod_SOURCES): New variable.
21341 (test_mod_CFLAGS): Likewise.
21342 (test_mod_LDFLAGS): Likewise.
21343 (pkgdata_MODULES): Add `test.mod'.
21344 (grub_script.tab.c): New rule.
21345 (grub_script.tab.h): Likewise.
21346
b6b32745 213472005-11-07 Marco Gerards <mgerards@xs4all.nl>
21348
21349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21350 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21351 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21352 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21353 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21354 (test_mod_SOURCES): New variable.
21355 (test_mod_CFLAGS): Likewise.
21356 (pkgdata_MODULES): Add `test.mod'.
21357 (grub_script.tab.c): New rule.
21358 (grub_script.tab.h): Likewise.
21359
daac212a 213602005-11-06 Marco Gerards <mgerards@xs4all.nl>
21361
21362 Add initial scripting support.
21363
21364 * commands/test.c: New file.
21365 * include/grub/script.h: Likewise.
21366 * normal/execute.c: Likewise.
21367 * normal/function.c: Likewise.
21368 * normal/lexer.c: Likewise.
21369 * normal/parser.y: Likewise.
21370 * normal/script.c: Likewise.
21371
21372 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21373
daac212a 21374 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21375 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21376 `normal/function.c' and `normal/script.c'.
21377 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21378 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21379 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21380 variables.
daac212a 21381 (pkgdata_MODULES): Add `test.mod'.
21382 (grub_script.tab.c): New rule.
21383 (grub_script.tab.h): Likewise.
21384
21385 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21386
21387 * include/grub/normal.h (grub_test_init): New prototype.
21388 (grub_test_fini): Likewise.
f19dbdb7 21389
daac212a 21390 * normal/command.c: Include <grub/script.h>.
21391 (grub_command_execute): Rewritten.
f19dbdb7 21392
daac212a 21393 * util/grub-emu.c (main): Call `grub_test_init' and
21394 `grub_test_fini'.
21395
77500b2b 213962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21397
21398 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21399 to 0.
21400 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21401 there are no pending characters.
21402
e45deb9e 214032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21404
21405 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21406 `grub_strndup' to drop device arguments. Replace unnecessary
21407 `grub_strndup' with `grub_strdup'.
21408
4ce32619 214092005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21410
21411 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21412 `debug' environment variable has been set.
21413
214142005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21415
4ce32619 21416 * Makefile.in (install-local): Use $(DATA).
21417 (uninstall): Likewise.
21418 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21419 (sbin_UTILITIES): ... to here.
21420 (sbin_SCRIPTS): New variable.
21421 (grub_install_SOURCES): New variable.
21422 * util/powerpc/ieee1275/grub-install.in: New file.
21423 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21424 variable.
21425 (add_segments): Call `grub_util_get_path'.
21426
25fe6f03 214272005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21428
21429 From Timothy Baldwin:
21430 * commands/ls.c (grub_ls_list_files): Close FILE with
21431 grub_file_close.
21432 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21433
04ccf3ec 214342005-10-24 Marco Gerards <mgerards@xs4all.nl>
21435
21436 * include/grub/parser.h: New file.
21437
21438 * kern/parser.c: Likewise.
21439
21440 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21441 (grub_setup_SOURCES): Likewise.
21442 (grub_probefs_SOURCES): Likewise.
21443 (grub_emu_SOURCES): Likewise.
21444 (kernel_img_HEADERS): Add `parser.h'.
21445
21446 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21447 (grub_emu_SOURCES): Add `kern/parser.c'.
21448 (grubof_SOURCES): Likewise.
21449
21450 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21451 (grubof_SOURCES): Add `kern/parser.c'.
21452
21453 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21454
21455 * kern/misc.c (grub_split_cmdline): Removed function.
21456
21457 * kern/rescue.c: Include <grub/parser.h>.
21458 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21459 of `grub_split_cmdline'.
21460
21461 * normal/command.c: Include <grub/parser.h>.
21462 (grub_command_execute): Use `grub_parser_split_cmdline' instead
21463 of `grub_split_cmdline'.
21464
21465 * normal/completion.c: Include <grub/parser.h>.
21466 (cmdline_state): New variable.
21467 (iterate_dir): End the filename with a quote depending on the
21468 command line state.
21469 (get_state): new function.
21470 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
21471 split the arguments and determine the current argument. When the
21472 argument string is not quoted, escape all spaces.
21473
6d8f4b0e 214742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21475
21476 * normal/sparc64/setjmp.S: New file.
21477
15cf03ed 214782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21479
21480 * include/grub/sparc64/libgcc.h: New file.
21481 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
21482 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
21483 normal/sparc64/setjmp.c.
21484
03e8661a 214852005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21486
21487 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
21488 * kern/sparc64/cache.S: New file.
21489 * kern/sparc64/cache.c: Removed.
21490 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
21491 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
21492 -mtune=ultrasparc.
21493 (COMMON_LDFLAGS): Add -melf64_sparc.
21494 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
21495 (grubof_SOURCES): Use cache.S instead of cache.c.
21496 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
21497 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
21498 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
21499 commented though.
21500 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
21501 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
21502 (linux_mod_CFLAGS): Commented out.
21503 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
21504 out because module isn't built.
21505 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
21506 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
21507 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
21508 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
21509 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
21510 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21511 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21512 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
21513 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
21514 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
21515 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21516 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21517 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
21518 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
21519
34eeec8a 215202005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
21521
21522 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
21523 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
21524 longer, because HFS should not be used on PC.
21525
708367a3 215262005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21527
21528 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
21529 consistently within the loop.
21530
6fa1251a 215312005-10-15 Marco Gerards <mgerards@xs4all.nl>
21532
21533 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
21534 directory can not be read.
21535
4801580b 215362005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21537
21538 * configure.ac (AC_INIT): Increase the version number to 1.91.
21539
21540 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
21541 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
21542 term/i386/pc/serial.c.
21543
219ad426 215442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21545
21546 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
21547 file size must be permitted.
21548
21549 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
21550 between %ah and %al.
21551
688e5699 215522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21553
21554 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
21555 grub_uint64_t.
21556 Call the hook with a NUL-terminated filename.
21557 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
21558 grub_cpu_to_be32.
21559
21560 * kern/term.c (cursor_state): New variable.
21561 (grub_term_set_current): Reset the cursor state on a new
21562 terminal.
21563 (grub_setcursor): Rewritten to use CURSOR_STATE.
21564 (grub_getcursor): New function.
21565
21566 * include/grub/term.h (grub_getcursor): New prototype.
21567
21568 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
21569 integers on ARM. Reported by Timothy Baldwin
21570 <T.E.Baldwin99@members.leeds.ac.uk>.
21571
bb34586c 215722005-10-11 Marco Gerards <mgerards@xs4all.nl>
21573
21574 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
21575 allocated.
21576 (grub_sfs_dir): Likewise.
21577
9a909877 215782005-10-09 Marco Gerards <mgerards@xs4all.nl>
21579
21580 Add support for the SFS filesystem.
21581
21582 * fs/sfs.c: New file.
21583
21584 * DISTLIST: Added `fs/sfs.c'.
21585
21586 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
21587 (grub_probefs_SOURCES): Likewise.
21588 (grub_emu_SOURCES): Likewise.
21589 (pkgdata_MODULES): Add `sfs.mod'.
21590 (sfs_mod_SOURCES): New variable.
21591 (sfs_mod_CFLAGS): Likewise.
21592 (sfs_mod_LDFLAGS): Likewise.
21593
21594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
21595 (pkgdata_MODULES): Add `sfs.mod'.
21596 (sfs_mod_SOURCES): New variable.
21597 (sfs_mod_CFLAGS): Likewise.
21598
21599 * util/grub-emu.c (main): Call `grub_sfs_init' and
21600 `grub_sfs_fini'.
21601
21602 * include/grub/fs.h (grub_sfs_init): New prototype.
21603 (grub_sfs_fini): Likewise.
21604
57bdbde3 216052005-10-07 Marco Gerards <mgerards@xs4all.nl>
21606
21607 Add support for the AFFS filesystem.
21608
21609 * fs/affs.c: New file.
21610
21611 * DISTLIST: Added `fs/affs.c'.
21612
21613 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
21614 (grub_probefs_SOURCES): Likewise.
21615 (grub_emu_SOURCES): Likewise.
21616 (pkgdata_MODULES): Add `affs.mod'.
21617 (affs_mod_SOURCES): New variable.
21618 (affs_mod_CFLAGS): Likewise.
21619 (affs_mod_LDFLAGS): Likewise.
21620
21621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
21622 (pkgdata_MODULES): Add `affs.mod'.
21623 (affs_mod_SOURCES): New variable.
21624 (affs_mod_CFLAGS): Likewise.
21625
21626 * util/grub-emu.c (main): Call `grub_affs_init' and
21627 `grub_affs_fini'.
21628
21629 * include/grub/fs.h (grub_affs_init): New prototype.
21630 (grub_affs_fini): Likewise.
21631
047b67e0 216322005-10-01 Marco Gerards <mgerards@xs4all.nl>
21633
21634 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
21635
59b8208a 216362005-10-01 Marco Gerards <mgerards@xs4all.nl>
21637
21638 * configure.ac: Accept `x86_64' as host_cpu. In that case add
21639 `-m32' to CFLAGS.
21640
21641 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
21642 linking.
f19dbdb7 21643
59b8208a 21644 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
21645 (COMMON_LDFLAGS): New variable.
21646 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
21647 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
21648 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
21649 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
21650 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
21651 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
21652 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
21653 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
21654 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
21655 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
21656 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21657 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21658 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
21659 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
21660 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
21661 variables.
21662 (normal_mod_ASFLAGS): Add `-m32'.
21663
21664 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
21665 (grub_host_size_t, grub_host_ssize_t): New types.
21666 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 21667 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 21668 `GRUB_HOST_SIZEOF_VOID_P'.
21669
21670 * include/grub/kernel.h (struct grub_module_header): Type of
21671 member offset changed to `grub_host_off_t'. Type of member size
21672 changed to `grub_host_size_t'.
21673 (struct grub_module_info): Type of member offset changed to
21674 `grub_host_off_t'. Type of member size changed to
21675 `grub_host_size_t'.
21676
b4093103 216772005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
21678
21679 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 21680
b4093103 21681 * kern/i386/pc/startup.S (multiboot_header): New label.
21682 (multiboot_entry): Likewise.
21683 (multiboot_trampoline): Likewise.
21684
21685 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21686 Increased to 0x4A0.
21687
21688 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
21689 put parentheses after a question mark.
21690 [!GRUB_UTIL] (my_mod): New variable.
21691
21692 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
21693
b2499b29 216942005-09-28 Marco Gerards <mgerards@xs4all.nl>
21695
21696 Adds support for the XFS filesystem. Btrees are not supported
21697 yet.
21698
21699 * fs/xfs.c: New file.
21700
21701 * DISTLIST: Added `fs/xfs.c'.
21702
21703 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
21704 (grub_probefs_SOURCES): Likewise.
21705 (grub_emu_SOURCES): Likewise.
21706 (pkgdata_MODULES): Add `xfs.mod'.
21707 (xfs_mod_SOURCES): New variable.
21708 (xfs_mod_CFLAGS): Likewise.
21709
21710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
21711 (pkgdata_MODULES): Add `xfs.mod'.
21712 (xfs_mod_SOURCES): New variable.
21713 (xfs_mod_CFLAGS): Likewise.
21714
21715 * util/grub-emu.c (main): Call `grub_xfs_init' and
21716 `grub_xfs_fini'.
21717
21718 * include/grub/fs.h (grub_xfs_init): New prototype.
21719 (grub_xfs_fini): Likewise.
21720
f19dbdb7 21721
83d37a62 217222005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
21723
21724 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
21725 color modes, allow greater than 16 colors to be configured as
21726 a default palette.
21727
47d2d65e 217282005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21729
21730 * normal/completion.c (complete_arguments): Add the qualifier
21731 const into OPTIONS.
21732
21733 From Omniflux <omniflux+lists@omniflux.com>:
21734 * include/grub/terminfo.h: New file.
21735 * include/grub/tparm.h: Likewise.
21736 * include/grub/i386/pc/serial.h: Likewise.
21737 * term/terminfo.c: Likewise.
21738 * term/tparm.c: Likewise.
21739 * term/i386/pc/serial.c: Likewise.
21740 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
21741 serial.mod.
21742 (terminfo_mod_SOURCES): New variable.
21743 (terminfo_mod_CFLAGS): Likewise.
21744 (serial_mod_SOURCES): Likewise.
21745 (serial_mod_CFLAGS): Likewise.
21746
48b671ff 217472005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
21748
21749 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
21750 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
21751 and kern/powerpc/ieee1275/cmain.c, respectively.
21752
21753 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21754 * kern/powerpc/ieee1275/crt0.S: ... here.
21755
21756 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21757 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 21758
48b671ff 21759 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21760 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21761 instead of boot/powerpc/ieee1275/crt0.S and
21762 boot/powerpc/ieee1275/cmain.c, respectively.
21763
21764 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21765 sectors. It was not used anyway.
21766
09fc77a7 217672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21768
21769 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21770 `unused parameter' warning.
21771
003789c7 217722005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21773
21774 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21775 function.
21776 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21777 getcharwidth.
21778
67f44c86 217792005-08-28 Marco Gerards <metgerards@student.han.nl>
21780
21781 * include/grub/normal.h (enum grub_completion_type): Added
21782 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21783
21784 * normal/cmdline.c (print_completion): Handle
21785 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21786 * normal/menu_entry.c (store_completion): Likewise.
21787
21788 * normal/completion.c (complete_arguments): New function.
21789 (grub_normal_do_completion): Call `complete_arguments' when the
21790 current words start with a dash.
21791
0b5abe02 217922005-08-27 Marco Gerards <metgerards@student.han.nl>
21793
21794 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21795 `gzio.mod' instead of `io.mod').
21796
d9864ee1 217972005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21798
21799 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21800 (DISTDIRS): Added io and video.
21801 Rewrite the search routine to make an output consistently.
21802
21803 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21804 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21805 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21806 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21807 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21808 util/powerpc/ieee1275/misc.c.
f19dbdb7 21809
d9864ee1 21810 * include/grub/gzio.h: New file.
21811 * io/gzio.c: Likewise.
f19dbdb7 21812
d9864ee1 21813 * kern/file.c (grub_file_close): Call grub_device_close only if
21814 FILE->DEVICE is not NULL.
21815
21816 * include/grub/mm.h [!NULL] (NULL): New macro.
21817
21818 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21819
21820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21821 (pkgdata_MODULES): Added gzio.mod.
21822 (gzio_mod_SOURCES): New variable.
21823 (gzio_mod_CFLAGS): Likewise.
21824
21825 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21826 (pkgdata_MODULES): Added gzio.mod.
21827 (gzio_mod_SOURCES): New variable.
21828 (gzio_mod_CFLAGS): Likewise.
21829
21830 * commands/cat.c: Include grub/gzio.h.
21831 (grub_cmd_cat): Use grub_gzfile_open instead of
21832 grub_file_open.
f19dbdb7 21833
d9864ee1 21834 * commands/cmp.c: Include grub/gzio.h.
21835 (grub_cmd_cmp): Use grub_gzfile_open instead of
21836 grub_file_open.
21837
21838 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21839 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21840 grub_file_open.
21841 (grub_rescue_cmd_module): Likewise.
21842
fa46f4b5 218432005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21844
21845 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21846 kern/sparc64/ieee1275/init.c because it contains _start.
21847 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21848
e9211b5d 218492005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21850
21851 * configure.ac: Add support for sparc64 host with ieee1275
21852 firmware.
21853 * configure: Generated from configure.ac.
21854 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21855 instead of int.
21856 (grub_ofdisk_read): Likewise.
21857 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21858 pointers as (void *) to remove a warning.
21859 (grub_ofdisk_close): Likewise.
21860 (grub_ofdisk_read): Likewise.
21861 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21862 returns, so make it return void to remove a warning.
21863 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21864 Corresponding prototype change.
21865 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21866 values, and cast the pointers as (void *) to remove a warning.
21867 (grub_mm_dump): Likewise.
21868 * conf/sparc64-ieee1275.mk: New file.
21869 * conf/sparc64-ieee1275.rmk: Likewise.
21870 * include/grub/sparc64/setjmp.h: Likewise.
21871 * include/grub/sparc64/types.h: Likewise.
21872 * include/grub/sparc64/ieee1275/console.h: Likewise.
21873 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21874 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21875 * include/grub/sparc64/ieee1275/time.h: Likewise.
21876 * kern/sparc64/cache.c: Likewise.
21877 * kern/sparc64/dl.c: Likewise.
21878 * kern/sparc64/ieee1275/init.c: Likewise.
21879 * kern/sparc64/ieee1275/openfw.c: Likewise.
21880
385c6a92 218812005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21882
21883 * util/console.c (grub_ncurses_putchar): If C is greater than
21884 0x7f, set C to a question mark.
21885 (grub_ncurses_getcharwidth): New function.
21886 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21887 getcharwidth.
21888
21889 * normal/menu.c (print_entry): Made aware of Unicode. First,
21890 convert TITLE to UCS-4, and predict the cursor position by
21891 grub_getcharwidth.
21892
21893 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21894 const to SRC.
21895 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21896
16ccb8b1 218972005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21898
21899 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21900 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21901 grub_strcat.
21902
21903 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21904 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21905 grub_strcpy and grub_strlen. Take it into account that a space
21906 character is inserted as a delimiter.
21907
6a85ce79 219082005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21909
21910 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 21911 invalid magic in the error.
6a85ce79 21912
21913 * commands/search.c: New file.
f19dbdb7 21914
6a85ce79 21915 * util/grub-emu.c (main): Call grub_search_init and
21916 grub_search_fini.
21917
21918 * kern/rescue.c (grub_rescue_print_disks): Removed.
21919 (grub_rescue_print_devices): New function.
21920 (grub_rescue_cmd_ls): Use grub_device_iterate with
21921 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21922 grub_rescue_print_disks.
21923
21924 * kern/partition.c (grub_partition_iterate): Return the result of
21925 PARTMAP->ITERATE instead of GRUB_ERRNO.
21926
21927 * kern/device.c: Include grub/partition.h.
21928 (grub_device_iterate): New function.
21929
21930 * include/grub/partition.h (grub_partition_iterate): Return int
21931 instead of grub_err_t.
21932
21933 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
21934 prototype.
21935 [GRUB_UTIL] (grub_search_fini): Likewise.
21936
21937 * include/grub/device.h (grub_device_iterate): New prototype.
21938
21939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21940 commands/search.c.
21941 (pkgdata_MODULES): Added search.mod.
21942 (search_mod_SOURCES): New variable.
21943 (search_mod_CFLAGS): Likewise.
21944
21945 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21946 (pkgdata_MODULES): Added search.mod.
21947 (search_mod_SOURCES): New variable.
21948 (search_mod_CFLAGS): Likewise.
21949
21950 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21951 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21952 All callers changed.
21953
21954 * DISTLIST: Added commands/search.c.
21955
ef095434 219562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21957
21958 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21959 conversion.
21960 (grub_getcharwidth): New function.
21961
21962 * kern/misc.c (grub_utf8_to_ucs4): New function.
21963
21964 * include/grub/term.h (struct grub_term): Added a new member
21965 "getcharwidth".
21966 (grub_getcharwidth): New prototype.
21967
21968 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21969
21970 * term/i386/pc/console.c (map_char): New function. Segregated from
21971 grub_console_putchar.
21972 (grub_console_putchar): Use map_char.
21973 (grub_console_getcharwidth): New function.
21974 (grub_console_term): Specified grub_console_getcharwidth as
21975 getcharwidth.
21976
21977 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21978 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21979
21980 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21981 GRUB_ERRNO.
21982 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21983 on grub_strtoul completely.
21984 (write_char): Declare local variables in the beginning of the
21985 function.
21986 (grub_vesafb_getcharwidth): New function.
21987 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21988 getcharwidth.
21989
1f0a95e4 219902005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21991
21992 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21993 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21994 commands/i386/pc/vbetest.c.
21995
21996 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21997 call grub_vbe_get_controller_info again, because the returned
21998 information is volatile.
21999 (grub_vbe_set_video_mode): Mostly rewritten.
22000 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
22001 grub_vbe_status_t correctly.
22002 (grub_vbe_get_video_mode_info): Likewise.
22003 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
22004 several if statements.
22005
22006 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
22007 * commands/i386/pc/vbeinfo.c: ... this.
22008
22009 * commands/i386/pc/vbe_test.c: Renamed to ...
22010 * commands/i386/pc/vbetest.c: ... this.
22011
22012 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
22013 ...
22014 (grub_cmd_vbeinfo): ... this. Save video modes before
22015 iterating. Skip a video mode, if it is not available, not enough
22016 information is given or it is monochrome. Show the memory
22017 model. Leave the interpretation of MODEVAR to grub_strtoul
22018 completely.
22019 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22020 (GRUB_MOD_FINI): Likewise.
22021
22022 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22023 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22024 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22025 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22026 grub_strtoul completely.
22027 (real2pm): Removed.
22028 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22029 (GRUB_MOD_FINI): Likewise.
22030
22031 * normal/misc.c: Include grub/mm.h.
22032
22033 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22034 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22035 (vbe_list_modes_mod_SOURCES): Removed.
22036 (vbe_list_modes_mod_CFLAGS): Likewise.
22037 (vbe_test_mod_SOURCES): Likewise.
22038 (vbe_test_mod_CFLAGS): Likewise.
22039 (vbeinfo_mod_SOURCES): New variable.
22040 (vbeinfo_mod_CFLAGS): Likewise.
22041 (vbetest_mod_SOURCES): Likewise.
22042 (vbetest_mod_CFLAGS): Likewise.
22043
992ffbbe 220442005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22045
22046 * normal/misc.c: New file.
22047
22048 * DISTLIST: Added normal/misc.c.
f19dbdb7 22049
992ffbbe 22050 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22051 DISK to HOOK. Call HOOK with DISK.
22052 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22053 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22054 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22055
22056 * normal/menu_entry.c (struct screen): Added a new member
22057 "completion_shown".
22058 (completion_buffer): New global variable.
22059 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22060 (store_completion): New function.
22061 (complete): Likewise.
22062 (clear_completions): Likewise.
22063 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22064 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22065 a tab, call complete.
22066
22067 * normal/completion.c (disk_dev): Removed.
22068 (print_simple_completion): Likewise.
22069 (print_partition_completion): Likewise.
22070 (print_func): New global variable.
22071 (add_completion): Do not take the arguments WHAT or PRINT any
22072 longer. Added a new argument TYPE. Instead of printing directly,
22073 call PRINT_FUNC if not NULL.
22074 All callers changed.
22075 (complete_device): Use a local variable DEV instead of
22076 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22077 (grub_normal_do_completion): Take a new argument HOOK. Do not
22078 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22079 empty string, return NULL instead.
22080 All callers changed.
22081
22082 * normal/cmdline.c (print_completion): New function.
22083
22084 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22085 to HOOK.
22086 All callers changed.
22087
22088 * kern/disk.c (grub_print_partinfo): Removed.
22089
22090 * include/grub/partition.h (struct grub_partition_map): Add a new
22091 argument DISK into HOOK of ITERATE.
22092 (grub_partition_iterate): Add a new argument DISK to HOOK.
22093
22094 * include/grub/normal.h (enum grub_completion_type): New enum.
22095 (grub_completion_type_t): New type.
22096 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22097 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22098 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22099 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22100 (grub_normal_do_completion): Added a new argument HOOK.
22101 (grub_normal_print_device_info): New prototype.
22102
22103 * include/grub/disk.h (grub_print_partinfo): Removed.
22104
22105 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22106 (normal_mod_SOURCES): Likewise.
22107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22108 (normal_mod_SOURCES): Likewise.
22109
22110 * commands/ls.c (grub_ls_list_disks): Use
22111 grub_normal_print_device_info instead of grub_print_partinfo. Free
22112 PNAME.
22113 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22114 duplicating the code.
22115
0bd41162 221162005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22117
22118 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 22119 follow GCS more precisely.
22120 * commands/i386/pc/vbe_test.c: Likewise.
22121 * include/grub/i386/pc/vbe.h: Likewise.
22122 * term/i386/pc/vesafb.c: Likewise.
22123 * video/i386/pc/vbe.c: Likewise.
0bd41162 22124
6323696a 221252005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22126
22127 * DISTLIST: Added term/i386/pc/vesafb.c
22128 DISTLIST: Added video/i386/pc/vbe.c
22129 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22130 DISTLIST: Added commands/i386/pc/vbe_test.c.
22131 * commands/i386/pc/vbe_list_modes.c: New file.
22132 * commands/i386/pc/vbe_test.c: Likewise.
22133 * term/i386/pc/vesafb.c: Likewise.
22134 * video/i386/pc/vbe.c: Likewise.
22135 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22136 (grub_vbe_probe) Added prototype.
22137 (grub_vbe_set_video_mode) Likewise.
22138 (grub_vbe_get_video_mode) Likewise.
22139 (grub_vbe_get_video_mode_info) Likewise.
22140 (grub_vbe_set_pixel_rgb) Likewise.
22141 (grub_vbe_set_pixel_index) Likewise.
22142 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22143 (pkgdata_MODULES): Added vesafb.mod.
22144 (pkgdata_MODULES): Added vbe_list_modes.mod.
22145 (pkgdata_MODULES): Added vbe_test.mod.
22146 (vbe_mod_SOURCES): Added.
22147 (vbe_mod_CFLAGS): Likewise.
22148 (vesafb_mod_SOURCES): Likewise.
22149 (vesafb_mod_CFLAGS): Likewise.
22150 (vbe_list_modes_mod_SOURCES): Likewise.
22151 (vbe_list_modes_mod_CFLAGS): Likewise.
22152 (vbe_test_mod_SOURCES): Likewise.
22153 (vbe_test_mod_CFLAGS): Likewise.
22154
0a74e62f 221552005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22156
0a74e62f 22157 * normal/command.c (grub_command_execute): If INTERACTIVE is
22158 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22159 CMDLINE. Disable the pager if INTERACTIVE is true.
22160 All callers are changed.
22161
22162 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22163 before reading a config file.
22164 * normal/main.c (read_config_file): Even if a command is not
22165 found, register it if it is within an entry.
22166
22167 * util/grub-emu.c: Include sys/types.h and unistd.h.
22168 (options): Added --hold.
22169 (struct arguments): Added a new member "hold".
22170 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22171 missing.
22172 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22173 cleared by a debugger, if it is not zero.
22174
22175 * include/grub/normal.h (grub_command_execute): Add an argument
22176 INTERACTIVE.
22177
e51f85ae 221782005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22179
22180 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22181
e9c6f39b 221822005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22183
22184 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22185 program with another one, because the old one didn't detect a bug
22186 in gcc-3.4. Always use regparm 2, because the new test is still
22187 not enough for gcc-4.0. Someone must investigate a simple test
22188 case which detects a bug in gcc-4.0.
22189
8de3495c 221902005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22191
22192 * DISTLIST: Added normal/completion.c.
22193
22194 * normal/completion.c: New file.
f19dbdb7 22195
8de3495c 22196 * term/i386/pc/console.c (grub_console_getwh): New function.
22197 (grub_console_term): Assign grub_console_getwh to getwh.
22198
22199 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22200 function is defined in normal/completion.c as
22201 grub_normal_do_completion.
22202 (grub_cmdline_get): Use grub_normal_do_completion instead of
22203 grub_tab_complete.
22204
22205 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22206 returns non-zero, otherwise return 0.
22207 (grub_partition_iterate): First, probe the partition map. Then,
22208 call ITERATE only for this partition map.
22209
22210 * kern/misc.c (grub_strncmp): Rewritten.
22211
22212 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22213 returns non-zero. Otherwise return 0.
22214
22215 * include/grub/partition.h (grub_partition_map_iterate): Return
22216 int instead of void.
22217
22218 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22219
22220 * include/grub/misc.h (grub_strncmp): Change the type of N to
22221 grub_size_t.
22222
22223 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22224 of void.
22225
22226 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22227 unsigned explicitly before comparing it with I.
8de3495c 22228
22229 * kern/main.c (grub_env_write_root): Add the attribute unused into
22230 VAR.
22231
22232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22233 normal/completion.c.
22234 (normal_mod_SOURCES): Likewise.
22235 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22236 (normal_mod_SOURCES): Likewise.
22237
22238 * normal/command.c (grub_iterate_commands): If ITERATE returns
22239 non-zero, return one immediately.
22240
e85e144b 222412005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22242
22243 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22244 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22245 descriptions.
22246 (grub_vbe_get_controller_info): New function.
22247 (grub_vbe_get_mode_info): Likewise.
22248 (grub_vbe_set_mode): Likewise.
22249 (grub_vbe_get_mode): Likewise.
22250 (grub_vbe_set_memory_window): Likewise.
22251 (grub_vbe_get_memory_window): Likewise.
22252 (grub_vbe_set_scanline_length): Likewise.
22253 (grub_vbe_get_scanline_length): Likewise.
22254 (grub_vbe_set_display_start): Likewise.
22255 (grub_vbe_get_display_start): Likewise.
22256 (grub_vbe_set_palette_data): Likewise.
22257 * include/grub/i386/pc/vbe.h: New file.
22258
c46153d2 222592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22260
22261 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22262 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22263 * DISTLIST: Likewise.
22264 * kern/ieee1275/of.c: Moved to ...
22265 * kern/ieee1275/ieee1275.c: ... here.
22266
0cb90c45 222672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22268
22269 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22270 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22271 Pass 0 as `end' parameter to grub_strtoul().
22272
a19fb360 222732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22274
22275 * include/grub/powerpc/ieee1275/console.h: Do not include
22276 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22277 ifdef.
22278 (grub_console_cur_color): Remove i386-specific prototype.
22279 (grub_console_real_putchar): Likewise.
22280 (grub_console_checkkey): Likewise.
22281 (grub_console_getkey): Likewise.
22282 (grub_console_getxy): Likewise.
22283 (grub_console_gotoxy): Likewise.
22284 (grub_console_cls): Likewise.
22285 (grub_console_setcursor): Likewise.
22286 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22287 Include <grub/machine/console.h>.
22288 * term/ieee1275/ofconsole.c: Likewise.
22289
4ac9bd04 222902005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22291
22292 * Makefile.in (LIBLZO): New variable.
22293
22294 * configure.ac: Check for LZO version 2.
22295
22296 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22297 lzo/lzo1x.h instead of lzo1x.h.
22298
22299 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22300 of -llzo.
22301
22302 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22303 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22304
22305 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22306 copying the data from PARTITION to P.
22307
f4917dfd 223082005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22309
22310 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22311 negative, unload the module.
22312
22313 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22314 map is "pc_partition_map" but not "pc".
22315 (usage): Fix the description. The options are --boot-image and
22316 --core-image but not --boot-file or --core-file.
22317 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22318 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22319 DEFAULT_DIRECTORY.
22320
22321 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22322 --core-file. Specify INSTALL_DEVICE as an argument.
22323
22324 * util/console.c: Include config.h.
22325 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22326 [HAVE_NCURSES_H]: Include ncurses.h.
22327 [HAVE_CURSES_H]: Include curses.h.
22328 [!A_NORMAL] (A_NORMAL): Defined as zero.
22329 [!A_STANDOUT] (A_STANDOUT): Likewise.
22330
22331 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22332 -lncurses.
22333 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22334
22335 * configure.ac: Check for curses libraries and headers.
22336
22337 * Makefile.in (LIBCURSES): New variable.
22338
22339 * genmk.rb (Script::rule): Set the executable bits.
22340
22341 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22342 name of the PC partition map is "pc_partition_map" but not "pc".
22343
0e143073 223442005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22345
22346 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22347 (modules): Likewise.
22348 (usage): Added descriptions for --modules and --grub-probefs.
22349 Handle --modules and --grub-probefs. Save the arguments in MODULES
22350 and GRUB_PROBEFS, respectively.
22351 Auto-detect a filesystem module against GRUBDIR. If the result is
22352 empty and modules are not specified explicitly, abort the
22353 installation. Add the result to MODULES.
22354
22355 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22356 disk/powerpc/ieee1275/ofdisk.c,
22357 include/grub/powerpc/ieee1275/init.h and
22358 term/powerpc/ieee1275/ofconsole.c.
22359 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22360 term/ieee1275/ofconsole.c.
22361
22362 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22363
22364 * COPYING: Upgraded to the latest version. Only the address of the
22365 FSF office has changed.
f19dbdb7 22366
efd6e6d5 223672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22368
22369 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22370 kern/ieee1275.c with kern/ieee1275/of.c.
22371
22372 * kern/ieee1275.c: Moved to ...
22373 * kern/ieee1275/of.c: ... here.
22374
8ceafda2 223752005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22376
22377 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22378 readability.
8ceafda2 22379
22380 * config.guess: Updated to the latest version from gnulib.
22381 * config.sub: Likewise.
22382 * install.sh: Likewise.
22383 * mkinstalldirs: Likewise.
22384
22385 * include/grub/console.h: Removed. This file is arch-specific. Do
22386 not put this in include/grub.
22387
22388 * include/grub/i386/pc/console.h: Resurrected.
22389
22390 * util/console.c: Include grub/machine/console.h instead of
22391 grub/console.h.
22392 * util/grub-emu.c: Likewise.
22393
267f6cd9 223942005-08-04 Marco Gerards <metgerards@student.han.nl>
22395
22396 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22397 hardcoded value.
f19dbdb7 22398
267f6cd9 22399 From Vincent Pelletier <subdino2004@yahoo.fr>
22400 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22401 Redefined to use grub_getwh.
22402 (grub_term): New member named getwh.
22403 (grub_getwh): New prototype.
22404 * kern/term.c (grub_getwh): New function.
22405 * term/i386/pc/console.c (grub_console_getwh): New function.
22406 (grub_console_term): New member `getwh'.
22407 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22408 (grub_vga_term): New member `getwh'.
0b5abe02 22409 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22410 grub_ssize_t.
22411 (grub_ofconsole_getw): New function.
22412 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22413 (grub_ofconsole_term): New field named getwh and new initial
22414 value.
22415
3be7266d 224162005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22417
22418 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22419 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22420 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22421 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22422 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22423 of <grub/machine/ieee1275.h>.
22424 * commands/ieee1275/reboot.c: Likewise.
22425 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22426 * kern/ieee1275.c: ... to here. All users updated. Change all
22427 parameter structs to use new type `grub_ieee1275_cell_t'.
22428 * term/powerpc/ieee1275/ofconsole.c: Move ...
22429 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22430 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22431 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22432 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22433 to return int.
22434 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22435 Remove unused prototypes. All users updated.
22436 * include/grub/powerpc/ieee1275/console.h: Removed.
22437 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22438 `grub_ieee1275_cell_t'.
22439 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22440 Cast comparisons with -1 to the correct type.
22441 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22442 type to match `grub_ieee1275_entry_fn'.
22443
8b5f3938 224442005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22445
22446 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22447
22448 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22449 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22450 partmap/sun.c.
22451 (grub_probefs_SOURCES): New variable.
22452
22453 * util/i386/pc/grub-probefs.c: New file.
22454
22455 * util/i386/pc/grub-setup.c (main): Call
22456 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22457 grub_hfs_init and grub_jfs_init to initialize the system. Call
22458 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22459 grub_pc_partition_map_fini to finish the system.
22460
ea409713 224612005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
22462
22463 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
22464 function.
22465 (grub_multiboot_load_elf32): Likewise.
22466 (grub_multiboot_is_elf64): Likewise.
22467 (grub_multiboot_load_elf64): Likewise.
22468 (grub_multiboot_load_elf): Likewise.
22469 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
22470 an ELF32 or ELF64 file.
22471 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
22472
22473 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
22474 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
22475 NULL before calling FS->LABEL.
22476 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
22477 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
22478 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22479 before calling FS->LABEL.
22480
141a288b 224812005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
22482
22483 * util/i386/pc/grub-install.in (datadir): New variable.
22484 (libdir): Removed.
22485 (pkgdatadir): New variable.
22486 (pkglibdir): Removed.
22487
0d5f8a54 224882005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
22489
22490 * DISTLIST: Added util/i386/pc/grub-install.in.
22491
22492 * util/i386/pc/grub-install.in: New file.
22493
22494 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
22495 (grub_install_SOURCES): Likewise.
22496
22497 * genmk.rb: Added support for scripts.
22498 (Script): New class.
22499 (scripts): New variable.
22500
22501 * Makefile.in (install-local): Install sbin_SCRIPTS by
22502 INSTALL_SCRIPT.
22503 (uninstall): Remove sbin_SCRIPTS.
22504
22505 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
22506 device, try to get a GRUB device by
22507 grub_util_biosdisk_get_grub_dev.
22508 Free DEST_DEV.
22509
22510 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
22511 description for --device-map.
22512
5f968e1e 225132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22514
22515 Change the semantics of variable hooks. They now return strings
22516 instead of error values.
f19dbdb7 22517
5f968e1e 22518 * util/i386/pc/grub-setup.c: Include grub/env.h.
22519 (setup): Use grub_device_set_root instead of grub_env_set.
22520
22521 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
22522 grub_env_get instead of grub_device_set_root and
22523 grub_device_get_root, respectively.
22524
22525 * kern/main.c (grub_env_write_root): New function.
22526 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
22527 grub_env_set instead of grub_device_set_root.
22528
22529 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
22530 many variables.
22531 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
22532 rather than calling ENV->WRITE_HOOK afterwards.
22533 (grub_env_get): Return the result of ENV->READ_HOOK rather than
22534 passing a pointer of a pointer.
22535 (grub_register_variable_hook): Change the types of "read_hook" and
22536 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
22537 respectively.
22538 Allocate the default empty string on the heap, because this string
22539 may be freed later.
22540
22541 * kern/device.c: Include grub/env.h.
22542 (grub_device_set_root): Removed.
22543 (grub_device_get_root): Likewise.
22544 (grub_device_open): Use grub_env_get instead of
22545 grub_device_get_root.
22546
22547 * include/grub/env.h (grub_env_read_hook_t): New type.
22548 (grub_env_write_hook_t): Likewise.
22549 (grub_env_var): Change the types of "read_hook" and "write_hook"
22550 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
22551 (grub_register_variable_hook): Likewise.
22552
22553 * include/grub/device.h (grub_device_set_root): Removed.
22554 (grub_device_set_root): Likewise.
22555
22556 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
22557 make sure that DIRNAME terminates with '/', so that
22558 grub_fat_find_dir will fail if PATH is not a directory.
22559
22560 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
22561 from DIRNAME.
22562 Use the qualifier auto for print_files and print_files_long.
22563 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
22564 as a regular file.
22565 Put a newline only if there is no error.
22566 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
22567 used.
22568
896f0afd 225692005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22570
22571 * kern/partition.c (grub_partition_probe): Initialize PART to
22572 NULL. Otherwise, when no partition map is registered, this returns
22573 a garbage.
22574
b28b81b2 225752005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
22576
22577 * partmap/apple.c (apple_partition_map_iterate): Check if POS
22578 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
22579 valid.
22580
5f3607e0 225812005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
22582
22583 * commands/ls.c (grub_ls_list_disks): Print the filesystem
22584 information on each device, if it does not have partitions. Print
22585 "Device" instead of "Disk", because this function is not specific
22586 to disk devices.
22587
22588 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
22589 static to ensure that it is put on the memory rather than a
22590 register.
22591
502c87e8 225922005-07-17 Yoshinori Okuji <okuji@enbug.org>
22593
22594 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
22595 (grub_cat_init): Likewise.
22596 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
22597 (options): Likewise.
22598 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22599 (grub_configfile_init): Likewise.
22600 * font/manager.c (GRUB_MOD_INIT): Likewise.
22601 * commands/help.c (GRUB_MOD_INIT): Likewise.
22602 (grub_help_init): Likewise.
22603 * normal/command.c (grub_command_init): Likewise.
22604 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
22605 * disk/loopback.c (grub_loop_init): Likewise.
22606 (GRUB_MOD_INIT): Likewise.
22607 * commands/ls.c (grub_ls_init): Likewise.
22608 (GRUB_MOD_INIT): Likewise.
22609 (options): Likewise.
22610 * commands/boot.c (grub_boot_init): Likewise.
22611 (GRUB_MOD_INIT): Likewise.
22612 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
22613 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
22614 (GRUB_MOD_INIT): Likewise.
22615 * commands/cmp.c (grub_cmp_init): Likewise.
22616 (GRUB_MOD_INIT): Likewise.
22617
22618 * normal/arg.c: Use <> instead of "" to include header files.
22619 (SHORT_ARG_HELP): New macro.
22620 (SHORT_ARG_USAGE): Likewise.
22621 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
22622 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
22623 descriptions.
22624 (find_short): Check if C is 'h' or 'u' explicitly.
22625 (grub_arg_show_help): Use space characters instead of tabs. Treat
22626 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
22627 are shown with --help and --usage only if they are not used for
22628 the command itself.
22629 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
22630 'h' and 'u'.
22631
22632 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
22633 const into "longarg". Change the type of "shortarg" to int.
22634
f806d18e 226352005-07-17 Yoshinori Okuji <okuji@enbug.org>
22636
22637 * boot/i386/pc/boot.S (boot_drive_check): New label.
22638
22639 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
22640 macro.
22641
22642 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
22643 which do not pass a boot drive correctly. Copied from GRUB Legacy.
22644
e293232b 226452005-07-17 Yoshinori Okuji <okuji@enbug.org>
22646
22647 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
22648 When turning off Gate A20, skip the check and return immediately,
22649 because this is not fatal usually.
22650
ebedfd00 226512005-07-17 Yoshinori Okuji <okuji@enbug.org>
22652
22653 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
22654 be 0x7C00 instead of 0x8000.
22655
22656 * boot/i386/pc/pxeboot.S: Rewritten.
22657
22658 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
22659 EXT_C.
22660 (gate_a20_check_state): Read a byte from 0x108000. Invert the
22661 result.
22662
654fc59f 226632005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
22664
22665 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
22666 robustness. This routine now supports a BIOS call and System
22667 Control Port A to modify the gate A20.
22668
22669 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22670 Increased to 0x440.
22671
09f9923f 226722005-07-12 Hollis Blanchard <hollis@penguinppc.org>
22673
22674 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
22675 device path and resulting ihandle.
22676 (grub_ofdisk_close): dprintf the ihandle being closed.
22677 (grub_ofdisk_read): dprintf function parameters.
22678 * kern/mm.c (grub_mm_init_region): Likewise.
22679 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
22680 (grub_linux_boot): dprintf the Linux entry point, initrd address and
22681 size, and boot arguments.
22682 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
22683 before loading into memory.
22684 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
22685 before loading into memory.
22686
7ef504d8 226872005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
22688
22689 * kern/mm.c: Added much documentation.
22690 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
22691 8, set to 5 instead of 8.
22692
e0f050c2 226932005-07-10 Yoshinori Okuji <okuji@enbug.org>
22694
22695 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
22696
22697 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
22698 (grub_mkdevicemap_SOURCES): New variable.
22699
22700 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
22701 lib/device.c of GRUB Legacy.
22702
7224189a 227032005-07-10 Yoshinori Okuji <okuji@enbug.org>
22704
22705 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
22706 instead of PATH is NULL.
22707
68c864eb 227082005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
22709
22710 * commands/cmp.c (BUFFER_SIZE): New macro.
22711 (grub_cmd_cmp): Close the right file at the right time. Compare
22712 only data just read. Don't report files of different size as
22713 identical. Dynamically allocate buffers. Move variable
22714 declarations at the beginning of function.
22715
e6f3e614 227162005-07-09 Yoshinori Okuji <okuji@enbug.org>
22717
22718 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
22719 reverse.
22720
f8f1559a 227212004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
22722
22723 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
22724 when backspace is pressed at beginning of line.
22725
39c9d41d 227262005-07-03 Yoshinori Okuji <okuji@enbug.org>
22727
22728 * DISTLIST: Added genfslist.sh.
22729
22730 * normal/main.c (fs_module_list): New variable.
22731 (autoload_fs_module): New function.
22732 (read_fs_list): Likewise.
22733 (grub_normal_execute): Call read_fs_list.
22734
22735 * kern/fs.c (grub_fs_autoload_hook): New variable.
22736 (grub_fs_probe): Added support for auto-loading.
22737
22738 * include/grub/normal.h (struct grub_fs_module_list): New struct.
22739 (grub_fs_module_list_t): New type.
22740
22741 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
22742 (grub_fs_autoload_hook): New prototype.
22743
22744 * genfslist.sh: New file.
f19dbdb7 22745
39c9d41d 22746 * genmk.rb: Added a rule to generate a filesystem list.
22747
121c1d83 227482005-06-30 Marco Gerards <metgerards@student.han.nl>
22749
22750 * configure.ac: Fix the test for cross-compiling.
22751
22752 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22753 define GRUB_UTIL anymore.
22754
22755 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22756 so this function works on other systems than just big endian.
22757 (load_modules): Likewise.
22758 (add_segments): Likewise.
22759
e75d76e1 227602005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22761
22762 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22763 contains `l' modifier, get a long from va_arg().
22764
50b5a0a7 227652005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22766
22767 * kern/mm.c (grub_free): If the next free block which is being
22768 merged is the first free block, set the first block to the block
22769 being freed.
22770 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22771
89371b20 227722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22773
22774 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22775 `grub_ieee1275_chosen'.
22776
168d6e58 227772005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22778
22779 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22780 (grub_ieee1275_chosen): New variable.
22781 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22782 `chosen'.
22783 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22784 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22785 Rename first argument to `phandle' for consistency.
22786 (grub_ieee1275_get_property_length): Likewise.
22787 (grub_ieee1275_next_property): Likewise. Change type of first argument
22788 to grub_ieee1275_phandle_t.
22789 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22790 Move export next to declaration.
22791 (grub_ieee1275_chosen): New variable.
22792 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22793 Correct cosmetic typo.
22794 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22795 `grub_ieee1275_chosen'.
22796 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22797 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22798 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22799 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22800 `grub_ieee1275_chosen'.
22801
ca5baa3f 228022005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22803
22804 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22805 /chosen/bootargs.
22806 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22807 /chosen/bootargs as "variable=value" pairs.
22808
708b345f 228092005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22810
22811 * include/grub/misc.h (grub_dprintf): New macro.
22812 (grub_real_dprintf): New prototype.
22813 (grub_strword): Likewise.
22814 (grub_iswordseparator): Likewise.
22815 * kern/misc.c (grub_real_dprintf): New function.
22816 (grub_strword): Likewise.
22817 (grub_iswordseparator): Likewise.
22818
f4c5e67c 228192005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22820
22821 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22822 (roundup): Remove macro.
22823 (grub_ieee1275_flags): Make static.
22824 (grub_ieee1275_realmode): Remove.
22825 (grub_ieee1275_test_flag): New function.
22826 (grub_ieee1275_set_flag): Likewise.
22827 (find_options): Rename to `grub_ieee1275_find_options'; update
22828 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22829 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22830 (cmain): New prototype.
22831 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22832 `grub_ieee1275_flags' directly.
22833 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22834 machine/biosdisk.h.
22835 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22836 Don't include grub/machine/init.h.
22837 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22838 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22839 Remove prototype.
22840 (grub_ieee1275_realmode): Likewise.
22841 (grub_ieee1275_flag): New enum.
22842 (grub_ieee1275_test_flag): New prototype.
22843 (grub_ieee1275_set_flag): New prototype.
22844 * include/grub/powerpc/ieee1275/init.h: Remove file.
22845 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22846 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22847 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22848 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22849 comment.
22850 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22851 `grub_ieee1275_test_flag'.
22852 (grub_ieee1275_encode_devname): Likewise.
22853
ed16607e 228542005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22855
22856 * include/grub/powerpc/ieee1275/ieee1275.h
22857 (grub_ieee1275_encode_devname): New prototype.
22858 (grub_ieee1275_get_filename): Likewise.
22859 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22860 function.
22861 (grub_set_prefix): Likewise.
22862 (grub_machine_init): Call grub_set_prefix.
22863 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22864 (grub_parse_type): New enum.
22865 (grub_ieee1275_get_devargs): New function.
22866 (grub_ieee1275_get_devname): Likewise.
22867 (grub_ieee1275_parse_args): Likewise.
22868 (grub_ieee1275_get_filename): Likewise.
22869 (grub_ieee1275_encode_devname): Likewise.
22870
be369920 228712005-03-30 Marco Gerards <metgerards@student.han.nl>
22872
22873 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22874 `grub_loader_unset'.
22875
a5ce3a4a 228762005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22877
22878 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22879 instead of grub_ieee1275_interpret.
22880 (grub_halt_init): New function.
22881 (grub_halt_fini): Likewise.
22882 (GRUB_MOD_INIT): Correct message grammar.
22883 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22884 instead of grub_ieee1275_interpret.
22885 (grub_reboot_init): New function.
22886 (grub_reboot_fini): Likewise.
22887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22888 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22889 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22890 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22891 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22892 function.
22893 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22894 Add prototype.
22895 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22896 prototype.
22897 (grub_halt): Likewise.
22898 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22899 (cmain): Remove __attribute__((unused)).
22900 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22901 (grub_heap_len): Likewise.
22902 (grub_machine_fini): New function.
22903 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22904 (grub_halt): Likewise.
22905 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22906 function.
22907 * util/powerpc/ieee1275/misc.c: New file.
22908
0058f771 229092005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22910
22911 * DISTLIST: New file.
22912 * gendistlist.sh: Likewise.
f19dbdb7 22913
0058f771 22914 * Makefile.in (COMMON_DISTFILES): Removed.
22915 (BOOT_DISTFILES): Likewise.
22916 (CONF_DISTFILES): Likewise.
22917 (DISK_DISTFILES): Likewise.
22918 (FS_DISTFILES): Likewise.
22919 (INCLUDE_DISTFILES): Likewise.
22920 (KERN_DISTFILES): Likewise.
22921 (LOADER_DISTFILES): Likewise.
22922 (TERM_DISTFILES): Likewise.
22923 (UTIL_DISTFILES): Likewise.
22924 (DISTFILES): Likewise.
22925 (uninstall): Uninstall files in $(pkgdata_DATA).
22926 (DISTLIST): New target.
22927 (distdir): Use the contents of the file DISTLIST to get a list of
22928 distributed files.
22929
46b3b8a5 229302005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22931
22932 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
22933 descriptor. This is ported from GRUB Legacy.
22934
22935 * gencmdlist.sh: Added an extra semicolon to make it work with
22936 old sed versions. Reported by Robert Bihlmeyer
22937 <robbe@orcus.priv.at>.
22938
5822ff87 229392005-03-08 Yoshinori Okuji <okuji@enbug.org>
22940
22941 Automatic loading of commands is supported.
f19dbdb7 22942
5822ff87 22943 * normal/main.c (read_command_list): New function.
22944 (grub_normal_execute): Call read_command_list.
22945
22946 * normal/command.c (grub_register_command): Return zero or CMD.
22947 Allocate CMD->NAME from the heap.
22948 Initialize CMD->MODULE_NAME to zero.
22949 Find the same name as well. If the same command is found and it is
22950 a dummy command, overwrite members. If it is not a dummy command,
22951 return zero.
22952 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22953 (grub_command_find): If a dummy command is found, load a module
22954 and retry to find a command only once.
22955
22956 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22957 make sure that each command is loaded.
22958
22959 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22960 macro.
22961 (struct grub_command): Remove const from the member `name'.
22962 Add a new member `module_name'.
22963 (grub_register_command): Return grub_command_t.
22964
22965 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22966 sure that each command is loaded.
22967
22968 * genmk.rb (PModule::rule): Specify a module name without the
22969 suffix ".mod" to gencmdlist.sh.
22970
7b1f4b57 229712005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22972
22973 * gencmdlist.sh: New file.
f19dbdb7 22974
7b1f4b57 22975 * genmk.rb (PModule::rule): Generate a rule for a command list.
22976 Clean command.lst.
22977 Generate command.lst from $(COMMANDFILES).
22978
22979 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22980 (DATA): Added $(pkgdata_DATA).
22981 (install-local): Install files in $(pkgdata_DATA).
22982
062aaf39 229832005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22984
22985 * term/i386/pc/vga.c (debug_command): Removed.
22986 (GRUB_MOD_INIT): Do not register the command "debug".
22987
22988 From Hollis Blanchard:
22989 * commands/configfile.c: New file.
22990 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22991 commands/configfile.c.
22992 (pkgdata_MODULES): Added configfile.mod.
22993 (configfile_mod_SOURCES): New variable.
22994 (configfile_mod_CFLAGS): Likewise.
22995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22996 commands/configfile.c.
22997 (pkgdata_MODULES): Added configfile.mod.
22998 (configfile_mod_SOURCES): New variable.
22999 (configfile_mod_CFLAGS): Likewise.
23000 * util/grub-emu.c (main): Call grub_configfile_init and
23001 grub_configfile_fini.
23002 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
23003 prototype.
23004 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 23005
cee01aa6 230062005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23007
23008 * normal/arg.c (grub_arg_show_help): Do not show the bug report
23009 address.
23010
23011 * commands/help.c (grub_cmd_help): Do not print newlines after
23012 the last command in print_command_help.
23013
93f3a1d8 230142005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23015
23016 * commands/default.h: New file.
23017 * commands/timeout.h: Likewise.
23018 * normal/context.c: Likewise.
f19dbdb7 23019
93f3a1d8 23020 * util/misc.c: Do not include sys/times.h.
23021 Include sys/time.h and grub/machine/time.h.
23022 (grub_get_rtc): Rewritten with gettimeofday.
23023
23024 * util/grub-emu.c (main): Call grub_default_init and
23025 grub_timeout_init before grub_normal_init, and call
23026 grub_timeout_fini and grub_default_fini after grub_main.
23027
23028 * util/console.c (grub_ncurses_checkkey): Return the read
23029 character or -1.
23030
23031 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23032 timeouts.
23033
23034 * normal/main.c (read_config_file): Push MENU. If this fails,
23035 print an error and wait for a user input.
23036 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23037 If a menu is empty or an error occurs, pop MENU.
23038 (grub_normal_execute): Pop and free MENU after grub_menu_run
23039 returns.
23040
23041 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23042
23043 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23044 include time.h.
23045 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23046 without GRUB_UTIL.
23047 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23048 time.h.
23049 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23050 without GRUB_UTIL.
23051
23052 * include/grub/normal.h (struct grub_menu_list): New struct.
23053 (grub_menu_list_t): New type.
23054 (struct grub_context): New struct.
23055 (grub_context_t): New type.
23056 (grub_register_command): Got rid of EXPORT_FUNC.
23057 (grub_unregister_command): Likewise.
23058 (grub_context_get): New prototype.
23059 (grub_context_get_current_menu): Likewise.
23060 (grub_context_push_menu): Likewise.
23061 (grub_context_pop_menu): Likewise.
23062 [GRUB_UTIL] (grub_default_init): Likewise.
23063 [GRUB_UTIL] (grub_default_fini): Likewise.
23064 [GRUB_UTIL] (grub_timeout_init): Likewise.
23065 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23066
23067 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23068 commands/timeout.c and normal/context.c.
23069 (pkgdata_MODULES): Added default.mod and timeout.mod.
23070 (normal_mod_SOURCES): Added normal/context.c.
23071 (default_mod_SOURCES): New variable.
23072 (default_mod_CFLAGS): Likewise.
23073 (timeout_mod_SOURCES): Likewise.
23074 (timeout_mod_CFLAGS): Likewise.
23075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23076 conf/i386-pc.rmk.
23077 (pkgdata_MODULES): Added default.mod and timeout.mod.
23078 (normal_mod_SOURCES): Added normal/context.c.
23079 (default_mod_SOURCES): New variable.
23080 (default_mod_CFLAGS): Likewise.
23081 (timeout_mod_SOURCES): Likewise.
23082 (timeout_mod_CFLAGS): Likewise.
23083
23084 * Makefile.in (all-local): Added $(MKFILES).
23085
4ed2e1dd 230862005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23087
23088 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23089 (grub_emu_SOURCES): Likewise.
23090 (pkgdata_MODULES): Add `sun.mod'.
23091 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23093 `partmap/sun.c'.
23094 (pkgdata_MODULES): Add `sun.mod'.
23095 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23096 * include/grub/partition.h (grub_sun_partition_map_init): New
23097 prototype.
23098 (grub_sun_partition_map_fini): Likewise.
23099 * partmap/sun.c: New file.
23100 * util/grub-emu.c (main): Initialize and de-initialize the sun
23101 partitionmap support.
23102
4d4e372e 231032005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23104
23105 This implements an Emacs-like menu entry editor.
f19dbdb7 23106
4d4e372e 23107 * normal/menu_entry.c: New file.
f19dbdb7 23108
4d4e372e 23109 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23110 characters to ASCII.
23111 (saved_char): New variable.
23112 (grub_ncurses_checkkey): Rewritten completely.
23113 (grub_ncurses_getkey): Likewise.
23114 (grub_ncurses_init): Call raw instead of cbreak.
23115
23116 * normal/menu.c (print_entry): Do not put a space.
23117 (init_page): Renamed to ...
23118 (grub_menu_init_page): ... this. All callers changed.
23119 (edit_menu_entry): Removed.
23120 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23121
23122 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23123
23124 * kern/misc.c (grub_vprintf): Call grub_refresh.
23125
23126 * normal/menu.c (DISP_LEFT): Renamed to ...
23127 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23128 * normal/menu.c (DISP_UP): Renamed to ...
23129 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23130 * normal/menu.c (DISP_RIGHT): Renamed to ...
23131 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23132 * normal/menu.c (DISP_DOWN): Renamed to ...
23133 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23134 * normal/menu.c (DISP_HLINE): Renamed to ...
23135 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23136 * normal/menu.c (DISP_VLINE): Renamed to ...
23137 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23138 * normal/menu.c (DISP_UL): Renamed to ...
23139 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23140 * normal/menu.c (DISP_UR): Renamed to ...
23141 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23142 * normal/menu.c (DISP_LL): Renamed to ...
23143 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23144 * normal/menu.c (DISP_LR): Renamed to ...
23145 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23146 * normal/menu.c (TERM_WIDTH): Renamed to ...
23147 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23148 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23149 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23150 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23151 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23152 * normal/menu.c (TERM_MARGIN): Renamed to ...
23153 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23154 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23155 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23156 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23157 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23158 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23159 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23160 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23161 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23162 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23163 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23164 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23165 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23166 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23167 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23168 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23169 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23170 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23171 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23172 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23173 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23174 All callers changed.
23175
23176 * include/grub/normal.h: New prototype.
23177
23178 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23179 normal/menu_entry.c.
23180 (normal_mod_SOURCES): Likewise.
23181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23182 (normal_mod_SOURCES): Likewise.
23183
e6b92c8a 231842005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23185
23186 * include/grub/normal.h (grub_halt_init): New prototype.
23187 (grub_halt_fini): Likewise.
23188 (grub_reboot_init): Likewise.
23189 (grub_reboot_fini): Likewise.
23190
23191 * util/grub-emu.c: Include signal.h.
23192 (main_env): New global variable.
23193 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23194 catch C-c.
23195 (grub_machine_fini): New function.
23196 (main): Call grub_halt_init and grub_reboot_init before
23197 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23198 Call setjmp with MAIN_ENV to go back afterwards.
23199 Call grub_machine_fini right before return.
23200
23201 * include/grub/util/misc.h: Include setjmp.h.
23202 (main_env): New prototype.
23203
23204 * include/grub/kernel.h (grub_machine_fini): New prototype.
23205 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23206 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23207
23208 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23209 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23210 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23211
e6b92c8a 23212 * util/i386/pc/misc.c: New file.
f19dbdb7 23213
e6b92c8a 23214 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23215 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23216 commands/i386/pc/reboot.c.
23217
c642636f 232182005-02-14 Guillem Jover <guillem@hadrons.org>
23219
23220 * include/grub/dl.h (grub_dl_check_header): New prototype.
23221 (grub_arch_dl_check_header): Change return type to grub_err_t,
23222 remove size parameter and export function. Update all callers.
23223 * kern/dl.c (grub_dl_check_header): New function.
23224 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23225 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23226 are inside the core.
23227 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23228 independent ELF header checks.
23229 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23230 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23231 `grub_dl_check_header' instead of explicit checks. Check for the
23232 ELF type.
23233 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23234 `grub_dl_check_header' instead of explicit checks. Remove arch
23235 specific ELF header checks.
23236
e6b92c8a 23237 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23238 argument SIZE.
23239
5eabe94b 232402005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23241
23242 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23243 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23244
1b14a681 232452005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23246
23247 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 23248 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 23249 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 23250 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 23251 * partmap/amiga.c (amiga_partition_map_iterate): Return
23252 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23253 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23254
aca108aa 232552005-02-01 Guillem Jover <guillem@hadrons.org>
23256
23257 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23258 help info.
23259
c9f9c556 232602005-01-31 Marco Gerards <metgerards@student.han.nl>
23261
23262 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23263 Removed prototype.
23264 (grub_rescue_cmd_linux): New prototype.
23265 (grub_rescue_cmd_initrd): Likewise.
23266 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23267 `bi_rec'.
23268 (grub_linux_release_mem): Release the memory for the initrd.
23269 (grub_load_linux): Renamed from this...
23270 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23271 Changed `entry' not to be static. Loop over memory regions to
23272 find another one when the default fails.
23273 (grub_rescue_cmd_initrd): New function.
23274 (grub_linux_init): Remove function.
23275 (grub_linux_fini): Likewise.
23276 (GRUB_MOD_INIT): Register `initrd'.
23277 (GRUB_MOD_FINI): Unregister `initrd'.
23278 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23279 Function removed.
23280 (grub_linux_normal_fini): Likewise.
23281 (GRUB_MOD_INIT): Register `initrd'.
23282 (GRUB_MOD_FINI): Unregister `initrd'.
23283
990cf3aa 232842005-01-31 Marco Gerards <metgerards@student.han.nl>
23285
23286 * commands/help.c: New file.
23287 * normal/arg.c (show_help): Renamed to...
23288 (grub_arg_show_help): ... this.
23289 * commands/i386/pc/halt.c: New file.
23290 * commands/i386/pc/reboot.c: Likewise.
23291 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23292 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23293 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23294 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23295 variables.
23296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23297 `commands/help.c'.
23298 (pkgdata_MODULES): Add `help.mod'.
23299 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23300 * grub/i386/pc/init.h (grub_reboot): New prototype.
23301 (grub_halt): Likewise.
23302 * include/grub/normal.h (grub_arg_show_help): New prototype.
23303 (grub_help_init): Likewise.
23304 (grub_help_fini): Likewise.
23305 * util/grub-emu.c (main): Initialize and deinitialize the help
23306 command.
23307
23308 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23309
23310 * normal/command.c (grub_command_init): Fixed the description of
23311 the `set' and `unset' commands.
23312
233132005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23314
23315 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23316 function.
23317 * commands/ieee1275/halt.c: New file.
23318 * commands/ieee1275/reboot.c: Likewise.
23319 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23320 `__attribute__ ((unused))'. Some GCS related fixed.
23321 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23322 (grub_suspend_fini): Likewise.
23323 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23324 and `halt.mod'.
23325 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23326 (halt_mod_CFLAGS): New variables.
23327 * include/grub/powerpc/ieee1275/ieee1275.h
23328 (grub_ieee1275_interpret): New prototype.
23329
1ab09cc7 233302005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23331
23332 * include/grub/misc.h (memmove): New prototype.
23333 (memcpy): Likewise.
23334
8b8cbdb2 233352005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23336
23337 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23338 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23339
e3741a27 233402005-01-22 Marco Gerards <metgerards@student.han.nl>
23341
23342 * kern/misc.c (grub_strndup): Function rewritten.
23343
776bd780 233442005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23345
23346 * normal/menu.c (TERM_WIDTH): Macro redefined.
23347 (TERM_TOP_BORDER_Y): Likewise.
23348 (draw_border): Replaced while-loop by a for-loop. Make the number
23349 of lines consistent with the number of lines displayed in
23350 print_entries. Added a margin below the rectangle.
23351 (print_entry): Make the entry fit in the rectangle.
23352 (print_entries): Display the scroll arrows next to the right
23353 border.
23354
78026bce 233552005-01-21 Marco Gerards <metgerards@student.han.nl>
23356
23357 * fs/minix.c (grub_minix_find_file): Reserve more space for
23358 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23359 `grub_strncpy' to copy `path' into it.
23360
67bbaf0f 233612005-01-21 Marco Gerards <metgerards@student.han.nl>
23362
23363 Add the loopback device, a device via which files can be accessed
23364 as devices.
f19dbdb7 23365
67bbaf0f 23366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23367 (pkgdata_MODULES): Add loopback.mod.
23368 (loopback_mod_SOURCES): New variable.
23369 (loopback_mod_CFLAGS): Likewise.
23370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23371 `disk/loopback.c'.
23372 (pkgdata_MODULES): Add loopback.mod.
23373 (loopback_mod_SOURCES): New variable.
23374 (loopback_mod_CFLAGS): Likewise.
23375 * disk/loopback.c: new file.
23376 * include/grub/normal.h (grub_loop_init): New prototype.
23377 (grub_loop_fini): New prototype.
23378 * util/grub-emu.c (main): Initialize and de-initialize loopback
23379 support.
23380 * include/grub/disk.h (grub_disk_dev_id): Add
23381 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23382
6f1c18bd 233832005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23384
23385 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23386 function.
23387 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23388 (suspend_mod_SOURCES): New variable.
23389 (suspend_mod_CFLAGS): Likewise.
23390 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23391 New prototype.
23392 * commands/ieee1275/suspend.c: New file.
23393
b38551da 233942005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23395
23396 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23397 ((unused))' to `__attribute__ ((used))'.
b38551da 23398 (GRUB_MOD_FINI): Likewise.
23399 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23400 * genmk.rb (PModule): Assign space to common symbols when linking
23401 modules.
23402
777aff39 234032005-01-20 Marco Gerards <metgerards@student.han.nl>
23404
23405 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23406 `unsigned' arguments to `grub_size_t'.
23407 (grub_malloc): Likewise.
23408 (grub_realloc): Likewise.
23409 (grub_memalign): Likewise.
23410 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23411 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23412 * util/misc.c (grub_malloc): Likewise.
23413 (grub_realloc): Likewise.
23414 * kern/mm.c (get_header_from_pointer): Change the casts to
23415 `unsigned' into a cast to `grub_size_t'.
23416
23417 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23418 point to `currnode' when `currnode' is changed.
23419
23420 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23421 Schottelius <nico-linux@schottelius.org>.
23422
d0ff18e1 234232005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23424
23425 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23426 (note_path): Remove variable.
23427 (GRUB_IEEE1275_NOTE_NAME): New macro.
23428 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23429 (grub_ieee1275_note_hdr): New structure.
23430 (grub_ieee1275_note_desc): Likewise.
23431 (grub_ieee1275_note): Likewise.
23432 (load_note): Remove `dir' argument. All callers updated. Remove
23433 `note_img' and `path'. Do not load a file from `note_path'.
23434 Initialize a struct grub_ieee1275_note and write that to `out'.
23435 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23436
4ca7004c 234372005-01-05 Marco Gerards <metgerards@student.han.nl>
23438
23439 * util/misc.c (grub_util_read_image): Revert last change. It
23440 called `grub_util_read_at', which seeks from the beginning of the
23441 file.
23442
0b412211 234432005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23444
23445 * TODO: Add note about endianness in grub-mkimage.
23446 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23447 section.
23448 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23449 (grub_mkimage_SOURCES): New target.
23450 * include/grub/kernel.h (grub_start_addr): Remove variable.
23451 (grub_end_addr): Likewise.
23452 (grub_total_module_size): Likewise.
23453 (grub_kernel_image_size): Likewise.
23454 (GRUB_MODULE_MAGIC): New constant.
23455 (grub_module_info): New structure.
23456 (grub_arch_modules_addr): New prototype.
23457 (grub_get_end_addr): Remove prototype.
23458 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23459 * include/grub/powerpc/ieee1275/kernel.h: New file.
23460 * include/grub/util/misc.h (grub_util_get_fp_size): New
23461 prototype.
23462 (grub_util_read_at): Likewise.
23463 (grub_util_write_image_at): Likewise.
23464 * kern/main.c (grub_get_end_addr): Remove function.
23465 (grub_load_modules): Call grub_arch_modules_addr instead of using
23466 grub_end_addr. Look for a grub_module_info struct in memory. Use
23467 the grub_module_info fields instead of calling grub_get_end_addr
23468 as loop conditions. Move grub_add_unused_region code here.
23469 (grub_add_unused_region): Remove function.
23470 * kern/i386/pc/init.c: Include grub/cache.h.
23471 (grub_machine_init): Remove call to grub_get_end_addr. Remove
23472 one call to add_mem_region.
23473 (grub_arch_modules_addr): New function.
23474 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
23475 (grub_total_module_size): Likewise.
23476 Include grub/machine/kernel.h.
23477 (grub_arch_modules_addr): New function.
23478 * util/grub-emu.c (grub_end_addr): Remove variable.
23479 (grub_total_module_size): Likewise.
23480 (grub_arch_modules_addr): New function.
23481 * util/misc.c: Include unistd.h.
23482 (grub_util_get_fp_size): New function.
23483 (grub_util_read_at): Likewise.
23484 (grub_util_write_image_at): Likewise.
23485 (grub_util_read_image): Call grub_util_read_at.
23486 (grub_util_write_image): Call grub_util_write_image_at.
23487 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
23488 additional memory in kernel_img for a struct grub_module_info.
23489 Fill in that grub_module_info.
23490 * util/powerpc/ieee1275/grub-mkimage.c: New file.
23491
458786f8 234922005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23493
23494 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
23495 New function.
23496 * include/grub/powerpc/ieee1275/ieee1275.h
23497 (grub_ieee1275_milliseconds): New prototype.
23498 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
23499 Change to 1000.
23500 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
23501 grub_ieee1275_milliseconds.
23502
ac507d1b 235032005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23504
23505 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
23506 variable.
23507 (find_options): New function.
23508 (cmain): Call find_options.
23509 * include/grub/powerpc/ieee1275/ieee1275.h
23510 (grub_ieee1275_realmode): New extern variable.
23511 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
23512 grub_map if grub_ieee1275_realmode is false.
23513
6b8fd1c4 235142004-12-29 Marco Gerards <metgerards@student.han.nl>
23515
23516 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
23517 lines are inserted and make it work like readline. Reported by
23518 Vincent Pelletier <subdino2004@yahoo.fr>.
23519
8514a1e0 235202004-12-28 Marco Gerards <metgerards@student.han.nl>
23521
23522 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
23523
23524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
23525 `kern/powerpc/cache.S'.
23526
924b6140 235272004-12-27 Marco Gerards <metgerards@student.han.nl>
23528
23529 * genmk.rb: Handle the `Program' class in the main loop. Written
23530 by Johan Rydberg <jrydberg@gnu.org>.
23531 (Program): New class.
23532 (programs): New variable.
23533 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
23534 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
23535 instead of "grub/kernel.h". Include <grub/machine/init.h>.
23536 (help_arch): Function removed.
23537 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
23538 `powerpc/libgcc.h' and `loader.h'.
23539 (pkgdata_PROGRAMS): New variable.
23540 (sbin_UTILITIES): Variable removed.
23541 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
23542 (grubof_SOURCES): Variable re-defined so it only includes the
23543 core functionality.
23544 (grubof_CFLAGS): Remove `-DGRUBOF'.
23545 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
23546 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
23547 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
23548 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
23549 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
23550 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
23551 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
23552 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
23553 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
23554 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
23555 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23556 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
23557 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
23558 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
23559 (pc_mod_CFLAGS): New variables.
23560 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
23561 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
23562 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
23563 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
23564 Moved from here...
23565 * include/grub/i386/pc/init.h (grub_os_area_addr)
23566 (rub_os_area_size): ... to here.
23567 * include/grub/powerpc/ieee1275/ieee1275.h
23568 (grub_ieee1275_entry_fn): Export symbol.
23569 * include/grub/powerpc/ieee1275/init.h: New file.
23570 * include/grub/powerpc/libgcc.h: Likewise.
23571 * include/grub/cache.h: Likewise.
23572 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
23573 <hollis@penguinppc.org>.
23574 * kern/dl.c: Include <grub/cache.h>.
23575 (grub_dl_flush_cache): New function.
23576 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
23577 for this module.
23578 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
23579 (grub_console_init): Removed prototypes.
23580 (grub_machine_init): Don't initialize the modules anymore.
23581 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
23582 static.
23583 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
23584 Macro undef removed.
23585 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
23586 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
23587 relocation `R_PPC_REL32'. Return an error when the relocation is
23588 unknown.
23589 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
23590 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
23591 * util/misc.c (grub_arch_sync_caches): Likewise.
23592
e4b47e0c 235932004-12-19 Marco Gerards <metgerards@student.han.nl>
23594
23595 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
23596 `symlist.c', add `grubof_symlist.c'.
23597 (symlist.c): Variable removed.
23598 (grubof_HEADERS): Variable added.
23599 (grubof_symlist.c): New target.
23600 (kernel_syms.lst): Use `grubof_HEADERS' instead of
23601 `kernel_img_HEADERS'.
23602 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
23603 * kern/powerpc/dl.c: New file.
23604 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
23605 Function removed.
23606 (grub_arch_dl_relocate_symbols): Likewise.
23607 (grub_register_exported_symbols): Likewise.
23608
4ceb3636 236092004-12-13 Marco Gerards <metgerards@student.han.nl>
23610
23611 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
23612 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
23613 to fail instead. Reported by Vincent Pelletier
23614 <subdino2004@yahoo.fr>.
23615
23616 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
23617 it is not allocated. Reported by Vincent Pelletier
23618 <subdino2004@yahoo.fr>.
23619
23620 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
23621 output so the output looks better.
f19dbdb7 23622
3f1578fe 236232004-12-04 Marco Gerards <metgerards@student.han.nl>
23624
23625 Modulize the partition map support and add support for the amiga
23626 partition map.
f19dbdb7 23627
3f1578fe 23628 * commands/ls.c: Include <grub/partition.h> instead of
23629 <grub/machine/partition.h>.
23630 * kern/disk.c: Likewise.
23631 * kern/rescue.c: Likewise.
23632 * loader/i386/pc/chainloader.c: Likewise.
23633 * normal/cmdline.c: Likewise.
23634 * kern/powerpc/ieee1275/init.c: Likewise.
23635 (grub_machine_init): Call `grub_pc_partition_map_init',
23636 `grub_amiga_partition_map_init' and
23637 `grub_apple_partition_map_init'.
23638 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
23639 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
23640 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
23641 `partition.h' and `pc_partition.h'.
23642 (grub_setup_SOURCES): Remove
23643 `disk/i386/pc/partition.c'. Add `kern/partition.c',
23644 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23645 (grub_emu_SOURCES): Likewise.
23646 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
23647 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
23648 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
23649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23650 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
23651 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23652 (grubof_SOURCES): Likewise.
23653 * disk/i386/pc/partition.c: File removed.
23654 * disk/powerpc/ieee1275/partition.c: Likewise.
23655 * include/grub/powerpc/ieee1275/partition.h: Likewise.
23656 * include/grub/i386/pc/partition.h: Likewise.
23657 * kern/partition.c: New file.
23658 * partmap/amiga.c: Likewise.
23659 * partmap/apple.c: Likewise.
23660 * partmap/pc.c: Likewise.
23661 * include/grub/partition.h: Likewise..
23662 * include/grub/pc_partition.h: Likewise.
23663 * util/grub-emu.c: Include <grub/partition.h> instead of
23664 <grub/machine/partition.h>.
23665 (main): Call `grub_pc_partition_map_init',
23666 `grub_amiga_partition_map_init' and
23667 `grub_apple_partition_map_init' and deinitialize afterwards.
23668 * util/i386/pc/biosdisk.c: Include `#include
23669 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23670 `<grub/machine/partition.h>'.
23671 * util/i386/pc/grub-setup.c: Likewise.
23672 * util/i386/pc/biosdisk.c: Likewise.
23673 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
23674 partition information in case of a PC partition.
23675 * util/i386/pc/grub-setup.c: Include `#include
23676 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23677 `<grub/machine/partition.h>'.
23678 (setup): Only access the PC specific partition information in case
23679 of a PC partition.
23680
0ef4ced9 236812004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 23682
0ef4ced9 23683 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
23684 (grub_longjmp): Likewise.
23685 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
23686 20.
23687 * normal/powerpc/setjmp.S: New file.
23688 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23689 `normal/powerpc/setjmp.S'.
23690 (grubof_CFLAGS): Add `-DGRUBOF'.
23691 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
23692 [GRUB_UTIL && !GRUBOF].
f19dbdb7 23693
19950e29 236942004-11-16 Marco Gerards <metgerards@student.han.nl>
23695
23696 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
23697 property named `name'. Correctly handle the error returned by
23698 `grub_ieee1275_finddevice' if a device can not be opened.
23699
a2fea427 237002004-11-02 Hollis Blanchard <hollis@penguinppc.org>
23701
23702 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
23703 `actual' for negativity.
23704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23705 kern/fshelp.c.
23706
41ea0ea3 237072004-11-01 Marco Gerards <metgerards@student.han.nl>
23708
23709 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
23710 (PAGE_OFFSET): New macro.
23711 (CRTC_ADDR_PORT): Likewise.
23712 (CRTC_DATA_PORT): Likewise.
23713 (START_ADDR_HIGH_REGISTER): Likewise.
23714 (START_ADDR_LOW_REGISTER): Likewise.
23715 (GRAPHICS_ADDR_PORT): Likewise.
23716 (GRAPHICS_DATA_PORT): Likewise.
23717 (READ_MAP_REGISTER): Likewise.
23718 (INPUT_STATUS1_REGISTER): Likewise.
23719 (INPUT_STATUS1_VERTR_BIT): Likewise.
23720 (page): New variable.
23721 (wait_vretrace): New function.
23722 (set_read_map): Likewise.
23723 (set_start_address): Likewise.
23724 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
23725 the right page.
23726 (check_vga_mem): Take the page into account.
23727 (write_char): Likewise.
23728 (write_cursor): Likewise.
23729 (scroll_up): Likewise. Copy the page to the page that is not
23730 shown and switch between both pages.
23731 (grub_vga_putchar): Fix off by one error.
23732 (grub_vga_cls): Wait for the vertical retrace. Take the page into
23733 account.
23734
ad0bd20b 237352004-11-01 Marco Gerards <metgerards@student.han.nl>
23736
23737 Add support for iso9660 (including rockridge).
f19dbdb7 23738
ad0bd20b 23739 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23740 (iso9660_mod_SOURCES): New variable.
23741 (iso9660_mod_CFLAGS): Likewise.
23742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23743 * include/grub/fs.h (grub_iso9660_init): New prototype.
23744 * util/grub-emu.c (main): Call `grub_iso9660_init'.
23745 * fs/iso9660.c: New file.
23746
23747 * include/grub/misc.h (grub_strncat): New prototype.
23748 * kern/misc.c (grub_strncat): New function.
f19dbdb7 23749
ad0bd20b 23750 * fs/hfs.c (grub_hfs_mount): Translate the error
23751 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23752 * fs/jfs.c (grub_jfs_mount): Likewise.
23753 * fs/ufs.c (grub_ufs_mount): Likewise.
23754
a5477a59 237552004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23756
23757 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23758 which initialized BAT registers.
23759 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23760 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23761 Move from here...
23762 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23763 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23764 ... to here.
23765 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23766 (grub_mapclaim): Likewise.
23767 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23768 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23769 hand.
23770
9304c1f8 237712004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23772
23773 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23774 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23775 -ffreestanding and -msoft-float.
23776
86f4ae25 237772004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23778
23779 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23780 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23781 set in grub_ieee1275_flags.
23782
38912228 237832004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23784
23785 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23786 prototype.
23787 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23788 grub_console_init first.
23789 Change the memory range used for grub_ieee1275_claim and
23790 grub_mm_init_region.
23791 Print an error message if the claim fails.
23792 Include <grub/misc.h>.
23793
d1923dc8 237942004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23795
23796 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23797 Call grub_children_iterate for device nodes of type `scsi',
23798 `ide', or `ata'.
23799 (grub_ofdisk_open): Remove manual device alias resolution.
23800 Fix memory leak when device cannot be opened.
f19dbdb7 23801 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23802 (grub_children_iterate): New prototype.
23803 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23804 New function.
23805 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23806 Return -1 if args.size was -1.
23807
4512e4f3 238082004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23809
23810 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23811 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23812 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23813 Open Firmware's memory for it; claim memory from _start to _end.
23814 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23815 (_end): New extern.
23816 (_start): Zero BSS from __bss_start to _end.
23817 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23818 New extern.
23819 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23820
4d61feb0 238212004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23822
ad0bd20b 23823 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23824 -1 if args.base was -1.
4d61feb0 23825
026fa2f9 238262004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23827
23828 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23829 escape sequence instead of a literal ^L. Also call
23830 grub_ofconsole_gotoxy.
23831
9f2220ef 238322004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23833
23834 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23835 void * arguments to grub_addr_t. All callers updated. Also make
23836 the `result' argument optional.
23837 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23838 All callers updated.
23839
8a572cd7 238402004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23841
23842 * commands/ls.c (grub_ls_list_files): Use the string following the
23843 initial ')', if present, as the filesystem path.
23844 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23845
23846 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23847
18aa81f2 238482004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23849
23850 Make the source code of the menu interface more readable.
f19dbdb7 23851
18aa81f2 23852 * normal/menu.c: Include grub/mm.h.
23853 (TERM_WIDTH): New macro.
23854 (TERM_HEIGHT): Likewise.
23855 (TERM_INFO_HEIGHT): Likewise.
23856 (TERM_MARGIN): Likewise.
23857 (TERM_SCROLL_WIDTH): Likewise.
23858 (TERM_TOP_BORDER_Y): Likewise.
23859 (TERM_LEFT_BORDER_X): Likewise.
23860 (TERM_BORDER_WIDTH): Likewise.
23861 (TERM_MESSAGE_HEIGHT): Likewise.
23862 (TERM_BORDER_HEIGHT): Likewise.
23863 (TERM_NUM_ENTRIES): Likewise.
23864 (TERM_FIRST_ENTRY_Y): Likewise.
23865 (TERM_ENTRY_WIDTH): Likewise.
23866 (TERM_CURSOR_X): Likewise.
23867 (draw_border): Use macros instead of magic numbers.
23868 (print_entry): Likewise.
23869 (print_entries): Likewise.
23870 (run_menu): Likewise. Also, handle the key 'e'.
23871 (run_menu_entry): Ignore empty command lines.
23872 (print_message): Added a new argument EDIT. If EDIT is true,
23873 print a different message.
23874 (init_page): Likewise.
23875 (edit_menu_entry): New function. Not implemented yet.
23876
b47efe30 238772004-09-17 Marco Gerards <metgerards@student.han.nl>
23878
23879 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23880 can be loaded from normal mode.
f19dbdb7 23881
b47efe30 23882 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23883 `multiboot.mod'.
23884 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23885 (multiboot_mod_CFLAGS): New variables.
23886 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 23887 * loader/i386/pc/multiboot_normal.c: Likewise.
23888
b47efe30 23889 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23890 attribute `unused'.
f19dbdb7 23891
b47efe30 23892 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23893 `fdiro' to read the mode information from instead of `diro'.
23894
23895 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23896 looking up a symlink.
23897
23898 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23899 macro.
23900 * normal/command.c (grub_command_execute): Don't parse the
23901 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23902 flags of the command.
23903
23904 * normal/menu.c (grub_menu_run): Fix typo.
23905
da75ac71 239062004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23907
23908 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23909
23910 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23911 `y + 1' instead of `y - 1'.
23912
23913 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 23914
062b24c2 239152004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23916
23917 From Hollis Blanchard <hollis@penguinppc.org>:
23918 * kern/misc.c (memmove): New alias for grub_memmove.
23919 (memcmp): New alias for grub_memcmp.
23920 (memset): New alias for grub_memset.
f19dbdb7 23921 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 23922 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 23923 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 23924 (grub_ieee1275_get_property): Likewise.
f19dbdb7 23925
8ddad845 239262004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
23927
23928 Added normal mode command `chainloader' as module chain.mod, which
23929 depends on normal.mod and _chain.mod.
f19dbdb7 23930
8ddad845 23931 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
23932 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
23933 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
23934 Deleted prototype.
23935 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
23936 but arguments parsing moved to ...
23937 (grub_chainloader_cmd): ... here. New function.
23938 * include/grub/i386/pc/chainloader.h: New file.
23939 * loader/i386/pc/chainloader_normal.c: Likewise.
23940
2c1f4ce3 239412004-09-11 Marco Gerards <metgerards@student.han.nl>
23942
23943 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23944 (grub_mkimage_LDFLAGS): Likewise.
23945 (grub_emu_SOURCES): Likewise.
23946 (kernel_img_HEADERS): Added fshelp.h.
23947 * fs/ext2.c: Include <grub/fshelp.h>.
23948 (FILETYPE_REG): New macro.
23949 (FILETYPE_INO_REG): Likewise.
23950 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23951 Changed all users.
23952 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23953 all users.
23954 (grub_fshelp_node): New struct.
23955 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23956 to a pointer.
23957 (grub_ext2_get_file_block): Removed function.
23958 (grub_ext2_read_block): New function.
23959 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23960 This function was written.
23961 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23962 (grub_ext2_find_file): Removed function.
23963 (grub_ext2_read_symlink): New function.
23964 (grub_ext2_iterate_dir): Likewise.
23965 (grub_ext2_open): Rewritten.
23966 (grub_ext2_dir): Rewritten.
23967 * include/grub/fshelp.h: New file.
23968 * fs/fshelp.c: Likewise.
23969
3c52136a 239702004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23971
23972 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23973 (print_message): Add a missing newline.
23974 (run_menu): Added timeout support.
23975 (run_menu_entry): New local function.
23976 (grub_menu_run): Added support for booting.
23977
23978 * kern/loader.c (grub_loader_is_loaded): New function.
23979
23980 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23981 (grub_get_rtc): Exported.
23982
23983 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23984 (grub_get_rtc): Exported.
23985
23986 * include/grub/normal.h (struct grub_command_list): Remove
23987 constant from the member `command'.
23988
23989 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23990
23991 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23992
23993 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23994
aa033560 239952004-08-28 Marco Gerards <metgerards@student.han.nl>
23996
23997 Add support for the JFS filesystem.
23998
23999 * fs/jfs.c: New file.
24000 * include/grub/fs.h (grub_jfs_init): New prototype.
24001 (grub_jfs_fini): New prototype.
24002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
24003 (grub_emu_SOURCES): Likewise.
24004 (pkgdata_MODULES): Add jfs.mod.
24005 (jfs_mod_SOURCES): New variable.
24006 (jfs_mod_CFLAGS): Likewise.
24007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
24008 (grubof_SOURCES): Likewise.
24009 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
24010
24011 * fs/fat.c (grub_fat_find_dir): Convert the filename little
24012 endian to the host endian.
24013 (grub_fat_utf16_to_utf8): Move function from there...
24014 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 24015 the endianness of the source string anymore.
aa033560 24016 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
24017
94bc45af 240182004-08-24 Marco Gerards <metgerards@student.han.nl>
24019
24020 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24021 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24022 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24023 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 24024
94bc45af 24025 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24026 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24027 for `node_found' and `it_dir'.
24028 (grub_hfs_dir): Add prototype for `dir_hook'.
24029
24030 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24031 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24032 and `indir32' to silence a gcc warning.
24033
24034 * include/grub/fs.h (grub_hfs_init): New prototype.
24035 (grub_hfs_fini): Likewise.
f19dbdb7 24036
24037
97543f08 240382004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24039
24040 Each disk device has its own id now. This is useful to make use
24041 of multiple disk devices.
f19dbdb7 24042
97543f08 24043 * include/grub/disk.h (grub_disk_dev_id): New enum.
24044 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24045 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24046
24047 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24048 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24049
24050 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24051 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24052
24053 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24054 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24055
24056 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24057 "id" which is used by the cache manager.
24058
24059 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24060 of just "GRUB".
24061
64372eb4 240622004-08-18 Marco Gerards <metgerards@student.han.nl>
24063
24064 * fs/hfs.c: New file.
24065 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24066 (grub_emu_SOURCES): Likewise.
24067 (pkgdata_MODULES): Add hfs.mod.
24068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24069 (grubof_SOURCES): Likewise.
24070 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24071
24072 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24073 * kern/misc.c (grub_strncasecmp): Add function.
24074
cc61b58f 240752004-08-14 Marco Gerards <metgerards@student.han.nl>
24076
24077 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24078 with parentheses.
24079
24080 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24081 (grub_ext2_dir): In case the directory entry type is unknown, read
24082 it from the inode.
24083
0ef123f6 240842004-08-02 Peter Bruin <pjbruin@dds.nl>
24085
24086 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24087 grub_load_linux instead of grub_rescue_cmd_linux as second
24088 argument of grub_rescue_register_command.
24089
24090 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24091
a447c5df 240922004-07-27 Marco Gerards <metgerards@student.han.nl>
24093
24094 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24095 function.
24096 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24097 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24098 `loader/powerpc/ieee1275/linux.c',
24099 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24100 * include/grub/powerpc/ieee1275/ieee1275.h
24101 (grub_ieee1275_release): New prototype.
24102 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24103 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24104 normal, boot, linux and linux_normal.
24105 * loader/powerpc/ieee1275/linux.c: New file.
24106 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24107
5a9e3546 241082004-07-12 Marco Gerards <metgerards@student.han.nl>
24109
24110 * normal/arg.c (grub_arg_parse): Correct error handling after
24111 reallocating the argumentlist (check if `argl' is not null instead
24112 of checking if `args' is not null).
24113 * kern/mm.c (grub_realloc): Return the same pointer when using the
24114 same region, instead of returning the header address.
24115
e15199cb 241162004-07-11 Marco Gerards <metgerards@student.han.nl>
24117
24118 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24119 one block instead of two when looking for the initial partition.
24120 (grub_partition_probe): Initialize the local variable `p' with 0.
24121 Use base 10 for the grub_strtoul call.
24122 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24123 need for one local variable.
24124 (grub_strtoul): Don't add the new value to `num', instead of that
24125 just assign it.
24126
020616c2 241272004-07-11 Marco Gerards <metgerards@student.han.nl>
24128
24129 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24130 (pxeboot_img_SOURCES): New variable.
24131 (pxeboot_img_ASFLAGS): Likewise.
24132 (pxeboot_img_LDFLAGS): Likewise.
24133 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24134 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24135 <lode_leroy@hotmail.com>.
24136
6c51eb64 241372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24138
24139 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24140 there was no input.
24141
cfb12aff 241422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24143
24144 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24145 the history buffer logic.
24146
6eabba74 241472004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24148
24149 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24150 (FILETYPE_INO_SYMLINK): New macros.
24151 (grub_ext2_find_file): Check if the node is a directory using the
24152 inode stat information instead of using the filetype in the
24153 dirent. Exclude the first character of an absolute symlink.
24154 (grub_ext2_dir): Mask out the filetype part of the mode member of
24155 the inode.
24156
66e19ef8 241572004-05-24 Marco Gerards <metgerards@student.han.nl>
24158
24159 Add support for UFS version 1 and 2. Add support for the minix
24160 filesystem version 1 and 2, both the variants with 14 and 30 long
24161 filenames.
f19dbdb7 24162
66e19ef8 24163 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24164 fs/minix.c.
24165 (grub_emu_SOURCES): Likewise.
24166 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24167 (ufs_mod_SOURCES): New variable.
24168 (ufs_mod_CFLAGS): Likewise.
24169 (minix_mod_SOURCES): Likewise.
24170 (minix_mod_CFLAGS): Likewise.
24171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24172 fs/minix.c.
24173 (grubof_SOURCES): Likewise.
24174 * fs/ufs.c: New file.
24175 * fs/minix.c: New file.
24176 * include/grub/fs.h (grub_ufs_init): New prototype.
24177 (grub_ufs_fini): Likewise.
24178 (grub_minix_init): Likewise.
24179 (grub_minix_fini): Likewise.
24180 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24181 minix fs.
24182
cc2e748a 241832004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24184
24185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24186 commands/ls.c, commands/terminal.c, commands/boot.c,
24187 commands/cmp.c and commands/cat.c.
24188 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24189
24190 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24191 "env.h"
24192
4b13b216 241932004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24194
24195 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24196 and grub_, respectively. Because the conversion is trivial and
24197 mechanical, I omit the details here. Please refer to the CVS
24198 if you need more information.
24199
6a142551 242002004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24201
24202 * include/pupa: Renamed to ...
24203 * include/grub: ... this.
24204 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24205 * util/i386/pc/grub-mkimage.c: ... this.
24206 * util/i386/pc/pupa-setup.c: Renamed to ...
24207 * util/i386/pc/grub-setup.c: ... this.
24208 * util/pupa-emu.c: Renamed to ...
24209 * util/grub-emu.c: ... this.
24210
e56cdf21 242112004-03-29 Marco Gerards <metgerards@student.han.nl>
24212
24213 Add support for the newworld apple macintosh (PPC). This has been
24214 tested on the powerbook 2000 only. It only adds support for
24215 generic ieee1275 functions, console and disk support. This should
24216 be easy to port to other architectures with support for Open
24217 Firmware.
f19dbdb7 24218
e56cdf21 24219 * configure.ac: Accept the powerpc as host_cpu. In the case of
24220 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24221 specific tests are only executed while building for the i386.
24222 Inverse test for crosscompile.
24223 * genmk.rb (Utility): Allow assembler files.
24224 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24225 * conf/powerpc-ieee1275.rmk: New file.
24226 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24227 * disk/powerpc/ieee1275/partition.c: Likewise.
24228 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24229 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24230 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24231 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24232 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24233 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24234 * include/pupa/powerpc/ieee1275/loader.h
24235 * include/pupa/powerpc/setjmp.h: Likewise.
24236 * include/pupa/powerpc/types.h: Likewise.
24237 * kern/powerpc/ieee1275/init.c: Likewise.
24238 * kern/powerpc/ieee1275/openfw.c: Likewise.
24239 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24240
24241 These files were written by Johan Rydberg
24242 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24243
e56cdf21 24244 * boot/powerpc/ieee1275/cmain.c: New file.
24245 * boot/powerpc/ieee1275/crt0.S: Likewise.
24246 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24247 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24248
8c8cc205 242492004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24250
24251 * Makefile.in: Update copyright.
24252 * genmodsrc.sh: Likewise.
24253 * gensymlist.sh: Likewise.
24254 * term/i386/pc/vga.c: Indent correctly.
24255
24256 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24257 bugreporting address.
24258 * util/i386/pc/pupa-setup.c (usage): Likewise,
24259 (main): Call pupa_ext2_init and pupa_ext2_fini.
24260
f19dbdb7 24261 * fs/fat.c (log2): Renamed to ...
8c8cc205 24262 (fat_log2): ... this.
24263 All callers changed.
24264 * kern/misc.c (memcpy): Alias to pupa_memmove.
24265 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24266 lvalue cast.
24267 * util/console.c (pupa_ncurses_fini): Return 0.
24268
24269 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24270 Move fail label here.
24271 [__GNU__]: Don't warn when using stat.
24272 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24273 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24274 long int. Use strtol instead of strtoul.
f19dbdb7 24275
db1771cf 242762004-03-14 Marco Gerards <metgerards@student.han.nl>
24277
24278 * commands/boot.c: New file.
24279 * commands/cat.c: Likewise.
24280 * commands/cmp.c: Likewise.
24281 * commands/ls.c: Likewise.
24282 * commands/terminal.c: Likewise.
24283 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24284 (pupa_register_command): Changed interface to match the new
24285 argument parser.
24286 (pupa_command_execute): Changed (almost rewritten) so it uses
24287 pupa_split_command. Added support for setting variables using the
24288 syntax `foo=bar'.
24289 (rescue_command): Changed to work with the new argument parser.
24290 (terminal_command): Moved from here to commands/terminal.c.
24291 (set_command): New function.
24292 (unset_command): New function.
24293 (insmod_command): New function.
24294 (rmmod_command): New function.
24295 (lsmod_command): New function.
24296 (pupa_command_init): Don't initialize the command terminal
24297 anymore. Initialize the commands set, unset, insmod, rmmod and
24298 lsmod.
24299 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24300 (kernel_img_HEADERS): Add arg.h and env.h.
24301 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24302 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24303 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24304 normal/arg.c.
24305 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24306 terminal.mod.
24307 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24308 (boot_mod_SOURCES): New variable.
24309 (terminal_mod_SOURCES): Likewise.
24310 (ls_mod_SOURCES): Likewise.
24311 (cmp_mod_SOURCES): Likewise.
24312 (cat_mod_SOURCES): Likewise.
24313
24314 * normal/arg.c: New file.
24315 * kern/env.c: Likewise.
24316 * include/pupa/arg.h: Likewise.
24317 * include/pupa/env.h: Likewise.
24318 * font/manager.c (font_command): Changed to match argument parsing
24319 interface changes.
24320 (PUPA_MOD_INIT): Likewise.
24321 * hello/hello.c (pupa_cmd_hello): Likewise.
24322 (PUPA_MOD_INIT): Likewise.
24323 * include/pupa/disk.h: Include <pupa/device.h>.
24324 (pupa_print_partinfo): New prototype.
24325 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24326 (pupa_dl_get_prefix): Likewise.
24327 * include/pupa/misc.h: Include <pupa/err.h>.
24328 (pupa_isgraph): New prototype.
24329 (pupa_isdigit): Likewise.
24330 (pupa_split_cmdline): Likewise.
24331 * include/pupa/normal.h: Include <pupa/arg.h>.
24332 (pupa_command): Changed the prototype of the member `func' to
24333 match the argument parsing interface. Added member `options'.
24334 (pupa_register_command): Updated to match function.
24335 (pupa_arg_parse): New prototype.
24336 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24337 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24338 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24339 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24340 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24341 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24342 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24343 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24344 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24345 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24346 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24347 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24348 * kern/disk.c: Include <pupa/file.h>.
24349 (pupa_print_partinfo): New function.
24350 * kern/dl.c: Include <pupa/env.h>.
24351 (pupa_dl_dir): Variable removed.
24352 (pupa_dl_load): Use the environment variable `prefix' instead of
24353 the variable pupa_dl_dir.
24354 (pupa_dl_set_prefix): Function removed.
24355 (pupa_dl_get_prefix): Likewise.
24356 * kern/i386/pc/init.c: Include <pupa/env.h>.
24357 (pupa_machine_init): Use the environment variable `prefix' instead of
24358 using pupa_dl_set_prefix to set the prefix.
24359 * kern/main.c: Include <pupa/env.h>.
24360 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24361 using pupa_dl_get_prefix to get the prefix.
24362 * kern/misc.c: Include <pupa/env.h>.
24363 (pupa_isdigit): New function.
24364 (pupa_isgraph): Likewise.
24365 (pupa_ftoa): Likewise.
24366 (pupa_vsprintf): Added support for printing values of the type
24367 `double'. Make it possible to format variable output when using
24368 formatting like `%1.2%f'.
24369 (pupa_split_cmdline): New function.
24370 * kern/rescue.c: Include <pupa/env.h>.
24371 (next_word): Removed function.
24372 (pupa_rescue_cmd_prefix): Likewise.
24373 (pupa_rescue_cmd_set): New function.
24374 (pupa_rescue_cmd_unset): New function.
24375 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24376 split the command line instead of splitting it here. Added
24377 support for setting variables using the syntax `foo=bar'. Don't
24378 initialize the prefix command anymore. Initialized the set and
24379 unset commands.
24380 * normal/cmdline.c: Include <pupa/env.h>.
24381 (pupa_tab_complete): Added prototypes for print_simple_completion,
24382 print_partition_completion, add_completion, iterate_commands,
24383 iterate_dev, iterate_part and iterate_dir. Moved code to print
24384 partition information from here to kern/disk.c.
fe6b695a 24385 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24386 * normal/main.c: Include <pupa/env.h>.
24387 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24388 instead of using pupa_dl_get_prefix to get the prefix.
24389 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24390 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24391 warning.
24392 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24393 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24394 ((unused))' to silence a gcc warning.
24395 (pupa_vga_setcolor): Likewise.
24396 (debug_command): Changed to match argument parsing
24397 interface changes.
24398 * util/pupa-emu.c: Include <pupa/env.h>.
24399 (options): Added 0's for unused fields to silence a gcc warning.
24400 (argp): Likewise.
24401 (main): Use the environment variable `prefix' instead of using
24402 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24403 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24404 and terminal.
24405
24406 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24407 * util/misc.c: Include <malloc.h>.
24408 (pupa_malloc): Rewritten so errors are correctly reported.
24409 (pupa_realloc): Likewise.
24410 (pupa_memalign): Likewise.
24411 (pupa_mm_init_region): Declare unused variables with
24412 `__attribute__ ((unused))' to silence a gcc warning.
24413 * normal/i386/setjmp.S: Remove tab at the end of the file to
24414 silence a gcc warning.
24415 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24416 variables with `__attribute__ ((unused))' to silence a gcc
24417 warning.
24418 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24419 local variable i unsigned to silence a gcc warning.
24420
24421 * kern/term.c: Include <pupa/misc.h>.
24422 (pupa_more_lines): New variable.
24423 (pupa_more): Likewise.
24424 (pupa_putcode): When the pager is active pause at the end of every
24425 screen.
24426 (pupa_set_more): New function.
24427 * include/pupa/term.h (pupa_set_more): New prototype.
24428
24429
3b1139cb 244302004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24431
24432 Now this project is GRUB 2 rather than PUPA. The location of
24433 the CVS repository was moved to GRUB's.
f19dbdb7 24434
3b1139cb 24435 * configure.ac: Use bug-grub as the reporting address.
24436 Use GRUB instead of PUPA.
24437 Change the version number to 1.90.
24438
8367695c 244392004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24440
24441 * genkernsyms.sh: Updated copyright information.
24442 * genmk.rb: Likewise.
24443 * genmodsrc.sh: Likewise.
24444 * gensymlist.sh: Likewise.
24445 * boot/i386/pc/boot.S: Likewise.
24446 * boot/i386/pc/diskboot.S: Likewise.
24447 * disk/i386/pc/biosdisk.c: Likewise.
24448 * disk/i386/pc/partition.c: Likewise.
24449 * font/manager.c: Likewise.
24450 * fs/ext2.c: Likewise.
24451 * fs/fat.c: Likewise.
24452 * include/pupa/boot.h: Likewise.
24453 * include/pupa/device.h: Likewise.
24454 * include/pupa/disk.h: Likewise.
24455 * include/pupa/dl.h: Likewise.
24456 * include/pupa/elf.h: Likewise.
24457 * include/pupa/err.h: Likewise.
24458 * include/pupa/file.h: Likewise.
24459 * include/pupa/font.h: Likewise.
24460 * include/pupa/fs.h: Likewise.
24461 * include/pupa/kernel.h: Likewise.
24462 * include/pupa/loader.h: Likewise.
24463 * include/pupa/misc.h: Likewise.
24464 * include/pupa/mm.h: Likewise.
24465 * include/pupa/net.h: Likewise.
24466 * include/pupa/normal.h: Likewise.
24467 * include/pupa/rescue.h: Likewise.
24468 * include/pupa/setjmp.h: Likewise.
24469 * include/pupa/symbol.h: Likewise.
24470 * include/pupa/term.h: Likewise.
24471 * include/pupa/types.h: Likewise.
24472 * include/pupa/i386/setjmp.h: Likewise.
24473 * include/pupa/i386/types.h: Likewise.
24474 * include/pupa/i386/pc/biosdisk.h: Likewise.
24475 * include/pupa/i386/pc/boot.h: Likewise.
24476 * include/pupa/i386/pc/console.h: Likewise.
24477 * include/pupa/i386/pc/init.h: Likewise.
24478 * include/pupa/i386/pc/kernel.h: Likewise.
24479 * include/pupa/i386/pc/linux.h: Likewise.
24480 * include/pupa/i386/pc/loader.h: Likewise.
24481 * include/pupa/i386/pc/memory.h: Likewise.
24482 * include/pupa/i386/pc/multiboot.h: Likewise.
24483 * include/pupa/i386/pc/partition.h: Likewise.
24484 * include/pupa/i386/pc/time.h: Likewise.
24485 * include/pupa/i386/pc/vga.h: Likewise.
24486 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
24487 * include/pupa/util/getroot.h: Likewise.
24488 * include/pupa/util/misc.h: Likewise.
24489 * include/pupa/util/resolve.h: Likewise.
24490 * kern/device.c: Likewise.
24491 * kern/disk.c: Likewise.
24492 * kern/dl.c: Likewise.
24493 * kern/err.c: Likewise.
24494 * kern/file.c: Likewise.
24495 * kern/fs.c: Likewise.
24496 * kern/loader.c: Likewise.
24497 * kern/main.c: Likewise.
24498 * kern/misc.c: Likewise.
24499 * kern/mm.c: Likewise.
24500 * kern/rescue.c: Likewise.
24501 * kern/term.c: Likewise.
24502 * kern/i386/dl.c: Likewise.
24503 * kern/i386/pc/init.c: Likewise.
24504 * kern/i386/pc/lzo1x.S: Likewise.
24505 * kern/i386/pc/startup.S: Likewise.
24506 * loader/i386/pc/chainloader.c: Likewise.
24507 * loader/i386/pc/linux.c: Likewise.
24508 * loader/i386/pc/multiboot.c: Likewise.
24509 * normal/cmdline.c: Likewise.
24510 * normal/command.c: Likewise.
24511 * normal/main.c: Likewise.
24512 * normal/menu.c: Likewise.
24513 * normal/i386/setjmp.S: Likewise.
24514 * term/i386/pc/console.c: Likewise.
24515 * term/i386/pc/vga.c: Likewise.
24516 * util/console.c: Likewise.
24517 * util/genmoddep.c: Likewise.
24518 * util/misc.c: Likewise.
24519 * util/pupa-emu.c: Likewise.
24520 * util/resolve.c: Likewise.
24521 * util/unifont2pff.rb: Likewise.
24522 * util/i386/pc/biosdisk.c: Likewise.
24523 * util/i386/pc/getroot.c: Likewise.
24524 * util/i386/pc/pupa-mkimage.c: Likewise.
24525 * util/i386/pc/pupa-setup.c: Likewise.
24526
e6eced71 245272004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
24528
24529 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
24530 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
24531 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
24532 reading and reset it after reading.
24533 (pupa_ext2_close): Return PUPA_ERR_NONE.
24534
24535 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
24536 Correct value.
24537 (struct linux_kernel_header): Add kernel_version and
24538 initrd_addr_max.
24539 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
24540 pupa_file_read succeeds.
24541 (pupa_rescue_cmd_initrd): Implement.
24542
5aded270 245432003-12-03 Marco Gerards <metgerards@student.han.nl>
24544
24545 * fs/ext2.c (pupa_ext2_label): New function.
24546 (pupa_ext2_fs): Added label.
24547 * fs/fat.c (pupa_fat_label): New function.
24548 (pupa_fat_fs): Added label.
24549 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
24550
24551 * kern/misc.c (pupa_strndup): New function.
24552 * include/pupa/misc.h (pupa_strndup): New prototype.
24553
24554 * include/pupa/normal.h: Include <pupa/err.h>.
24555 (pupa_set_history): New prototype.
24556 (pupa_iterate_commands): New prototype.
24557 * normal/cmdline.c: Include <pupa/machine/partition.h>,
24558 <pupa/disk.h>, <pupa/file.h>.
24559 (hist_size): New variable.
24560 (hist_lines): Likewise.
24561 (hist_end): Likewise.
24562 (hist_used): Likewise.
24563 (pupa_set_history): New function.
24564 (pupa_history_get): Likewise.
24565 (pupa_history_add): Likewise.
24566 (pupa_history_replace): Likewise.
24567 (pupa_tab_complete): Likewise.
24568 (pupa_cmdline_run): Added tab completion and history buffer. Tab
24569 completion shows partitionnames while completing partitions, this
24570 feature was suggested by Jeff Bailey.
24571 * normal/command.c (pupa_iterate_commands): New function.
24572 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
24573 (pupa_normal_init): Initialize history buffer.
24574 (PUPA_MOD_INIT): Likewise.
24575 (pupa_normal_fini): Free the history buffer.
24576 (PUPA_MOD_FINI): Likewise.
24577
24578 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
24579 key.
24580
24581 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
24582 * configure.ac [i386]: Check for regparam bug.
24583 (NESTED_FUNC_ATTR) [! i386]: Defined.
24584
1f7315a3 245852003-11-17 Marco Gerards <metgerards@student.han.nl>
24586
24587 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
24588 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
24589 (pupa_emu_SOURCES): New variable.
24590 (pupa_emu_LDFLAGS): Likewise.
24591 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
24592 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
24593 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
24594 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24595 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
24596 (pupa_jmp_buf): New typedef.
24597 (pupa_setjmp) [PUPA_UTIL]: New macro.
24598 (pupa_longjmp) [PUPA_UTIL]: Likewise.
24599 * include/pupa/term.h (struct pupa_term): New member `refresh'.
24600 (pupa_refresh): New prototype.
24601 * include/pupa/util/getroot.h: New file.
24602 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
24603 it.
24604 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
24605 (pupa_rescue_cmd_cat): Likewise.
24606 (pupa_rescue_cmd_ls): Likewise.
24607 (pupa_rescue_cmd_testload): Likewise.
24608 (pupa_rescue_cmd_lsmod): Likewise.
24609 * normal/cmdline.c (pupa_cmdline_get): Likewise.
24610 * normal/menu.c (run_menu): Likewise.
24611 * kern/term.c (pupa_cls): Likewise.
24612 (pupa_refresh): New function.
24613 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
24614 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24615 * util/console.c: New file.
f19dbdb7 24616
1f7315a3 24617 * util/i386/pc/getroot.c: New file.
24618 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
24619 (pupa_putchar): New function.
24620 (pupa_refresh): Likewise.
24621 (xgetcwd): Function moved to ...
24622 (strip_extra_slashes): Likewise.
24623 (get_prefix): Likewise.
f19dbdb7 24624 * util/i386/pc/getroot.c: ... here.
1f7315a3 24625 (find_root_device): Function moved and renamed to...
24626 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
24627 Changed all callers.
24628 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
24629 and renamed to...
24630 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
24631 Changed all callers.
24632 * util/misc.c (pupa_memalign): New function.
24633 (pupa_mm_init_region): Likewise.
24634 (pupa_register_exported_symbols): Likewise.
24635 (pupa_putchar): Function removed.
24636 * util/pupa-emu.c: New file.
24637
9a5c1ade 246382003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
24639
24640 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
24641 (_multiboot_mod_SOURCES): New variable.
24642 (_multiboot_mod_CFLAGS): Likewise.
24643 * loader/i386/pc/multiboot.c: New file.
24644 * include/pupa/i386/pc/multiboot.h: Likewise.
24645 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
24646 (pupa_multiboot_real_boot): New function.
24647 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
24648 (pupa_multiboot_real_boot): New prototype.
24649 (pupa_rescue_cmd_multiboot): Likewise
24650 (pupa_rescue_cmd_module): Likewise.
24651
24652 * kern/loader.c (pupa_loader_set): Continue when
24653 pupa_loader_unload_func() fails.
24654 (pupa_loader_unset): New function.
24655 * include/pupa/loader.h (pupa_loader_unset): New prototype.
24656
24657 * kern/misc.c (pupa_stpcpy): New function.
24658 * include/pupa/misc.h (pupa_stpcpy): New prototype.
24659
8e72a9c0 246602003-11-12 Marco Gerards <metgerards@student.han.nl>
24661
24662 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
24663 for available extensions.
24664
24665 * include/pupa/i386/pc/time.h: New file.
24666 * kern/disk.c: Include <pupa/machine/time.h>.
24667 (PUPA_CACHE_TIMEOUT): New macro.
24668 (pupa_last_time): New variable.
24669 (pupa_disk_open): Flush the cache when there was a timeout.
24670 (pupa_disk_close): Reset the timer.
24671 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
24672 pupa_currticks.
24673 * util/misc.c: Include <sys/times.h>
24674 (pupa_get_rtc): New function.
24675
c4adbd32 246762003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24677
24678 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
24679 as blocks.
24680 (pupa_ext2_get_file_block): Use blocks member.
24681
24682 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
24683 first block. Return -1 instead of pupa_errno on error.
24684
bfd30f06 246852003-10-27 Marco Gerards <metgerards@student.han.nl>
24686
24687 * README: In the pupa-mkimage example use _chain instead of chain
24688 and ext2 instead of fat.
24689 * TODO: Replace ext2fs with jfs as an example. Add an item for
24690 adding journal playback for ext2fs.
24691 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
24692 (pkgdata_MODULES): Added ext2.mod.
24693 (ext2_mod_SOURCES): New variable.
24694 (ext2_mod_CFLAGS): Likewise.
24695 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
24696 * include/pupa/misc.h (pupa_strncpy): New prototype.
24697 (pupa_strcat): Likewise.
24698 (pupa_strncmp): Likewise.
24699 * kern/misc.c (pupa_strcat): Enable function.
24700 (pupa_strncpy): New function.
24701 (pupa_strncmp): Likewise.
24702 * fs/ext2.c: New file.
f19dbdb7 24703
bfd30f06 24704 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
24705 when the read failed before retrying.
24706 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
24707 (_FILE_OFFSET_BITS): Likewise.
24708 * configure.ac: Added AC_SYS_LARGEFILE.
24709
98d15063 247102003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24711
24712 * genmk.rb (PModule#rule): Make sure to get only symbol names
24713 from the output of nm.
59cad637 24714 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 24715
18d9c7cd 247162003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24717
24718 I forgot to check in these changes for a long time. This adds
24719 incomplete support for VGA console, and this is still very
24720 buggy. Also, a lot of consideration is required for I18N,
24721 UNICODE, and VGA font issues. Therefore, assume that this is
24722 such that "better than nothing".
f19dbdb7 24723
18d9c7cd 24724 * font/manager.c: New file.
24725 * include/pupa/font.h: Likewise.
24726 * include/pupa/i386/pc/vga.h: Likewise.
24727 * term/i386/pc/vga.c: Likewise.
24728 * util/unifont2pff.rb: Likewise.
24729
24730 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
24731 (pkgdata_MODULES): Added vga.mod and font.mod.
24732 (vga_mod_SOURCES): New variables.
24733 (vga_mod_CFLAGS): Likewise.
24734 (font_mod_SOURCES): Likewise.
24735 (font_mod_CFLAGS): Likewise.
24736
24737 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
24738
24739 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 24740 (struct pupa_term): Added init and fini.
18d9c7cd 24741 Changed the argument of putchar to pupa_uint32_t.
24742
24743 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
24744 (pupa_console_real_putchar): New prototype.
24745 (pupa_console_putchar): Removed.
24746 (pupa_console_checkkey): Exported.
24747 (pupa_console_getkey): Likewise.
24748
24749 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
24750 characters.
24751
24752 * kern/term.c (pupa_term_set_current): Rewritten.
24753 (pupa_putchar): Likewise.
24754 (pupa_putcode): New function.
24755
24756 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24757 (pupa_console_real_putchar): ... this.
24758 (pupa_vga_set_mode): New function.
24759 (pupa_vga_get_font): Likewise.
24760
24761 * normal/command.c: Include pupa/term.h.
24762 (terminal_command): New function.
24763 (pupa_command_init): Register the command "terminal".
24764
24765 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24766 (DISP_UP): Likewise.
24767 (DISP_RIGHT): Likewise.
24768 (DISP_DOWN): Likewise.
24769 (DISP_HLINE): Likewise.
24770 (DISP_VLINE): Likewise.
24771 (DISP_UL): Likewise.
24772 (DISP_UR): Likewise.
24773 (DISP_LL): Likewise.
24774 (DISP_LR): Likewise.
24775
24776 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 24777
977329f5 247782003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24779
24780 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24781 FIX. Reverse the path_list.
24782
24783 * include/pupa/normal.h: Export pupa_register_command and
24784 pupa_unregister_command.
24785
24786 * hello/hello.c (pupa_cmd_hello): New module.
24787 * conf/i386-pc.rmk: Added hello.mod.
24788
1f5ab428 247892003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24790
24791 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 24792
1f5ab428 24793 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24794 (compress_kernel): New variable.
24795 (generate_image): Heavily modified to support compressing a
24796 large part of the core image.
24797
24798 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24799 leak.
24800 (pupa_util_load_image): New function.
24801
24802 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24803 (pupa_compressed_size): New variable.
24804 (codestart): Enable Gate A20 here.
24805 Decompress the compressed part of the core image.
24806 Rearrange the code to put functions and variables which are
24807 required for initialization in the non-compressed part.
24808 Include lzo1x.S.
24809
24810 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24811 here.
24812
24813 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24814
f19dbdb7 24815 * include/pupa/i386/pc/kernel.h
1f5ab428 24816 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24817 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24818 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24819 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24820 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24821
24822 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24823
24824 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24825 (Utility#rule): Likewise.
24826
24827 * configure.ac: Check if LZO is available.
24828
ce5bf700 248292003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24830
24831 * include/pupa/normal.h: New file.
24832 * include/pupa/setjmp.h: Likewise.
24833 * include/pupa/i386/setjmp.h: Likewise.
24834 * normal/cmdline.c: Likewise.
24835 * normal/command.c: Likewise.
24836 * normal/main.c: Likewise.
24837 * normal/menu.c: Likewise.
24838 * normal/i386/setjmp.S: Likewise.
f19dbdb7 24839
ce5bf700 24840 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24841 (pupa_rescue_cmd_initrd): Likewise.
24842
24843 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24844 Likewise.
24845
24846 * kern/i386/pc/startup.S (translation_table): New variable.
24847 (translate_keycode): New function.
24848 (pupa_console_getkey): Call translate_keycode.
24849
24850 * kern/rescue.c (attempt_normal_mode): New function.
24851 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24852 it failed, print a message.
24853
24854 * kern/mm.c (pupa_real_malloc): Print more information when a
24855 free magic is broken.
24856 (pupa_free): If the first free header is not free actually, set
24857 it to P.
24858
24859 * kern/main.c (pupa_load_normal_mode): Just load the module
24860 "normal".
24861 (pupa_main): Don't print the message
24862 "Entering into rescue mode..." here.
24863
24864 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24865 Declared.
24866 (pupa_rescue_cmd_initrd): Likewise.
24867 (pupa_rescue_cmd_initrd): Likewise.
24868
24869 * include/pupa/symbol.h (FUNCTION): Specify the type.
24870 (VARIABLE): Likewise.
24871
24872 * include/pupa/err.h (pupa_err_t): Added
24873 PUPA_ERR_UNKNOWN_COMMAND.
24874
24875 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24876 (pupa_dl_get_prefix): Likewise.
24877
24878 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24879 Added _chain.mod and _linux.mod instead of chain.mod and
24880 linux.mod.
24881 (chain_mod_SOURCES): Renamed to ...
24882 (_chain_mod_SOURCES): ... this.
24883 (chain_mod_CFLAGS): Renamed to ...
24884 (_chain_mod_CFLAGS): ... this.
24885 (linux_mod_SOURCES): Renamed to ...
24886 (_linux_mod_SOURCES): ... this.
24887 (linux_mod_CFLAGS): Renamed to ...
24888 (_linux_mod_CFLAGS): ... this.
24889 (normal_mod_SOURCES): New variable.
24890 (normal_mod_CFLAGS): Likewise.
24891 (normal_mod_ASFLAGS): Likewise.
24892
248932003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24894
24895 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24896 possible.
24897
fe6b695a 24898 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 24899 recursively.
24900 (pupa_dl_unref): Unrefer depending modules recursively.
24901 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24902 a module is unloaded before one depending on that module is
24903 unloaded.
24904 (pupa_dl_unload): Unload depending modules explicitly,
24905 if possible.
24906
c04da074 249072003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24908
24909 * include/pupa/i386/pc/linux.h: New file.
24910 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 24911
c04da074 24912 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24913 Removed.
24914 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24915 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24916 of PUPA_CHAINLOADER_BOOT_SECTOR.
24917
24918 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24919 (pupa_linux_prot_size): New variable.
24920 (pupa_linux_tmp_addr): Likewise.
24921 (pupa_linux_real_addr): Likewise.
24922 (pupa_linux_boot_zimage): New function.
24923 (pupa_linux_boot_bzimage): Likewise.
24924
24925 * kern/i386/pc/init.c (struct mem_region): New structure.
24926 (MAX_REGIONS): New macro.
24927 (mem_regions): New variable.
24928 (num_regions): Likewise.
24929 (pupa_os_area_addr): Likewise.
24930 (pupa_os_area_size): Likewise.
24931 (pupa_lower_mem): Likewise.
24932 (pupa_upper_mem): Likewise.
24933 (add_mem_region): New function.
24934 (compact_mem_regions): Likewise.
24935 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
24936 the size of the conventional memory and that of so-called upper
24937 memory (before the first memory hole).
24938 Instead of adding each found region to free memory, use
24939 add_mem_region and add them after removing overlaps.
24940 Also, add only 1/4 of the upper memory to free memory. The rest
24941 is used for loading OS images. Maybe this is ad hoc, but this
24942 makes it much easier to relocate OS images when booting.
24943
24944 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24945 (pupa_enter_rescue_mode): Don't register initrd and module.
24946
24947 * kern/mm.c: Include pupa/dl.h.
24948
24949 * kern/main.c: Include pupa/file.h and pupa/device.h.
24950
24951 * kern/loader.c (pupa_loader_load_module_func): Removed.
24952 (pupa_loader_load_module): Likewise.
24953
24954 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24955 ``.o''.
24956
24957 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24958 (pupa_linux_tmp_addr): Likewise.
24959 (pupa_linux_real_addr): Likewise.
24960 (pupa_linux_boot_zimage): Likewise.
24961 (pupa_linux_boot_bzimage): Likewise.
24962
24963 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24964 (pupa_upper_mem): Likewise.
24965 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24966 module is too dangerous.
24967
24968 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24969 (pupa_os_area_size): Likewise.
24970 (pupa_loader_set): Remove the first argument. Loader doesn't
24971 manage modules or initrd any longer.
24972 (pupa_loader_load_module): Removed.
24973
24974 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24975 (linux_mod_SOURCES): New variable.
24976 (linux_mod_CFLAGS): Likewise.
24977
a13f9237 249782003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24979
24980 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24981 the length of a blocklist correctly.
24982
24983 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24984 Use ioctl only if the OS file is a block device.
24985 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24986 not very useful for normal files.
24987
24988 * kern/main.c (pupa_set_root_dev): New function.
24989 (pupa_load_normal_mode): Likewise.
24990 (pupa_main): Call those above.
24991
24992 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24993 pupa_uint16_t.
24994
24995 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24996
a5ffe966 249972003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24998
24999 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
25000 (setup): Configure the installed partition information and the
25001 dl prefix.
25002
25003 * loader/i386/pc/chainloader.c (my_mod): New variable.
25004 (pupa_chainloader_unload): New function.
25005 (pupa_rescue_cmd_chainloader): Refer itself.
25006 (PUPA_MOD_INIT): Save its own module in MY_MOD.
25007
25008 * kern/i386/pc/startup.S (install_partition): Removed.
25009 (version_string): Likewise.
25010 (config_file): Likewise.
25011 (pupa_install_dos_part): New variable.
25012 (pupa_install_bsd_part): Likewise.
25013 (pupa_prefix): Likewise.
25014 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
25015
25016 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
25017 and pupa/misc.h.
25018 (make_install_device): New function.
25019 (pupa_machine_init): Set the dl prefix.
25020
25021 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25022 (buf): Renamed to ...
25023 (linebuf): ... this.
25024 (pupa_rescue_cmd_prefix): New function.
25025 (pupa_rescue_cmd_insmod): Likewise.
25026 (pupa_rescue_cmd_rmmod): Likewise.
25027 (pupa_rescue_cmd_lsmod): Likewise.
25028 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25029 rmmod and lsmod.
25030
25031 * kern/mm.c (pupa_memalign): If failed even after invalidating
25032 disk caches, unload unneeded modules and retry.
25033
25034 * kern/misc.c (pupa_memmove): New function.
25035 (pupa_memcpy): Removed.
25036 (pupa_strcpy): New function.
25037 (pupa_itoa): Made static.
25038
25039 * kern/dl.c (pupa_dl_iterate): New function.
25040 (pupa_dl_ref): Likewise.
25041 (pupa_dl_unref): Likewise.
25042 (pupa_dl_unload): Return if succeeded or not.
25043 (pupa_dl_unload_unneeded): New function.
25044 (pupa_dl_unload_all): Likewise.
25045 (pupa_dl_init): Renamed to ...
25046 (pupa_dl_set_prefix): ... this.
25047 (pupa_dl_get_prefix): New function.
25048
25049 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25050 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25051 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25052 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25053 (pupa_install_dos_part): Declared.
25054 (pupa_install_bsd_part): Likewise.
25055 (pupa_prefix): Likewise.
25056 (pupa_boot_drive): Likewise.
25057
25058 * include/pupa/types.h: Fix a typo.
25059
25060 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25061 pupa_memmove.
25062 (pupa_memmove): Declared.
25063 (pupa_strcpy): Likewise.
25064
25065 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25066 pupa_mod_init takes one argument, its own module.
25067 (pupa_dl_unload_unneeded): Declared.
25068 (pupa_dl_unload_all): Likewise.
25069 (pupa_dl_ref): Likewise.
25070 (pupa_dl_unref): Likewise.
25071 (pupa_dl_iterate): Likewise.
25072 (pupa_dl_init): Renamed to ...
25073 (pupa_dl_set_prefix): ... this.
25074 (pupa_dl_get_prefix): Declared.
25075
25076 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 25077 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 25078 unloaded.
25079 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25080 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25081
25082 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25083 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25084
012d7999 250852003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25086
25087 * util/i386/pc/pupa-setup.c (setup): Define the internal
25088 function find_first_partition_start at the top level, because GCC
25089 3.0.x cannot compile internal functions in deeper scopes
25090 correctly.
25091 (find_root_device): Use lstat instead of stat.
25092 Don't follow symbolic links.
25093 Fix the path-constructing code.
25094
25095 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25096 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25097 by a BLKGETSIZE ioctl first, because block devices don't fill
25098 the member st_mode of the structure stat on Linux.
25099 [__linux__] (linux_find_partition): Use a temporary buffer
25100 REAL_DEV for the working space. Copy it to DEV before returning.
25101 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25102 buffer cache consistent.
25103 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25104 strncmp. The previous value was merely wrong.
25105 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25106
25107 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25108 FAT size is 12. The previous value was merely wrong.
25109
25110 * kern/main.c (pupa_main): Don't split the starting message from
25111 newlines.
25112
25113 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25114 LF, because BIOS goes crazy about character attributes in this
25115 case.
25116
1cc73a62 251172003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25118
25119 * include/i386/pc/util/biosdisk.h: New file.
25120 * util/i386/pc/biosdisk.c: Likewise.
25121 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 25122
1cc73a62 25123 * Makefile.in (INCLUDE_DISTFILES): Added
25124 include/pupa/i386/pc/util/biosdisk.h.
25125 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25126 directory util/i386/pc.
25127 (install-local): Added a rule for sbin_UTILITIES.
25128 (uninstall): Likewise.
25129
25130 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25131
25132 * util/misc.c (xrealloc): New function.
25133 (pupa_malloc): Likewise.
25134 (pupa_free): Likewise.
25135 (pupa_realloc): Likewise.
25136 (pupa_stop): Likewise.
25137 (pupa_putchar): Likewise.
25138
25139 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25140
25141 * include/pupa/util/misc.h (xrealloc): Declared.
25142
25143 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25144 macro.
25145 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25146 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25147
25148 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25149 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25150
25151 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25152 way should be implemented.
25153 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25154
25155 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25156 the size of NAME for safety.
25157 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25158 0x88.
25159
25160 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25161 (pupa_setup_SOURCES): Likewise.
25162
25163 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25164
08b70fe8 251652002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25166
25167 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25168 bunch of pushl's from pusha, because this destroys the return
25169 value.
25170
62ddcc8f 251712002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25172
25173 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25174 This means that any missing prototypes could be fatal. Also, you
25175 must take care when writing assembly code. See the comments at
25176 the beginning of startup.S, for more details.
f19dbdb7 25177
62ddcc8f 25178 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25179 compilation mechanism.
25180 (pupa_chainloader_real_boot): Likewise.
25181 (pupa_biosdisk_rw_int13_extensions): Likewise.
25182 (pupa_biosdisk_rw_standard): Likewise.
25183 (pupa_biosdisk_check_int13_extensions): Likewise.
25184 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25185 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25186 (pupa_get_memsize): Likewise.
25187 (pupa_get_mmap_entry): Likewise.
25188 (pupa_console_putchar): Likewise.
25189 (pupa_console_setcursor): Likewise.
25190 (pupa_getrtsecs): Use pushl instead of push.
25191
25192 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25193 memory instead of the stack for a mmap entry, because some
25194 BIOSes may ignore the maximum size and overflow.
25195
25196 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25197
25198 * genmk.rb (PModule#rule): Compile automatically generated
25199 sources with module-specific CFLAGS as well as other sources.
25200
9962ed99 252012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25202
25203 * configure.ac: Check ld.
25204 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25205 respectively, before checking endianness and sizes.
25206
25207 * Makefile.in (LD): New variable.
f19dbdb7 25208
abdfc3c5 252092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25210
25211 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25212
6a161fa9 252132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25214
25215 * Changelog: New file.
25216