]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
5519963b
VS
12010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Update version to 1.98.
4
72b28631
VS
52010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * util/grub.d/10_linux.in (linux_entry): Don't default to
8 gfxpayload=keep if Linux doesn't support video handover.
9
c140a180
VS
102010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Don't compile video modules on yeeloong since video subsystem is part
13 of kernel.
14
15 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
16 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21 * include/grub/bitmap_scale.h: Likewise.
22 * include/grub/bufio.h: Likewise.
23 * include/grub/font.h: Likewise.
24 * include/grub/gfxterm.h: Likewise.
25 * include/grub/video.h: Likewise.
26 * include/grub/vbe.h: Don't include video_fb.h.
27 * video/i386/pc/vbe.c: Include video_fb.h.
28 * commands/i386/pc/vbetest.c: Include video.h.
29
a0ca21c2
CW
302010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
31
32 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
33 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
34 default entry if GRUB_SAVEDEFAULT=true. This allows using
35 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
36 saving a new default on every boot.
37
4a8a763c
VS
382010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * normal/crypto.c (read_crypto_list): Fix a memory leak.
41 * normal/term.c (read_terminal_list): Likewise.
42 * normal/main.c (grub_normal_init_page): Likewise.
43 (grub_normal_read_line_real): Likewise.
44
607ffde2
VS
452010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
48 memory leak.
49 Reported by: Seth Goldberg.
50
2b8fa975
CW
512010-02-24 Joey Korkames <joey+lists@kidfixit.com>
52
53 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
54 duplicate declaration of `start'.
55
618307dd
VS
562010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
59 filename.
60 Reported by: Georgy Buranov
61
7dd05b96 622010-02-20 Carles Pina i Estany <carles@pina.cat>
63
64 * util/grub-mkrawimage.c (usage): Change string formatting to
65 improve gettext.
66
d1484a42
MRA
672010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
68
69 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
70 backspace keys.
71
42b1d186
VS
722010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
75 Reported by: Michael Suchanek.
76
772010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
78
79 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
80 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
81
d9f31a41
VS
822010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
83
84 Remove any reference to non-free fonts.
85
86 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
87 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
88 uses non-free components.
89 * font/font.c (grub_font_get_name): Remove example name.
90 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
91 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
92 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
93 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
94
2793c71e
GB
952010-02-16 Georgy Buranov <gburanov@gmail.com>
96
97 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
98
402e3779
VS
992010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
102 Double divisor.
103 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
104 features.
105 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
106
0dd1e0dd
VS
1072010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * gensymlist.sh.in: Use TARGET_CC instead of CC.
110
6fa7cfce
ST
1112010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
112
113 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
114 * docs/grub.texi (Command-line and menu entry commands): Document play
115 command.
116
37c8483b
ST
1172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
118
119 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
120 parse arguments as inline tempo and notes. Move code for playing notes
121 to...
122 (play): ... new function.
123
14da0fb7
ST
1242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
125
126 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
127 grub_uint16_t instead of short.
128 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
129 disk from little endian to cpu endianness.
130
04459e70
ST
1312010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
132
133 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
134 GRUB_TICKS_PER_SECOND instead of 120.
135
a0876943
VS
1362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
139 escape sequence after \e.
140
e29f95dc
VS
1412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
144 non-ASCII characters.
145
d27859b2
VS
1462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
149 set root in single quotes to prevent \, from being unescaped.
150
bc028f2f
VS
1512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Prevent unknown commands from stopping menuentry execution.
154
155 * script/execute.c (grub_script_execute_cmdline): Print error after
156 unknown command.
157
095f5f82
VS
1582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
161 Reported by: Pavel Pisa.
162
8c717950
VS
1632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
166
904935c3
VS
1672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
168
169 Merge grub_ieee1275_map_physical into grub_map and rename to
170 grub_ieee1275_map
171
172 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
173 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
174 Remove.
175 * kern/ieee1275/openfw.c (grub_map): Rename to ...
176 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
177 necessary.
178 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
179
5b59a4e3
VS
1802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
183 opening and not after.
184
69e137e8
VS
1852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
188 constants.
189
2c0fcc36
VS
1902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
193 (alloc_phys): Use ALIGN_UP instead of align_addr.
194
8c6052ce
VS
1952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
198
17cec782
VS
1992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
202
e0128bbd
VS
2032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
206 verbose dprintf.
207
ca62070b
VS
2082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
209
210 Fix over-4GiB seek on sparc64.
211
212 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
213 Replace pos_i and pos_lo with pos. All users updated.
214 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
215 New constant.
216 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
217 Likewise.
218 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
219 and pos_lo.
220
bdca2607
VS
2212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * util/grub-mkrawimage.c (main): Call set_program_name.
224
da278c4d
VS
2252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
226
227 Properly align 64-bit targets.
228
229 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
230 (generate_image): Use ALIGN_ADDR.
231
b274d734
VS
2322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
233
234 Properly create cross-endian images.
235
236 * include/grub/types.h (grub_host_to_target_addr): New macro
237 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
238
82da2062
VS
2392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
242
7cae4377
VS
2432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
246
247 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
248 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
249 (grub_linux_boot): Divide by 64K when on VESA.
250
65a533e7
VS
2512010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
252
253 Support GRUB_GFXPAYLOAD_LINUX.
254
255 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
256 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
257
dd01d397
VS
2582010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
261 to show messages instead of discarding them.
262 Process errors after executing command and not before. Keep old method
263 too as precaution.
264
660960d6
VS
2652010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * configure.ac: Check for ft2build.h.
268
62509f04
VS
2692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
272
473df63d
VS
2732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * genkernsyms.sh.in: Use TARGET_CC.
276
c98d2a13
CW
2772010-02-07 Colin Watson <cjwatson@ubuntu.com>
278
279 * NEWS: Update.
280
6e14234c
VS
2812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
284 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
285 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 286
b255e9cf
YB
2872010-02-07 Yves Blusseau <blusseau@zetam.org>
288
6e14234c 289 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 290
98e6959d
VS
2912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
292
293 Fix warnings in grub-emu when compiling with maximum warning options.
294
295 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
296 (grub_arch_modules_addr): Return 0 and not NULL.
297 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 298 (xstrdup): Use newstr instead of dup.
f88d801b
VS
299 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
300 of disk to dsk to avoid shadowing.
74e4934e
VS
301 (find_free_slot): Fix prototype.
302 * util/getroot.c (grub_util_is_dmraid): Make static.
303 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
304 Add missing prototype.
305 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 306
74e31b5c
VS
3072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * loader/i386/linux.c (grub_linux_setup_video): Handle error
310 appropriately.
311
6b2ad14b
VS
3122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
315 code out.
316
8f891adc
VS
3172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
320 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
321 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
322 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
323 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
324 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
325
74b45184
VS
3262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * include/grub/err.h (grub_err_printf): Don't export.
329
a4bced77
VS
3302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
333
007d0695
VS
3342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * include/grub/i18n.h (grub_gettext_dummy): Removed.
337 * kern/misc.c (grub_gettext_dummy): Make static.
338
b6c0d9c2
VS
3392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
342 by non-valid ones.
343 * kern/term.c (grub_putchar): Likewise.
344
f51a90d0
VS
3452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
348 buggy hook call and memory leak.
349
6846cec5
VS
3502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
353
468d69fe
VS
3542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
357
51906b8c
VS
3582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
361 modevar.
362 Return grub_errno on allocation error.
363
09706ce5
VS
3642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
367
911df80c
YB
3682010-02-06 Yves Blusseau <blusseau@zetam.org>
369
370 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
371 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
372
3746a6bc
VS
3732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
376 non-pxe disk.
377 (grub_pxefs_open): Likewise.
378
09706ce5
VS
3792010-02-06 Robert Millan <rmh.grub@aybabtu.com>
380
381 * util/grub.d/10_hurd.in: Add --class information to menuentries.
382 * util/grub.d/10_kfreebsd.in: Likewise.
383 * util/grub.d/10_linux.in: Likewise.
384
7cc192d9
VS
3852010-02-06 Colin D Bennett <colin@gibibit.com>
386
387 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
388 (gfxmenu_mod_SOURCES): New variable.
389 (gfxmenu_mod_CFLAGS): Likewise.
390 (gfxmenu_mod_LDFLAGS): Likewise.
391 * include/grub/term.h (grub_term_set_current_output): Declare
392 argument as const.
393 * docs/gfxmenu-theme-example.txt: New file.
394 * gfxmenu/gfxmenu.c: Likewise.
395 * gfxmenu/gui_box.c: Likewise.
396 * gfxmenu/gui_canvas.c: Likewise.
397 * gfxmenu/gui_circular_progress.c: Likewise.
398 * gfxmenu/gui_image.c: Likewise.
399 * gfxmenu/gui_label.c: Likewise.
400 * gfxmenu/gui_list.c: Likewise.
401 * gfxmenu/gui_progress_bar.c: Likewise.
402 * gfxmenu/gui_string_util.c: Likewise.
403 * gfxmenu/gui_util.c: Likewise.
404 * gfxmenu/icon_manager.c: Likewise.
405 * gfxmenu/model.c: Likewise.
406 * gfxmenu/named_colors.c: Likewise.
407 * gfxmenu/theme_loader.c: Likewise.
408 * gfxmenu/view.c: Likewise.
409 * gfxmenu/widget-box.c: Likewise.
410 * include/grub/gfxmenu_model.h: Likewise.
411 * include/grub/gfxmenu_view.h: Likewise.
412 * include/grub/gfxwidgets.h: Likewise.
413 * include/grub/gui.h: Likewise.
414 * include/grub/gui_string_util.h: Likewise.
415 * include/grub/icon_manager.h: Likewise.
416
4172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
418
419 Agglomerate scrolling in gfxterm.
420
421 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
422 (grub_virtual_screen_setup): Initialise 'total_screen'.
423 (write_char): Split to ...
424 (paint_char): ... this ...
425 (write_char): ... and this.
426 (paint_char): Handle delayed scrolling.
427 (draw_cursor): Likewise.
428 (scroll_up): Split to ...
429 (real_scroll): ... this ...
430 (scroll_up): ... and this.
431 (real_scroll): Handle multi-line scroll and draw below-the-bottom
432 characters.
433 (grub_gfxterm_refresh): Call real_scroll.
434
4352010-02-06 Colin D Bennett <colin@gibibit.com>
436
437 * include/grub/misc.h (grub_iscntrl): New inline function.
438 (grub_isalnum): Likewise.
439 (grub_strtol): Likewise.
440
4412010-02-06 Colin D Bennett <colin@gibibit.com>
442
443 * normal/menu_text.c (get_entry_number): Move from here ...
444 * normal/menu.c (get_entry_number): ... moved here.
445 * include/grub/menu.h (grub_menu_get_default_entry_index):
446 New prototype.
447 * normal/menu.c (grub_menu_get_default_entry_index): New function.
448 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
449 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
450 (grub_menu_viewer_should_return): Likewise.
451 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
452 * normal/menu_text.c (run_menu): Enable menu switching.
453 * normal/menu_viewer.c (should_return): New variable.
454 (menu_viewer_changed): Likewise.
455 (grub_menu_viewer_show_menu): Handle menu viewer changes.
456 (grub_menu_viewer_should_return): New function.
457 (menuviewer_write_hook): Likewise.
458 (grub_menu_viewer_init): Likewise.
459
4602010-02-06 Colin D Bennet <colin@gibibit.com>
4612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Support for gfxterm in a window.
464
465 * include/grub/gfxterm.h: New file.
466 * include/grub/video.h (struct grub_video_rect): New declaration.
467 (grub_video_rect_t): Likewise.
468 * term/gfxterm.c (struct grub_gfxterm_window): New type.
469 (refcount): New variable.
470 (render_target): Likewise.
471 (window): Likewise.
472 (repaint_callback): Likewise.
473 (grub_virtual_screen_setup): Use 'render_target'.
474 (init_window): New function.
475 (grub_gfxterm_init_window): Likewise.
476 (grub_gfxterm_init): Check reference counter.
477 Use init_window.
478 (destroy_window): New function.
479 (grub_gfxterm_destroy_window): Likewise.
480 (grub_gfxterm_fini): Check reference counter.
481 Use destroy_window.
482 (redraw_screen_rect): Restore viewport.
483 Use 'render_target' and 'window'.
484 Call 'repaint_callback'.
485 (write_char): Use 'render_target'.
486 (draw_cursor): Likewise.
487 (scroll_up): Restore viewport.
488 Use 'render_target' and 'window'.
489 Call 'repaint_callback'.
490 (grub_gfxterm_cls): Likewise.
491 (grub_gfxterm_refresh): Use 'window'.
492 (grub_gfxterm_set_repaint_callback): New function.
493 (grub_gfxterm_background_image_cmd): Use 'window'.
494 (grub_gfxterm_get_term): New function.
495 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
496
4972010-02-06 Colin D Bennett <colin@gibibit.com>
498
499 Bitmap scaling support.
500
501 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
502 (bitmap_scale_mod_SOURCES): New variable.
503 (bitmap_scale_mod_CFLAGS): Likewise.
504 (bitmap_scale_mod_LDFLAGS): Likewise.
505 * include/grub/bitmap_scale.h: New file.
506 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
507 (background_image_cmd_options): New variable.
508 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
509 (cmd): Rename and change type to ...
510 (background_image_cmd_handle): ... this. All users updated.
511 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
512 * video/bitmap_scale.c: New file.
513
5142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
515
516 SDL support.
517
518 * Makefile.in (LIBSDL): New variable.
519 (enable_grub_emu_sdl): Likewise.
520 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
521 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
522 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
523 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
524 * util/sdl.c: New file.
525
5262010-02-06 Colin D Bennett <colin@gibibit.com>
5272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
528
529 Double buffering support.
530
531 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
532 * include/grub/video.h: Update comment.
533 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
534 New type.
535 (grub_video_fb_doublebuf_blit_init): New prototype.
536 * term/gfxterm.c (scroll_up): Support double buffering.
537 (grub_gfxterm_refresh): Likewise.
538 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
539 (grub_video_fb_doublebuf_blit_init): Likewise.
540 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
541 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
542 'displayed_page', 'render_page' and 'update_screen'.
543 (grub_video_vbe_fini): Free offscreen buffer.
544 (doublebuf_pageflipping_commit): New function.
545 (doublebuf_pageflipping_update_screen): Likewise.
546 (doublebuf_pageflipping_init): Likewise.
547 (double_buffering_init): Likewise.
548 (grub_video_vbe_setup): Enable doublebuffering.
549 (grub_video_vbe_swap_buffers): Implement.
550 (grub_video_vbe_set_active_render_target): Handle double buffering.
551 (grub_video_vbe_get_active_render_target): Likewise.
552 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
553 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
554 (grub_video_vbe_enable_double_buffering): Likewise.
555 (grub_video_vbe_swap_buffers): Use update_screen.
556 (grub_video_set_mode): Use double buffering.
557
5582010-02-06 Robert Millan <rmh.grub@aybabtu.com>
559
560 * maintainance/gentrigtables.py: Remove.
561 * lib/trig.c: Likewise.
562
563 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
564
565 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
566 `trigtables.c'.
567 (trigtables.c): New rule.
568 (gentrigtables): Likewise.
569 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
570
5712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
572
573 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
574 integer constants.
575
5762010-02-06 Colin D Bennet <colin@gibibit.com>
577
578 Trigonometry support.
579
580 * include/grub/trig.h: New file.
581 * lib/trig.c: Likewise.
582 * maintainance/gentrigtables.py: Likewise.
583 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
584 (trig_mod_SOURCES): New variable.
585 (trig_mod_CFLAGS): Likewise.
586 (trig_mod_LDFLAGS): Likewise.
587
5562834e
VS
5882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
591 disk devices.
592
4f8528fc
VS
5932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
596 error.
597
2b4068e9
VS
5982010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * util/hostdisk.c (open_device): Don't use partition device when reading
601 before the partition.
602 (grub_util_biosdisk_read): Don't read from partition and before the
603 partition in single operation.
604 (grub_util_biosdisk_write): Don't write to partition and before the
605 partition in single operation.
606
399f6e4d
TL
6072010-02-03 Torsten Landschoff <torsten@debian.org>
608
609 * kern/disk.c (grub_disk_read): Fix offset computation when reading
610 last sectors.
611
996649b0
VS
6122010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
615 CDROM reads.
616 (grub_biosdisk_write): Refuse to write to CDROM.
617
3b205d4d
VS
6182010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
621
61e89d9d
VS
6222010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * font/font.c (find_glyph): Check that bmp_idx is available before
625 using it.
626 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
627 with (font == NULL).
628
bf7fcba2
CS
6292010-01-28 Christian Schmitt <chris@ilovelinux.de>
630
631 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
632
f45d2663
BC
6332010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
634
635 * include/grub/script_sh.h (sourcecode): Add const qualifier.
636 * util/grub-script-check.c (getline): Fix empty lines case.
637
ec1444e6
RM
6382010-01-28 Robert Millan <rmh.grub@aybabtu.com>
639
640 * Makefile.in (check): Exit with fail status when one of the tests
641 fails.
642 * tests/example_functional_test.c (example_test): Fix reversed assert.
643 * tests/example_unit_test.c (example_test): Likewise.
644
2e1cb9bb
CW
6452010-01-28 Colin Watson <cjwatson@ubuntu.com>
646
647 * util/grub.d/10_linux.in: This script does not use any of the
648 contents of gettext.sh, only the external command `gettext', so stop
649 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
650 the same prefix as GRUB.)
651 * util/grub.d/10_kfreebsd.in: Likewise.
652
63533ab0
VS
6532010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
656 of the line.
657
989e1f93
VS
6582010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * kern/disk.c (grub_disk_read): Fix offset computation when reading
661 last sectors.
662
e709ebe2
VS
6632010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
666 having a 4KiB and not 32KiB buffer size.
667
27dea7ed
RM
6682010-01-27 Robert Millan <rmh.grub@aybabtu.com>
669
670 * util/hostfs.c: Include `<errno.h>'.
671 (grub_hostfs_read): Handle errors from fseeko() and fread().
672
67667b9c
RM
6732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
674
675 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
676 loop when using read hooks on files whose size isn't sector-aligned.
677
c294d9d8
RM
6782010-01-27 Robert Millan <rmh.grub@aybabtu.com>
679
680 Remove unused parameter.
681
682 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
683 (grub_iso9660_open): Remove initialization of `data->length'.
684
af75a9f1
RM
6852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
686
687 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
688 memleak conditions.
689
254e2ce5 6902010-01-27 Carles Pina i Estany <carles@pina.cat>
691
692 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
693 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
694
b510928c 6952010-01-26 Carles Pina i Estany <carles@pina.cat>
696
697 * util/bin2h.c (usage): Fix warning (space after backslash).
698
aa2f9dd2 6992010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 700
701 * font/font.c: Include `grub/fontformat.h.
702 Remove font file format constants.
703 (grub_font_load): Use the new macros.
704 * include/grub/fontformat.h: New file.
705 * util/grub-mkfont.c: Include `grub/fontformat.c'.
706 (write_font_pf2): Use the new macros.
707
94e7e712
RM
7082010-01-26 Robert Millan <rmh.grub@aybabtu.com>
709
710 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
711 does.
712
3973a59a
RM
7132010-01-26 Robert Millan <rmh.grub@aybabtu.com>
714
715 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
716
717 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
718 (_start): Macroify `0x7F'.
719
720 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
721 (make_install_device): Use "(pxe)" as fallback prefix when booting
722 via PXE.
723
42e0cba3
GS
7242010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * configure.ac: Reset LIBS after check for libgcc symbols.
727
847effd8
CW
7282010-01-25 Colin Watson <cjwatson@ubuntu.com>
729
730 * util/hostdisk.c (open_device): Add trailing newline to debug
731 message.
732
ea4a7e35
GS
7332010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
734
735 * configure.ac: Check for `limits.h'.
736 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
737
67951a53
RM
7382010-01-24 Robert Millan <rmh.grub@aybabtu.com>
739
740 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
741 capitalize error strings.
742
c273d4ce
ST
7432010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
744
745 * util/grub.d/10_hurd.in: Add a recovery mode.
746
69be5b74
VS
7472010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * configure.ac: Check for libgcc symbols with -nostdlib.
750
fc9e5810
BC
7512010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
752
753 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
754
4b358c0a
VS
7552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
758 stack since heap may be unavailable at that point.
759 (grub_ofconsole_gotoxy): Likewise.
760
454fcd1c
VS
7612010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * configure.ac: Check for _restgpr_14_x.
764 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
765 and _savegpr_* prototypes.
766
566863ca
RM
7672010-01-22 Robert Millan <rmh.grub@aybabtu.com>
768
769 Use generic grub_reboot() for i386-efi.
770
771 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
772 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
773 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
774
bf86e59a
VS
7752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
778 presence of "prefix" variable as it breaks when normal.mod is
779 embedded.
780
d645e0f8
VS
7812010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
784 stack since heap is unavailable at that point.
785
f9ab2e25
VS
7862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
789 (grub_freebsd_bootinfo): Rewritten.
790 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
791
01fc7054
VS
7922010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
795
caab4fd6
RM
7962010-01-21 Robert Millan <rmh.grub@aybabtu.com>
797
798 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
799 domain now.
800
67eb1427
FZ
8012010-01-20 Felix Zielcke <fzielcke@z-51.de>
802
803 * util/misc.c (make_system_path_relative_to_its_root): Change the work
804 around for handling "/" to the correct fix. Fix a memory leak. Use
805 xstrdup instead of strdup.
806
a9ed4ff3
VS
8072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
810
8112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
812
813 Optimise glyph lookup by Basic Multilingual Plane lookup array.
814
815 * font/font.c (struct grub_font): New member 'bmp_idx'.
816 (font_init): Initialise 'bmp_idx'.
817 (load_font_index): Fill 'bmp_idx'.
818 (find_glyph): Make inline. Use bmp_idx for BMP characters.
819
48209f4f
VS
8202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
823 unnecessary calls.
824
9f0a4bb7
VS
8252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Move context handling out of the kernel.
828
829 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
830 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
831 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
832 * conf/i386-efi.rmk: Likewise.
833 * conf/i386-ieee1275.rmk: Likewise.
834 * conf/i386-pc.rmk: Likewise.
835 * conf/powerpc-ieee1275.rmk: Likewise.
836 * conf/sparc64-ieee1275.rmk: Likewise.
837 * conf/x86_64-efi.rmk: Likewise.
838 * include/grub/env.h: Include grub/menu.h.
839 (grub_env_var_type): Removed.
840 (grub_env_var): Replaced field 'type' with 'global'.
841 (grub_env_find): New prototype.
842 (grub_env_context_open): Remove EXPORT_FUNC.
843 (grub_env_context_close): Likewise.
844 (grub_env_export): Likewise.
845 (grub_env_set_data_slot): Removed.
846 (grub_env_get_data_slot): Likewise.
847 (grub_env_unset_data_slot): Likewise.
848 (grub_env_unset_menu): New prototype.
849 (grub_env_set_menu): Likewise.
850 (grub_env_get_menu): Likewise.
851 * include/grub/env_private.h: New file.
852 * include/grub/normal.h (grub_context_init): New prototype.
853 (grub_context_fini): Likewise.
854 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
855 * normal/context.c (grub_cmd_export): ... to here.
856 * kern/env.c: Include env_private.h.
857 (HASHSZ): Moved to include/grub/env_private.h.
858 (grub_env_context): Likewise.
859 (grub_env_sorted_var): Likewise.
860 (current_context): Renamed from this ...
861 (grub_current_context): ...to this. 'static' removed. All users updated.
862 (grub_env_find): Removed 'static'.
863 (grub_env_context_open): Moved to normal/context.c.
864 (grub_env_context_close): Likewise.
865 (grub_env_export): Likewise.
866 (mangle_data_slot_name): Removed.
867 (grub_env_set_data_slot): Likewise.
868 (grub_env_get_data_slot): Likewise.
869 (grub_env_unset_data_slot): Likewise.
870 * kern/main.c (grub_set_root_dev): Don't export root.
871 It will be done later.
872 (grub_main): Don't export prefix.
873 It will be done later.
874 * normal/context.c: New file.
875 * normal/main.c (free_menu): Use grub_env_unset_menu.
876 (grub_normal_add_menu_entry): Use grub_env_get_menu.
877 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
878 (GRUB_MOD_INIT(normal)): Call grub_context_init.
879 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
880
8dd35b8c
VS
8812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
882
883 setpci support.
884
885 * commands/setpci.c: New file.
886 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
887 (setpci_mod_SOURCES): New variable.
888 (setpci_mod_CFLAGS): Likewise.
889 (setpci_mod_LDFLAGS): Likewise.
890
449193d5
VS
8912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Byte-addressable PCI configuration space.
894
895 * bus/pci.c (grub_pci_make_address): Use byte address instead of
896 dword address.
897 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
898 GRUB_PCI_REG_CACHELINE.
899 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
900 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
901 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
902 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
903 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
904 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
905 grub_pci_make_address.
906 (lock_rom_area): Likewise.
907 * commands/lspci.c (grub_lspci_iter): Use macroses
908 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
909 of grub_pci_make_address.
910 * disk/ata.c (grub_ata_pciinit): Likewise.
911 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
912 (GRUB_PCI_REG_VENDOR): Likewise.
913 (GRUB_PCI_REG_DEVICE): Likewise.
914 (GRUB_PCI_REG_COMMAND): Likewise.
915 (GRUB_PCI_REG_STATUS): Likewise.
916 (GRUB_PCI_REG_REVISION): Likewise.
917 (GRUB_PCI_REG_CLASS): Likewise.
918 (GRUB_PCI_REG_CACHELINE): Likewise.
919 (GRUB_PCI_REG_LAT_TIMER): Likewise.
920 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
921 (GRUB_PCI_REG_BIST): Likewise.
922 (GRUB_PCI_REG_ADDRESSES): Likewise.
923 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
924 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
925 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
926 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
927 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
928 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
929 (GRUB_PCI_REG_CIS_POINTER): Likewise.
930 (GRUB_PCI_REG_SUBVENDOR): Likewise.
931 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
932 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
933 (GRUB_PCI_REG_CAP_POINTER): Likewise.
934 (GRUB_PCI_REG_IRQ_LINE): Likewise.
935 (GRUB_PCI_REG_IRQ_PIN): Likewise.
936 (GRUB_PCI_REG_MIN_GNT): Likewise.
937 (GRUB_PCI_REG_MAX_LAT): Likewise.
938 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
939 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
940 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 941 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
942 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
943 space.
944
96d73208
RM
9452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
946
947 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
948 can be reliably determined to be supported.
949
d4484482
RM
9502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
951
952 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
953 that VESA is supported.
954 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
955 supported.
956
00308ecf
VS
9572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
960
f66924a4
RM
9612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
962
963 * util/misc.c (make_system_path_relative_to_its_root): Work around
964 special-casing of "/", as previous incarnation of this routine did.
965
cbca0ada
VS
9662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Fix any-emu compilation.
969
970 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
971 * grub_bin2h_SOURCES: New variable.
972
34a66d99
RM
9732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
974
975 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
976
94fabf58
RM
9772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
978
979 * util/grub.d/00_header.in: Fix handling of locale_dir.
980
02cf98ca
VS
9812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
984 as possible unifont location (Gentoo).
985 Reported by: Alexander Brüning
986
327dbcd7
VS
9872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
988
989 Don't try to generate lists for kernel.img.
990
991 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
992 (pkglib_MODULES): Remove kernel.img.
993 (kernel_img_EXPORTS): Removed.
994 (kernel_img_RELOCATABLE): New variable.
995 * conf/x86_64-efi.rmk: Likewise.
996 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
997
ca467290
VS
9982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1001 grub_xasprintf or grub_snprintf.
1002 (grub_vsprintf): Likewise.
1003 (grub_snprintf): New proto.
1004 (grub_vsnprintf): Likewise.
1005 (grub_xasprintf): Likewise.
1006 (grub_xvasprintf): Likewise.
1007 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1008 (grub_sprintf): Removed.
1009 (grub_vsnprintf): New function.
1010 (grub_snprintf): Likewise.
1011 (grub_xvasprintf): Likewise.
1012 (grub_xasprintf): Likewise.
1013 (grub_vsprintf): Renamed to ...
1014 (grub_vsnprintf_real): ...this. New argument max_len.
1015
aca655fd
BC
10162010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1017
1018 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1019 fix grub-script-check warning.
1020
7ee92c32
VS
10212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * include/grub/font.h (grub_font_load): Fix prototype.
1024
f80927ca
VS
10252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1028
119c50ea
VS
10292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * include/grub/x86_64/at_keyboard.h: New file.
1032
47d5f3c1
VS
10332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * loader/mips/linux.c: Include missing grub/i18n.h.
1036
55ff5266
RM
10372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1038
1039 * normal/menu.c (notify_execution_failure): Clarify error message.
1040
c893cc87
RM
10412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1042
1043 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1044 return value (and revert all return statements). Update users.
1045
917dd370
CW
10462010-01-20 Dan Merillat <debian@dan.merillat.org>
1047
1048 * kern/device.c (grub_device_iterate): Allocate new part_ent
1049 structure based on sizeof (*p) rather than sizeof (p->next), to
1050 account for structure padding.
1051
1052 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1053 disk is NULL, which might happen for LVM physical volumes with no
1054 LVM signature.
1055
d4a4ee57
RM
10562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1057
1058 * loader/mips/linux.c (grub_cmd_initrd)
1059 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1060
10612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1062
1063 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1064 (grub_video_video_init, grub_video_bitmap_init)
1065 (grub_font_manager_init, grub_term_gfxterm_init)
1066 (grub_at_keyboard_init): New extern declarations.
1067 (grub_machine_init): Initialize gfxterm and at_keyboard.
1068
1069 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1070
1071 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1072 `gfxterm.mod' into core image.
1073
1074 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1075 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1076 (kernel_img_FORMAT): Copy to ...
1077
1078 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1079 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1080 (kernel_img_FORMAT): ... here, and ...
1081
1082 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1083 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1084 (kernel_img_FORMAT): ... here.
1085
1086 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1087 and input (at_keyboard) terminals in kernel.
1088 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1089
1090 (pkglib_MODULES): Remove `pci.mod'.
1091 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1092 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1093 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1094 (at_keyboard_mod_LDFLAGS): Remove variables.
1095
10962010-01-11 Felix Zielcke <fzielcke@z-51.de>
1097
1098 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1099
11002009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1101
1102 * include/grub/mips/libgcc.h: Only export symbols for functions
1103 that libgcc provides.
1104
11052009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 MIPS support.
1108
1109 * bus/bonito.c: New file.
1110 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1111 GRUB_PCI_NUM_DEVICES.
1112 * term/i386/pc/serial.c: Move to ...
1113 * term/serial.c: ... here. All users updated.
1114 * util/i386/pc/grub-mkimage.c: Move to ...
1115 * util/grub-mkrawimage.c: ... here. All users updated.
1116 * term/i386/pc/at_keyboard.c: Move to ...
1117 * term/at_keyboard.c: ... here. All users updated.
1118 * conf/mips-qemu-mips.rmk: New file.
1119 * conf/mips-yeeloong.rmk: Likewise.
1120 * conf/mips.rmk: Likewise.
1121 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1122 mipsel-qemu-mips.
1123 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1124 to port addresses.
1125 (grub_ata_pciinit): Support CS5536.
1126 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1127 * font/font_cmd.c (loadfont_command): Open file before passing it to
1128 grub_font_load.
1129 (pseudo_file_read): New function.
1130 (pseudo_file_close): Likewise.
1131 (pseudo_fs): New structure.
1132 (load_font_module): New function.
1133 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1134 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1135 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1136 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1137 * include/grub/i386/at_keyboard.h: Split into ...
1138 * include/grub/at_keyboard.h: ... this ...
1139 * include/grub/i386/at_keyboard.h: ... and this.
1140 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1141 New prototype.
1142 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1143 updated.
1144 (grub_elf64_size): Likewise.
1145 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1146 filename.
1147 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1148 * include/grub/i386/coreboot/serial.h: Rewritten.
1149 * include/grub/i386/ieee1275/serial.h: Include
1150 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1151 * include/grub/i386/pc/serial.h: Moved from here ...
1152 * include/grub/serial.h: ... to here. All users updated.
1153 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1154 (GRUB_PCI_NUM_BUS): Likewise.
1155 (GRUB_PCI_NUM_DEVICES): Likewise.
1156 (grub_pci_device_map_range): Add missing volatile keyword.
1157 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1158 * include/grub/mips/at_keyboard.h: New file.
1159 * include/grub/mips/cache.h: Likewise.
1160 * include/grub/mips/io.h: Likewise.
1161 * include/grub/mips/kernel.h: Likewise.
1162 * include/grub/mips/libgcc.h: Likewise.
1163 * include/grub/mips/pci.h: Likewise.
1164 * include/grub/mips/qemu-mips/boot.h: Likewise.
1165 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1166 * include/grub/mips/qemu-mips/loader.h: Likewise.
1167 * include/grub/mips/qemu-mips/memory.h: Likewise.
1168 * include/grub/mips/qemu-mips/serial.h: Likewise.
1169 * include/grub/mips/qemu-mips/time.h: Likewise.
1170 * include/grub/mips/relocator.h: Likewise.
1171 * include/grub/mips/time.h: Likewise.
1172 * include/grub/mips/types.h: Likewise.
1173 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1174 * include/grub/mips/yeeloong/boot.h: Likewise.
1175 * include/grub/mips/yeeloong/kernel.h: Likewise.
1176 * include/grub/mips/yeeloong/loader.h: Likewise.
1177 * include/grub/mips/yeeloong/memory.h: Likewise.
1178 * include/grub/mips/yeeloong/pci.h: Likewise.
1179 * include/grub/mips/yeeloong/serial.h: Likewise.
1180 * include/grub/mips/yeeloong/time.h: Likewise.
1181 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1182 * kern/elf.c (grub_elf32_size): New parameter. All users
1183 updated.
1184 (grub_elf64_size): Likewise.
1185 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1186 Load modules before saying "Welcome to GRUB!".
1187 Call grub_refresh after saying "Welcome to GRUB!".
1188 * kern/mips/cache.S: New file.
1189 * kern/mips/cache_flush.S: Likewise.
1190 * kern/mips/dl.c: Likewise.
1191 * kern/mips/init.c: Likewise.
1192 * kern/mips/qemu-mips/init.c: Likewise.
1193 * kern/mips/startup.S: Likewise.
1194 * kern/mips/yeeloong/init.c: Likewise.
1195 * kern/term.c (grub_putcode): Handle NULL terminal.
1196 (grub_getcharwidth): Likewise.
1197 (grub_getkey): Likewise.
1198 (grub_checkkey): Likewise.
1199 (grub_getkeystatus): Likewise.
1200 (grub_getxy): Likewise.
1201 (grub_getwh): Likewise.
1202 (grub_gotoxy): Likewise.
1203 (grub_cls): Likewise.
1204 (grub_setcolorstate): Likewise.
1205 (grub_setcolor): Likewise.
1206 (grub_getcolor): Likewise.
1207 (grub_refresh): Likewise.
1208 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1209 (write_jump): Add hatch nop.
1210 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1211 * lib/mips/setjmp.S: New file.
1212 * loader/mips/linux.c: Likewise.
1213 * term/i386/pc/at_keyboard.c: Move from here ...
1214 * term/at_keyboard.c: ... to here.
1215 * term/i386/pc/serial.c: Moved from here ...
1216 * term/serial.c: ... to here. All users updated.
1217 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1218 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1219 (serial_translate_key_sequence): Avoid deadlock.
1220 (grub_serial_getkey): Handle backspace.
1221 (grub_serial_putchar): Fix newline handling.
1222 * util/i386/pc/grub-mkimage.c: Move from here ...
1223 * util/grub-mkrawimage.c: ... to here. All users updated.
1224 (generate_image): New parameters 'font_path' and 'format'.
1225 Support embedding font.
1226 Use grub_host_to_target* instead of grub_cpu_to_le*.
1227 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1228 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1229 (options): New option "--font".
1230 (usage): Likewise.
1231 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1232 (main): Handle "--font".
1233 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1234 (grub_virtual_screen_setup): Set bg_color_display.
1235 (redraw_screen_rect): Use bg_color_display instead of incorrect
1236 bg_color.
1237 (grub_gfxterm_cls): Likewise.
1238 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1239 Support embedding config file.
1240 (add_segments): Likewise.
1241 (options): New option "--config".
1242 (main): Handle "--config".
1243 * video/sm712.c: New file.
1244
25c2b5b3
RM
12452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1246
1247 Fix parallel builds.
1248
1249 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1250 font.c depend on ascii.h).
1251
12522010-01-12 Carles Pina i Estany <carles@pina.cat>
1253
1254 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1255
12562010-01-11 Carles Pina i Estany <carles@pina.cat>
1257
1258 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1259 By default: disabled.
1260 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1261 parameter.
1262
12632010-01-10 Carles Pina i Estany <carles@pina.cat>
1264
1265 * font/font.c: Update copyright years.
1266 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1267
12682010-01-10 Carles Pina i Estany <carles@pina.cat>
1269
1270 * font/font.c: Include `ascii.h'.
1271 (ASCII_BITMAP_SIZE): New macro.
1272 (ascii_font_glyph): Define.
1273 (ascii_glyph_lookup): New function.
1274 (grub_font_get_string_width): Change comment. If glyph not found, use
1275 ascii_glyph_lookup.
1276 (grub_font_get_glyph_with_fallback): If glyph not available returns
1277 ascii_glyph_lookup.
1278 * util/grub-mkfont.c (file_formats): New enum.
1279 (options): Add `ascii-bitmaps' new option.
1280 (usage): Add `asii-bitmaps' new option.
1281 (write_font_ascii_bitmap): New function.
1282 (write_font): Rename to ...
1283 (write_font_p2): ... this. Remove print_glyphs call.
1284 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1285 used. Call print_glyphs.
1286 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1287
12882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1289
1290 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1291 (grub_bin2h_SOURCES): New variable.
1292 * util/bin2h.c: New file.
1293
915fc1b8
VS
12942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * include/multiboot.h: Resynced with spec.
1297 * include/multiboot2.h: Likewise.
1298 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1299 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1300
9444b678
RM
13012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1302
1303 * include/grub/term.h (grub_term_register_input,
1304 grub_term_register_output): Check return of terminal init()
1305 routines, and abort if errors are raised.
1306
1307 * commands/terminal.c: Update copyright year.
1308
cba98e8d
RM
13092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1310
1311 * commands/terminal.c (grub_cmd_terminal_input)
1312 (grub_cmd_terminal_output): Check return of terminal init()
1313 routines, and abort if errors are raised.
1314
6f7db5d6
VS
13152010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * include/grub/i386/bsd.h: Fix include pathes.
1318
262bff8d
VS
13192010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 Add missing *BSD copyright headers.
1322
1323 * include/grub/aout.h: Add BSD licence.
1324 * include/grub/i386/bsd.h: Parts under different licences moved to ...
1325 * include/grub/i386/freebsd_linker.h: ... here,
1326 * include/grub/i386/freebsd_reboot.h: ... here,
1327 * include/grub/i386/netbsd_bootinfo.h: ... here,
1328 * include/grub/i386/netbsd_reboot.h: ... here,
1329 * include/grub/i386/openbsd_bootarg.h: ... here,
1330 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
1331 licence to each file.
1332
b2cab848
RM
13332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1334
1335 * acinclude.m4: Remove `nop' assembly instruction; it's not
1336 implemented by all architectures.
1337
2cb6be4b
RM
13382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1339
1340 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
1341 ELILO. This is no longer necessary.
1342
a2eaee15
BC
13432010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
1344
1345 Added new tool, grub-scrit-check to verify grub.cfg syntax.
1346
1347 * util/grub-script-check.c: grub-script-check tool.
1348 * conf/common.rmk: Make rules for grub-script-check.
1349
88d17012
RM
13502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1351
1352 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
1353 spotting it back in 2008. Shame on me for forgetting he did.
1354
1355 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
1356
8040619d
RM
13572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1358
1359 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
1360 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
1361 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
1362 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
1363 (GRUB_VIDEO_TYPE_EFI): Rename to ...
1364 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
1365
a0c2a0f6
RM
13662010-01-17 Robert Millan <rmh.grub@aybabtu.com>
1367
1368 * include/grub/test.h: Add license header.
1369 * tests/example_functional_test.c: Likewise.
1370 * tests/example_unit_test.c: Likewise.
1371 * tests/lib/functional_test.c: Likewise.
1372 * tests/lib/test.c: Likewise.
1373 * tests/lib/unit_test.c: Likewise.
1374
b0b13907
VS
13752010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 Use flag-based instead of hook-based video mode selection and "auto"
1378 keyword.
1379
1380 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
1381 (grub_video_set_mode): Changed prototype. All users updated.
1382 (grub_video_check_mode_flag): New inline function.
1383 * video/video.c (parse_modespec): New function.
1384 (grub_video_set_mode): Parse flags and keywords.
1385
ea379330 13862010-01-17 Carles Pina i Estany <carles@pina.cat>
1387
1388 * util/misc.c (grub_util_info): Fix the order of the parameters in a
1389 fprintf call.
1390
e15c215e
FZ
13912010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1392
1393 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
1394
409ae1c9 13952010-01-16 Carles Pina i Estany <carles@pina.cat>
1396
1397 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
1398 string.
1399 * util/grub-emu.c (usage): Likewise.
1400 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
1401 * util/i386/efi/grub-mkimage.c (usage): Likewise.
1402 * util/i386/pc/grub-mkimage.c (usage): Likewise.
1403 * util/i386/pc/grub-setup.c (usage): Likewise.
1404
70a14d3d 14052010-01-16 Carles Pina i Estany <carles@pina.cat>
1406
1407 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
1408 the message.
1409 (grub_util_info): Likewise.
1410 (grub_util_error): Likewise.
1411 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
1412 and/or new lines in `grub_util_warna', `grub_util_info',
1413 `grub_util_error' calls.
1414 * util/getroot.c: Likewise.
1415 * util/grub-editenv.c: Likewise.
1416 * util/grub-emu.c: Likewise.
1417 * util/grub-fstest.c: Likewise.
1418 * util/grub-mkdevicemap.c: Likewise.
1419 * util/grub-mkfont.c: Likewise.
1420 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1421 * util/grub-mkrelpath.c: Likewise.
1422 * util/grub-pe2elf.c: Likewise.
1423 * util/grub-probe.c: Likewise.
1424 * util/hostdisk.c: Likewise.
1425 * util/i386/efi/grub-mkimage.c: Likewise.
1426 * util/i386/pc/grub-mkimage.c: Likewise.
1427 * util/i386/pc/grub-setup.c: Likewise.
1428 * util/ieee1275/ofpath.c: Likewise.
1429 * util/mkisofs/eltorito.c: Likewise.
1430 * util/mkisofs/rock.c: Likewise.
1431 * util/mkisofs/write.c: Likewise.
1432 * util/raid.c: Likewise.
1433 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1434 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1435
a0b766fc
VS
14362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 Enable multiboot on non-pc.
1439
1440 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
1441 multiboot.mod and multiboot2.mod to ...
1442 * conf/i386.rmk (pkglib_MODULES): ... here.
1443 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
1444 Moved to ...
1445 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
1446 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
1447 Moved to ...
1448 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
1449 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
1450 Moved to ...
1451 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
1452 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
1453 Moved to ...
1454 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
1455 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
1456 relocator.mod.
1457 (ata_mod_SOURCES): Removed.
1458 (ata_mod_CFLAGS): Likewise.
1459 (ata_mod_LDFLAGS): Likewise.
1460 (relocator_mod_SOURCES): Removed.
1461 (relocator_mod_CFLAGS): Likewise.
1462 (relocator_mod_ASFLAGS): Likewise.
1463 (relocator_mod_LDFLAGS): Likewise.
1464 Include i386.mk.
1465 * include/grub/x86_64/multiboot.h: New file.
1466 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
1467 Terminate EFI.
1468
884ade56
VS
14692010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 Video multiboot support.
1472
1473 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
1474 New prototype.
1475 * include/multiboot.h: Resynced with multiboot specification.
1476 * include/multiboot2.h: Likewise.
1477 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
1478 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
1479 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
1480 (HAS_VGA_TEXT): Likewise.
1481 (accepts_video): New variable.
1482 (grub_multiboot_set_accepts_video): New function.
1483 (grub_multiboot_get_mbi_size): Account for video structures.
1484 (set_video_mode): New function.
1485 (retrieve_video_parameters): Likewise.
1486 (grub_multiboot_make_mbi): Fill video fields.
1487
0d90e8a6
VS
14882010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 Video driver ids.
1491
1492 * include/grub/video.h (grub_video_driver_id): New type.
1493 (grub_video_adapter): New member 'id'. All users updated.
1494 (grub_video_get_driver_id): New proto.
1495 * video/video.c (grub_video_get_driver_id): New function.
1496
5c71db1b 14972010-01-14 Carles Pina i Estany <carles@pina.cat>
1498
1499 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
1500 `var=val'.
1501
cca15b52 15022010-01-14 Carles Pina i Estany <carles@pina.cat>
1503
1504 * normal/cmdline.c (print_completion): Gettextizze.
1505
c586fbb2 15062001-01-14 Carles Pina i Estany <carles@pina.cat>
1507
1508 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
1509
ba2f6848 15102010-01-14 Carles Pina i Estany <carles@pina.cat>
1511
1512 * gettext/gettext.c (grub_gettext_translate): Push and pop
1513 grub_errno.
1514 (grub_gettext_delete_list): Change comment style.
1515 * kern/err.c (grub_error): Gettextizze.
1516 (grub_fatal): Gettextizze.
1517
0a46429a
RM
15182010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1519
1520 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
1521 (grub_linux16_real_boot): ... this.
1522 * kern/i386/loader.S: Likewise.
1523 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
1524 (grub_linux16_boot): New function. Switches to text mode and calls
1525 grub_linux16_real_boot().
1526
1527 * loader/i386/bsd.c: Include `<grub/video.h>'.
1528 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
1529 text mode before calling grub_unix_real_boot().
1530
1531 * loader/i386/multiboot.c: Include `<grub/video.h>'.
1532 (grub_multiboot_boot): Switch to text mode before calling
1533 grub_relocator32_boot().
1534
1535 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
1536 (grub_chainloader_boot): Switch to text mode before calling
1537 grub_chainloader_real_boot().
1538
d6f93a66
RM
15392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
15402010-01-05 Colin Watson <cjwatson@ubuntu.com>
1541
1542 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
1543 non-empty value.
1544
15452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
15462010-01-05 Colin Watson <cjwatson@ubuntu.com>
1547
1548 * util/grub.d/00_header.in: Define a "savedefault" function for use
1549 in menu entries.
1550 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
1551
15522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
15532010-01-05 Colin Watson <cjwatson@ubuntu.com>
1554
1555 * util/grub-mkconfig_lib.in (save_default_entry): Only set
1556 saved_entry if boot_once is unset.
1557 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
1558 previous saved entry (i.e. grub-reboot).
1559
15602009-12-08 Colin Watson <cjwatson@ubuntu.com>
1561
1562 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
1563
15642009-12-08 Colin Watson <cjwatson@ubuntu.com>
1565
1566 * util/grub.d/00_header.in: Use `set var=val' rather than plain
1567 `var=val'.
1568 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
1569
15702009-12-08 Colin Watson <cjwatson@ubuntu.com>
1571
1572 * util/grub-reboot.in: Fix --version output.
1573 * util/grub-set-default.in: Likewise.
1574
15752009-12-08 Colin Watson <cjwatson@ubuntu.com>
1576
1577 * util/grub.d/00_header.in: Silently ignore zero-sized environment
1578 blocks.
1579
15802009-12-08 Colin Watson <cjwatson@ubuntu.com>
1581
1582 * util/grub.d/00_header.in: Quote the value assigned to `default',
1583 in case it contains spaces.
1584
15852009-12-08 Colin Watson <cjwatson@ubuntu.com>
1586
1587 * util/grub.d/30_os-prober.in: Fix merge error that moved a
1588 `save_default_entry' call from the macosx case to the linux case.
1589
15902009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15912009-10-25 Colin Watson <cjwatson@ubuntu.com>
1592
1593 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
1594 in `chosen' environment variable.
1595 * normal/menu_text.c (get_entry_number): Check if the variable
1596 matches the title of a menu entry.
1597 (run_menu): Pass menu to get_entry_number.
1598
1599 * util/grub-reboot.in: New file.
1600 * util/grub-set-default.in: New file.
1601 * conf/common.rmk (grub-reboot): New utility.
1602 (grub-set-default): New utility.
1603
1604 * util/grub-mkconfig_lib.in (save_default_entry): New function.
1605 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
1606 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
1607 move it to `saved_entry' for the next boot. Load environment on
1608 initialisation.
1609 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
1610 * util/grub.d/10_hurd.in: Likewise.
1611 * util/grub.d/10_linux.in (linux_entry): Likewise.
1612 * util/grub.d/10_windows.in: Likewise.
1613 * util/grub.d/30_os-prober.in: Likewise.
1614
1615 * util/grub-install.in: Create environment block.
1616 * util/i386/efi/grub-install.in: Likewise.
1617 * util/ieee1275/grub-install.in: Likewise.
1618 * util/sparc64/ieee1275/grub-install.in: Likewise.
1619
0934d184
BC
16202010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1621
1622 Unit testing framework for GRUB.
1623
1624 * Makefile.in: Test framework build rules for 'make check'.
1625 * conf/tests.rmk: Build rules for individual tests and framework.
1626
1627 * include/grub/test.h: Header file for whitebox tests.
1628 * tests/lib/functional_test.c: Framework support for whitebox
1629 functional tests.
1630 * tests/lib/test.c: Common whitebox testing code for unit and
1631 functional tests.
1632 * tests/lib/unit_test.c: Framework support for whitebox unit
1633 tests.
1634
1635 * tests/util/grub-shell-tester.in: Support utility for grub-script
1636 tests.
1637 * tests/util/grub-shell.in: Utility to execute grub-script
1638 commands in a Qemu instance.
1639
1640 * tests/example_functional_test.c: Example whitebox functional
1641 test.
1642 * tests/example_grub_script_test.in: Example grub-script test.
1643 * tests/example_scripted_test.in: Example scripted test.
1644 * tests/example_unit_test.c: Example whitebox unit test.
1645
9c4ffeeb
VS
16462010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1649 Add loader/i386/multiboot_mbi.c.
1650 (multiboot2_mod_SOURCES): Likewise.
1651 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1652 (multiboot2_mod_SOURCES): Likewise.
1653 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1654 (grub_multiboot_make_mbi): Likewise.
1655 (grub_multiboot_free_mbi): Likewise.
1656 (grub_multiboot_init_mbi): Likewise.
1657 (grub_multiboot_add_module): Likewise.
1658 (grub_multiboot_set_bootdev): Likewise.
1659 * loader/i386/multiboot.c (mbi): Removed.
1660 (mbi_dest): Likewise.
1661 (alloc_mbi): New variable.
1662 (grub_multiboot_payload_size): Removed. All users updated.
1663 (grub_multiboot_pure_size): New variable.
1664 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1665 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1666 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1667 (grub_fill_multiboot_mmap): Likewise.
1668 (grub_multiboot_get_bootdev): Likewise.
1669 (grub_multiboot): Use multiboot_mbi functions.
1670 * loader/i386/multiboot_mbi.c: New file.
1671
17383dfe
VS
16722010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1675 it would result in module crash.
1676
c1f28820
VS
16772010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1680 (grub_ofconsole_getwh): Split to ...
1681 (grub_ofconsole_getwh): ... this.
1682 (grub_ofconsole_dimensions): ...and this.
1683 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1684
58655a16
RM
16852010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1686
1687 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1688
10891398
VS
16892010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * loader/i386/pc/multiboot2.c: Removed stalled file.
1692
0b8a223c
VS
16932010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1696 Reported by: Grégoire Sutre
1697
92ab12b0
RM
16982010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1699
1700 * util/misc.c (canonicalize_file_name): New function.
1701 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1702 instead of realpath().
1703
a788afb6
CW
17042010-01-11 Colin Watson <cjwatson@ubuntu.com>
1705
1706 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1707 and make it clearer that it's optional. Based on confusion
1708 witnessed on IRC.
1709
ffa8e3d2
VS
17102010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1713 in premature implicit newline.
1714
e9060a9d
VS
17152010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1718 which resulted in garbled command line at the end of screen.
1719
f0d0c0b7
RM
17202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1721
1722 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1723 initialization with similar approach as with other Linux loaders.
1724
0e60bae7
RM
17252010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1726
1727 Fix i386-ieee1275 build.
1728
1729 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1730 and grub_term_height() for video_{width,height} initialization.
1731
17322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
1733
1734 Fix grub-emu build.
1735
1736 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1737
cdb3f378
RM
17382010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1740
1741 Support for multiple terminals.
1742
1743 * Makefile.in (pkglib_DATA): terminal.lst.
1744 (terminal.lst): New target.
1745 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1746 (GRUB_MOD_INIT(handler)): Likewise.
1747 (GRUB_MOD_FINI(handler)): Likewise.
1748 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1749 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1750 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1751 (grub_cmd_sleep): Use grub_term_save_pos.
1752 * commands/terminal.c: New file.
1753 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1754 commands/terminal.c and lib/charset.c.
1755 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1756 (pkglib_MODULES): Add terminal.mod.
1757 (terminal_mod_SOURCES): New variable.
1758 (terminal_mod_CFLAGS): Likewise.
1759 (terminal_mod_LDFLAGS): Likewise.
1760 * genhandlerlist.sh: Don't handle terminals.
1761 * genmk.rb: Generate terminal-*.lst.
1762 * genterminallist.sh: New file.
1763 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1764 (grub_is_valid_utf8): Likewise.
1765 (grub_utf8_to_ucs4_alloc): Likewise.
1766 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1767 (grub_menu_register_viewer): Changed argument.
1768 (grub_menu_try_text): New proto.
1769 (grub_gfxmenu_try_hook): New declaration.
1770 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1771 (grub_menu_init_page): Additional argument term.
1772 (grub_normal_init_page): Likewise.
1773 (grub_cmdline_get): Arguments simplified.
1774 (grub_utf8_to_ucs4_alloc): Removed.
1775 (grub_print_ucs4): Additional argument term.
1776 (grub_getstringwidth): Likewise.
1777 (grub_print_message_indented): Likewise.
1778 (grub_menu_text_register_instances): New proto.
1779 (grub_show_menu): Likewise.
1780 (read_terminal_list): Likewise.
1781 (grub_set_more): Likewise.
1782 * include/grub/parser.h: Include handler.h.
1783 * include/grub/reader.h: Rewritten.
1784 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
1785 (GRUB_TERM_WIDTH): Changed to function.
1786 (GRUB_TERM_HEIGHT): Likewise.
1787 (GRUB_TERM_BORDER_WIDTH): Likewise.
1788 (GRUB_TERM_BORDER_HEIGHT): Likewise.
1789 (GRUB_TERM_NUM_ENTRIES): Likewise.
1790 (GRUB_TERM_ENTRY_WIDTH): Likewise.
1791 (GRUB_TERM_CURSOR_X): Likewise.
1792 (grub_term_input_class): Likewise.
1793 (grub_term_output_class): Likewise.
1794 (grub_term_outputs_disabled): New declaration.
1795 (grub_term_inputs_disabled): Likewise.
1796 (grub_term_outputs): Likewise.
1797 (grub_term_inputs): Likewise.
1798 (grub_term_register_input): Rewritten.
1799 (grub_term_register_output): Likewise.
1800 (grub_term_unregister_input): Likewise.
1801 (grub_term_unregister_output): Likewise.
1802 (FOR_ACTIVE_TERM_INPUTS): New macro.
1803 (FOR_DISABLED_TERM_INPUTS): Likewise.
1804 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1805 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1806 * include/grub/terminfo.h: Add oterm argument to all protypes.
1807 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1808 Use grub_rescue_run.
1809 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1810 All users updated.
1811 * kern/reader.c: Removed. All users updated.
1812 * kern/rescue_reader.c (grub_rescue_init): Removed.
1813 (grub_rescue_reader): Likewise.
1814 (grub_register_rescue_reader): Likewise.
1815 (grub_rescue_run): New function based on kern/reader.c.
1816 * kern/term.c: Adapted for multiterm.
1817 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1818 (grub_is_valid_utf8): Likewise.
1819 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1820 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1821 right terminal.
1822 * loader/i386/linux.c (grub_linux_boot): Likewise.
1823 * normal/auth.c (grub_username_get): New function.
1824 (grub_auth_check_authentication): Use grub_username_get.
1825 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1826 * normal/color.c: Adapt for multiterm.
1827 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1828 (grub_normal_init_page): Additional argument term.
1829 (read_lists): Call read_terminal_lists.
1830 (grub_enter_normal_mode): Call grub_cmdline_run.
1831 Handle grub_normal_exit_level.
1832 (grub_cmd_normal): Make reentrant.
1833 (grub_cmd_normal_exit): New function.
1834 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1835 * normal/menu.c: Adapt for multiterm.
1836 * normal/menu_entry.c: Likewise.
1837 * normal/menu_text.c: Likewise.
1838 * normal/menu_viewer.c: Removed. All users updated.
1839 * normal/term.c: New file.
1840 * util/console.c: Change order of includes to workaround a bug in
1841 ncurses headers.
1842 * term/terminfo.c: New argument oterm on all exported functions.
1843 All users updated.
1844 * util/grub-editenv.c (grub_term_input_class): Removed.
1845 (grub_term_output_class): Likewise.
1846
1a064917
RM
18472010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1848
1849 Make loader output a bit more user-friendly.
1850
1851 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1852 is being loaded. Likewise for the Hurd.
1853
1854 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1855 that kernel of FreeBSD ${version} is being loaded.
1856
1857 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1858 grub_dprintf().
1859 (grub_cmd_initrd): Likewise.
1860 * util/grub.d/10_linux.in (linux_entry): Print message indicating
1861 that Linux ${version} is being loaded. Likewise for initrd.
1862
5ce0a83a 18632010-01-09 Carles Pina i Estany <carles@pina.cat>
1864
1865 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
1866
809bbfeb 18672010-01-08 Carles Pina i Estany <carles@pina.cat>
1868
1869 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
1870 (GRUB_MOD_INIT): Gettextizze.
1871 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
1872 (GRUB_MOD_INIT): Gettextizze.
1873 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
1874 (grub_cmd_linux): Capitalise Linux.
1875 (GRUB_MOD_INIT): Gettextizze.
1876 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
1877 (grub_cmd_linux): Capitalise Linux.
1878 (GRUB_MOD_INIT): Gettextizze.
1879 * loader/i386/linux.c: Include `<grub/i18n.h>'.
1880 (grub_cmd_linux): Capitalise Linux.
1881 (GRUB_MOD_INIT): Gettextizze.
1882 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
1883 (GRUB_MOD_INIT): Gettextizze.
1884 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
1885 (grub_cmd_linux): Capitalise Linux.
1886 (GRUB_MOD_INIT): Gettextizze.
1887 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
1888 (grub_cpu_xnu_init): Gettextizze.
1889 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
1890 (GRUB_MOD_INIT): Gettextizze.
1891 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
1892 (GRUB_MOD_INIT): Gettextizze.
1893 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
1894 (grub_linux_load64): Capitalise Linux.
1895 (GRUB_MOD_INIT): Gettextizze.
1896 * loader/xnu.c: Include `<grub/i18n.h>'.
1897 (GRUB_MOD_INIT): Gettextizze.
1898 * po/POTFILES: Add `loader/efi/appleloader.c',
1899 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
1900 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
1901 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
1902 `loader/i386/xnu.c', `loader/multiboot_loader.c',
1903 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
1904 and `loader/xnu.c'.
1905
b394b2ca
RM
19062010-01-08 Robert Millan <rmh.grub@aybabtu.com>
1907
1908 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
1909
19102010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
1911
1912 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
1913 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
1914 * util/mkisofs/mkisofs.c (main): Readjust --version output.
1915
bc8b32b3
RM
19162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1917
1918 Reset Multiboot 2 support. New loader implements the draft in
1919 /branches/multiboot2 and shares as much code as possible with the
1920 production Multiboot 1 implementation.
1921
1922 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
1923 * loader/multiboot2.c: Likewise.
1924 * loader/i386/multiboot_helper.S: Likewise.
1925 * include/multiboot2.h: Replace with latest version from the draft
1926 in /branches/multiboot2.
1927
1928 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
1929 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
1930 and `loader/multiboot2.c'.
1931 (pkglib_MODULES): Add `multiboot2.mod'.
1932 (multiboot2_mod_SOURCES): New variable.
1933 (multiboot2_mod_LDFLAGS): Likewise.
1934 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
1935
1936 * conf/i386-pc.rmk: Likewise.
1937
1938 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1939 (multiboot_mod_SOURCES): Remove variable.
1940 (multiboot_mod_LDFLAGS): Likewise.
1941 (multiboot_mod_CFLAGS): Likewise.
1942
1943 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
1944 `<multiboot2.h>' instead of `<multiboot.h>'.
1945 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
1946 (MULTIBOOT_HEADER_MAGIC): New macros.
1947
1948 * loader/multiboot_loader.c (module_version_status): Remove variable.
1949 (find_multi_boot2_header): Remove function.
1950 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
1951 logic. Always check for the Multiboot version we're compiling for.
1952 (grub_cmd_module_loader): Likewise.
1953 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
1954 command instead of `multiboot'.
1955
5d2c52b8
RM
19562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1957
1958 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
1959 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
1960 all users.
1961
53108d92
RM
19622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19632010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Fix breakage introduced with previous commit.
1966
1967 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
1968 commands.
1969 * normal/handler.c (read_handler_list): Revert part of previous commit
1970 affecting this file.
1971 * normal/main.c (read_lists): Move read_handler_list() call back to ...
1972 (grub_normal_execute): ... here.
1973
e2e936b2
RM
19742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1975
1976 Merge prefix-redefinition-fix branch.
1977
1978 * normal/autofs.c (read_fs_list): Make function capable of being
1979 run multiple times, gracefuly replacing the previous data
1980 structures.
1981 * normal/dyncmd.c (read_command_list): Likewise.
1982 * normal/handler.c (read_handler_list): Likewise.
1983 * normal/main.c (read_lists): New function. Calls all the
1984 list reading functions.
1985 (grub_normal_execute): Use read_lists() instead of calling all
1986 list reading functions explicitly. Register read_lists() as a
1987 variable hook attached to ${prefix}.
1988
607a3701
VS
19892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 Merge crypto branch.
1992
1993 * Makefile.in (pkglib_DATA): Add crypto.lst.
1994 (crypto.lst): New target.
1995 * commands/hashsum.c: New file.
1996 * commands/password.c (check_password): Use grub_crypto_memcmp.
1997 * commands/password_pbkdf2.c: New file.
1998 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1999 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2000 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2001 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2002 -I$(srcdir)/lib/libgcrypt_wrap.
2003 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2004 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2005 password_pbkdf2.mod.
2006 (crypto_mod_SOURCES): New variable.
2007 (crypto_mod_CFLAGS): Likewise.
2008 (crypto_mod_LDFLAGS): Likewise.
2009 (hashsum_mod_SOURCES): New variable.
2010 (hashsum_mod_CFLAGS): Likewise.
2011 (hashsum_mod_LDFLAGS): Likewise.
2012 (pbkdf2_mod_SOURCES): New variable.
2013 (pbkdf2_mod_CFLAGS): Likewise.
2014 (pbkdf2_mod_LDFLAGS): Likewise.
2015 (password_pbkdf2_mod_SOURCES): New variable.
2016 (password_pbkdf2_mod_CFLAGS): Likewise.
2017 (password_pbkdf2_mod_LDFLAGS): Likewise.
2018 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2019 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2020 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2021 Include conf/gcry.rmk.
2022 * include/grub/auth.h: Rewritten.
2023 * include/grub/crypto.h: New file.
2024 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2025 * include/grub/normal.h (read_crypto_list): New prototype.
2026 * lib/crypto.c: New file.
2027 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2028 * lib/pbkdf2.c: Likewise.
2029 * normal/auth.c (grub_auth_strcmp): Removed.
2030 (grub_iswordseparator): Likewise.
2031 (grub_auth_strword): Likewise.
2032 (is_authenticated): Use grub_strword.
2033 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2034 and grub_strword. Pass entered password to authentication callback.
2035 * normal/crypto.c: New file.
2036 * normal/main.c: Call read_crypto_list.
2037 * util/grub-mkpasswd-pbkdf2.c: New file.
2038 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2039
42841caa
VS
20402010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Fix descent and ascent calculation.
2043
2044 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2045 (options): New option "asce".
2046 (usage): Likewise.
2047 (add_char): Ignore invalid glyphs for descent calculation.
2048 Calculate ascent from actual content.
2049 (print_glyphs): Use 'asce'.
2050 (write_font): Likewise. Allow ascent override.
2051 (main): Handle "asce" option.
2052
e7730de7 20532010-01-06 Carles Pina i Estany <carles@pina.cat>
2054
2055 * kern/err.c: Include `<grub/i18n.h>'.
2056 (grub_print_error): Add full stop. Gettextizze.
2057 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2058 (grub_bsd_load_elf): Capitalise ELF.
2059 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2060 (grub_cmd_freebsd_module): Likewise.
2061 (grub_cmd_freebsd_module_elf): Likewise.
2062 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2063
40e3a41f 20642010-01-06 Carles Pina i Estany <carles@pina.cat>
2065
2066 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2067 * commands/search_file.c (HELP_MESSAGE): New macro.
2068 * commands/search_label.c (HELP_MESSAGE): Likewise.
2069 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2070 * po/POTFILES: Add `commands/search_file.c',
2071 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2072 `commands/search.c'.
2073
83507e68
RM
20742010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2075
2076 * config.rpath: Update from Gnulib.
2077
465c787b
YB
20782010-01-05 Yves Blusseau <blusseau@zetam.org>
2079
2080 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2081
6581dd3a
YB
20822010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2083
2084 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2085
3bff18c5
CW
20862010-01-05 Colin Watson <cjwatson@ubuntu.com>
2087
2088 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2089 arguments to fread so that we get a return value in bytes, rather
2090 than something that will normally be rounded down to 0.
2091 Adjust error handling to avoid producing garbage when size_t is not
2092 the same size as long long.
2093
a1368118
CW
20942010-01-05 Colin Watson <cjwatson@ubuntu.com>
2095
2096 * util/mkisofs/write.c (padblock_write): Check return value of
2097 fread.
2098
7c302978
RM
20992010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2100
2101 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2102 floppy images now.
2103
2104 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2105
e33ace06
RM
21062010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2107
2108 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2109 instead of manual alignment.
2110 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2111 verbose). Avoid attempts to read past end of the device
2112 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2113 but GRUB_DISK_CACHE_SIZE may exceed that).
2114
4b856776
RM
21152010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2116
2117 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2118 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2119 it to upper layer.
2120
52c2d97f
VS
21212010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2124 New constant.
2125 (grub_efi_piwg_device_path): New structure
2126 (grub_efi_piwg_device_path_t): New type.
2127 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2128 (devpath_1): Transform to a structure. All users updated.
2129 (devpath_2): Likewise.
2130 (devpath_3): Likewise.
2131 (devpath_4): Likewise.
2132 (devpath_5): Likewise.
2133
98ff6a54
VS
21342010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * loader/efi/appleloader.c: Restored. Update all users.
2137
3a73dcb6
RM
21382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2139
2140 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2141
2142 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2143 (struct boot_blocklist): Move from here ...
2144 * include/grub/i386/pc/boot.h [ASM_FILE]
2145 (struct grub_boot_blocklist): ... to here. Update all users.
2146 (setup): Only initialize `start' member of `first_block'
2147 structure. Add assert() calls to verify the other members.
2148
2149 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2150 (generate_image): Fix broken blocklist length initialization.
2151 Add assert() call to verify blocklist `segment' field.
2152
ab0eeb0c
RM
21532010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2154
2155 * loader/efi/appleloader.c: Remove. Update all users.
2156
58bc8bd5
RM
21572010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2158
2159 * boot/i386/pc/boot.S: Update copyright year.
2160 * boot/i386/pc/cdboot.S: Likewise.
2161 * boot/i386/pc/diskboot.S: Likewise.
2162 * boot/i386/pc/lnxboot.S: Likewise.
2163 * boot/i386/pc/pxeboot.S: Likewise.
2164 * bus/pci.c: Likewise.
2165 * commands/cmp.c: Likewise.
2166 * commands/help.c: Likewise.
2167 * commands/hexdump.c: Likewise.
2168 * commands/i386/pc/halt.c: Likewise.
2169 * commands/i386/pc/play.c: Likewise.
2170 * commands/i386/pc/vbeinfo.c: Likewise.
2171 * commands/ls.c: Likewise.
2172 * commands/test.c: Likewise.
2173 * disk/dmraid_nvidia.c: Likewise.
2174 * disk/i386/pc/biosdisk.c: Likewise.
2175 * disk/ieee1275/nand.c: Likewise.
2176 * disk/ieee1275/ofdisk.c: Likewise.
2177 * disk/lvm.c: Likewise.
2178 * disk/raid.c: Likewise.
2179 * disk/raid6_recover.c: Likewise.
2180 * disk/scsi.c: Likewise.
2181 * fs/affs.c: Likewise.
2182 * fs/cpio.c: Likewise.
2183 * fs/ext2.c: Likewise.
2184 * fs/hfs.c: Likewise.
2185 * fs/iso9660.c: Likewise.
2186 * fs/ntfs.c: Likewise.
2187 * fs/sfs.c: Likewise.
2188 * fs/udf.c: Likewise.
2189 * fs/ufs.c: Likewise.
2190 * fs/xfs.c: Likewise.
2191 * gencmdlist.sh: Likewise.
2192 * genmk.rb: Likewise.
2193 * include/grub/disk.h: Likewise.
2194 * include/grub/efi/api.h: Likewise.
2195 * include/grub/efi/efi.h: Likewise.
2196 * include/grub/efi/pe32.h: Likewise.
2197 * include/grub/elf.h: Likewise.
2198 * include/grub/fs.h: Likewise.
2199 * include/grub/i386/at_keyboard.h: Likewise.
2200 * include/grub/i386/pc/memory.h: Likewise.
2201 * include/grub/i386/pc/vbe.h: Likewise.
2202 * include/grub/i386/pci.h: Likewise.
2203 * include/grub/i386/tsc.h: Likewise.
2204 * include/grub/ieee1275/ieee1275.h: Likewise.
2205 * include/grub/ntfs.h: Likewise.
2206 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2207 * include/grub/sparc64/libgcc.h: Likewise.
2208 * include/grub/symbol.h: Likewise.
2209 * include/grub/types.h: Likewise.
2210 * include/multiboot2.h: Likewise.
2211 * io/gzio.c: Likewise.
2212 * kern/device.c: Likewise.
2213 * kern/disk.c: Likewise.
2214 * kern/efi/efi.c: Likewise.
2215 * kern/efi/mm.c: Likewise.
2216 * kern/elf.c: Likewise.
2217 * kern/file.c: Likewise.
2218 * kern/i386/dl.c: Likewise.
2219 * kern/i386/pc/init.c: Likewise.
2220 * kern/i386/pc/startup.S: Likewise.
2221 * kern/ieee1275/ieee1275.c: Likewise.
2222 * kern/ieee1275/init.c: Likewise.
2223 * kern/main.c: Likewise.
2224 * kern/mm.c: Likewise.
2225 * kern/powerpc/dl.c: Likewise.
2226 * kern/sparc64/dl.c: Likewise.
2227 * kern/x86_64/dl.c: Likewise.
2228 * lib/hexdump.c: Likewise.
2229 * loader/efi/appleloader.c: Likewise.
2230 * loader/i386/ieee1275/linux.c: Likewise.
2231 * loader/i386/pc/chainloader.c: Likewise.
2232 * loader/i386/pc/linux.c: Likewise.
2233 * loader/i386/pc/multiboot2.c: Likewise.
2234 * loader/ieee1275/multiboot2.c: Likewise.
2235 * loader/multiboot2.c: Likewise.
2236 * loader/multiboot_loader.c: Likewise.
2237 * loader/powerpc/ieee1275/linux.c: Likewise.
2238 * normal/completion.c: Likewise.
2239 * normal/menu_entry.c: Likewise.
2240 * partmap/apple.c: Likewise.
2241 * util/grub.d/10_hurd.in: Likewise.
2242 * util/hostfs.c: Likewise.
2243 * video/readers/png.c: Likewise.
2244
e2d70b5c
CW
22452010-01-03 Colin Watson <cjwatson@ubuntu.com>
2246
2247 * include/grub/misc.h (GNUC_PREREQ): New macro.
2248 (ATTRIBUTE_ERROR): New macro.
2249 * include/grub/list.h (grub_bad_type_cast_real): Use
2250 ATTRIBUTE_ERROR.
2251
a173283f 22522010-01-03 Carles Pina i Estany <carles@pina.cat>
2253
2254 * normal/menu_text.c (print_message): Change messages.
2255
7fa7ff74 22562010-01-03 Carles Pina i Estany <carles@pina.cat>
2257
2258 * normal/menu_entry.c (store_completion): Gettextizze.
2259
136d24f6 22602010-01-03 Carles Pina i Estany <carles@pina.cat>
2261
2262 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2263
f936862e 22642010-01-03 Carles Pina i Estany <carles@pina.cat>
2265
2266 * po/POTFILES: Sort correctly.
2267
29c44ad1 22682010-01-03 Carles Pina i Estany <carles@pina.cat>
2269
2270 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2271 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2272 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2273 full stop.
2274 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2275 summary. Gettextizze the strings.
2276 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2277 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2278 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2279 full stop.
2280 (GRUB_MOD_INIT): Remove command name from summary.
2281 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2282 summary.
2283 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2284 * term/i386/pc/serial.c (options): Add full stops.
2285 (GRUB_MOD_INIT): Remove command name from the summary.
2286
77a79592 22872010-01-03 Carles Pina i Estany <carles@pina.cat>
2288
2289 * commands/acpi.c: Gettextizze help strings and/or options. Include
2290 `grub/i18n.h' if needed.
2291 * commands/blocklist.c: Likewise.
2292 * commands/boot.c: Likewise.
2293 * commands/cat.c: Likewise.
2294 * commands/cmp.c: Likewise.
2295 * commands/configfile.c: Likewise.
2296 * commands/crc.c: Likewise.
2297 * commands/date.c: Likewise.
2298 * commands/echo.c: Likewise.
2299 * commands/efi/fixvideo.c: Likewise.
2300 * commands/efi/loadbios.c: Likewise.
2301 * commands/gptsync.c: Likewise.
2302 * commands/halt.c: Likewise.
2303 * commands/handler.c: Likewise.
2304 * commands/hdparm.c: Likewise.
2305 * commands/hexdump.c: Likewise.
2306 * commands/i386/cpuid.c: Likewise.
2307 * commands/i386/pc/drivemap.c: Likewise.
2308 * commands/i386/pc/halt.c: Likewise.
2309 * commands/i386/pc/pxecmd.c: Likewise.
2310 * commands/i386/pc/vbeinfo.c: Likewise.
2311 * commands/i386/pc/vbetest.c: Likewise.
2312 * commands/ieee1275/suspend.c: Likewise.
2313 * commands/keystatus.c: Likewise.
2314 * commands/loadenv.c: Likewise.
2315 * commands/ls.c: Likewise.
2316 * commands/lsmmap.c: Likewise.
2317 * commands/lspci.c: Likewise.
2318 * commands/memrw.c: Likewise.
2319 * commands/minicmd.c: Likewise.
2320 * commands/parttool.c: Likewise.
2321 * commands/password.c: Likewise.
2322 * commands/probe.c: Likewise.
2323 * commands/read.c: Likewise.
2324 * commands/reboot.c: Likewise.
2325 * commands/search.c: Likewise.
2326 * commands/sleep.c: Likewise.
2327 * commands/test.c: Likewise.
2328 * commands/true.c: Likewise.
2329 * commands/usbtest.c: Likewise.
2330 * commands/videotest.c: Likewise.
2331 * commands/xnu_uuid.c: Likewise.
2332 * disk/loopback.c: Likewise.
2333 * hello/hello.c: Likewise.
2334 * loader/i386/bsd.c: Likewise.
2335 * term/i386/pc/serial.c: Likewise.
2336 * po/POTFILES: Add new files.
2337
da8d5c53
CW
23382010-01-02 Colin Watson <cjwatson@ubuntu.com>
2339
2340 * term/i386/pc/at_keyboard.c
2341 (keyboard_controller_wait_untill_ready): Rename to ...
2342 (keyboard_controller_wait_until_ready): ... this. Update all users.
2343
33937904 23442010-01-01 Carles Pina i Estany <carles@pina.cat>
2345
2346 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
2347 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
2348 string using string width.
2349 * normal/menu_text.c (grub_print_message_indented): Use
2350 grub_print_spaces and not print_spaces.
2351 (print_timeout): Likewise.
2352 (print_spaces): Move to...
2353 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
2354
3fd3b8d8
RM
23552010-01-01 Robert Millan <rmh.grub@aybabtu.com>
2356
2357 Import from Gnulib.
2358
2359 * gnulib/getdelim.c: New file.
2360 * gnulib/getline.c: Likewise.
2361
33433555
VS
23622009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
2363
2364 * include/grub/list.h (grub_assert_fail): Removed.
2365 (grub_bad_type_cast_real): New function.
2366 (grub_bad_type_cast): New macro.
2367 (GRUB_AS_LIST): Use grub_bad_type_cast.
2368 (GRUB_AS_LIST_P): Likewise.
e44721e8 2369 (GRUB_AS_NAMED_LIST): Likewise.
33433555 2370 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 2371 (GRUB_AS_PRIO_LIST): Likewise.
33433555 2372 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 2373 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 2374
f5a51306
VS
23752009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
2378 Fix syntax error.
2379
90d1e879
RM
23802009-12-29 Robert Millan <rmh.grub@aybabtu.com>
2381
2382 * configure.ac: Check for TARGET_CFLAGS initialization before we
2383 initialize it ourselves (sigh).
2384 Move a few modifications to TARGET_CFLAGS to be unconditional
2385 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
2386 eh_frame)
2387
2388 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
2389 * term/i386/pc/at_keyboard.c
2390 (keyboard_controller_wait_untill_ready): Likewise.
2391 (keyboard_controller_led): Rename `led_status' paramter to avoid
2392 name conflict.
2393
465b5a81 23942009-12-28 Carles Pina i Estany <carles@pina.cat>
2395
2396 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
2397 quotes.
2398
c181849b
VS
23992009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2402
9c8739a4
VS
24032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * normal/menu_text.c (grub_print_message_indented): Prevent
2406 past-the-end-of-array dereference.
2407
3e74249c
VS
24082009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
2411 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
2412
64fd18ed 24132009-12-27 Carles Pina i Estany <carles@pina.cat>
2414
2415 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
2416 * normal/main.c (grub_normal_read_line): Remove a space from the
2417 default prompt.
2418
714af9b9 24192009-12-27 Carles Pina i Estany <carles@pina.cat>
2420
2421 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
2422 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2423 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2424 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2425 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2426 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2427 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2428
82f3e412 24292009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 2430
2431 * video/readers/jpeg.c (cmd): Declare.
2432 (grub_cmd_jpegtest): Use `grub_command_t' type.
2433 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2434 Assign to `cmd'.
2435 (GRUB_MOD_FINI): Use `cmd' to unregister.
2436 * video/readers/png.c (cmd): Declare.
2437 (grub_cmd_pngtest): Use `grub_command_t' type.
2438 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2439 Assign to `cmd'.
2440 (GRUB_MOD_FINI): Use `cmd' to unregister.
2441 * video/readers/tga.c (cmd): Declare.
2442 (grub_cmd_tgatest): Use `grub_command_t' type.
2443 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2444 Assign to `cmd'.
2445 (GRUB_MOD_FINI): Use `cmd' to unregister.
2446
82f3e412 24472009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 2448
2449 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
2450 stops.
2451 * kern/corecmd.c (grub_register_core_commands): Likewise.
2452 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
2453 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2454 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
2455 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2456 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2457 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
2458 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2459 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
2460 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2461 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2462 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2463 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2464 * normal/handler.c (insert_handler): Likewise.
2465 * normal/main.c (GRUB_MOD_INIT): Likewise.
2466 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2467
fdcdbb66 24682009-12-26 Carles Pina i Estany <carles@pina.cat>
2469
2470 * commands/help.c (grub_cmd_help): Print the command name before the
2471 summary.
2472 (GRUB_MOD_INIT): Remove command name from the summary.
2473 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 2474 string as summary.
fdcdbb66 2475 * lib/arg.c (find_long): Print the command name before the summary.
2476 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
2477 summary.
2478 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
2479 * commands/cat.c (GRUB_MOD_INIT): Likewise.
2480 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
2481 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
2482 * commands/crc.c (GRUB_MOD_INIT): Likewise.
2483 * commands/date.c (GRUB_MOD_INIT): Likewise.
2484 * commands/echo.c (GRUB_MOD_INIT): Likewise.
2485 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
2486 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2487 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2488 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
2489 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
2490 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
2491 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
2492 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2493 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
2494 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
2495 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
2496 * commands/ls.c (GRUB_MOD_INIT): Likewise.
2497 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2498 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2499 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2500 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
2501 * commands/password.c (GRUB_MOD_INIT): Likewise.
2502 * commands/probe.c (GRUB_MOD_INIT): Likewise.
2503 * commands/read.c (GRUB_MOD_INIT): Likewise.
2504 * commands/search.c (GRUB_MOD_INIT): Likewise.
2505 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
2506 * commands/test.c (GRUB_MOD_INIT): Likewise.
2507 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
2508 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2509 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2510 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
2511 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2512 * lib/arg.c (GRUB_MOD_INIT): Likewise.
2513 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
2514 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2515 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2516 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2517 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2518 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
2519 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
2520 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2521
9c288be2
VS
25222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Use search command for preliminar UUID search.
2525
2526 * commands/search.c: Split into ...
2527 * commands/search_wrap.c: ...this
2528 * commands/search.c: ...and this.
2529 * commands/search_file.c: New file.
2530 * commands/search_label.c: New file.
2531 * commands/search_uuid.c: New file.
2532 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
2533 Add commands/search_wrap.c, commands/search_file.c,
2534 commands/search_label.c and commands/search_uuid.c.
2535 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
2536 (search_mod_SOURCES): Set to commands/search_wrap.c.
2537 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
2538 search_label.mod.
2539 (search_fs_file_mod_SOURCES): New variable.
2540 (search_fs_file_mod_CFLAGS): Likewise.
2541 (search_fs_file_mod_LDFLAGS): Likewise.
2542 (search_label_mod_SOURCES): Likewise.
2543 (search_label_mod_CFLAGS): Likewise.
2544 (search_label_mod_LDFLAGS): Likewise.
2545 (search_fs_uuid_mod_SOURCES): New variable.
2546 (search_fs_uuid_mod_CFLAGS): Likewise.
2547 (search_fs_uuid_mod_LDFLAGS): Likewise.
2548 (fs_file_mod_SOURCES): Removed.
2549 (fs_file_mod_CFLAGS): Likewise.
2550 (fs_file_mod_LDFLAGS): Likewise.
2551 (fs_uuid_mod_SOURCES): Removed.
2552 (fs_uuid_mod_CFLAGS): Likewise.
2553 (fs_uuid_mod_LDFLAGS): Likewise.
2554 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
2555 Set to util/grub-install.in.
2556 * disk/fs_file.c: Removed.
2557 * disk/fs_uuid.c: Likewise.
2558 * include/grub/search.h: New file.
2559 * util/grub-install.in: Handle sparc64.
2560 Create and use load.cfg.
2561 * util/sparc64/ieee1275/grub-install.in: Removed.
2562
db943399
VS
25632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
2566 Ignore return status if CF is cleared.
2567 (grub_biosdisk_get_diskinfo_standard): Likewise.
2568
3fdae612
RM
25692009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2570
2571 * term/i386/pc/at_keyboard.c
2572 (keyboard_controller_wait_untill_ready): New function.
2573 (grub_keyboard_controller_write, grub_keyboard_controller_read)
2574 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
2575 for keyboard polling, rather than duplicate the same loop. This
2576 saves a few bytes in code size.
2577
7ebaa2b4
VS
25782009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Support for (pxe[:server[:gateway]]) syntax and
2581 use environment variable for PXE.
2582
2583 * commands/i386/pc/pxecmd.c (options): Removed.
2584 (print_ip): Removed.
2585 (grub_cmd_pxe): Removed
2586 (grub_cmd_pxe_unload): New function.
2587 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
2588 (grub_pxe_your_ip): Made static.
2589 (grub_pxe_default_server_ip): Likewise.
2590 (grub_pxe_default_gateway_ip): Likewise.
2591 (grub_pxe_blksize): Likewise.
2592 (parse_ip): New function.
2593 (grub_pxe_open): Support server and gateway specification.
2594 (grub_pxe_close): Free disk->data.
2595 (grub_pxefs_open): Use disk->data.
2596 (grub_pxefs_read): Likewise.
2597 (grub_env_write_readonly): New function.
2598 (set_mac_env): Likewise.
2599 (set_env_limn_ro): Likewise.
2600 (parse_dhcp_vendor): Likewise.
2601 (grub_pxe_detect): Set the environment variables.
2602 (set_ip_env): New function.
2603 (write_ip_env): Likewise.
2604 (grub_env_write_pxe_default_server): Likewise.
2605 (grub_env_write_pxe_default_gateway): Likewise.
2606 (grub_env_write_pxe_blocksize): Likewise.
2607 (GRUB_MOD_INIT(pxe)): Set environment variables.
2608 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
2609 (grub_pxe_mac_addr_t): ... this. All users updated.
2610 (grub_pxe_your_ip): Removed.
2611 (grub_pxe_server_ip): Likewise.
2612 (grub_pxe_gateway_ip): Likewise.
2613 (grub_pxe_blksize): Likewise.
2614
ec5f98ab 26152009-12-25 Carles Pina i Estany <carles@pina.cat>
2616
2617 * commands/help.c: Include `<grub/i18n.h>'.
2618 (grub_cmd_help): Gettextizze.
2619 (GRUB_MOD_INIT): Likewise.
2620 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2621 (GRUB_MOD_INIT): Gettextizze.
2622 * commands/search.c: Include `<grub/i18n.h>'.
2623 (options): Gettextizze.
2624 (GRUB_MOD_INIT): Gettextizze.
2625 * lib/arg.c: Include `<grub/i18n.h>'.
2626 (help_options): Gettextizze.
2627 (find_long): Likewise.
2628 (grub_arg_show_help): Likewise.
2629 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2630 (read_command_list): Gettextizze.
2631 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 2632 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 2633
22815526
RM
26342009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2635
2636 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2637 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2638 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2639 (led_status): New variable.
2640 (keyboard_controller_led): New function.
2641 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2642 update led status for caps lock, num lock and scroll lock.
2643
0ad46fd7
FZ
26442009-12-25 Felix Zielcke <fzielcke@z-51.de>
2645
2646 * util/hostdisk.c (open_device): Fix a comment.
2647
d0e158c2
RM
26482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2649
2650 * util/grub-install.in (host_os): New variable.
2651 * util/i386/efi/grub-install.in (host_os): Likewise.
2652
401c0ad6
RM
26532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2654
2655 * util/mkisofs/write.c (padblock_write): Abort when given an
2656 excedingly large embed image, instead of silently truncating it.
2657
d14d3370
RM
26582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2659
2660 * include/multiboot.h: Indentation fixes.
2661
eeed10b4
RM
26622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2663
2664 * include/multiboot.h (struct multiboot_aout_symbol_table)
2665 (struct multiboot_elf_section_header_table): New structure
2666 declarations (stolen from GRUB Legacy).
2667 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2668 table information.
2669
2670 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2671 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2672 type aliases.
2673
681c70ab
RM
26742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2675
2676 * include/multiboot.h: Make comments src2texi-friendly.
2677
e4d47d8d
RM
26782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2679
2680 For consistency with [multiboot]/docs/boot.S.
2681
2682 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2683 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2684 (MULTIBOOT_MAGIC2): Rename from this ...
2685 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2686
a0b70bda
RM
26872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2688
2689 * include/multiboot.h: Remove `<grub/types.h>'.
2690 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2691 types. Update all users.
2692
61ba42be 26932009-12-25 Carles Pina i Estany <carles@pina.cat>
2694
2695 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2696 `couldn't' and `can not' by `cannot'.
2697 * commands/i386/pc/drivemap.c: Likewise.
2698 * disk/ata.c: Likewise.
2699 * disk/ieee1275/nand.c: Likewise.
2700 * fs/affs.c: Likewise.
2701 * fs/fat.c: Likewise.
2702 * fs/hfs.c: Likewise.
2703 * fs/hfsplus.c: Likewise.
2704 * fs/iso9660.c: Likewise.
2705 * fs/jfs.c: Likewise.
2706 * fs/minix.c: Likewise.
2707 * fs/reiserfs.c: Likewise.
2708 * fs/sfs.c: Likewise.
2709 * fs/udf.c: Likewise.
2710 * fs/ufs.c: Likewise.
2711 * fs/xfs.c: Likewise.
2712 * loader/powerpc/ieee1275/linux.c: Likewise.
2713 * loader/sparc64/ieee1275/linux.c: Likewise.
2714 * util/grub-probe.c: Likewise.
2715 * util/misc.c: Likewise.
2716
7fd0baee 27172009-12-24 Carles Pina i Estany <carles@pina.cat>
2718
2719 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2720 grub_errno calls.
2721 * commands/acpi.c: Likewise.
2722 * commands/blocklist.c: Likewise.
2723 * commands/efi/loadbios.c: Likewise.
2724 * commands/i386/pc/drivemap.c: Likewise.
2725 * commands/loadenv.c: Likewise.
2726 * commands/memrw.c: Likewise.
2727 * commands/password.c: Likewise.
2728 * commands/videotest.c: Likewise.
2729 * disk/ata.c: Likewise.
2730 * disk/ata_pthru.c: Likewise.
2731 * disk/dmraid_nvidia.c: Likewise.
2732 * disk/ieee1275/nand.c: Likewise.
2733 * disk/ieee1275/ofdisk.c: Likewise.
2734 * disk/loopback.c: Likewise.
2735 * disk/lvm.c: Likewise.
2736 * disk/mdraid_linux.c: Likewise.
2737 * disk/raid.c: Likewise.
2738 * disk/raid6_recover.c: Likewise.
2739 * disk/scsi.c: Likewise.
2740 * efiemu/main.c: Likewise.
2741 * efiemu/mm.c: Likewise.
2742 * efiemu/pnvram.c: Likewise.
2743 * efiemu/symbols.c: Likewise.
2744 * font/font.c: Likewise.
2745 * fs/cpio.c: Likewise.
2746 * fs/hfsplus.c: Likewise.
2747 * fs/iso9660.c: Likewise.
2748 * fs/jfs.c: Likewise.
2749 * fs/minix.c: Likewise.
2750 * fs/ntfs.c: Likewise.
2751 * fs/ntfscomp.c: Likewise.
2752 * fs/reiserfs.c: Likewise.
2753 * fs/ufs.c: Likewise.
2754 * fs/xfs.c: Likewise.
2755 * gettext/gettext.c: Likewise.
2756 * include/grub/auth.h: Likewise.
2757 * kern/elf.c: Likewise.
2758 * kern/file.c: Likewise.
2759 * kern/ieee1275/init.c: Likewise.
2760 * kern/ieee1275/mmap.c: Likewise.
2761 * kern/ieee1275/openfw.c: Likewise.
2762 * kern/powerpc/dl.c: Likewise.
2763 * kern/sparc64/dl.c: Likewise.
2764 * lib/arg.c: Likewise.
2765 * loader/i386/bsd.c: Likewise.
2766 * loader/i386/bsdXX.c: Likewise.
2767 * loader/i386/efi/linux.c: Likewise.
2768 * loader/i386/efi/xnu.c: Likewise.
2769 * loader/i386/ieee1275/linux.c: Likewise.
2770 * loader/i386/linux.c: Likewise.
2771 * loader/i386/multiboot.c: Likewise.
2772 * loader/i386/pc/linux.c: Likewise.
2773 * loader/i386/pc/multiboot2.c: Likewise.
2774 * loader/i386/xnu.c: Likewise.
2775 * loader/ieee1275/multiboot2.c: Likewise.
2776 * loader/macho.c: Likewise.
2777 * loader/machoXX.c: Likewise.
2778 * loader/multiboot2.c: Likewise.
2779 * loader/multiboot_loader.c: Likewise.
2780 * loader/powerpc/ieee1275/linux.c: Likewise.
2781 * loader/sparc64/ieee1275/linux.c: Likewise.
2782 * loader/xnu.c: Likewise.
2783 * loader/xnu_resume.c: Likewise.
2784 * mmap/i386/pc/mmap.c: Likewise.
2785 * normal/menu_viewer.c: Likewise.
2786 * partmap/acorn.c: Likewise.
2787 * partmap/amiga.c: Likewise.
2788 * partmap/apple.c: Likewise.
2789 * script/lexer.c: Likewise.
2790 * term/gfxterm.c: Likewise.
2791 * term/i386/pc/serial.c: Likewise.
2792 * term/i386/pc/vga.c: Likewise.
2793 * term/ieee1275/ofconsole.c: Likewise.
2794 * term/terminfo.c: Likewise.
2795 * video/bitmap.c: Likewise.
2796 * video/efi_gop.c: Likewise.
2797 * video/efi_uga.c: Likewise.
2798 * video/fb/video_fb.c: Likewise.
2799 * video/i386/pc/vbe.c: Likewise.
2800 * video/readers/tga.c: Likewise.
2801 * video/video.c: Likewise.
2802
0ad46fd7 28032009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2804
2805 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2806 * commands/lspci.c: Likewise.
2807 * commands/probe.c: Likewise.
2808 * commands/xnu_uuid.c: Likewise.
2809 * conf/i386-coreboot.rmk: Likewise.
2810 * conf/i386-efi.rmk: Likewise.
2811 * conf/i386-ieee1275.rmk: Likewise.
2812 * conf/i386-pc.rmk: Likewise.
2813 * conf/powerpc-ieee1275.rmk: Likewise.
2814 * conf/sparc64-ieee1275.rmk: Likewise.
2815 * conf/x86_64-efi.rmk: Likewise.
2816 * fs/i386/pc/pxe.c: Likewise.
2817 * gettext/gettext.c: Likewise.
2818 * include/grub/efi/graphics_output.h: Likewise.
2819 * include/grub/i386/pc/memory.h: Likewise.
2820 * kern/env.c: Likewise.
2821 * kern/i386/qemu/startup.S: Likewise.
2822 * lib/i386/pc/biosnum.c: Likewise.
2823 * lib/i386/relocator.c: Likewise.
2824 * lib/i386/relocator_asm.S: Likewise.
2825 * lib/relocator.c: Likewise.
2826 * loader/i386/bsd.c: Likewise.
2827 * loader/i386/multiboot.c: Likewise.
2828 * loader/i386/pc/chainloader.c: Likewise.
2829 * loader/i386/xnu.c: Likewise.
2830 * loader/xnu.c: Likewise.
2831 * normal/main.c: Likewise.
2832 * normal/menu_text.c: Likewise.
2833 * util/getroot.c: Likewise.
2834 * util/grub-mkconfig_lib.in: Likewise.
2835 * util/grub.d/00_header.in: Likewise.
2836 * util/i386/pc/grub-mkimage.c: Likewise.
2837 * util/mkisofs/eltorito.c: Likewise.
2838 * util/mkisofs/exclude.h: Likewise.
2839 * util/mkisofs/hash.c: Likewise.
2840 * util/mkisofs/iso9660.h: Likewise.
2841 * util/mkisofs/joliet.c: Likewise.
2842 * util/mkisofs/mkisofs.c: Likewise.
2843 * util/mkisofs/mkisofs.h: Likewise.
2844 * util/mkisofs/multi.c: Likewise.
2845 * util/mkisofs/name.c: Likewise.
2846 * util/mkisofs/rock.c: Likewise.
2847 * util/mkisofs/tree.c: Likewise.
2848 * util/mkisofs/write.c: Likewise.
2849 * video/efi_gop.c: Likewise.
2850
009ec743
VS
28512009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2854 size counting.
2855
0ad46fd7 28562009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2857
2858 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
2859 * genmk.rb (class SCRIPT): Modify the target file instead of source.
2860
d3d30ea0
VS
28612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
2864 (GRUB_MOD_INIT(memrw)): Update help line.
2865
a34f5c70
VS
28662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
2869 Use grub_extcmd_t. All users updated.
2870 (options): New variable.
2871 (grub_cmd_read): Restructure for readability. Support "-v" option.
2872 (grub_cmd_write): Restructure for readability.
2873
0ad46fd7 28742009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
2875
2876 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
2877
0ad46fd7 28782009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
2879
2880 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
2881 with the actual contents of the correspondending make variable.
2882 * util/grub-mkrescue.in (pkglib_DATA): New variable.
2883 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
2884 specifying `*.lst' and `efiemu??.o'
2885
0ad46fd7 28862009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
2887
2888 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
2889 after function name.
2890 Noticed by Rene Engelhard <rene@debian.org>.
2891
dc77a799
VS
28922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
2895 (options): New variable.
2896 (iospace): Likewise.
2897 (grub_lspci_iter): List IO spaces if "-i" was given.
2898 (grub_cmd_lspci): Parse options.
2899 (GRUB_MOD_INIT(lspci)): Use extcmd.
2900 (GRUB_MOD_FINI(lspci)): Likewise.
2901
0ad46fd7 29022009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
2903
2904 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
2905 `function' keyword.
2906 Patch by Tony Mancill <tmancill@debian.org>.
2907
b5d5993b
VS
29082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
2911 (grub_uhci_portstatus): Likewise.
2912 (grub_uhci_portstatus): Add necessary delay.
11d18281 2913 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 2914
941903f2 29152009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 2916
941903f2 2917 * commands/acpi.c (options): Fix capitalizations and/or full stops.
2918 (GRUB_MOD_INIT): Likewise.
2919 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 2920 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
2921 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 2922 * commands/efi/loadbios.c (enable_rom_area): Likewise.
2923 (enable_rom_area): Likewise.
2924 (GRUB_MOD_INIT): Likewise.
2925 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2926 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
2927 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2928 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
2929 * commands/hexdump.c (options): Likewise.
2930 * commands/i386/cpuid.c (options): Likewise.
2931 (GRUB_MOD_INIT): Likewise.
2932 * commands/i386/pc/drivemap.c (options): Likewise.
2933 (GRUB_MOD_INIT): Likewise.
2934 * commands/i386/pc/halt (options): Likewise.
2935 (GRUB_MOD_INIT): Likewise.
2936 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2937 * commands/i386/pc/pxecmd.c (options): Likewise.
2938 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
2939 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
2940 * commands/keystatus.c (options): Likewise.
2941 (GRUB_MOD_INIT): Likewise.
2942 * commands/loadenv.c (options): Likewise.
2943 * commands/ls.c (options): Likewise.
2944 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2945 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2946 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2947 * commands/parttool.c (helpmsg): Likewise.
2948 * commands/probe.c (options): Likewise.
2949 * commands/read.c (GRUB_MOD_INIT): Likewise.
2950 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
2951 * commands/search.c (options): Likewise.
2952 * commands/sleep.c (options): Likewise.
2953 * commands/test.c (GRUB_MOD_INIT): Likewise.
2954 * commands/true.c (GRUB_MOD_INIT): Likewise.
2955 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
2956 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
2957 * lib/arg.c (help_options): Likewise.
e9bbb4e7 2958 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
2959 `$(XGETTEXT)'.
98a50553 2960 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 2961
0ad46fd7 29622009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 2963
ef3c2c3a 2964 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
2965 instead of specifying them explicit.
2966
7922f68b
RM
29672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2968
2969 * NEWS: Add grub-probe support for GNU/Hurd.
2970
537ce47f
RM
29712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2972
2973 * NEWS: gettext was added after 1.97.
2974
9b214e3a
RM
29752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2976
2977 * util/mkisofs/msdos_partition.h: New file (based on
2978 include/grub/msdos_partition.h).
2979 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
2980 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
2981 (ld_options, main): Recognize --protective-msdos-label.
2982 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
2983 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
2984 (padblock_write): If `use_protective_msdos_label' is set, patch a
2985 protective DOS-style label in the output image.
2986
2987 * util/grub-mkrescue.in: Use --protective-msdos-label.
2988
e9309813
RM
29892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2990
2991 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
2992 boot.
2993
0ae56929
RM
29942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2995
2996 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2997 variables.
2998 (ld_options, main): Recognize `--embedded-boot'.
2999 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3000 declarations.
3001 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3002 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3003 (padblock_write): Likewise. Rewrite to support embedded boot image.
3004
3005 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3006 for BIOS-based disk boot instead of only ElTorito.
3007
b15937b1
RM
30082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3009
3010 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3011 build (not needed for bootstrap).
3012
52cc3ce0
RM
30132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3014
3015 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3016 from i386-pc build (not needed for bootstrap).
3017 Rewrite a pair of strings.
3018
36f5ff04
RM
30192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3020
3021 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3022
973c6c85 30232009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3024
3025 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3026
05d21547
AB
30272009-12-21 Andreas Born <futur.andy@googlemail.com>
3028
3029 * kern/env.c (grub_env_context_open): Mark exported variable for
3030 reexport.
3031
0175d51f
AB
30322009-12-21 Andreas Born <futur.andy@googlemail.com>
3033
3034 * kern/env.c (grub_env_export): Create nonexistent variables before
3035 exporting.
3036
7f39d92f 30372009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3038
7f39d92f 3039 * include/grub/auth.h: Include `<grub/i18n.h>'.
3040 (GRUB_GET_PASSWORD): Gettextizze string.
3041 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3042 menu_text.c.
3043 (grub_utf8_to_ucs4_alloc): Fix indentation.
3044 (grub_print_ucs4): Likewise.
3045 (grub_getstringwidth): Likewise.
3046 (print_message_indented): New declaration.
3047 * normal/auth.c: Include `<grub/i18n.h>'.
3048 (grub_auth_check_authentication): Gettexttize string.
3049 * normal/cmdline.c: Include `<grub/i18n.h>'.
3050 (grub_cmdline_get): Gettextizze.
3051 * normal/color.c: Include `<grub/i18n.h>'.
3052 (grub_parse_color_name_pair): Gettexttize strings.
3053 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3054 string (use `print_message_indented').
3055 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3056 `include/grub/normal.h'.
3057 (print_message_indented): Renamed to ...
3058 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3059 used in normal/main.c).
3060 (print_message): Use `grub_print_message_indented' instead of
3061 `print_message_indented'.
3062 (print_timeout): Likewise.
3063 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3064 (grub_normal_print_device_info): Gettexttize strings.
3065 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3066
3041d898
VS
30672009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3070 of arguments. Return number of tokens and not arguments. All users
3071 updated.
3072
de15bf8e
VS
30732009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3076 non-MSDOS paritions.
3077
e0a6ca52
VS
30782009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * include/grub/types.h (UNUSED): Removed since it conflicts with
3081 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3082 Reported by Grégoire Sutre.
3083
b99518d1 30842009-12-19 Carles Pina i Estany <carles@pina.cat>
3085
3086 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3087 (grub_print_ucs4_alloc): Likewise.
3088 (grub_getstringwidth): Likewise.
3089 * normal/main.c (grub_normal_init_page): Gettextize version string.
3090 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3091 (getstringwidth): Renamed to ...
3092 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3093 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3094 (grub_print_ucs4): Remove `static' qualifer (now used in
3095 normal/main.c).
3096 * po/POTFILES: Add normal/main.c.
3097
bfd5e52b 30982009-12-19 Carles Pina i Estany <carles@pina.cat>
3099
3100 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3101 (print_message_indented): Add `margin_left' and `margin_right'
3102 parameters.
3103 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3104 strings.
3105 (print_timeout): Use `print_message_indented' to print the message.
3106 Deletes `second_stage' parameter.
3107 (run_menu): Update `print_timeout' calls.
3108
5a1ad2b9
VS
31092009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 Fix console palette on OpenFirmware.
3112
3113 * term/ieee1275/ofconsole.c (MAX): Removed.
3114 (colors): Redone based on VGA palette.
3115 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3116 colors are supported.
3117 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3118
b045f00a
VS
31192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 Fix potential EfiEmu double prepare.
3122
3123 * efiemu/main.c (prepared): New variable
3124 (grub_efiemu_unload): Set prepare to '0'.
3125 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3126
3127 set_virtual_address_map support.
3128
3129 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3130 prototype.
3131 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3132 prototype.
3133 (grub_efiemu_crc32): Likewise.
3134 (grub_efiemu_crc64): Likewise.
3135 (grub_efiemu_set_virtual_address_map): Likewise.
3136 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3137 New definition.
3138 (grub_autoefi_set_virtual_address_map): Likewise.
3139 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3140 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3141 Restructure flow to accomodate it.
3142 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3143 (grub_efiemu_crc): Recompute CRC32.
3144 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3145 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3146 * efiemu/symbols.c (relocated_handle): New variable.
3147 (grub_efiemu_free_syms): Free relocated_handle.
3148 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3149 (grub_efiemu_write_sym_markers): New function.
3150 (grub_efiemu_set_virtual_address_map): Likewise.
3151
3152 Newer XNU parameters.
3153
3154 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3155 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3156 (grub_xnu_fill_devicetree): New prototype.
3157 (grub_xnu_heap_real_start): New variable.
3158 * loader/xnu.c (get_name_ptr): New function.
3159 (grub_xnu_load_driver): Fill namelen and name.
3160
3161 64-bit xnu support.
3162
3163 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3164 and 'loader/macho64.c'.
3165 * conf/i386-pc.rmk: Likewise.
3166 * conf/x86_64-efi.rmk: Likewise.
3167 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3168 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3169 * include/grub/macho.h (grub_macho_segment64): New structure.
3170 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3171 (grub_macho_size32): ... to this.
3172 (grub_macho32_get_entry_point): Renamed from ...
3173 (grub_macho_get_entry_point32): ... to this.
3174 (grub_macho_contains_macho64): New prototype.
3175 (grub_macho_size64): Likewise.
3176 (grub_macho_get_entry_point64): Likewise.
3177 (grub_macho32_load): Renamed from ...
3178 (grub_macho_load32): ... to this.
3179 (grub_macho32_filesize): Renamed from ...
3180 (grub_macho_filesize32): ... to this.
3181 (grub_macho32_readfile): Renamed from ...
3182 (grub_macho_readfile32): ... to this.
3183 (grub_macho_filesize64): New prototype.
3184 (grub_macho_readfile64): Likewise.
3185 (grub_macho_parse32): Likewise.
3186 (grub_macho_parse64): Likewise.
3187 * loader/macho.c: Split into ...
3188 * loader/machoXX.c: ... and this. Replace 32 with XX.
3189 * loader/macho32.c: New file.
3190 * loader/macho64.c: Likewise.
3191 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3192 (grub_cmd_xnu_kernel): Make 32-bit only.
3193 (grub_cmd_xnu_kernel64): New function.
3194 (grub_xnu_load_driver): Support Mach-O 64.
3195 (grub_cmd_xnu_mkext): Likewise.
3196 * util/grub.d/30_os-prober.in (osx_entry): New function.
3197 Generate entries for 64-bit boot too.
3198
3199 Eliminate ad-hoc tree format in XNU and EfiEmu.
3200
3201 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3202 * efiemu/pnvram.c: Rewritten to use environment variables.
3203 All users updated.
3204
3205 Inline utf16_to_utf8.
3206
3207 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3208 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3209 All users updated.
3210 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3211
3212 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3213 * commands/usbtest.c (grub_usb_get_string): ... move here.
3214 (usb_print_str): Fix error handling.
3215 * include/grub/usb.h (grub_usb_get_string): Remove.
3216
3217 UTF-8 to UTF-16 transformation.
3218
3219 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3220 (charset_mod_SOURCES): New variable.
3221 (charset_mod_CFLAGS): Likewise.
3222 (charset_mod_LDFLAGS): Likewise.
3223 * include/grub/utf.h: New file.
3224 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3225
3226 Support for device properties.
3227
3228 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3229 (grub_xnu_devprop_device_header): Likewise.
3230 (grub_xnu_devprop_device_descriptor): Likewise.
3231 (grub_xnu_devprop_add_device): New prototype.
3232 (grub_xnu_devprop_remove_device): Likewise.
3233 (grub_xnu_devprop_remove_property): Likewise.
3234 (grub_xnu_devprop_add_property_utf8): Likewise.
3235 (grub_xnu_devprop_add_property_utf16): Likewise.
3236 (grub_cpu_xnu_init): Likewise.
3237 (grub_cpu_xnu_fini): Likewise.
3238 (grub_cpu_xnu_unload): Likewise.
3239 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3240 (property_descriptor): Likewise.
3241 (devices): New variable.
3242 (grub_xnu_devprop_remove_property): New function.
3243 (grub_xnu_devprop_add_device): Likewise.
3244 (grub_xnu_devprop_remove_device): Likewise.
3245 (grub_xnu_devprop_add_property): Likewise.
3246 (grub_xnu_devprop_add_property_utf8): Likewise.
3247 (grub_xnu_devprop_add_property_utf16): Likewise.
3248 (hextoval): Likewise.
3249 (grub_cpu_xnu_fill_devprop): Likewise.
3250 (grub_cmd_devprop_load): Likewise.
3251 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3252 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3253 (cmd_devprop_load): New variable.
3254 (grub_cpu_xnu_init): New function.
3255 (grub_cpu_xnu_fini): Likewise.
3256 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3257 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3258 (grub_cmd_xnu_devtree): Likewise.
3259 (hextoval): New function.
3260 (unescape): Likewise.
3261 (grub_xnu_fill_devicetree): Likewise.
3262
3263 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3264 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3265
0945f181
VS
32662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Workaround for broken ATI VBE.
3269
3270 * video/i386/pc/vbe.c (last_set_mode): New variable.
3271 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3272 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3273 (grub_video_vbe_setup): Don't check for reserved flag.
3274
0ad46fd7 32752009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
3276
3277 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3278 the `find' command.
3279
c179ebe4
VS
32802009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 UUID support for HFS.
3283
3284 * fs/hfs.c (grub_hfs_uuid): New function.
3285 (grub_hfs_fs): New value .uuid.
3286 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3287
0ad46fd7 32882009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
3289
3290 Fix a segfault with parsing unknown long options.
3291
3292 * util/grub-mkrelpath.c (options): Zero terminate it.
3293
c4a3e41a
CPE
32942009-12-13 Carles Pina i Estany <carles@pina.cat>
3295
3296 * include/grub/misc.h (grub_puts): New declaration.
3297 (grub_puts_): Likewise.
a22008a6 3298 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
3299 (grub_puts_): Likewise.
3300
2e8a7602
RM
33012009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3302
3303 * util/grub-probe.c (probe): Improve error message.
3304
b50b77b9
RM
33052009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3306
3307 * loader/i386/multiboot_elfxx.c
3308 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3309 initialization.
3310
33112009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Relocator framework
3314
3315 * loader/i386/xnu_helper.S: Removed. All users updated.
3316 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3317 (relocator_mod_SOURCES): New variable.
3318 (relocator_mod_CFLAGS): Likewise.
3319 (relocator_mod_LDFLAGS): Likewise.
3320 (relocator_mod_ASFLAGS): Likewise.
3321 * conf/x86_64.rmk: Likewise.
3322 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
3323 (grub_multiboot_payload_entry_offset): Likewise.
3324 (grub_multiboot_forward_relocator): Likewise.
3325 (grub_multiboot_forward_relocator_end): Likewise.
3326 (grub_multiboot_backward_relocator): Likewise.
3327 (grub_multiboot_backward_relocator_end): Likewise.
3328 (grub_multiboot_payload_eip): New variable.
3329 (grub_multiboot_payload_orig): Likewise.
3330 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
3331 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
3332 * include/grub/i386/memory.h
3333 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
3334 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
3335 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
3336 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
3337 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3338 * include/grub/i386/relocator.h: New file.
3339 * include/grub/x86_64/relocator.h: Likewise.
3340 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
3341 (XNU_RELOCATOR): New macro.
3342 (grub_xnu_launcher_start): Remove.
3343 (grub_xnu_launcher_end): Likewise.
3344 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
3345 (grub_xnu_heap_real_start): Remove.
3346 (grub_xnu_heap_start): Change to void *. All users updated.
3347 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
3348 * lib/i386/relocator.c: New file.
3349 * lib/i386/relocator_asm.S: Likewise.
3350 * lib/i386/relocator_backward.S: Likewise.
3351 * lib/mips/relocator.c: Likewise.
3352 * lib/mips/relocator_asm.S: Likewise.
3353 * lib/relocator.c: Likewise.
3354 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
3355 (entry): Removed.
3356 (playground): Likewise.
3357 (grub_multiboot_payload_orig): New variable.
3358 (grub_multiboot_payload_dest): Likewise.
3359 (grub_multiboot_payload_size): Likewise.
3360 (grub_multiboot_payload_eip): Likewise.
3361 (grub_multiboot_payload_esp): Likewise.
3362 (grub_multiboot_boot): Use grub_relocator32_boot.
3363 (grub_multiboot_unload): Free relocators.
3364 (grub_multiboot): Setup stack. Use relocators.
3365 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
3366 (grub_multiboot_load_elfXX): Use relocators.
3367 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
3368 (grub_multiboot_payload_size): Likewise.
3369 (grub_multiboot_payload_dest): Likewise.
3370 (grub_multiboot_payload_entry_offset): Likewise.
3371 (grub_multiboot_forward_relocator): Likewise.
3372 (grub_multiboot_backward_relocator): Likewise.
3373 (grub_multiboot_real_boot): Likewise.
3374 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
3375 (grub_xnu_entry_point): Likewise.
3376 (grub_xnu_arg1): Likewise.
3377 (grub_xnu_stack): Likewise.
3378 (grub_xnu_launch): Removed.
3379 (grub_xnu_boot_resume): New function.
3380 (grub_xnu_boot): Use relocators.
3381 * loader/i386/xnu_helper.S: Removed.
3382 * loader/xnu.c (grub_xnu_heap_start): New variable.
3383 (grub_xnu_heap_size): Likewise.
3384 (grub_xnu_heap_malloc): Use relocators.
3385 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
3386
29eb90c6
VS
33872009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
3390 anything.
3391
31027430
CPE
33922009-12-13 Carles Pina i Estany <carles@pina.cat>
3393
3394 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
3395 GRUB_ERR_NONE before calling grub_env_set.
3396
dc0c71d9
RM
33972009-12-12 Robert Millan <rmh@aybabtu.com>
3398
3399 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
3400 * genmk.rb (video): New variable.
3401 (CLEANFILES, VIDEOFILES): Add #{video}.
3402 (#{video}): New target rule.
3403 * genvideolist.sh: New file.
3404 * Makefile.in (pkglib_DATA): Add video.lst.
3405 (video.lst): New target rule.
3406 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
3407 `video.lst'.
3408 * util/grub.d/30_os-prober.in: Replace `vbe' with
3409 ${GRUB_VIDEO_BACKEND}.
3410
2a4bfcf0
RM
34112009-12-11 Robert Millan <rmh.grub@aybabtu.com>
3412
3413 * THANKS: Add David Miller.
3414
2a3aa4d5
RM
34152009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 libpciaccess support.
3418
3419 * Makefile.in (LIBPCIACCESS): New variable.
3420 (enable_grub_emu_pci): Likewise.
3421 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
3422 util/pci.c and commands/lspci.c.
3423 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
3424 * configure.ac (grub-emu-pci): New option.
3425 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
3426 (grub_pci_device_unmap_range): Likewise.
3427 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
3428 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
3429 (grub_pci_address_t) [!GRUB_UTIL]: New type.
3430 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
3431 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
3432 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
3433 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
3434 * include/grub/pciutils.h: New file.
3435 * util/pci.c: Likewise.
3436
0ad46fd7 34372009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
3438
3439 * util/misc.c: Don't include <errno.h> twice.
3440
0ad46fd7 34412009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
3442
3443 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
3444 name in an error message.
3445 (grub_biosdisk_rw): Likewise.
3446
2e59983c
VS
34472009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 Eliminate NTFS 4Gib barrier.
3450
3451 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
3452 (read_run_data): Likewise.
3453 (grub_ntfs_read_run_list): Likewise.
3454 (grub_ntfs_read_block): Likewise.
3455 (grub_ntfs_iterate_dir): Likewise.
3456 (read_mft): Likewise.
3457 (read_data): Likewise.
3458 Use COM_LOG_LEN.
3459 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
3460 to avoid 64-bit division
3461 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
3462 (grub_ntfs_rlst): Use grub_disk_addr_t.
3463
71ee178a
VS
34642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 Eliminate grub-fstest 4Gib barrier.
3467
3468 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
3469 (read_file): Fix error reporting.
3470
2520d4b8
VS
34712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 Eliminate hexdump 4Gib barrier.
3474
3475 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
3476 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
3477
e1f27065
VS
34782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
3481 Fixes amarsh bug.
3482
1a0f7f45
RM
34832009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
3484
3485 Remove miscellaneous files in distclean target.
3486
3487 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
3488
c631d9fb
CW
34892009-12-09 Colin Watson <cjwatson@ubuntu.com>
3490
3491 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
3492 if they're already set. This resolves the conflict between my
3493 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
3494 fixing the --grub-probe option again.
3495 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
3496 change on 2009-10-06, so that we now once again source
3497 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3498
7c7b6106
RM
34992009-12-08 Robert Millan <rmh.grub@aybabtu.com>
3500
3501 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
3502 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
3503 `util/devicemap.c'.
3504
e3069ec1
CPE
35052009-12-08 Carles Pina i Estany <carles@pina.cat>
3506
3507 * include/grub/misc.h (grub_printf_): New declaration.
3508 * kern/misc.c (grub_printf_): New definition.
3509 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
3510 instead of `grub_printf' and `_'.
3511 * normal/menu_entry.c (store_completion): Likewise.
3512 (run): Likewise.
3513 (grub_menu_entry_run): Likewise.
3514 * normal/menu_text.c (grub_wait_after_message): Likewise.
3515 (notify_booting): Likewise.
3516 (notify_fallback): Likewise.
3517 (notify_execution_failure): Likewise.
3518
d6ceebf1
CW
35192009-12-07 Colin Watson <cjwatson@ubuntu.com>
3520
3521 * configure.ac: Check for vasprintf.
3522 * util/misc.c (asprintf): Move allocation from here ...
3523 (vasprintf): ... to here. New function.
3524 (xasprintf): New function.
3525 * include/grub/util/misc.h (vasprintf, xasprintf): Add
3526 prototypes.
3527 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3528 * util/grub-mkfont.c (write_font): Likewise.
3529 * util/grub-probe.c (probe): Likewise.
3530 * util/hostdisk.c (make_device_name): Likewise.
3531
de6daa8b
DM
35322009-12-06 David S. Miller <davem@sunset.davemloft.net>
3533
3534 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
3535 anything even prefixed with 'cdrom' as a cdrom.
3536
0ad46fd7 35372009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
3538
3539 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
3540 mount points.
3541
98d3dc02
CPE
35422009-12-05 Carles Pina i Estany <carles@pina.cat>
3543
3544 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
3545 grub_gettext_msg_list.
3546 (grub_gettext_gettranslation_from_position): Return const char *
3547 and not char *.
a2c1332b 3548 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
3549 returns from the list if existing there.
3550 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
3551 (grub_gettext_delete_list): Delete the list.
3552 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
3553 lang environment variable is changed.
3554 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
3555
b283f108
VS
35562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 Rename kernel.mod to kernel.img.
3559
3560 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
3561 (kernel_mod_EXPORTS): Rename to ...
3562 (kernel_img_EXPORTS): ... this.
3563 (kernel_mod_SOURCES): Rename to ...
3564 (kernel_img_SOURCES): ... this.
3565 (kernel_mod_HEADERS): Rename to ...
3566 (kernel_img_HEADERS): ... this. All users updated.
3567 (kernel_mod_CFLAGS): Rename to ...
3568 (kernel_img_CFLAGS): ... this.
3569 (kernel_mod_ASFLAGS): Rename to ...
3570 (kernel_img_ASFLAGS): ... this.
3571 (kernel_mod_LDFLAGS): Rename to ...
3572 (kernel_img_LDFLAGS): ... this.
3573 * conf/x86_64-efi.rmk: Likewise.
3574 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
3575 (read_kernel_image): ... this. All users updated.
3576 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
3577
69055f8a
CPE
35782009-12-05 Carles Pina i Estany <carles@pina.cat>
3579
3580 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
3581 (print_spaces): New function.
3582 (grub_print_ucs4): New function.
3583 (getstringwidth): New function.
3584 (print_message_indented): New function.
3585 (print_message): Gettexttize strings using print_message_indented.
3586 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
3587 width.
3588 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 3589 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
3590 Gettextize.
3591 * normal/menu_entry.c (store_completion): Cleanup the gettextized
3592 string.
3593 (run): Likewise.
3594 (grub_menu_entry_run): Likewise.
3595 * PO/POTFILES: Add normal/menu_entry.c.
3596
f616f51c
VS
35972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
3600
57bbe3be
CPE
36012009-12-05 Carles Pina i Estany <carles@pina.cat>
3602
3603 * util/grub-install.in: Install gettext .mo files.
3604 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
3605
013d67a1
CPE
36062009-12-05 Carles Pina i Estany <carles@pina.cat>
3607
3608 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
3609 grub_dprintf.
3610
fb954db0
RM
36112009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3612
3613 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3614 non-firmware-dependant one in realmode.S takes precedence.
3615
6b8474f8
RM
36162009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3617
3618 * commands/halt.c: Replace misc arch-specific headers with
3619 `<grub/misc.h>'.
3620 * commands/reboot.c: Likewise.
3621 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3622 `<grub/misc.h>'.
3623 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3624 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3625 (kernel_img_SOURCES): ... to here.
3626
3627 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3628 * include/grub/i386/pc/init.h: Likewise.
3629 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3630 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3631
3632 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3633
3634 * include/grub/i386/halt.h: Remove.
3635 * include/grub/i386/reboot.h: Likewise.
3636
3637 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3638
4b2e6ca2
DM
36392009-12-03 David S. Miller <davem@sunset.davemloft.net>
3640
3641 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3642 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3643 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3644 "progname.h"
3645 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3646 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3647 (usage): Add missing comma in printf.
3648
5239348f
RM
36492009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3650
3651 Use the same reboot approach on i386 coreboot and qemu as we do on
3652 BIOS.
3653
3654 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3655 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3656 * kern/i386/reboot.c: Remove.
3657 * include/grub/i386/reboot.h (grub_reboot): Export function.
3658 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3659 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3660 0xf000:0xfff0 instead of 0xffff:0x0000.
3661 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3662 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3663
ef34cbd4
RM
36642009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3665
3666 Fix $srcdir != $objdir build.
3667
3668 * Makefile.in (po/%.po): Rewrite as ...
3669 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3670
dc9837ea
ST
36712009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3672
3673 Fix GNU/Hurd grub-install crash.
3674 * util/grub-probe.c (probe): Try to access `path' only when it is not
3675 NULL.
3676
2f857f98
VS
36772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 Correct module naming.
3680
3681 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3682 (GRUB_MOD_INIT(efi_uga)): ... to this
3683 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3684 (GRUB_MOD_FINI(efi_uga)): ... to this
3685 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3686 (GRUB_MOD_INIT(efi_gop)): ... to this
3687 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3688 (GRUB_MOD_FINI(efi_gop)): ... to this
3689
c5448046
RM
36902009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3691
3692 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3693 translatable.
3694 (usage): Translate `arg' strings using gettext().
3695 Thanks to Jordi Mallach for the suggestion.
3696
c85184ad
VS
36972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 GOP support. Based on patch from Bean
3700 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3701
3702 * video/efi_gop.c: New file.
3703 * include/grub/efi/graphics_output.h: Likewise.
3704 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3705 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3706 variables.
3707 * conf/x86_64-efi.rmk: Likewise.
3708
8a4c48d8
VS
37092009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 Rename efi_fb to efi_uga.
3712
3713 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3714 'efi_uga.mod'.
3715 (efi_fb_mod_SOURCES): Rename this ...
3716 (efi_uga_mod_SOURCES): ... to this.
3717 (efi_fb_mod_CFLAGS): Rename this ...
3718 (efi_uga_mod_CFLAGS): ... to this.
3719 (efi_fb_mod_LDFLAGS): Rename this ...
3720 (efi_uga_mod_LDFLAGS): ... to this.
3721 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3722 'efi_uga.mod'.
3723 (efi_fb_mod_SOURCES): Rename this ...
3724 (efi_uga_mod_SOURCES): ... to this.
3725 (efi_fb_mod_CFLAGS): Rename this ...
3726 (efi_uga_mod_CFLAGS): ... to this.
3727 (efi_fb_mod_LDFLAGS): Rename this ...
3728 (efi_uga_mod_LDFLAGS): ... to this.
3729 * video/efi_fb.c: Move this ...
3730 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3731
fb6c1a7b
RM
37322009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3733
3734 * po/README: New file. Explain our PO file workflow.
3735
3bc7896c
RM
37362009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3737
3738 * po/ChangeLog: Remove. Move relevant entries back to ...
3739 * ChangeLog: ... here.
3740 * po/ca.po: Remove (now handled by TLP).
3741 * po/id.po: Likewise.
3742 * po/zh_CN.po: Likewise.
3743 * Makefile.in (LINGUAS): Initialize in a way that supports
3744 empty set.
3745
9ed4841d
RM
37462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3747
3748 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3749 reliing on po/LINGUAS.
3750 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3751 (po/%.po): ... this.
3752
0ad46fd7 37532009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
3754
3755 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3756 (main): Use `program_name' instead of nonexistent `progname'.
3757
e30dd392
FZ
37582009-11-26 Felix Zielcke <fzielcke@z-51.de>
3759
3760 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3761 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3762
7656de4f
RM
37632009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3764
3765 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3766 commit.
3767 * conf/i386-efi.rmk: Likewise.
3768 * conf/i386-ieee1275.rmk: Likewise.
3769 * conf/powerpc-ieee1275.rmk: Likewise.
3770 * conf/sparc64-ieee1275.rmk: Likewise.
3771 * conf/x86_64-efi.rmk: Likewise.
3772
db77c4d4
FZ
37732009-11-26 Felix Zielcke <fzielcke@z-51.de>
3774
3775 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3776
a755bb04
FZ
37772009-11-26 Felix Zielcke <fzielcke@z-51.de>
3778
3779 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3780
8a4c07fd
RM
37812009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3782
3783 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
3784 (grub_mkdevicemap_SOURCES): New variable.
3785 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
3786 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
3787 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
3788 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
3789 (grub_mkdevicemap_SOURCES): Remove.
3790 * conf/i386-efi.rmk: Likewise.
3791 * conf/i386-ieee1275.rmk: Likewise.
3792 * conf/i386-pc.rmk: Likewise.
3793 * conf/powerpc-ieee1275.rmk: Likewise.
3794 * conf/sparc64-ieee1275.rmk: Likewise.
3795 * conf/x86_64-efi.rmk: Likewise.
3796 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
3797 (usage): Fix strings to use `program_name'.
3798 (main): Initialize gettext.
3799 * util/grub-editenv.c: Likewise.
3800 * util/grub-emu.c: Likewise.
3801 * util/grub-fstest.c: Likewise.
3802 * util/grub-mkdevicemap.c: Likewise.
3803 * util/grub-mkfont.c: Likewise.
3804 * util/grub-mkrelpath.c: Likewise.
3805 * util/grub-pe2elf.c: Likewise.
3806 * util/grub-probe.c: Likewise.
3807 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3808 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3809 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3810
3811 * util/misc.c: Include `"progname.h"'.
3812 (progname): Remove variable.
3813 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3814
6f61ed55
FZ
38152009-11-25 Felix Zielcke <fzielcke@z-51.de>
3816
3817 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3818 printf and print a newline after the menuentry header line.
3819 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3820
f022876b
FZ
38212009-11-25 Felix Zielcke <fzielcke@z-51.de>
3822
3823 autoconf >= 2.60 support $(localedir).
3824
3825 * INSTALL: Note that autoconf 2.60 is required.
3826 * configure.ac (AC_PREREQ): Bump to 2.60.
3827 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3828 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3829
6717926e
YB
38302009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3831
3832 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3833 aclocal is run.
3834
08806a54
RM
38352009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3836
3837 * normal/main.c (grub_normal_read_line): Fix off-by-one
3838 buffer overflow.
3839
13b33fba
RM
38402009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3841
3842 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3843 "parser.grub" in grub_command_execute() call.
3844
4a8572e9
CPE
38452009-11-24 Carles Pina i Estany <carles@pina.cat>
3846
3847 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3848 * conf/i386-efi.rmk: Likewise.
3849 * conf/i386-ieee1275.rmk: Likewise.
3850 * conf/i386-pc.rmk: Likewise.
3851 * conf/powerpc-ieee1275.rmk: Likewise.
3852 * conf/sparc64-ieee1275.rmk: Likewise.
3853 * conf/x86_64-efi.rmk: Likewise.
3854 * gettext/gettex.c: Include <grub/i18n.h>.
3855 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3856 here ...
3857 * include/grub/i18n.h: ... to here
3858 * include/grub/i18n.h: ... to here.
3859 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 3860 (grub_gettext_dummy): Move above user.
4a8572e9 3861
bee48093
FZ
38622009-11-24 Felix Zielcke <fzielcke@z-51.de>
3863
3864 * util/Makefile.in (install-local): Convert a `for' into a normal
3865 shell expansion.
3866
a031e91c
RM
38672009-11-24 Robert Millan <rmh.grub@aybabtu.com>
3868
3869 * autogen.sh: Add automake call.
3870 * config.guess: Remove.
3871 * config.sub: Likewise.
3872 * install-sh: Likewise.
3873
26bec39d
FZ
38742009-11-24 Felix Zielcke <fzielcke@z-51.de>
3875
3876 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
3877
8e2532fd
FZ
38782009-11-24 Felix Zielcke <fzielcke@z-51.de>
3879
3880 * util/Makefile.in (install-local): Convert a make `$(foreach)'
3881 function to a normal shell `for'.
3882
fefa1b7d
FZ
38832009-11-24 Felix Zielcke <fzielcke@z-51.de>
3884
3885 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3886
4501250b
FZ
38872009-11-24 Felix Zielcke <fzielcke@z-51.de>
3888
3889 * util/grub-mkrelpath.c: New file.
3890 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
3891 (grub_mkrelpath_SOURCES): New variable.
3892 * include/grub/util/misc.h: New function prototype.
3893 * util/misc.c (make_system_path_relative_to_its_root): New function.
3894
3895 * util/grub-mkconfig_lib.in (bindir): New variable.
3896 (grub_mkrelpath): Likewise.
3897 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
3898
3899 * util/probe.c (probe): Make the file path relative to its root.
3900 Change a info message to use the GRUB path. Enable again the
3901 check if we can read the file with GRUB facilities.
3902
3903 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
3904 to its root.
3905
11d9778b
FZ
39062009-11-24 Felix Zielcke <fzielcke@z-51.de>
3907
3908 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
3909 platform.
3910
4465287d
FZ
39112009-11-24 Felix Zielcke <fzielcke@z-51.de>
3912
3913 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
3914 strncmp().
3915
62b47f22
FZ
39162009-11-24 Felix Zielcke <fzielcke@z-51.de>
3917
3918 * util/getroot.c (grub_util_is_dmraid): New function.
3919 (grub_util_get_dev_abstraction): Treat dmraid and multipath
3920 devices as normal ones, not as LVM.
3921
1eafb9b9 39222009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
3923
3924 * conf/common.rmk: Add grub-gettext_lib target and updates
3925 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
3926 LDFLAGS.
3927 * gettext/gettext.c: New file. (Reads mo files).
3928 * include/grub/file.h (grub_file_pread): New prototype.
3929 * include/grub/i18n.h (_): New prototype.
3930 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
3931 prototypes.
3932 * kern/misc.c (grub_gettext_dummy): New function.
3933 * normal/menu_text.c: Include <grub/i18n.h>.
3934 * normal/menu_text.c (print_timeout): Gettexttize string.
3935 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
3936 * po/POTFILES: Add `normal/menu_text.c'.
3937 * po/ca.po: Add new translations.
c3ea6bd4
CPE
3938 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
3939 gettext module and defines locale_dir and lang in grub.cfg.
3940 * NEWS: Add gettext support.
3941
0fdb2568
RM
39422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3943
3944 * util/hostdisk.c: Include `<grub/i18n.h>'.
3945 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
3946 (make_device_name): Rewrite using asprintf.
3947 (convert_system_partition_to_system_disk): Replace 0 with NULL.
3948 (find_system_device): If a device is not found, generate one just
3949 by reusing the OS path name.
3950 (read_device_map): Make it permissible for device.map not to exist.
3951
f515aa62
RM
39522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3953
3954 * script/sh/execute.c: Move from here ...
3955 * script/execute.c: ... to here. Update all users.
3956 * script/sh/function.c: Move from here ...
3957 * script/function.c: ... to here. Update all users.
3958 * script/sh/lexer.c: Move from here ...
3959 * script/lexer.c: ... to here. Update all users.
3960 * script/sh/main.c: Move from here ...
3961 * script/main.c: ... to here. Update all users.
3962 * script/sh/parser.y: Move from here ...
3963 * script/parser.y: ... to here. Update all users.
3964 * script/sh/script.c: Move from here ...
3965 * script/script.c: ... to here. Update all users.
3966
f84b481b
RM
39672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3968
3969 * configure.ac: Detect all `emu' platforms. Define
3970 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
3971 --enable-grub-emu logic. Disable include/grub/machine
3972 symlink on `emu' platforms.
3973
3974 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
3975 * gensymlist.sh.in: Likewise.
3976
3977 * include/grub/i386/coreboot/machine.h: Remove file.
3978 * include/grub/i386/efi/machine.h: Likewise.
3979 * include/grub/i386/ieee1275/machine.h: Likewise.
3980 * include/grub/i386/pc/machine.h: Likewise.
3981 * include/grub/i386/qemu/machine.h: Likewise.
3982 * include/grub/powerpc/ieee1275/machine.h: Likewise.
3983 * include/grub/sparc64/ieee1275/machine.h: Likewise.
3984 * include/grub/x86_64/efi/machine.h: Likewise.
3985
3986 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
3987 * commands/halt.c: Likewise.
3988 * commands/reboot.c: Likewise.
3989 * include/grub/autoefi.h: Likewise.
3990 * include/grub/i386/at_keyboard.h: Likewise.
3991 * include/grub/i386/kernel.h: Likewise.
3992 * include/grub/i386/loader.h: Likewise.
3993 * include/grub/i386/pc/memory.h: Likewise.
3994 * kern/dl.c: Likewise.
3995 * kern/i386/coreboot/init.c: Likewise.
3996 * loader/i386/bsd.c: Likewise.
3997 * loader/i386/linux.c: Likewise.
3998 * loader/multiboot_loader.c: Likewise.
3999 * term/i386/pc/serial.c: Likewise.
4000 * term/usb_keyboard.c: Likewise.
4001
4002 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4003 `<grub/machine/machine.h>'
4004 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4005 * util/misc.c: Remove `<grub/machine/machine.h>' and
4006 `<grub/machine/time.h>'.
4007
4008 * Makefile.in (enable_grub_emu): Remove variable.
4009 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4010
4011 * conf/any-emu.rmk: New file.
4012 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4013 (grub_emu_init.c): Move from here ...
4014 * conf/any-emu.rmk: ... to here.
4015
4016 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4017 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4018 * conf/any-emu.rmk: ... to here.
4019
4efeab03
RM
40202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4021
4022 * include/grub/parser.h (grub_parser_register): Document need
4023 of `name' parameter.
4024 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4025 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4026 "sh" to "grub".
4027
ea1dd8bf
RM
40282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4029
4030 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4031 `$(XGETTEXT)'.
4032 * include/grub/i18n.h (N_): New macro.
4033 * util/mkisofs/mkisofs.h: Likewise.
4034 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4035 around N_().
4036 (usage): Use gettext() to translate help strings when printing them.
4037
0c140626
RM
40382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4039
4040 Based on patch from Bean
4041 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4042
4043 * video/efi_fb.c: New file.
4044 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4045 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4046 variables.
4047 * conf/x86_64-efi.rmk: Likewise.
4048
87d58298
RM
40492009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4050
4051 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4052 * util/i386/pc/grub-setup.c: Likewise.
4053
994cc3a3
ST
40542009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4055
4056 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4057 <hurd/fs.h>
4058 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4059 file_get_storage_info to implement grub_guess_root_device.
4060
26a61d6a
FZ
40612009-11-21 Felix Zielcke <fzielcke@z-51.de>
4062
4063 * Makefile.in (target): Use make's builtin $(shell) function
4064 instead of calling directly $(SHELL) to create the locale directories,
4065 inside the $(foreach) function.
4066
74ff1dd5
FZ
40672009-11-21 Felix Zielcke <fzielcke@z-51.de>
4068
4069 * util/grub-mkrescue.in: Print an error and usage if output option
4070 has not been given.
4071
0b787d0e
FZ
40722009-11-21 Felix Zielcke <fzielcke@z-51.de>
4073
4074 Patch from Loïc Minier <loic.minier@ubuntu.com>.
4075 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4076 root and /boot are on different devices.
4077
1164b270
RM
40782009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4079
4080 Fix build for srcdir != objdir.
4081
4082 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4083 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4084 $(srcdir).
4085 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4086 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4087 reference for input.
4088
13774a2f
RM
40892009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4090
4091 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4092 or hardlinking it). Remove -J option, Joliet is not compatible with
4093 multiple source directories.
4094
efda854e
RM
40952009-11-21 Carles Pina i Estany <carles@pina.cat>
40962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4097
4098 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4099 (process_input_dir): New function. Process an arbitrary input
4100 directory.
4101 Misc adjustments to support both "override mode" and system-wide mode.
4102
6c09890c
FZ
41032009-11-20 Felix Zielcke <fzielcke@z-51.de>
4104
4105 * configure.ac (UNIFONT_BDF): Rename to ...
4106 (FONT_SOURCE): ... this. Update all users.
4107
a797824f
FZ
41082009-11-20 Felix Zielcke <fzielcke@z-51.de>
4109
4110 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4111 to the list of unifont files to look for.
4112
cd4f42b0
RM
41132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4114
4115 Patch from Joe Auricchio <jauricchio@gmail.com>
4116 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4117 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4118 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4119
393c783d
FZ
41202009-11-19 Felix Zielcke <fzielcke@z-51.de>
4121
4122 * Makefile.in (install-local): Add a missing backslash.
4123
b2f1e327
FZ
41242009-11-19 Felix Zielcke <fzielcke@z-51.de>
4125
4126 * include/grub/x86_64/io.h: New file.
4127
f577f7a0
RM
41282009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4129
4130 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4131 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4132 Include `"progname.h"'.
4133 (main): Initialize gettext.
4134 * util/i386/pc/grub-setup.c: Gettexttize.
4135 * util/i386/pc/grub-mkimage.c: Likewise.
4136
4137 * Makefile.in (po/*.po): Redefine as ...
4138 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4139
3bc7896c
RM
4140 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4141
c37943b6
RM
41422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4143
4144 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4145 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4146 (program_name): Remove.
4147 (main): Initialize gettext support.
6323f705
RM
4148 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4149 Include `<libintl.h>'.
4150 (_): New macro.
c37943b6
RM
4151
4152 * util/mkisofs/eltorito.c: Gettexttize.
4153 * util/mkisofs/joliet.c: Likewise.
4154 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4155 * util/mkisofs/multi.c: Likewise.
4156 * util/mkisofs/rock.c: Likewise.
4157 * util/mkisofs/tree.c: Likewise.
4158 * util/mkisofs/write.c: Likewise.
4159
3bc7896c
RM
4160 * po/POTFILES: Update with new files.
4161
5ce77c6e
RM
41622009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4163
4164 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4165 * util/mkisofs/iso9660.h: Likewise.
4166 * util/mkisofs/joliet.c: Likewise.
4167 * util/mkisofs/mkisofs.c: Likewise.
4168 * util/mkisofs/mkisofs.h: Likewise.
4169 * util/mkisofs/rock.c: Likewise.
4170 * util/mkisofs/tree.c: Likewise.
4171 * util/mkisofs/write.c: Likewise.
4172
4173 * util/mkisofs/eltorito.c (rcsid): Remove.
4174 * util/mkisofs/hash.c: Likewise.
4175 * util/mkisofs/joliet.c: Likewise.
4176 * util/mkisofs/name.c: Likewise.
4177 * util/mkisofs/rock.c: Likewise.
4178 * util/mkisofs/tree.c: Likewise.
4179 * util/mkisofs/write.c: Likewise.
4180
1dabbc77
RM
41812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4182
4183 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4184 instead of static allocation.
4185 * util/mkisofs/match.h: Likewise.
4186
633877cb
RM
41872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4188
3bc7896c
RM
4189 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4190 and `util/grub.d/10_linux.in'.
633877cb
RM
4191 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4192 translatable Shell files.
4193
af1c0c85
RM
41942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4195
4196 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4197
769ae37b
RM
41982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4199
4200 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4201 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4202 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4203 Add gettext initialization.
4204 (kfreebsd_entry): Make menuentry output translatable.
4205
42062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4207
4208 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4209 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4210 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4211 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4212 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4213 * po/LINGUAS: New file.
769ae37b
RM
4214
42152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4216
4217 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4218 other things).
4219 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4220 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4221 bindtextdomain() calls for gettext initialization.
4222
42232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4224
4225 * gnulib/progname.c: New file (imported from Gnulib).
4226 * gnulib/progname.h: Likewise.
4227 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4228 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4229 (usage): Replace `progname' with `program_name'.
4230 (main): Use set_program_name() for program name initialization.
4231
42322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4233
4234 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4235 from here ...
4236 * Makefile.in (CPPFLAGS): ... to here.
4237
42382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4239
4240 * aclocal.m4: Move from here ...
4241 * acinclude.m4: ... to here.
4242 * autogen.sh: Add call to `aclocal'.
4243 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4244
42452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4246
4247 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4248 (LINGUAS): New variable.
4249 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4250 (install-local): Install MO files.
4251 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4252 * include/grub/i18n.h: New file.
3bc7896c
RM
4253 * po/POTFILES: New file.
4254 * po/ca.po: New file.
769ae37b
RM
4255 * util/grub.d/10_linux.in (bindir): New variable.
4256 Add gettext initialization.
4257 (linux_entry): Make menuentry output translatable.
4258 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4259 (usage): Make --help output translatable.
4260 (main): Initialize gettext.
4261
02c0a6ad
RM
42622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4263
4264 * import_gcry.py: New file (written by Vladimir with minor
4265 adjustments).
4266 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4267 ciphers.
4268 * INSTALL: Document that Python is required for bootstrap.
4269
42702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4271
4272 Import ciphers from libgcrypt 1.4.4.
4273
4274 * lib/libgcrypt/cipher/ChangeLog
4275 * lib/libgcrypt/cipher/ac.c
4276 * lib/libgcrypt/cipher/arcfour.c
4277 * lib/libgcrypt/cipher/bithelp.h
4278 * lib/libgcrypt/cipher/blowfish.c
4279 * lib/libgcrypt/cipher/camellia-glue.c
4280 * lib/libgcrypt/cipher/camellia.c
4281 * lib/libgcrypt/cipher/camellia.h
4282 * lib/libgcrypt/cipher/cast5.c
4283 * lib/libgcrypt/cipher/cipher.c
4284 * lib/libgcrypt/cipher/crc.c
4285 * lib/libgcrypt/cipher/des.c
4286 * lib/libgcrypt/cipher/dsa.c
4287 * lib/libgcrypt/cipher/ecc.c
4288 * lib/libgcrypt/cipher/elgamal.c
4289 * lib/libgcrypt/cipher/hash-common.c
4290 * lib/libgcrypt/cipher/hash-common.h
4291 * lib/libgcrypt/cipher/hmac-tests.c
4292 * lib/libgcrypt/cipher/md.c
4293 * lib/libgcrypt/cipher/md4.c
4294 * lib/libgcrypt/cipher/md5.c
4295 * lib/libgcrypt/cipher/primegen.c
4296 * lib/libgcrypt/cipher/pubkey.c
4297 * lib/libgcrypt/cipher/rfc2268.c
4298 * lib/libgcrypt/cipher/rijndael-tables.h
4299 * lib/libgcrypt/cipher/rijndael.c
4300 * lib/libgcrypt/cipher/rmd.h
4301 * lib/libgcrypt/cipher/rmd160.c
4302 * lib/libgcrypt/cipher/rsa.c
4303 * lib/libgcrypt/cipher/seed.c
4304 * lib/libgcrypt/cipher/serpent.c
4305 * lib/libgcrypt/cipher/sha1.c
4306 * lib/libgcrypt/cipher/sha256.c
4307 * lib/libgcrypt/cipher/sha512.c
4308 * lib/libgcrypt/cipher/tiger.c
4309 * lib/libgcrypt/cipher/twofish.c
4310 * lib/libgcrypt/cipher/whirlpool.c
4311
af2f93ac
RM
43122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4313
4314 Fix build for systems without error().
4315
4316 * gnulib/error.c: New file (imported from Gnulib).
4317 * gnulib/error.h: Likewise.
4318 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4319 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
4320 (this variable is now used by error()).
4321
73fb3dd5
FZ
43222009-11-16 Felix Zielcke <fzielcke@z-51.de>
4323
814f5e96
FZ
4324 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
4325 instead of relying that char is signed.
73fb3dd5 4326
a691ca33
VS
43272009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
4330 blocksize different from specified.
4331 (grub_pxefs_read): Likewise.
4332
2af8f0f4
FZ
43332009-11-16 Felix Zielcke <fzielcke@z-51.de>
4334
4335 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
4336
4337 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4338 (grub_ata_readwrite): Likewise. Update 2 format strings.
4339 (grub_atapi_read): Likewise.
4340
4341 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
4342 * conf/i386.rmk (pkglib_MODULES): ... to here ...
4343 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
4344 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
4345 (ata_mod_LDFLAGS): Move from here ...
4346 * conf/i386.rmk: ... to here ...
4347 * conf/x86_64-efi.rmk: ... and here.
4348 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
4349 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
4350
83bdecaf
RM
43512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4352
4353 Relicense multiboot.h, with RMS' blessing.
4354
4355 * include/multiboot.h: Change to X11 license.
4356
fd6fd3d7
RM
43572009-11-15 Robert Millan <rmh.grub@aybabtu.com>
4358
4359 Support --version in grub-mkisofs.
4360
4361 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
4362 (OPTION_VERSION): New macro.
4363 (ld_options): Recognize --version.
4364 (usage): Move `program_name' from here ...
4365 (program_name): ... to here. Add `static' qualifier.
4366 (main): Recognize `OPTION_VERSION'.
4367
16a88c49
FZ
43682009-11-15 Felix Zielcke <fzielcke@z-51.de>
4369
4370 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
4371 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
4372
a4158476
RM
43732009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4374
4375 Fix help2man generation for mkisofs.
4376
4377 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
4378 (usage): Send output to stdout (rather than stderr).
4379
fc2208b0
RM
43802009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4381
4382 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
4383 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4384 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
4385 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4386 (bin_SCRIPTS): Add `grub-mkfloppy'.
4387 (grub_mkfloppy_SOURCES): New variable.
4388
4389 * util/grub-mkrescue.in: New file.
4390 * util/i386/pc/grub-mkfloppy.in: New file.
4391
4392 * util/i386/coreboot/grub-mkrescue.in: Remove.
4393 * util/i386/pc/grub-mkrescue.in: Remove.
4394
8d0edf4a
RM
43952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4396
4397 * include/grub/multiboot.h (struct grub_multiboot_header): Move
4398 from here ...
4399 * include/multiboot.h (struct multiboot_header): ... to here. Update
4400 all users.
4401 * include/grub/multiboot.h (struct grub_multiboot_info): Move
4402 from here ...
4403 * include/multiboot.h (struct multiboot_info): ... to here. Update
4404 all users.
4405 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
4406 from here ...
4407 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
4408 Update all users.
4409 * include/grub/multiboot.h (struct grub_mod_list): Move
4410 from here ...
4411 * include/multiboot.h (struct multiboot_mod_list): ... to here.
4412 Update all users.
4413
a73f5969
RM
44142009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4415
4416 * include/multiboot2.h (multiboot_word): Rename from this ...
4417 (multiboot2_word): ... to this. Update all users.
4418 (multiboot_header): Rename from this ...
4419 (multiboot2_header): ... to this. Update all users.
4420 (multiboot_tag_header): Rename from this ...
4421 (multiboot2_tag_header): ... to this. Update all users.
4422 (multiboot_tag_start): Rename from this ...
4423 (multiboot2_tag_start): ... to this. Update all users.
4424 (multiboot_tag_name): Rename from this ...
4425 (multiboot2_tag_name): ... to this. Update all users.
4426 (multiboot_tag_module): Rename from this ...
4427 (multiboot2_tag_module): ... to this. Update all users.
4428 (multiboot_tag_memory): Rename from this ...
4429 (multiboot2_tag_memory): ... to this. Update all users.
4430 (multiboot_tag_unused): Rename from this ...
4431 (multiboot2_tag_unused): ... to this. Update all users.
4432 (multiboot_tag_end): Rename from this ...
4433 (multiboot2_tag_end): ... to this. Update all users.
4434
1c8927f0
RM
44352009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4436
4437 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
4438 this platform we should support Multiboot1 first.
4439
4440 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4441 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
4442 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
4443
6e1e0d89
RM
44442009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4445
4446 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
4447 of write calls (converting them to fwrite() if they aren't already).
4448 (get_torito_desc): Likewise.
4449 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
4450
7f2b34d8
RM
44512009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4452
4453 * util/i386/pc/grub-install.in: Move from here ...
4454 * util/grub-install.in: ... to here. Update all users.
4455
c0ef3311
CW
44562009-11-11 Colin Watson <cjwatson@ubuntu.com>
4457
4458 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
4459
e1f240ff
RM
44602009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4461
4462 Support for El Torito without floppy emulation.
4463
4464 * util/mkisofs/eltorito.c: Include `<errno.h>'.
4465 (init_boot_catalog): Improve error handling.
4466 (get_torito_desc): Don't use floppy emulation unless requested by
4467 user. Patch boot information table when requested via
4468 `-boot-info-table'.
4469 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
4470 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
4471 (use_boot_info_table): New variables.
4472 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
4473 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
4474 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
4475 `--eltorito-emul-floppy'.
4476 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
4477 and `OPTION_ELTORITO_EMUL_FLOPPY'.
4478 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
4479 (use_boot_info_table, get_731): New prototypes.
4480 * util/mkisofs/write.c (get_731): New function.
4481
af7d4de5
FZ
44822009-11-11 Felix Zielcke <fzielcke@z-51.de>
4483
4484 Fix the generation of the man page.
4485
4486 * util/pc/i386/grub-install.in: Source
4487 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4488
2c55dbc0
RM
44892009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4490
4491 Large file support for grub-mkisofs.
4492
4493 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
4494 * util/mkisofs/mkisofs.c (next_extent, last_extent)
4495 (session_start): Upgrade type to `uint64_t'. Update all users.
4496 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
4497 (struct directory_entry): Upgrade type of `starting_block' and
4498 `size' to `uint64_t'. Update all users.
4499 (struct deferred): Remove unused structure.
4500 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
4501 Update all users.
4502 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
4503 file is larger than `UINT32_MAX'.
4504 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
4505 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
4506 return value.
4507 (struct deferred_write): Upgrade type of `extent' and `size' to
4508 `uint64_t'. Update all users.
4509 (last_extent_written): Upgrade type to `uint64_t'. Update all
4510 users.
4511 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
4512 Update all users. Upgrade type of `remain' to `int64_t' and
4513 `use' to `size_t'. Use error() to handle fread() errors.
4514 (write_files): Rely on write_one_file() rather than calling
4515 xfwrite() directly.
4516
6a9cead5
FZ
45172009-11-09 Felix Zielcke <fzielcke@z-51.de>
4518
4519 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
4520
4825d790
RM
45212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4522
4523 * util/mkisofs/fnmatch.c: Remove.
4524 * util/mkisofs/getopt1.c: Likewise.
4525 * util/mkisofs/getopt.c: Likewise.
4526 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
4527 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
4528 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
4529 `gnulib/getopt1.c' and `gnulib/getopt.c'.
4530 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
4531
4532 * configure.ac: Detect `mingw32msvc' host_os.
4533 Check for lstat(), getuid() and getgid().
4534
4535 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
4536 instances of `u_char' with `uint8_t'.
4537
4538 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
4539 [!HAVE_GETUID] (getuid): New function (stub).
4540 [!HAVE_GETGID] (getgid): Likewise.
4541 [!HAVE_LSTAT] (lstat): Likewise.
4542 [!S_IROTH] (S_IROTH): New macro (dummy).
4543 [!S_IRGRP] (S_IRGRP): Likewise.
4544
84b860d8
RM
45452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4546
4547 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
4548 conditional expression).
4549
66e9b712
RM
45502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4551
4552 Import from Gnulib.
4553
4554 * gnulib/fnmatch.c: New file.
4555 * gnulib/fnmatch.h: Likewise.
4556 * gnulib/fnmatch_loop.c: Likewise.
4557 * gnulib/getopt.c: Likewise.
4558 * gnulib/getopt.h: Likewise.
4559 * gnulib/getopt1.c: Likewise.
4560 * gnulib/getopt_int.h: Likewise.
4561 * gnulib/gettext.h: Likewise.
4562
34f4a5b0
RM
45632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4564
4565 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
4566 * normal/handler.c (read_handler_list): Likewise.
4567
ac451143
RM
45682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4569
4570 Misc cleanup.
4571
4572 * kern/command.c (grub_register_command_prio): Use
4573 grub_zalloc() instead of explicitly zeroing data.
4574 * kern/list.c: Include `<grub/mm.h>'.
4575 (grub_named_list_find): Replace `0' with `NULL'.
4576 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
4577 (fs_module_list): Change type to `grub_named_list_t'. Update all
4578 users.
4579 * normal/dyncmd.c (read_command_list): Add space between function
4580 call and parenthesis.
4581 * normal/handler.c (read_handler_list): Likewise.
4582
4089b167
RM
45832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4584
4585 * normal/auth.c (punishment_delay): Moved from here ...
4586 (grub_auth_strcmp): ... to here (inside function).
4587
325f5037
RM
45882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4589
4590 * include/grub/list.h (struct grub_named_list): Remove `const'
4591 qualifier from `name'.
4592 (struct grub_prio_list): Likewise.
4593
7aea29a3
RM
45942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4595
4596 * normal/auth.c: Include `<grub/time.h>'.
4597 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
4598
3fd6f044
RM
45992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4600
4601 * normal/auth.c (punishment_delay): New variable.
4602 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
4603 (grub_auth_check_authentication): Punish failed login attempts with
4604 an incremental (2^N) delay.
4605
a4cd68e4
RM
46062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4607
4608 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
4609 path with $(srcdir).
4610
7ad12f43
VS
46112009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4614
c1129f03
RM
46152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4616
4617 * util/i386/coreboot/grub-mkrescue.in: New file.
4618 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4619 variables.
4620
4621 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4622 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4623 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4624 requirements.
4625 * util/mkisofs/defaults.h: New file.
4626 * util/mkisofs/eltorito.c: Likewise.
4627 * util/mkisofs/exclude.h: Likewise.
4628 * util/mkisofs/fnmatch.c: Likewise.
4629 * util/mkisofs/getopt.c: Likewise.
4630 * util/mkisofs/getopt1.c: Likewise.
4631 * util/mkisofs/hash.c: Likewise.
4632 * util/mkisofs/include/fctldefs.h: Likewise.
4633 * util/mkisofs/include/mconfig.h: Likewise.
4634 * util/mkisofs/include/prototyp.h: Likewise.
4635 * util/mkisofs/include/statdefs.h: Likewise.
4636 * util/mkisofs/iso9660.h: Likewise.
4637 * util/mkisofs/joliet.c: Likewise.
4638 * util/mkisofs/match.c: Likewise.
4639 * util/mkisofs/match.h: Likewise.
4640 * util/mkisofs/mkisofs.c: Likewise.
4641 * util/mkisofs/mkisofs.h: Likewise.
4642 * util/mkisofs/multi.c: Likewise.
4643 * util/mkisofs/name.c: Likewise.
4644 * util/mkisofs/rock.c: Likewise.
4645 * util/mkisofs/tree.c: Likewise.
4646 * util/mkisofs/write.c: Likewise.
4647
ec8bb77d
VS
46482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4651 being insecure.
4652
3716b12c
RM
46532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4654
4655 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4656 `grub-mkimage' (and use $0 when possible).
4657
b97b7b91
RM
46582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4659
4660 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4661 error message for excessively large memory map.
4662
04114812
RM
46632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4664
4665 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4666 executable bit.
4667
e4eb2373
RM
46682009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4669
4670 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4671 message for coreboot users.
4672
c926e1d5 46732009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4674
4675 Fix build with GNU gold.
4676
4677 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4678 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4679 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4680 link addresses.
4681 * aclocal.m4: Likewise.
4682
86e5b1db 46832009-11-04 Felix Zielcke <fzielcke@z-51.de>
4684
4685 * configure.ac (AC_PREREQ): Bump to 2.59d.
4686 * INSTALL: Make it more clear when Autoconf and Ruby are
4687 needed and when to run `./autogen.sh'.
4688
246cd78f 46892009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4690
4691 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4692 OSes.
4693
4f9dfb37 46942009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4695
4696 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4697
b82bd5e1 46982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4699
4700 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4701 giving it to GNU Mach.
4702
ff1a9bca 47032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4704
4705 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4706 GNU partition number to get internal GRUB partition number.
4707
61697d9c 47082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4709
4710 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4711 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4712
a50569e1 47132009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4714
4715 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4716 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4717 case.
4718
5b153867 47192009-11-01 Felix Zielcke <fzielcke@z-51.de>
4720
4721 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4722
d9e2cd70 47232009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4724
4725 Fix build problem.
4726
4727 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4728 `-isystem=$(srcdir)/include'.
4729
805111a4 47302009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4731
4732 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4733 checked (grub-install doesn't currently rely on it).
4734
fa6e945f 47352009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4736
4737 Revert SVN r2660.
4738
4739 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4740 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4741 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4742 * conf/i386-ieee1275.rmk: Likewise.
4743 * conf/i386-pc.rmk: Likewise.
4744 * conf/powerpc-ieee1275.rmk: Likewise.
4745 * conf/sparc64-ieee1275.rmk: Likewise.
4746 * conf/x86_64-efi.rmk: Likewise.
4747
cee15086 47482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4749
4750 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4751
95b9239e 47522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4753
4754 * include/grub/misc.h: Stop checking for APPLE_CC.
4755
2ed19dfd 47562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4757
4758 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4759 doesn't cause an infinite call loop.
4760
fdcdde19 47612009-10-28 Felix Zielcke <fzielcke@z-51.de>
4762
4763 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4764 strings.
4765
cefabfe1 47662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4767
4768 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4769 variable.
4770 * Makefile.in: Likewise.
4771
ed96ab6d 47722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4773
4774 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4775
0579b753 47762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4777
4778 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4779
478df409 47802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4781
4782 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
4783
083d1679 47842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4785
4786 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
4787 from here ...
4788 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
4789
5947ae32 47902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4791
4792 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
4793 in $(MAKEINFO) invocation. This makes it clear in output that
4794 errors are being ignored.
4795
94180ff6 47962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4797
4798 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
4799 from here ...
4800 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4801 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4802 * conf/i386-ieee1275.rmk: Likewise.
4803 * conf/i386-pc.rmk: Likewise.
4804 * conf/powerpc-ieee1275.rmk: Likewise.
4805 * conf/sparc64-ieee1275.rmk: Likewise.
4806 * conf/x86_64-efi.rmk: Likewise.
4807
9031b03a 48082009-10-26 Colin Watson <cjwatson@ubuntu.com>
4809
4810 * util/grub-editenv.c (main): If only a command is given, use
4811 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4812 (usage): FILENAME is now optional and has a default.
4813
e4f6809b 48142009-10-26 Colin Watson <cjwatson@ubuntu.com>
4815
4816 Improve grub-mkconfig performance when there are several menu
4817 entries on a single filesystem.
4818
4819 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4820 prepare_grub_to_access_device.
4821 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4822 * util/grub.d/30_os-prober.in: Likewise.
4823
67937d4d 48242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4825
4826 * util/grub.d/10_freebsd.in: Remove.
4827 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4828 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4829
ee3756cc 48302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4831
5c35048e 4832 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4833
4dea1c6f 48342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4835
4836 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4837 grub_util_error() call.
4838
042484d7 48392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4840
4841 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4842 `reserved_first_sector' member.
4843 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4844 `reserved_first_sector' to 1.
4845 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4846 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4847 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4848 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4849 filesystems which begin at first sector.
4850 (options): New option --skip-fs-probe.
4851 (main): Handle --skip-fs-probe and pass it to setup().
4852
d64448a7 48532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4854
4855 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4856 (memset): Fix function prototype.
4857
508d42ec 48582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
48592009-10-25 Vasily Averin <vvs@parallels.com>
4860
4861 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
4862 `dirent.direntlen == 0'.
4863
b240e30c 48642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4865
4866 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
4867 `cpio'.
4868 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
4869
346e7fbe 48702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4871
4872 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
4873 `__trampoline_setup' and `__ucmpdi2'.
4874 * include/grub/powerpc/libgcc.h: Only export symbols for functions
4875 that libgcc provides.
4876
cdb308b0 48772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4878
4879 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
4880 * include/grub/sparc64/libgcc.h (memset): Likewise.
4881 * include/grub/misc.h (memset, memcmp): New function prototypes.
4882
fb26abc2 48832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4884
4885 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
4886 `cpio'.
4887 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
4888
f6693890 48892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4890
4891 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
4892 * docs/grub.cfg: Compensate for recent change in multiboot
4893 loader (since 2009-08-14 it won't pass filename to payload).
4894 * util/grub.d/10_hurd.in: Likewise.
4895
0933cdc0 48962009-10-21 Felix Zielcke <fzielcke@z-51.de>
4897
4898 * config.guess: Update to latest version from config git
4899 repository.
4900 * config.sub: Likewise.
4901
3b2fe8c2 49022009-10-20 Robert Millan <rmh.grub@aybabtu.com>
4903
4904 Fix build on sparc64.
4905
4906 * configure.ac: Perform checks for libgcc symbols before
4907 adding `-nostdlib' to LDFLAGS.
4908
46695a62 49092009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Let user specify OpenBSD root device.
4912
4913 * loader/i386/bsd.c (openbsd_root): New variable.
4914 (openbsd_opts): New option 'root'.
4915 (OPENBSD_ROOT_ARG): New macro.
4916 (grub_openbsd_boot): Use 'openbsd_root'.
4917 (grub_cmd_openbsd): Fill 'openbsd_root'.
4918
d2b6b7fc 49192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4920
4921 * NEWS: Misc adjustments.
4922
421bd7ac 49232009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
4926
f1d29d87 49272009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4928
4929 * configure.ac: Bump version to 1.97.
4930
6f3cd880 49312009-10-16 Colin Watson <cjwatson@ubuntu.com>
4932
4933 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
4934 -mno-3dnow on x86 architectures. Some toolchains enable these
4935 features by default, but they rely on registers that aren't enabled
4936 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
4937
035f7122 49382009-10-15 Robert Millan <rmh.grub@aybabtu.com>
4939
4940 Make entry text a bit more readable.
4941
4942 * util/grub.d/10_linux.in: Add `with' before `Linux'.
4943
44998e58 49442009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
4947
cd2851b3 49482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
4951 operations.
4952
c6f3b249 49532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * configure.ac: Add missing dollar.
4956
6b5886ba 49572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
4960
4961 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
4962 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
4963 exports.
4964 * include/grub/sparc64/libgcc.h: Likewise. Use
4965 preprocessor conditionals.
4966
e9d66f6d 49672009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4968
4969 * conf/common.rmk (grub-dumpbios): Remove rule.
4970 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
4971 * util/grub-dumpbios.in: Remove file.
4972
9155bc17 49732009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4974
4975 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
4976 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
4977
4978 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
4979 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
4980 users.
4981
4982 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
4983 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
4984 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
4985 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
4986 users.
4987
bf7f7a18 49882009-10-12 Robert Millan <rmh.grub@aybabtu.com>
4989
4990 * term/tparm.c: Switch to GPLv3.
4991
86564c26 49922009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4993
4994 * include/grub/i386/cpuid.h: Add header protection.
4995
5c936493 49962009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4997
4998 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4999
5000 * include/grub/i386/cpuid.h: New file.
5001 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5002 (has_longmode): Rename to ...
5003 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5004 `static' attribute.
5005 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5006 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5007 on a CPU that doesn't implement AMD64 instruction set.
5008
186e7cf2 50092009-10-06 Colin Watson <cjwatson@ubuntu.com>
5010
5011 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5012 that version.texi is rebuilt on version number changes.
5013
83b65c4a 50142009-10-06 Colin Watson <cjwatson@ubuntu.com>
5015
5016 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5017 Fixes bug #27602.
5018
d244281c 50192009-10-06 Colin Watson <cjwatson@ubuntu.com>
5020
5021 * util/i386/pc/grub-install.in: Source
5022 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5023 that the --grub-probe option will work.
5024 * util/sparc64/ieee1275/grub-install.in: Likewise.
5025
da25306d 50262009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5027
5028 * configure.ac: Bump version to 1.97~beta4.
5029
e8ee83c0 50302009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5031
5032 Resync grub-mkdevicemap in x86_64-efi.
5033
5034 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5035 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5036 `util/devicemap.c'.
5037
50dcabcf 50382009-10-01 Colin Watson <cjwatson@ubuntu.com>
5039
5040 * util/grub-editenv.c (create_envblk_file): Write new block with a
5041 .new suffix and then rename it into place, to ensure atomic
5042 creation.
5043
0e51c3a7 50442009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5045
5046 Do not automatically install headers.
5047
5048 * Makefile.in (include_DATA): Remove. Update all users.
5049
31299a95 50502009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5051
5052 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5053 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5054
5055 * util/osdetect.lua: Remove.
5056 * script/lua/lauxlib.c: Likewise.
5057 * script/lua/ldebug.c: Likewise.
5058 * script/lua/grub_main.c: Likewise.
5059 * script/lua/lauxlib.h: Likewise.
5060 * script/lua/ldebug.h: Likewise.
5061 * script/lua/ltablib.c: Likewise.
5062 * script/lua/liolib.c: Likewise.
5063 * script/lua/lstrlib.c: Likewise.
5064 * script/lua/lualib.h: Likewise.
5065 * script/lua/ldo.c: Likewise.
5066 * script/lua/ldump.c: Likewise.
5067 * script/lua/ldo.h: Likewise.
5068 * script/lua/loslib.c: Likewise.
5069 * script/lua/lundump.c: Likewise.
5070 * script/lua/grub_lib.c: Likewise.
5071 * script/lua/ldblib.c: Likewise.
5072 * script/lua/lundump.h: Likewise.
5073 * script/lua/lmem.c: Likewise.
5074 * script/lua/grub_lib.h: Likewise.
5075 * script/lua/lmathlib.c: Likewise.
5076 * script/lua/lstate.c: Likewise.
5077 * script/lua/ltm.c: Likewise.
5078 * script/lua/lvm.c: Likewise.
5079 * script/lua/lmem.h: Likewise.
5080 * script/lua/lstate.h: Likewise.
5081 * script/lua/ltm.h: Likewise.
5082 * script/lua/ltable.c: Likewise.
5083 * script/lua/lvm.h: Likewise.
5084 * script/lua/llex.c: Likewise.
5085 * script/lua/lgc.c: Likewise.
5086 * script/lua/grub_lua.h: Likewise.
5087 * script/lua/loadlib.c: Likewise.
5088 * script/lua/lfunc.c: Likewise.
5089 * script/lua/lopcodes.c: Likewise.
5090 * script/lua/lparser.c: Likewise.
5091 * script/lua/ltable.h: Likewise.
5092 * script/lua/llex.h: Likewise.
5093 * script/lua/lgc.h: Likewise.
5094 * script/lua/lfunc.h: Likewise.
5095 * script/lua/lbaselib.c: Likewise.
5096 * script/lua/lopcodes.h: Likewise.
5097 * script/lua/lparser.h: Likewise.
5098 * script/lua/lzio.c: Likewise.
5099 * script/lua/linit.c: Likewise.
5100 * script/lua/lobject.c: Likewise.
5101 * script/lua/llimits.h: Likewise.
5102 * script/lua/lstring.c: Likewise.
5103 * script/lua/lzio.h: Likewise.
5104 * script/lua/lapi.c: Likewise.
5105 * script/lua/lcode.c: Likewise.
5106 * script/lua/lua.h: Likewise.
5107 * script/lua/lobject.h: Likewise.
5108 * script/lua/lstring.h: Likewise.
5109 * script/lua/lapi.h: Likewise.
5110 * script/lua/lcode.h: Likewise.
5111 * script/lua/luaconf.h: Likewise.
5112
cb8a2c38 51132009-09-26 Colin Watson <cjwatson@ubuntu.com>
5114
5115 * docs/grub.texi (Command-line and menu entry commands): Document
5116 date and echo commands.
5117
6b9b6276 51182009-09-24 Pavel Roskin <proski@gnu.org>
5119
5120 * include/grub/kernel.h (struct grub_module_header): Remove
5121 `grub_module_header_types'. Make `type' unsigned. Make `size'
5122 32-bit on all platforms.
5123 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5124 8-bit field. Use grub_host_to_target32() for `size'.
5125 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5126 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5127 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5128
4e5a02a7 51292009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5130
5131 Fix "lost keypress" bug in at_keyboard.
5132
5133 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5134 Checks for readyness of input buffer (without flushing it).
5135 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5136 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5137
c6dcedf6 51382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5139
5140 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5141 size check within GRUB_MACHINE_PCBIOS section.
5142
74c958b1 51432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5144
5145 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5146 return value.
5147 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5148 KEYBOARD_ISREADY check.
5149 (grub_at_keyboard_checkkey): Rename to ...
5150 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5151 Remove gratuitous cast.
5152
ff420223 51532009-09-23 Colin Watson <cjwatson@ubuntu.com>
5154
5155 * configure.ac: Call AC_PROG_MKDIR_P.
5156 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5157 version.texi in $(builddir) rather than $(srcdir).
5158 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5159 to makeinfo's @include search path.
5160
d96875df 51612009-09-23 Felix Zielcke <fzielcke@z-51.de>
5162
5163 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5164
9b3f8365 51652009-09-23 Felix Zielcke <fzielcke@z-51.de>
5166
5167 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5168 for `*.dpkg-new'.
5169
c44c90db 51702009-09-21 Colin Watson <cjwatson@ubuntu.com>
5171
5172 Build info documentation. Some code borrowed from Automake.
5173
5174 * configure.ac: Check for makeinfo.
5175 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5176 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5177 docs/version.texi.
5178 (MOSTLYCLEANFILES): Add vti.tmp.
5179 (docs/version.texi, docs/stamp-vti): Update automatically.
5180 (docs/grub.info): Build info documentation. Use --force and ignore
5181 errors for now.
5182 (all-local): Add $(INFOS).
5183 (install-local): Install info files.
5184 (uninstall): Uninstall info files.
5185 * docs/version.texi: Remove from revision control. This file is
5186 automatically generated on build now.
5187 * gendistlist.sh: Add `*.info'.
5188
e0b37bb5 51892009-09-21 Felix Zielcke <fzielcke@z-51.de>
5190
5191 * kern/term.c: Fix indentation.
5192
5a78865b 51932009-09-21 Felix Zielcke <fzielcke@z-51.de>
5194
5195 * util/hostdisk.c: Fix a comment.
5196
dace7e8a 51972009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5198
5199 Fix regression introduced in r2539.
5200
5201 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5202 to 0xA1.
5203
a83d079b 52042009-09-19 Colin Watson <cjwatson@ubuntu.com>
5205
5206 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5207 os-prober. Under normal operation, it does not print anything to
5208 stderr; if it does, we need to debug it, and throwing away stderr
5209 makes that excessively difficult.
a83d079b 5210
be94a509 52112009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5214
63f745e8 52152009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5216
5217 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5218 AC_LANG_PROGRAM from autoconf.
5219 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5220 prototypes (fixes warning).
5221
5222 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5223 `--disable-werror' was used.
5224
bbb2a70f 52252009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5226
5227 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5228 uninitialized `lastaddr'.
5229
77c24f1d 52302009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5231
0f0b8c87 5232 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5233
07197f23 52342009-09-14 Colin Watson <cjwatson@ubuntu.com>
5235
5236 * commands/test.c (get_fileinfo): Return immediately if
5237 grub_fs_probe fails.
5238
dabf1798 52392009-09-14 José Martínez <xosemp@gmail.com>
5240
5241 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5242
d52109a7 52432009-09-14 Colin Watson <cjwatson@ubuntu.com>
5244
5245 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5246 output.
5247
56532179 52482009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5249
5250 * configure.ac: Remove --enable-grub-pe2elf. Only build
5251 grub-pe2elf when needed by the build system itself.
5252 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5253
8ef070f5 52542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5255
5256 * configure.ac: Bump version to 1.97~beta3.
5257 * docs/version.texi: Likewise.
5258
61229557 52592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5260
5261 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5262 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5263 from here ...
5264 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5265 (grub_linux_setup_video): ... to here (with some adjustments).
5266
5c9f8d84 52672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5268
5269 Fix memory corruption issue (spotted by Colin Watson).
5270
5271 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5272 causing returned size to be stored in an incorrect memory location.
5273 Fix use of uninitialized value when storing the returned size.
5274
e8f5d6e9 52752009-09-12 Yves Blusseau <blusseau@zetam.org>
5276
5277 Change clean rules to properly remove files
5278
5279 * genmk.rb: add new clean rules
5280 * Makefile.in (clean): add the new targets
5281 (mostlyclean): likewise
5282
cda2a409 52832009-09-11 Colin Watson <cjwatson@ubuntu.com>
5284
5285 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5286 to grub_uint64_t.
5287 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5288 non-resident files.
5289
86695375 52902009-09-11 Colin Watson <cjwatson@ubuntu.com>
5291
5292 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5293 part of bug #27349.
5294
8aa1541a 52952009-09-10 Felix Zielcke <fzielcke@z-51.de>
5296
5297 * util/grub-mkconfig.in: Make the created config mode 400 and
5298 print a warning if it fails.
5299
48d9bb0a 53002009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5301
5302 * util/grub.d/40_custom.in: Ask user to type custom entries below
5303 comment, rather than below 'exec tail' line.
5304
3b0521be 53052009-09-10 Colin Watson <cjwatson@ubuntu.com>
5306
5307 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5308 visible in grub.cfg.
5309
50051d55 53102009-09-10 Colin Watson <cjwatson@ubuntu.com>
5311
5312 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5313 file.
5314
c0d34387 53152009-09-10 Felix Zielcke <fzielcke@z-51.de>
5316
5317 * docs/grub.cfg: Add an example menu entry for memtest86+.
5318
80a608f3 53192009-09-09 Felix Zielcke <fzielcke@z-51.de>
5320
a2094832 5321 * config.guess: Update to latest version from config git.
80a608f3 5322 * config.sub: Likewise.
5323
99423078 53242009-09-08 Colin Watson <cjwatson@ubuntu.com>
5325
5326 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
5327 unknown-command case. Fixes bug #27320.
5328
44454e4c 53292009-09-08 Felix Zielcke <fzielcke@z-51.de>
5330
5331 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
5332 `help' if the command exists.
5333
e30d87ad 53342009-09-06 Robert Millan <rmh.grub@aybabtu.com>
5335
5336 * INSTALL: Require GCC 4.1.3 or later.
5337
9a86f1ec 53382009-09-06 Yves Blusseau <blusseau@zetam.org>
5339
5340 * Makefile.in (RMKFILES): add i386-qemu.rmk
5341 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
5342 $(srcdir)/stamp-h.in
5343
7f26d466 53442009-09-05 Robert Millan <rmh.grub@aybabtu.com>
5345
5346 * util/grub-probe.c (probe): Comment out buggy codepath, which
5347 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
5348 should be re-enabled after 1.97.
5349
3a613259 53502009-09-05 Felix Zielcke <fzielcke@z-51.de>
5351
5352 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
5353 find searches for.
5354
197f76c7 53552009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
5358 unnecessary calls to grub_error.
5359
70ba68ce 53602009-09-04 Colin Watson <cjwatson@ubuntu.com>
5361
5362 * NEWS: Mention `keystatus' and Unicode fonts.
5363
4ff0d7a4 53642009-09-04 Robert Millan <rmh.grub@aybabtu.com>
5365
5366 * configure.ac: Bump version to 1.97~beta2.
5367 * docs/version.texi: Likewise.
5368
77c55a87 53692009-09-03 Colin Watson <cjwatson@ubuntu.com>
5370
5371 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
5372 containing unwind information in some cases where it previously did
5373 not. Use -fno-dwarf2-cfi-asm if available to restore the old
5374 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
5375 discussion.
5376
f79572cd 53772009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
5378
5379 Embedding loadenv module into grub-emu
5380
5381 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
5382 commands/loadenv.c
5383 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
5384 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
5385 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
5386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
5387 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
5388 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
5389
93a81088 53902009-09-03 Magnus Granberg <zorry@ume.nu>
5391
5392 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
5393 include -fPIE in the default specs.
5394 * configure.ac: Check if pie_possible is yes and add -fno-PIE
5395 to TARGET_CFLAGS.
5396
160034b2 53972009-09-03 Felix Zielcke <fzielcke@z-51.de>
5398
5399 * INSTALL: Note that GNU Bison 2.3 or later is required.
5400
087c07c4 54012009-09-03 Colin Watson <cjwatson@ubuntu.com>
5402
5403 * kern/i386/pc/startup.S: Fix typo.
5404
cbf978c0 54052009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
5408 according to GCS.
5409
54102009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 5411
5412 * docs/grub.texi (Naming convention): Describe one-based partition
5413 numbering.
5414 (Device syntax): Likewise.
5415 (File name syntax): Likewise.
5416 (Block list syntax): Likewise.
5417 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
5418 menu.lst.
5419 (File name syntax): Likewise.
5420 (Command-line and menu entry commands): Document acpi, blocklist,
5421 crc, export, insmod, keystatus, ls, set, and unset commands.
5422
f3e8cdfd 54232009-09-02 Colin Watson <cjwatson@ubuntu.com>
5424
5425 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
5426 to avoid implying that only one of --shift, --ctrl, or --alt may be
5427 used.
5428
c0bc232b 54292009-09-02 Colin Watson <cjwatson@ubuntu.com>
5430
5431 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
5432 rather than comparing against S_IFREG, which will almost never work.
5433
aa0f752d 54342009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
5437 (write_blocklists): Likewise.
5438
ecb3166a 54392009-09-01 Colin Watson <cjwatson@ubuntu.com>
5440
5441 * script/lua/grub_lua.h (fputs): Supply a format string as the first
5442 argument to grub_printf.
5443
c403a125 54442009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 5445
5446 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 5447 non GNU test.
31aba781 5448
b5e7312c 54492009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * kern/file.c (grub_file_read): Spelling fix
5452
fe00f472 54532009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
5456 loading of headers in some cases.
5457
cc55302e 54582009-08-30 Robert Millan <rmh.grub@aybabtu.com>
5459
5460 * configure.ac: Bump version to 1.97~beta1.
5461 * docs/version.texi: Likewise.
5462
5c90cdd2 54632009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 5464
5465 * include/grub/i386/xnu.h: Add license header.
5466 include grub/err.h explicitly.
5467
c90edae4 54682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5469
5470 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
5471 to `ufs' in the vfs.root.mountfrom kernel parameter.
5472
d8888b5c 54732009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5474
5475 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
5476
5477 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
5478 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
5479
5480 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
5481 `ARRAY_SIZE' macro.
5482
6f07b921 54832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * kern/file.c (grub_file_read): Check offset.
5486 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
5487 * fs/jfs.c (grub_jfs_read_file): Likewise.
5488 * fs/ntfs.c (grub_ntfs_read): Likewise.
5489 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
5490 * fs/minix.c (grub_minix_read_file): Correct offset check.
5491 * fs/ufs.c (grub_ufs_read_file): Likewise.
5492
b4f34077 54932009-08-28 Colin Watson <cjwatson@ubuntu.com>
5494
5495 * term/i386/pc/console.c (bios_data_area): Cast
5496 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
5497
e7c69859 54982009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 1-bit optimised blitters.
5501
5502 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
5503 prototype.
5504 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5505 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5506 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5507 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5508 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5509 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5510 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
5511 function.
5512 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5513 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5514 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5515 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5516 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5517 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5518 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
5519 when possible.
5520 * video/video.c (grub_video_get_blit_format): Return
5521 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
5522
a57da43f 55232009-08-28 Colin Watson <cjwatson@ubuntu.com>
5524
5525 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
5526 the first argument to grub_printf.
5527
4cbe67e5 55282009-08-28 Colin Watson <cjwatson@ubuntu.com>
55292009-08-28 Robert Millan <rmh.grub@aybabtu.com>
5530
5531 Add `getkeystatus' terminal method. Add a new `keystatus' command
5532 to query it.
5533
5534 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
5535 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
5536 modifier key bitmasks.
5537 (struct grub_term_input): Add `getkeystatus' member.
5538 (grub_getkeystatus): Add prototype.
5539 * kern/term.c (grub_getkeystatus): New function.
5540
5541 * include/grub/i386/pc/memory.h
5542 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
5543 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
5544 Data Area layout.
5545 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
5546 (grub_console_term_input): Set `getkeystatus' member.
5547 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
5548 constants.
5549 (grub_usb_keyboard_getreport): Likewise.
5550 (grub_usb_keyboard_checkkey): Likewise.
5551 (grub_usb_keyboard_getkeystatus): New function.
5552 (grub_usb_keyboard_term): Set `getkeystatus' member.
5553
5554 * commands/keystatus.c: New file.
5555 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
5556 (keystatus_mod_SOURCES): New variable.
5557 (keystatus_mod_CFLAGS): Likewise.
5558 (keystatus_mod_LDFLAGS): Likewise.
5559 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
5560 commands/keystatus.c.
5561 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5562 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5563 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5565 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5566 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 5567
6e2a9085 55682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 Split befs.mod and afs.mod into *_be.mod and *.mod
5571
5572 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
5573 (grub_fstest_SOURCES): Likewise.
5574 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
5575 (afs_be_mod_SOURCES): New variable.
5576 (afs_be_mod_CFLAGS): Likewise.
5577 (afs_be_mod_LDFLAGS): Likewise.
5578 (befs_be_mod_SOURCES): Likewise.
5579 (befs_be_mod_CFLAGS): Likewise.
5580 (befs_be_mod_LDFLAGS): Likewise.
5581 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
5582 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5583 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5584 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5585 (grub_emu_SOURCES): Likewise.
5586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5587 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5588 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5589 * fs/afs_be.c: New file.
5590 * fs/befs_be.c: New file.
5591 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
5592 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
5593 (U16): Replaced with ...
5594 (grub_afs_to_cpu16): ...this. All users updated.
5595 (U32): Replaced with ...
5596 (grub_afs_to_cpu32): ...this. All users updated.
5597 (U64): Replaced with ...
5598 (grub_afs_to_cpu64): ...this. All users updated.
5599 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
5600 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 5601 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 5602 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5603 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5604 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5605 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5606 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5607 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5608 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5609 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5610
32a71655 56112009-08-26 Bean <bean123ch@gmail.com>
5612
5613 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5614 64-bit number.
5615 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5616 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5617 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5618
552bf6c5 56192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 NetBSD memory map support.
5622
5623 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5624 (grub_netbsd_btinfo_mmap_header): New structure.
5625 (grub_netbsd_btinfo_mmap_entry): Likewise.
5626 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5627
1ae2078c 56282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 Enable bsd.mod on coreboot.
5631
5632 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5633 (bsd_mod_SOURCES): New variable.
5634 (bsd_mod_CFLAGS): Likewise.
5635 (bsd_mod_LDFLAGS): Likewise.
5636 (bsd_mod_ASFLAGS): Likewise.
5637 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5638 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5639
beefc598 56402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 Cleanup NetBSD root support.
5643
5644 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5645 grub_bsd_get_device.
5646 Fix typo.
5647
3b76e68b 56482009-08-25 Felix Zielcke <fzielcke@z-51.de>
5649
5650 * util/grub.d/00_header.in: Move check for the video backend of
5651 gfxterm from here ...
5652 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5653 a suitable video backend.
5654
aea664ea 56552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Fix breakage in grub-setup.
5658
5659 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5660 "msdos_partition_map".
5661
ff747d50 56622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 Fix breakage in normal/auth.c.
5665
5666 * normal/auth.c (grub_iswordseparator): New function.
5667
e7e1f93f 56682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 Authentication support.
5671
5672 * commands/password.c: New file.
5673 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5674 (password_mod_SOURCES): New variable.
5675 (password_mod_CFLAGS): Likewise.
5676 (password_mod_LDFLAGS): Likewise.
5677 (normal_mod_SOURCES): Add normal/auth.c.
5678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5679 normal/auth.c.
5680 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5681 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5682 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5684 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5685 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5686 * include/grub/auth.h: New file.
5687 * include/grub/err.h (grub_err_t): New enum value
5688 GRUB_ERR_ACCESS_DENIED.
5689 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5690 'users'.
5691 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5692 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5693 users updated.
5694 * normal/auth.c: New file.
5695 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5696 (grub_cmdline_run): Don't allow to go to command line without
5697 authentication.
5698 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5699 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5700 menuentry without superuser rights.
5701 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5702 user isn't a superuser.
5703
70f1161d 57042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 Save space by inlining misc.c functions.
5707
5708 * kern/misc.c (grub_iswordseparator): Made static.
5709 * kern/misc.c (grub_strcat): Moved from here ...
5710 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5711 * kern/misc.c (grub_strncat): Moved from here ...
5712 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5713 * kern/misc.c (grub_strcasecmp): Moved from here ...
5714 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5715 * kern/misc.c (grub_strncasecmp): Moved from here ...
5716 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5717 * kern/misc.c (grub_isalpha): Moved from here ...
5718 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5719 * kern/misc.c (grub_isdigit): Moved from here ...
5720 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5721 * kern/misc.c (grub_isgraph): Moved from here ...
5722 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5723 * kern/misc.c (grub_tolower): Moved from here ...
5724 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5725
48e40bff 57262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * script/sh/function.c (grub_script_function_find): Cut error message
5729 not to flood terminal.
5730 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5731 limit.
5732 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5733
c385bfc3 57342009-08-24 Colin Watson <cjwatson@ubuntu.com>
5735
5736 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5737 `report' grub_uint8_t *.
5738 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5739 Use a 50-millisecond timeout rather than just repeating
5740 grub_usb_keyboard_getreport 50 times.
5741 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5742
2d21e3e8 57432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 Rename *_partition_map to part_*
5746
5747 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5748 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5749 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5750 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5751 All users updated.
5752 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5753 All users updated.
5754 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5755 * util/grub-probe.c (probe_partmap): Don't transform partition name
5756 to get module name.
5757
dd103c4e 57582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 Fix OpenBSD and NetBSD support.
5761
5762 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5763 memory address conflict.
5764 (OPENBSD_MMAP_ACPI): New definition.
5765 (OPENBSD_MMAP_NVS): Likewise.
5766 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5767 and OPENBSD_MMAP_NVS.
5768 Add memory map terminator
5769 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 5770 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 5771
16c84d74 57722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Let user specify NetBSD root device.
5775
5776 * loader/i386/bsd.c (netbsd_root): New variable.
5777 (netbsd_opts): New option 'root'.
5778 (NETBSD_ROOT_ARG): New macro.
5779 (grub_netbsd_boot): Use 'netbsd_root'.
5780 (grub_bsd_unload): Free 'netbsd_root'.
5781 (grub_cmd_netbsd): Fill 'netbsd_root'.
5782
adb29902 57832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 Support for 64-bit NetBSD.
5786
5787 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
5788 point when booting non-FreeBSD.
5789
f5ae9f74 57902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 Support --no-smp and --no-acpi for NetBSD.
5793
5794 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
5795 (NETBSD_AB_NOACPI): Likewise.
5796 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
5797 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
5798
de74f136 57992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5802 errors.
5803 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5804 errors. Call grub_error when needed.
5805
e9a925da 58062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * commands/search.c (search_fs): Try searching without autoload first.
5809 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5810 filesystem module explicitly for faster booting.
5811
5174302b 58122009-08-23 Colin Watson <cjwatson@ubuntu.com>
5813
5814 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5815
c8c80635 58162009-08-23 Colin Watson <cjwatson@ubuntu.com>
5817
5818 * util/grub.d/30_os-prober.in: Disable os-prober if
5819 `GRUB_DISABLE_OS_PROBER' was set to true.
5820
71acf5e5 58212009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5822
5823 * partmap/pc.c: Rename to ...
5824 * partmap/msdos.c: ... this. Update all users.
5825 (grub_pc_partition_map): Rename to ...
5826 (grub_msdos_partition_map): ... this. Update all users.
5827
5828 * parttool/pcpart.c: Rename to ...
5829 * parttool/msdospart.c: ... this. Update all users.
5830
5831 * include/grub/pc_partition.h: Rename to ...
5832 * include/grub/msdos_partition.h: ... this. Update all users.
5833 (grub_pc_partition_bsd_entry): Rename to ...
5834 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5835 (grub_pc_partition_disk_label): Rename to ...
5836 (grub_msdos_partition_disk_label): ... this. Update all users.
5837 (grub_pc_partition_entry): Rename to ...
5838 (grub_msdos_partition_entry): ... this. Update all users.
5839 (grub_pc_partition_mbr): Rename to ...
5840 (grub_msdos_partition_mbr): ... this. Update all users.
5841 (grub_pc_partition): Rename to ...
5842 (grub_msdos_partition): ... this. Update all users.
5843 (grub_pc_partition_is_empty): Rename to ...
5844 (grub_msdos_partition_is_empty): ... this. Update all users.
5845 (grub_pc_partition_is_extended): Rename to ...
5846 (grub_msdos_partition_is_extended): ... this. Update all users.
5847 (grub_pc_partition_is_bsd): Rename to ...
5848 (grub_msdos_partition_is_bsd): ... this. Update all users.
5849
5850 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5851 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5852 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5853 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5854 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5855 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5856 (gpt_mod_LDFLAGS): Rename to ...
5857 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5858 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
5859 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
5860 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
5861 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
5862 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
5863 (part_gpt_mod_LDFLAGS): ... this.
5864 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
5865 `pcpart.mod' to `msdospart.mod'.
5866 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
5867 to ...
5868 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
5869 (msdospart_mod_LDFLAGS): ... this.
5870
c11fded5 58712009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
5874 (openbsd_opts): Likewise.
5875 (netbsd_opts): Likewise.
5876 (freebsd_flags): Added 0 terminator.
5877 (openbsd_flags): Likewise.
5878 (netbsd_flags): Likewise.
5879 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
5880 (grub_cmd_freebsd): Transformed into extended command.
5881 (grub_cmd_openbsd): Likewise.
5882 (grub_cmd_netbsd): Likewise.
5883 (cmd_freebsd): Changed type to grub_extcmd_t.
5884 (cmd_openbsd): Likewise.
5885 (cmd_netbsd): Likewise.
5886 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
5887 grub_cmd_openbsd as extended commands.
5888 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
5889 cmd_netbsd and cmd_openbsd
5890
11d1c769 58912009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
5894
7a9094e5 58952009-08-21 Pavel Roskin <proski@gnu.org>
5896
5496c37e 5897 * Makefile.in (install-local): When checking if a file is in the
5898 build directory, use "test -e" to detect symlinks.
5899
7a9094e5 5900 * Makefile.in (install-local): Remove all files in
5901 $(DESTDIR)$(pkglibdir) before installing new files there.
5902
e53cea11 59032009-08-18 Felix Zielcke <fzielcke@z-51.de>
5904
5905 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
5906 grub-mkelfimage.
5907
9aced544 59082009-08-18 Felix Zielcke <fzielcke@z-51.de>
5909
5910 * util/grub-mkconfig.in: Don't use gfxterm by default if not
5911 explicitly specified by the user.
5912
b7da6bab 59132009-08-18 Pavel Roskin <proski@gnu.org>
5914
5915 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
5916 grub_uint8_t pointer for data.
5917 * include/grub/fbutil.h (struct grub_video_fbblit_info):
5918 Likewise.
5919 * video/fb/fbutil.c: Remove unnecessary casts.
5920
19f1b335 59212009-08-17 Michal Suchanek <hramrach@centrum.cz>
5922
5923 VBE cleanup.
5924
5925 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
5926 (grub_vbe_set_video_mode): Save active mode info
5927 only after setting the mode.
5928 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
5929 second argument.
5930
2f467aa9 59312009-08-17 Michal Suchanek <hramrach@centrum.cz>
5932
5933 Rename variables for clarity.
5934
5935 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
5936 (active_vbe_mode_info): ... this. All users updated.
5937 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
5938 All users updated.
5939 (initial_mode): Rename to ...
5940 (initial_vbe_mode): ... this. All users updated.
5941 (mode_in_use): Rename to ..
5942 (vbe_mode_in_use): ... this. All users updated.
5943 (mode_list): Rename to ..
5944 (vbe_mode_list): ... this. All users updated.
5945 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
5946 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
5947 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
5948 'mode_list_size' to 'vbe_mode_list_size'.
5949 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
5950 'best_mode_info' to 'best_vbe_mode_info' and
5951 'best_mode' to 'best_vbe_mode'
5952
6025fcd7 59532009-08-17 Michal Suchanek <hramrach@centrum.cz>
5954
5955 Remove duplicate grub_video_fb_get_video_ptr.
5956
5957 * include/grub/fbutil.h (get_data_ptr): Rename to ...
5958 (grub_video_fb_get_video_ptr): ... this.
5959 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
5960 * video/fb/fbutil.c: Add comment about addressing.
5961 (get_data_ptr): Rename to ...
5962 (grub_video_fb_get_video_ptr): ... this. All users updated.
5963 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
5964
cc8c6faf 59652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5966
5967 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
5968 grub_dprintf() that was just added.
5969
08aa61f0 59702009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5971
5972 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
5973 (DEFAULT_VIDEO_MODE): Remove macros.
5974 (grub_linux_boot): Remove assumption that Linux has FB support,
5975 and use "text" as default video mode.
5976
7cef4f75 59772009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
5980 grub_dprintf.
5981 * fs/fat.c (grub_fat_read_data): Likewise.
5982
e1f39873 59832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
5986 payload.
5987 (grub_module): Likewise.
5988
c166d79e 59892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
5992 mbi->cmdline but free playground.
5993
c60cee8e 59942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 Handle group offset on UFS1.
5997
5998 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5999 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6000
c0d8b5d4 60012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Split ufs.mod into ufs1.mod and ufs2.mod.
6004
6005 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6006 (grub_fstest_SOURCES): Likewise.
6007 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6008 (ufs_mod_SOURCES): Remove.
6009 (ufs_mod_CFLAGS): Likewise.
6010 (ufs_mod_LDFLAGS): Likewise.
6011 (ufs1_mod_SOURCES): New variable.
6012 (ufs1_mod_CFLAGS): Likewise.
6013 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6014 (ufs2_mod_SOURCES): New variable.
6015 (ufs2_mod_CFLAGS): Likewise.
6016 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6017 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6018 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6019 Likewise.
6020 (grub_emu_SOURCES): Likewise.
6021 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6022 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6023 (grub_setup_SOURCES): Likewise.
6024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6025 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6026 (grub_setup_SOURCES): Likewise.
6027 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6028 Likewise.
6029 * fs/ufs2.c: New file.
6030 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6031
d3539132 60322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 Framebuffer split.
6035
6036 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6037 subsystem at the end.
6038 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6039 (video_fb_mod_SOURCES): New variable.
6040 (video_fb_mod_CFLAGS): Likewise.
6041 (video_fb_mod_LDFLAGS): Likewise.
6042 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6043 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6044 * video/i386/pc/vbeblit.c: Moved from here ...
6045 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6046 * video/i386/pc/vbefill.c: Moved from here ...
6047 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6048 * video/i386/pc/vbeutil.c: Moved from here ...
6049 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6050 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6051 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6052 * include/grub/i386/pc/vbefill.h: Moved from here ...
6053 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6054 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6055 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6056 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6057 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6058 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6059 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6060 (grub_video_adapter): Added 'get_info_and_fini'.
6061 (grub_video_get_info_and_fini): New prototype.
6062 (grub_video_set_mode): make modestring const char *.
6063 * loader/i386/linux.c (grub_linux_setup_video): Use
6064 grub_video_get_info_and_fini.
6065 (grub_linux_boot): Move modesetting just before booting.
6066 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6067 grub_video_get_info_and_fini.
6068 * video/i386/pc/vbe.c: Moved framebuffer part ...
6069 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6070 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6071 grub_video_fbstd_colors and grub_video_fb_set_palette.
6072 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6073 grub_video_fb_init.
6074 (grub_video_vbe_fini): Use grub_video_fb_fini.
6075 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6076 render_target and use grub_video_fb_set_active_render_target and
6077 grub_video_fb_set_palette.
6078 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6079 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6080 (grub_video_vbe_adapter): Use framebuffer.
6081 * video/video.c (grub_video_get_info_and_fini): New function.
6082 (grub_video_set_mode): Make modestring const char *.
6083 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6084 values are already initialised.
6085
d404ee56 60862009-08-14 Pavel Roskin <proski@gnu.org>
6087
6088 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6089 ABS and APPLE_CC.
6090 * boot/i386/pc/diskboot.S: Likewise.
6091 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6092 sectors allow compilation on MacOSX.
6093 * conf/i386-pc.rmk: Enable unconditional compilation of
6094 lnxboot.img.
6095
9a10df16 60962009-08-13 Colin Watson <cjwatson@ubuntu.com>
6097
6098 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6099 * util/grub.d/00_header.in: Enter interruptible sleep if
6100 GRUB_HIDDEN_TIMEOUT is set.
6101
be3c9ca7 61022009-08-13 Yves Blusseau <blusseau@zetam.org>
6103
6104 * include/grub/symbol.h: Add the LOCAL macro.
6105 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6106 starting with "L_".
6107
1f9e557e 61082009-08-13 Pavel Roskin <proski@gnu.org>
6109
9ca62843 6110 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6111 any modern compilers we support.
6112
1f9e557e 6113 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6114 Use local labels starting with "L_" so that Apple assembler
6115 knows they are local.
6116
81623db6 61172009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6118
6119 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6120 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6121 (bsd_kernel_types): ... this enum.
6122
6123 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6124 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6125 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6126
6127 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6128 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6129 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6130 messages.
6131
f5d35e7a 61322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6133
6134 * util/grub-dumpdevtree: Moved from here ...
6135 * util/i386/efi/grub-dumpdevtree: ... to here.
6136 (hexify): New function. Converts a string to its hex version.
6137 Generate hex versions of "efi" and "device-properties" by calling
6138 hexify() on the ASCII strings rather than by hardcoding numbers.
6139
d1e1d527 61402009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6141
6142 * fs/jfs.c: Update copyright year.
6143
1ebbe064 61442009-08-08 Felix Zielcke <fzielcke@z-51.de>
6145
6146 * util/grub.d/00_header.in: Fix a comment.
6147 * util/grub.d/10_linux.in: Likewise.
6148 * util/grub.d/10_windows.in: Likewise.
6149 * util/grub.d/10_hurd.in: Likewise.
6150
a78c8d24 61512009-08-08 Felix Zielcke <fzielcke@z-51.de>
6152
6153 * util/grub-mkconfig.in: Allow the user to specify the used font
6154 with GRUB_FONT.
6155
29a6b9e8 61562009-08-08 Pavel Roskin <proski@gnu.org>
6157
b5f16cc4 6158 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6159 available, xfs.mod needs it now.
6160
2f5cb827 6161 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6162 the "g" modifier in sed when the intention is to strip something
6163 once. This fixes comparison of kernels with multiple dashes.
6164
29a6b9e8 6165 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6166 on it. Add missing space before closing bracket. Fix
6167 misleading formatting.
6168
892a3d98 61692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6170
6171 * docs/grub.texi: Major overhaul. Remove all sections that are
6172 specific to GRUB Legacy, or mostly composed of Legacy-specific
6173 information.
6174
ed94253f 61752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6176
6177 * docs/version.texi: New file. Provides version information for
6178 grub.texi.
6179
126d6628 61802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6181
6182 * docs/grub.texi: Update CVS information to SVN.
6183 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6184
998b5aa9 61852009-08-07 Felix Zielcke <fzielcke@z-51.de>
6186
6187 * util/grub-mkconfig.in: Remove a wrong `fi'.
6188
818e094a 61892009-08-07 Felix Zielcke <fzielcke@z-51.de>
6190
6191 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6192 (grub_jfs_uuid): New function.
6193 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6194
b969c52f 61952009-08-07 Felix Zielcke <fzielcke@z-51.de>
6196
6197 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6198 of it to ...
6199 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6200 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6201
7a4894cc 62022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6203
6204 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6205 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6206 Update all users.
6207
6208 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6209 not just "vmlinu[zx]".
6210 Moved from here ...
6211 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6212 all users.
6213
6214 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6215 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6216 all users.
6217
4e2171f8 62182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6219
6220 * util/grub.d/10_freebsd.in: Use an absolute device path for
6221 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6222
6dcfcb32 62232009-08-06 Felix Zielcke <fzielcke@z-51.de>
6224
6225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6226 handling of multiple abstraction modules.
6227
f56a8756 62282009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6229
6230 Fix a bug resulting in black screen when loading Linux using a
6231 packed video mode.
6232
6233 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6234 function.
6235
6236 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6237 (grub_vbe_bios_getset_dac_palette_width): New function.
6238 (grub_vbe_bios_get_dac_palette_width)
6239 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6240 grub_vbe_bios_getset_dac_palette_width()).
6241
6242 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6243 check for return status.
6244 (grub_vbe_get_video_mode_info): When getting information for a packed
6245 mode (<= 8 bpp), obtain DAC palette width using
6246 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6247 {red,green,blue}_mark_size.
6248
222671b2 62492009-08-04 Felix Zielcke <fzielcke@z-51.de>
6250
ecb1a6d9 6251 * commands/search.c (options): Fix help output to match actual code.
222671b2 6252
f84114f5 62532009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6256 of homegrown code.
6257
bd288a20 62582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6259
6260 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6261 on XFS or ReiserFS.
6262
8aab5e25 62632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Support Apple partition map with sector size different from 512 bytes.
6266
6267 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6268 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6269 and 'apart.partmap_size'.
6270
6ad6258a 62712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
62722009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6273
6274 Fix cpuid command.
6275
6276 * commands/i386/cpuid.c (options): New variable.
6277 (grub_cmd_cpuid): Return real error.
6278 (GRUB_MOD_INIT(cpuid)): Declare options.
6279
67459bc6 62802009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6283 valid.
6284
fbc6ab54 62852009-07-31 Bean <bean123ch@gmail.com>
6286
6287 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6288 log2_inode.
6289 (grub_fshelp_node): Move inode field to the end.
6290 (grub_xfs_data): Remove inode field.
6291 (grub_xfs_inode_block): Calculate inode size using sblock.
6292 (grub_xfs_inode_offset): Likewise.
6293 (grub_xfs_read_inode): Calculate inode size using sblock.
6294 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6295 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6296 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6297 to match inode size.
6298 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6299 not accessible when data is null.
6300 (grub_xfs_open): Likewise.
6301
f45d6cfc 63022009-07-31 Bean <bean123ch@gmail.com>
6303
6304 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6305 Don't change pv->disk if it's already set.
6306
6307 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6308 (grub_raid_register): ... here.
6309 (grub_raid_rescan): Removed.
6310
6311 * include/grub/raid.h (grub_raid_rescan): Removed.
6312
6313 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6314 (fstest): Replace grub_raid_rescan with module fini function followed
6315 by init function.
6316
6317 * util/grub-probe.c: Add include file <grub/raid.h>.
6318 (probe_raid_level): New function.
6319 (probe): Detect abstraction by walking the disk device, support two
6320 level of abstraction (LVM on RAID) when detecting partition map.
6321
24443b5a 63222009-07-31 Pavel Roskin <proski@gnu.org>
6323
6324 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
6325 to grub_zalloc(), it was erroneous.
6326 Reported by Bean <bean123ch@gmail.com>
6327
a275d9e7 63282009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 6331 embedding zone, not only the first one.
a275d9e7 6332
56c5a47f 63332009-07-29 Joe Auricchio <jauricchio@gmail.com>
6334
6335 * term/gfxterm.c (clear_char): New function.
6336 (grub_virtual_screen_setup): Use clear_char.
6337 (scroll_up): Likewise.
6338 (grub_virtual_screen_cls): Likewise.
6339
67bb323a 63402009-07-29 Felix Zielcke <fzielcke@z-51.de>
6341
6342 * util/deviceiter.c (get_acceleraid_disk_name): New static
6343 function.
6344 (grub_util_iterate_devices): Handle Accelraid devices.
6345 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
6346
388a7c75 63472009-07-28 Robert Millan <rmh.grub@aybabtu.com>
6348
6349 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
6350 separator for the suggested gfxpayload string (';' collides with the
6351 parser and needs escaping).
6352
3bb7abcf 63532009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
6356 Clear direction flag before jumping to OS.
6357 (grub_multiboot2_real_boot): Likewise.
6358
2ddd36d7 63592009-07-28 Felix Zielcke <fzielcke@z-51.de>
6360
6361 * util/i386/pc/grub-install: Fix parsing of --disk-module
6362 option.
6363
c521b62b 63642009-07-28 Felix Zielcke <fzielcke@z-51.de>
6365
6366 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
6367 when embedding.
6368
880e0a0c 63692009-07-26 Felix Zielcke <fzielcke@z-51.de>
6370
6371 * util/grub-mkconfig.in (package_version): New variable.
6372 Use it do display the version.
6373
2366e356 63742009-07-25 Felix Zielcke <fzielcke@z-51.de>
6375
6376 * kern/file.c (grub_file_open): Revert to previous check with
6377 grub_errno.
6378
7ad8c80e 63792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
6382 from help line. It's out of sync with code.
6383
72b9658b 63842009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
6387 entries on failed boot.
6388
77435277 63892009-07-25 Felix Zielcke <fzielcke@z-51.de>
6390
6391 * kern/file.c (grub_file_open): Fix an error check.
6392
fcaa8b21 63932009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
6394
35d16c74 6395 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
6396 partition map couldn't be identified.
fcaa8b21 6397
48904cd1 63982009-07-23 Pavel Roskin <proski@gnu.org>
6399
ef3c317f 6400 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
6401 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
6402 case of little endian words becomes just an optimization.
6403 Respect const modifier.
ad8ea1f4 6404 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 6405
48904cd1 6406 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
6407 to avoid loss of upper bits if align is unsigned and shorter
6408 than addr.
6409
260c9a89 64102009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 UUID support for UFS
6413
6414 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
6415 (grub_ufs_uuid): New function.
6416 (grub_ufs_fs): add .uuid
6417
f76ce889 64182009-07-21 Pavel Roskin <proski@gnu.org>
6419
6420 * kern/dl.c (grub_dl_check_header): Make static.
6421
6a6cbcaf 64222009-07-21 Felix Zielcke <fzielcke@z-51.de>
6423
6424 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
6425 add drivemap for Vista. It breaks Windows 7.
6426
cffcddb2 64272009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
6430 128 bytes
6431
1ef44b80 64322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 Add BFS support
6435
6436 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
6437 (grub_fstest_SOURCES): Likewise.
6438 (pkglib_MODULES): Add befs.mod.
6439 (befs_mod_SOURCES): New variable.
6440 (befs_mod_CFLAGS): Likewise.
6441 (befs_mod_LDFLAGS): Likewise.
6442 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6443 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6444 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6445 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6446 (grub_setup_SOURCES): Likewise.
6447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6448 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6449 (grub_setup_SOURCES): Likewise.
6450 * fs/befs.c: New file.
6451 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
6452 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
6453 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
6454 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
6455 (B_KEY_INDEX_ALIGN): New declaration.
6456 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
6457 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
6458 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
6459 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
6460 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
6461 (grub_afs_mount) [MODE_BFS]: Likewise.
6462 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
6463 (grub_afs_fs): Use GRUB_AFS_FSNAME
6464 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
6465 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
6466 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
6467 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
6468
4f253044 64692009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
6470
6471 * util/getroot.c (find_root_device): Add support for MacOSX.
6472 * util/hostdisk.c: Likewise.
6473
57a55913 64742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * font/font.c (find_glyph): Check whether a font is present to avoid
6477 segmentation fault.
75421ca9 6478
64792009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 6480
6481 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
6482
e98cd0c2 64832009-07-20 Pavel Roskin <proski@gnu.org>
6484
6485 * configure.ac: Trim excessively wordy excuses.
6486
1d2d169a 64872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Add symlink, mtime and label support to AtheFS.
6490
6491 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
6492 (grub_afs_iterate_dir): Handle symlinks.
6493 (grub_afs_open): Use grub_afs_read_symlink.
6494 (grub_afs_dir): Likewise.
6495 Pass mtime.
6496 (grub_afs_label): New function.
6497 (grub_afs_fs): Add grub_afs_label.
6498 (grub_afs_read_symlink): New function.
6499
186f3189 65002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Fix AtheFS support.
6503
6504 * fs/afs.c: Fix comments style.
6505 (grub_afs_blockrun): Declare as packed.
6506 (grub_afs_datastream): Likewise.
6507 (grub_afs_bnode): Likewise.
6508 (grub_afs_btree): Likewise.
6509 (grub_afs_sblock): Likewise.
6510 Declare `name' as char.
6511 (grub_afs_inode): Declare as packed.
6512 Change void *vnode to grub_uint32_t unused.
6513 (grub_afs_iterate_dir): Check that key_size is positive.
6514 (grub_afs_mount): Don't read superblock twice.
75421ca9 6515 (grub_afs_dir): Don't free node in case of error,
186f3189 6516 grub_fshelp_find_file already handles this.
6517 (grub_afs_open): Likewise.
6518
5680109e 65192009-07-19 Pavel Roskin <proski@gnu.org>
6520
6521 * Makefile.in: Remove LIBLZO and enable_lzo.
6522 * conf/i386-pc.rmk: Remove lzo support.
6523 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
6524 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
6525 support.
6526 * kern/i386/pc/lzo1x.S: Remove.
6527 * kern/i386/pc/startup.S: Remove lzo support.
6528 * util/i386/pc/grub-mkimage.c: Likewise.
6529
ac70fa32 65302009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
6533 * fs/xfs.c (grub_xfs_dir): Likewise.
6534 * fs/afs.c (grub_afs_dir): Likewise.
6535 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6536 (grub_iso9660_open): Likewise.
6537 * fs/jfs.c (grub_jfs_open): Likewise.
6538 * fs/ext2.c (grub_ext2_dir): Likewise.
6539 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
6540 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 6541
eab58da2 65422009-07-16 Pavel Roskin <proski@gnu.org>
6543
d2838156 6544 * configure.ac: Never add "-c" to CFLAGS.
6545
55c70904 6546 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
6547
43e6200c 6548 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
6549 grub_cv_cc_efiemu should be used.
6550
ce7a733d 6551 * configure.ac: Typo fixes.
6552
eab58da2 6553 * kern/mm.c (grub_zalloc): New function.
6554 (grub_debug_zalloc): Likewise.
6555 * include/grub/mm.h: Declare grub_zalloc() and
6556 grub_debug_zalloc().
6557 * util/misc.c (grub_zalloc): New function.
6558 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
6559 instead of grub_malloc(), remove unneeded initializations.
6560 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
6561 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
6562 * commands/parttool.c (grub_cmd_parttool): Likewise.
6563 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6564 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
6565 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
6566 * disk/usbms.c (grub_usbms_finddevs): Likewise.
6567 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
6568 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
6569 (grub_cmd_efiemu_pnvram): Likewise.
6570 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
6571 * fs/iso9660.c (grub_iso9660_mount): Likewise.
6572 (grub_iso9660_iterate_dir): Likewise.
6573 * fs/jfs.c (grub_jfs_opendir): Likewise.
6574 * fs/ntfs.c (list_file): Likewise.
6575 (grub_ntfs_mount): Likewise.
6576 * kern/disk.c (grub_disk_open): Likewise.
6577 * kern/dl.c (grub_dl_load_core): Likewise.
6578 * kern/elf.c (grub_elf_file): Likewise.
6579 * kern/env.c (grub_env_context_open): Likewise.
6580 (grub_env_set): Likewise.
6581 (grub_env_set_data_slot): Likewise.
6582 * kern/file.c (grub_file_open): Likewise.
6583 * kern/fs.c (grub_fs_blocklist_open): Likewise.
6584 * loader/i386/multiboot.c (grub_module): Likewise.
6585 * loader/xnu.c (grub_xnu_create_key): Likewise.
6586 (grub_xnu_create_value): Likewise.
6587 * normal/main.c (grub_normal_add_menu_entry): Likewise.
6588 (read_config_file): Likewise.
6589 * normal/menu_entry.c (make_screen): Likewise.
6590 * partmap/sun.c (sun_partition_map_iterate): Likewise.
6591 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
6592 * script/sh/script.c (grub_script_parse): Likewise.
6593 * video/bitmap.c (grub_video_bitmap_create): Likewise.
6594 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6595 * video/readers/png.c (grub_png_output_byte): Likewise.
6596 (grub_video_reader_png): Likewise.
6597
830afef7 65982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 6599
6600 Enable all targets that can be built by default
6601
830afef7 6602 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 6603 grub-mkfont and grub-fstest if they can be built
6604
ee293aee 66052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 Fix hang and segmentation fault in grub-emu-usb
6608
6609 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
6610 * util/usb.c (grub_libusb_devices): likewise
6611 (grub_libusb_init): rename to ...
6612 (GRUB_MOD_INIT (libusb)):...this
6613 (grub_libusb_fini): rename to ..
6614 (GRUB_MOD_FINI (libusb)):...this
6615 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6616 * include/grub/disk.h (grub_raid_init): removed, it's useless
6617 (grub_raid_fini): likewise
6618 (grub_lvm_init): likewise
6619 (grub_lvm_fini): likewise
6620 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6621 by grub_init_all
6622
94414221 66232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 Fix libusb
6626
6627 * Makefile.in (LIBUSB): new macro
6628 * genmk.rb (Utility/print_tail): new method
6629 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6630 (top level): call util.print_tail at the end.
6631
59ade63d 66322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 Make FreeBSD accept zpool.cache
6635
6636 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6637 type is /boot/zfs/zpool.cache
6638
a58da8c7 66392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 Fix 64-bit efiemu
6642
6643 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6644 correct wrong typedef
6645 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6646
20591577 66472009-07-15 Pavel Roskin <proski@gnu.org>
6648
560ca572 6649 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6650 * kern/disk.c (struct grub_disk_cache): Likewise.
6651
e8e8e4fd 6652 * commands/probe.c (options): Typo fix.
6653
fde24e10 6654 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6655 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6656 accordingly.
6657 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6658
379c54c1 6659 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6660 the end of "Error" to make the message more readable.
6661
7bd8f5bf 6662 * boot/i386/pc/boot.S (kernel_segment): Remove.
6663 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6664 for destination.
6665
40b132c5 6666 * boot/i386/pc/boot.S (boot_version): Remove.
6667 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6668 Remove.
6669
20591577 6670 * include/grub/i386/pc/boot.h: Sort all offsets.
6671 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6672 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6673 * boot/i386/pc/boot.S: Assert location of every offset listed in
6674 include/grub/i386/pc/boot.h.
6675
2df32b2c 66762009-07-13 Pavel Roskin <proski@gnu.org>
6677
44b5d879 6678 * include/grub/i386/coreboot/machine.h: Rename
6679 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6680 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6681 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6682
17dc3751 6683 * kern/dl.c: Force native word size to suppress warnings when
6684 compiling grub-emu.
6685
2df32b2c 6686 * kern/device.c (grub_device_iterate): Change struct part_ent to
6687 hold the name, not a pointer to it. Use one grub_malloc() per
6688 partition, not two. Free partition_name if grub_malloc() fails.
6689 Set ents to NULL only before grub_partition_iterate() is called.
6690
75c59f59 66912009-07-11 Bean <bean123ch@gmail.com>
6692
6693 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6694 childname.
6695
0ae1bf88 66962009-07-10 Bean <bean123ch@gmail.com>
66972009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6698
6699 * kern/ieee1275/openfw.c (grub_children_iterate)
6700 (grub_devalias_iterate): Fix size evaluation for property or path
6701 strings, which was broken since r2132.
6702
8279cade 67032009-07-07 Pavel Roskin <proski@gnu.org>
6704
7d8a52d3 6705 * commands/search.c (search_file): Merge into ...
6706 (search_fs): ... this. Accept search type as argument.
6707 (grub_cmd_search): Pass search type to search_fs().
6708
25f9a05a 6709 * include/grub/util/console.h: New file.
6710 * util/console.c: Use it instead of grub/machine/console.h.
6711 * util/grub-emu.c: Likewise.
6712
8279cade 6713 * lib/arg.c (find_long_option): Remove.
6714 (find_long): Add `len' argument, make `s' const char *.
6715 (grub_arg_parse): Parse long options in place, not in a
6716 temporary buffer.
6717
4a11b60f 67182009-07-06 Pavel Roskin <proski@gnu.org>
6719
99f68041 6720 * commands/search.c (search_fs): Fix potential NULL pointer
6721 dereference.
6722
4a11b60f 6723 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6724 function pointer.
6725
e110f4de 67262009-07-06 Daniel Mierswa <impulze@impulze.org>
6727
6728 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6729 comparison.
6730
46eeb6a2 67312009-07-05 Pavel Roskin <proski@gnu.org>
6732
bab74958 6733 * include/grub/i386/linux.h (struct linux_kernel_params):
6734 Restore padding3, it's still needed.
6735
46eeb6a2 6736 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6737 FreeBSD.
6738 * util/osdetect.lua: Likewise.
6739
b4a1dc79 67402009-07-05 Bean <bean123ch@gmail.com>
6741
6742 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6743
6744 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6745 (grub_lua_getenv): Likewise.
6746 (grub_lua_setenv): Likewise.
6747 (save_errno): New function.
6748 (push_result): Likewise.
6749 (grub_lua_enum_device): Likewise.
6750 (grub_lua_enum_file): Likewise.
6751 (grub_lua_file_open): Likewise.
6752 (grub_lua_file_close): Likewise.
6753 (grub_lua_file_seek): Likewise.
6754 (grub_lua_file_read): Likewise.
6755 (grub_lua_file_getline): Likewise.
6756 (grub_lua_file_getsize): Likewise.
6757 (grub_lua_file_getpos): Likewise.
6758 (grub_lua_file_eof): Likewise.
6759 (grub_lua_file_exist): Likewise.
6760 (grub_lua_add_menu): Likewise.
6761
6762 * script/lua/grub_lua.h (isupper): New inline function.
6763 (islower): Likewise.
6764 (ispunct): Likewise.
6765 (isxdigit): Likewise.
6766 (strcspn): Change to normal function.
6767 (strpbkr): New function declaration.
6768 (memchr): Likewise.
6769
6770 * script/lua/grub_main.c (scan_str): New function.
6771 (strcspn): Likewise.
6772 (strpbrk): Likewise.
6773 (memchr): Likewise.
6774
6775 * script/lua/linit.c (lualibs): Enable the string library.
6776
6777 * util/osdetect.lua: New file.
6778
2da92295 67792009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6780
6781 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6782 `capabilities' member.
6783
b2582ec9 67842009-07-02 Pavel Roskin <proski@gnu.org>
6785
6786 * genparttoollist.sh: Add missing newline at the end.
6787
32622956 67882009-07-01 Pavel Roskin <proski@gnu.org>
6789
87a7339e 6790 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
6791
d23af54e 6792 * util/hostdisk.c (open_device): Remove `const' from
6793 `sysctl_size', as sysctlbyname() can change it (in this case it
6794 doesn't actually happen).
6795
c94b18a9 6796 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
6797 using signed long int constants.
6798
c6cd3ef0 6799 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6800 constant to avoid a warning on FreeBSD.
6801
0df63420 6802 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6803 where it's needed.
6804
999577f1 6805 * Makefile.in: Install include/grub/machine symlink.
6806
6f41557f 6807 * Makefile.in: When installing symlinks, use "cp -fR", which
6808 works on FreeBSD and MacOSX.
6809 From Yves Blusseau <cl7m42e02@sneakemail.com>
6810
c8d22988 6811 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6812 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6813
1b96e952 6814 * util/misc.c: Move grub_reboot() and grub_halt() ...
6815 * util/grub-emu.c: ... here. Make main_env static.
6816 * include/grub/util/misc.h: Remove main_env.
6817
2ef0084d 6818 * kern/mm.c: Use correct format to print size_t.
6819
32622956 6820 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6821 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6822 * kern/powerpc/dl.c: Likewise.
6823 * kern/sparc64/dl.c: Likewise.
6824 * kern/x86_64/dl.c: Likewise.
6825
3f7f0cd0 68262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6827
6828 Fix grub-emu build on sparc64-ieee1275.
6829
75421ca9 6830 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6832
211d06b5 68332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6834
6835 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6836 (grub_reboot, grub_halt): New functions.
6837
6838 * util/i386/pc/misc.c: Delete. Update all users.
6839 * util/sparc64/ieee1275/misc.c: Likewise.
6840 * util/powerpc/ieee1275/misc.c: Likewise.
6841
aaf53e3c 68422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6843
6844 * conf/i386.rmk (setjmp_mod_SOURCES)
6845 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6846 * conf/common.rmk (setjmp_mod_SOURCES)
6847 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6848 to use $(target_cpu).
6849 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6850 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6851 * conf/powerpc-ieee1275.rmk: Likewise.
6852 * conf/sparc64-ieee1275.rmk: Likewise.
6853
6854 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6855 $(target_cpu) for kern/$(target_cpu)/dl.c.
6856 * conf/i386-efi.rmk: Likewise.
6857 * conf/i386-ieee1275.rmk: Likewise.
6858 * conf/x86_64-efi.rmk: Likewise.
6859 * conf/i386-coreboot.rmk: Likewise.
6860 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
6861 $(target_cpu) for kern/$(target_cpu)/dl.c and for
6862 kern/$(target_cpu)/cache.S.
6863 * conf/sparc64-ieee1275.rmk: Likewise.
6864
a337130b 68652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6866
6867 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
6868 type to `grub_uint8_t', and adjust `padding9' accordingly.
6869
c6fe4d53 68702009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6871
b09db61d 6872 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
6873
c6fe4d53 6874 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
6875 assembly in final jump, using register constraints.
6876
b09db61d 6877 (grub_linux_boot): For text mode, initialize `have_vga' using
6878 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
6879
6880 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
6881 right before the final jump.
6882
6883 Set `video_mode' to 0x3.
6884
6885 Document initialization of `video_page', `video_mode' and
6886 `video_ega_bx'.
6887
28333ad0 68882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6889
6890 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
6891 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 6892 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 6893
02164e1b 68942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6895
6896 Fix build on Debian / sparc.
6897
6898 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
6899
18b6c557 69002009-06-28 Pavel Roskin <proski@gnu.org>
6901
85f2aab6 6902 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
6903 fix a warning.
6904
18b6c557 6905 * util/grub.d/10_linux.in: Match SUSE style initrd names.
6906
ad760f81 69072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6908
6909 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
6910 `err'.
6911
87a4623b 69122009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6913
6914 Revert r2338.
6915
6916 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
6917 file can't be opened. grub_file_open() is already supposed to set
75421ca9 6918 grub_errno / grub_errmsg appropriately.
87a4623b 6919 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6920
8231fb77 69212009-06-27 Pavel Roskin <proski@gnu.org>
69222009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6923
6924 * include/grub/dl.h: Include grub/elf.h.
6925 (struct grub_dl): Add symtab field.
6926 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
6927 GRUB_MODULES_MACHINE_READONLY.
6928 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
6929 of the header for read-only modules.
6930 (grub_dl_unload): Free mod->symtab for read-only modules.
6931 * kern/i386/dl.c: Use mod->symtab.
6932 * kern/powerpc/dl.c: Likewise.
6933 * kern/sparc64/dl.c: Likewise.
6934 * kern/x86_64/dl.c: Likewise.
6935
6936 * conf/i386-qemu.rmk: New file.
6937 * kern/i386/qemu/startup.S: Likewise.
6938 * kern/i386/qemu/mmap.c: Likewise.
6939 * boot/i386/qemu/boot.S: Likewise.
6940 * include/grub/i386/qemu/time.h: Likewise.
6941 * include/grub/i386/qemu/serial.h: Likewise.
6942 * include/grub/i386/qemu/kernel.h: Likewise.
6943 * include/grub/i386/qemu/console.h: Likewise.
6944 * include/grub/i386/qemu/boot.h: Likewise.
6945 * include/grub/i386/qemu/init.h: Likewise.
6946 * include/grub/i386/qemu/machine.h: Likewise.
6947 * include/grub/i386/qemu/loader.h: Likewise.
6948 * include/grub/i386/qemu/memory.h: Likewise.
6949
6950 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
6951 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
6952 [qemu] (pkglib_IMAGES): Add `boot.img'.
6953 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
6954 [qemu] (boot_img_FORMAT): New variables.
6955 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
6956 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
6957 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
6958 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6959 [qemu] (kernel_img_FORMAT): New variables.
6960
6961 * configure.ac: Recognise `i386-qemu'.
6962
6963 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
6964 (for no compression).
6965 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
6966 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
6967 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
6968 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
6969 ifdefs).
6970
97fe384e 69712009-06-27 Pavel Roskin <proski@gnu.org>
6972
6973 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
6974 read.
6975 * efiemu/prepare32.c: Likewise.
6976 * efiemu/prepare64.c: Likewise.
6977
c402ab17 69782009-06-26 Pavel Roskin <proski@gnu.org>
6979
6980 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
6981 * include/grub/elf.h: Define symbols without "32" or "64" based
6982 on GRUB_TARGET_WORDSIZE.
6983 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
6984 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
6985 ELF definitions.
6986 * efiemu/loadcore64.c: Likewise.
6987 * loader/i386/bsd32.c: Likewise.
6988 * loader/i386/bsd64.c: Likewise.
6989 * kern/dl.c: Remove own ELF definitions.
6990 * util/i386/efi/grub-mkimage.c: Likewise.
6991
9bbdfd4d 69922009-06-23 Robert Millan <rmh.grub@aybabtu.com>
6993
6994 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
6995 segment 0x0 unconditionally, because the reference generated by
6996 GAS is an absolute address.
6997
a42ce6e9 69982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6999
7000 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7001 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7002
c952cf92 70032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7004
7005 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7006 indexes. Check for -f explicitly.
cc3752ad 7007 (search_file): Improve error message.
7008 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7009
132a0a59 70102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7011
7012 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7013 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7014
387a140c 70152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7016
7017 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7018 * conf/i386-ieee1275.rmk: Likewise.
7019 * conf/i386-coreboot.rmk: Likewise.
7020
7021 * kern/i386/pc/startup.S (grub_stop): Remove function.
7022 * kern/i386/ieee1275/startup.S: Likewise.
7023 * kern/i386/coreboot/startup.S: Likewise.
7024 * kern/i386/misc.S (grub_stop): New function.
7025
41da9665 70262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7027
7028 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7029 * kern/i386/realmode.S (real_to_prot): ... to here.
7030
bf337234 70312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7032
7033 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7034 with `kernel.img'.
7035 (kernel_elf_SOURCES): Rename to ...
7036 (kernel_img_SOURCES): ... this.
7037 (kernel_elf_HEADERS): Rename to ...
7038 (kernel_img_HEADERS): ... this. Update all users.
7039 (kernel_elf_ASFLAGS): Rename to ...
7040 (kernel_img_ASFLAGS): ... this.
7041 (kernel_elf_CFLAGS): Rename to ...
7042 (kernel_img_CFLAGS): ... this.
7043 (kernel_elf_LDFLAGS): Rename to ...
7044 (kernel_img_LDFLAGS): ... this.
7045 * conf/i386-coreboot.rmk: Likewise.
7046 * conf/powerpc-ieee1275.rmk: Likewise.
7047
7048 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7049 with "kernel.img".
7050
f52196ff 70512009-06-21 Pavel Roskin <proski@gnu.org>
7052
c3cee413 7053 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7054 to match nested functions.
7055 * loader/sparc64/ieee1275/linux.c: Likewise.
7056
f52196ff 7057 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7058
58750afc 70592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7060
7061 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7062 all i386 platforms.
7063
15355c7d 70642009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7065
7066 Fix asm file handling on ELF, and remove workarounds.
7067
7068 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7069 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7070 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7071 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7072
3f3ec72b 70732009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 Load BSD ELF modules
7076
7077 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7078 and loader/i386/bsd64.c
7079 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7080 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7081 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7082 (grub_freebsd_load_elfmodule32): New declaration
7083 (grub_freebsd_load_elfmoduleobj64): Likewise
7084 (grub_freebsd_load_elf_meta32): Likewise
7085 (grub_freebsd_load_elf_meta64): Likewise
7086 (grub_freebsd_add_meta): Likewise
7087 (grub_freebsd_add_meta_module): Likewise
7088 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7089 (grub_freebsd_add_meta_module): Likewise and move module-specific
7090 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7091 (grub_cmd_freebsd): Add elf-kernel specific parts
7092 based on grub_freebsd_add_meta_module
7093 (grub_cmd_freebsd_module): Add type parsing moved from
7094 grub_freebsd_add_meta_module
7095 (grub_cmd_freebsd_module_elf): New function
7096 (cmd_freebsd_module_elf): New variable
7097 (GRUB_MOD_INIT): Register freebsd_module_elf
7098 * loader/i386/bsd32.c: New file
7099 * loader/i386/bsd64.c: Likewise
7100 * loader/i386/bsdXX.c: Likewise
7101 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7102 (grub_elf64_load): Likewise
7103 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7104 All users updated
7105 (grub_elf64_load_hook_t): Likewise
7106
0db15301 71072009-06-21 Colin Watson <cjwatson@ubuntu.com>
7108
7109 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7110 variable.
7111 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7112 don't write a menu entry for recovery mode.
7113
546796c1 71142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7115
7116 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7117 after it's no longer needed.
7118
cd7310d5 71192009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7120
7121 * include/grub/i386/loader.h (grub_linux_prot_size)
7122 (grub_linux_tmp_addr, grub_linux_real_addr)
7123 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7124 GRUB_MACHINE_PCBIOS.
7125 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7126 common grub_util_info() call to ...
7127 (generate_image): ... here.
7128 Fix use of uninitialized memory, comparison of signed with
7129 unsigned integers and memory leak.
7130 Remove bogus module address message.
7131
ab32d3b5 71322009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7135 grub_raid_register
7136 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7137
024ef597 71382009-06-19 Pavel Roskin <proski@gnu.org>
7139
7140 * configure.ac: Remove stray AC_MSG_CHECKING.
7141
3ac72b51 71422009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7145
e14cd814 71462009-06-18 Pavel Roskin <proski@gnu.org>
7147
7148 * conf/common.rmk: Add fs_file.mod.
7149 * disk/fs_file.c: New file.
7150 * include/grub/disk.h (enum grub_disk_dev_id): Add
7151 GRUB_DISK_DEVICE_FILE_ID.
7152
26586d98 71532009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 Fix build with Apple's toolchain. Part 2
7156
7157 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7158 a fake start
7159
26de2bcd 71602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 Fix build with Apple's toolchain. Part 1
7163
7164 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7165 for long calls
7166 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7167 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7168 Apple's toolchain
7169
09b3490b 71702009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 Fix warnings
7173
7174 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7175 (decomp_block): initialize ch
7176 use grub_memcpy instead of memcpy
7177
c22a006a 71782009-06-17 Pavel Roskin <proski@gnu.org>
7179
d3638678 7180 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7181 version, use declarations needed to use vga_text as the startup
7182 console.
7183
c22a006a 7184 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7185 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7186 the kernel.
7187 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7188 and grub_at_keyboard_fini(), it's done on module load and
7189 unload.
7190
05b129e0 71912009-06-17 Felix Zielcke <fzielcke@z-51.de>
7192
7193 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7194 file can't be found.
7195 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7196
cf24ed9e 71972009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 Fix newline handling
7200
7201 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7202 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7203 (grub_script_yylex): don't segfault on unterminated script
7204 newline terminates command and variable
7205
74aa8e4b 72062009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 avoid double grub_adjust_range call. Bug reported by David Simner
7209
7210 * kern/disk.c (grub_disk_write): change to raw disk access before
7211 calling disk_read
7212
1bd265f3 72132009-06-17 Colin Watson <cjwatson@ubuntu.com>
7214
7215 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7216 spaces, for the benefit of help2man.
7217 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7218
a2d08c06 72192009-06-16 Pavel Roskin <proski@gnu.org>
7220
7221 * kern/i386/halt.c: Include grub/machine/init.h.
7222 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7223
b97bcb19 72242009-06-16 Felix Zielcke <fzielcke@z-51.de>
7225
7226 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7227 drivemap menuentry.
7228
0644f96c 72292009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7230
7231 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7232 `echo' command.
7233
3ef17a2e 72342009-06-16 Pavel Roskin <proski@gnu.org>
7235
7236 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7237 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7238 save %dx, we only need %dl and we never change it.
7239 * boot/i386/pc/cdboot.S: Don't set the root drive.
7240 * boot/i386/pc/pxeboot.S: Likewise.
7241 * include/grub/i386/pc/boot.h: Remove
7242 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7243 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7244 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7245 * kern/i386/pc/init.c (make_install_device): Remove references
7246 to grub_root_drive.
7247 * kern/i386/pc/startup.S: Likewise.
7248 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7249
693fe637 72502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 xnu_uuid command
7253
7254 * commands/xnu_uuid.c: new file
7255 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7256 (xnu_uuid_mod_SOURCES): new variable
7257 (xnu_uuid_mod_CFLAGS): likewise
7258 (xnu_uuid_mod_LDFLAGS): likewise
7259 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7260 * conf/i386-ieee1275.rmk: likewise
7261 * conf/i386-pc.rmk: likewise
7262 * conf/powerpc-ieee1275.rmk: likewise
7263 * conf/sparc64-ieee1275.rmk: likewise
7264 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7265
c9da87d0 72662009-06-16 Pavel Roskin <proski@gnu.org>
7267
7268 * configure.ac: Avoid '==' in test command, it's not portable.
7269
9c6f4596 72702009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 Probe command
7273
7274 * commands/probe.c: new file
7275 * conf/common.rmk (pkglib_MODULES): add probe.mod
7276 (probe_mod_SOURCES): new variable
7277 (probe_mod_CFLAGS): likewise
7278 (probe_mod_LDFLAGS): likewise
7279 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7280 * conf/i386-ieee1275.rmk: likewise
7281 * conf/i386-pc.rmk: likewise
7282 * conf/powerpc-ieee1275.rmk: likewise
7283 * conf/sparc64-ieee1275.rmk: likewise
7284
70b7f9fd 72852009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 Fix handling of string like \"hello\" and "a
7288 b"
7289
7290 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7291 (grub_script_yylex): fix parsing of quoting, escaping and newline
7292
71c79a6b 72932009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7294
dd74360c 7295 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 7296 handling
dd74360c 7297
0644f96c 72982009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 7299
7300 * util/grub-mkconfig.in: Fix parsing of --output option.
7301
e40893c3 73022009-06-12 Pavel Roskin <proski@gnu.org>
7303
7304 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7305 genmk.rb don't need to be generated or installed.
7306
3a1acfe2 73072009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * commands/i386/pc/drivemap_int13h.S: add more comments
7310
3a4575d4 73112009-06-11 Pavel Roskin <proski@gnu.org>
7312
0658e928 7313 * Makefile.in (uninstall): Uninstall manuals.
7314
ca0388f0 7315 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7316 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7317 and update-grub_lib in two places.
7318 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7319
e3b27c39 7320 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
7321 a compiler warning.
7322
3a4575d4 7323 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
7324 `entry_lo' to fix variable shadowing.
7325
af1f4f55 73262009-06-11 Christian Franke <franke@computer.org>
7327
7328 * kern/misc.c (__enable_execute_stack): Add missing return type
7329 to prevent gcc warning.
7330
5225e649 73312009-06-11 Felix Zielcke <fzielcke@z-51.de>
7332
7333 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
7334
7d83bd47 73352009-06-11 Pavel Roskin <proski@gnu.org>
7336
c1cb63ba 7337 * Makefile.in: Don't rely on any scripts being executable.
7338 Always use $(SHELL) to run shell scripts.
7339
7d83bd47 7340 * configure.ac: Always define ___main if using -nostdlib. This
7341 fixes tests on Cygwin.
7342
948f48e7 73432009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
7344
7345 UDF fix
7346
7d83bd47 7347 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 7348 is in bytes and not in blocks
7d83bd47 7349
8ada9bc1 73502009-06-11 Pavel Roskin <proski@gnu.org>
7351
7352 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
7353 warning.
7354
25ad2323 73552009-06-11 Felix Zielcke <fzielcke@z-51.de>
7356
7357 * util/grub.d/30_os-prober.in: Fix a comment. Source
7358 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
7359 to set the root device. Place drivemap command in the generated
7360 chain entry.
7361
e65acb0c 73622009-06-11 Pavel Roskin <proski@gnu.org>
7363
7364 * configure.ac: Remove host_m32. Issues with 64-bit utilities
7365 have long been resolved.
7366
f285fe2d 73672009-06-11 Colin Watson <cjwatson@ubuntu.com>
7368
bd47b0b5 7369 * util/grub.d/10_linux.in: Capitalise "Linux".
7370
f285fe2d 7371 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
7372
a0c62e4e 73732009-06-11 Pavel Roskin <proski@gnu.org>
7374
b6783cb2 7375 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
7376 fix a gcc warning and ensure that the function won't ever exit.
7377
dde032e8 7378 * kern/i386/ieee1275/init.c: Add missing prototype for
7379 grub_stop_floppy().
7380
22cd079d 7381 * loader/ieee1275/multiboot2.c [__i386__]: Include
7382 grub/cpu/multiboot.h.
7383
a0c62e4e 7384 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
7385 casts to short - they are not portable and cause warnings. Fix
7386 use of uninitialized values in input_buf. Use ARRAY_SIZE.
7387
63963d17 73882009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 Drivemap fixes
7391
7392 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
7393 new function
7394 (grub_get_root_biosnumber_saved): new variable
7395 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
7396 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 7397 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 7398 %dx after the call if necessary
7399 * conf/common.rmk (pkglib_MODULES): remove boot.mod
7400 (boot_mod_SOURCES): remove
7401 (boot_mod_CFLAGS): remove
7402 (boot_mod_LDFLAGS): remove
7403 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
7404 (boot_mod_SOURCES): new variable
7405 (boot_mod_CFLAGS): likewise
7406 (boot_mod_LDFLAGS): likewise
7407 * conf/i386-efi.rmk: likewise
7408 * conf/i386-ieee1275.rmk: likewise
7409 * conf/i386-pc.rmk: likewise
7410 * conf/powerpc-ieee1275.rmk: likewise
7411 * conf/sparc64-ieee1275.rmk: likewise
7412 * conf/x86_64-efi.rmk: likewise
7413 * include/grub/i386/pc/biosnum.h: new file
7414 * lib/i386/pc/biosnum.c: likewise
7415 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
7416 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
7417 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 7418
33abf7ae 74192009-06-10 Pavel Roskin <proski@gnu.org>
7420
5ac35b35 7421 * io/gzio.c (test_header): Don't reuse one buffer for all data.
7422 Use separate variables. Read only the file size at the end, but
7423 not the checksum that we don't use.
7424
5c5215d5 7425 * kern/file.c (grub_file_read): Use void pointer for the buffer.
7426 Adjust all callers.
7427
27d5fef7 7428 * kern/ieee1275/openfw.c: Remove libc includes.
7429 * kern/ieee1275/cmain.c: Likewise.
7430 * include/grub/ieee1275/ieee1275.h: Likewise.
7431
33abf7ae 7432 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
7433 compiler warnings.
7434
19d50c2b 74352009-06-10 Felix Zielcke <fzielcke@z-51.de>
7436
7437 * Makefile.in: Remove all trailing whitespace.
7438 * conf/i386-pc.rmk: Likewise.
7439 * conf/powerpc-ieee1275.rmk: Likewise.
7440 * conf/sparc64-ieee1275.rmk: Likewise.
7441 * docs/grub.texi: Likewise.
7442 * docs/texinfo.tex: Likewise.
7443 * disk/fs_uuid.c: Likewise.
7444 * disk/lvm.c: Likewise.
7445 * disk/scsi.c: Likewise.
7446 * disk/ata.c: Likewise.
7447 * disk/ieee1275/ofdisk.c: Likewise.
7448 * disk/i386/pc/biosdisk.c: Likewise.
7449 * disk/host.c: Likewise.
7450 * disk/raid.c: Likewise.
7451 * disk/efi/efidisk.c: Likewise.
7452 * disk/usbms.c: Likewise.
7453 * disk/memdisk.c: Likewise.
7454 * disk/loopback.c: Likewise.
7455 * kern/powerpc/dl.c: Likewise.
7456 * kern/device.c: Likewise.
7457 * kern/dl.c: Likewise.
7458 * kern/sparc64/dl.c: Likewise.
7459 * kern/ieee1275/ieee1275.c: Likewise.
7460 * kern/term.c: Likewise.
7461 * kern/fs.c: Likewise.
7462 * kern/i386/dl.c: Likewise.
7463 * kern/i386/pc/startup.S: Likewise.
7464 * kern/i386/pc/init.c: Likewise.
7465 * kern/i386/pc/mmap.c: Likewise.
7466 * kern/i386/pc/lzo1x.S: Likewise.
7467 * kern/i386/ieee1275/init.c: Likewise.
7468 * kern/i386/realmode.S: Likewise.
7469 * kern/i386/tsc.c: Likewise.
7470 * kern/partition.c: Likewise.
7471 * kern/corecmd.c: Likewise.
7472 * kern/file.c: Likewise.
7473 * kern/efi/efi.c: Likewise.
7474 * kern/efi/init.c: Likewise.
7475 * kern/efi/mm.c: Likewise.
7476 * kern/main.c: Likewise.
7477 * kern/err.c: Likewise.
7478 * kern/env.c: Likewise.
7479 * kern/disk.c: Likewise.
7480 * kern/generic/millisleep.c: Likewise.
7481 * kern/generic/rtc_get_time_ms.c: Likewise.
7482 * kern/misc.c: Likewise.
7483 * kern/parser.c: Likewise.
7484 * genmk.rb: Likewise.
7485 * configure.ac: Likewise.
7486 * boot/i386/pc/diskboot.S: Likewise.
7487 * boot/i386/pc/pxeboot.S: Likewise.
7488 * boot/i386/pc/boot.S: Likewise.
7489 * boot/i386/pc/lnxboot.S: Likewise.
7490 * boot/i386/pc/cdboot.S: Likewise.
7491 * parttool/pcpart.c: Likewise.
7492 * video/readers/tga.c: Likewise.
7493 * video/video.c: Likewise.
7494 * video/bitmap.c: Likewise.
7495 * lib/envblk.c: Likewise.
7496 * lib/i386/setjmp.S: Likewise.
7497 * fs/xfs.c: Likewise.
7498 * fs/afs.c: Likewise.
7499 * fs/fat.c: Likewise.
7500 * fs/ntfs.c: Likewise.
7501 * fs/udf.c: Likewise.
7502 * fs/affs.c: Likewise.
7503 * fs/iso9660.c: Likewise.
7504 * fs/hfs.c: Likewise.
7505 * fs/fshelp.c: Likewise.
7506 * fs/ext2.c: Likewise.
7507 * fs/jfs.c: Likewise.
7508 * fs/reiserfs.c: Likewise.
7509 * fs/hfsplus.c: Likewise.
7510 * fs/minix.c: Likewise.
7511 * fs/cpio.c: Likewise.
7512 * fs/sfs.c: Likewise.
7513 * fs/ufs.c: Likewise.
7514 * efiemu/prepare.c: Likewise.
7515 * efiemu/loadcore_common.c: Likewise.
7516 * efiemu/runtime/efiemu.sh: Likewise.
7517 * efiemu/runtime/efiemu.S: Likewise.
7518 * efiemu/runtime/efiemu.c: Likewise.
7519 * efiemu/pnvram.c: Likewise.
7520 * efiemu/main.c: Likewise.
7521 * efiemu/i386/pc/cfgtables.c: Likewise.
7522 * efiemu/i386/loadcore64.c: Likewise.
7523 * efiemu/i386/loadcore32.c: Likewise.
7524 * efiemu/loadcore.c: Likewise.
7525 * efiemu/symbols.c: Likewise.
7526 * efiemu/mm.c: Likewise.
7527 * include/grub/autoefi.h: Likewise.
7528 * include/grub/datetime.h: Likewise.
7529 * include/grub/term.h: Likewise.
7530 * include/grub/hfs.h: Likewise.
7531 * include/grub/lvm.h: Likewise.
7532 * include/grub/i386/tsc.h: Likewise.
7533 * include/grub/i386/linux.h: Likewise.
7534 * include/grub/i386/xnu.h: Likewise.
7535 * include/grub/i386/efiemu.h: Likewise.
7536 * include/grub/i386/pc/biosdisk.h: Likewise.
7537 * include/grub/i386/pc/memory.h: Likewise.
7538 * include/grub/i386/pc/vbe.h: Likewise.
7539 * include/grub/parttool.h: Likewise.
7540 * include/grub/video.h: Likewise.
7541 * include/grub/memory.h: Likewise.
7542 * include/grub/fs.h: Likewise.
7543 * include/grub/partition.h: Likewise.
7544 * include/grub/xnu.h: Likewise.
7545 * include/grub/efi/api.h: Likewise.
7546 * include/grub/efi/pe32.h: Likewise.
7547 * include/grub/efi/memory.h: Likewise.
7548 * include/grub/multiboot.h: Likewise.
7549 * include/grub/usbdesc.h: Likewise.
7550 * include/grub/multiboot2.h: Likewise.
7551 * include/grub/acpi.h: Likewise.
7552 * include/grub/efiemu/efiemu.h: Likewise.
7553 * include/grub/disk.h: Likewise.
7554 * include/grub/ieee1275/ieee1275.h: Likewise.
7555 * include/grub/net.h: Likewise.
7556 * include/grub/machoload.h: Likewise.
7557 * include/grub/macho.h: Likewise.
7558 * include/multiboot.h: Likewise.
7559 * genmoddep.awk: Likewise.
7560 * normal/main.c: Likewise.
7561 * normal/menu_entry.c: Likewise.
7562 * normal/menu_viewer.c: Likewise.
7563 * normal/completion.c: Likewise.
7564 * normal/cmdline.c: Likewise.
7565 * normal/misc.c: Likewise.
7566 * normal/datetime.c: Likewise.
7567 * bus/usb/usbtrans.c: Likewise.
7568 * bus/usb/ohci.c: Likewise.
7569 * bus/usb/uhci.c: Likewise.
7570 * bus/usb/usb.c: Likewise.
7571 * mmap/efi/mmap.c: Likewise.
7572 * mmap/i386/pc/mmap_helper.S: Likewise.
7573 * mmap/i386/pc/mmap.c: Likewise.
7574 * mmap/i386/mmap.c: Likewise.
7575 * mmap/i386/uppermem.c: Likewise.
7576 * mmap/mmap.c: Likewise.
7577 * commands/acpi.c: Likewise.
7578 * commands/echo.c: Likewise.
7579 * commands/blocklist.c: Likewise.
7580 * commands/loadenv.c: Likewise.
7581 * commands/usbtest.c: Likewise.
7582 * commands/boot.c: Likewise.
7583 * commands/parttool.c: Likewise.
7584 * commands/search.c: Likewise.
7585 * commands/cat.c: Likewise.
7586 * commands/i386/pc/play.c: Likewise.
7587 * commands/i386/pc/drivemap.c: Likewise.
7588 * commands/i386/pc/vbeinfo.c: Likewise.
7589 * commands/i386/pc/acpi.c: Likewise.
7590 * commands/i386/pc/vbetest.c: Likewise.
7591 * commands/ls.c: Likewise.
7592 * commands/cmp.c: Likewise.
7593 * commands/test.c: Likewise.
7594 * commands/efi/acpi.c: Likewise.
7595 * commands/gptsync.c: Likewise.
7596 * commands/help.c: Likewise.
7597 * partmap/amiga.c: Likewise.
7598 * partmap/apple.c: Likewise.
7599 * partmap/acorn.c: Likewise.
7600 * partmap/pc.c: Likewise.
7601 * partmap/sun.c: Likewise.
7602 * partmap/gpt.c: Likewise.
7603 * script/sh/lexer.c: Likewise.
7604 * script/sh/function.c: Likewise.
7605 * font/font.c: Likewise.
7606 * font/font_cmd.c: Likewise.
7607 * loader/powerpc/ieee1275/linux.c: Likewise.
7608 * loader/efi/chainloader.c: Likewise.
7609 * loader/multiboot_loader.c: Likewise.
7610 * loader/macho.c: Likewise.
7611 * loader/i386/multiboot.c: Likewise.
7612 * loader/i386/linux.c: Likewise.
7613 * loader/i386/pc/linux.c: Likewise.
7614 * loader/i386/pc/multiboot2.c: Likewise.
7615 * loader/i386/pc/chainloader.c: Likewise.
7616 * loader/i386/pc/xnu.c: Likewise.
7617 * loader/i386/bsd_trampoline.S: Likewise.
7618 * loader/i386/efi/linux.c: Likewise.
7619 * loader/i386/multiboot_elfxx.c: Likewise.
7620 * loader/i386/bsd_helper.S: Likewise.
7621 * loader/i386/bsd.c: Likewise.
7622 * loader/i386/linux_trampoline.S: Likewise.
7623 * loader/i386/xnu_helper.S: Likewise.
7624 * loader/i386/xnu.c: Likewise.
7625 * loader/i386/bsd_pagetable.c: Likewise.
7626 * loader/i386/multiboot_helper.S: Likewise.
7627 * loader/xnu.c: Likewise.
7628 * loader/xnu_resume.c: Likewise.
7629 * io/gzio.c: Likewise.
7630 * term/efi/console.c: Likewise.
7631 * term/terminfo.c: Likewise.
7632 * term/ieee1275/ofconsole.c: Likewise.
7633 * term/i386/pc/serial.c: Likewise.
7634 * term/i386/pc/vesafb.c: Likewise.
7635 * term/i386/pc/vga.c: Likewise.
7636 * term/usb_keyboard.c: Likewise.
7637 * term/gfxterm.c: Likewise.
7638 * aclocal.m4: Likewise.
7639 * util/lvm.c: Likewise.
7640 * util/grub.d/30_os-prober.in: Likewise.
7641 * util/grub.d/10_hurd.in: Likewise.
7642 * util/console.c: Likewise.
7643 * util/grub-macho2img.c: Likewise.
7644 * util/grub-probe.c: Likewise.
7645 * util/hostfs.c: Likewise.
7646 * util/i386/pc/grub-mkimage.c: Likewise.
7647 * util/i386/pc/grub-setup.c: Likewise.
7648 * util/i386/efi/grub-mkimage.c: Likewise.
7649 * util/grub-mkconfig.in: Likewise.
7650 * util/raid.c: Likewise.
7651 * util/resolve.c: Likewise.
7652 * util/grub-mkdevicemap.c: Likewise.
7653 * util/grub-emu.c: Likewise.
7654 * util/getroot.c: Likewise.
7655 * util/hostdisk.c: Likewise.
7656 * util/usb.c: Likewise.
7657 * util/grub-editenv.c: Likewise.
7658 * util/misc.c: Likewise.
7659
d2d49665 76602009-06-10 Felix Zielcke <fzielcke@z-51.de>
7661
7662 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7663 `genparttoollist.sh'.
7664 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7665 Add `*.sh' to the list find searches for and change `mdate.sh'
7666 to `mdate-sh'.
7667
fe052e37 76682009-06-10 Pavel Roskin <proski@gnu.org>
7669
2763ac18 7670 * include/grub/multiboot2.h: Provide compatibility defines for
7671 multiboot2.h.
7672 * include/multiboot2.h: Include stdint.h only if needed, using
7673 angle brackets.
7674 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7675 grub/multiboot2.h.
7676 * loader/ieee1275/multiboot2.c: Likewise.
7677 * loader/multiboot2.c: Likewise.
7678 * loader/multiboot_loader.c: Likewise.
7679
437e6adc 7680 * configure.ac: Use -nostdlib when probing for the target. It
7681 should not be required to have libc for the target.
7682
06a6836c 7683 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7684 they fail without libc headers for the target.
7685 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7686 exports.
7687 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7688 preprocessor conditionals.
7689
fe052e37 7690 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7691 build system doesn't need to be aware of the tar.c internals.
7692
afd22553 76932009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 7694
afd22553 7695 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 7696
6b787c4f 76972009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7698
7699 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7700 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7701
77022009-06-09 Felix Zielcke <fzielcke@z-51.de>
7703
7704 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 7705 aren't available if ata.mod gets used.
6b787c4f 7706
473d1e45 77072009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 7708
473d1e45 7709 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 7710 initialising controller.
473d1e45 7711 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 7712
255a27d4 77132009-06-08 Felix Zielcke <fzielcke@z-51.de>
7714
7715 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7716 to choose between ata and biosdisk module on i386-pc.
7717
473d1e45 77182009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 7719
d55842d8 7720 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7721 Subclass and Programming Interface fields in terms of the 3 byte
7722 Class Code register.
7723 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7724
fa5db0b1 7725 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7726 interface is OHCI. Add grub_dprintf for symmetry with
7727 bus/usb/uhci.c.
7728 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7729 interface is UHCI. Add interf variable for programming
7730 interface. Print interface with class/subclass.
7731
c0947beb 7732 * bus/usb/ohci.c: Set interf with correct field.
7733
69da8877 7734 * bus/usb/uhci.c: Remove unneeded doubled lines.
7735 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7736 Remove whitespace inside comment.
7737
9e172e30 77382009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7739
7740 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7741 as fallback an equivalent option without depth.
7742
de65ee2b 77432009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 Not fail if unable to retrieve C/H/S on LBA disks
7746
473d1e45 7747 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 7748 if unable to retrieve C/H/S on LBA disks
7749
b57ea2c9 77502009-06-08 Pavel Roskin <proski@gnu.org>
7751
7752 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7753 about aliasing.
7754
af361263 77552009-06-08 Felix Zielcke <fzielcke@z-51.de>
7756
7757 * Makefile.in (uninstall): Remove all $lib_DATA files.
7758
4c9ec6b3 77592009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 Bugfix: install on partitionless device
7762
7763 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7764 is a whole disk
7765
e76fc924 77662009-06-08 Felix Zielcke <fzielcke@z-51.de>
7767
7768 * Makefile.in (uninstall): Remove all $include_DATA files.
7769
ba5a0d05 77702009-06-08 Felix Zielcke <fzielcke@z-51.de>
7771
7772 * commands/true.c: New file. Implement the true and false commands.
7773 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7774 (true_mod_SOURCES): New variable.
7775 (true_mod_CFLAGS): Likewise.
7776 (true_mod_LDFLAGS): Likewise.
7777
c8048e32 77782009-06-05 Colin D Bennett <colin@gibibit.com>
7779
7780 Optimized font character lookup using binary search instead of linear
7781 search. Fonts now are required to have the character index ordered by
7782 code point.
7783
7784 * font/font.c (load_font_index): Verify that fonts have ordered
7785 character indices.
7786 (find_glyph): Use binary search instead of linear search to find a
7787 character in a font.
7788
408305be 77892009-06-05 Michael Scherer <misc@mandriva.org>
7790
7791 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
7792 uses case sensitive btree.
7793 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
7794 only for case insensitive filesystems.
7795
8ee1e0d9 77962009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
7799 * conf/common.rmk (search_mod_CFLAGS): likewise
7800
a9966eb1 78012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7802
473d1e45 7803 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7804 compensate a compiler bug
7805
9e7100fb 78062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7807
473d1e45 7808 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7809 instead of '\b'
473d1e45 7810
ede21d71 78112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 Definitions for creating asm symbols with Apple's CC
7814
7815 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7816 [APPLE_CC] (VARIABLE): likewise
7817
9dbf7653 78182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 Disable lnxboot.img when compiled
7821 with Apple's CC
7822
7823 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7824 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7825 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7826 [! APPLE_CC] (CODE_LENG): skip
7827 [! APPLE_CC] (setup_sects): likewise
7828 [! APPLE_CC]: skip filling
473d1e45 7829
e93cdc3d 78302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 Address in trampolines based on 32-bit registers when compiled
7833 with Apple's CC
7834
473d1e45 7835 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7836 for addresses
7837 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7838
6c688477 78392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7842
7843 * kern/misc.c [APPLE_CC] (memcpy): new function
7844 [APPLE_CC] (memmove): likewise
7845 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7846 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7847 (memset): likewise
7848 (abort): likewise
7849 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7850 APPLE_CC are defined
7851 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7852 (grub_assert_fail): make prototype conditional
7853
e37ffc5c 78542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7857
473d1e45 7858 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
7859 grub-macho2img
e37ffc5c 7860 (CLEANFILES): add grub-macho2img
7861 (grub_macho2img_SOURCES): new variable
7862 * kern/i386/pc/startup.S (bss_start): new variable
7863 (bss_end): likewise
7864 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
7865 * util/grub-macho2img.c: new file
7866
cf00df31 78672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 Use objconv when compiling with Apple's CC
7870
7871 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
7872 (efiemu64.o): likewise
7873 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
7874 when compiling with Apple's CC
7875 (efiemu64_s.o): likewise
7876 * configure.ac: check for objconv when compiling with Apple's CC
7877 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 7878
d119a20c 78792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 Define segment as well as section when compiling with
7882 Apple's CC
7883
7884 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
7885 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
7886 (efiemu_convert_pointer): likewise
7887 (efiemu_set_virtual_address_map): likewise
7888 (efiemu_convert_pointer): likewise
7889 (efiemu_getcrc32): likewise
7890 (init_crc32_table): likewise
7891 (reflect): likewise
7892 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
7893 (GRUB_MOD_DEP): likewise
473d1e45 7894
c8600122 78952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 Allow a compilation without -mcmodel=large
7898
7899 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
7900 when compiled without -mcmodel=large
473d1e45 7901 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 7902 without -mcmodel=large
473d1e45 7903 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 7904 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 7905
e8df1d4e 79062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Remove nested functions in efiemu core
7909
7910 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 7911
cc6c3ac1 79122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
7915
7916 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
7917 temporary storage
473d1e45 7918 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
7919 using Apple's CC
cc6c3ac1 7920 (grub_cpu_is_tsc_supported): likewise
7921 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 7922
3e325901 79232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 Absolute addressing through constant with Apple's cc
7926
7927 * kern/i386/pc/startup.S: Define necessary constants
7928 and address through it when using ABS with Apple's CC
7929 * boot/i386/pc/diskboot.S: likewise
7930 * boot/i386/pc/boot.S: likewise
7931 * boot/i386/pc/lnxboot.S: likewise
7932 * boot/i386/pc/cdboot.S: likewise
7933 * mmap/i386/pc/mmap_helper.S: likewise
7934 * commands/i386/pc/drivemap_int13h.S: likewise
7935
2b167a72 79362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 Check if compiler is apple cc
7939
7940 * Makefile.in (ASFLAGS): new variable
7941 (TARGET_ASFLAGS): likewise
7942 (TARGET_MODULE_FORMAT): likewise
7943 (TARGET_APPLE_CC): likewise
7944 (OBJCONV): likewise
7945 (TARGET_IMG_CFLAGS): likewise
7946 (TARGET_CPPFLAGS): add includedir
7947 * configure.ac: call grub_apple_cc and grub_apple_target_cc
7948 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
7949 Check for linker script only if compiler isn't Apple's CC
7950 (TARGET_MODULE_FORMAT): set
7951 (TARGET_APPLE_CC): likewise
7952 (TARGET_ASFLAGS): likewise
7953 (ASFLAGS): likewise
7954 Check for objcopy only if compiler isn't Apple's CC
7955 Check for BSS symbol only if compiler isn't Apple's CC
7956 * genmk.rb: adapt nm options if we use Apple's utils
7957 * aclocal.m4 (grub_apple_cc): new test
7958 (grub_apple_target_cc): likewise
473d1e45 7959
fb14123e 79602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 Simplify sed expressions and improve awk
7963
7964 * Makefile.in (install-local): simplify sed expression
7965 * gencmdlist.sh: likewise
7966 * genmoddep.awk: avoid adding module as a dependency of itself
7967
5b889789 79682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 Add missing start symbols
7971
7972 * boot/i386/pc/boot.S: add start
fb14123e 7973 * boot/i386/pc/pxeboot.S: likewise
473d1e45 7974
fd2bf2e3 79752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 7978
7979 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 7980 (relocate_addresses): consider both r_addend and value at offset
7981 (make_mods_section): zerofill modinfo and header
7982 (convert_elf): write prefix here
473d1e45 7983
5389763d 79842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Use .asciz instead of .string
7987
7988 * i386/pc/diskboot.S: use .asciz instead of .string
7989 * i386/pc/boot.S: likewise
7990 * include/grub/dl.h (GRUB_MOD_DEP): likewise
7991 (GRUB_MOD_NAME): likewise
473d1e45 7992
3eb5ed4e 79932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 gfxpayload support
7996
7997 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7998 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7999 (grub_video_setup): remove
8000 (grub_video_set_mode): new prototype
8001 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8002 (vid_mode): remove
8003 (linux_vesafb_res): compile only on PCBIOS
8004 (grub_linux_boot): support gfxpayload
8005 * loader/i386/pc/xnu.c (video_hook): new function
8006 (grub_xnu_set_video): support gfxpayload
8007 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8008 (DEFAULT_VIDEO_HEIGHT): likewise
8009 (DEFAULT_VIDEO_FLAGS): likewise
8010 (DEFAULT_VIDEO_MODE): new definition
8011 (video_hook): new function
8012 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8013 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8014 loading xnu
8015 * video/video.c (grub_video_setup): removed
473d1e45 8016 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8017 grub_video_setup
8018
4b0e1143 80192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Avoid calling biosdisk in drivemap
8022
8023 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8024 (revparse_biosdisk): likewise
8025 (list_mappings): derive name from id directly
8026 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8027
fda6cb98 80282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 Script fixes
8031
8032 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8033 (grub_lexer_param): add tokenonhold
8034 (grub_script_create_cmdline): remove cmdline. All callers updated
8035 (grub_script_function_create): make functionname
8036 grub_script_arg. All callers updated
8037 (grub_script_execute_argument_to_string): new prototype
8038 * kern/parser.c (state_transitions): reorder
8039 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8040 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8041 make global
8042 (grub_script_execute_cmdline): use new format
8043 * script/sh/function.c (grub_script_function_create): make functionname
8044 grub_script_arg. All callers updated
473d1e45 8045 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8046 (grub_script_yylex): remove
8047 (grub_script_yylex2): renamed to ...
8048 (grub_script_yylex): ...renamed
8049 parse the expressions like a${b}c
8050 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8051 (GRUB_PARSER_TOKEN_VAR): remove
8052 (GRUB_PARSER_TOKEN_NAME): likewise
8053 ("if"): declare as typeless
8054 ("while"): likewise
8055 ("function"): likewise
8056 ("else"): likewise
8057 ("then"): likewise
8058 ("fi"): likewise
8059 (text): remove
8060 (argument): likewise
8061 (script): accept empty scripts and make exit on error
8062 (arguments): use GRUB_PARSER_TOKEN_ARG
8063 (function): likewise
8064 (command): move error handling to script
8065 (menuentry): move grub_script_lexer_ref before
473d1e45 8066 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8067 argument. All callers updated
8068
f4448a07 80692009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8070
8071 Prevent GRUB from probing floppies during boot.
8072
8073 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8074 * commands/search.c (options): Add --no-floppy.
8075 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8076 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8077 --no-floppy when searching for UUIDs.
8078
2bf5885a 80792009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8080
8081 Simplify the code duplication in commands/search.c.
8082
8083 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8084 (search_fs): ... this. Update all users.
8085
f6fd460a 80862009-06-03 Felix Zielcke <fzielcke@z-51.de>
8087
8088 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8089
cbb3c83e 80902009-05-28 Pavel Roskin <proski@gnu.org>
8091
57788cfd 8092 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8093 Remove the original symlink explicitly.
8094
cbb3c83e 8095 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8096 just one slash. That's how grub_fshelp_find_file() does it.
8097
cd0d5e30 80982009-05-26 Pavel Roskin <proski@gnu.org>
8099
f0f8bbe2 8100 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8101 to `str'.
8102
cd0d5e30 8103 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8104 possibly unused.
8105
8c2cab51 81062009-05-25 Christian Franke <franke@computer.org>
8107
8108 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8109 register.
8110 (grub_atapi_identify): Add wait after drive select.
8111 (grub_ata_identify): Do more strict status register check before
8112 calling grub_atapi_identify (). Suppress error message if status
8113 register is 0x00 after command failure. Add status register
8114 check after PIO read to avoid bogus identify due to stuck DRQ.
8115 Thanks to Pavel Roskin for testing.
8116 (grub_device_initialize): Remove unsafe status register check.
8117 Thanks to 'phcoder' for problem report and patch.
8118 Prevent sign extension in debug message.
8119
230c0ad6 81202009-05-23 Colin D Bennett <colin@gibibit.com>
8121
8122 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8123 definition file, and functions defined in `normal/menu.c' have had
8124 their prototypes moved to `include/grub/menu.h' for consistency.
8125
8126 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8127 from normal.h.
8128 (grub_menu_get_entry): Likewise.
8129 (grub_menu_get_timeout): Likewise.
8130 (grub_menu_set_timeout): Likewise.
8131 (grub_menu_execute_entry): Likewise.
8132 (grub_menu_execute_with_fallback): Likewise.
8133 (grub_menu_entry_run): Likewise.
8134
8135 * include/grub/normal.h: Re-ordered and grouped function
8136 prototypes by file that the function is defined in.
8137 (grub_menu_execute_callback): Removed; moved to menu.h.
8138 (grub_menu_get_entry): Likewise.
8139 (grub_menu_get_timeout): Likewise.
8140 (grub_menu_set_timeout): Likewise.
8141 (grub_menu_execute_entry): Likewise.
8142 (grub_menu_execute_with_fallback): Likewise.
8143 (grub_menu_entry_run): Likewise.
8144 (grub_menu_addentry): Renamed from this ...
8145 (grub_normal_add_menu_entry): ... to this.
8146
8147 * normal/main.c (grub_menu_addentry): Renamed from this ...
8148 (grub_normal_add_menu_entry): ... to this.
8149
8150 * script/sh/execute.c (grub_script_execute_menuentry): Update
8151 reference to renamed grub_menu_addentry function.
8152
861f03a5 81532009-05-23 Felix Zielcke <fzielcke@z-51.de>
8154
8155 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8156
96b1619a 81572009-05-22 Pavel Roskin <proski@gnu.org>
8158
bf6a5fb2 8159 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8160 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8161 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8162 compiling for the i386 targets, but not for the utilities.
8163
96b1619a 8164 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8165 to grub_uint8_t.
8166 (grub_root_drive): Likewise.
8167 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8168 remove alignment.
8169 (grub_root_drive): Change size to byte.
8170 (grub_start_addr): Remove.
8171 (grub_end_addr): Likewise.
8172 (grub_apm_bios_info): Likewise.
8173
b729776b 81742009-05-21 Felix Zielcke <fzielcke@z-51.de>
8175
8176 * normal/i386: Remove.
8177 * normal/powerpc: Likewise.
8178 * normal/sparc64: Likewise.
8179 * normal/x86_64: Likewise.
8180
0a15ce80 81812009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8184 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8185 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8186
33db9015 81872009-05-18 Colin D Bennett <colin@gibibit.com>
8188
d6da58e6 8189 Display error messages when parsing a Lua statement fails.
8190 Previously, executing a syntactically invalid statement like
8191 ")foo" or "bar;" would silently fail.
33db9015 8192
8193 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8194 (grub_lua_parse_line): Improved reporting of Lua parser and
8195 execution errors.
33db9015 8196
46422c89 81972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 Remove -Werror which causes build to fail on some systems
8200
8201 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8202 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8203 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8204
22f53a96 82052009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 trampoline for linux on 64-bit platform
8208
18f547ad 8209 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8210 loader/i386/efi/linux_trampoline.S
8211 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8212 declaration
d6da58e6 8213 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8214 here
22f53a96 8215 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8216 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8217 trampoline
22f53a96 8218 (jumpvector): removed
8219 (grub_linux_trampoline_start): new declaration
8220 (grub_linux_trampoline_end): likewise
8221 (grub_linux_boot): use trampoline when on 64-bit platform
8222 * loader/i386/linux.c: likewise
8223
cb5a0f40 82242009-05-16 Pavel Roskin <proski@gnu.org>
8225
8226 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8227 const to avoid a warning.
8228 (grub_lua_setenv): Likewise.
8229 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8230 lmsg to fix a warning.
8231
334f2c28 82322009-05-16 Felix Zielcke <fzielcke@z-51.de>
8233
8234 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8235 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8236 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8237 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8238 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8239 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8240 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8241 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8242
59e5d3ec 82432009-05-16 Felix Zielcke <fzielcke@z-51.de>
8244
8245 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8246
9d87a1ba 82472009-05-16 Bean <bean123ch@gmail.com>
8248
8249 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8250 (lua_mod_SOURCES): New variable.
8251 (lua_mod_CFLAGS): Likewise.
8252 (lua_mod_LDFLAGS): Likewise.
8253
8254 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8255 (setjmp_mod_SOURCES): New variable.
8256 (setjmp_mod_CFLAGS): Likewise.
8257 (setjmp_LDFLAGS): Likewise.
8258
8259 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8260 (setjmp_mod_SOURCES): New variable.
8261 (setjmp_mod_CFLAGS): Likewise.
8262 (setjmp_LDFLAGS): Likewise.
8263
8264 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8265 (setjmp_mod_SOURCES): New variable.
8266 (setjmp_mod_CFLAGS): Likewise.
8267 (setjmp_LDFLAGS): Likewise.
8268
8269 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8270 (setjmp_mod_SOURCES): New variable.
8271 (setjmp_mod_CFLAGS): Likewise.
8272 (setjmp_LDFLAGS): Likewise.
8273
8274 * normal/i386/setjmp.S: Moved from here ...
8275 * lib/i386/setjmp.S: ... Moved here
8276 * normal/x86_64/setjmp.S: Moved from here ...
8277 * lib/x86_64/setjmp.S: ... Moved here
8278 * normal/powerpc/setjmp.S: Moved from here ...
8279 * lib/powerpc/setjmp.S: ... Moved here
8280 * normal/sparc64/setjmp.S: Moved from here ...
8281 * lib/sparc64/setjmp.S: ... Moved here
8282
8283 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8284 returns_twice in mingw.
8285
8286 * script/lua/grub_lib.c: New file.
8287 * script/lua/grub_lib.h: Likewise.
8288 * script/lua/grub_lua.h: Likewise.
8289 * script/lua/grub_main.c: Likewise.
8290 * script/lua/lapi.c: Likewise.
8291 * script/lua/lapi.h: Likewise.
8292 * script/lua/lauxlib.c: Likewise.
8293 * script/lua/lauxlib.h: Likewise.
8294 * script/lua/lbaselib.c: Likewise.
8295 * script/lua/lcode.c: Likewise.
8296 * script/lua/lcode.h: Likewise.
8297 * script/lua/ldblib.c: Likewise.
8298 * script/lua/ldebug.c: Likewise.
8299 * script/lua/ldebug.h: Likewise.
8300 * script/lua/ldo.c: Likewise.
8301 * script/lua/ldo.h: Likewise.
8302 * script/lua/ldump.c: Likewise.
8303 * script/lua/lfunc.c: Likewise.
8304 * script/lua/lfunc.h: Likewise.
8305 * script/lua/lgc.c: Likewise.
8306 * script/lua/lgc.h: Likewise.
8307 * script/lua/linit.c: Likewise.
8308 * script/lua/liolib.c: Likewise.
8309 * script/lua/llex.c: Likewise.
8310 * script/lua/llex.h: Likewise.
8311 * script/lua/llimits.h: Likewise.
8312 * script/lua/lmathlib.c: Likewise.
8313 * script/lua/lmem.c: Likewise.
8314 * script/lua/lmem.h: Likewise.
8315 * script/lua/loadlib.c: Likewise.
8316 * script/lua/lobject.c: Likewise.
8317 * script/lua/lobject.h: Likewise.
8318 * script/lua/lopcodes.c: Likewise.
8319 * script/lua/lopcodes.h: Likewise.
8320 * script/lua/loslib.c: Likewise.
8321 * script/lua/lparser.c: Likewise.
8322 * script/lua/lparser.h: Likewise.
8323 * script/lua/lstate.c: Likewise.
8324 * script/lua/lstate.h: Likewise.
8325 * script/lua/lstring.c: Likewise.
8326 * script/lua/lstring.h: Likewise.
8327 * script/lua/lstrlib.c: Likewise.
8328 * script/lua/ltable.c: Likewise.
8329 * script/lua/ltable.h: Likewise.
8330 * script/lua/ltablib.c: Likewise.
8331 * script/lua/ltm.c: Likewise.
8332 * script/lua/ltm.h: Likewise.
8333 * script/lua/lua.h: Likewise.
8334 * script/lua/luaconf.h: Likewise.
8335 * script/lua/lualib.h: Likewise.
8336 * script/lua/lundump.c: Likewise.
8337 * script/lua/lundump.h: Likewise.
8338 * script/lua/lvm.c: Likewise.
8339 * script/lua/lvm.h: Likewise.
8340 * script/lua/lzio.c: Likewise.
8341 * script/lua/lzio.h: Likewise.
8342
5e898c9d 83432009-05-16 Bean <bean123ch@gmail.com>
8344
8345 * include/grub/kernel.h (grub_module_header_types): Add type
8346 OBJ_TYPE_CONFIG.
8347
8348 * kern/main.c (grub_load_config): New function.
8349 (grub_main): Call grub_load_config to read boot config.
8350
8351 * grub-mkimage (generate_image): New parameter config_path.
8352 (options): New option --config.
8353 (main): Parse --config option, and pass it to generate_image.
8354
cf353a47 83552009-05-14 Christian Franke <franke@computer.org>
8356
8357 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
8358 This fixes build on Cygwin.
8359
3834887f 83602009-05-14 Pavel Roskin <proski@gnu.org>
8361
8362 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
8363 jump. This saves two bytes, so the typical case of 2 swapped
8364 drives would fit 32 bytes.
8365
8090fc01 83662009-05-13 Pavel Roskin <proski@gnu.org>
8367
ac963883 8368 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
8369 grub_uint32_t to avoid a warning.
8370
8090fc01 8371 * loader/i386/linux.c (allocate_pages): When assigning
8372 real_mode_mem, cast through grub_size_t to fix a warning. The
8373 code already makes sure that the value would fit a pointer.
8374 (grub_linux_setup_video): Cast render_target->data to
8375 grub_size_t to fix a warning.
8376
18f547ad 83772009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 8378
8379 * commands/i386/pc/drivemap.c: New file - implement drivemap
8380 command.
8381 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
8382 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
8383
6f6a8b28 83842009-05-13 Pavel Roskin <proski@gnu.org>
8385
8386 * util/i386/pc/grub-setup.c (setup): Remove unused variable
8387 embedding_area_exists.
8388
15fbf4c4 83892009-05-13 Robert Millan <rmh.grub@aybabtu.com>
8390
8391 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
8392 it easier to understand / work with.
59978c8a 8393 Improve warning messages for cases where there's no embedding area,
8394 or when it is too small (or core.img too large).
15fbf4c4 8395
238e871f 83962009-05-13 Pavel Roskin <proski@gnu.org>
8397
0ab3a9a4 8398 * loader/i386/pc/multiboot2.c: Add necessary includes for
8399 grub_multiboot2_real_boot().
8400
a2c8c5f8 8401 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
8402 PX record is always little-endian. We only need the lower 2
8403 bytes of the mode.
8404
faec96af 8405 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
8406 facilitate code reuse.
8407 (grub_cpio_mount): Use "struct head", not a char buffer. This
8408 fixes a warning reported by gcc 4.4.
8409
238e871f 8410 * kernel/disk.c (grub_disk_read): Use void pointer for the
8411 buffer.
8412 (grub_disk_write): Use const void pointer for the buffer.
8413 Adjust all callers. Remove unnecessary casts.
8414
901d2f0c 84152009-05-10 Robert Millan <rmh.grub@aybabtu.com>
8416
8417 * util/i386/pc/grub-install.in: Update copyright year.
8418
18f547ad 84192009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 8420
8421 gptsync
8422
8423 * commands/gptsync.c: new file
8424 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
8425 (gptsync_mod_SOURCES): new variable
8426 (gptsync_mod_CFLAGS): likewise
8427 (gptsync_mod_LDFLAGS): likewise
18f547ad 8428 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 8429 new definition
8430 (GRUB_PC_PARTITION_TYPE_HFS): likewise
8431 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
8432 * conf/i386-ieee1275.rmk: likewise
8433 * conf/i386-pc.rmk: likewise
8434 * conf/powerpc-ieee1275.rmk: likewise
8435
b4ba690a 84362009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 Fixed grub-emu
8439
8440 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
8441 (grub_dl_ref): likewise
8442
317e1a44 84432009-05-08 Robert Millan <rmh.grub@aybabtu.com>
8444
8445 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
8446 split in two functions (one for msdos and one for gpt).
8447
041b8094 84482009-05-08 Pavel Roskin <proski@gnu.org>
8449
752473c2 8450 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
8451 not modified.
8452
041b8094 8453 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
8454 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
8455 Initialize them with -1. Add sanity check for bad1. Eliminate
8456 nerr variable.
8457
172800ce 84582009-05-08 David S. Miller <davem@davemloft.net>
8459
8460 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
8461
29aa5e81 84622009-05-06 Robert Millan <rmh.grub@aybabtu.com>
8463
8464 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 8465 existence.
29aa5e81 8466
96613b62 84672009-05-05 Felix Zielcke <fzielcke@z-51.de>
8468
8469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 8470 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 8471
eef73c8a 84722009-05-05 David S. Miller <davem@davemloft.net>
8473
8474 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
8475
119494b5 84762009-05-05 Pavel Roskin <proski@gnu.org>
8477
8478 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
8479 of grub_dl_ref() and grub_dl_unref().
8480 * commands/parttool.c: Remove preprocessor conditionals around
8481 grub_dl_ref() and grub_dl_unref().
8482 * fs/affs.c: Likewise.
8483 * fs/afs.c: Likewise.
8484 * fs/cpio.c: Likewise.
8485 * fs/ext2.c: Likewise.
8486 * fs/fat.c: Likewise.
8487 * fs/hfs.c: Likewise.
8488 * fs/hfsplus.c: Likewise.
8489 * fs/iso9660.c: Likewise.
8490 * fs/jfs.c: Likewise.
8491 * fs/minix.c: Likewise.
8492 * fs/ntfs.c: Likewise.
8493 * fs/reiserfs.c: Likewise.
8494 * fs/sfs.c: Likewise.
8495 * fs/udf.c: Likewise.
8496 * fs/ufs.c: Likewise.
8497 * fs/xfs.c: Likewise.
8498 * include/grub/dl.h: Likewise.
8499 * loader/xnu.c: Likewise.
8500
de5fd76e 85012009-05-04 Pavel Roskin <proski@gnu.org>
8502
8503 * commands/acpi.c: Remove unused variable my_mod.
8504 * partmap/amiga.c: Likewise.
8505 * partmap/apple.c: Likewise.
8506 * partmap/gpt.c: Likewise.
8507 * partmap/pc.c: Likewise.
8508 * partmap/sun.c: Likewise.
8509 * term/gfxterm.c: Likewise.
8510 * term/i386/pc/vesafb.c: Likewise.
8511 * term/i386/pc/vga.c: Likewise.
8512
983598ad 85132009-05-04 David S. Miller <davem@davemloft.net>
8514
8515 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
8516 pointer args to grub_ieee1275_get_property().
8517
8aadec43 8518 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
8519
9554b15e 8520 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
8521 devices, and do not traverse down under controller nodes.
8522
67e23c90 8523 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
8524 (grub_ofdisk_open): Use it to un-escape "," characters.
8525 * kern/disk.c (find_part_sep): New.
8526 (grub_disk_open): Use it to find the first non-escaped ','
8527 character in the disk name.
8528 * util/ieee1275/devicemap.c (escape_of_path): New.
8529 (grub_util_emit_devicemap_entry): Use it.
8530 * util/sparc64/ieee1275/grub-install.in: Update script to
8531 strip partition specifiers properly by not triggering on
8532 '\' escaped ',' characters.
8533
74bfdd2f 85342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8535
8536 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
8537 to 0x300.
8538 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
8539 resolutions.
8540 (linux_vesafb_modes): Add a lot of additional modes to the list (based
8541 on documentation from Wikipedia).
8542
4241d2b1 85432009-05-04 Pavel Roskin <proski@gnu.org>
8544
8545 * disk/ata.c: Spelling fixes.
8546 * disk/raid.c: Likewise.
8547 * disk/usbms.c: Likewise.
8548 * disk/dmraid_nvidia.c: Likewise.
8549 * kern/ieee1275/openfw.c: Likewise.
8550 * kern/ieee1275/init.c: Likewise.
8551 * kern/ieee1275/cmain.c: Likewise.
8552 * boot/i386/pc/cdboot.S: Likewise.
8553 * video/readers/png.c: Likewise.
8554 * video/i386/pc/vbe.c: Likewise.
8555 * fs/udf.c: Likewise.
8556 * fs/hfs.c: Likewise.
8557 * fs/reiserfs.c: Likewise.
8558 * efiemu/runtime/efiemu.c: Likewise.
8559 * efiemu/main.c: Likewise.
8560 * efiemu/mm.c: Likewise.
8561 * include/grub/elf.h: Likewise.
8562 * include/grub/xnu.h: Likewise.
8563 * include/grub/usbdesc.h: Likewise.
8564 * include/grub/usb.h: Likewise.
8565 * include/grub/script_sh.h: Likewise.
8566 * include/grub/lib/LzmaEnc.h: Likewise.
8567 * include/grub/efiemu/efiemu.h: Likewise.
8568 * include/grub/command.h: Likewise.
8569 * normal/menu.c: Likewise.
8570 * normal/main.c: Likewise.
8571 * normal/datetime.c: Likewise.
8572 * bus/usb/uhci.c: Likewise.
8573 * mmap/i386/uppermem.c: Likewise.
8574 * mmap/mmap.c: Likewise.
8575 * commands/acpi.c: Likewise.
8576 * commands/test.c: Likewise.
8577 * partmap/apple.c: Likewise.
8578 * font/font.c: Likewise.
8579 * loader/sparc64/ieee1275/linux.c: Likewise.
8580 * loader/macho.c: Likewise.
8581 * loader/i386/bsd_trampoline.S: Likewise.
8582 * loader/i386/bsd.c: Likewise.
8583 * loader/xnu.c: Likewise.
8584 * term/i386/pc/vesafb.c: Likewise.
8585 * term/usb_keyboard.c: Likewise.
8586 * util/resolve.c: Likewise.
8587 * util/getroot.c: Likewise.
8588
0cfc0083 85892009-05-04 Felix Zielcke <fzielcke@z-51.de>
8590
8591 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
8592
7c1d00cd 85932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8594
8595 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
8596 build error.
8597
b01f0548 85982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8599
8600 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
8601 parameter only available on BIOS.
8602
ecc3eb22 86032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Removed wrong semicolon in declaration
8606
8607 * grub/misc.h (grub_dprintf): remove semicolon
8608
112972a9 86092009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8610
8611 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8612 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8613 is done by grub_cmd_linux() now).
8614 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8615 restore video to text mode.
8616 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8617 indicates lack of "vga=" parameter. "vga=0" is mapped to
8618 `GRUB_LINUX_VID_MODE_NORMAL'.
8619
afd5c115 86202009-05-04 Felix Zielcke <fzielcke@z-51.de>
8621
8622 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8623 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8624 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 8625 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 8626 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8627 `grub_script.tab.c'.
8628
8629 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8630 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8632 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8633 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8634
faa517ce 8635 * Makefile.in: Remove duplicated 2008 in Copyright line.
8636
ae0c0bdc 86372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8638
473d1e45 8639 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 8640 unconditionally.
8641 * include/grub/util/misc.h (grub_util_warn): New declaration.
8642
8643 * util/i386/pc/grub-install.in: Understand --force and pass it down
8644 to grub-setup.
8645
8646 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8647 down to setup().
8648 (setup): Improve error messages and add warnings when requested to
8649 install in odd layouts. Refuse to install using blocklists unless
8650 --force was set.
8651
18f547ad 86522009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8653
8654 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8655
6d260daa 86562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 Updated copyright year
8659
8660 * fs/hfsplus.c: updated copyright year
18f547ad 8661
69f853f8 86622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 HFS+ UUID
8665
18f547ad 8666 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8667 in the space previously used by unused3
8668 (grub_hfsplus_uuid): new function
8669 (grub_hfsplus_fs): added uuid field
8670
4c402e73 86712009-05-03 Pavel Roskin <proski@gnu.org>
8672
8673 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8674 suppress warnings. It's no longer needed.
8675 * disk/host.c: Likewise.
8676 * disk/ata_pthru.c: Likewise.
8677 * disk/loopback.c: Likewise.
8678 * hook/datehook.c: Likewise.
8679 * parttool/pcpart.c: Likewise.
8680 * fs/i386/pc/pxe.c: Likewise.
8681 * fs/ntfscomp.c: Likewise.
8682 * efiemu/main.c: Likewise.
8683 * mmap/mmap.c: Likewise.
8684 * commands/crc.c: Likewise.
8685 * commands/hexdump.c: Likewise.
8686 * commands/hdparm.c: Likewise.
8687 * commands/acpi.c: Likewise.
8688 * commands/echo.c: Likewise.
8689 * commands/minicmd.c: Likewise.
8690 * commands/blocklist.c: Likewise.
8691 * commands/memrw.c: Likewise.
8692 * commands/loadenv.c: Likewise.
8693 * commands/usbtest.c: Likewise.
8694 * commands/lsmmap.c: Likewise.
8695 * commands/boot.c: Likewise.
8696 * commands/parttool.c: Likewise.
8697 * commands/configfile.c: Likewise.
8698 * commands/search.c: Likewise.
8699 * commands/ieee1275/suspend.c: Likewise.
8700 * commands/cat.c: Likewise.
8701 * commands/i386/pc/pxecmd.c: Likewise.
8702 * commands/i386/pc/play.c: Likewise.
8703 * commands/i386/pc/halt.c: Likewise.
8704 * commands/i386/pc/vbeinfo.c: Likewise.
8705 * commands/i386/pc/vbetest.c: Likewise.
8706 * commands/lspci.c: Likewise.
8707 * commands/date.c: Likewise.
8708 * commands/handler.c: Likewise.
8709 * commands/ls.c: Likewise.
8710 * commands/test.c: Likewise.
8711 * commands/cmp.c: Likewise.
8712 * commands/efi/loadbios.c: Likewise.
8713 * commands/efi/fixvideo.c: Likewise.
8714 * commands/halt.c: Likewise.
8715 * commands/help.c: Likewise.
8716 * commands/reboot.c: Likewise.
8717 * hello/hello.c: Likewise.
8718 * script/sh/main.c: Likewise.
8719 * loader/xnu.c: Likewise.
8720 * term/terminfo.c: Likewise.
8721 * term/i386/pc/serial.c: Likewise.
8722 * term/usb_keyboard.c: Likewise.
8723
515b5079 87242009-05-03 David S. Miller <davem@davemloft.net>
8725
8726 * normal/menu.c: Include grub/parser.h
8727
dfc31a22 87282009-05-03 Pavel Roskin <proski@gnu.org>
8729
2fee74f1 8730 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8731 not char*.
8732 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8733 Suggested by Javier Martín <lordhabbit@gmail.com>
8734
dfc31a22 8735 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8736 efiemu??.o doesn't exist.
8737 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8738 copying.
8739
18f547ad 87402009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 8741
8742 FreeBSD 64-bit support
8743
18f547ad 8744 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 8745 and loader/i386/bsd_trampoline.S
8746 (bsd_mod_ASFLAGS): new variable
8747 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8748 (FREEBSD_MODTYPE_KERNEL64): likewise
8749 (grub_bsd64_trampoline_start): likewise
8750 (grub_bsd64_trampoline_end): likewise
8751 (grub_bsd64_trampoline_selfjump): likewise
8752 (grub_bsd64_trampoline_gdt): likewise
8753 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8754 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8755 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8756 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 8757 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 8758 of "attrib" member
8759 * loader/i386/bsd_pagetable.c: new file
8760 * loader/i386/bsd_trampoline.S: likewise
8761 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8762 (ALIGN_VAR): likewise
8763 (entry_hi): new variable
8764 (kern_end_mdofs): likewise
8765 (is_64bit): likewise
8766 (grub_freebsd_add_meta): use ALIGN_VAR
8767 (grub_e820_mmap): new declaration
8768 (grub_freebsd_add_mmap): new function
8769 (grub_freebsd_add_meta_module): support 64 bit kernels
8770 (grub_freebsd_list_modules): use ALIGN_VAR
8771 (gdt_descriptor): new declaration
8772 (grub_freebsd_boot): support 64 bit kernels
8773 (grub_bsd_elf64_hook): new function
8774 (grub_bsd_load_elf): support elf64
8775
038c5720 87762009-05-03 Bean <bean123ch@gmail.com>
8777
8778 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8779 after we get the result of if statement.
8780
fc45fb58 87812009-05-03 Bean <bean123ch@gmail.com>
8782
8783 * Makefile.in (enable_efiemu): New variable.
8784
8785 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
8786 set.
8787 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
8788 path.
8789 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
8790 path, add -mno-red-zone option.
8791 (efiemu64_s.o): Likewise.
8792 (efiemu64.o): Use macro $^ for source file.
8793
8794 * configure.ac (--enable-efiemu): New option.
8795
bbee0f2b 87962009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 xnu support
8799
8800 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8801 (pkglib_MODULES): add xnu.mod
8802 (xnu_mod_SOURCES): new variable
8803 (xnu_mod_CFLAGS): likewise
8804 (xnu_mod_LDFLAGS): likewise
8805 (xnu_mod_ASFLAGS): likewise
8806 * conf/i386-pc.rmk: likewise
8807 * conf/x86_64-efi.rmk: likewise
7dd4a573 8808 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8809 new declaration
8810 * include/grub/i386/macho.h: new file
8811 * include/grub/i386/xnu.h: likewise
8812 * include/grub/macho.h: likewise
8813 * include/grub/machoload.h: likewise
8814 * include/grub/x86_64/macho.h: likewise
8815 * include/grub/x86_64/xnu.h: likewise
8816 * include/grub/xnu.h: likewise
8817 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8818 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8819 * loader/i386/efi/xnu.c: new file
8820 * loader/i386/pc/xnu.c: likewise
8821 * loader/i386/xnu.c: likewise
8822 * loader/i386/xnu_helper.S: likewise
8823 * loader/macho.c: likewise
8824 * loader/xnu.c: likewise
8825 * loader/xnu_resume.c: likewise
8826 * util/grub-dumpdevtree: likewise
8827 * include/grub/i386/pit.h: include grub/err.h
8828 (grub_pit_wait): export
8829 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8830
5caf964d 88312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 Efiemu
7dd4a573 8834
5caf964d 8835 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8836 _linux_efi, linux_efi.
8837 new files in grub-emu
5caf964d 8838 new targets efiemu32.o and efiemu64.o
8839 * loader/linux_normal_efiemu.c: likewise
8840 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8841 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8842 files to copy
8843 * include/grub/autoefi.h: new file
7dd4a573 8844 * include/grub/i386/efiemu.h: likewise
5caf964d 8845 * include/grub/i386/pc/efiemu.h: likewise
8846 * include/grub/efi/api.h: add LL suffix when necessary
8847 new definitions relating to tables
8848 * include/grub/efiemu/efiemu.h: new file
8849 * include/grub/efiemu/runtime.h: likewise
8850 * efiemu/prepare.c: likewise
8851 * efiemu/loadcore_common.c: likewise
8852 * efiemu/loadcore64.c: likewise
8853 * efiemu/runtime/efiemu.sh: likewise
8854 * efiemu/runtime/efiemu.S: likewise
8855 * efiemu/runtime/efiemu.c: likewise
8856 * efiemu/runtime/config.h: likewise
8857 * efiemu/prepare32.c: likewise
8858 * efiemu/main.c: likewise
8859 * efiemu/modules/pnvram.c: likewise
8860 * efiemu/modules/i386: likewise
8861 * efiemu/modules/i386/pc: likewise
8862 * efiemu/modules/acpi.c: likewise
8863 * efiemu/i386/pc/cfgtables.c: likewise
8864 * efiemu/i386/loadcore64.c: likewise
8865 * efiemu/i386/loadcore32.c: likewise
8866 * efiemu/prepare64.c: likewise
8867 * efiemu/loadcore.c: likewise
8868 * efiemu/symbols.c: likewise
8869 * efiemu/mm.c: likewise
8870 * efiemu/loadcore32.c: likewise
7dd4a573 8871
88722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 8873
8874 ACPI spoofing
8875
8876 * commands/acpi.c: new file
8877 * commands/i386/pc/acpi.c: likewise
8878 * commands/efi/acpi.c: likewise
8879 * include/grub/acpi.h: likewise
8880 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
8881 (acpi_mod_SOURCES): new variable
8882 (acpi_mod_CFLAGS): likewise
8883 (acpi_mod_LDFLAGS): likewise
8884 * conf/i386-efi.rmk: likewise
8885 * conf/x86_64-efi.rmk: likewise
8886
7dd4a573 88872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 8888
8889 Missing part from mmap patch
8890
8891 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
8892 (grub_mmap_unregister)
8893 (grub_mmap_free_and_unregister): use grub_mmap_register
8894
7dd4a573 88952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 8896
8897 Mmap services
8898
8899 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
8900 * loader/i386/linux.c (find_mmap_size): likewise
8901 (allocate_pages): likewise
8902 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
8903 (grub_fill_multiboot_mmap): likewise
8904 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
8905 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
8906 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
8907 (OPENBSD_MMAP_RESERVED): likewise
8908 * include/grub/i386/pc/memory.h: include grub/memory.h
8909 (grub_lower_mem): removed
8910 (grub_upper_mem): likewise
8911 (GRUB_MACHINE_MEMORY_ACPI): new definition
8912 (GRUB_MACHINE_MEMORY_NVS): likewise
8913 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
8914 (GRUB_MACHINE_MEMORY_HOLE): likewise
8915 (grub_machine_mmap_register): likewise
8916 (grub_machine_mmap_unregister): likewise
8917 (grub_machine_get_upper): likewise
8918 (grub_machine_get_lower): likewise
8919 (grub_machine_get_post64): likewise
8920 * include/grub/i386/efi/memory.h: new file
8921 * include/grub/x86_64/efi/memory.h: likewise
8922 * include/grub/efi/memory.h: likewise
8923 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
8924 (mmap_mod_SOURCES): new variable
8925 (mmap_mod_LDFLAGS): likewise
8926 (mmap_mod_ASFLAGS): likewise
8927 * conf/i386-coreboot.rmk: likewise
8928 * conf/i386-ieee1275.rmk: likewise
8929 * conf/i386-efi.rmk: likewise
8930 * conf/x86_64-efi.rmk: likewise
8931 * include/grub/types.h (UINT_TO_PTR): new macro
8932 (PTR_TO_UINT32): likewise
8933 (PTR_TO_UINT64): likewise
8934 * include/grub/memory.h: new file
8935 * mmap/i386/pc/mmap.c: likewise
8936 * mmap/i386/pc/mmap_helper.S: likewise
8937 * mmap/i386/uppermem.c: likewise
8938 * mmap/mmap.c: likewise
8939 * mmap/efi/mmap.c: likewise
7dd4a573 8940 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 8941 grub_upper_mem
8942 * kern/i386/pc/init.c (grub_lower_mem): removed variable
8943 (grub_upper_mem): likewise
8944 (grub_machine_init): don't use grub_upper_mem,
8945 make grub_lower_mem local
8946 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
8947 grub_mmap_iterate and grub_mmap_get_upper
8948 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
8949
d558e6b5 89502009-05-02 Bean <bean123ch@gmail.com>
8951
8952 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
8953 script/sh/parser.y.
8954 (pkglib_MODULES): Add normal.mod and sh.mod.
8955 (normal_SOURCES): New variable.
8956 (normal_mod_CFLAGS): Likewise.
8957 (normal_mod_LDFLAGS): Likewise.
8958 (sh_mod_SOURCES): Likewise.
8959 (sh_mod_CFLAGS): Likewise.
8960 (sh_mod_LDFLAGS): Likewise.
8961
8962 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
8963 script/sh/lexer.c_DEPENDENCIES.
8964 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
8965 kern/rescue_reader.c and kern/rescue_parser.c.
8966 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
8967 (grub_emu_SOURCES): Change source files.
8968 (pkglib_MODULES): Remove normal.mod.
8969 (normal_SOURCES): Removed.
8970 (normal_mod_CFLAGS): Likewise.
8971 (normal_mod_LDFLAGS): Likewise.
8972 * conf/i386-coreboot.rmk: Likewise.
8973 * conf/i386-efi.rmk: Likewise.
8974 * conf/i386-ieee1276.rmk: Likewise.
8975 * conf/powerpc-ieee1275.rmk: Likewise.
8976 * conf/sparc64-ieee1275.rmk: Likewise.
8977 * conf/x86_64-efi.rmk: Likewise.
8978
8979 * include/grub/command.h (grub_command_execute): New inline function.
8980
8981 * include/grub/menu.h (grub_menu_entry): Removed commands field.
8982
8983 * include/grub/normal.h: Remove <grub/setjmp.h>.
8984 (grub_fs_module_list): Moved to normal/autofs.c.
8985 (grub_exit_env): Removed.
8986 (grub_command_execute): Likewise.
8987 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
8988 parameter script.
8989 (read_command_list): New function declaration.
8990 (read_fs_list): Likewise.
8991
8992 * include/parser.h: Include <grub/reader.h>.
8993 (grub_parser_split_cmdline): Change type of getline parameter.
8994 (grub_parser): New structure.
8995 (grub_parser_class): New variable.
8996 (grub_parser_execute): New function declaration.
8997 (grub_register_rescue_parser): Likewise.
8998 (grub_parser_register): New inline function.
8999 (grub_parser_unregister): Likewise.
9000 (grub_parser_get_current): Likewise.
9001 (grub_parser_set_current): Likewise.
9002
9003 * include/grub/reader.h: New file.
9004 * kern/reader.c: Likewise.
9005 * kern/rescue_parser.c: Likewise.
9006 * kern/rescue_reader.c: Likewise.
9007 * normal/autofs.c: Likewise.
9008 * normal/dyncmd.c: Likewise.
9009
9010 * include/grub/rescue.h: Removed.
9011 * normal/command.h: Likewise.
9012
9013 * include/grub/script.h: Moved to ...
9014 * include/grub/script_sh.h: ... Moved here.
9015 * normal/execute.c: Moved to ...
9016 * script/sh/execute.c: ... Moved here.
9017 * normal/function.c: Moved to ...
9018 * script/sh/function.c: ... Moved here.
9019 * normal/lexer.c: Moved to ...
9020 * script/sh/lexer.c: ... Moved here.
9021 * normal/parser.y: Moved to ...
9022 * script/sh/parser.y: ... Moved here.
9023 * normal/script.c: Moved to ...
9024 * script/sh/script.c: ... Moved here.
9025
9026 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9027 <grub/reader.h>.
9028 (grub_exit_env): Removed.
9029 (fs_module_list): Moved to normal/autofs.c.
9030 (grub_file_getline): Don't handle comment here.
9031 (free_menu): Skip removed field entry->commands.
9032 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9033 script parameter.
9034 (read_config_file): Removed nested parameter, change getline function.
9035 (grub_enter_normal_mode): Removed.
9036 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9037 (read_command_list): Likewise.
9038 (autoload_fs_module): Moved to normal/autofs.c.
9039 (read_fs_list): Likewise.
9040 (reader_nested): New variable.
9041 (grub_normal_execute): Run parser.sh to switch to sh parser.
9042 (grub_cmd_rescue): Removed.
9043 (cmd_normal): Removed.
9044 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9045 rescue command.
9046 (grub_cmdline_run): New function.
9047 (grub_normal_reader_init): Likewise.
9048 (grub_normal_read_line): Likewise.
9049 (grub_env_write_pager): Likewise.
9050 (cmdline): New variable.
9051 (grub_normal_reader): Likewise.
9052 (GRUB_MOD_INIT): Register normal reader and set as current, register
9053 pager hook, register normal command with grub_register_command_prio,
9054 so that it won't show up in command.lst.
9055 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9056 grub_fs_autoload_hook.
9057
9058 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9059 (grub_menu_execute_entry): Replace grub_script_execute with
9060 grub_parser_execute, change parameter to grub_command_execute.
9061
9062 * normal/menu_text.c: Remove <grub/script.h>.
9063
9064 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9065 and <grub/parser.h>.
9066 (run): Change editor_getline to use new parser interface. Change
9067 parameter to grub_command_execute.
9068
9069 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9070 <grub/reader.h> and <grub/parser.h>.
9071 (grub_load_normal_mode): Execute normal command.
9072 (grub_main): Call grub_register_core_commands,
9073 grub_register_rescue_parser and grub_register_rescue_reader, use
9074 grub_reader_loop to enter input loop.
9075
7dd4a573 9076 * kern/parser.c (grub_parser_split_cmdline): Change type of
9077 getline parameter.
d558e6b5 9078 (grub_parser_class): New variable.
9079 (grub_parser_execute): New function.
9080
9081 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9082 * loader/multiboot2.c: Likewise.
9083 * loader/sparc64/ieee1275/linux.c: Likewise.
9084
9085 * util/grub-emu.c (read_command_list): New dummy function.
9086
18db813d 90872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9088
9089 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9090 count to 16 for CCISS and IDA.
9091
6c67de15 90922009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9093
9094 * normal/menu_text.c (grub_wait_after_message): Print a newline
9095 after waiting for user input.
9096
9097 * loader/i386/linux.c: Include `<grub/normal.h>'.
9098 (grub_cmd_linux): Improve the error message about `ask' mode, by
9099 waiting for user input so it's not missed (we can do this, since
9100 user requested interaction).
9101
d9dc87b0 91022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 Added missing lst to grub-mkrescue
9105
9106 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9107 and ${input_dir}/parttool.lst
9108
ac8a2baa 91092009-04-30 David S. Miller <davem@davemloft.net>
9110
ad22a610 9111 * util/hostdisk.c (device_is_wholedisk): New function.
9112 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9113 zero only if device_is_wholedisk() returns true.
9114
6966215d 9115 * util/hostdisk.c (convert_system_partition_to_system_disk):
9116 Handle virtual disk devices named /dev/vdiskX as found on sparc
9117 and powerpc.
9118
ac8a2baa 9119 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9120 lettered partition specifier is found, convert to numbered.
9121
979b4fb4 91222009-04-29 David S. Miller <davem@davemloft.net>
9123
e2bf39b2 9124 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9125 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9126
3c64e104 9127 * normal/command.c: Add missing newline at end of file.
9128
979b4fb4 9129 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9130 warnings.
9131 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9132 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9133 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9134 ihandles have a 32-bit type but need to be stored in a "void *".
9135
136d9f82 91362009-04-28 Pavel Roskin <proski@gnu.org>
9137
9459c306 9138 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9139 not disk. Adjust all dependencies.
2e08a26a 9140 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 9141 grub_disk_close().
9142
136d9f82 9143 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9144 parent's partition, don't copy it by reference, as it gets freed
9145 on close.
9146
7dd4a573 91472009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9148
9149 Preboot hooks support
9150
9151 * commands/boot.c (struct grub_preboot_t): new declaration
9152 (preboots_head): new variable
9153 (preboots_tail): likewise
9154 (grub_loader_register_preboot_hook): new function
9155 (grub_loader_unregister_preboot_hook): likewise
9156 (grub_loader_set): launch preboot hooks
9157 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9158 (grub_loader_register_preboot_hook): new declaration
9159 (grub_loader_unregister_preboot_hook): likewise
9160
5af922b5 91612009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Warning fix
9164
7dd4a573 9165 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9166 calling grub_dprintf
9167
a5562c30 91682009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 Bug and warning fixes
9171
7dd4a573 9172 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9173 declaration
9174 * commands/test.c (test_parse): fixed bug with file tests and corrected
9175 declaration of find_file
9176
4006f85c 91772009-04-26 Pavel Roskin <proski@gnu.org>
9178
9179 * Makefile.in: Don't install empty manual pages if help2man is
9180 missing. Use help2man option for output, not shell redirection.
9181
5c77c3de 91822009-04-26 David S. Miller <davem@davemloft.net>
9183
9184 * util/grub-mkdevicemap.c (make_device_map): Add missing
9185 NESTED_FUNC_ATTR to process_device().
9186
033b10a8 91872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 Test command
9190
9191 * commands/test.c: rewritten to use bash-like test
9192
e4343593 91932009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 Parttool autoloading and improvements
9196
7dd4a573 9197 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9198 (parttool.lst): new target
9199 * genmk.rb: generate parttool-*
9200 (CLEANFILES): add #{parttool}
9201 (PARTTOOLFILES): new variable
9202 * genparttoollist.sh: new file
7dd4a573 9203 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9204 (grub_pcpart_type): likewise
9205 * commands/parttool.c (helpmsg): new variable
9206 (grub_cmd_parttool): output help if not enough arguments are supplied
9207 autoload modules
9208 (GRUB_MOD_INIT(parttool)): use helpmsg
9209
0d312500 92102009-04-24 David S. Miller <davem@davemloft.net>
9211
7dd4a573 9212 Avoiding opening same device multiple times in device iterator.
0d312500 9213
9214 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9215 and use it to build a list of partitions in iterate_disk() and
0d312500 9216 iterate_partition().
9217
ac20caff 9218 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9219 on disk->data.
9220
0dcf7495 9221 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9222 grub_devalias_iterate() result instead of unconditional 0.
9223 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9224 Also, capture hook return value, either directly or via
9225 grub_children_iterate(), and propagate to caller.
9226 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9227 grub_children_iterate): Return value is now 'int' instead of
9228 'grub_err_t'.
9229 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9230 like a proper iterator, stopping when hooks return non-zero.
9231 (grub_devalias_iterate): Likewise.
9232
c8c08833 92332009-04-23 David S. Miller <davem@davemloft.net>
9234
9235 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9236
f01005a8 92372009-04-22 David S. Miller <davem@davemloft.net>
9238
9239 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9240 is larger than address_cells, use that value for address_cells too.
9241
4e8269da 9242 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9243 IEEE1275_MAX_PATH_LEN): Define.
9244 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9245 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9246 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9247 'devtype'. Explicitly NULL terminate devalias expansion.
9248
a1447506 9249 * util/sparc64/ieee1275/misc.c: New file.
9250 * util/sparc64/ieee1275/grub-setup.c: New file.
9251 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9252 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9253 * util/sparc64/ieee1275/grub-install.in: New file.
9254 * util/ieee1275/ofpath.c: New file.
9255 * util/ieee1275/devicemap.c: New file.
9256 * util/devicemap.c: New file.
9257 * util/deviceiter.c: New file.
9258 * kern/sparc64/ieee1275/init.c: New file.
9259 * include/grub/util/ofpath.h: New file.
9260 * include/grub/util/deviceiter.h: New file.
9261 * util/grub-mkdevicemap.c: Include deviceiter.h.
9262 Implement using grub_util_emit_devicemap_entry and
9263 grub_util_iterate_devices.
9264 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9265 util/devicemap.c into grub-mkdevicemap
9266 * conf/i386-efi.rmk: Likewise.
9267 * conf/i386-ieee1275.rmk: Likewise.
9268 * conf/i386-pc.rmk: Likewise.
9269 * conf/powerpc-ieee1275.rmk: Likewise.
9270 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9271 images and installation utilities. Build kernel as image
9272 instead of as elf binary. Use common rules as much as possible.
9273
7dd4a573 92742009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 9275
9276 Correct GPT definition
9277
7dd4a573 9278 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 9279 of "attrib" member
9280
c6c5219f 92812009-04-19 Felix Zielcke <fzielcke@z-51.de>
9282
9283 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9284
0552ff9f 92852009-04-19 David S. Miller <davem@davemloft.net>
9286
9287 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9288 (grub_rescue_cmd_linux): Rename to...
9289 (grub_cmd_linux): and fix prototype.
9290 (grub_rescue_cmd_initrd): Rename to...
9291 (grub_cmd_initrd): and fix prototype.
9292 (cmd_linux, cmd_initrd): New.
9293 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9294 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9295
d1a282fc 92962009-04-17 Pavel Roskin <proski@gnu.org>
9297
07c5039f 9298 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9299 format.
9300 (grub_ohci_transfer): Likewise.
9301
b012002d 9302 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9303
1bc09c35 9304 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9305 return without a value. Fix inconsistent indentation.
9306
e0ff9126 9307 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9308 match struct grub_fs.
9309
d1a282fc 9310 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9311 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9312 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9313 * commands/lspci.c (grub_lspci_iter): Likewise.
9314
a96df3f2 93152009-04-16 Bean <bean123ch@gmail.com>
9316
9317 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9318 value.
9319
41bb0fe9 93202009-04-15 Pavel Roskin <proski@gnu.org>
9321
9322 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
9323 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
9324 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
9325 definitions.
9326
596c6970 93272009-04-15 Felix Zielcke <fzielcke@z-51.de>
9328
9329 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 9330 that no multiple data or metadata areas are supported and `Unknown
596c6970 9331 metadata header'.
9332
7dd4a573 93332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 9334
9335 Move loader out of the kernel
9336
9337 * kern/loader.c: moved to ...
9338 * commands/boot.c: ... moved here
9339 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9340 * commands/boot.c (grub_cmd_boot): moved here. All users updated
9341 * include/grub/kernel.h (grub_machine_fini): export
9342 * include/grub/loader.h (grub_loader_is_loaded): update declaration
9343 (grub_loader_set): likewise
9344 (grub_loader_unset): likewise
9345 (grub_loader_boot): likewise
9346 * conf/common.rmk: new module boot.mod
9347 (pkglib_MODULES): add boot.mod
9348 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
9349 (grub_emu_SOURCES): likewise
9350 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
9351 (grub_emu_SOURCES): likewise
9352 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
9353 (grub_emu_SOURCES): likewise
9354 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
9355 (grub_emu_SOURCES): likewise
9356 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
9357 (grub_emu_SOURCES): likewise
7dd4a573 9358 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
9359 (grub_emu_SOURCES): likewise
0d5d5653 9360 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 9361 (grub_emu_SOURCES): likewise
0d5d5653 9362
7dd4a573 93632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 9364
9365 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 9366
5999d619 9367 * kern/misc.c (grub_itoa): Removed function
9368 (grub_ltoa): likewise
9369 (grub_vsprintf): use grub_lltoa
9370
7dd4a573 93712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 9372
9373 Restore grub-emu
9374
9375 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
9376 * conf/i386-coreboot.rmk: likewise
9377 * conf/i386-ieee1275.rmk: likewise
9378 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9379
20318222 93802009-04-15 Felix Zielcke <fzielcke@z-51.de>
9381
9382 * INSTALL: Add that `./autogen.sh' needs to be run before
9383 `./configure.'.
9384
d05f0df3 93852009-04-14 Bean <bean123ch@gmail.com>
9386
9387 * Makefile.in (pkglib_DATA): Add handler.lst.
9388 (handler.lst): New rule.
9389
9390 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
9391 * conf/i386-coreboot.rmk: Likewise.
9392 * conf/i386-ieee1275.rmk: Likewise.
9393 * conf/i386-efi.rmk: Likewise.
9394 * conf/x86_64-efi.rmk: Likewise.
9395 * conf/powerpc-ieee1275.rmk: Likewise.
9396 * conf/sparc64-ieee1275.rmk: Likewise.
9397
9398 * genhandlerlist.sh: New file.
9399
9400 * genmk.rb: Add rules to generate handler.lst.
9401
9402 * include/grub/normal.h (grub_file_getline): New function definition.
9403 (read_handler_list): Likewise.
9404 (free_handler_list): Likewise.
9405
9406 * include/grub/term.h (grub_term_register_input): Add name parameter
9407 for auto generation of handler.lst.
9408 (grub_term_register_output): Likewise.
9409
9410 * normal/handler.c: New file.
9411
9412 * normal/main.c (get_line): Renamed to grub_file_getline.
9413 (read_config_file): Use the newly renamed grub_file_getline.
9414 (read_command_list): Likewise.
9415 (read_fs_list): Likewise.
9416 (grub_normal_execute): Call read_handler_list to parse handler.lst.
9417 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
9418
9419 * term/efi/console.c (grub_console_init): Add name parameter for auto
9420 generation of handler.lst.
9421 * term/gfxterm.c: Likewise.
9422 * term/i386/pc/at_keyboard.c: Likewise.
9423 * term/i386/pc/console.c: Likewise.
9424 * term/i386/pc/serial.c: Likewise.
9425 * term/i386/pc/vesafb.c: Likewise.
9426 * term/i386/pc/vga.c: Likewise.
9427 * term/i386/pc/vga_text.c: Likewise.
9428 * term/ieee1275/ofconsole.c: Likewise.
9429 * term/usb_keyboard.c: Likewise.
9430
33c846be 94312009-04-14 Bean <bean123ch@gmail.com>
9432
9433 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
9434 properly with null character.
9435
4484e01e 94362009-04-14 Felix Zielcke <fzielcke@z-51.de>
9437
9438 * configure: Remove.
9439 * config.h.in: Likewise.
f93d668e 9440 * stamp-h.in: Likewise.
4484e01e 9441 * DISTLIST: Likewise.
9442 * conf/common.mk: Likewise.
9443 * conf/i386-coreboot.mk: Likewise.
9444 * conf/i386-efi.mk: Likewise.
9445 * conf/i386-ieee1275.mk: Likewise.
9446 * conf/i386.mk: Likewise.
9447 * conf/i386-pc.mk: Likewise.
9448 * conf/powerpc-ieee1275.mk: Likewise.
9449 * conf/sparc64-ieee1275.mk: Likewise.
9450 * conf/x86_64-efi.mk: Likewise.
9451
9452 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
9453 develop on GRUB.
9454
7dd4a573 94552009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 9456 David S. Miller <davem@davemloft.net>
9457
9458 * util/hostdisk.c (make_device_name): Fix buffer length
9459 calculations.
9460
e25b5a8c 94612009-04-14 Felix Zielcke <fzielcke@z-51.de>
9462
9463 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
9464 <sys/param.h> and <sys/sysctl.h>.
9465 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
9466 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
9467 opening the device and reset them afterwards.
9468
1f1f580c 94692009-04-13 Pavel Roskin <proski@gnu.org>
9470
9471 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
9472 Reported by John Stanley <jpsinthemix@verizon.net>
9473
7ebc2d6b 94742009-04-13 Robert Millan <rmh@aybabtu.com>
9475
9476 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 9477 that name for menuentries when appropriate.
7ebc2d6b 9478
d8ba3667 94792009-04-13 Felix Zielcke <fzielcke@z-51.de>
9480
9481 * util/grub.d/10_freebsd.in: Add a missing `fi'.
9482
cba416eb 94832009-04-13 Robert Millan <rmh@aybabtu.com>
9484
9485 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
9486 to Linux, simply abort telling the user it's no longer supported.
9487
a547a745 94882009-04-13 Felix Zielcke <fzielcke@z-51.de>
9489
9490 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 9491 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 9492 `freebsd_loadenv' only when devices.hints exist.
9493
232a769c 94942009-04-13 Pavel Roskin <proski@gnu.org>
9495
9496 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
9497
c3012039 94982009-04-13 Felix Zielcke <fzielcke@z-51.de>
9499
9500 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
9501 partition number.
9502 (grub_drive): Likewise.
9503
234022fe 95042009-04-13 David S. Miller <davem@davemloft.net>
9505
9506 * kern/sparc64/ieee1275/ieee1275.c: New file.
9507 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
9508 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
9509 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
9510 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
9511 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
9512 grub_ieee1275_alloc_physmem): Declare new exported functions.
9513
d8e1836c 9514 * include/grub/sparc64/ieee1275/loader.h: New file.
9515 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9516 * include/grub/sparc64/kernel.h: Likewise.
9517 * loader/sparc64/ieee1275/linux.c: Likewise.
9518
96bd81ec 9519 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
9520 (grub_fstest_SOURCES): Likewise.
9521
6a4737e5 9522 * util/hostdisk.c (make_device_name): Do not make any assumptions
9523 about the length of drive names.
9524
1d7a72fd 9525 * kern/dl.c (grub_dl_load_file): Close file immediately when
9526 we are done using it.
9527
56bc2471 95282009-04-12 David S. Miller <davem@davemloft.net>
9529
9530 * kern/misc.c (grub_ltoa): Fix cast when handling negative
9531 values. Noticed by Pavel Roskin.
9532
df38d0bb 9533 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
9534 target compiler.
7dd4a573 9535
e382e93a 9536 * genmk.rb: Add more flexible image type specification, also
9537 pass --strip-unneeded to objcopy.
9538 * conf/i386-pc.rmk: Use *_FORMAT.
9539 * conf/i386-pc.mk: Rebuilt.
9540
f5dbbca9 9541 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
9542 (OFDISK_HASH_SZ): Define.
9543 (ofdisk_hash): New hash table.
9544 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
9545 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
9546 instead of device phandle which is not unique.
9547
91c88b12 9548 * kern/sparc64/ieee1275/init.c: Delete, replace with...
9549 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
9550 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
9551 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
9552 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
9553 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
9554 GRUB_KERNEL_MACHINE_DATA_END): Define.
9555 (grub_kernel_image_size, grub_total_module_size): Declare.
9556
5b5d4aa5 95572009-04-12 Pavel Roskin <proski@gnu.org>
9558
7dd4a573 9559 * configure.ac: Change the logic when we check for target tools.
9560 Do it when the target is specified and it's different from the
9561 specified value of the host.
5b5d4aa5 9562
c91e1793 95632009-04-11 Felix Zielcke <fzielcke@z-51.de>
9564
9565 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
9566 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
9567 GNU/kFreeBSD. Check if a device is a character device. Use
9568 DIOCGMEDIASIZE to get the size.
9569 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
9570 support for GNU/kFreeBSD.
9571 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
9572 is a character device instead of a block device. Add support for
9573 FreeBSD device names.
9574
9575 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
9576 is a character device instead of a block device.
9577
9578 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
9579 is a character device instead of a block device.
9580
b1ac8644 95812009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
9582
9583 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
9584 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
9585 FreeBSD. Check if a device is a character device. Use
9586 DIOCGMEDIASIZE to get the size.
9587 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
9588 support for FreeBSD.
9589 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
9590 is a character device instead of a block device. Add support for
9591 FreeBSD device names.
9592
9593 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
9594 a character device instead of a block device.
9595 (grub_util_check_char_device): New function.
9596
9597 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
9598 a character device instead of a block device.
9599
9600 * include/grub/util/getroot.h (grub_util_check_char_device): New
9601 prototype.
9602
a3f7515a 96032009-04-11 David S. Miller <davem@davemloft.net>
9604
9605 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
9606 static libgcc.
9607 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
9608 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
9609 function, if present.
9610 (__bswapdi2): Likewise.
9611
0d44993d 9612 * include/grub/sparc64/ieee1275/boot.h: New file.
9613 * boot/sparc64/ieee1275/boot.S: Likewise.
9614 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9615
ed3d2bc2 9616 * kern/misc.c (grub_ltoa): New function.
9617 (grub_vsprintf): Use it to format 'long' integers.
9618
d3bfb59c 96192009-04-10 David S. Miller <davem@davemloft.net>
9620
9621 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9622 slots are of type grub_ieee1275_cell_t.
9623 (grub_nand_read): Likewise.
9624 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9625 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9626 macros are used to compare values in arg/ret block of the call.
9627 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9628 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9629 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9630 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9631 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9632 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9633 grub_ieee1275_close, grub_ieee1275_set_property,
9634 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9635 grub_ieee1275_cell_t.
9636 * kern/ieee1275/openfw.c (grub_map): Likewise.
9637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9638 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9639
450e2238 9640 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9641 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9642 (grub_devalias_iterate): Likewise.
9643
7dd4a573 96442009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 9645
9646 UFS improvements
9647
9648 * fs/ufs.c (INODE_NBLOCKS): new definition
9649 (struct grub_ufs_dirent): added fields for non-BSD dirents
9650 (grub_ufs_get_file_block): fixed double indirect handling
9651 (grub_ufs_lookup_symlink): use more robust way to determine whether
9652 symlink is inline
9653 (grub_ufs_find_file): support for non-BSD dirents
9654 (grub_ufs_dir): support for non-BSD dirents
9655
e7e6862a 96562009-04-10 Bean <bean123ch@gnail.com>
9657
9658 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9659 attribute, otherwise the size would be wrong for i386 platform.
9660
9661 * include/grub/pci.h (grub_pci_read_word): New inline function.
9662 (grub_pci_read_byte): Likewise.
9663 (grub_pci_write): Likewise.
9664 (grub_pci_write_word): Likewise.
9665 (grub_pci_write_byte): Likewise.
9666
9667 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9668
9669 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9670 (find_framebuf): Scan pci to locate the frame buffer address.
9671
9672 * commands/efi/fixvideo.c: New file.
9673
9674 * commands/efi/loadbios.c: Likewise.
9675
9676 * commands/memrw.c: Likewise.
9677
9678 * util/grub-dumpbios.in: Likewise.
9679
9680 * conf/common.rmk (grub-dumpbios): New utility.
9681 (pkglib_MODULES): New module memrw.mod.
9682 (memrw_mod_SOURCE): New macro.
9683 (memrw_mod_CFLAGS): Likewise.
9684 (memrw_mod_LDFLAGS): Likewise.
9685
7dd4a573 9686 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9687 fixvideo.mod.
9688 (loadbios_mod_SOURCE): New macro.
9689 (loadbios_mod_CFLAGS): Likewise.
9690 (loadbios_mod_LDFLAGS): Likewise.
9691 (fixvideo_mod_SOURCE): Likewise.
9692 (fixvideo_mod_CFLAGS): Likewise.
9693 (fixvideo_mod_LDFLAGS): Likewise.
9694
7dd4a573 9695 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9696 fixvideo.mod.
9697 (loadbios_mod_SOURCE): New macro.
9698 (loadbios_mod_CFLAGS): Likewise.
9699 (loadbios_mod_LDFLAGS): Likewise.
9700 (fixvideo_mod_SOURCE): Likewise.
9701 (fixvideo_mod_CFLAGS): Likewise.
9702 (fixvideo_mod_LDFLAGS): Likewise.
9703
af63ada2 97042009-04-08 Felix Zielcke <fzielcke@z-51.de>
9705
9706 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9707
c2cdde70 97082009-04-07 David S. Miller <davem@davemloft.net>
9709
9710 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9711 support for R_SPARC_OLO10 relocations. Fix compile warning for
9712 R_SPARC_WDISP30 case.
ea3f72cf 9713 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 9714
761319cf 97152009-04-06 Pavel Roskin <proski@gnu.org>
9716
1007d1f5 9717 * include/grub/misc.h (ARRAY_SIZE): New macro.
9718 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9719 New macro.
9720 * loader/i386/linux.c (allocate_pages): Use free_pages().
9721 (grub_linux_unload): Don't use free_pages().
9722 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9723 wrong index. Treat all other modes as text modes.
9724 (grub_cmd_linux): Initialize vid_mode unconditionally to
9725 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9726
761319cf 9727 * commands/help.c (print_command_help): Use cmd->prio, not
9728 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9729
ea761d40 97302009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 9731
ea761d40 9732 Parttool
9733
9734 * parttool/pcpart.c: new file
9735 * commands/parttool.c: likewise
9736 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9737 (parttool_mod_SOURCES): new variable
9738 (parttool_mod_CFLAGS): likewise
9739 (parttool_mod_LDFLAGS): likewise
9740 (pcpart_mod_SOURCES): likewise
9741 (pcpart_mod_CFLAGS): likewise
9742 (pcpart_mod_LDFLAGS): likewise
7dd4a573 9743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 9744 and parttool/pcpart.c
9745 * conf/i386-efi.rmk: likewise
9746 * conf/i386-ieee1275.rmk: likewise
9747 * conf/i386-pc.rmk: likewise
9748 * conf/powerpc-ieee1275.rmk: likewise
9749 * conf/sparc64-ieee1275.rmk: likewise
9750 * conf/x86_64-ieee1275.rmk: likewise
9751
05aaebfb 97522009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 Support for mtime and further expandability of dir command
9755
9756 * include/grub/lib/datetime.h: moved to ...
7dd4a573 9757 * include/grub/datetime.h: ... moved here and added
05aaebfb 9758 declaration of grub_unixtime2datetime. All users updated
7dd4a573 9759 * include/grub/fs.h: new syntax for dir and mtime functions in
9760 struct grub_fs
05aaebfb 9761 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9762 and GRUB_FSHELP_FLAGS_MASK
9763 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9764 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9765 (grub_ext2_mtime): new function
9766 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9767 (grub_hfsplus_mtime): new function
9768 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9769 (GRUB_UFS_ATTR_FILE): likewise
9770 (GRUB_UFS_ATTR_LNK): likewise
9771 (struct grub_ufs_sblock): new fields mtime
9772 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9773 all users updated
9774 (grub_ufs_dir): mtime support
9775 (grub_ufs_mtime): new function
9776 * fs/affs.c (grub_affs_dir): use new dir syntax
9777 * fs/afs.c (grub_afs_dir): likewise
9778 * fs/cpio.c (grub_cpio_dir): likewise
9779 * fs/fat.c (grub_fat_find_dir): likewise
9780 * fs/hfs.c (grub_hfs_dir): likewise
9781 * fs/iso9660.c (grub_iso9660_dir): likewise
9782 * fs/jfs.c (grub_jfs_dir): likewise
9783 * fs/minix.c (grub_minix_dir): likewise
9784 * fs/ntfs.c (grub_ntfs_dir): likewise
9785 * fs/reiserfs.c (grub_reiserfs_dir): likewise
9786 * fs/sfs.c (grub_sfs_dir): likewise
9787 * fs/xfs.c (grub_xfs_dir): likewise
9788 * util/hostfs.c (grub_hostfs_dir): likewise
9789 * lib/datetime.c: moved to ...
9790 * normal/datetime.c: ... moved here
9791 (grub_unixtime2datetime): new function
9792 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 9793 * normal/completion.c (iterate_dir): use new dir syntax
9794 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 9795 last modification time of a volume
7dd4a573 9796 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 9797 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 9798 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 9799 (normal_mod_SOURCES): likewise
9800 (datetime_mod_SOURCES): Removed lib/datetime.c
9801 * conf/i386-efi.rmk: likewise
7dd4a573 9802 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9803 * conf/i386-pc.rmk: likewise
9804 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9805 * conf/sparc64-ieee1275.rmk: likewise
9806 * conf/x86_64-efi.rmk: likewise
05aaebfb 9807
8a7e1a14 98082009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9811
9812 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9813 on grub_fat_find_dir
9814 (grub_fat_find_dir): use grub_fat_iterate_dir
9815 (grub_fat_label): likewise
9816
04186a9c 98172009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9818
7dd4a573 9819 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9820 and command.h
9821 remove extraneous kernel_elf_HEADERS
9822
da4c0bb6 98232009-04-04 Bean <bean123ch@gnail.com>
9824
9825 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9826
9827 * util/misc.c: Likewise.
9828
54ad9555 98292009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9830
9831 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9832 instead of grub_printf.
9833
7a6bf9f2 98342009-04-03 Robert Millan <rmh@aybabtu.com>
9835
9836 * loader/i386/linux.c (grub_linux_setup_video): Fill
9837 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9838 values from `mode info' structure instead of hardcoded
9839 values.
9840
3fcc2083 98412009-04-01 Pavel Roskin <proski@gnu.org>
9842
9843 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9844 unused now.
9845 * genmk.rb: Likewise.
9846 * configure.ac: Likewise.
9847
5ec9740b 98482009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9849
9850 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9851 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9852
5270cec8 98532009-04-01 David S. Miller <davem@davemloft.net>
9854
9855 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9856 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9857 (grub_setjmp): Mark with 'returns_twice' attribute.
9858 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
9859 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
9860 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
9861
9c3dd854 98622009-04-01 Robert Millan <rmh@aybabtu.com>
9863
9864 Reapply fix from 2008-07-28 which was accidentally reverted; also
9865 perform the same fix to a similar check in same function.
9866
9867 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9868 with the same number are found, just use issue a warning with
9869 grub_dprintf(), as this error has been reported to be non-fatal.
9870
0d818b7e 98712009-03-31 Pavel Roskin <proski@gnu.org>
9872
9873 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
9874 for cross-compilation.
9875
95646d92 98762009-03-30 Robert Millan <rmh@aybabtu.com>
9877
9878 Fix i386-ieee1275 build.
9879
9880 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
9881 Remove declaration.
9882
6a003ed1 98832009-03-30 Pavel Roskin <proski@gnu.org>
9884
9885 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
9886 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
9887 zero-terminated, rely only on the strlen value. Fix comparison
9888 of strings differing in length.
9889
92f33540 98902009-03-30 Robert Millan <rmh@aybabtu.com>
9891
9892 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
9893 checking for abi version. Improve error messages on BIOS to notify
9894 user about `linux16' command.
9895
a8c48fd5 98962009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9897
f968172e 9898 Leak fixes
a8c48fd5 9899
f968172e 9900 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
9901 in case of collision
9902 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 9903
9c323f09 99042009-03-29 Robert Millan <rmh@aybabtu.com>
9905
9906 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
9907 set `vid_mode' accordingly.
9908 (grub_linux_boot): Process `vid_mode' and set video mode.
9909
ae68f423 99102009-03-29 Robert Millan <rmh@aybabtu.com>
9911
9912 * util/grub.d/10_linux.in (linux_entry): New function.
9913 Factorize generation of Linux boot entries.
9914
5709cfc4 99152009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
9916
9917 Make the format of Environment Block plain text. The boot loader
9918 part is not tested well yet.
7dd4a573 9919
5709cfc4 9920 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
9921 (buffer): Removed.
9922 (envblk): Likewise.
9923 (usage): Remove "info" and "clear". Add "unset". Update the
9924 description of "set", as this does not delete variables any
9925 longer.
9926 (create_envblk_file): Complete rewrite.
9927 (open_envblk_file): Likewise.
9928 (cmd_info): Removed.
9929 (cmd_list): Likewise.
9930 (cmd_set): Likewise.
9931 (cmd_clear): Likewise.
9932 (list_variables): New function.
9933 (write_envblk): Likewise.
9934 (set_variables): Likewise.
9935 (unset_variables): Likewise.
9936 (main): Complete rewrite.
9937
9938 * commands/loadenv.c (buffer): Removed.
9939 (envblk): Likewise.
9940 (open_envblk_file): New function.
9941 (read_envblk_file): Complete rewrite.
9942 (grub_cmd_load_env): Likewise.
9943 (grub_cmd_list_env): Likewise.
9944 (struct blocklist): New struct.
9945 (free_blocklists): New function.
9946 (check_blocklists): Likewise.
9947 (write_blocklists): Likewise.
9948 (grub_cmd_save_env): Complete rewrite.
9949
9950 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
9951 a plain text signature.
9952 (GRUB_ENVBLK_MAXLEN): Removed.
9953 (struct grub_envblk): Complete rewrite.
9954 (grub_envblk_find): Removed.
9955 (grub_envblk_insert): Likewise.
9956 (grub_envblk_open): New prototype.
9957 (grub_envblk_set): Likewise.
9958 (grub_envblk_delete): Put const to VALUE.
9959 (grub_envblk_iterate): Put const to NAME and VALUE.
9960 (grub_envblk_close): New prototype.
9961 (grub_envblk_buffer): New inline function.
9962 (grub_envblk_size): Likewise.
9963
9964 * lib/envblk.c: Include grub/mm.h.
9965 (grub_env_find): Removed.
9966 (grub_envblk_open): New function.
9967 (grub_envblk_close): Likewise.
9968 (escaped_value_len): Likewise.
9969 (find_next_line): Likewise.
9970 (grub_envblk_insert): Removed.
9971 (grub_envblk_set): New function.
9972 (grub_envblk_delete): Complete rewrite.
9973 (grub_envblk_iterate): Likewise.
9974
a9368fd3 99752009-03-28 Robert Millan <rmh@aybabtu.com>
9976
9977 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
9978 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
9979 variables. Use 16-bit loader.
9980 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
9981 loader.
9982 * kern/i386/loader.S (grub_linux_boot): Rename to ...
9983 (grub_linux16_boot): ... this. Update all users.
9984 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
9985 (grub_linux_boot): ... this. Update all users.
9986
9987 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
9988 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
9989 commands to `linux16' and `initrd16'.
9990 (GRUB_MOD_FINI(linux)): Rename to ...
9991 (GRUB_MOD_FINI(linux16)): ... this.
9992
e4dd5a7e 99932009-03-24 Pavel Roskin <proski@gnu.org>
9994
9995 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
9996 not just for compilation.
9997
c04d6e05 99982009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 Move multiboot helper out of kernel
10001
10002 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10003 `loader/i386/multiboot_helper.S'.
10004 * conf/i386-coreboot.rmk: Likewise
10005 * conf/i386-ieee1275.rmk: Likewise
10006
10007 * kern/i386/loader.S: Move multiboot helpers from here...
10008 * loader/i386/multiboot_helper.S: ...moved here
10009 * include/grub/i386/loader.h: Move declarations of multiboot
10010 helpers from here...
10011 * include/grub/i386/multiboot.h: ...moved here
10012 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10013
42a5b3fc 100142009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10015
10016 * kern/env.c (grub_env_context_open): Added an argument to specify
10017 whether a new context inherits exported variables from current
10018 one. This is useful when making a sandbox to interpret a config
10019 file.
10020 All callers updated.
10021
10022 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10023
b28bbc4e 100242009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10025
10026 * kern/env.c (grub_env_context_close): Fix memory leaks.
10027
f04f02e4 100282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10029
10030 * normal/main.c (grub_normal_execute): Added an argument
10031 BATCH to specify if an interactive interface should be provided
10032 after reading a config file.
10033 All callers updated.
10034 (read_command_list): Prevent being executed twice.
10035 (read_fs_list): Likewise.
10036
42a5b3fc 10037 * include/grub/normal.h (grub_normal_execute): Updated the
10038 prototype.
f04f02e4 10039
41473ac2 100402009-03-22 Pavel Roskin <proski@gno.org>
10041
fbc00b0c 10042 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10043 _start.
10044 * kern/i386/pc/startup.S: Likewise.
10045 * kern/i386/efi/startup.S: Likewise.
10046 * kern/i386/ieee1275/startup.S: Likewise.
10047 * kern/i386/coreboot/startup.S: Likewise.
10048 * kern/x86_64/efi/startup.S: Likewise.
10049
41473ac2 10050 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10051 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10052 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10053
2274cc8f 100542009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10057
10058 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10059 limit detection.
10060 Use vaddr of correct segment for entry_point.
10061
b1b797cb 100622009-03-21 Bean <bean123ch@gmail.com>
10063
10064 * commands/blocklist.c: Add include file <grub/command.h>, remove
10065 <grub/normal.h> and <grub/arg.h>.
10066 (grub_cmd_blocklist): Use the new command interface.
10067 (GRUB_MOD_INIT): Likewise.
10068 (GRUB_MOD_FINI): Likewise.
10069 * commands/boot.c: Likewise.
10070 * commands/cat.c: Likewise.
10071 * commands/cmp.c: Likewise.
10072 * commands/configfile.c: Likewise.
10073 * commands/crc.c: Likewise.
10074 * commands/echo.c: Likewise.
10075 * commands/halt.c: Likewise.
10076 * commands/handler.c: Likewise.
10077 * commands/hdparm.c: Likewise.
10078 * commands/help.c: Likewise.
10079 * commands/hexdump.c: Likewise.
10080 * commands/loadenv.c: Likewise.
10081 * commands/ls.c: Likewise.
10082 * commands/lsmmap.c: Likewise.
10083 * commands/lspci.c: Likewise.
10084 * commands/loadenv.c: Likewise.
10085 * commands/read.c: Likewise.
10086 * commands/reboot.c: Likewise.
10087 * commands/search.c: Likewise.
10088 * commands/sleep.c: Likewise.
10089 * commands/test.c: Likewise.
10090 * commands/usbtest.c: Likewise.
10091 * commands/videotest.c: Likewise.
10092 * commands/i386/cpuid.c: Likewise.
10093 * commands/i386/pc/halt.c: Likewise.
10094 * commands/i386/pc/play.c: Likewise.
10095 * commands/i386/pc/pxecmd.c: Likewise.
10096 * commands/i386/pc/vbeinfo.c: Likewise.
10097 * commands/i386/pc/vbetest.c: Likewise.
10098 * commands/ieee1275/suspend.c: Likewise.
10099 * disk/loopback.c: Likewise.
10100 * font/font_cmd.c: Likewise.
10101 * hello/hello.c: Likewise.
10102 * loader/efi/appleloader.c: Likewise.
10103 * loader/efi/chainloader.c: Likewise.
10104 * loader/i386/bsd.c: Likewise.
10105 * loader/i386/efi/linux.c: Likewise.
10106 * loader/i386/ieee1275/linux.c: Likewise.
10107 * loader/i386/linux.c: Likewise.
10108 * loader/i386/pc/chainloader.c: Likewise.
10109 * loader/i386/pc/linux.c: Likewise.
10110 * loader/powerpc/ieee1275/linux.c: Likewise.
10111 * loader/multiboot_loader.c: Likewise.
10112 * term/gfxterm.c: Likewise.
10113 * term/i386/pc/serial.c: Likewise.
10114 * term/terminfo.c: Likewise.
10115
10116 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10117 * term/i386/pc/vga.c: Likewise.
10118 * video/readers/jpeg.c: Likewise.
10119 * video/readers/png.c: Likewise.
10120 * video/readers/tga.c: Likewise.
10121
10122 * util/grub-fstest (cmd_loopback): Removed.
10123 (cmd_blocklist): Likewise.
10124 (cmd_ls): Likewise.
10125 (grub_register_command): Likewise.
10126 (grub_unregister_command): Likewise.
10127 (execute_command): Use grub_command_find to locate command and execute
10128 it.
10129
10130 * include/grub/efi/chainloader.h: Removed.
10131 * loader/efi/chainloader_normal.c: Likewise.
10132 * loader/i386/bsd_normal.c: Likewise.
10133 * loader/i386/pc/chainloader_normal.c: Likewise.
10134 * loader/i386/pc/multiboot_normal.c: Likewise.
10135 * loader/linux_normal.c: Likewise.
10136 * loader/multiboot_loader_normal.c: Likewise.
10137 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10138
10139 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10140 and grub_register_command_p1.
10141
10142 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10143 kern/command.c, lib/arg.c and commands/extcmd.c.
10144 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10145 (minicmd_mod_SOURCES): New variable.
10146 (minicmd_mod_CFLAGS): Likewise.
10147 (minicmd_mod_LDFLAGS): Likewise.
10148 (extcmd_mod_SOURCES): Likewise.
10149 (extcmd_mod_CFLAGS): Likewise.
10150 (extcmd_mod_LDFLAGS): Likewise.
10151 (boot_mod_SOURCES): Removed.
10152 (boot_mod_CFLAGS): Likewise.
10153 (boot_mod_LDFLAGS): Likewise.
10154
10155 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10156 kern/corecmd.c.
10157 (kernel_img_HEADERS): Add command.h.
10158 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10159 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10160 and lib/arg.c.
10161 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10162 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10163 remove the corresponding normal mode command.
10164 (normal_mod_SOURCES): Remove normal/arg.c.
10165 * conf/i386-coreboot.rmk: Likewise.
10166 * conf/i386-efi.rmk: Likewise.
10167 * conf/i386-ieee1275.rmk: Likewise.
10168 * conf/powerpc-ieee1275.rmk: Likewise.
10169 * conf/x86_64-efi.rmk: Likewise.
10170
10171 * include/grub/arg.h: Move from here ...
10172 * include/grub/lib/arg.h: ... to here.
10173
10174 * normal/arg.c: Move from here ...
10175 * lib/arg.c: ... to here.
10176
10177 * commands/extcmd.c: New file.
10178 * commands/minicmd.c: Likewise.
10179 * include/grub/command.h: Likewise.
10180 * include/grub/extcmd.h: Likewise.
10181 * kern/command.c: Likewise.
10182 * kern/corecmd.c: Likewise.
10183
10184 * kern/list.c (grub_list_iterate): Return int instead of void.
10185 (grub_list_insert): New function.
10186 (grub_prio_list_insert): Likewise.
10187
10188 * kern/rescue.c (grub_rescue_command): Removed.
10189 (grub_rescue_command_list): Likewise.
10190 (grub_rescue_register_command): Likewise.
10191 (grub_rescue_unregister_command): Likewise.
10192 (grub_rescue_cmd_boot): Move to minicmd.c
10193 (grub_rescue_cmd_help): Likewise.
10194 (grub_rescue_cmd_info): Likewise.
10195 (grub_rescue_cmd_boot): Likewise.
10196 (grub_rescue_cmd_testload): Likewise.
10197 (grub_rescue_cmd_dump): Likewise.
10198 (grub_rescue_cmd_rmmod): Likewise.
10199 (grub_rescue_cmd_lsmod): Likewise.
10200 (grub_rescue_cmd_exit): Likewise.
10201 (grub_rescue_print_devices): Moved to corecmd.c.
10202 (grub_rescue_print_files): Likewise.
10203 (grub_rescue_cmd_ls): Likewise.
10204 (grub_rescue_cmd_insmod): Likewise.
10205 (grub_rescue_cmd_set): Likewise.
10206 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10207 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10208 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10209 commands, remove grub_rescue_register_command calls.
b1b797cb 10210
7d074e3c 10211 * normal/command.c (grub_register_command): Removed.
b1b797cb 10212 (grub_unregister_command): Likewise.
10213 (grub_command_find): Likewise.
10214 (grub_iterate_commands): Likewise.
10215 (rescue_command): Likewise.
10216 (export_command): Moved to corecmd.c.
10217 (set_command): Removed.
10218 (unset_command): Likewise.
10219 (insmod_command): Likewise.
10220 (rmmod_command): Likewise.
10221 (lsmod_command): Likewise.
10222 (grub_command_init): Likewise.
10223
10224 * normal/completion.c (iterate_command): Use cmd->prio to check for
10225 active command.
10226 (complete_arguments): Use grub_extcmd_t structure to find options.
10227 (grub_normal_do_completion): Change function grub_iterate_commands to
10228 grub_command_iterate.
10229
10230 * normal/execute.c (grub_script_execute_cmd): No need to parse
10231 argument here.
10232
10233 * normal/main.c (grub_dyncmd_dispatcher): New function.
10234 (read_command_list): Register unload commands as dyncmd.
10235 (grub_cmd_normal): Use new command interface, register rescue,
10236 unregister normal at entry, register normal, unregister rescue at exit.
10237
10238 * include/grub/list.h (grub_list_test_t): New type.
10239 (grub_list_iterate): Return int instead of void.
10240 (grub_list_insert): New function.
10241 (GRUB_AS_NAMED_LIST_P): New macro.
10242 (GRUB_AS_PRIO_LIST): Likewise.
10243 (GRUB_AS_PRIO_LIST_P): Likewise.
10244 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10245 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10246 (grub_prio_list): New structure.
10247 (grub_prio_list_insert): New function.
10248 (grub_prio_list_remove): New inline function.
10249
10250 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10251 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10252 (GRUB_COMMAND_FLAG_MENU): Likewise.
10253 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10254 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10255 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10256 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10257 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10258 (grub_command): Likewise.
10259 (grub_register_command): Likewise.
10260 (grub_command_find): Likewise.
10261 (grub_iterate_commands): Likewise.
10262 (grub_command_init): Likewise.
10263 (grub_arg_parse): Likewise.
10264 (grub_arg_show_help): Likewise.
10265
10266 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10267 (grub_rescue_unregister_command): Likewise.
10268
10269 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10270 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10271 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10272
10273 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10274 grub_rescue_cmd_initrd.
10275 * include/grub/i386/loader.h: Likewise.
10276 * include/grub/x86_64/loader.h: Likewise.
10277
10278 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10279
1f4147aa 102802009-03-21 Bean <bean123ch@gmail.com>
10281
10282 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10283 instead of stat in mingw environment.
10284
10285 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10286
10287 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10288
10289 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10290 AC_CONFIG_LINKS.
10291
2156d5ba 102922009-03-21 Bean <bean123ch@gmail.com>
10293
10294 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10295 out of range error.
10296
177b82ca 102972009-03-18 Michel Dänzer <michel@daenzer.net>
10298
10299 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10300 checking inode flags for EXT4_EXTENTS_FLAG.
10301
14aad807 103022009-03-18 Robert Millan <rmh@aybabtu.com>
10303
10304 * loader/i386/linux.c: Include `<grub/video.h>' and
10305 `<grub/i386/pc/vbe.h>'..
10306 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10307 (grub_linux32_boot): Attempt to configure video settings with
10308 grub_linux_setup_video().
10309 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10310 to avoid grub_console_fini() which would step out of graphical mode
10311 unconditionally.
10312
8cf83a27 103132009-03-14 Robert Millan <rmh@aybabtu.com>
10314
10315 Fix build on powerpc.
10316 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10317
40164e75 103182009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
10321 background image command.
10322
c58bc32a 103232009-03-12 Colin D Bennett <colin@gibibit.com>
10324
10325 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
10326 (grub_gfxterm_putchar): Extract pairs of identical calls to
10327 draw_cursor out of conditional blocks.
10328
5415144a 103292009-03-11 Pavel Roskin <proski@gnu.org>
10330
10331 * fs/hfs.c (grub_hfs_strncasecmp): New function.
10332 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
10333
6394042e 103342009-03-11 Robert Millan <rmh@aybabtu.com>
10335
10336 * loader/i386/multiboot_elfxx.c
10337 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10338
b7b50e5f 103392009-03-11 Felix Zielcke <fzielcke@z-51.de>
10340
10341 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
10342 `kern/handler.c'.
10343
1ca7fc96 103442009-03-11 Robert Millan <rmh@aybabtu.com>
10345
10346 * loader/i386/multiboot.c (code_size): New variable.
10347 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 10348 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 10349 4-byte alignment to MBI and others by increasing
7d074e3c 10350 `boot_loader_name_length' appropriately.
1ca7fc96 10351
10352 * loader/i386/multiboot_elfxx.c
10353 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
10354
a83ea1d2 103552009-03-09 Felix Zielcke <fzielcke@z-51.de>
10356
10357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
10358 `fs/ext2.c'.
10359
aa9f3bff 103602009-03-08 Robert Millan <rmh@aybabtu.com>
10361
10362 Make loader/i386/linux.c usable on i386-pc again.
10363
10364 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
10365 memory to heap.
10366 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
10367 `#error' stanza.
10368
d8b3b60e 103692009-03-07 Bean <bean123ch@gmail.com>
10370
10371 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
10372 allocation.
10373
b362c9e9 103742009-03-06 Robert Millan <rmh@aybabtu.com>
10375
10376 Fix display issue on terminals with screen size other than 80x25
10377 (e.g. gfxterm with resolution higher than 640x480).
10378
10379 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 10380 position relative to the center of the terminal instead of relying
b362c9e9 10381 on a hardcoded offset.
10382
9304eef1 103832009-03-04 Robert Millan <rmh@aybabtu.com>
10384
10385 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
10386 installed.
10387
10388 * Makefile.in (host_kernel): New variable.
10389 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
10390 scripts instead of just the windows one.
10391 * configure.ac: Initialize and AC_SUBST `host_kernel'.
10392
eabc95fb 103932009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 10394
10395 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
10396 `kern/handler.c'.
10397 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10398 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10401 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10402 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10403
ceb1223c 104042009-03-04 Felix Zielcke <fzielcke@z-51.de>
10405
10406 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
10407 or if there's no space for the disk label and print the partition number on a
10408 invalid magic.
10409
4910684a 104102009-03-04 Felix Zielcke <fzielcke@z-51.de>
10411
10412 * util/misc.c: Include <time.h>.
10413 (grub_millisleep): New function.
10414
7e9ca17a 104152009-03-04 Bean <bean123ch@gmail.com>
10416
10417 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
10418 another option -mno-red-zone.
10419
10420 * commands/handler.c: Change module description.
10421
10422 * kern/handler.c: Add missing space at the end of description line.
10423
10424 * kern/list.c: Likewise.
10425
f501677c 104262009-03-03 Robert Millan <rmh@aybabtu.com>
10427
10428 Move more components to the relocation area, and fix mbi pointer
10429 handling to use the destination rather than the origin (thanks to
10430 Vladimir Serbinenko for spotting).
10431
10432 * loader/i386/multiboot.c (mbi_dest): New variable.
10433 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
10434 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
10435 relocation area.
10436
9902d047 104372009-03-01 Bean <bean123ch@gmail.com>
10438
50fb7002 10439 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 10440 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
10441 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
10442 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
10443
10444 * loader/i386/efi/linux.c (acpi_guid): New variable.
10445 (acpi_guid): Likewise.
10446 (EBDA_SEG_ADDR): New constant.
10447 (LOW_MEM_ADDR): Likewise.
10448 (FAKE_EBDA_SEG): Likewise.
10449 (fake_bios_data): New function.
10450 (grub_linux_boot): Call fake_bios_data.
10451
71b9f361 104522009-03-01 Bean <bean123ch@gmail.com>
10453
10454 * commands/terminal.c: Removed.
10455
10456 * commands/handler.c: New file.
10457
10458 * include/grub/list.h: Likewise.
10459
10460 * include/grub/handler.h: Likewise.
10461
10462 * kern/list.c: Likewise.
10463
10464 * kern/handler.c: Likewise.
10465
10466 * kern/term.h: Include header file <grub/handler.h>.
10467 (grub_term_input): Move next field to the beginning.
10468 (grub_term_output): Likewise.
10469 (grub_term_input_class): New variable.
10470 (grub_term_output_class): Likewise.
10471 (grub_term_register_input): Changed to inline function.
10472 (grub_term_register_output): Likewise.
10473 (grub_term_unregister_input): Likewise.
10474 (grub_term_unregister_output): Likewise.
10475 (grub_term_set_current_input): Likewise.
10476 (grub_term_set_current_output): Likewise.
10477 (grub_term_get_current_input): Likewise.
10478 (grub_term_get_current_output): Likewise.
10479 (grub_term_iterate_input): Removed.
10480 (grub_term_iterate_output): Likewise.
10481
10482 * kern/term.c (grub_term_list_input): Removed.
10483 (grub_term_list_output): Likewise.
10484 (grub_term_input_class): New variable.
10485 (grub_term_output_class): Likewise.
50fb7002 10486 (grub_cur_term_input): Change variable as macro.
71b9f361 10487 (grub_cur_term_output): Likewise.
10488 (grub_term_register_input): Removed.
10489 (grub_term_register_output): Likewise.
10490 (grub_term_unregister_input): Likewise.
10491 (grub_term_unregister_output): Likewise.
10492 (grub_term_set_current_input): Likewise.
10493 (grub_term_set_current_output): Likewise.
10494 (grub_term_iterate_input): Likewise.
10495 (grub_term_iterate_output): Likewise.
10496 (grub_term_get_current_input): Likewise.
10497 (grub_term_get_current_output): Likewise.
10498
10499 * util/grub-editenv.c: Include header file <grub/handler.h>.
10500 (grub_term_get_current_input): Removed.
10501 (grub_term_get_current_output): Likewise.
10502 (grub_term_input_class): New variable.
50fb7002 10503 (grub_term_output_class): Likewise.
71b9f361 10504
10505 * util/grub-fstest.c (grub_term_get_current_input): Removed.
10506 (grub_term_get_current_output): Likewise.
10507 (grub_term_input_class): New variable.
50fb7002 10508 (grub_term_output_class): Likewise.
71b9f361 10509
10510 * util/grub-probe.c (grub_term_get_current_input): Removed.
10511 (grub_term_get_current_output): Likewise.
10512 (grub_term_input_class): New variable.
50fb7002 10513 (grub_term_output_class): Likewise.
71b9f361 10514
10515 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
10516 (grub_term_get_current_output): Likewise.
10517 (grub_term_input_class): New variable.
50fb7002 10518 (grub_term_output_class): Likewise.
71b9f361 10519
10520 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
10521 (terminal_mod_SOURCES): Likewise.
10522 (terminal_mod_CFLAGS): Likewise.
10523 (terminal_mod_LDFLAGS): Likewise.
10524
10525 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
10526 handler.c.
10527 (kernel_img_SOURCES): Add list.c and handler.c.
10528 (kernel_img_HEADERS): Add list.h and handler.h.
10529
10530 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10531 handler.c.
10532 (kernel_mod_SOURCES): Add list.c and handler.c.
10533 (kernel_mod_HEADERS): Add list.h and handler.h.
10534
10535 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
10536 handler.c.
10537 (kernel_elf_SOURCES): Add list.c and handler.c.
10538 (kernel_elf_HEADERS): Add list.h and handler.h.
10539
10540 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10541 handler.c.
10542 (kernel_elf_SOURCES): Add list.c and handler.c.
10543 (kernel_elf_HEADERS): Add list.h and handler.h.
10544
10545 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10546 handler.c.
10547 (kernel_mod_SOURCES): Add list.c and handler.c.
10548 (kernel_mod_HEADERS): Add list.h and handler.h.
10549
10550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10551 handler.c.
10552 (kernel_elf_SOURCES): Add list.c and handler.c.
10553 (kernel_elf_HEADERS): Add list.h and handler.h.
10554
8a31787f 105552009-02-27 Robert Millan <rmh@aybabtu.com>
10556
10557 Factorize elf32 / elf64 code in Multiboot loader. This will
10558 prevent it from getting out of sync again.
10559
10560 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
10561 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
10562 grub_multiboot_load_elf64): Move from here ...
10563 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
10564 grub_multiboot_load_elf): ... to here (new file).
10565
51cd3dfc 105662009-02-27 Robert Millan <rmh@aybabtu.com>
10567
10568 * util/grub.d/10_linux.in: Rename "single-user mode" to
10569 "recovery mode".
10570
6e8c9c3a 105712009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 Don't leak in SCSI code.
10574 * disk/scsi.c (grub_scsi_close): free `scsi'.
10575
4b6bf4f9 105762009-02-27 Robert Millan <rmh@aybabtu.com>
10577
10578 * loader/i386/pc/multiboot.c: Move from here ...
10579 * loader/i386/multiboot.c: ... to here. Update all users.
10580
b9413424 105812009-02-27 Robert Millan <rmh@aybabtu.com>
10582
10583 Patch from Alexandre Bique <bique.alexandre@gmail.com>
10584 * util/i386/pc/grub-setup.c (setup): Fix directory path.
10585
50fb7002 105862009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 10587
10588 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
10589 b-tree.
10590
8cc50345 105912009-02-27 Robert Millan <rmh@aybabtu.com>
10592
10593 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
10594 `0x' qualifier as 0 when base is specified as parameter).
10595
6e09b8b7 105962009-02-24 Bean <bean123ch@gmail.com>
10597
10598 * configure.ac: Check for -mcmodel=large in x86_64 target.
10599
10600 * include/grub/efi/api.h (efi_call_10): New macro.
10601 (efi_wrap_10): New function.
10602
10603 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
10604 (GRUB_PE32_REL_BASED_HIGH): Likewise.
10605 (GRUB_PE32_REL_BASED_LOW): Likewise.
10606 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
10607 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
10608 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
10609 (GRUB_PE32_REL_BASED_SECTION): Likewise.
10610 (GRUB_PE32_REL_BASED_REL): Likewise.
10611 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10612 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10613 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10614
10615 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10616 issue.
10617
10618 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10619 (efi_wrap_10): New function.
10620
10621 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10622
10623 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10624 MB/MBP model (NV chipset).
10625 (devdata_devs): Add devpath_5 to the list.
10626
10627 * load/i386/efi/linux.c (video_base): Remove variable.
10628 (RGB_MASK): New macro.
10629 (RGB_MAGIC): Likewise.
10630 (LINE_MIN): Likewise.
10631 (LINE_MAX): Likewise.
10632 (FBTEST_STEP): Likewise.
10633 (FBTEST_COUNT): Likewise.
10634 (fb_list): New variable.
10635 (grub_find_video_card): Remove function.
10636 (find_framebuf): New function.
10637 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10638 line length.
10639
10640 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10641 problem for x86_64.
10642
74b21bee 106432009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10644
10645 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10646
10647 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10648 coding tool name.
10649
a455f472 106502009-02-22 Robert Millan <rmh@aybabtu.com>
10651
10652 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10653 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10654 in our relocation, instead of using it directly from heap. Also
10655 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10656
6374daf3 106572009-02-21 Robert Millan <rmh@aybabtu.com>
10658
10659 Implement USB keyboard support (based on patch by Marco Gerards)
10660
10661 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10662 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10663 (usb_keyboard_mod_LDFLAGS): New variables.
10664
10665 * term/usb_keyboard.c: New file.
10666
8fa4ea70 106672009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 Corrected wrong declaration
10670
10671 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10672
353976ac 106732009-02-14 Christian Franke <franke@computer.org>
10674
10675 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10676 (grub_lspci_iter): Print class code and programming interface byte.
10677
6aa1169b 106782009-02-14 Christian Franke <franke@computer.org>
10679
10680 * gendistlist.sh: Ignore `.svn' directories.
10681
265372ca 106822009-02-14 Felix Zielcke <fzielcke@z-51.de>
10683
10684 * fs/fat.c: Add 2009 to Copyright line.
10685
9ff516f3 106862009-02-14 Christian Franke <franke@computer.org>
10687
10688 * commands/hdparm.c: New file. Provides `hdparm' command
10689 which sends ATA commands via grub_disk_ata_pass_through ().
10690
10691 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10692
10693 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10694 and <grub/cpu/io.h> to include/grub/ata.h.
10695 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10696 (GRUB_CDROM_SECTOR_SIZE): Remove.
10697 (GRUB_ATA_*): Move to include/grub/ata.h.
10698 (GRUB_ATAPI_*): Likewise.
10699 (enum grub_ata_commands): Likewise.
10700 (enum grub_ata_timeout_milliseconds): Likewise.
10701 (struct grub_ata_device): Likewise.
10702 (grub_ata_regset): Likewise.
10703 (grub_ata_regget): Likewise.
10704 (grub_ata_regset2): Likewise.
10705 (grub_ata_regget2): Likewise.
10706 (grub_ata_check_ready): Likewise.
10707 (grub_ata_wait_not_busy): Remove static, exported in
10708 include/grub/ata.h.
10709 (grub_ata_wait_drq): Likewise.
10710 (grub_ata_pio_read): Likewise.
10711
10712 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10713 function for hdparm.mod.
10714
10715 * include/grub/ata.h: New file, contains declarations from
10716 disk/ata.c.
10717 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10718
10719 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10720 (grub_disk_ata_pass_through): New exported variable.
10721
10722 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10723
772e23da 107242009-02-13 Colin D Bennett <colin@gibibit.com>
10725
10726 Support multiple fallback entries, and provide an API to support
10727 executing default+fallback menu entries. Renamed the `terminal' menu
10728 viewer to `text'.
10729
10730 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10731 variable declaration.
10732 (grub_menu_execute_callback): New structure declaration.
10733 (grub_menu_execute_callback_t): New typedef.
10734 (grub_menu_execute_with_fallback): New function declaration.
10735 (grub_menu_get_entry): Likewise.
10736 (grub_menu_get_timeout): Likewise.
10737 (grub_menu_set_timeout): Likewise.
10738
10739 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10740
10741 * normal/menu.c (grub_wait_after_message): Moved to
10742 `normal/menu_text.c'.
10743 (draw_border): Likewise.
10744 (print_message): Likewise.
10745 (print_entry): Likewise.
10746 (print_entries): Likewise.
10747 (grub_menu_init_page): Likewise.
10748 (get_entry_number): Likewise.
10749 (print_timeout): Likewise.
10750 (run_menu): Likewise.
10751 (grub_menu_execute_entry): Likewise.
10752 (show_text_menu): Likewise.
10753 (get_and_remove_first_entry_number): New function.
10754 (grub_menu_execute_with_fallback): Likewise.
10755 (get_entry): Renamed to ...
10756 (grub_menu_get_entry): .. this and made it global.
10757 (get_timeout): Renamed to ...
10758 (grub_menu_get_timeout): ... this and made it global.
10759 (set_timeout): Renamed to ...
10760 (grub_menu_set_timeout): ... this and made it global.
10761 (grub_normal_terminal_menu_viewer): Renamed to ...
10762 (grub_normal_text_menu_viewer): ... this.
10763
10764 * normal/menu_text.c: New file. Extracted text-menu-specific code
10765 from normal/menu.c.
10766
10767 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10768 (normal_mod_SOURCES): Likewise.
10769
10770 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10771 (normal_mod_SOURCES): Likewise.
10772
10773 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10774 (normal_mod_SOURCES): Likewise.
10775
10776 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10777 (normal_mod_SOURCES): Likewise.
10778
10779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10780 (normal_mod_SOURCES): Likewise.
10781
10782 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10783 (normal_mod_SOURCES): Likewise.
10784
10785 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10786 (normal_mod_SOURCES): Likewise.
10787
16ac430e 107882009-02-11 Robert Millan <rmh@aybabtu.com>
10789
10790 * util/grub.d/00_header.in: Update old reference to `font' command.
10791
06ff20fc 107922009-02-10 Felix Zielcke <fzielcke@z-51.de>
10793
10794 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
10795
10796 Based on patch from Javier Martín.
10797
96da9407 107982009-02-09 Felix Zielcke <fzielcke@z-51.de>
10799
10800 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10801 to avoid false positives with FAT.
96da9407 10802 (grub_fstest_SOURCES): Likewise.
10803 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10804 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10806 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10807 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10808 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10809
6dca6fe4 108102009-02-09 Felix Zielcke <fzielcke@z-51.de>
10811
06ff20fc 10812 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10813 bpb.version_specific.fat12_or_fat16.fstype and
10814 bpb.version_specific.fat32.fstype.
10815
2550c62f 108162009-02-08 Robert Millan <rmh@aybabtu.com>
10817
be110b30 10818 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10819
56978920 108202009-02-08 Robert Millan <rmh@aybabtu.com>
10821
10822 * Makefile.in (host_os, host_cpu): New variables.
10823 (target_os): Remove. Update all users.
10824
d64399b5 108252009-02-08 Marco Gerards <marco@gnu.org>
10826
10827 * Makefile.in (enable_grub_emu_usb): New variable.
10828 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10829 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10830 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10831 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10832 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10833 `usbtest.mod' and `usbms.mod'.
10834 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10835 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10836 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10837 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10838 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10839 variables.
10840
10841 * disk/usbms.c: New file.
10842
10843 * include/grub/usb.h: Likewise.
10844
10845 * include/grub/usbtrans.h: Likewise.
10846
10847 * include/grub/usbdesc.h: Likewise.
10848
10849 * bus/usb/usbtrans.c: Likewise.
10850
10851 * bus/usb/ohci.c: Likewise.
10852
10853 * bus/usb/uhci.c: Likewise.
10854
10855 * bus/usb/usbhub.c: Likewise.
10856
10857 * bus/usb/usb.c: Likewise.
10858
10859 * commands/usbtest.c: Likewise.
10860
10861 * util/usb.c: Likewise.
50fb7002 10862
d64399b5 10863 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
10864
10865 * configure.ac: Test for libusb presence.
50fb7002 10866
d64399b5 10867 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
10868
2b40d6bb 108692009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
10870
10871 * kern/mm.c: Add more comments.
10872
73a4ce81 108732009-02-08 Robert Millan <rmh@aybabtu.com>
10874
10875 Patch from Javier Martín.
10876 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
10877 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
10878
f821ce59 108792009-02-08 Robert Millan <rmh@aybabtu.com>
10880
10881 * fs/cpio.c: Split tar functionality to ...
10882 * fs/tar.c: ... here (new file). Update all users.
10883
aebfc4b0 108842009-02-07 Robert Millan <rmh@aybabtu.com>
10885
10886 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
10887 backward-incompatible features.
10888
10889 Based on patch from Javier Martín, with some adjustments.
10890
50fb7002 108912009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 10892
10893 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
10894
0bb5115e 108952009-02-07 Robert Millan <rmh@aybabtu.com>
10896
10897 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
10898 position of `disk/lvm.c' to ensure grub_init_all() always picks it
10899 after the RAID stuff.
10900
38a0f8e7 109012009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
10902
50fb7002 10903 Fixes problem when running vbetest command as reported by
38a0f8e7 10904 Vladimir Serbinenko <phcoder@gmail.com>.
10905
10906 * (grub_vbe_set_video_mode): Fixed problem with text modes.
10907
3143cc1c 109082009-02-04 Felix Zielcke <fzielcke@z-51.de>
10909
10910 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
10911 /dev/md/NpN style mdraid devices.
10912
9cba6fce 109132009-02-03 Felix Zielcke <fzielcke@z-51.de>
10914
10915 * util/unifont2pff.rb: Remove.
10916
e507a2c1 109172009-02-03 Felix Zielcke <fzielcke@z-51.de>
10918
10919 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
10920 `#'.
10921
d2c2b4cd 109222009-02-03 Felix Zielcke <fzielcke@z-51.de>
10923
10924 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
10925 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10926 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10927 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10929 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10930 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10931
b4315fb0 109322009-02-02 Christian Franke <franke@computer.org>
10933
10934 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
10935
de3aa260 109362009-02-01 Felix Zielcke <fzielcke@z-51.de>
10937
7c3ff286 10938 * INSTALL: Note that we now require at least autoconf 2.59 and
10939 that LZO is optional.
de3aa260 10940
825a182b 109412009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10942
10943 Base on patch on bug #24154 created by Tomas Tintera
10944 <trosos@seznam.cz>.
10945
10946 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
10947
a69ef770 109482009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10949
7c3ff286 10950 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 10951 <bero@arklinux.org>.
10952
10953 * normal/parser.y (script_init): Add missing semicolon.
10954
6fa42fa6 109552009-01-31 Colin D Bennett <colin@gibibit.com>
10956
7c3ff286 10957 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 10958 (free_menu_entry_classes): Added.
10959 (grub_normal_menu_addentry): Added class property handling.
10960 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
10961 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
10962
10963 * normal/menu_viewer.c: New file.
10964
10965 * normal/menu.c (run_menu_entry): Renamed to ...
10966 (grub_menu_execute_entry): ... this and made it as global.
10967 (grub_menu_run): Renamed to ...
10968 (show_text_menu): ... this and made it local.
10969 (show_text_menu): Adapt to new function names.
10970 (grub_normal_terminal_menu_viewer): New global variable.
10971
10972 * include/grub/menu.h: New file.
10973
10974 * include/grub/menu_viewer.h: New file.
10975
10976 * include/grub/normal.h: Added include to grub/menu.h.
10977 (grub_menu_entry): Moved to include/grub/menu.h.
10978 (grub_menu_entry_t): Likewise.
10979 (grub_menu): Likewise.
10980 (grub_menu_t): Likewise.
10981 (grub_normal_terminal_menu_viewer): Added.
10982 (grub_menu_execute_entry): Likewise.
10983 (grub_menu_run): Removed.
10984
10985 * DISTLIST: Added include/grub/menu.h.
10986 Added include/grub/menu_viewer.h.
10987 Added normal/menu_viewer.c.
10988
109892009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
10990
10991 * normal/execute.c (grub_script_execute_menuentry): Changed to use
10992 arglist for menutitle arguments.
10993
10994 * normal/main.c (grub_normal_menu_addentry): Likewise.
10995
10996 * normal/parser.y (menuentry): Likewise.
10997
10998 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10999
11000 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11001 (grub_script_create_cmdmenu): Likewise.
11002
11003 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11004
11005 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11006 changes.
11007
11008 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11009
11010 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11011
11012 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11013
11014 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11015
11016 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11017
11018 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11019
56192c23 110202009-01-30 Christian Franke <franke@computer.org>
11021
11022 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11023 in option help text.
11024
d72521b3 110252009-01-27 Pavel Roskin <proski@gnu.org>
11026
11027 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11028
994b5e84 110292009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11030
11031 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11032
11033 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11034
11035 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11036 unregister function.
11037
6a7eab2c 110382009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11039
11040 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11041
11042 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11043
11044 * util/grub-mkfont.c (usage): Fix typo.
11045
11046 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11047
1806b56e 110482009-01-26 Daniel Mierswa <impulze@impulze.org>
11049
3fb18f09 11050 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11051
336e1fb9 11052 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11053
1806b56e 11054 * kern/misc.c (grub_strcasecmp): New function.
11055 (grub_strcasecmp): Use grub_size_t instead of int for length.
11056 Fix return value.
11057 * include/grub/misc.h: Update function prototypes.
11058
580b2a0f 110592009-01-26 Robert Millan <rmh@aybabtu.com>
11060
11061 * configure.ac: Fix cross-compilation check.
ef257b36 11062
d31c24f1 110632009-01-22 Christian Franke <franke@computer.org>
11064
11065 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11066 (precision) digit string. Allow `.format2' without `format1' (width).
11067 Limit input chars for `%s' output to `format2' if specified. This is
11068 compatible with standard printf ().
11069
3138b44c 110702009-01-22 Christian Franke <franke@computer.org>
11071
11072 * disk/ata.c (grub_ata_wait_status): Replace by ...
11073 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11074 other status bits may be invalid while BSY is asserted.
11075 (grub_ata_check_ready): New function.
11076 (grub_ata_cmd): Removed.
11077 (grub_ata_wait_drq): New function.
11078 (grub_ata_strncpy): Remove inline.
11079 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11080 and error check now done by grub_ata_wait_drq ().
11081 (grub_ata_pio_write): Likewise.
11082 (grub_atapi_identify): Set DEV before check for !BSY. Use
11083 grub_ata_wait_drq () to wait for data.
11084 (grub_ata_device_initialize): Add status register check to
11085 detect missing SATA slave devices. Add debug messages.
11086 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11087 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11088 transfer loop by grub_ata_pio_write ().
11089 (grub_ata_identify): Set DEV before check for !BSY. Use
11090 grub_ata_wait_drq () to wait for data.
ef257b36 11091 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11092 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11093 read/write in one loop. Fix invalid command on write. Fix incomplete
11094 command on (size % batch) == 0. Add missing error check after write of
11095 last block. Add debug messages.
11096 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11097
59a64ef6 110982009-01-19 Christian Franke <franke@computer.org>
11099
11100 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11101 (GRUB_ATAPI_IREASON_*): Likewise.
11102 (grub_ata_pio_write): Fix timeout error return.
11103 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11104 (grub_atapi_wait_drq): New function.
11105 (grub_atapi_packet): New parameter `size'.
11106 Use grub_atapi_wait_drq () and direct write instead of
11107 grub_ata_pio_write ().
11108 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11109 reads the number of bytes requested by the device for each DRQ
11110 assertion.
11111 (grub_atapi_write): Remove old implementation, return not
11112 implemented instead.
11113
1cfe20b3 111142009-01-19 Christian Franke <franke@computer.org>
11115
11116 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11117 of 512 to calculate data size.
11118 (grub_scsi_read12): Likewise.
11119 (grub_scsi_write10): Likewise.
11120 (grub_scsi_write12): Likewise.
11121 (grub_scsi_read): Adjust size according to blocksize.
11122 Add checks for invalid blocksize and unaligned transfer.
11123
bee5fe5d 111242009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11125
11126 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11127
ef257b36 11128 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 11129 width glyphs.
11130
3e643f8c 111312009-01-19 Robert Millan <rmh@aybabtu.com>
11132
11133 * config.guess: Update to latest version from config git.
11134 * config.sub: Likewise.
11135
4fa80998 111362009-01-17 Felix Zielcke <fzielcke@z-51.de>
11137
11138 * Makefile.in: Change font compilation to use new grub-mkfont instead
11139 of java version.
11140
11141 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11142 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11143 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11144 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11145 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11146 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11147 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11148 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11149 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11150
7086085b 111512009-01-16 Christian Franke <franke@computer.org>
11152
11153 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11154 (enum grub_ata_timeout_milliseconds): New enum.
11155 (grub_ata_wait_status): Add parameter milliseconds.
11156 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11157 recovery from timed-out commands.
11158 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11159 return grub_errno instead of REG_ERROR.
11160 (grub_ata_pio_write): Add parameter milliseconds.
11161 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11162 Pass milliseconds to grub_ata_wait_status () and
11163 grub_ata_pio_read ().
11164 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11165 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11166 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11167 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11168 It is not suitable for device detection, because DEV bit is ignored,
11169 the command may run too long, and not all devices set the signature
11170 properly.
11171 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11172 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11173 Fix device selection, DEV bit must be set first to address the registers
11174 of the correct device.
11175 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11176 grub_ata_pio_read/write ().
11177 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11178 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11179
4a412913 111802009-01-13 Carles Pina i Estany <carles@pina.cat>
11181
11182 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11183
7795c55e 111842009-01-13 Bean <bean123ch@gmail.com>
d913988c 11185
11186 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11187
7795c55e 111882009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11189
11190 * Makefile.in: (enable_grub_mkfont): New variable.
11191 (freetype_cflags): Likewise.
11192 (freetype_libs): Likewise.
11193
11194 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11195 (grub_mkfont_SOURCES): New variable.
11196 (grub_mkfont_CFLAGS): Likewise.
11197 (grub_mkfont_LDFLAGS): Likewise.
11198
11199 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11200 library if `--enable-grub-mkfont' is requested.
11201 (enable_grub_mkfont): New variable.
11202 (freetype_cflags): Likewise.
11203 (freetype_libs): Likewise.
11204
11205 * util/grub-mkfont.c: New file.
11206
093af1fe 112072009-01-12 Christian Franke <franke@computer.org>
11208
11209 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11210 mode check. Fix setting of compat_use[].
11211
f36cc108 112122009-01-10 Robert Millan <rmh@aybabtu.com>
11213
11214 Update a few copyright years which we forgot to do in 2008 (only for
11215 files whose changes made in 2008 were copyright-significant)
11216
11217 * Makefile.in: Add 2008 to Copyright line.
11218 * disk/ieee1275/ofdisk.c: Likewise.
11219 * disk/efi/efidisk.c: Likewise.
11220 * kern/dl.c: Likewise.
11221 * kern/sparc64/ieee1275/init.c: Likewise.
11222 * kern/mm.c: Likewise.
11223 * kern/efi/mm.c: Likewise.
11224 * boot/i386/pc/boot.S: Likewise.
11225 * genfslist.sh: Likewise.
11226 * fs/iso9660.c: Likewise.
11227 * fs/hfs.c: Likewise.
11228 * fs/jfs.c: Likewise.
11229 * fs/minix.c: Likewise.
11230 * fs/ufs.c: Likewise.
11231 * gensymlist.sh.in: Likewise.
11232 * genkernsyms.sh.in: Likewise.
11233 * include/grub/misc.h: Likewise.
11234 * include/grub/types.h: Likewise.
11235 * include/grub/symbol.h: Likewise.
11236 * include/grub/elf.h: Likewise.
11237 * include/grub/kernel.h: Likewise.
11238 * include/grub/disk.h: Likewise.
11239 * include/grub/dl.h: Likewise.
11240 * include/grub/i386/linux.h: Likewise.
11241 * include/grub/i386/pc/biosdisk.h: Likewise.
11242 * include/grub/efi/api.h: Likewise.
11243 * include/grub/efi/pe32.h: Likewise.
11244 * include/grub/util/misc.h: Likewise.
11245 * normal/execute.c: Likewise.
11246 * normal/arg.c: Likewise.
11247 * normal/completion.c: Likewise.
11248 * normal/lexer.c: Likewise.
11249 * normal/parser.y: Likewise.
11250 * normal/misc.c: Likewise.
11251 * commands/i386/pc/vbeinfo.c: Likewise.
11252 * commands/hexdump.c: Likewise.
11253 * commands/terminal.c: Likewise.
11254 * commands/ls.c: Likewise.
11255 * commands/help.c: Likewise.
11256 * partmap/pc.c: Likewise.
11257 * loader/efi/chainloader.c: Likewise.
11258 * loader/multiboot_loader.c: Likewise.
11259 * loader/i386/pc/multiboot2.c: Likewise.
11260 * term/efi/console.c: Likewise.
11261 * term/i386/pc/serial.c: Likewise.
11262 * util/lvm.c: Likewise.
11263 * util/console.c: Likewise.
11264 * util/i386/efi/grub-mkimage.c: Likewise.
11265 * util/raid.c: Likewise.
11266
7f02114b 112672009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11268
11269 * commands/videotest.c: Removed include to grub/machine/memory.h.
11270
11271 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11272 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11273 (video_mod_SOURCES): Removed.
11274 (video_mod_CFLAGS): Likewise.
11275 (video_mod_LDFLAGS): Likewise.
11276 (gfxterm_mod_SOURCES): Likewise.
11277 (gfxterm_mod_CFLAGS): Likewise.
11278 (gfxterm_mod_LDFLAGS): Likewise.
11279 (videotest_mod_SOURCES): Likewise.
11280 (videotest_mod_CFLAGS): Likewise.
11281 (videotest_mod_LDFLAGS): Likewise.
11282 (bitmap_mod_SOURCES): Likewise.
11283 (bitmap_mod_CFLAGS): Likewise.
11284 (bitmap_mod_LDFLAGS): Likewise.
11285 (tga_mod_SOURCES): Likewise.
11286 (tga_mod_CFLAGS): Likewise.
11287 (tga_mod_LDFLAGS): Likewise.
11288 (jpeg_mod_SOURCES): Likewise.
11289 (jpeg_mod_CFLAGS): Likewise.
11290 (jpeg_mod_LDFLAGS): Likewise.
11291 (png_mod_SOURCES): Likewise.
11292 (png_mod_CFLAGS): Likewise.
11293 (png_mod_LDFLAGS): Likewise.
11294
11295 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11296 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11297 (video_mod_SOURCES): Added.
11298 (video_mod_CFLAGS): Likewise.
11299 (video_mod_LDFLAGS): Likewise.
11300 (videotest_mod_SOURCES): Likewise.
11301 (videotest_mod_CFLAGS): Likewise.
11302 (videotest_mod_LDFLAGS): Likewise.
11303 (bitmap_mod_SOURCES): Likewise.
11304 (bitmap_mod_CFLAGS): Likewise.
11305 (bitmap_mod_LDFLAGS): Likewise.
11306 (tga_mod_SOURCES): Likewise.
11307 (tga_mod_CFLAGS): Likewise.
11308 (tga_mod_LDFLAGS): Likewise.
11309 (jpeg_mod_SOURCES): Likewise.
11310 (jpeg_mod_CFLAGS): Likewise.
11311 (jpeg_mod_LDFLAGS): Likewise.
11312 (png_mod_SOURCES): Likewise.
11313 (png_mod_CFLAGS): Likewise.
11314 (png_mod_LDFLAGS): Likewise.
11315 (gfxterm_mod_SOURCES): Likewise.
11316 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 11317 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 11318
11319 * term/gfxterm.c: Removed include to grub/machine/memory.h,
11320 grub/machine/console.h.
11321
644fff97 113222009-01-04 Jerone Young <jerone@gmail.com>
11323
11324 Make on screen instructions clearer
11325
11326 Based on patch created by Jidanni <jidanni@jidanni.org>
11327
11328 * normal/menu.c: print clearer instructions on the screen
11329
1e901a75 113302009-01-02 Colin D Bennett <colin@gibibit.com>
11331
11332 New font engine.
34c44600 11333
1e901a75 11334 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
11335 build system and fixed gfxterm.c to work with different sized fonts.
11336
11337 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 11338
1e901a75 11339 * configure: Re-generated.
34c44600 11340
1e901a75 11341 * DISTLIST: Removed font/manager.c.
11342 Added font/font.c.
11343 Added font/font_cmd.c.
34c44600 11344
1e901a75 11345 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
11346 compilation.
34c44600 11347
1e901a75 11348 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 11349
11350 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 11351
11352 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 11353
1e901a75 11354 * normal/menu.c: Likewise.
34c44600 11355
1e901a75 11356 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
11357 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 11358
1e901a75 11359 * include/grub/font.h: Replaced with new file.
34c44600 11360
1e901a75 11361 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
11362 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
11363 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
11364 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
11365 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 11366 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 11367 fg_red, fg_green, fg_blue, fg_alpha.
11368 (grub_video_adapter): Removed blit_glyph.
34c44600 11369 (grub_video_blit_glyph): Removed.
11370
1e901a75 11371 * font/manager.c: Removed file.
34c44600 11372
11373 * font/font.c: New file.
11374
1e901a75 11375 * font/font_cmd.c: Likewise.
34c44600 11376
1e901a75 11377 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 11378
1e901a75 11379 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
11380 (grub_video_vbe_map_rgba): Likewise.
11381 (grub_video_vbe_unmap_color_int): Likewise.
11382 (grub_video_vbe_blit_glyph): Removed.
11383 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 11384
1e901a75 11385 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
11386 (get_pixel): Likewise.
34c44600 11387 (set_pixel): Likewise.
11388
1e901a75 11389 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 11390
1e901a75 11391 * term/gfxterm.c: Adapted to new font engine.
34c44600 11392
1e901a75 11393 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 11394
1e901a75 11395 * term/i386/pc/vga.c: Likewise.
34c44600 11396
1e901a75 11397 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 11398
1e901a75 11399 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 11400
1e901a75 11401 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11402
1e901a75 11403 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11404
1e901a75 11405 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 11406
1e901a75 11407 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 11408
1e901a75 11409 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 11410
1e901a75 11411 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 11412
1e901a75 11413 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11414
11415 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 11416
1e901a75 11417 * util/grub-mkconfig_lib.in: Changed font extension.
11418
278922e8 114192008-12-28 Felix Zielcke <fzielcke@z-51.de>
11420
11421 * util/getroot.c (grub_util_get_grub_dev): Add support for
11422 /dev/md/dNNpNN style partitionable mdraid devices.
11423
3ced05cf 114242008-12-12 Alex Smith <alex@alex-smith.me.uk>
11425
11426 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
11427 at a time limit of the PXE TFTP API correctly.
11428 (grub_pxefs_close): Likewise.
11429
7fd0ee30 114302008-11-29 Robert Millan <rmh@aybabtu.com>
11431
34c44600 11432 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 11433 grub_ata_device_initialize() calls.
11434
34c44600 114352008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 11436
11437 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
11438 iteration failed.
11439 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
11440
89313780 114412008-11-28 Robert Millan <rmh@aybabtu.com>
11442
11443 Fix build on powerpc-ieee1275. Based on patch created by
11444 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
11445 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11446 `kern/ieee1275/mmap.c'.
11447 * include/grub/powerpc/ieee1275/memory.h: New file.
11448
15257703 11449 Provide grub-install on coreboot.
11450 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
11451 (grub_install_SOURCES): New variable.
11452 * util/i386/pc/grub-install.in: Add a few condition checks to make it
11453 usable on coreboot.
11454
9fc5388a 114552008-11-25 Felix Zielcke <fzielcke@z-51.de>
11456
11457 * util/grub-fstest.c (grub_term_get_current_input): Change return type
11458 to `grub_term_input_t'.
11459 (grub_term_get_current_output): Change return type to
11460 `grub_term_output_t'.
11461
bc3a2f31 114622008-11-22 Robert Millan <rmh@aybabtu.com>
11463
34c44600 11464 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 11465 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
11466 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
11467 grub_vga_text_cls().
11468
80fc88f2 11469 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 11470 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 11471
cbf36fd3 11472 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
11473 to 0x200000 (avoids trouble with some OFW implementations, and matches
11474 with the one in Yaboot).
11475 Reported by Manoel Abranches
11476
73e8e268 114772008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 11478
11479 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
11480 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
11481
73e8e268 11482 * util/grub-mkconfig_lib.in (grub_warn): New function.
11483 (convert_system_path_to_grub_path): Use grub_warn() when issuing
11484 warnings, to obtain consistent formatting.
11485 * util/grub.d/00_header.in: Likewise.
11486 * util/update-grub_lib.in: Likewise.
11487
e94045a1 11488 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 11489 Move comment text to `#error' stanza.
e94045a1 11490
79d29fd7 11491 Harmonize ieee1275's grub_available_iterate() with the generic
11492 grub_machine_mmap_iterate() interface (fixes a recently-introduced
11493 build problem on i386-ieee1275):
11494 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
11495 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
11496 parameter `type'. Update all users of this function.
11497 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11498 `kern/ieee1275/mmap.c'.
11499 * kern/ieee1275/init.c
11500 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
11501 with ...
11502 (grub_machine_mmap_iterate): ... this.
11503 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
11504 return type to `grub_err_t'. Update all implementations of this
11505 function prototype.
11506 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
11507 Likewise.
11508
60d6b16e 11509 Add `lsmmap' command (lists firmware-provided memory map):
11510 * commands/lsmmap.c: New file.
11511 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
11512 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
11513 variables.
11514 * conf/powerpc-ieee1275.rmk: Likewise.
11515 * conf/i386-coreboot.rmk: Likewise.
11516 * conf/i386-ieee1275.rmk: Likewise.
11517
ebaaf49b 115182008-11-19 Robert Millan <rmh@aybabtu.com>
11519
11520 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 11521 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
11522 constraints to initrd allocation (based on code from
11523 loader/i386/pc/linux.c). Without them, initrd was allocated too high
11524 for Linux to find it.
ebaaf49b 11525
dfab719f 115262008-11-14 Robert Millan <rmh@aybabtu.com>
11527
11528 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
11529 order to cope with duplicate slashes.
11530
10fc3eb9 115312008-11-14 Robert Millan <rmh@aybabtu.com>
11532
11533 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
11534 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
11535 don't want to mess with lower memory, because it is used in the Linux
11536 loader.
11537
11538 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 11539 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 11540 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
11541 is in our heap (probably as a result of it being corrupted during
2f2a3442 11542 decompression). Add #error instance with comment to explain why this
11543 loader isn't currently usable on PC/BIOS.
10fc3eb9 11544
e2e07847 115452008-11-14 Robert Millan <rmh@aybabtu.com>
11546
11547 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 11548 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 11549
fe8e8d69 115502008-11-12 Robert Millan <rmh@aybabtu.com>
11551
11552 Make loader/i386/linux.c buildable on i386-pc (although disabled).
11553
11554 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
11555 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
11556 from here ...
11557 * include/grub/i386/pc/memory.h: ... to here.
11558
976b07d0 115592008-11-12 Robert Millan <rmh@aybabtu.com>
11560
11561 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
11562 split).
11563
11564 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
11565 (grub_console_cur_color, grub_console_real_putchar)
11566 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11567 (grub_console_setcolorstate, grub_console_setcolor)
11568 (grub_console_getcolor): Move from here ...
11569 * include/grub/i386/vga_common.h: ... to here (new file).
11570
11571 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
11572 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
11573 `<grub/i386/io.h>'.
11574 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
11575 `<grub/i386/vga_common.h>'.
11576
76679cd3 115772008-11-12 Robert Millan <rmh@aybabtu.com>
11578
11579 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
11580 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
11581 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
11582 variables.
11583 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11584 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
11585
11586 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
11587 grub_console_init() with call to grub_vga_text_init().
11588 (grub_machine_fini): Replace call to
11589 grub_console_fini() with call to grub_vga_text_fini() and
11590 grub_at_keyboard_fini().
11591
11592 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
11593 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11594 (grub_console_setcolorstate, grub_console_setcolor)
11595 (grub_console_getcolor): New function prototypes.
11596
11597 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
11598 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
11599 (grub_vga_text_setcursor): Static-ize.
11600 (grub_vga_text_term): New structure.
11601 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
11602
11603 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
11604 (grub_console_cur_color, grub_console_standard_color)
11605 (grub_console_normal_color, grub_console_highlight_color)
11606 (map_char, grub_console_putchar, grub_console_getcharwidth)
11607 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
11608 (grub_console_getcolor): Move from here ...
11609 * term/i386/vga_common.c: ... to here (same function names).
11610
95b841d3 116112008-11-12 Robert Millan <rmh@aybabtu.com>
11612
11613 Use newly-added Multiboot support in coreboot.
11614
11615 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11616 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11617
11618 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11619 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11620 (codestart): Store the MBI in `startup_multiboot_info' when we're
11621 being loaded using Multiboot.
11622
11623 * kern/i386/coreboot/init.c (grub_machine_init): Move
11624 grub_at_keyboard_init() call to beginning of function (useful for
11625 debugging). Call grub_machine_mmap_init() before attempting to use
11626 grub_machine_mmap_iterate().
11627 (grub_lower_mem, grub_upper_mem): Move from here ...
11628 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11629 here (new file).
11630
11631 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11632 function prototype.
11633
761ca975 116342008-11-12 Robert Millan <rmh@aybabtu.com>
11635
11636 Fix a regression introduced by the at_keyboard.mod split. Because
11637 some terminals are default on some platforms and non-default on
11638 others, the first terminal being registered determines which is
11639 going to be default.
11640
11641 * kern/term.c (grub_term_register_input): If this is the first
11642 terminal being registered, set it as the current one.
11643 (grub_term_register_output): Likewise.
11644
11645 * term/efi/console.c (grub_console_init): Do not call
11646 grub_term_set_current_output() or grub_term_set_current_input().
11647 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11648 * term/i386/pc/console.c (grub_console_init): Likewise.
11649 (grub_console_fini): Do not call grub_term_set_current_input()
11650 (but leave grub_term_set_current_output() to restore text mode).
11651
6c529df7 116522008-11-10 Robert Millan <rmh@aybabtu.com>
11653
11654 * util/grub.d/00_header.in: Add backward compatibility check for
11655 versions of terminal.mod that don't understand `terminal_input' or
11656 `terminal_output'.
11657
132e4113 116582008-11-09 Robert Millan <rmh@aybabtu.com>
11659
11660 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11661 `terminal_input' / `terminal_output', not `terminal'.
11662
ac293d50 116632008-11-08 Robert Millan <rmh@aybabtu.com>
11664
11665 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11666 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11667
0025933a 116682008-11-08 Robert Millan <rmh@aybabtu.com>
11669
11670 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11671 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11672 members. Update all users.
11673 * util/console.c (grub_ncurses_term): Split in ...
11674 (grub_ncurses_term_input): ... this, and ...
11675 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11676 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11677
37c86336 116782008-11-08 Robert Millan <rmh@aybabtu.com>
11679
11680 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11681 (PKGDATA): Add $(pkgdata_SRCDIR).
11682 (pkglib_BUILDDIR): New variable.
11683 (pkgdata_SRCDIR): New variable.
11684 (build_env.mk): New target.
11685 (include_DATA): New variable.
11686 (install-local): Install $(include_DATA) files in $(includedir).
11687
b6c15a2d 116882008-11-07 Pavel Roskin <proski@gnu.org>
11689
d99d46f1 11690 * gendistlist.sh: Use C locale for sorting to ensure consistent
11691 output on all systems.
11692
b6c15a2d 11693 * util/grub.d/00_header.in: Remove incorrect space before
11694 "serial".
11695
c32ee8c9 116962008-11-07 Robert Millan <rmh@aybabtu.com>
11697
11698 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11699 per specification.
11700 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11701 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11702 (based on find_multi_boot1_header).
11703 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11704 using find_multi_boot2_header(), and abort if neither Multiboot or
11705 Multiboot headers were found.
11706
651c29b7 117072008-11-07 Robert Millan <rmh@aybabtu.com>
11708
11709 Modularize at_keyboard.mod:
11710
11711 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11712 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11713 (at_keyboard_mod_LDFLAGS): New variables.
11714
11715 Actual terminal split:
11716
11717 * include/grub/term.h (struct grub_term): Split in ...
11718 (struct grub_term_input): ... this, and ...
11719 (struct grub_term_output): ... this. Update all users.
11720 (grub_term_set_current): Split in ...
11721 (grub_term_set_current_input): ... this, and ...
11722 (grub_term_set_current_output): ... this.
11723 (grub_term_get_current): Split in ...
11724 (grub_term_get_current_input): ... this, and ...
11725 (grub_term_get_current_output): ... this.
11726 (grub_term_register): Split in ...
11727 (grub_term_register_input): ... this, and ...
11728 (grub_term_register_output): ... this.
11729 (grub_term_unregister): Split in ...
11730 (grub_term_unregister_input): ... this, and ...
11731 (grub_term_unregister_output): ... this.
11732 (grub_term_iterate): Split in ...
11733 (grub_term_iterate_input): ... this, and ...
11734 (grub_term_iterate_output): ... this.
11735
11736 * kern/term.c (grub_term_list): Split in ...
11737 (grub_term_list_input): ... this, and ...
11738 (grub_term_list_output): ... this. Update all users.
11739 (grub_cur_term): Split in ...
11740 (grub_cur_term_input): ... this, and ...
11741 (grub_cur_term_output): ... this. Update all users.
11742 (grub_term_set_current): Split in ...
11743 (grub_term_set_current_input): ... this, and ...
11744 (grub_term_set_current_output): ... this.
11745 (grub_term_get_current): Split in ...
11746 (grub_term_get_current_input): ... this, and ...
11747 (grub_term_get_current_output): ... this.
11748 (grub_term_register): Split in ...
11749 (grub_term_register_input): ... this, and ...
11750 (grub_term_register_output): ... this.
11751 (grub_term_unregister): Split in ...
11752 (grub_term_unregister_input): ... this, and ...
11753 (grub_term_unregister_output): ... this.
11754 (grub_term_iterate): Split in ...
11755 (grub_term_iterate_input): ... this, and ...
11756 (grub_term_iterate_output): ... this.
11757
11758 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11759 a check for input and one for output (and only attempt to get keys
11760 from user when input works).
11761
11762 * util/grub-probe.c (grub_term_get_current): Split in ...
11763 (grub_term_get_current_input): ... this, and ...
11764 (grub_term_get_current_output): ... this.
11765 * util/grub-fstest.c: Likewise.
11766 * util/i386/pc/grub-setup.c: Likewise.
11767 * util/grub-editenv.c: Likewise.
11768
11769 Portability adjustments:
11770
11771 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11772 `term/i386/pc/at_keyboard.c'.
11773 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11774 grub_keyboard_controller_init() (now handled by terminal .init).
11775 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11776 grub_at_keyboard_init().
11777 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11778 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11779 at_keyboard.mod via input terminal interface).
11780 * include/grub/i386/coreboot/console.h: Convert into a stub for
11781 `<grub/i386/pc/console.h>'.
11782
11783 Migrate full terminals to new API:
11784
11785 * term/efi/console.c (grub_console_term): Split into ...
11786 (grub_console_term_input): ... this, and ...
11787 (grub_console_term_output): ... this. Update all users.
11788 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
11789 (grub_ofconsole_init): Split into ...
11790 (grub_ofconsole_init_input): ... this, and ...
11791 (grub_ofconsole_init_output): ... this.
11792 (grub_ofconsole_term): Split into ...
11793 (grub_ofconsole_term_input): ... this, and ...
11794 (grub_ofconsole_term_output): ... this. Update all users.
11795 * term/i386/pc/serial.c (grub_serial_term): Split into ...
11796 (grub_serial_term_input): ... this, and ...
11797 (grub_serial_term_output): ... this. Update all users.
11798 * term/i386/pc/console.c (grub_console_term): Split into ...
11799 (grub_console_term_input): ... this, and ...
11800 (grub_console_term_output): ... this. Update all users.
11801 (grub_console_term_input): Only enable it on PC/BIOS platform.
11802 (grub_console_init): Remove grub_keyboard_controller_init() call.
11803
11804 Migrate input terminals to new API:
11805
11806 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11807 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11808 i386-specific anyway).
11809 (grub_console_checkkey): Rename to ...
11810 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11811 users.
11812 (grub_keyboard_controller_orig): New variable.
11813 (grub_console_getkey): Rename to ...
11814 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11815 users.
11816 (grub_keyboard_controller_init): Static-ize. Save original
11817 controller value so that it can be restored ...
11818 (grub_keyboard_controller_fini): ... here (new function).
11819 (grub_at_keyboard_term): New structure.
11820 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11821 functions.
11822
11823 Migrate output terminals to new API:
11824
11825 * term/i386/pc/vga.c (grub_vga_term): Change type to
11826 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11827 members. Update all users.
11828 * term/gfxterm.c (grub_video_term): Change type to
11829 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11830 members. Update all users.
11831 * include/grub/i386/pc/console.h (grub_console_checkkey)
11832 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11833 etc).
11834
11835 Migrate `terminal' command and userland tools to new API:
11836
11837 * commands/terminal.c (grub_cmd_terminal): Split into ...
11838 (grub_cmd_terminal_input): ... this, and ...
11839 (grub_cmd_terminal_output): ... this.
11840 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11841 `terminal_input' and `terminal_output'.
11842 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11843 `terminal_input' / `terminal_output' API.
11844 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11845 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11846 provided ${GRUB_TERMINAL}, convert it).
11847
96e5d876 118482008-11-04 Robert Millan <rmh@aybabtu.com>
11849
11850 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11851 for FreeBSD.
11852 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11853
556f3775 118542008-11-03 Bean <bean123ch@gmail.com>
11855
11856 * kern/elf.c (grub_elf32_load): Revert to previous code.
11857 (grub_elf64_load): Likewise.
11858
11859 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
11860
926b9823 118612008-11-01 Robert Millan <rmh@aybabtu.com>
11862
11863 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
11864 (TARGET_CPPFLAGS): Likewise.
11865 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
11866
1432e958 118672008-11-01 Carles Pina i Estany <carles@pina.cat>
11868
11869 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
11870
dba3f844 118712008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 11872
11873 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
11874 addition of objects until the code is not going to be able to fail.
11875
dba3f844 118762008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 11877
11878 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
11879 (add a missing NULL check, and correct them by moving the pointer
11880 operations after the actual check).
11881
7ab28c21 118822008-10-29 Robert Millan <rmh@aybabtu.com>
11883
11884 * util/i386/pc/grub-install.in: Handle empty string as output from
11885 make_system_path_relative_to_its_root().
11886
1b7748eb 118872008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
11888
11889 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
11890 circular metadata worst case scenario. If the metadata is circular
11891 then copy the wrap in place.
11892 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
11893 project lib/format_text/layout.h
11894 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
11895
c9618ab2 118962008-10-03 Felix Zielcke <fzielcke@z-51.de>
11897
7a36edca 11898 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 11899
bf981c62 119002008-10-03 Felix Zielcke <fzielcke@z-51.de>
11901
11902 * util/update-grub_lib.in: Mention filename in warning message.
11903
6d994591 119042008-09-29 Felix Zielcke <fzielcke@z-51.de>
11905
11906 * NEWS: Update for rename of update-grub to grub-mkconfig.
11907
18ade780 119082008-09-29 Felix Zielcke <fzielcke@z-51.de>
11909
11910 * util/update-grub_lib.in: Copy to ...
11911 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 11912 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 11913 * util/update-grub.in: Rename to ...
11914 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
11915 option. Add `--output' option to allow users to specify the generated
11916 configuration file. Default to stdout.
11917 (update_grub_dir): Rename to ...
11918 (grub_mkconfig_dir): ... this.
11919 (grub_cfg): Default to an empty string.
11920 * conf/common.rmk (update-grub): Rename to ...
11921 (grub-mkconfig): ... this.
11922 (update-grub_lib): Copy to ...
11923 (grub-mkconfig_lib): ... this.
11924 (update-grub_SCRIPTS): Copy to ...
11925 (grub-mkconfig_SCRIPTS): ... this. Update all users.
11926 (update-grub_DATA): Rename to ...
11927 (grub-mkconfig_DATA): ... this.
11928
556ce6ac 119292008-09-28 Robert Millan <rmh@aybabtu.com>
11930
11931 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
11932 to `modified'. Add the real `created' field.
11933 (grub_iso9660_uuid): Use `modified' rather than `created' for
11934 constructing the UUID.
11935
119362008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 11937
11938 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
11939 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
11940
92274e85 119412008-09-28 Bean <bean123ch@gmail.com>
11942
11943 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
11944 Thanks to Christian Franke for finding this bug.
11945
add6f17a 119462008-09-25 Robert Millan <rmh@aybabtu.com>
11947
11948 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
11949 instances of grub_util_get_disk_name() (see previous commit).
11950
d2a367b8 119512008-09-25 Robert Millan <rmh@aybabtu.com>
11952
11953 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
11954 `util/i386/get_disk_name.c'.
11955 * conf/i386-efi.rmk: Likewise.
11956 * conf/x86_64-efi.rmk: Likewise.
11957 * conf/i386-coreboot.rmk: Likewise.
11958 * conf/i386-ieee1275.rmk: Likewise.
11959 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
11960 `util/ieee1275/get_disk_name.c'.
11961 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
11962 * util/ieee1275/get_disk_name.c: Remove file.
11963 * util/i386/get_disk_name.c: Remove file.
11964 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
11965 "hd%d" for device.map entries, rather than using
11966 grub_util_get_disk_name().
11967
81a06771 119682008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 11969
11970 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
11971 warning.
11972 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
11973
5a004279 119742008-09-24 Carles Pina i Estany <carles@pina.cat>
11975
11976 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
11977 Changed to 0x5100.
11978 (GRUB_TERM_PPAGE): Changed to 0x4900.
11979
397093d3 119802008-09-24 Robert Millan <rmh@aybabtu.com>
11981
11982 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
11983 macros (they were i386-pc specific).
11984 * include/grub/sparc64/ieee1275/console.h: Likewise.
11985 * include/grub/efi/console.h: Likewise.
11986
a91b6c7c 119872008-09-22 Bean <bean123ch@gmail.com>
11988
11989 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
11990 resident and in attribute list.
11991
11992 * include/grub/ntfs.h (BMP_LEN): Removed.
11993
c40fd116 119942008-09-22 Bean <bean123ch@gmail.com>
11995
81a06771 11996 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11997 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11998
11999 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12000 error occurs, as grub_disk_open will call grub_disk_close, which will
12001 call p->close (scsi).
12002
81a06771 120032008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12004
12005 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12006 (AC_PREREQ): Bumped to 2.59.
12007 (AC_TRY_COMPILE): Replace obsolete macro with ...
12008 (AC_COMPILE_IFELSE): ... this.
12009 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12010 (AC_LINK_IFELSE): ... this.
12011
5dc43410 120122008-09-21 Felix Zielcke <fzielcke@z-51.de>
12013
12014 * autogen.sh: Add a call to `gendistlist.sh'.
12015
9035dce4 120162008-09-19 Christian Franke <franke@computer.org>
12017
12018 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12019 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12020 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12021 Export __enable_execute_stack() to modules.
12022 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12023 New function.
12024
7fd75377 120252008-09-09 Felix Zielcke <fzielcke@z-51.de>
12026
040030b3 12027 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12028 Sort the list.
12029
120302008-09-09 Felix Zielcke <fzielcke@z-51.de>
12031
12032 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12033 #include <grub/util/hostdisk.h>.
12034
89d5ffcf 120352008-09-08 Robert Millan <rmh@aybabtu.com>
12036
12037 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12038 segments when their filesz is zero (grub_file_read() interprets
81a06771 12039 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12040 Use `lowest_segment' rather than 0 for calculating the current
12041 segment load address.
12042
40da438f 120432008-09-08 Robert Millan <rmh@aybabtu.com>
12044
12045 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12046 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12047 clobbered useful information.
12048
ddbf5556 120492008-09-08 Robert Millan <rmh@aybabtu.com>
12050
12051 * include/grub/util/biosdisk.h: Move to ...
12052 * include/grub/util/hostdisk.h: ... here. Update all users.
12053 * util/biosdisk.c: Move to ...
12054 * util/hostdisk.c: ... here. Update all users.
12055
783d0f48 120562008-09-07 Robert Millan <rmh@aybabtu.com>
12057
12058 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12059 variables.
12060 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12061 and length can be stored directly in the `mbi->mmap_addr' and
12062 `mbi->mmap_length' struct fields.
12063
548e2ea5 120642008-09-07 Robert Millan <rmh@aybabtu.com>
12065
12066 * conf/i386.rmk: New file. Provides declaration for building
12067 `cpuid.mod'.
12068 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12069 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12070 variables.
12071 Include `conf/i386.mk'.
12072 * conf/i386-efi.rmk: Likewise.
12073 * conf/x86_64-efi.rmk: Likewise.
12074 * conf/i386-coreboot.rmk: Likewise.
12075 * conf/i386-ieee1275.rmk: Likewise.
12076
0ea85a37 120772008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12078
12079 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12080 Adds optimization support for BGR based modes.
12081
12082 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12083 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12084 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12085 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12086 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12087 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12088 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12089 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12090 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12091 (grub_video_i386_vbeblit_index_index): Likewise.
12092 (grub_video_i386_vbeblit_replace_directN): Added.
12093 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12094 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12095 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12096 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12097 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12098 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12099 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12100 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12101 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12102 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12103 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12104 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12105 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12106
12107 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12108 (grub_video_i386_vbefill_R8G8B8): Likewise.
12109 (grub_video_i386_vbefill_index): Likewise.
12110 (grub_video_i386_vbefill_direct32): Added.
12111 (grub_video_i386_vbefill_direct24): Likewise.
12112 (grub_video_i386_vbefill_direct16): Likewise.
12113 (grub_video_i386_vbefill_direct8): Likewise.
12114
81a06771 12115 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 12116 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12117 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12118 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12119 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12120 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 12121
0ea85a37 12122 * video/video.c (grub_video_get_blit_format): Updated to use new
12123 blit formats. Added handling for 16 bit color modes.
81a06771 12124
12125 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 12126 fillers.
12127 (common_blitter): Updated to use new blitters.
12128
12129 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12130 Removed.
12131 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12132 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12133 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12134 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12135 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12136 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12137 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12138 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12139 (grub_video_i386_vbeblit_index_index): Likewise.
12140 (grub_video_i386_vbeblit_replace_directN): Added.
12141 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12142 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12143 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12144 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12145 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12146 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12147 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12148 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12149 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12150 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12151 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12152 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12153 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12154
0ea85a37 12155 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12156 (grub_video_i386_vbefill_R8G8B8): Likewise.
12157 (grub_video_i386_vbefill_index): Likewise.
12158 (grub_video_i386_vbefill_direct32): Added.
12159 (grub_video_i386_vbefill_direct24): Likewise.
12160 (grub_video_i386_vbefill_direct16): Likewise.
12161 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12162
0ea85a37 12163 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12164 types.
81a06771 12165
0ea85a37 12166 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12167 types.
81a06771 12168
0ea85a37 12169 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12170 blitter types.
81a06771 12171
0ea85a37 12172 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12173 types.
12174
e8a83df6 121752008-09-06 Felix Zielcke <fzielcke@z-51.de>
12176
12177 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12178 RAID level 1.
12179
6bcd8ee5 121802008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12181
6bcd8ee5 12182 * fs/iso9660.c (grub_iso9660_date): New structure.
12183 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12184 (grub_iso9660_uuid): New function.
c375ae58 12185
59261157 121862008-09-05 Bean <bean123ch@gmail.com>
12187
12188 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12189
12190 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12191 insensitive bit for names in Win32 and Win32 & DOS namespace.
12192
12193 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12194
12195 * include/grub/types.h (LONG_MAX): Likewise.
12196
58b6645a 121972008-09-04 Felix Zielcke <fzielcke@z-51.de>
12198
4ee55921 12199 * util/getroot.c: Include <config.h>.
12200 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12201 add support for /dev/md/N devices and handle LVM double dash escaping.
12202
122032008-09-04 Felix Zielcke <fzielcke@z-51.de>
12204
12205 * config.guess: Update to latest version from config git.
12206 * config.sub: Likewise.
58b6645a 12207
9124f65d 122082008-09-03 Robert Millan <rmh@aybabtu.com>
12209
12210 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12211 `disk->total_sectors'.
12212
81a06771 122132008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12214
12215 * include/grub/normal.h: Fixed incorrect comment for
12216 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12217
81a06771 122182008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12219
12220 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12221 values with defines.
12222
12223 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12224 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12225 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12226 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12227 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12228 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12229 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12230 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12231 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12232 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12233 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12234 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12235 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12236 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12237 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12238 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12239 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12240 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12241 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12242
93d5cbf8 122432008-08-31 Robert Millan <rmh@aybabtu.com>
12244
12245 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12246 declaration.
12247 (grub_multiboot): Fix a few warnings.
12248
21751d50 122492008-08-31 Robert Millan <rmh@aybabtu.com>
12250
12251 * loader/i386/pc/multiboot.c: Update comment not to say that
12252 boot_device support is unimplemented.
12253
e27a75c5 122542008-08-31 Robert Millan <rmh@aybabtu.com>
12255
12256 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12257 or memory map support are unimplemented.
12258
81a06771 122592008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12260
12261 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12262
81a06771 122632008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12264
12265 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12266 total video memory in 'vbeinfo' output; show color format details for
12267 each video mode.
12268
7c5d8d95 122692008-08-30 Pavel Roskin <proski@gnu.org>
12270
12271 * util/genmoddep.c: Remove for real this time.
12272 * DISTLIST: Remove util/genmoddep.c.
12273
4cebd25a 122742008-08-30 Robert Millan <rmh@aybabtu.com>
12275
12276 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12277 as required by Multiboot spec (it was already 4-byte aligned, but
12278 only by chance).
12279
b497a269 122802008-08-29 Pavel Roskin <proski@gnu.org>
12281
e3925185 12282 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12283 * kern/powerpc/ieee1275/startup.S: ... this.
12284 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12285 * DISTLIST: Likewise.
12286
b497a269 12287 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12288 grub/cpu/kernel.h. Add start label for consistency with other
12289 platforms. Add grub_prefix immediately after start. Add jump
12290 to the code after grub_prefix.
12291 * include/grub/powerpc/kernel.h: Provide valid values for
12292 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12293
6e5a42fe 122942008-08-29 Bean <bean123ch@gmail.com>
12295
12296 * configure.ac: Change host_os to cygwin for mingw.
12297 (asprintf): New check for function.
12298
12299 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12300 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12301
12302 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 12303 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 12304 sync, sleep and grub_util_get_disk_size for mingw.
12305
12306 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12307 to get size in mingw.
12308 (open_device): Use flag O_BINARY if it's defined.
12309 (find_root_device): Add dummy code for mingw.
12310
12311 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12312 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12313 (get_scsi_disk_name): Return 0 for mingw.
12314
12315 * util/hostfs.c: #include <grub/util/misc.h>.
12316 (grub_hostfs_open): Use "rb" flag to open file, use
12317 grub_util_get_disk_size to get disk size for mingw.
12318
12319 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
12320 (asprintf): New function if HAVE_ASPRINTF is not set.
12321 (sync): New function for mingw.
12322 (sleep): Likewise.
12323 (grub_util_get_disk_size): Likewise.
12324
ab3f2673 123252008-08-28 Pavel Roskin <proski@gnu.org>
12326
12327 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12328 kern/time.c.
12329
1c282483 123302008-08-28 Robert Millan <rmh@aybabtu.com>
12331
12332 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
12333
678e849c 123342008-08-28 Robert Millan <rmh@aybabtu.com>
12335
12336 Change find_grub_drive() syntax so it doesn't prevent it from
12337 detecting NULL names as errors.
12338
12339 * util/biosdisk.c (find_grub_drive): Move free slot search code
12340 from here ...
12341 (find_free_slot): ... to here.
12342 (read_device_map): Use find_free_slot() to search for free slots.
12343
965c75ca 123442008-08-27 Marco Gerards <marco@gnu.org>
12345
12346 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
12347 (scsi_mod_SOURCES): New variable.
12348 (scsi_mod_CFLAGS): Likewise
12349 (scsi_mod_LDFLAGS): Likewise.
12350
12351 * disk/scsi.c: New file.
12352
12353 * include/grub/scsi.h: Likewise.
12354
12355 * include/grub/scsicmd.h: Likewise.
12356
12357 * disk/ata.c: Include <grub/scsi.h>.
12358 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
12359 instead.
12360 (grub_ata_iterate): Skip ATAPI devices.
12361 (grub_ata_open): Only handle ATAPI devices.
12362 (struct grub_atapi_read): Removed.
12363 (grub_atapi_readsector): Likewise.
12364 (grub_ata_read): No longer handle ATAPI devices.
12365 (grub_ata_write): Likewise.
12366 (grub_atapi_iterate): New function.
12367 (grub_atapi_read): Likewise.
12368 (grub_atapi_write): Likewise.
12369 (grub_atapi_open): Likewise.
12370 (grub_atapi_close): Likewise.
12371 (grub_atapi_dev): New variable.
12372 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
12373 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
12374
12375 * include/grub/disk.h (enum grub_disk_dev_id): Add
12376 `GRUB_DISK_DEVICE_SCSI_ID'.
12377
c07ae501 123782008-08-26 Robert Millan <rmh@aybabtu.com>
12379
12380 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
12381 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
12382 descriptive.
12383
5ed20adc 123842008-08-23 Bean <bean123ch@gmail.com>
12385
12386 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
12387 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12388 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
12389 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
12390 dm_nv.mod.
12391 (raid5rec_mod_SOURCES): New macro.
12392 (raid5rec_mod_CFLAGS): Likewise.
12393 (raid5rec_mod_LDFLAGS): Likewise.
12394 (raid6rec_mod_SOURCES): Likewise.
12395 (raid6rec_mod_CFLAGS): Likewise.
12396 (raid6rec_mod_LDFLAGS): Likewise.
12397 (mdraid_mod_SOURCES): Likewise.
12398 (mdraid_mod_CFLAGS): Likewise.
12399 (mdraid_mod_LDFLAGS): Likewise.
12400 (dm_nv_mod_SOURCES): Likewise.
12401 (dm_nv_mod_CFLAGS): Likewise.
12402 (dm_nv_mod_LDFLAGS): Likewise.
12403
12404 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
12405 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12406 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12407
12408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
12409 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12410
12411 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12412
12413 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12414
12415 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12416
12417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12418
12419 * disk/raid5_recover.c: New file.
12420
12421 * disk/raid6_recover.c: Likewise.
12422
12423 * disk/mdraid_linux.c: Likewise.
12424
12425 * disk/dmraid_nvidia.c: Likewise.
12426
12427 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
12428 ULONG_MAX.
12429
12430 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
12431 calculate the size of raid device.
12432 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
12433 different layout of raid5.
12434 (grub_raid_scan_device): Remove code specific to mdraid.
12435 (grub_raid_list): New variable.
12436 (free_array): New function.
12437 (grub_raid_register): Likewise.
12438 (grub_raid_unregister): Likewise.
12439 (grub_raid_rescan): Likewise.
12440 (GRUB_MOD_INIT): Don't iterate device here.
12441 (GRUB_MOD_FINI): Use free_array to release resource.
12442
12443 * include/grub/raid.h: Remove macro and structure specific to mdraid.
12444 (grub_raid5_recover_func_t): New function variable type.
12445 (grub_raid6_recover_func_t): Likewise.
12446 (grub_raid5_recover_func): New variable.
12447 (grub_raid6_recover_func): Likewise.
12448 (grub_raid_register): New function.
12449 (grub_raid_unregister): Likewise.
12450 (grub_raid_rescan): Likewise.
12451 (grub_raid_block_xor): Likewise.
12452
12453 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
12454 (CMD_CRC): New macro.
12455 (part): Removed.
12456 (read_file): Handle device as well as file.
12457 (cmd_crc): New function.
12458 (fstest): Handle multiple disks.
12459 (options): Remove part, raw and long, add root and diskcount.
12460 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 12461 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 12462 add handling for the new options, support multiple disks.
12463
12464 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
12465
29c18915 124662008-08-23 Bean <bean123ch@gmail.com>
12467
12468 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
12469
12470 * genfslist.sh: Ignore kernel.mod.
12471
12472 * genpartmaplist.sh: Likewise.
12473
8415f261 124742008-08-23 Robert Millan <rmh@aybabtu.com>
12475
12476 * util/getroot.c (find_root_device): Skip anything that starts with
12477 a dot, not just directories. This avoids things like /dev/.tmp.md0.
12478
d5a7dc5b 124792008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 12480
d5a7dc5b 12481 * util/update-grub.in (GRUB_GFXMODE): Export variable.
12482 * util/grub.d/00_header.in: Allow the administrator to change default
12483 gfxmode via ${GRUB_GFXMODE}.
12484
380cfbb4 124852008-08-21 Felix Zielcke <fzielcke@z-51.de>
12486
12487 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
12488
c9baafe7 124892008-08-21 Robert Millan <rmh@aybabtu.com>
12490
12491 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
12492 loader.
12493 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
12494 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
12495
e290bef2 124962008-08-20 Carles Pina i Estany <carles@pina.cat>
12497
12498 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
12499 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
12500
f9dbfc96 125012008-08-19 Robert Millan <rmh@aybabtu.com>
12502
12503 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
12504 (struct grub_virtual_screen): Remove `cursor_color'.
12505 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
12506 initialization.
12507 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
12508
dd6bd6ab 125092008-08-18 Robert Millan <rmh@aybabtu.com>
12510
12511 Unify (identical) linux_normal.c files.
12512 * loader/i386/efi/linux_normal.c: Move from here ...
12513 * loader/linux_normal.c: ... to here. Update all users.
12514 * loader/i386/pc/linux_normal.c: Delete. Update all users.
12515 * loader/i386/ieee1275/linux_normal.c: Likewise.
12516
7f42f83e 125172008-08-18 Robert Millan <rmh@aybabtu.com>
12518
12519 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
12520 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
12521 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
12522 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
12523 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
12524 New macros.
12525 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
12526 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
12527 (GRUB_LINUX_CL_END_OFFSET): ... to here.
12528 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
12529 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
12530 (GRUB_EFI_CL_END_OFFSET): Rename to ...
12531 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
12532 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
12533 Initialize `params->video_cursor_x' and `params->video_cursor_y'
12534 portably using grub_getxy().
12535 Replace `-EFI' with `-bzImage' in boot message.
12536
38487ddb 125372008-08-17 Robert Millan <rmh@aybabtu.com>
12538
12539 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
12540
deceb3ec 125412008-08-17 Robert Millan <rmh@aybabtu.com>
12542
12543 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
12544
12545 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
12546 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
12547 (grub_machine_mmap_iterate): New function declaration.
12548 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
12549 structure.
12550 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
12551 macros.
12552
12553 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
12554 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
12555 Move e820 parsing from here ...
12556 * kern/i386/pc/mmap.c: New file.
12557 (grub_machine_mmap_iterate): ... to here.
12558
12559 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
12560 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
12561 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
12562 (grub_available_iterate): Redeclare to return `void', and redeclare
12563 its hook to use grub_uint64_t as addr and size parameters, and rename
12564 to ...
12565 (grub_machine_mmap_iterate): ... this. Update all users.
12566
12567 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
12568 to make it more readable. Rename to ...
12569 (grub_machine_mmap_iterate): ... this.
12570
12571 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
12572 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
12573 (grub_multiboot): Allocate an extra region after the payload, and fill
12574 it with a Multiboot memory map. Adjust a.out loader to calculate size
12575 with the extra space.
12576 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
12577 with the extra space.
12578
f8aa0f43 125792008-08-17 Carles Pina i Estany <carles@pina.cat>
12580
9807deb9 12581 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 12582
605f5bb6 125832008-08-17 Felix Zielcke <fzielcke@z-51.de>
12584
12585 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
12586 mdate-sh to the list `find' searches for.
12587 * DISTLIST: Regenerated.
12588
210db6c6 125892008-08-16 Felix Zielcke <fzielcke@z-51.de>
12590
12591 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
12592 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 12593 genmoddep.awk, gensymlist.sh.in.
12594 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 12595 * DISTLIST: Regenerated.
48cdbfd4 12596 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 12597
1082b929 125982008-08-16 Robert Millan <rmh@aybabtu.com>
12599
12600 * disk/raid.c (grub_raid_init): Handle/report errors set by
12601 grub_device_iterate().
12602 * disk/lvm.c (grub_lvm_init): Likewise.
12603
42ce5170 126042008-08-15 Bean <bean123ch@gmail.com>
12605
12606 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12607 and datehook.mod.
12608 (datetime_mod_SOURCES): New macro.
12609 (datetime_mod_CFLAGS): Likewise.
12610 (datetime_mod_LDFLAGS): Likewise.
12611 (date_mod_SOURCES): Likewise.
12612 (date_mod_CFLAGS): Likewise.
12613 (date_mod_LDFLAGS): Likewise.
12614 (datehook_mod_SOURCES): Likewise.
12615 (datehook_mod_CFLAGS): Likewise.
12616 (datehook_mod_LDFLAGS): Likewise.
12617
12618 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12619 and datehook.mod.
12620 (datetime_mod_SOURCES): New macro.
12621 (datetime_mod_CFLAGS): Likewise.
12622 (datetime_mod_LDFLAGS): Likewise.
12623 (date_mod_SOURCES): Likewise.
12624 (date_mod_CFLAGS): Likewise.
12625 (date_mod_LDFLAGS): Likewise.
12626 (datehook_mod_SOURCES): Likewise.
12627 (datehook_mod_CFLAGS): Likewise.
12628 (datehook_mod_LDFLAGS): Likewise.
12629
12630 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12631 and datehook.mod.
12632 (datetime_mod_SOURCES): New macro.
12633 (datetime_mod_CFLAGS): Likewise.
12634 (datetime_mod_LDFLAGS): Likewise.
12635 (date_mod_SOURCES): Likewise.
12636 (date_mod_CFLAGS): Likewise.
12637 (date_mod_LDFLAGS): Likewise.
12638 (datehook_mod_SOURCES): Likewise.
12639 (datehook_mod_CFLAGS): Likewise.
12640 (datehook_mod_LDFLAGS): Likewise.
12641
12642 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12643 and datehook.mod.
12644 (datetime_mod_SOURCES): New macro.
12645 (datetime_mod_CFLAGS): Likewise.
12646 (datetime_mod_LDFLAGS): Likewise.
12647 (date_mod_SOURCES): Likewise.
12648 (date_mod_CFLAGS): Likewise.
12649 (date_mod_LDFLAGS): Likewise.
12650 (datehook_mod_SOURCES): Likewise.
12651 (datehook_mod_CFLAGS): Likewise.
12652 (datehook_mod_LDFLAGS): Likewise.
12653
12654 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12655 and datehook.mod.
12656 (datetime_mod_SOURCES): New macro.
12657 (datetime_mod_CFLAGS): Likewise.
12658 (datetime_mod_LDFLAGS): Likewise.
12659 (date_mod_SOURCES): Likewise.
12660 (date_mod_CFLAGS): Likewise.
12661 (date_mod_LDFLAGS): Likewise.
12662 (datehook_mod_SOURCES): Likewise.
12663 (datehook_mod_CFLAGS): Likewise.
12664 (datehook_mod_LDFLAGS): Likewise.
12665
12666 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12667
12668 * commands/date.c: New file.
12669
12670 * hook/datehook.c: Likewise.
12671
12672 * include/grub/lib/datetime.h: Likewise.
12673
12674 * include/grub/i386/cmos.h: Likewise.
12675
12676 * lib/datetime.c: Likewise.
12677
12678 * lib/i386/datetime.c: Likewise.
12679
12680 * lib/efi/datetime.c: Likewise.
12681
0e9242da 126822008-08-14 Robert Millan <rmh@aybabtu.com>
12683
12684 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12685 (grub_mkelfimage_SOURCES): New variable.
12686 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12687
12688 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12689 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12690 * conf/powerpc-ieee1275.rmk: Likewise.
12691 * conf/i386-ieee1275.rmk: Likewise.
12692
12693 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12694 * kern/i386/coreboot/init.c: Likewise.
12695
12696 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12697 with `<grub/cpu/kernel.h>'.
12698 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12699 to ...
12700 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12701 * kern/i386/coreboot/startup.S: Likewise.
12702
12703 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12704 (GRUB_MOD_GAP): Remove.
12705 * include/grub/powerpc/kernel.h: New file.
12706 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12707 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12708 * include/grub/i386/kernel.h: New file.
12709 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12710 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12711 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12712
12713 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12714 `grub-mkelfimage'.
12715 Use --directory when invoking grub_mkimage.
12716
12717 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12718 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12719 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12720 and GRUB_KERNEL_CPU_PREFIX.
12721
b86408f8 127222008-08-14 Felix Zielcke <fzielcke@z-51.de>
12723
d5e619ca 12724 * include/grub/err.h (grub_err_printf): New function prototype.
12725 * util/misc.c (grub_err_printf): New function.
12726 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12727 grub_printf.
12728 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 12729
7161f0e0 127302008-08-13 Robert Millan <rmh@aybabtu.com>
12731
12732 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12733
a1967522 127342008-08-13 Robert Millan <rmh@aybabtu.com>
12735
12736 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12737 boot entry.
12738
371458b5 127392008-08-12 Robert Millan <rmh@aybabtu.com>
12740
12741 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12742 of the relocation code from here ...
12743 (grub_multiboot): ... to here.
12744 (forward_relocator, backward_relocator): Move from here ...
12745 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12746 (grub_multiboot_backward_relocator): ... to here.
12747 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12748 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12749 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12750 (grub_multiboot_forward_relocator_end)
12751 (grub_multiboot_backward_relocator)
12752 (grub_multiboot_backward_relocator_end): New variables.
12753
05f9452b 127542008-08-12 Bean <bean123ch@gmail.com>
12755
12756 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12757
20024ab0 127582008-08-11 Robert Millan <rmh@aybabtu.com>
12759
12760 * kern/i386/linuxbios/startup.S: Move from here ...
12761 * kern/i386/coreboot/startup.S: ... to here.
12762
12763 * kern/i386/linuxbios/init.c: Move from here ...
12764 * kern/i386/coreboot/init.c: ... to here.
12765
12766 * kern/i386/linuxbios/table.c: Move from here ...
12767 * kern/i386/coreboot/mmap.c: ... to here.
12768
12769 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12770
e352e9cd 127712008-08-11 Robert Millan <rmh@aybabtu.com>
12772
12773 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12774 errors. Leave it to the upper layer to handle them.
12775
2d05bc6a 127762008-08-09 Christian Franke <franke@computer.org>
12777
12778 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12779 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12780 Install `grub.d/10_windows' only on Cygwin.
12781 * configure.ac: Add subst of `target_os'.
12782 Check `target_os' also before setting TARGET_OBJ2ELF.
12783 Add `--enable-grub-pe2elf'.
12784
042bd419 127852008-08-08 Robert Millan <rmh@aybabtu.com>
12786
12787 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12788 (grub_last_time): Change type to grub_uint64_t.
12789 (grub_disk_open): Migrate code from to using grub_get_time_ms().
12790 (grub_disk_close): Likewise.
12791
12792 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12793 (run_menu): Migrate code from to using grub_get_time_ms().
12794
12795 * util/misc.c (grub_get_time_ms): New function.
12796
7f280db5 127972008-08-08 Marco Gerards <marco@gnu.org>
12798
12799 * disk/ata.c (grub_ata_regget): Change return type to
12800 `grub_uint8_t'.
12801 (grub_ata_regget2): Likewise.
12802 (grub_ata_wait_status): New function.
12803 (grub_ata_wait_busy): Removed function, updated all users to use
12804 `grub_ata_wait_status'.
12805 (grub_ata_wait_drq): Likewise.
12806 (grub_ata_cmd): New function.
12807 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12808 error handling.
12809 (grub_ata_pio_write): Add error handling.
12810 (grub_atapi_identify): Likewise.
12811 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12812 handling.
12813 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12814 handling. Actually use the detected registers. Reorder the
12815 detection logic such that it is easier to read.
12816 (grub_ata_pciinit): Do not assign the same ID to each controller.
12817 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12818 handling.
12819 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12820
12821 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12822
1fbc5e66 128232008-08-08 Marco Gerards <marco@gnu.org>
12824
12825 * NEWS: Update.
12826
819ce6c0 128272008-08-07 Bean <bean123ch@gmail.com>
12828
12829 * include/grub/x86_64/pci.h: New file.
12830
5c41d44d 128312008-08-07 Christian Franke <franke@computer.org>
12832
12833 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12834 (TIMER2_GATE): Likewise.
12835 (grub_pit_wait): Add enable/disable of the timer2 gate
12836 bit of port 0x61. This fixes a possible infinite loop.
12837
5ebc275d 128382008-08-07 Bean <bean123ch@gmail.com>
12839
12840 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12841 kern/i386/tsc.c and kern/i386/pit.c.
12842
12843 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12844 x86_64 platform.
12845
12846 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12847 <grub/i386/tsc.h>.
12848
12849 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12850
e383b3d0 128512008-08-07 Bean <bean123ch@gmail.com>
12852
12853 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12854
12855 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12856
12857 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12858 multiple inclusion. Add #include <grub/types.h>.
12859
1cbb58ac 128602008-08-06 Christian Franke <franke@computer.org>
12861
12862 * conf/common.rmk: Build and install `10_windows'.
12863 * util/grub.d/10_windows.in: New script.
12864
337f5a1e 128652008-08-06 Pavel Roskin <proski@gnu.org>
12866
12867 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
12868
057bc4ac 128692008-08-06 Robert Millan <rmh@aybabtu.com>
12870
12871 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
12872 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
12873
2b99f123 128742008-08-06 Bean <bean123ch@gmail.com>
12875
12876 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
12877 (grub_pxefs_fs_int): Remove dummy definition.
12878 (grub_pxefs_open): Use data->block_size to store the current block
12879 size setting.
12880 (grub_pxefs_read): Use block size stored in data->block_size. As the
12881 value of grub_pxe_blksize can be changed after the file is opened.
12882
9f0234cb 128832008-08-06 Bean <bean123ch@gmail.com>
12884
12885 * fs/i386/pc/pxe.c (curr_file): new variable.
12886 (grub_pxefs_open): Simply the handling of pxe file system. Don't
12887 require the dummy internal file system anymore.
12888 (grub_pxefs_read): Removed.
12889 (grub_pxefs_close): Likewise.
12890 (grub_pxefs_fs_int): Likewise.
12891 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
12892 connection when we switch file.
12893 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
12894
a55d42e0 128952008-08-06 Robert Millan <rmh@aybabtu.com>
12896
12897 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
12898 `halt.mod'.
12899 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
12900 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
12901
12902 * kern/i386/halt.c: New file.
12903 * kern/i386/reboot.c: Likewise.
12904 * include/grub/i386/reboot.h: Likewise.
12905 * include/grub/i386/halt.h: Likewise.
12906
12907 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
12908 Include `<grub/cpu/halt.h>'.
12909 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
12910 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
12911
12912 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
12913 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
12914 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
12915 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
12916 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
12917 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
12918 from here ...
12919 * include/grub/i386/at_keyboard.h: ... to here.
12920
24371d26 129212008-08-05 Robert Millan <rmh@aybabtu.com>
12922
12923 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
12924 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
12925 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
12926 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12927 `kern/generic/millisleep.c'.
12928
12929 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
12930 instead of grub_get_rtc().
12931 (grub_tsc_init): Initialize `tsc_boot_time'.
12932
12933 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
12934 (grub_machine_init): Use grub_tsc_init() rather than
12935 installing an RTC-based handler via grub_install_get_time_ms().
12936
12937 * kern/i386/pit.c: New file.
12938 * include/grub/i386/pit.h: Likewise.
12939
9e7007b3 129402008-08-05 Bean <bean123ch@gmail.com>
12941
12942 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
12943
12944 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
12945 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
12946 (pxe_mod_SOURCES): New macro.
12947 (pxe_mod_CFLAGS): Likewise.
12948 (pxe_mod_LDFLAGS): Likewise.
12949 (pxecmd_mod_SOURCES): Likewise.
12950 (pxecmd_mod_CFLAGS): Likewise.
12951 (pxecmd_mod_LDFLAGS): Likewise.
12952
12953 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
12954 (grub_pxe_call): Likewise.
12955
12956 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
12957
12958 * commands/i386/pc/pxecmd.c: New file.
12959
9f0234cb 12960 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 12961
12962 * include/grub/i386/pc/pxe.h: Likewise.
12963
6977d49f 129642008-08-05 Bean <bean123ch@gmail.com>
12965
12966 * util/console.c (grub_console_cur_color): New variable.
12967 (grub_console_standard_color): Likewise.
12968 (grub_console_normal_color): Likewise.
12969 (grub_console_highlight_color): Likewise.
12970 (color_map): Likewise.
12971 (use_color): Likewise.
12972 (NUM_COLORS): New macro.
12973 (grub_ncurses_setcolorstate): Handle color properly.
12974 (grub_ncurses_setcolor): Don't change color here, just remember the
12975 settings, color will be set in grub_ncurses_setcolorstate.
12976 (grub_ncurses_getcolor): New function.
12977 (grub_ncurses_init): Initialize color pairs.
12978 (grub_ncurses_term): New member grub_ncurses_getcolor.
12979
9c2ff3ee 129802008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 12981
9c2ff3ee 12982 High resolution timer support. Implemented for x86 CPUs using TSC.
12983 Extracted generic grub_millisleep() so it's linked in only as needed.
12984 This requires a Pentium compatible CPU; if the RDTSC instruction is
12985 not supported, then it falls back on the generic grub_get_time_ms()
12986 implementation that uses the machine's RTC.
12987
12988 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
12989 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12990 `kern/generic/millisleep.c'.
12991
12992 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
12993 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
12994
12995 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
12996 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12997
12998 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12999
13000 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13001 `kern/generic/millisleep.c'.
13002
13003 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13004
13005 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13006
13007 * kern/generic/rtc_get_time_ms.c: New file.
13008
13009 * kern/generic/millisleep.c: New file.
337f5a1e 13010
9c2ff3ee 13011 * kern/misc.c: Don't include
13012 <kern/time.h> anymore.
13013 (grub_millisleep_generic): Removed.
13014
13015 * commands/sleep.c (grub_interruptible_millisleep): Uses
13016 grub_get_time_ms() instead of grub_get_rtc().
13017
13018 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13019 function.
13020 (grub_cpu_is_cpuid_supported): New inline function.
13021 (grub_cpu_is_tsc_supported): New inline function.
13022 (grub_tsc_init): New function prototype.
13023 (grub_tsc_get_time_ms): New function prototype.
13024
13025 * kern/i386/tsc.c (grub_get_time_ms): New file.
13026
13027 * include/grub/time.h: Include <grub/types.h.
13028 (grub_millisleep_generic): Removed.
13029 (grub_get_time_ms): New prototype.
13030 (grub_install_get_time_ms): New prototype.
13031 (grub_rtc_get_time_ms): New prototype.
13032
13033 * kern/time.c (grub_get_time_ms): New function.
13034 (grub_install_get_time_ms): New function.
13035
13036 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13037 <grub/time.h> anymore.
13038 (grub_millisleep): Removed.
13039 (grub_machine_init): Call grub_tsc_init.
13040
13041 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13042 get_time_ms() implementation.
13043
13044 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13045 (ieee1275_get_time_ms): New function.
13046 (grub_machine_init): Install get_time_ms() implementation.
13047
13048 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13049 (grub_machine_init): Call grub_tsc_init().
13050 (grub_millisleep): Removed.
bf06a93f 13051
9c2ff3ee 13052 * kern/ieee1275/init.c (grub_millisleep): Removed.
13053 (grub_machine_init): Install ieee1275_get_time_ms()
13054 implementation.
13055 (ieee1275_get_time_ms): New function.
13056 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13057 real work.
13058
9ec92aaf 130592008-08-05 Marco Gerards <marco@gnu.org>
13060
13061 * disk/ata.c: Include <grub/pci.h>.
13062 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13063 (grub_ata_initialize): Rewritten.
13064 (grub_ata_device_initialize): New function.
13065
8d23f507 130662008-08-04 Pavel Roskin <proski@gnu.org>
13067
13068 * kern/main.c: Include grub/mm.h.
13069
5e15ee3d 130702008-08-04 Robert Millan <rmh@aybabtu.com>
13071
13072 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13073 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13074 corruption problem).
13075
a9053f8f 130762008-08-04 Robert Millan <rmh@aybabtu.com>
13077
13078 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13079 warnings introduced in my last commit.
13080
dd19c7d7 130812008-08-03 Robert Millan <rmh@aybabtu.com>
13082
13083 Make PCI available on all i386 architectures.
13084
13085 * include/grub/i386/pc/pci.h: Move from here ...
13086 * include/grub/i386/pci.h: ... to here.
13087
13088 * include/grub/i386/pc/pci.h: Remove.
13089 * include/grub/i386/efi/pci.h: Remove.
13090 * include/grub/x86_64/efi/pci.h: Remove.
13091
13092 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13093 `<grub/cpu/pci.h>'.
13094
13095 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13096 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13097 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13098
13099 * conf/i386-ieee1275.rmk: Likewise.
13100
e14a6184 131012008-08-03 Robert Millan <rmh@aybabtu.com>
13102
13103 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13104 (grub_console_setcursor): Make it possible to set cursor off.
13105
52768e37 131062008-08-03 Robert Millan <rmh@aybabtu.com>
13107
13108 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13109 of modules instead of assuming which platform provides what.
13110 * util/update-grub.in: Likewise.
13111
2d52f57f 131122008-08-03 Robert Millan <rmh@aybabtu.com>
13113
13114 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13115 instead of `grub_install_dos_part' to determine whether a drive needs
13116 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 13117 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 13118
2a5cd121 131192008-08-02 Robert Millan <rmh@aybabtu.com>
13120
13121 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13122
93808428 131232008-08-02 Robert Millan <rmh@aybabtu.com>
13124
13125 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13126 of informational grub_dprintf() calls.
13127
3bd0a12a 131282008-08-02 Robert Millan <rmh@aybabtu.com>
13129
13130 * disk/memdisk.c (memdisk_size): Don't initialize.
13131 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13132
13133 * include/grub/i386/pc/kernel.h
13134 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13135 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13136 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13137 (grub_arch_memdisk_size): Remove.
13138
13139 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13140 field (was only used to transfer a constant). Add `type' field to
13141 support multiple module types.
13142 (grub_module_iterate): New function.
13143
13144 * kern/device.c (grub_device_open): Do not hide error messages
13145 when grub_disk_open() fails. Use grub_print_error() instead.
13146
13147 * kern/i386/pc/init.c (grub_arch_modules_addr)
13148 (grub_arch_memdisk_size): Remove functions.
13149 (grub_arch_modules_addr): Return the module address in high memory
13150 (now that it isn't copied anymore).
13151
13152 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13153 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13154 decompression routine (grub_total_module_size already includes that
13155 now). Don't copy modules back to low memory.
13156
13157 * kern/main.c: Include `<grub/mm.h>'.
13158 (grub_load_modules): Split out (and use) ...
13159 (grub_module_iterate): ... this function, which iterates through
13160 module objects and runs a hook.
13161 Comment out grub_mm_init_region() call, as it would cause non-ELF
13162 modules to be overwritten.
13163
13164 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13165 the memdisk image in its own region, make it part of the module list.
13166 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13167 (main): Parse --memdisk|-m option, and pass user-provided path as
13168 parameter to generate_image().
13169 (add_segments): Pass `memdisk_path' down to load_modules().
13170 (load_modules): Embed memdisk image in module section when requested.
13171 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13172 `header.type' instead of `header.offset'.
13173
13174 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13175 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13176 (memdisk_mod_LDFLAGS): New variables.
13177 * conf/i386-coreboot.rmk: Likewise.
13178 * conf/i386-ieee1275.rmk: Likewise.
13179
a927cc73 131802008-08-02 Robert Millan <rmh@aybabtu.com>
13181
13182 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13183 (backward_relocator): New variables. Used to allocate and relocate
13184 the payload, respectively.
13185 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13186 address, install the appropriate relocator code in each bound of
a927cc73 13187 the payload, and set the entry point such that
13188 grub_multiboot_real_boot() will jump to one of them.
13189
13190 * kern/i386/loader.S (grub_multiboot_payload_size)
13191 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13192 (grub_multiboot_payload_entry_offset): New variables.
13193 (grub_multiboot_real_boot): Set cpu context to what the relocator
13194 expects, and jump to the relocator instead of the payload.
13195
13196 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13197 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13198 (grub_multiboot_payload_entry_offset): Export.
13199
b15d8a0c 132002008-08-01 Bean <bean123ch@gmail.com>
13201
13202 * normal/menu_entry.c (editor_getline): Don't return the original
13203 string as result, as it will be released by lexer once it has done
13204 using it.
13205
cdfb3d22 132062008-08-01 Robert Millan <rmh@aybabtu.com>
13207
13208 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13209 within menuentries, not before them.
13210 util/grub.d/10_hurd.in: Likewise.
13211
9175e93d 132122008-08-01 Bean <bean123ch@gmail.com>
13213
13214 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13215 (bufio_mod_SOURCES): New macro.
13216 (bufio_mod_CFLAGS): Likewise.
13217 (bufio_mod_LDFLAGS): Likewise.
13218
13219 * include/grub/bufio.h: New file.
13220
13221 * io/bufio.c: Likewise.
13222
13223 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13224 (grub_video_reader_png): Use grub_buffile_open to open file.
13225
13226 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13227 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13228
13229 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13230 (grub_video_reader_tga): Use grub_buffile_open to open file.
13231
13232 * font/manager.c: Include <grub/bufio.h>.
13233 (add_font): Use grub_buffile_open to open file.
13234
3d8383e7 132352008-07-31 Robert Millan <rmh@aybabtu.com>
13236
13237 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13238 ELF segments, use a macro for arbitrarily accessing any of them instead
13239 of preparing a pointer that allows access to one at a time.
13240 (grub_multiboot_load_elf64): Likewise.
13241
16e641b6 132422008-07-31 Bean <bean123ch@gmail.com>
13243
13244 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13245 GRUB_KERNEL_MACHINE_DATA_END.
13246
59198b72 132472008-07-30 Robert Millan <rmh@aybabtu.com>
13248
13249 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13250 Increase from 0x50 to 0x60.
13251 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13252 use UUIDs to identify the root drive for them. If that's not
13253 possible, abort.
13254 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13255 check, for cross-disk installs.
13256
ae88bca3 132572008-07-30 Robert Millan <rmh@aybabtu.com>
13258
13259 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13260 is non-empty, use it to set the `prefix' environment variable instead
13261 of the usual approach.
13262 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13263 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13264 environment variable instead of dummy make_install_device().
13265
13266 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13267 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13268 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13269
13270 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13271 New variable reference.
13272 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13273 New macro. Defines offset of `grub_prefix' within startup.S (relative
13274 to `start').
13275 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13276 section within startup.S (relative to `start').
13277 * include/grub/i386/coreboot/kernel.h: Likewise.
13278
13279 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13280 Overwrite grub_prefix with its contents, at the beginning of the
13281 first segment.
13282 (main): Understand -p|--prefix.
13283
14f41dd1 132842008-07-30 Robert Millan <rmh@aybabtu.com>
13285
13286 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13287
4ca049a3 132882008-07-30 Robert Millan <rmh@aybabtu.com>
13289
13290 * term/i386/pc/vga_text.c (grub_console_cls): Use
13291 grub_console_gotoxy() to go back to beginning of the screen.
13292 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13293
2921d337 132942008-07-29 Christian Franke <franke@computer.org>
13295
13296 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13297 Add conversion of emulated mount points on Cygwin.
13298
b609876d 132992008-07-29 Christian Franke <franke@computer.org>
13300
13301 * util/update-grub.in: Add a check for admin
13302 group on Cygwin.
13303 Remove old `grub.cfg.new' before creation.
13304 Add `-f' to `mv' to handle the different filesystem
13305 semantics of Windows.
13306
e93e4679 133072008-07-29 Bean <bean123ch@gmail.com>
13308
13309 * normal/main.c (get_line): Fix buffer overflow bug.
13310
41694fd0 133112008-07-28 Robert Millan <rmh@aybabtu.com>
13312
13313 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13314 (struct grub_apple_header): New struct. Describes the layout of
13315 the partmap header.
13316 (apple_partition_map_iterate): Check the header magic as well as the
13317 partition magic (which was already being checked).
13318
cfd0b4e6 133192008-07-28 Pavel Roskin <proski@gnu.org>
13320
13321 * genmk.rb: Add a warning to the beginning of the output that
13322 it's a generated file and should not be edited.
13323
93cce016 133242008-07-28 Robert Millan <rmh@aybabtu.com>
13325
13326 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13327 with the same number are found, just use issue a warning with
13328 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 13329
cd1df915 133302008-07-27 Robert Millan <rmh@aybabtu.com>
13331
13332 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
13333 information.
13334
b70a8427 133352008-07-27 Bean <bean123ch@gmail.com>
13336
13337 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13338 (grub_fat_find_dir): Ignore case when comparing filename.
13339
8f5e379f 133402008-07-27 Bean <bean123ch@gmail.com>
13341
13342 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
13343 smallino, as it's more descriptive, and i8count can be confused with
13344 the other field count.
13345 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
13346 inode type.
13347
a85cd5a0 133482008-07-27 Bean <bean123ch@gmail.com>
13349
13350 * commands/crc.c: New file.
13351
13352 * lib/crc.c: Likewise.
13353
13354 * include/grub/lib/crc.h: Likewise.
13355
13356 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
13357
13358 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
13359 (hexdump): Move this function to ...
13360
13361 * lib/hexdump.c: ... here.
13362
13363 * include/grub/hexdump.h: Renamed to ...
13364
13365 * include/grub/lib/hexdump.h: ... this.
13366
13367 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
13368
13369 * util/grub-editenv.c: Likewise.
13370
13371 * include/envblk.h: Renamed to ...
13372
13373 * include/lib/envblk.h: ... this.
13374
13375 * util/envblk.c: Renamed to ...
13376
13377 * lib/envblk.c: ... this.
13378
13379 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
13380 lib/hexdump.c.
13381 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
13382 (pkglib_MODULES): Add crc.mod.
13383 (hexdump_mod_SOURCES): Add lib/hexdump.c.
13384 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
13385 (crc_mod_SOURCES): New macro.
13386 (crc_mod_CFLAGS): Likewise.
13387 (crc_mod_LDFLAGS): Likewise.
13388
13389 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
13390
13391 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13392
13393 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13394
13395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13396
13397 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13398
c298def0 133992008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 13400
13401 * commands/help.c: Include <grub/term.h>.
13402 (TERM_WIDTH): Removed. Updated all users.
13403
cc349fb3 134042008-07-27 Pavel Roskin <proski@gnu.org>
13405
13406 * util/getroot.c (find_root_device): Rephrase a comment to avoid
13407 spurious warnings about a comment within a comment.
13408
9051607e 134092008-07-25 Robert Millan <rmh@aybabtu.com>
13410
13411 * util/getroot.c (find_root_device): Skip devices that match
13412 /dev/dm-[0-9]. This lets the real device be found for any type of
13413 abstraction (LVM, EVMS, RAID..).
13414 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
13415 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
13416 device is found first, find_root_device() will now skip it.
13417
01453bfc 134182008-07-24 Pavel Roskin <proski@gnu.org>
13419
13420 * include/grub/types.h: Use __builtin_bswap32() and
13421 __builtin_bswap64() with gcc 4.3 and newer.
13422
6af9849f 134232008-07-24 Christian Franke <franke@computer.org>
13424
3a0fa256 13425 * util/i386/pc/grub-install.in: If `--debug' is specified,
13426 pass `--verbose' to grub-setup.
13427 Abort script if make_system_path_relative_to_its_root() fails.
13428
7810e747 134292008-07-24 Bean <bean123ch@gmail.com>
13430
13431 * configure.ac: Fixed a bug caused by the previous cygwin patch,
13432 variable `target_platform' should be `platform'.
13433
42290e17 134342008-07-24 Bean <bean123ch@gmail.com>
13435
51cc5193 13436 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 13437 (grub_png_init_fixed_block): New function.
13438 (grub_png_decode_image_data): Handle fixed huffman code compression.
13439
2a8a80e4 134402008-07-24 Bean <bean123ch@gmail.com>
13441
13442 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
13443 (grub_pe2elf_SOURCES): New macro.
13444 (CLEANFILES): Add grub-pe2elf.
13445
13446 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
13447 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
13448 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
13449 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
13450 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
13451 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
13452 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
13453 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
13454 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
13455 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
13456 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
13457 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
13458 (GRUB_PE32_DT_FUNCTION): Likewise.
13459 (GRUB_PE32_REL_I386_DIR32): Likewise.
13460 (GRUB_PE32_REL_I386_REL32): Likewise.
13461 (grub_pe32_symbol): New structure.
13462 (grub_pe32_reloc): Likewise.
13463
13464 * util/grub-pe2elf.c: New file.
13465
13466 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
13467 start symbol in non pc platform.
13468
13469 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
13470
13471 The following patches are from Christian Franke.
13472
13473 * include/grub/dl.h: Remove .previous, gas supports this only
13474 for ELF format.
13475
13476 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
13477 Remove .type, gas supports this only for ELF format.
13478
13479 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
13480 nullbytes in symbol table. This fixes an infinite loop if table is
13481 zero filled.
13482
13483 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
13484 TARGET_IMG_LDFLAGS and EXEEXT.
13485
13486 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
13487 TARGET_IMG_LDFLAGS_AC.
13488 (grub_CHECK_STACK_ARG_PROBE): New function.
13489
13490 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
13491
13492 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
13493
13494 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
13495 to set TARGET_IMG_LD* accordingly.
13496 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
13497 Add call to grub_CHECK_STACK_ARG_PROBE.
13498 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
13499
13500 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
13501
13502 * genmk.rb: Add EXEEXT to CLEANFILES.
13503
12ccdb75 135042008-07-23 Robert Millan <rmh@aybabtu.com>
13505
13506 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
13507 define the codes for arrows and lines used for the menu).
13508 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
13509 as well.
13510
13511 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
13512 fonts, because the latter are too slow.
13513
18eeaf04 135142008-07-21 Bean <bean123ch@gmail.com>
13515
13516 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
13517 a20. Run keyboard test last, as it will cause macbook to halt.
13518
b095e2ad 135192008-07-18 Pavel Roskin <proski@gnu.org>
13520
13521 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
13522 load foreign architecture modules correctly anyway. Keep
13523 support for loading host architecture modules, whether we
13524 compile them or not.
13525
737feb35 135262008-07-17 Pavel Roskin <proski@gnu.org>
13527
3f4ce737 13528 * configure.ac: Use -m32 or -m64 regardless of whether we had to
13529 change target_cpu. The compiler default can mismatch target_cpu
13530 in any case.
13531
4ad2d049 13532 * disk/efi/efidisk.c: Fix format warnings on x86_64.
13533 * kern/efi/efi.c: Likewise.
13534
f6130a12 13535 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
13536 target compiler is functional.
13537 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
13538 are set up.
13539
58393a2d 13540 * configure.ac: Default to efi platform for x86_64-apple. Allow
13541 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
13542 adjustments from the rest, only do them if target is not
13543 explicitly given. Merge other adjustments with the final sanity
13544 check. Remove an extraneous check for supported CPU. Be
13545 specific which CPU and which platform is not supported.
13546
737feb35 13547 * configure.ac: Default to pc platform for x86_64.
13548
546f966a 135492008-07-17 Robert Millan <rmh@aybabtu.com>
13550
13551 Partial LinuxBIOS -> Coreboot rename.
13552
13553 * conf/i386-linuxbios.rmk: Renamed to ...
13554 * conf/i386-coreboot.rmk: ... this.
13555 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
13556 * configure.ac: Accept "coreboot" as input platform (but maintain
13557 compatibility with "linuxbios").
13558 * include/grub/i386/linuxbios: Renamed to ...
13559 * include/grub/i386/coreboot: ... this.
13560
20011694 135612008-07-17 Bean <bean123ch@gmail.com>
13562
13563 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 13564 (appleldr_mod_SOURCE): New variable.
20011694 13565 (appleldr_mod_CFLAGS): Likewise.
13566 (appleldr_mod_LDFLAGS): Likewise.
13567 (pci_mod_SOURCES): Likewise.
13568 (pci_mod_CFLAGS): Likewise.
13569 (pci_mod_LDFLAGS): Likewise.
13570 (lspci_mod_SOURCES): Likewise.
13571 (lspci_mod_CFLAGS): Likewise.
13572 (lspci_mod_LDFLAGS): Likewise.
13573
13574 * conf/x86_64-efi.rmk: New file.
13575
13576 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
13577 macro.
13578 (grub_efidisk_write): Likewise.
13579
13580 * include/efi/api.h (efi_call_0): New macro.
13581 (efi_call_1): Likewise.
13582 (efi_call_2): Likewise.
13583 (efi_call_3): Likewise.
13584 (efi_call_4): Likewise.
13585 (efi_call_5): Likewise.
13586 (efi_call_6): Likewise.
13587
13588 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
13589 grub_rescue_cmd_chainloader.
13590
13591 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
13592 (grub_pe32_optional_header): Change some fields based on i386 or
13593 x86_64 platform.
13594 (GRUB_PE32_PE32_MAGIC): Likewise.
13595
13596 * include/grub/efi/uga_draw.h: New file.
13597
13598 * include/grub/elf.h (STN_ABS): New constant.
13599 (R_X86_64_NONE): Relocation constant for x86_64.
13600 (R_X86_64_64): Likewise.
13601 (R_X86_64_PC32): Likewise.
13602 (R_X86_64_GOT32): Likewise.
13603 (R_X86_64_PLT32): Likewise.
13604 (R_X86_64_COPY): Likewise.
13605 (R_X86_64_GLOB_DAT): Likewise.
13606 (R_X86_64_JUMP_SLOT): Likewise.
13607 (R_X86_64_RELATIVE): Likewise.
13608 (R_X86_64_GOTPCREL): Likewise.
13609 (R_X86_64_32): Likewise.
13610 (R_X86_64_32S): Likewise.
13611 (R_X86_64_16): Likewise.
13612 (R_X86_64_PC16): Likewise.
13613 (R_X86_64_8): Likewise.
13614 (R_X86_64_PC8): Likewise.
13615
13616 * include/grub/i386/efi/pci.h: New file.
13617
13618 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13619 Change it value based on platform.
13620 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13621 (GRUB_E820_RAM): Likewise.
13622 (GRUB_E820_RESERVED): Likewise.
13623 (GRUB_E820_ACPI): Likewise.
13624 (GRUB_E820_NVS): Likewise.
13625 (GRUB_E820_EXEC_CODE): Likewise.
13626 (GRUB_E820_MAX_ENTRY): Likewise.
13627 (grub_e820_mmap): New structure.
13628 (linux_kernel_header): Change the efi field according to different
13629 kernel version, also field from linux_kernel_header.
13630
13631 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13632
13633 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13634 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13635 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13636 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13637 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13638 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13639 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13640 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13641 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13642 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13643
13644 * include/grub/x86_64/efi/kernel.h: New file.
13645
13646 * include/grub/x86_64/efi/loader.h: Likewise.
13647
13648 * include/grub/x86_64/efi/machine.h: Likewise.
13649
13650 * include/grub/x86_64/efi/pci.h: Likewise.
13651
13652 * include/grub/x86_64/efi/time.h: Likewise.
13653
13654 * include/grub/x86_64/linux.h: Likewise.
13655
13656 * include/grub/x86_64/setjmp.h: Likewise.
13657
13658 * include/grub/x86_64/time.h: Likewise.
13659
13660 * include/grub/x86_64/types.h: Likewise.
13661
13662 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13663 GRUB_TARGET_SIZEOF_VOID_P.
13664
13665 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13666 (grub_efi_locate_handle): Likewise.
13667 (grub_efi_open_protocol): Likewise.
13668 (grub_efi_set_text_mode): Likewise.
13669 (grub_efi_stall): Likewise.
13670 (grub_exit): Likewise.
13671 (grub_reboot): Likewise.
13672 (grub_halt): Likewise.
13673 (grub_efi_exit_boot_services): Likewise.
13674 (grub_get_rtc): Likewise.
13675
13676 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13677 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13678 (grub_efi_allocate_pages): Wrap efi calls.
13679 (grub_efi_free_pages): Wrap efi calls.
13680 (grub_efi_get_memory_map): Wrap efi calls.
13681
13682 * kern/x86_64/dl.c: New file.
13683
13684 * kern/x86_64/efi/callwrap.S: Likewise.
13685
13686 * kern/x86_64/efi/startup.S: Likewise.
13687
13688 * loader/efi/appleloader.c: Likewise.
13689
13690 * loader/efi/chainloader.c (cmdline): New variable.
13691 (grub_chainloader_unload): Wrap efi calls.
13692 (grub_chainloader_boot): Likewise.
13693 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13694 command line.
13695
13696 * loader/efi/chainloader_normal.c (chainloader_command):
13697 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13698 command line.
13699
13700 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13701 method.
13702 (grub_e820_add_region): New function.
13703 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13704 booting.
13705 (grub_find_video_card): New function.
13706 (grub_linux_setup_video): New function.
13707 (grub_rescue_cmd_linux): Probe for video information.
13708
13709 * normal/x86_64/setjmp.S: New file.
13710
13711 * term/efi/console.c (map_char): New function.
13712 (grub_console_putchar): Map unicode char.
13713 (grub_console_checkkey): Wrap efi calls.
13714 (grub_console_getkey): Likewise.
13715 (grub_console_getwh): Likewise.
13716 (grub_console_gotoxy): Likewise.
13717 (grub_console_cls): Likewise.
13718 (grub_console_setcolorstate): Likewise.
13719 (grub_console_setcursor): Likewise.
13720
13721 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13722
59652a20 137232008-07-16 Pavel Roskin <proski@gnu.org>
13724
ef294055 13725 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13726 format strings.
13727
59652a20 13728 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13729 pointer, not an integer. This fixes a warning and prevents
13730 precision loss on 64-bit systems.
13731 (relocate_addresses): Remove unneeded cast.
13732
afc3b5d7 137332008-07-15 Pavel Roskin <proski@gnu.org>
13734
506b2b3e 13735 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13736
62ead89c 13737 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13738
c4cd51d7 13739 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13740 Fix comparison between signed and unsigned.
13741
0d3d8f28 13742 * include/grub/i386/ieee1275/console.h: Declare
13743 grub_console_init() and grub_console_fini().
13744
8804b286 13745 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13746 It's empty and unused.
13747
ee01cf35 13748 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13749 beginning to avoid warnings with some compilers.
13750
afc3b5d7 13751 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13752 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13753
e4e8eaa5 137542008-07-14 Pavel Roskin <proski@gnu.org>
13755
407aceb4 13756 * kern/env.c (grub_register_variable_hook): Don't copy empty
13757 string, it leaks memory. Pass "" to grub_env_set(), it should
13758 handle constant strings.
13759
e4e8eaa5 13760 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13761 * commands/cmp.c (grub_cmd_cmp): Likewise.
13762 * kern/dl.c (grub_dl_flush_cache): Likewise.
13763 (grub_dl_load_core): Likewise.
13764 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13765 (grub_elf64_load_phdrs): Likewise.
13766
d4e2dad3 137672008-07-13 Pavel Roskin <proski@gnu.org>
13768
13769 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13770 between signed and unsigned.
13771 (LzmaEnc_Finish): Fix warning about an unused parameter.
13772
aa24b516 137732008-07-13 Bean <bean123ch@gmail.com>
13774
13775 * Makefile.in (enable_lzo): New rule.
13776
13777 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13778
13779 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13780
13781 * boot/i386/pc/lnxboot.S: #include <config.h>.
13782
13783 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 13784 its value according to the compression algorithm used, lzo or lzma.
aa24b516 13785
13786 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
13787 compression algorithm according to configure macro.
13788
13789 * kern/i386/pc/startup.S (codestart): Likewise.
13790
13791 * kern/i386/pc/lzma_decode.S: New file.
13792
13793 * include/grub/lib/LzFind.h: Likewise.
13794
13795 * include/grub/lib/LzHash.h: Likewise.
13796
13797 * include/grub/lib/LzmaDec.h: Likewise.
13798
13799 * include/grub/lib/LzmaEnc.h: Likewise.
13800
13801 * include/grub/lib/LzmaTypes.h: Likewise.
13802
13803 * lib/LzFind.c: Likewise.
13804
13805 * lib/LzmaDec.c: Likewise.
13806
13807 * lib/LzmaEnc.c: Likewise.
13808
4ae821ac 138092008-07-13 Bean <bean123ch@gmail.com>
13810
13811 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13812 (grub_ext4_extent_header): New structure.
13813 (grub_ext4_extent): Likewise.
13814 (grub_ext4_extent_idx): Likewise.
13815 (grub_ext4_find_leaf): New function.
13816 (grub_ext2_read_block): Handle extents.
13817
9a745147 138182008-07-12 Robert Millan <rmh@aybabtu.com>
13819
13820 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13821
d49a4cf6 138222008-07-11 Robert Millan <rmh@aybabtu.com>
13823
13824 * util/grub.d/40_custom.in: New file. Example on how to add custom
13825 entries to /etc/grub.d.
13826 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13827 40_custom (implicitly, by merging all the grub.d rules).
13828
947414b4 138292008-07-11 Pavel Roskin <proski@gnu.org>
13830
0059cf6f 13831 * commands/read.c (grub_getline): Fix invalid memory access.
13832 Don't add newline to the variable value.
13833
947414b4 13834 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13835 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13836 (serial_hw_get_port): Check validity of the port number.
13837 (grub_cmd_serial): Check return value of serial_hw_get_port().
13838
62a02d00 138392008-07-07 Pavel Roskin <proski@gnu.org>
13840
13841 * boot/i386/pc/diskboot.S (notification_string): Replace
13842 "Loading kernel" with just "loading". This is shorter, less
13843 confusing and saves a few bytes for possible future changes.
13844
3e5581b0 138452008-07-05 Pavel Roskin <proski@gnu.org>
13846
ea387a48 13847 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13848 size for ATAPI devices, they are undefined. Output sector
13849 number in decimal form.
13850
3e5581b0 13851 * disk/ata.c: Use named constants for status bits.
13852
fdecb8fd 138532008-07-04 Pavel Roskin <proski@gnu.org>
13854
bcd35b90 13855 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13856 grub_addr_t before casting it to the void pointer to fix a
13857 warning. Non-addressable regions are discarded earlier.
13858 (grub_arch_modules_addr): Cast _end to grub_addr_t.
13859 * kern/i386/linuxbios/table.c: Include grub/misc.h.
13860 (check_signature): Don't shadow table_header.
13861 (grub_linuxbios_table_iterate): Cast numeric constants to
13862 grub_linuxbios_table_header_t.
13863 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
13864 grub_stop().
13865
af58ab3d 13866 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
13867 prevent warnings.
13868
1759aa57 13869 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
13870 pointer, which can cause warnings. Support 64-bit addresses.
13871
fdecb8fd 13872 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
13873 of sizeof(long). This fixes PowerPC image generation on x86_64.
13874
8516d2a8 138752008-07-04 Robert Millan <rmh@aybabtu.com>
13876
13877 This fixes a performance issue when pc & gpt partmap iterators
13878 didn't abort iteration even after our hook found what it was
fe987087 13879 looking for (often causing expensive probes of non-existent drives).
8516d2a8 13880
13881 Some callers relied on previous buggy behaviour, since they would
34c44600 13882 raise an error when their own hooks caused early abortion of its
8516d2a8 13883 iteration.
13884
13885 * kern/device.c (grub_device_open): Improve error message.
13886 * disk/lvm.c (grub_lvm_open): Likewise.
13887 * disk/raid.c (grub_raid_open): Likewise.
13888
13889 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
13890 when hook requests it, independently of grub_errno.
13891 (pc_partition_map_probe): Do not fail when find_func() caused
13892 early abortion of pc_partition_map_iterate().
13893
13894 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
13895 when hook requests it, independently of grub_errno.
13896 (gpt_partition_map_probe): Do not fail when find_func() caused
13897 early abortion of gpt_partition_map_iterate().
13898
13899 * kern/partition.c (grub_partition_iterate): Abort parent iteration
13900 when hook requests it, independently of grub_errno. Do not fail when
13901 part_map_iterate_hook() caused early abortion of p->iterate().
13902
13903 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
13904 when grub_partition_iterate() returned with non-zero.
13905
277d0de9 139062008-07-03 Pavel Roskin <proski@gnu.org>
13907
13908 * disk/ata.c (grub_ata_pio_write): Check status before writing,
13909 like we do in grub_ata_pio_read().
13910 (grub_ata_readwrite): Always write individual sectors. Fix the
13911 sector count for the remainder.
13912 (grub_ata_write): Enable writing to ATA devices. Correctly
13913 report error for ATAPI devices.
13914
d4c9b428 139152008-07-02 Pavel Roskin <proski@gnu.org>
13916
e43fc690 13917 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
13918 warning.
13919
f707af42 13920 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
13921 for every read sector, we already increment it for the whole
13922 batch. This fixes reading more than 256 sectors at once.
13923
11e16b15 13924 * util/grub-editenv.c (cmd_info): Cast argument to long
13925 explicitly. ptrdiff_t reduces to int on i386.
13926
cbabfdd4 13927 * util/grub-editenv.c (main): Be specific which parameter is
13928 missing.
13929
b8fbce0a 13930 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
13931 (memdisk): Make memdisk_orig_addr a pointer.
13932
c9c8e606 13933 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
13934 for file offsets, use grub_off_t instead. Fix printf format
13935 warnings.
13936
ca62e598 13937 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
13938 there. Real unexpected warnings should not drown in the noise
13939 about known problems.
13940
ce8d1766 13941 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
13942 grub_disk_addr_t for memory addresses.
13943
00c7a56a 13944 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
13945 explicitly to fix a warning.
13946
08d3ef09 13947 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
13948
cb71ba20 13949 * Makefile.in (MODULE_LDFLAGS): New variable.
13950 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
13951 the linker accepts --build-id=none.
13952 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
13953 MODULE_LDFLAGS.
13954 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
13955
d4c9b428 13956 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
13957 those in Linux XFS code. Provide a way to access 64-bit parent
13958 inode.
13959 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
13960 the end of struct grub_xfs_dir_header.
13961
d4156eee 139622008-07-02 Bean <bean123ch@gmail.com>
13963
13964 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
13965 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13966 and GRUB_IEEE1275_FLAG_NO_ANSI.
13967
13968 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
13969 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13970 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
13971
13972 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
13973 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
13974
13975 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
13976 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
13977
13978 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
13979 esc sequence on non ANSI terminal.
13980 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
13981
13982 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
13983 beginning of file.
13984
2270f77b 139852008-07-02 Bean <bean123ch@gmail.com>
13986
13987 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
13988 (grub_editenv_SOURCES): New variable.
13989 (pkglib_MODULES): Add loadenv.mod.
13990 (loadenv_mod_SOURCES): New variable.
13991 (loadenv_mod_CFLAGS): Likewise.
13992 (loadenv_mod_LDFLAGS): Likewise.
13993
13994 * include/grub/envblk.h: New file.
13995
13996 * util/envblk.c: New file.
13997
13998 * util/grub-editenv.c: New file.
13999
14000 * commands/loadenv.c: New file.
14001
0e9e51ec 140022008-07-01 Pavel Roskin <proski@gnu.org>
14003
d89b7634 14004 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14005 not unsigned char. This fixes warnings and is consistent with
14006 other tags.
14007
bf1835b1 14008 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14009
8222a04b 14010 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14011
6a42d99d 14012 * term/tparm.c (analyze): Always set *popcount.
14013
10b159d1 14014 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14015 cast to fix a warning.
14016
b8789f6c 14017 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14018 cast to suppress a warning.
14019
29d7e38a 14020 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14021 grub_fshelp_read_file() expects.
14022
f341f669 14023 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14024 write uuid as a 32-bit value in CPU byte order, so declare and
14025 use it as such.
14026
0e9e51ec 14027 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14028 long if the format specifier expects it.
14029 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14030 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14031 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14032 long to fix a warning.
14033 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14034 grub_dprintf() arguments to fix warnings.
14035
3aefa857 140362008-06-30 Pavel Roskin <proski@gnu.org>
14037
56c7668b 14038 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14039 install_bsd_part immediately before core.img is embedded or
14040 modified on disk. This fixes core.img verification if core.img
14041 cannot be embedded.
14042
3aefa857 14043 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14044 core_path to calculate the blocklist.
14045 Patch from Javier Martín <lordhabbit@gmail.com>
14046
5444088d 140472008-06-29 Robert Millan <rmh@aybabtu.com>
14048
14049 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14050 block to disk block.
14051 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14052 Patch from Niels Böhm <bitbucket@arcor.de>
14053
674835c8 140542008-06-29 Robert Millan <rmh@aybabtu.com>
14055
14056 * util/update-grub_lib.in (font_path): Search for fonts in
14057 /boot/grub first, which is more likely to be readable (we aren't
14058 deciding where fonts live, just looking for them).
14059
f527dbc8 140602008-06-26 Pavel Roskin <proski@gnu.org>
14061
6c2d8df6 14062 * util/biosdisk.c (read_device_map): Don't leave dead map
14063 entries for devices failing stat() check.
14064
f527dbc8 14065 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14066 core_path_dev for the core.img path on the target device.
14067
aebe3d13 140682008-06-26 Robert Millan <rmh@aybabtu.com>
14069
14070 * disk/fs_uuid.c: New file.
14071 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14072 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14073 (fs_uuid_mod_LDFLAGS): New variables.
14074 * include/grub/disk.h (grub_disk_dev_id): Add
14075 `GRUB_DISK_DEVICE_UUID_ID'.
14076 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14077 implement iterate().
14078
37aaf354 140792008-06-26 Robert Millan <rmh@aybabtu.com>
14080
14081 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14082 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14083 Linux image includes no initrd.
14084
25ff262a 140852008-06-21 Javier Martín <lordhabbit@gmail.com>
14086
14087 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14088 call to resolve the core image location that effectively appended the
14089 name twice.
14090
76a2bd44 140912008-06-21 Robert Millan <rmh@aybabtu.com>
14092
14093 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14094 call from here ...
14095
14096 * util/grub.d/10_hurd.in: ... to here ...
14097 * util/grub.d/10_linux.in: ... and here.
14098
650e1c79 140992008-06-19 Robert Millan <rmh@aybabtu.com>
14100
fe987087 14101 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14102 after it has been set by grub_machine_set_prefix().
14103
6ce63911 141042008-06-19 Robert Millan <rmh@aybabtu.com>
14105
14106 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14107 search result when not saving to variable, not the other way around.
14108 When saving to variable, abort iteration as soon as a match is found.
14109
73940cec 141102008-06-19 Robert Millan <rmh@aybabtu.com>
14111
14112 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14113 check for partition that provides /boot/grub. Its logic is flawed,
14114 as it prevents prepare_grub_to_access_device() from being called
14115 multiple times.
14116
3c62a39d 141172008-06-19 Robert Millan <rmh@aybabtu.com>
14118
14119 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14120 "insmod" command directly when abstraction modules are needed,
fe987087 14121 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 14122 since it had already been processed).
14123
47395a42 141242008-06-19 Pavel Roskin <proski@gnu.org>
14125
14126 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14127 changed. This is needed in case GRUB_LIBDIR changes.
14128 * conf/i386-ieee1275.rmk: Likewise.
14129 * conf/i386-linuxbios.rmk: Likewise.
14130 * conf/i386-pc.rmk: Likewise.
14131 * conf/powerpc-ieee1275.rmk: Likewise.
14132
a145ac2d 141332008-06-18 Pavel Roskin <proski@gnu.org>
14134
14135 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14136 kernel_elf_symlist.c to symlist.c for consistency with other
14137 architectures. Update all users.
14138 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14139
7847c51e 141402008-06-18 Robert Millan <rmh@aybabtu.com>
14141
14142 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14143 it in prefix.
14144
14145 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14146 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14147 a RAID device, run setup() for all members independently on whether
14148 LVM abstraction is being used.
14149 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14150 If grub-mkimage has set `*install_dos_part == -2', don't override this
14151 value.
14152 Perform *install_dos_part adjustments independently on whether
14153 we're embedding or not.
14154 Clarify error message when image is too big for embedding.
14155 Remove duplicate *install_dos_part stanza.
14156
b23e5644 141572008-06-17 Robert Millan <rmh@aybabtu.com>
14158
14159 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14160 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14161 variables.
14162 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14163 values in grub_ofconsole_normal_color and
14164 grub_ofconsole_highlight_color (they're not directly related to
14165 background and foreground).
14166 (grub_ofconsole_setcolorstate): Extract background and foreground
14167 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14168
0aac2f79 141692008-06-17 Robert Millan <rmh@aybabtu.com>
14170
14171 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14172 /boot/grub for the check in last commit, not /boot (they could be
14173 different partitions).
14174
3cca7ef3 141752008-06-16 Robert Millan <rmh@aybabtu.com>
14176
14177 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14178 asked to setup access for the same partition that provides /boot,
14179 don't bother using UUIDs since our root already has the value we
14180 want.
14181
347396d8 141822008-06-16 Robert Millan <rmh@aybabtu.com>
14183
14184 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14185 I2O devices.
14186 Patch from Sven Mueller <sven@debian.org>.
14187
991477f8 141882008-06-16 Robert Millan <rmh@aybabtu.com>
14189
14190 * util/update-grub.in: Check for $EUID instead of $UID.
14191 Reported by Vincent Zweije.
14192
d31a32a1 141932008-06-16 Bean <bean123ch@gmail.com>
14194
fe987087 14195 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14196 (grub_ext2_read_block): Likewise.
14197 (grub_ext2_read_inode): Likewise.
14198 (grub_ext2_mount): Likewise.
14199 (grub_ext2_close): Likewise.
14200 (grub_ext3_get_journal): Removed.
14201
fe987087 14202 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14203 (grub_reiserfs_read_symlink): Likewise.
14204 (grub_reiserfs_mount): Likewise.
14205 (grub_reiserfs_open): Likewise.
14206 (grub_reiserfs_read): Likewise.
14207 (grub_reiserfs_close): Likewise.
14208 (grub_reiserfs_get_journal): Removed.
14209
14210 * fs/fshelp.c (grub_fshelp_read): Removed.
14211 (grub_fshelp_map_block): Likewise.
14212
14213 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14214 (grub_fshelp_journal): Likewise.
14215 (grub_fshelp_read): Likewise.
14216 (grub_fshelp_map_block): Likewise.
14217
3540a760 142182008-06-16 Pavel Roskin <proski@gnu.org>
14219
14220 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14221 floating point anymore.
14222 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14223
95614c84 142242008-06-15 Pavel Roskin <proski@gnu.org>
14225
14226 * commands/ls.c (grub_ls_list_files): Use integer calculations
14227 for human readable format, avoid floating point use.
14228 * kern/misc.c (grub_ftoa): Remove.
14229 (grub_vsprintf): Remove floating point support.
14230
50465dd6 142312008-06-15 Robert Millan <rmh@aybabtu.com>
14232
fe6b695a 14233 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14234 devices.
14235 Reported by Max Vozeler.
14236
a9207284 142372008-06-15 Robert Millan <rmh@aybabtu.com>
14238
14239 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14240 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14241 skipped later.
14242 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14243 the beginning of the prefix.
14244
14245 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14246 It is assumed that if we have a memdisk, grub-mkimage has set
14247 grub_prefix to include the "(memdisk)" drive in it.
14248
a7cbd45a 142492008-06-15 Robert Millan <rmh@aybabtu.com>
14250
14251 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14252 Initialize keyboard controller after registering the terminal, so that
14253 grub_printf() can be called from grub_keyboard_controller_init().
14254
21cf716a 142552008-06-15 Robert Millan <rmh@aybabtu.com>
14256
14257 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14258 extent-btree which is written as big endian on disk.
14259 Reported by Alain Greppin <al@chilibi.org>.
14260
23a64d8e 142612008-06-14 Robert Millan <rmh@aybabtu.com>
14262
14263 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14264 * util/i386/pc/grub-install.in (modules): Likewise.
14265
d687651c 142662008-06-13 Pavel Roskin <proski@gnu.org>
14267
14268 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14269
dfe9ddd4 142702008-06-13 Bean <bean123ch@gmail.com>
14271
14272 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14273
14274 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14275
14276 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14277 to indicate sparse block.
14278
16ae7781 142792008-06-12 Pavel Roskin <proski@gnu.org>
14280
e6d1a308 14281 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14282 number, grub_fshelp_read() does it for us.
14283
16ae7781 14284 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14285 linear disk read with journal translation.
14286 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14287 * include/grub/fshelp.h: Declare grub_fshelp_read().
14288
40fd3a2b 142892008-06-09 Pavel Roskin <proski@gnu.org>
14290
14291 * fs/minix.c (grub_minix_mount): Handle error reading
14292 superblock.
14293
f5679726 142942008-06-08 Robert Millan <rmh@aybabtu.com>
14295
14296 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14297 don't append the RAID prefix afterwards.
14298 Reported by Clint Adams.
14299
ce525529 143002008-06-08 Robert Millan <rmh@aybabtu.com>
14301
14302 Based on description from Pavel:
14303 * kern/disk.c (grub_disk_check_range): Rename to ...
14304 (grub_disk_adjust_range): ... this. Add a comment explaining the
14305 tasks performed by this function.
14306
ad4936a0 143072008-06-08 Robert Millan <rmh@aybabtu.com>
14308
14309 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14310 `num_serial' (for consistency with other variables).
14311 (struct grub_ntfs_data): Add `uuid' member.
14312 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14313 (grub_ntfs_uuid): New function.
14314 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14315
dc20b0f9 143162008-06-07 Pavel Roskin <proski@gnu.org>
14317
14318 * util/biosdisk.c (open_device): Revert last change to the
14319 function, it broke installation. The sector needs to be
14320 different dependent on which device is opened.
14321
c5e3cfba 143222008-06-06 Robert Millan <rmh@aybabtu.com>
14323
14324 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
14325 rest of GRUB, and breakage doesn't happen if its value were modified.
14326
14327 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14328 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
14329 a constant (same value).
14330 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
14331 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
14332
26a1f8c4 143332008-06-06 Robert Millan <rmh@aybabtu.com>
14334
14335 * util/biosdisk.c (open_device): Do not modify sector offset when
14336 accessing a partition. kern/disk.c already handles this for us.
14337
25d6b327 143382008-06-06 Robert Millan <rmh@aybabtu.com>
14339
14340 * util/grub-emu.c (grub_machine_init): Move code in this function from
14341 here ...
14342 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
14343 segfault in case grub_printf() is called).
14344
14345 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
14346 grub_probe. Update all users not to explicitly add it again.
14347 (grub_device): New variable; contains corresponding device for grubdir.
14348 (fs_module, partmap_module, devabstraction_module): Pass
14349 `--device ${grub_device}' to grub_probe to avoid traversing /dev
14350 every time.
14351
9ece62fb 143522008-06-05 Robert Millan <rmh@aybabtu.com>
14353
14354 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
14355 is found, print it (same layout as with labels).
14356
1ad36d37 143572008-06-04 Robert Millan <rmh@aybabtu.com>
14358
14359 * util/biosdisk.c (get_drive): Rename to ...
14360 (find_grub_drive): ... this. Update all users.
14361
14362 (get_os_disk): Rename to ...
14363 (convert_system_partition_to_system_disk): ... this. Update all users.
14364
14365 (find_drive): Rename to ...
14366 (find_system_device): ... this. Update all users.
14367
e6a30859 143682008-06-04 Robert Millan <rmh@aybabtu.com>
14369
14370 * util/biosdisk.c (get_os_disk): Handle IDA devices.
14371 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14372 (make_device_map): Likewise.
14373
00c108a4 143742008-06-01 Robert Millan <rmh@aybabtu.com>
14375
14376 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
14377 before dereferencing it.
14378
14379 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
14380 union with fat12/fat16-specific ones. Add some new fields, including
14381 `num_serial' for both versions.
14382 (struct grub_fat_data): Add `uuid' member.
14383 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
14384 names. Initialize `data->uuid' using `num_serial'.
14385 (grub_fat_uuid): New function.
14386 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
14387
14388 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
14389 (grub_reiserfs_uuid): New function.
14390 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
14391 member.
14392
14393 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
14394 (grub_xfs_uuid): New function.
14395 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
14396
1385c5bb 143972008-06-01 Robert Millan <rmh@aybabtu.com>
14398
14399 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
14400 code that is backward compatible with pre-uuid search command.
14401
c682dfd7 144022008-05-31 Robert Millan <rmh@aybabtu.com>
14403
14404 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
14405 floppies after everything else, to ensure floppy drive isn't accessed
14406 unnecessarily (patch from Bean).
14407
b7db5d47 144082008-05-31 Robert Millan <rmh@aybabtu.com>
14409
14410 * commands/search.c (search_label, search_fs_uuid, search_file): Do
14411 not print device names when we were asked to set a variable.
14412
6e037aa9 144132008-05-31 Robert Millan <rmh@aybabtu.com>
14414
14415 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
14416 using "cursor-on" and "cursor-off" commands (understood at least by
14417 the Open Firmware flavour on OLPC).
14418
41305bc8 144192008-05-31 Michael Gorven <michael@gorven.za.net>
14420
14421 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
14422 on and off sequences.
14423
69ba137e 144242008-05-31 Robert Millan <rmh@aybabtu.com>
14425
14426 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
14427 * util/update-grub.in: Likewise.
14428
520ae21b 144292008-05-30 Pavel Roskin <proski@gnu.org>
14430
14431 * util/biosdisk.c (linux_find_partition): Simplify logic and
14432 make the code more universal. Keep special processing for
14433 devfs, but use a simple rule for all other devices. If the
14434 device ends with a number, append 'p' and the partition number.
14435 Otherwise, append only the partition number.
14436
5786569b 144372008-05-30 Robert Millan <rmh@aybabtu.com>
14438
14439 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
14440 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
14441 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
14442 the `root' parameter to Linux.
14443
51500452 144442008-05-30 Robert Millan <rmh@aybabtu.com>
14445
14446 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
14447 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
14448 --fs_uuid with --fs-uuid.
14449 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
14450 all filesystems support them).
14451
811d3878 144522008-05-30 Robert Millan <rmh@aybabtu.com>
14453
14454 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 14455 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 14456
cab63c95 144572008-05-30 Robert Millan <rmh@aybabtu.com>
14458
14459 * util/grub.d/00_header.in: Remove obsolete comment referencing
14460 convert_system_path_to_grub_path().
14461 * util/update-grub.in: Likewise.
14462 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
14463 (convert_system_path_to_grub_path): Add a warning message explaining
14464 that this function is deprecated. Rely on is_path_readable_by_grub()
14465 for the readability checks.
14466 (font_path): Use is_path_readable_by_grub() for the readability
14467 check rather than convert_system_path_to_grub_path().
14468
972e2f7a 144692008-05-30 Robert Millan <rmh@aybabtu.com>
14470
14471 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
14472 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
14473 converting it first.
14474 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
14475 grub.cfg for access to font file, and afterwards call it again to set
14476 the root device.
14477
62191274 144782008-05-30 Robert Millan <rmh@aybabtu.com>
14479
14480 * commands/search.c (options): Add --fs_uuid option.
14481 (search_fs_uuid): New function.
14482 (grub_cmd_search): Fix --set argument passing.
14483 Use search_fs_uuid() when requested via --fs_uuid.
14484 (grub_search_init): Update help message.
14485 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
14486 and redeclare it as an array of 16-bit words.
14487 (grub_ext2_uuid): New function.
14488 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
14489 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
14490 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
14491 (GRUB_DEVICE_BOOT_UUID): New variables.
14492 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
14493 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
14494 whenever possible.
14495 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
14496 just assume `root' variable has the right value.
14497 * util/grub.d/10_linux.in: Likewise.
14498 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
14499 via PRINT_FS_UUID.
14500 (main): Recognise `-t fs_uuid' argument.
14501
01b73ec8 145022008-05-30 Robert Millan <rmh@aybabtu.com>
14503
14504 * util/biosdisk.c (map): Redefine structure to hold information
14505 about GRUB drive name.
fe6b695a 14506 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 14507 drive names.
14508 (call_hook): Remove.
14509 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
14510 member. Assume drive has partitions.
14511 (grub_util_biosdisk_open): Access device names via `.device' struct
14512 member.
14513 (open_device): Likewise.
14514 (find_drive): Likewise.
14515 (read_device_map): Adjust map[] usage to match the new struct
14516 definition. Don't check for duplicates (still possible, but not cheap
14517 anymore).
14518 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
14519 (make_device_name): Remove assumption of BIOS-like drive names.
14520
22f16596 145212008-05-30 Pavel Roskin <proski@gnu.org>
14522
14523 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
14524 compiling execute.c doesn't need grub_script.tab.h anymore.
14525 (normal/command.c_DEPENDENCIES): Likewise.
14526 (normal/function.c_DEPENDENCIES): Likewise.
14527 * conf/i386-ieee1275.rmk: Likewise.
14528 * conf/i386-linuxbios.rmk: Likewise.
14529 * conf/i386-pc.rmk: Likewise.
14530 * conf/powerpc-ieee1275.rmk: Likewise.
14531 * conf/sparc64-ieee1275.rmk: Likewise.
14532
528ad8f2 145332008-05-29 Pavel Roskin <proski@gnu.org>
14534
d1dff95d 14535 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
14536 when scanning metadata for volume group name.
14537
528ad8f2 14538 * include/grub/script.h: Don't include grub_script.tab.h. It's
14539 a generated file, which may only be included from the files with
14540 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
14541 use union YYSTYPE, as the later allows forward declaration.
14542 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
14543
47248e08 145442008-05-29 Robert Millan <rmh@aybabtu.com>
14545
14546 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
14547 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
14548 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
14549 (grub_console_checkkey): Add grub_dprintf() call to report unknown
14550 scan codes.
14551
ee632529 145522008-05-29 Robert Millan <rmh@aybabtu.com>
14553
14554 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
14555 control key combinations.
14556
eee96e08 145572008-05-29 Robert Millan <rmh@aybabtu.com>
14558
14559 * util/powerpc/ieee1275/grub-install.in: Move from here ...
14560 * util/ieee1275/grub-install.in: ... to here.
14561 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
14562 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
14563 (grub_install_SOURCES): Likewise.
14564
da9a6a94 145652008-05-29 Robert Millan <rmh@aybabtu.com>
14566
14567 * fs/affs.c: Update copyright year.
14568 * fs/ext2.c: Likewise.
14569 * fs/fshelp.c: Likewise.
14570 * fs/hfsplus.c: Likewise.
14571 * fs/ntfs.c: Likewise.
14572 * fs/xfs.c: Likewise.
14573 * include/grub/fshelp.h: Likewise.
14574 * util/grub-mkdevicemap.c: Likewise.
14575
12e65f3a 145762008-05-28 Robert Millan <rmh@aybabtu.com>
14577
14578 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
14579 might need to be fatfs to support some firmware implementations
14580 (e.g. OFW or EFI).
14581
23023641 145822008-05-28 Robert Millan <rmh@aybabtu.com>
14583
14584 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
14585 devices.
14586 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14587 (make_device_map): Likewise.
14588
887d2619 145892008-05-20 Bean <bean123ch@gmail.com>
14590
14591 * fs/fshelp.c (grub_fshelp_map_block): New function.
14592 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
14593 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
14594
14595 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
14596 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
14597 (grub_fshelp_journal): New structure.
14598 (grub_fshelp_map_block): New function prototype.
14599 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
14600 (grub_fshelp_map_block): Likewise.
14601
14602 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
14603 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
14604 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
14605 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
14606 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
14607 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
14608 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
14609 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
14610 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14611 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14612 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14613 (grub_ext2_sblock): New members for journal support.
14614 (grub_ext3_journal_header): New structure.
14615 (grub_ext3_journal_revoke_header): Likewise.
14616 (grub_ext3_journal_block_tag): Likewise.
14617 (grub_ext3_journal_sblock): Likewise.
14618 (grub_fshelp_node): New members logfile and journal.
14619 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14620 grub_fshelp_map_block to get real block number.
14621 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14622 number.
14623 (grub_ext2_read_inode): Likewise.
14624 (grub_ext3_get_journal): New function.
14625 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14626 (grub_ext2_close): Release memory used by journal.
14627
14628 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14629 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14630 (grub_reiserfs_transaction_header): Renamed to
14631 grub_reiserfs_description_block, replace field data with real_blocks.
14632 (grub_reiserfs_commit_block): New structure.
14633 (grub_reiserfs_data): New member journal.
14634 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14635 number.
14636 (grub_reiserfs_read_symlink): Likewise.
14637 (grub_reiserfs_iterate_dir): Likewise.
14638 (grub_reiserfs_open): Likewise.
14639 (grub_reiserfs_read): Likewise.
14640 (grub_reiserfs_get_journal): New function.
14641 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14642 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14643 using grub_reiserfs_get_journal.
14644 (grub_reiserfs_close): Release memory used by journal.
14645
14646 * fs/affs.c (grub_affs_read_block): Change block type to
14647 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14648
14649 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14650
14651 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14652
14653 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14654
14655 * fs/udf.c (grub_udf_read_block): Change block type to
14656 grub_disk_addr_t. Use type cast to avoid warning.
14657
14658 * fs/xfs.c (grub_xfs_read_block): Likewise.
14659
b7c6bed5 146602008-05-16 Christian Franke <franke@computer.org>
14661
14662 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14663 to ensure that break with ESC will always work.
14664 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14665 Remove ESC from keyboard queue.
14666
eedf167f 146672008-05-16 Christian Franke <franke@computer.org>
14668
14669 * util/biosdisk.c: [__CYGWIN__] Add includes.
14670 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14671 (get_os_disk): Move variable declarations to OS specific
14672 parts to avoid warning.
14673 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14674 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14675 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14676 Cygwin.
14677 * util/getroot.c: [__CYGWIN__] Add includes.
14678 (strip_extra_slashes): Fix "/" case.
14679 [__CYGWIN__] (get_win32_path): New function.
14680 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14681 [__CYGWIN__] (find_root_device): Disable.
14682 [__CYGWIN__] (get_bootsec_serial): New function.
14683 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14684 [__linux__] (grub_guess_root_device): Add early returns to simplify
14685 structure.
14686 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14687 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14688 check for Linux only.
14689
a079699e 146902008-05-15 Bean <bean123ch@gmail.com>
14691
14692 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14693 keyboard hang problem in apple's intel mac.
14694
1cf4059a 146952008-05-09 Robert Millan <rmh@aybabtu.com>
14696
14697 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14698 devices.
14699 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14700 (make_device_map): Likewise.
14701 Reported by Aurelien Jarno <aurel32@debian.org>
14702
ed759390 147032008-05-07 Ian Campbell <ijc@hellion.org.uk>
14704
14705 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14706 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14707 (make_device_map): Output entries for xvd type disks.
14708
b56c4eaa 147092008-05-07 Robert Millan <rmh@aybabtu.com>
14710
14711 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14712 devices.
14713 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14714 (make_device_map): Likewise.
14715 Reported by Roland Dreier <rdreier@cisco.com>
14716
7f8866ed 147172008-05-07 Robert Millan <rmh@aybabtu.com>
14718
14719 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14720 grub_strstr() call. Correct a few mistakes in failure path handling.
14721
b0346e0f 147222008-05-06 Robert Millan <rmh@aybabtu.com>
14723
14724 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14725 Do not print a trailing slash (therefore, the root directory is an
14726 empty string).
14727 (convert_system_path_to_grub_path): Do not remove trailing slash
14728 from make_system_path_relative_to_its_root() output.
14729
14730 * util/i386/pc/grub-install.in: Add trailing slash to output from
14731 make_system_path_relative_to_its_root().
14732
6cf12cbd 147332008-05-06 Robert Millan <rmh@aybabtu.com>
14734
14735 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14736 ensures that output lines aren't intermangled with those sent to
14737 stderr (via grub_util_info()).
14738 * util/grub-probe.c (grub_refresh): Likewise.
14739 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14740
0fbb3117 147412008-05-05 Christian Franke <franke@computer.org>
14742
14743 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14744 Add Cygwin device names.
14745 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14746 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14747 (check_device): Return error instead of success on empty name.
14748 (make_device_map): Move label inside linux specific code to
14749 prevent compiler warning.
14750
8124cdb7 147512008-04-30 Robert Millan <rmh@aybabtu.com>
14752
14753 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14754 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14755 first boot option.
14756 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14757
094c01d0 147582008-04-29 Robert Millan <rmh@aybabtu.com>
14759
14760 * docs/grub.cfg: New file (example GRUB configuration).
14761
f4b1fc02 147622008-04-26 Robert Millan <rmh@aybabtu.com>
14763
329ce2a5 14764 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14765 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14766 and `disk/ieee1275/nand.c'.
f4b1fc02 14767
25f16ec1 147682008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 14769
25f16ec1 14770 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14771 i386-linuxbios.
14772
14773 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14774 change the buffer size to 4096 for cdrom device.
14775
14776 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14777 and nand.mod.
14778 (_linux_mod_SOURCES): New variable.
14779 (_linux_mod_CFLAGS): Likewise.
14780 (_linux_mod_LDFLAGS): Likewise.
14781 (linux_mod_SOURCES): Likewise.
14782 (linux_mod_CFLAGS): Likewise.
14783 (linux_mod_LDFLAGS): Likewise.
14784 (nand_mod_SOURCES): Likewise.
14785 (nand_mod_CFLAGS): Likewise.
14786 (nand_mod_LDFLAGS): Likewise.
14787
14788 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
14789 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
14790 type property. (nand device in olpc don't have this property)
14791
14792 * include/grub/disk.h (grub_disk_dev_id): New macro
14793 GRUB_DISK_DEVICE_NAND_ID.
14794
14795 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
14796 function prototype.
14797 (grub_rescue_cmd_initrd): Likewise.
14798
14799 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14800 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14801 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14802
25f16ec1 14803 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14804 GRUB_MACHINE_IEEE1275 is defined.
14805
14806 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14807 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14808
14809 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14810 on nested function heap_init.
14811 (grub_upper_mem): New variable for i386-ieee1275.
14812 (grub_get_extended_memory): New function for i386-ieee1275.
14813 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14814
14815 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14816 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14817 property.
f19dbdb7 14818
25f16ec1 14819 * loader/i386/ieee1275/linux.c: New file.
14820
14821 * loader/i386/ieee1275/linux_normal.c: New file.
14822
14823 * disk/ieee1275/nand.c: New file.
14824
e89d61e9 148252008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14826
14827 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14828 value.
14829 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14830
602566f6 148312008-04-18 Robert Millan <rmh@aybabtu.com>
14832
14833 Restructures early code path on ieee1275 to unify grub_main() as
14834 the first C function that is executed in every platform.
14835
14836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14837 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14838 cmain().
14839 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14840 * kern/ieee1275/cmain.c (cmain): Rename to ...
14841 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14842 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14843 at the beginning.
14844
57490c2b 148452008-04-18 Robert Millan <rmh@aybabtu.com>
14846
14847 * util/update-grub.in: Fix syntax error when setting
14848 `GRUB_PRELOAD_MODULES'.
14849 Reported by Stephane Chazelas <stephane@artesyncp.com>
14850
1977517d 148512008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14852
14853 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14854 section into account, newer toolchains generate unique build ids
14855 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14856 we want build ids to be preserved
1977517d 14857 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14858 far from other sections don't cause the raw binary images grow
14859 size
14860
bfb1f1a2 148612008-04-15 Robert Millan <rmh@aybabtu.com>
14862
14863 * disk/lvm.c: Update copyright year.
14864 * kern/misc.c: Likewise.
14865
01979850 148662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14867
14868 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 14869 there is no memory left for physical volume name.
01979850 14870
0a1150e2 148712008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14872
14873 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
14874 volume name mapping to support bigger than 9 character names properly.
14875
82ead3fe 148762008-04-13 Robert Millan <rmh@aybabtu.com>
14877
14878 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
14879 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
14880
e54a72f5 148812008-04-13 Christian Franke <franke@computer.org>
14882
14883 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
14884 to create a floppy emulation boot CD when non emulation mode
14885 does not work.
14886 Enable Joliet CD filesystem extension.
14887
9fe86034 148882008-04-13 Robert Millan <rmh@aybabtu.com>
14889
14890 * kern/misc.c (grub_strncat): Fix off-by-one error.
14891 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
14892
14893 * kern/env.c (grub_env_context_close): Clear current context, not
14894 previous one.
14895 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
14896
14897 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
14898
7ceeee39 148992008-04-13 Robert Millan <rmh@aybabtu.com>
14900
14901 Improve robustness when handling LVM.
14902
14903 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 14904 (and leave `*p' unmodified).
7ceeee39 14905 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
14906 through it.
14907 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
14908 iterating through it.
14909 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
14910 through it.
fe6b695a 14911 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 14912 when due) on each grub_lvm_getvalue() or grub_strstr() call.
14913 Don't assume `vg->pvs != NULL' when iterating through it.
14914
58cd3d85 149152008-04-13 Robert Millan <rmh@aybabtu.com>
14916
14917 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
14918 * genmk.rb (partmap): New variable.
14919 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
14920 (#{partmap}): New target rule.
14921 * genpartmaplist.sh: New file.
14922 * Makefile.in (pkglib_DATA): Add partmap.lst.
14923 (partmap.lst): New target rule.
14924 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
14925 modules (including all partition maps), instead of preloading them.
14926
78b51059 149272007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
14928
14929 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
14930 `linux-boot-prober' (if installed) to detect other operating
14931 systems which are installed on the computer and add them to
14932 the boot menu.
14933 * conf/common.rmk: Build and install 30_os-prober.
14934
a91627b4 149352008-04-12 Robert Millan <rmh@aybabtu.com>
14936
14937 * kern/powerpc/ieee1275/init.c: Move from here ...
14938 * kern/ieee1275/init.c: ... to here. Update all users.
14939
14940 * kern/powerpc/ieee1275/cmain.c: Move from here ...
14941 * kern/ieee1275/cmain.c: ... to here. Update all users.
14942
14943 * kern/powerpc/ieee1275/openfw.c: Move from here ...
14944 * kern/ieee1275/openfw.c: ... to here. Update all users.
14945
14946 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
14947 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
14948
322562ea 149492008-04-10 Pavel Roskin <proski@gnu.org>
14950
14951 * configure.ac: Always use "_cv_" in cache variables for
14952 compatibility with Autoconf 2.62.
14953
a02a73c5 149542008-04-07 Robert Millan <rmh@aybabtu.com>
14955
14956 Revert grub/machine/init.h addition by Pavel (since it breaks on
14957 i386-ieee1275 and others):
14958 * util/i386/pc/misc.c: Remove grub/machine/init.h.
14959 * util/powerpc/ieee1275/misc.c: Likewise.
14960
25c024b1 149612008-04-07 Robert Millan <rmh@aybabtu.com>
14962
14963 * util/grub-probe.c (probe): Improve error message.
14964
3cbd2f98 149652008-04-07 Robert Millan <rmh@aybabtu.com>
14966
14967 * util/biosdisk.c (read_device_map): Skip devices that don't exist
14968 (this prevents the presence of a bogus entry from ruining the whole
14969 thing).
14970
87a297bf 149712008-04-06 Pavel Roskin <proski@gnu.org>
14972
36747a62 14973 * util/biosdisk.c: Include grub/util/biosdisk.h.
14974 * util/grub-fstest.c (execute_command): Make static.
14975 * util/grub-mkdevicemap.c (check_device): Likewise.
14976 * util/i386/pc/misc.c: Include grub/machine/init.h.
14977 * util/powerpc/ieee1275/misc.c: Likewise.
14978 * util/lvm.c: Include grub/util/lvm.h.
14979 * util/misc.c: Include grub/kernel.h, grub/misc.h and
14980 grub/cache.h.
14981 * util/raid.c: Include grub/util/raid.h.
14982 (grub_util_getdiskname): Make static.
14983
87a297bf 14984 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
14985 grub_hostfs_fini(), as they are called from grub_init_all() and
14986 grub_fini_all() respectively. This fixes an infinite loop in
14987 grub-fstest due to double registration of hostfs.
14988 Reported by Christian Franke <Christian.Franke@t-online.de>
14989
f6ce7629 149902008-04-05 Pavel Roskin <proski@gnu.org>
14991
14992 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
14993 all 8 functions. Otherwise, probe function 0 only.
14994
070e49e4 149952008-04-04 Pavel Roskin <proski@gnu.org>
14996
8b088a4c 14997 * commands/lspci.c (grub_lspci_iter): Print the bus number
14998 correctly.
14999
4f657021 15000 * commands/lspci.c (grub_pci_classes): Fix typos.
15001 (grub_lspci_iter): Don't print func twice. Print vendor ID
15002 before device ID, as it's normally done.
15003
070e49e4 15004 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15005 Fix signedness warnings.
15006 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15007 Likewise.
15008 * util/ieee1275/get_disk_name.c: Include config.h so that
15009 _GNU_SOURCE is defined and getline() is declared. Mark an
15010 unused argument as such. Fix a signedness warning.
15011
ba7328dc 150122008-04-02 Pavel Roskin <proski@gnu.org>
15013
26887f22 15014 * genkernsyms.sh.in: Use more robust assignments for CC and
15015 srcdir. Quote srcdir.
15016 * gensymlist.sh.in: Likewise. Assert at the compile time that
15017 the symbol table is not empty.
15018
ba7328dc 15019 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15020 * fs/cpio.c (grub_cpio_read): Likewise.
15021
0f582c6b 150222008-04-01 Pavel Roskin <proski@gnu.org>
15023
4b6e1995 15024 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15025 * disk/host.c (grub_host_open): Likewise.
15026 * disk/loopback.c (grub_loopback_open): Likewise.
15027 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15028 disk->id as in disk/host.c, not a multi-character constant.
15029
828a2768 15030 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15031 later is obsolete, potentially dangerous and sets a bad example.
15032 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15033 * util/misc.c (grub_util_get_image_size): Likewise.
15034
2bb4fb47 15035 * disk/loopback.c (options): Improve help for "--partitions".
15036
0f582c6b 15037 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15038 options to align them with the short options, e.g. "echo -e".
15039
a33224e0 150402008-03-31 Bean <bean123ch@gmail.com>
15041
15042 * video/reader/png.c (grub_png_data): New member is_16bit and
15043 image_data.
15044 (grub_png_decode_image_header): Detect 16 bit png image.
15045 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15046 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15047 (grub_video_reader_png): Release memory occupied by image_data.
15048
15049 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15050 4096 bytes.
15051 (grub_nfs_mount): Skip the test for sector per cluster.
15052
15053 * include/grub/ntfs.h (MAX_SPC): Removed.
15054
86cb4f54 150552008-03-31 Bean <bean123ch@gmail.com>
15056
15057 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15058 (grub_probe_SOURCES): Add fs/afs.c.
15059 (grub_fstest_SOURCES): Likewise.
15060 (afs_mod_SOURCES): New variable.
15061 (afs_mod_CFLAGS): Likewise.
15062 (afs_mod_LDFLAGS): Likewise.
15063
15064 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15065 (grub_emu_SOURCES): Likewise.
15066
15067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15068
15069 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15070
15071 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15072
15073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15074
15075 * fs/afs.c: New file.
15076
17c74c21 150772008-03-30 Pavel Roskin <proski@gnu.org>
15078
4cb68e89 15079 * disk/host.c: Include grub/misc.h to fix a warning.
15080 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15081 warnings about implicit declarations.
15082
8790bb04 15083 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15084 variable.
15085 * include/grub/i386/loader.h: Change declaration of
15086 grub_linux_boot() to match what grub_loader_set() expects.
15087 * util/getroot.c (grub_guess_root_device): Return const char* to
15088 fix a warning.
15089 * util/grub-probe.c (probe): Fix a warning about uninitialized
15090 abstraction_name variable.
15091 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15092 second argument as unused to fix a warning.
15093
9a3f3296 15094 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15095 missing grub_error() call.
15096
0ecef90d 15097 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15098 2.60 and newer uses it to define datadir.
15099
0bf6d401 15100 * commands/sleep.c: Fix warning about implicit declaration.
15101 * disk/memdisk.c: Likewise.
15102 * loader/aout.c: Likewise.
15103 * loader/i386/bsd_normal.c: Likewise.
15104 * util/grub-probe.c: Likewise.
15105
7cdacf97 15106 * commands/i386/cpuid.c (has_longmode): Make static.
15107 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15108 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15109
17c74c21 15110 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15111 GDT. This is more robust, as %ds can change.
15112 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15113 calling real_to_prot().
15114 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15115
80a3e68b 151162008-03-28 Pavel Roskin <proski@gnu.org>
15117
15118 * kern/i386/pc/startup.S: Assert that uncompressed functions
15119 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15120 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15121 code, as they push parts of the code (error handlers) beyond
15122 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15123 code as correctness and size.
15124
77bcd272 151252008-03-28 Pavel Roskin <proski@gnu.org>
15126
15127 * kern/i386/pc/startup.S
15128 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15129 data block address to the real mode, keep offset minimal. This
15130 works around a bug in AWARD BIOS on old Athlon systems, which
15131 makes CD detection hang.
15132
c5dfd43b 151332008-03-26 Pavel Roskin <proski@gnu.org>
15134
15135 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15136 const.
15137 * include/grub/normal.h: Add grub_parse_color_name_pair()
15138 declaration.
15139
bf962df2 151402008-03-24 Bean <bean123ch@gmail.com>
15141
15142 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15143 (cd_count): Removed.
15144 (cd_drive): New variable.
15145 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15146 (grub_biosdisk_call_hook): Likewise.
15147 (grub_biosdisk_iterate): Change cdrom detection method.
15148 (grub_biosdisk_open): Replace cd_start with cd_drive.
15149 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15150 detect cdrom device.
15151
15152 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15153 Removed.
15154 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15155 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15156 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15157 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15158 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15159 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15160 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15161 (grub_biosdisk_cdrp): New structure.
15162 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15163
15164 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15165
15166 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15167 device.
15168
15169 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15170 New function.
15171
68e7fc7a 151722008-03-20 Robert Millan <rmh@aybabtu.com>
15173
15174 Remove 2 TiB limit in ata.mod.
15175 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15176 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15177 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15178 grub_uint64_t instead of grub_uint32_t.
15179
38ad2cf5 151802008-03-05 Bean <bean123ch@gmail.com>
15181
15182 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15183 (grub_multiboot): Set boot device.
15184
15185 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15186
2b89344e 151872008-03-02 Bean <bean123ch@gmail.com>
15188
15189 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15190 symlink_buffer.
15191
87a95d1f 151922008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15193
15194 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15195 texinfo.tex.
15196
15197 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15198 modified.
15199
15200 * docs/fdl.texi: New file.
f19dbdb7 15201
87a95d1f 15202 * docs/mdate-sh: New file. Copied from gnulib.
15203 * docs/texinfo.tex: Likewise.
15204
15205 * config.guess: Updated from gnulib.
15206 * install-sh: Likewise.
15207
7dc15d8e 152082008-02-28 Robert Millan <rmh@aybabtu.com>
15209
15210 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15211 (aout_mod_SOURCES): New variable.
15212 (aout_mod_CFLAGS): Likewise.
15213 (aout_mod_LDFLAGS): Likewise.
15214
15215 * conf/i386-ieee1275.rmk: Likewise.
15216
b00ab696 152172008-02-28 Robert Millan <rmh@aybabtu.com>
15218
15219 * util/update-grub.in: Reorganise terminal validity check. Accept
15220 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15221 Based on suggestion by Franklin PIAT.
15222
79ca2d78 152232008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15224
15225 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15226 function.
15227 * util/getroot.c (grub_util_check_block_device): New function that
15228 returns the given argument if it is a block device and returns NULL else.
15229 * util/grub-probe.c (argument_is_device): New variable.
15230 (probe): Promote device_name from a variable to an argument. Receive
15231 device_name from grub_util_check_block_device() if path is NULL and from
15232 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15233 (options): Introduce new parameter '-d, --device'.
79ca2d78 15234 (main): Add description of the new parameter to the help screen.
15235 Rename path variable to argument. Set argument_is_device if the '-d'
15236 option is given. Pass argument to probe() depending on
15237 argument_is_device.
15238
0d16e571 152392008-02-24 Bean <bean123ch@gmail.com>
15240
15241 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15242 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15243 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15244 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15245 (GRUB_ISO9660_VOLDESC_END): Likewise.
15246 (grub_iso9660_primary_voldesc): New member escape.
15247 (grub_iso9660_data): New member joliet.
15248 (grub_iso9660_convert_string): New function.
15249 (grub_iso9660_mount): Detect joliet extension.
15250 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15251 (grub_iso9660_iso9660_label): Likewise.
15252
15253 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15254 (grub_setup_SOURCES): Add fs/udf.c.
15255 (grub_fstest_SOURCES): Likewise.
15256 (udf_mod_SOURCES): New variable.
15257 (udf_mod_CFLAGS): Likewise.
15258 (udf_mod_LDFLAGS): Likewise.
15259
15260 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15261 (grub_emu_SOURCES): Likewise.
15262
15263 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15264
15265 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15266
15267 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15268
15269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15270
15271 * fs/udf.c: New file.
15272
8a594a17 152732008-02-24 Robert Millan <rmh@aybabtu.com>
15274
15275 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15276 (normal/lexer.c_DEPENDENCIES): New variables.
15277 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15278 (normal/lexer.c_DEPENDENCIES): Likewise.
15279 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15280 (normal/lexer.c_DEPENDENCIES): Likewise.
15281 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15282 (normal/lexer.c_DEPENDENCIES): Likewise.
15283 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15284 (normal/lexer.c_DEPENDENCIES): Likewise.
15285 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15286 (normal/lexer.c_DEPENDENCIES): Likewise.
15287
2dc33c03 152882008-02-23 Robert Millan <rmh@aybabtu.com>
15289
15290 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15291 since they were intended to be in hex. This didn't break previously
15292 because of a bug in gpt_partition_map_iterate() (see below).
15293
15294 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15295 when checking the validity of GPT header.
15296 Remove `partno', since it always provides the same information as `i'.
15297
f6f4cfb0 152982008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15299
15300 * include/grub/efi/time.h: Fix a wrong comment.
15301
79ff665f 153022008-02-19 Pavel Roskin <proski@gnu.org>
15303
15304 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15305 message.
15306
d38e24c2 153072008-02-19 Bean <bean123ch@gmail.com>
15308
15309 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15310 (aout_mod_SOURCES): New variable.
15311 (aout_mod_CFLAGS): Likewise.
15312 (aout_mod_LDFLAGS): Likewise.
15313 (_bsd_mod_SOURCES): New variable.
15314 (_bsd_mod_CFLAGS): Likewise.
15315 (_bsd_mod_LDFLAGS): Likewise.
15316 (bsd_mod_SOURCES): New variable.
15317 (bsd_mod_CFLAGS): Likewise.
15318 (bsd_mod_LDFLAGS): Likewise.
15319
15320 * include/grub/aout.h: New file.
15321
15322 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
15323
15324 * include/grub/i386/bsd.h: New file.
15325
15326 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
15327 to make it public.
15328
15329 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
15330 function is called, so that it's possible to change it inside the hook.
15331 (grub_elf64_load): Likewise.
15332 (grub_elf_file): Don't close the file if elf header is not found.
15333 (grub_elf_close): Close the file if grub_elf_file fails (The new
15334 grub_elf_file won't close it).
15335 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
15336 (grub_elf64_size): Likewise.
15337
15338 * kern/i386/loader.S (grub_unix_real_boot): New function.
15339
15340 * loader/aout.c: New file.
15341
15342 * loader/i386/bsd.c: New file.
15343
15344 * loader/i386/bsd_normal.c: New file.
15345
15346 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
15347
15348 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 15349 can test other formats.
d38e24c2 15350
b93bdb0f 153512008-02-19 Robert Millan <rmh@aybabtu.com>
15352
15353 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
15354 (grub_gpt_partition_type_empty): Redefine with macro from
15355 `<grub/gpt_partition.h>'.
15356 (gpt_partition_map_iterate): Adjust partition type comparison.
15357
15358 Export `entry' as partmap-specific `part.data' struct.
15359 (grub_gpt_header, grub_gpt_partentry): Move from here ...
15360
15361 * include/grub/gpt_partition.h (grub_gpt_header)
15362 (grub_gpt_partentry): ... to here (new file).
15363
15364 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
15365
15366 (grub_gpt_partition_type_bios_boot): New const variable, defined
15367 with macro from `<grub/gpt_partition.h>'.
15368
15369 (setup): Replace `first_start' with `embed_region', which keeps
15370 track of the embed region (and is partmap-agnostic).
15371
15372 Replace find_first_partition_start() with find_usable_region(),
15373 which finds a usable region for embedding using partmap-specific
15374 knowledge (supports PC/MSDOS and GPT).
15375
15376 Fix all assumptions that the embed region start at sector 1, using
15377 `embed_region.start' from now on. Similarly, use `embed_region.end'
15378 rather than `first_start' to calculate available size.
15379
15380 In grub_util_info() message, replace "into after the MBR" with an
15381 indication of the specific sector our embed region starts at.
15382
66cb40f6 153832008-02-19 Robert Millan <rmh@aybabtu.com>
15384
15385 * DISTLIST: Replace `commands/ieee1275/halt.c' and
15386 `commands/ieee1275/reboot.c' with `commands/halt.c' and
15387 `commands/reboot.c'.
15388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15389 (halt_mod_SOURCES): Likewise.
15390 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15391 (halt_mod_SOURCES): Likewise.
15392
b7202015 153932008-02-17 Christian Franke <franke@computer.org>
15394
15395 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
15396
32b0fc49 153972008-02-17 Robert Millan <rmh@aybabtu.com>
15398
15399 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15400 set `first_start' to 0 for non-PC/MSDOS partition maps.
15401
aca63502 154022008-02-16 Robert Millan <rmh@aybabtu.com>
15403
15404 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15405 do not assume partition map is PC/MSDOS before performing checks that
15406 are specific to that layout.
15407
0de8be86 154082008-02-13 Robert Millan <rmh@aybabtu.com>
15409
15410 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
15411 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
15412 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
15413
c3db8364 154142008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
15415
15416 * configure.ac: Only a cosmetic change on the handling of
15417 -fno-stack-protector.
15418
f714229e 154192008-02-12 Alexandre Boeglin <alex@boeglin.org>
15420
c3db8364 15421 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
15422 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
15423 reboot.c.
f714229e 15424 (grub_install_SOURCES): Add halt.mod and reboot.mod.
15425 (halt_mod_SOURCES): New variable.
15426 (halt_mod_CFLAGS): Likewise.
15427 (halt_mod_LDFLAGS): Likewise.
15428 (reboot_mod_SOURCES): Likewise.
15429 (reboot_mod_CFLAGS): Likewise.
15430 (reboot_mod_LDFLAGS): Likewise.
15431
c3db8364 15432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
15433 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
15434 reboot.c.
f714229e 15435 (halt_mod_SOURCES): Likewise.
15436 (reboot_mod_SOURCES): Likewise.
15437
c3db8364 15438 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
15439 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 15440 (reboot_mod_SOURCES): Likewise.
15441
15442 * commands/i386/pc/reboot.c: merge this file ...
15443
15444 * commands/ieee1275/reboot.c: ... and this file ...
15445
15446 * commands/reboot.c: ... to this file.
c3db8364 15447 Add some precompiler directive to include the correct header for
15448 each machine.
f714229e 15449
15450 * commands/ieee1275/halt.c: move this file ...
15451
15452 * commands/halt.c: ... to here.
c3db8364 15453 Add some precompiler directive to include the correct header for
15454 each machine.
f714229e 15455
15456 * include/grub/efi/efi.h (grub_reboot): New function declaration.
15457 (grub_halt): Likewise.
15458
15459 * kern/efi/efi.c (grub_reboot): New function.
15460 (grub_halt): Likewise.
15461
c74493e0 154622008-02-12 Robert Millan <rmh@aybabtu.com>
15463
15464 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
15465 /dev (like it is done for /dev/mapper). This doesn't provide support
15466 for EVMS, but at least it is now easy to identify the problem when it
15467 arises.
15468
d0db4b04 154692008-02-11 Robert Millan <rmh@aybabtu.com>
15470
15471 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
15472 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
15473 comparing it with -1, not 0.
15474
bf748642 154752008-02-10 Robert Millan <rmh@aybabtu.com>
15476
15477 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
15478 `disk/lvm.c'.
15479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15480 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15481
15482 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
15483 `disk/lvm.c' to the end of the list.
15484 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15485 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15486
b5db202a 154872008-02-10 Robert Millan <rmh@aybabtu.com>
15488
15489 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
15490 grub_print_error() instead. This will let user know why we're entering
15491 rescue mode.
15492 Based on suggestions from Sam Morris.
15493
83abee31 154942008-02-10 Alexandre Boeglin <alex@boeglin.org>
15495
15496 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
15497 on remaining N args, instead of "--" arg N times.
15498
78d5a08b 154992008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
15500
15501 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
15502 (fill_with_default_glyph): Changed to use unknown_glyph for fill
15503 pattern for unknown glyphs.
15504
68807e5f 155052008-02-09 Robert Millan <rmh@aybabtu.com>
15506
15507 * configure.ac: Probe for `help2man'.
15508 * Makefile.in (builddir): New variable.
15509 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
15510 or otherwise add a few flags/options to it.
15511 (install-local): For every executable utility or script that is
15512 installed, invoke $(HELP2MAN) to install a manpage based on --help
15513 output.
15514
15515 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
15516 that it doesn't prevent --help from working in build tree.
15517
15518 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
15519 with `bug-grub@gnu.org'.
15520 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
15521 * util/update-grub.in (usage): New function.
15522 Implement proper argument check, with support for --help and --version
15523 (as well as existing -y).
15524
155252008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 15526
15527 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
15528 avoid overwriting previous output.
15529 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
15530
c1962162 155312008-02-09 Robert Millan <rmh@aybabtu.com>
15532
15533 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
15534 drawing the menu.
15535
3dac2e3f 155362008-02-09 Robert Millan <rmh@aybabtu.com>
15537
15538 * commands/sleep.c: New file.
15539 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
15540 (sleep_mod_SOURCES): New variable.
15541 (sleep_mod_CFLAGS): Likewise.
15542 (sleep_mod_LDFLAGS): Likewise.
15543
7a634e08 155442008-02-09 Robert Millan <rmh@aybabtu.com>
15545
15546 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
15547 situations in which we can deduce the RAID size and the superblock
15548 doesn't match it.
15549
b92f0c18 155502008-02-09 Robert Millan <rmh@aybabtu.com>
15551
15552 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
15553 and return a grub_diskmemberlist_t composed of LVM physical volumes.
15554 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
15555
15556 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
15557 and return a grub_diskmemberlist_t composed of physical array members.
15558 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
15559
15560 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
15561 prototype.
15562 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
15563 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
15564 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
15565
15566 * util/grub-probe.c (probe): Move partmap probing code from here ...
15567 (probe_partmap): ... to here.
15568 (probe): Use probe_partmap() once for the disk we're probing, and
15569 additionally, when such disk contains a memberlist() struct member,
15570 once for each disk that is contained in the structure returned by
15571 memberlist().
15572
91a4bf68 155732008-02-09 Robert Millan <rmh@aybabtu.com>
15574
15575 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
15576 environment variable to 'all' in order to obtain debug output from
15577 non-util/ code.
15578 * util/i386/pc/grub-setup.c (main): Likewise.
15579
a96f9caa 155802008-02-08 Robert Millan <rmh@aybabtu.com>
15581
15582 * disk/raid.c (grub_raid_scan_device): Check for
15583 `array->device[sb.this_disk.number]' rather than for
15584 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 15585 guaranteed to be accessible.
a96f9caa 15586
b37a9222 155872008-02-08 Robert Millan <rmh@aybabtu.com>
15588
15589 * disk/raid.c: Update copyright.
15590 * fs/cpio.c: Likewise.
15591 * include/grub/raid.h: Likewise.
15592 * loader/i386/pc/multiboot.c: Likewise.
15593 * util/hostfs.c: Likewise.
15594
5626aee1 155952008-02-08 Robert Millan <rmh@aybabtu.com>
15596
15597 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
15598 to a grub_disk_t array.
15599 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
15600 `device[x]'.
15601 (grub_raid_scan_device): Replace `device[x].name' accesses with
15602 `device[x]->name'. Simplify initialization of `array->device[x]'.
15603
554f0187 156042008-02-08 Robert Millan <rmh@aybabtu.com>
15605
15606 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
15607 grub_dprintf() calls.
15608 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
15609 error message.
15610
1ec8425d 156112008-02-07 Christian Franke <franke@computer.org>
15612
15613 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15614 instead of fseek and ftell to support large files.
15615 (grub_hostfs_read): Likewise.
15616
f2156fda 156172008-02-07 Robert Millan <rmh@aybabtu.com>
15618
15619 Patch from Jeroen Dekkers.
15620 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 15621 failure, since successfully reading all array members might not be
f2156fda 15622 required.
15623
9216e0e7 156242008-02-06 Robert Millan <rmh@aybabtu.com>
15625
15626 * util/grub-probe.c (probe): Simplify partmap probing (with the
15627 assumption that the first word up to the underscore equals to
15628 the module name).
15629
b0dfd29a 156302008-02-06 Christian Franke <franke@computer.org>
15631
15632 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15633 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15634 last block of a cpio or tar stream.
15635 Check for "TRAILER!!!" instead of any empty data
15636 block to detect last block of a cpio stream.
15637 (grub_cpio_dir): Fix constness of variable np.
15638 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15639 cpio or tar trailer is detected. This fixes a crash
15640 on open of a non existing file.
15641
c32865bf 156422008-02-05 Bean <bean123ch@gmail.com>
15643
15644 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15645 address of entry.
15646 (grub_multiboot_load_elf64): Likewise.
15647 (grub_multiboot): Initialize mbi structure.
15648
15649 * util/grub-fstest.c: Don't include unused header file script.h.
15650
fe6b695a 15651 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15652 of file.
15653 (grub_fstest_SOURCES): Likewise.
15654
409480b7 156552008-02-05 Robert Millan <rmh@aybabtu.com>
15656
15657 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15658 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15659 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15660 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15661
15662 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15663 (translation_table): Replace hardcoded values with macros
15664 provided by `<grub/term.h>'.
15665
15666 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15667 (keyboard_map): Correct/add a few values, with macros provided
15668 by `<grub/term.h>'.
15669 (keyboard_map_shift): Zero values that don't differ from their
15670 `keyboard_map' equivalents.
15671 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15672 Discard the second scan code that is always sent by Caps lock.
15673 Only use `keyboard_map_shift' when it provides a non-zero value,
15674 otherwise fallback to `keyboard_map'.
15675
99fadbaa 156762008-02-04 Bean <bean123ch@gmail.com>
15677
15678 * Makefile.in (enable_grub_fstest): New variable.
15679
15680 * conf/common.rmk (grub_fstest_init.lst): New rule.
15681 (grub_fstest_init.h): Likewise.
15682 (grub_fstest_init.c): Likewise.
15683 (util/grub-fstest.c_DEPENDENCIES): New variable.
15684 (grub_fstest_SOURCES): Likewise.
15685
15686 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15687
15688 * util/grub-fstest.c: New file.
15689
bf567c50 156902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15691
15692 Make grub-setup handle a separate root device.
f19dbdb7 15693
bf567c50 15694 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15695 so that the root device can be compared with the destination
15696 device.
15697 When embedding the core image, if the root and destination devices
15698 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15699 0xFF.
15700 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 15701
9be6b98b 157022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15703
15704 Add support for having a grub directory in a different drive. This
15705 is still only the data handling part.
f19dbdb7 15706
9be6b98b 15707 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15708 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15709 (grub_root_drive): New variable.
15710
15711 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15712 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15713 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15714 as it was.
15715
15716 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15717
15718 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15719 macro.
15720 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15721
15722 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15723 is bogus, because PXE booting does not specify any drive
15724 correctly.
15725
15726 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15727 am not sure if this is really correct.
15728
15729 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15730 is always identical to the boot drive when booting from a CD.
15731
15732 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15733 longer.
15734 (root_drive): New variable.
15735 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15736 (setup_sectors): Push %dx right after popping it, because %dh will
15737 be modified later.
15738 (copy_buffer): Restore %dx.
15739
e0ca0677 157402008-02-03 Robert Millan <rmh@aybabtu.com>
15741
15742 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15743 use `cdboot.img' for cdrom images.
15744
3b3f6629 157452008-02-03 Robert Millan <rmh@aybabtu.com>
15746
15747 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15748 only setup gfxterm when `font' command has succeeded.
15749
d42b3672 157502008-02-03 Robert Millan <rmh@aybabtu.com>
15751
15752 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15753 (grub_rescue_cmd_multiboot_loader)
15754 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15755
fa370ea6 157562008-02-03 Pavel Roskin <proski@gnu.org>
15757
e0c5dacb 15758 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 15759 %edx and %esi from stack only after grub_gate_a20() is called.
15760 grub_gate_a20() clobbers %edx.
15761
f2a76e1d 157622008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15763
15764 * configure.ac (AC_INIT): Bumped to 1.96.
15765
15766 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15767 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15768 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15769 video/readers/png.c.
15770
90fd32d1 157712008-02-03 Bean <bean123ch@gmail.com>
9be665dd 15772
15773 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15774 (cdboot_img_SOURCES): New variable.
15775 (cdboot_img_ASFLAGS): New variable.
15776 (cdboot_img_LDFLAGS): New variable.
15777
15778 * boot/i386/pc/cdboot.S: New file.
15779
15780 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15781 (cd_count): Likewise.
15782 (grub_biosdisk_get_drive): Add support for cd device.
15783 (grub_biosdisk_call_hook): Likewise.
15784 (grub_biosdisk_iterate): Likewise.
15785 (grub_biosdisk_open): Likewise.
15786 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
15787 (grub_biosdisk_rw): Support reading from cd device.
15788 (GRUB_MOD_INIT): Iterate cd devices.
15789
15790 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
15791 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
15792 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
15793
15794 * kern/i386/pc/init.c (make_install_device): Check for cd device.
15795
4020aa53 157962008-02-02 Robert Millan <rmh@aybabtu.com>
15797
15798 * commands/read.c: New file.
15799 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15800 (read_mod_SOURCES): New variable.
15801 (read_mod_CFLAGS): Likewise.
15802 (read_mod_LDFLAGS): Likewise.
15803
e03a1132 158042008-02-02 Robert Millan <rmh@aybabtu.com>
15805
15806 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15807 determining whether menu has to be displayed.
15808
58c69220 158092008-02-02 Marco Gerards <marco@gnu.org>
15810
15811 * bus/pci.c: New file.
15812
15813 * include/grub/pci.h: Likewise.
15814
15815 * include/grub/i386/pc/pci.h: Likewise.
15816
15817 * commands/lspci.c: Likewise.
15818
15819 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15820 `lspci.mod'.
15821 (pci_mod_SOURCES): New variable.
15822 (pci_mod_CFLAGS): Likewise.
15823 (pci_mod_LDFLAGS): Likewise.
15824 (lspci_mod_SOURCES): Likewise.
15825 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15826 (lspci_mod_LDFLAGS): Likewise.
58c69220 15827
c004e1b4 158282008-02-02 Bean <bean123ch@gmail.com>
15829
15830 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15831 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15832
15833 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15834 (grub_xfs_btree_node): New structure.
15835 (grub_xfs_btree_root): New structure.
15836 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15837 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15838 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15839 (GRUB_XFS_EXTENT_SIZE): Likewise.
15840 (grub_xfs_read_block): Support btree format type.
15841 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15842 Use directory block as basic unit.
15843
15844 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15845
15846 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15847 __attribute__ ((__regparm__ (1))).
15848
f95562bf 158492008-02-01 Robert Millan <rmh@aybabtu.com>
15850
15851 Correct a mistake in previous commit.
15852
15853 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15854 top.
15855 (normal/command.c_DEPENDENCIES): New variable.
15856
7d31f41f 158572008-02-01 Robert Millan <rmh@aybabtu.com>
15858
15859 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
15860 top.
15861 (normal/command.c_DEPENDENCIES): New variable.
15862 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
15863 * conf/i386-ieee1275.rmk: Likewise.
15864 * conf/i386-linuxbios.rmk: Likewise.
15865 * conf/i386-pc.rmk: Likewise.
15866 * conf/sparc64-ieee1275.rmk: Likewise.
15867 * conf/powerpc-ieee1275.rmk: Likewise.
15868 (grub_emu_SOURCES): Add `fs/fshelp.c'.
15869
15870 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
15871
60b6be74 158722008-02-01 Robert Millan <rmh@aybabtu.com>
15873
15874 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
15875 call at beginning of function.
15876
078522ab 158772008-01-31 Pavel Roskin <proski@gnu.org>
15878
15879 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 15880 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
15881 (grub_mkrescue_SOURCES): Likewise.
078522ab 15882 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
15883
ccaa8a5f 158842008-01-30 Robert Millan <rmh@aybabtu.com>
15885
15886 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
15887 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
15888 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
15889 (grub_probe_SOURCES): ... to here.
15890
15891 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
15892 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
15893 * conf/i386-ieee1275.rmk: Likewise.
15894 * conf/i386-linuxbios.rmk: Likewise.
15895 * conf/powerpc-ieee1275.rmk: Likewise.
15896
ae5a9cd7 158972008-01-30 Tristan Gingold <gingold@free.fr>
15898
15899 * kern/rescue.c: Silently accept empty lines.
15900
70bc2ef2 159012008-01-29 Bean <bean123ch@gmail.com>
15902
15903 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
15904 (real_code_2): Code cleanup and change comment style.
15905 (move_memory): Avoid using 32-bit address mode.
15906
6a4d50ea 159072008-01-29 Bean <bean123ch@gmail.com>
15908
15909 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
15910 (png_mod_SOURCES): New variable.
15911 (png_mod_CFLAGS): Likewise.
15912 (png_mod_LDFLAGS): Likewise.
15913
15914 * video/readers/png.c: New file.
15915
11cc30ac 159162008-01-28 Robert Millan <rmh@aybabtu.com>
15917
15918 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
15919 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
15920 `ifndef GRUB_MOD_GAP' hack.
15921 * util/elf/grub-mkimage.c (add_segments): Likewise.
15922
3abc589f 159232008-01-27 Robert Millan <rmh@aybabtu.com>
15924
15925 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
15926 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 15927 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 15928
e1907778 159292008-01-27 Robert Millan <rmh@aybabtu.com>
15930
15931 Get grub-emu to build again (including parallel builds).
15932
15933 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
15934 Split into ...
15935 (util/grub-emu.c_DEPENDENCIES): ... this, ...
15936 (normal/execute.c_DEPENDENCIES): ... this, ...
15937 (grub-emu_DEPENDENCIES): ... and this.
15938
15939 * conf/i386-efi.rmk: Likewise.
15940 * conf/i386-linuxbios.rmk: Likewise.
15941 * conf/i386-ieee1275.rmk: Likewise.
15942 * conf/powerpc-ieee1275.rmk: Likewise.
15943 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
15944
2216b101 159452008-01-27 Robert Millan <rmh@aybabtu.com>
15946
15947 * NEWS: Add a few items.
15948
f75172d9 159492008-01-27 Robert Millan <rmh@aybabtu.com>
15950
15951 Fix parallel builds with grub-emu. Based on earlier commit for
15952 grub-probe and grub-setup.
15953
15954 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15955 (util/grub-emu.c_DEPENDENCIES): ... this.
15956 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15957 (util/grub-emu.c_DEPENDENCIES): ... this.
15958 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15959 (util/grub-emu.c_DEPENDENCIES): ... this.
15960 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15961 (util/grub-emu.c_DEPENDENCIES): ... this.
15962 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15963 (util/grub-emu.c_DEPENDENCIES): ... this.
15964
3f51de77 159652008-01-27 Pavel Roskin <proski@gnu.org>
15966
15967 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
15968 to create a gap between _end and the modules added to the image
15969 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
15970 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
15971 * util/elf/grub-mkimage.c (add_segments): Likewise.
15972
2033f53e 159732008-01-26 Pavel Roskin <proski@gnu.org>
15974
15975 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
15976 just return an error.
15977
22da1f6f 159782008-01-26 Bean <bean123ch@gmail.com>
15979
15980 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
15981 (grub_reiserfs_get_item): Save offset of the next item.
15982 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
15983
2a9525e6 159842008-01-25 Robert Millan <rmh@aybabtu.com>
15985
15986 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
15987 make all filesystem sources appear together (possibly fixing omissions
15988 while at it).
15989 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15990 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15991 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15993
15994 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
15995 add `kern/file.c'.
15996 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15997 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15998 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15999 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16000
16001 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16002 (probe): Add a sanity check to make sure of our ability to read
16003 requested files when probing for filesystem type.
16004
16005 * genmk.rb: Update copyright year (2007).
16006
16007 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16008 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16009 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16010 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16011 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16012 : Remove function prototypes.
16013
b95f71b5 160142008-01-25 Robert Millan <rmh@aybabtu.com>
16015
16016 Revert my previous commits (based on wrong assumption of how grub_errno
16017 works).
16018
fe6b695a 16019 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16020 * kern/file.c (grub_file_open): Likewise.
16021
d08bbb49 160222008-01-24 Pavel Roskin <proski@gnu.org>
16023
16024 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16025 that hang if GRUB tries to setup colors.
16026 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16027 colors for firmwares that don't support it.
16028 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16029 Recognize Open Hack'Ware, set flags to work around its
16030 limitations.
16031
605e36ed 160322008-01-24 Robert Millan <rmh@aybabtu.com>
16033
16034 * kern/file.c (grub_file_open): Do not account previous failures of
16035 unrelated functions when grub_errno is checked for.
16036 Reported by Oleg Strikov.
16037
bac332a1 160382008-01-24 Bean <bean123ch@gmail.com>
16039
16040 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16041 (grub_ufs_sblock): New member volume name.
16042 (grub_ufs_find_file): Fix string copy bug.
16043 (grub_ufs_label): Implement this function properly.
16044
16045 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16046 (grub_hfs_iterate_records): Use the correct file number for extents
16047 and catalog file. Fix problem in next index calculation.
16048 (grub_hfs_find_node): Replace recursive function call with loop.
16049 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16050
15c80c09 160512008-01-23 Robert Millan <rmh@aybabtu.com>
16052
16053 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16054 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16055 (grub_multiboot2_real_boot): New function prototype.
16056
16057 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16058 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16059
16060 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16061 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16062
305338fd 160632008-01-23 Robert Millan <rmh@aybabtu.com>
16064
16065 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16066 #ifdef'ed out grub_printf().
16067
3ea52685 160682008-01-23 Robert Millan <rmh@aybabtu.com>
16069
16070 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16071 grub_dprintf calls, since they make "debug=all" mode unusable.
16072 (grub_console_checkkey): Likewise.
16073
5882ae4b 160742008-01-23 Robert Millan <rmh@aybabtu.com>
16075
16076 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16077 `term/i386/pc/at_keyboard.c'.
16078 (pkglib_MODULES): Add `serial.mod'.
16079 (serial_mod_SOURCES): New variable.
16080 (serial_mod_CFLAGS): Likewise.
16081 (serial_mod_LDFLAGS): Likewise.
16082
16083 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16084 `<grub/powerpc/ieee1275/console.h>'.
16085 (grub_keyboard_controller_init): New function prototype.
16086 (grub_console_checkkey): Likewise.
16087 (grub_console_getkey): Likewise.
16088
16089 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16090 keyboard on i386.
16091
16092 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16093 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16094
06ab5303 160952008-01-23 Robert Millan <rmh@aybabtu.com>
16096
16097 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16098 present, "(memdisk)/boot/grub" becomes the default prefix.
16099
16100 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16101 a memdisk tarball with all the modules. Add --overlay=DIR option that
16102 allows users to overlay additional files into the image.
16103
dbb475a4 161042008-01-23 Robert Millan <rmh@aybabtu.com>
16105
16106 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16107 and `machine/memory.h'.
16108 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16109 (_multiboot_mod_SOURCES): New variable.
16110 (_multiboot_mod_CFLAGS): Likewise.
16111 (_multiboot_mod_LDFLAGS): Likewise.
16112 (multiboot_mod_SOURCES): Likewise.
16113 (multiboot_mod_CFLAGS): Likewise.
16114 (multiboot_mod_LDFLAGS): Likewise.
16115
16116 * include/grub/i386/ieee1275/loader.h: New file.
16117
16118 * include/grub/i386/ieee1275/machine.h: Likewise.
16119
16120 * include/grub/i386/ieee1275/memory.h: Likewise.
16121
16122 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16123 variable declaration.
16124 (grub_os_area_size): Likewise.
16125
16126 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16127 (grub_lower_mem, grub_upper_mem): New variables.
16128 (grub_stop_floppy): New function (just to make
16129 grub_multiboot2_real_boot() happy).
16130
16131 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16132 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16133 (grub_stop): New function.
16134 Include `"../realmode.S"' and `"../loader.S"'.
16135
16136 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16137 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16138
16139 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16140 rely on grub_multiboot2_real_boot() for final boot.
16141
25638629 161422008-01-22 Robert Millan <rmh@aybabtu.com>
16143
16144 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16145 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16146 device that doesn't look like an SD card.
16147 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16148 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16149 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16150 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16151 found.
16152
9dad816d 161532008-01-22 Robert Millan <rmh@aybabtu.com>
16154
16155 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16156 avoid claiming over our own code.
16157
34842f2d 161582008-01-22 Bean <bean123ch@gmail.com>
16159
16160 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16161 (jpeg_mod_SOURCES): New variable.
16162 (jpeg_mod_CFLAGS): Likewise.
16163 (jpeg_mod_LDFLAGS): Likewise.
16164
16165 * video/readers/jpeg.c : New file.
16166
44023a28 161672008-01-22 Bean <bean123ch@gmail.com>
16168
16169 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16170 there are no more items.
16171
bc2d8ac6 161722008-01-21 Robert Millan <rmh@aybabtu.com>
16173
16174 * kern/mm.c (grub_mm_init_region): Improve debug message.
16175
261bd4bc 161762008-01-21 Robert Millan <rmh@aybabtu.com>
16177
16178 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16179 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16180 address.
16181 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16182 a C macro.
16183 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16184 Indicates start of upper memory.
16185 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16186 (generate_image): Abort when image size is big enough to corrupt
16187 upper memory.
16188
16189 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16190 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16191 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16192 instead of hardcoding 0xA0000.
16193 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16194 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16195 instead of hardcoding 0xA0000.
16196
f970b55e 161972008-01-21 Robert Millan <rmh@aybabtu.com>
16198
16199 * disk/memdisk.c (memdisk_size): New variable.
16200 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16201 `memdisk_size'.
16202 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16203 image to dynamic memory.
16204 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16205 `memdisk_size'. Free memdisk block.
16206
1a8b0526 162072008-01-21 Robert Millan <rmh@aybabtu.com>
16208
16209 Fix detection of very small filesystems (like tar).
16210
16211 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16212 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16213 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16214 a problem with this disk).
16215
6e9b4aab 162162008-01-21 Robert Millan <rmh@aybabtu.com>
16217
16218 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16219 on grub_biosdisk_rw_standard() error.
16220
0d8837b2 162212008-01-21 Robert Millan <rmh@aybabtu.com>
16222
16223 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16224 recent changes.
16225 * kern/elf.c: Likewise.
16226 * kern/ieee1275/ieee1275.c: Likewise.
16227 * kern/powerpc/ieee1275/openfw.c: Likewise.
16228 * term/ieee1275/ofconsole.c: Likewise.
16229
ffd36e34 162302008-01-21 Robert Millan <rmh@aybabtu.com>
16231
16232 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16233
3f0093d0 16234 * include/grub/kernel.h (grub_arch_memdisk_addr)
16235 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16236
3f0093d0 16237 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16238 (grub_arch_memdisk_size): ... to here.
ffd36e34 16239
6c391b21 162402008-01-21 Robert Millan <rmh@aybabtu.com>
16241
16242 Mostly based on bugfix from Bean.
16243
16244 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16245 attribute with hook() parameter.
16246 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16247 declaration.
16248 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16249 attribute with hook() parameter.
16250 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16251 declaration.
16252
55a581dc 162532008-01-21 Robert Millan <rmh@aybabtu.com>
16254
16255 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16256 (pkglib_MODULES): Add `memdisk.mod'.
16257 (memdisk_mod_SOURCES): New variable.
16258 (memdisk_mod_CFLAGS): Likewise.
16259 (memdisk_mod_LDFLAGS): Likewise.
16260
16261 * disk/memdisk.c: New file.
16262
16263 * include/grub/disk.h (grub_disk_dev_id): Add
16264 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16265
16266 * include/grub/i386/pc/kernel.h
16267 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16268 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16269 (grub_kernel_image_size): New variable declaration.
16270 (grub_total_module_size): Likewise.
16271 (grub_memdisk_image_size): Likewise.
16272
16273 * include/grub/i386/pc/memory.h
16274 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16275
16276 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16277 (grub_arch_memdisk_addr): New variable declaration.
16278 (grub_arch_memdisk_size): Likewise.
16279
16280 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16281 (grub_arch_memdisk_size): Likewise.
16282
16283 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16284 (codestart): Replace hardcoded `0x100000' with
16285 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16286
16287 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16288 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16289 not NULL, append the contents of the file it refers to, at the end of
16290 the compressed kernel image. Initialize `grub_memdisk_image_size'
16291 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16292 (options): Add "memdisk"|'m' option.
16293 (main): Parse --memdisk|-m option, and pass user-provided path as
16294 parameter to generate_image().
16295
3d7f54c9 162962008-01-20 Robert Millan <rmh@aybabtu.com>
16297
16298 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16299 grub_dprintf() calls from here ...
16300 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16301
0bf74728 163022008-01-20 Robert Millan <rmh@aybabtu.com>
16303
16304 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16305
16306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16307 declaration.
16308 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16309 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16310 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 16311 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 16312 property).
16313 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16314 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16315
33bf70a7 163162008-01-19 Robert Millan <rmh@aybabtu.com>
16317
fe6b695a 16318 Get rid of confusing function (superseded by
33bf70a7 16319 `grub_ieee1275_get_integer_property')
16320 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
16321 prototype.
16322 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
16323 function.
16324 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
16325 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 16326 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 16327
e2da7d26 163282008-01-19 Robert Millan <rmh@aybabtu.com>
16329
16330 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
16331 command after "shut-down", since implementations differ on which
16332 the command for halt is.
16333
59f1fd8d 163342008-01-19 Robert Millan <rmh@aybabtu.com>
16335
16336 * include/grub/i386/linuxbios/console.h: Add header protection.
16337 (grub_keyboard_controller_init): New function prototype.
16338 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16339 (KEYBOARD_COMMAND_READ): Likewise.
16340 (KEYBOARD_COMMAND_WRITE): Likewise.
16341 (KEYBOARD_SCANCODE_SET1): Likewise.
16342 (grub_keyboard_controller_write): New function.
16343 (grub_keyboard_controller_read): Likewise.
16344 (grub_keyboard_controller_init): Likewise.
16345
16346 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
16347 (grub_console_init): On coreboot/LinuxBIOS, call
16348 grub_keyboard_controller_init().
16349
5f5a7c15 163502008-01-19 Robert Millan <rmh@aybabtu.com>
16351
16352 PowerPC changes provided by Pavel Roskin.
16353
16354 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
16355 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
16356 don't rely on cmain() doing it.
16357 * kern/i386/ieee1275/startup.S (_start): Store %eax in
16358 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
16359
1210e168 163602008-01-16 Robert Millan <rmh@aybabtu.com>
16361
16362 * include/grub/i386/linuxbios/memory.h
16363 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
16364 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
16365 receive `table_header' as argument. Instead, probe for it in the
16366 known memory ranges where it can be present.
16367 (grub_available_iterate): Do not pass a fixed `table_header' address
16368 to grub_linuxbios_table_iterate().
16369
3d04eab8 163702008-01-15 Robert Millan <rmh@aybabtu.com>
16371
16372 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
16373 * conf/i386-ieee1275.rmk: New file.
16374 * include/grub/i386/ieee1275/console.h: Likewise.
16375 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
16376 * include/grub/i386/ieee1275/kernel.h: Likewise.
16377 * include/grub/i386/ieee1275/time.h: Likewise.
16378 * kern/i386/ieee1275/init.c: Likewise.
16379 * kern/i386/ieee1275/startup.S: Likewise.
16380
d1bc1b73 163812008-01-15 Robert Millan <rmh@aybabtu.com>
16382
16383 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
16384 when pointers are 32-bit (but still do set it to one when they are
16385 64-bit).
16386
66a65807 163872008-01-15 Robert Millan <rmh@aybabtu.com>
16388
16389 * include/grub/ieee1275/ieee1275.h
16390 (grub_ieee1275_get_integer_property): New function prototype.
16391
16392 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
16393 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 16394 grub_ieee1275_get_property() to handle endianness.
66a65807 16395
16396 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
16397 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 16398 where appropriate.
66a65807 16399 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
16400 (grub_map): Likewise.
16401 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
16402
a83ccafd 164032008-01-15 Bean <bean123ch@gmail.com>
16404
16405 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
16406 (grub_script_execute_cmdline): Reset grub_errno.
16407
16408 * normal/main.c (read_config_file): Reset grub_errno.
16409
16410 * normal/parse.y (script_init): New.
16411 (script): Move function and menuentry here.
16412 (delimiter): New.
16413 (command): Add delimiter at the end of command.
16414 (commands): Adjust to match the new command.
16415 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 16416 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 16417 (if): Use the new commands.
16418
16419 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
16420
df6ecfc6 164212008-01-15 Robert Millan <rmh@aybabtu.com>
16422
16423 * normal/menu.c (run_menu): Move timeout message from here ...
16424 (print_timeout): ... to here.
16425 (run_menu): Use print_timeout() once during initial draw to print
16426 the whole message, and again in every clock tick to update only
16427 the number of seconds.
16428
87ae25eb 164292008-01-15 Robert Millan <rmh@aybabtu.com>
16430
16431 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
16432 actual size of `available' from grub_ieee1275_get_property(), and
16433 restrict parsing to that bound.
16434
47bf09a4 164352008-01-15 Christian Franke <franke@computer.org>
16436
16437 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
16438 (argp_program_version): Remove variable.
16439 (argp_program_bug_address): Likewise.
16440 (options): Convert from struct argp_option to struct option.
16441 (struct arguments): Remove.
16442 (parse_opt): Remove.
16443 (usage): New function.
16444 (main): Replace struct args members by simple variables.
16445 Replace argp_parse() by getopt_long().
16446 Add switch to evaluate options.
16447 Add missing "(...)" around root_dev in prefix string.
16448
c86f1469 164492008-01-14 Robert Millan <rmh@aybabtu.com>
16450
16451 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
16452 for grub_ieee1275_exit(), in order to improve portability.
16453
e622c559 164542008-01-14 Robert Millan <rmh@aybabtu.com>
16455
16456 * util/grub.d/10_linux.in (prefix): Define.
16457 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
16458
44cb1ec8 164592008-01-13 Pavel Roskin <proski@gnu.org>
16460
16461 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
16462 grub_errno if no errors have been detected.
16463
1eb8c802 164642008-01-12 Robert Millan <rmh@aybabtu.com>
16465
16466 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
16467 (grub_util_get_dev_abstraction): New function prototype.
16468
16469 * util/getroot.c: Include `<grub/util/getroot.h>'
16470 (grub_util_get_grub_dev): Move detection of abstraction type to ...
16471 (grub_util_get_dev_abstraction): ... here (new function).
16472
16473 * util/grub-probe.c: Convert PRINT_* to an enum. Add
16474 `PRINT_ABSTRACTION'.
16475 (probe): Probe for abstraction type when requested.
16476 (main): Understand `--target=abstraction'.
16477
16478 * util/i386/efi/grub-install.in: Add abstraction module to core
16479 image when it is found to be necessary.
16480 * util/i386/pc/grub-install.in: Likewise.
16481 * util/powerpc/ieee1275/grub-install.in: Likewise.
16482
16483 * util/update-grub_lib.in (font_path): Return system path without
16484 converting to GRUB path.
16485 * util/update-grub.in: Convert system path returned by font_path()
16486 to a GRUB path. Use `grub-probe -t abstraction' to determine what
16487 abstraction module is needed for loading fonts (if any). Export
16488 that as `GRUB_PRELOAD_MODULES'.
16489 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
16490 insmod commands).
16491
52bd3de9 164922008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
16493
16494 Remove some unused code from reiserfs.
f19dbdb7 16495
52bd3de9 16496 * fs/reiserfs.c (struct grub_reiserfs_key)
16497 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
16498 (struct grub_reiserfs_node_body): Removed.
16499 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16500 Likewise.
16501 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16502 Likewise.
16503 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16504 Likewise.
16505 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16506 Likewise.
16507 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16508 Likewise.
16509 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
16510 Likewise.
16511 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16512 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16513 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16514
2f80039d 165152008-01-10 Robert Millan <rmh@aybabtu.com>
16516
16517 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
16518 Determines if a file is garbage left by packaging systems, etc.
16519 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
16520 for processing /etc/grub.d scripts.
16521 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
16522 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
16523 as a condition for processing Linux images.
16524
87888032 165252008-01-10 Pavel Roskin <proski@gnu.org>
16526
16527 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
16528 to compile reiserfs.c on PowerPC.
16529
7e54fced 165302008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 16531
16532 * kern/device.c (grub_device_iterate): Do not abort device iteration
16533 when one of the devices cannot be opened.
16534 * kern/disk.c (grub_disk_open): Do not account previous failures of
16535 unrelated functions when grub_errno is checked for.
16536
5aa541e6 165372008-01-08 Robert Millan <rmh@aybabtu.com>
16538
16539 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
16540 `! grub_linux_is_bzimage', change order of address comparison to make
16541 it more intuitive, and improve "too big zImage" error message.
16542
7076340d 165432008-01-08 Robert Millan <rmh@aybabtu.com>
16544
16545 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
16546 `$(update-grub_DATA)'.
16547 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
16548 targets.
16549
9ca70333 165502008-01-07 Robert Millan <rmh@aybabtu.com>
16551
16552 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
16553 which instruction is modified by grub-setup during installation
16554 (since it wasn't obvious by only looking at this file).
16555
38ccf575 165562008-01-07 Robert Millan <rmh@aybabtu.com>
16557
16558 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
16559 listing actual TODO items.
16560
f5db4291 165612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16562
868967cf 16563 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
16564 correctly.
16565 (grub_reiserfs_get_key_offset): Likewise.
16566 (grub_reiserfs_set_key_offset): Likewise.
16567 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 16568 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 16569
16570 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
16571 better to remove the bitfield version completely.
f19dbdb7 16572
868967cf 165732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16574
f5db4291 16575 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
16576 allocated from the heap, due to the fshelp implementation.
16577 (grub_reiserfs_dir): Free NODE, due to the same reason.
16578
492e6d9d 165792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16580
16581 Mostly from Vincent Pelletier:
f19dbdb7 16582
492e6d9d 16583 * fs/reiserfs.c: New file.
f19dbdb7 16584
492e6d9d 16585 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
16586 (reiserfs_mod_SOURCES): New variable.
16587 (reiserfs_mod_CFLAGS): Likewise.
16588 (reiserfs_mod_LDFLAGS): Likewise.
16589
16590 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
16591 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
16592 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
16593 normal/color.c.
16594
9ce3e7c1 165952008-01-06 Robert Millan <rmh@aybabtu.com>
16596
16597 * normal/color.c: Remove `<grub/env.h>'.
16598
f3b58148 165992008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
16600
16601 * include/grub/normal.h: Include <grub/env.h>.
16602
7ac3bcfa 166032008-01-05 Robert Millan <rmh@aybabtu.com>
16604
16605 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
16606 usage example with `(hd0,1)'.
fb358190 16607 Reported by Samuel Thibault.
7ac3bcfa 16608
c8ee99d7 166092008-01-05 Robert Millan <rmh@aybabtu.com>
16610
16611 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16612 (grub_linux_boot_zimage): Rename to ...
16613 (grub_linux_boot): ... this.
16614 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16615 (grub_linux_boot_zimage): Conditionalize zImage copy.
16616
16617 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16618 (grub_linux_boot_bzimage): Remove prototype.
16619 (grub_linux_boot_zimage): Rename to ...
16620 (grub_linux_boot): ... this.
16621
16622 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16623 (grub_linux_boot): Remove function.
16624
0ece25b1 166252008-01-05 Robert Millan <rmh@aybabtu.com>
16626
16627 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16628 (grub_env_write_color_highlight): Likewise.
16629 (grub_wait_after_message): Likewise.
16630
16631 * normal/color.c: New file.
16632
16633 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16634 (normal_mod_DEPENDENCIES): Likewise.
16635
16636 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16637 (normal_mod_DEPENDENCIES): Likewise.
16638
16639 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16640 (normal_mod_DEPENDENCIES): Likewise.
16641
16642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16643 (normal_mod_DEPENDENCIES): Likewise.
16644
16645 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16646 for waiting after a message is printed.
16647 * normal/main.c (read_config_file): Likewise.
16648 (grub_normal_init): Register grub_env_write_color_normal() and
16649 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16650 `color_highlight' variables as global.
16651
16652 * normal/menu.c (grub_wait_after_message): New function.
16653 (grub_color_menu_normal): New variable. Replaces ...
16654 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16655 (grub_color_menu_highlight): New variable. Replaces ...
16656 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16657 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16658 `GRUB_TERM_COLOR_STANDARD'.
16659 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16660 `normal_code' and `highlight_code' to `old_color_normal' and
16661 `old_color_highlight', respectively.
16662 (grub_menu_init_page): Update colors when drawing the menu, based on
16663 `menu_color_normal' and `menu_color_highlight' variables.
16664 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16665 a message is printed.
16666
182dd4e5 166672008-01-05 Robert Millan <rmh@aybabtu.com>
16668
16669 * kern/env.c (grub_env_context_open): Propagate hooks for global
16670 variables to new context.
16671
16672 * kern/main.c (grub_set_root_dev): Export `root' variable.
16673
ddf8f6ad 166742008-01-05 Robert Millan <rmh@aybabtu.com>
16675
16676 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16677 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16678 them.
16679
d8b43d9b 166802008-01-05 Robert Millan <rmh@aybabtu.com>
16681
16682 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16683
2bff2de3 166842008-01-04 Christian Franke <franke@computer.org>
16685
16686 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16687 of eisa_mmap.
16688
97eab917 166892008-01-03 Pavel Roskin <proski@gnu.org>
16690
16691 * kern/i386/linuxbios/init.c: Put "void" to all function
16692 declarations with no arguments.
16693 * kern/powerpc/ieee1275/init.c: Likewise.
16694 * term/i386/pc/at_keyboard.c: Likewise.
16695 * term/i386/pc/vga_text.c: Likewise.
16696 * util/grub-mkdevicemap.c: Likewise.
16697
b9416d00 166982008-01-02 Robert Millan <rmh@aybabtu.com>
16699
16700 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16701 message when loaded image is out of bounds.
16702 (grub_multiboot_load_elf64): Likewise.
16703
92695df9 167042008-01-02 Pavel Roskin <proski@gnu.org>
16705
16706 * util/grub.d/10_linux.in: Try version without ".old" when
16707 looking for initrd. It's better to use initrd from the newer
16708 kernel of the same version than no initrd at all.
16709
d98d9cad 167102008-01-01 Robert Millan <rmh@aybabtu.com>
16711
16712 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16713
dbfdce36 167142008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16715
f19dbdb7 16716 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 16717 grub_video_get_active_render_target.
16718 (grub_video_adapter): Added unmap_color and get_active_render_target.
16719
f19dbdb7 16720 * video/video.c: Added grub_video_unmap_color and
dbfdce36 16721 grub_video_get_active_render_target.
16722 (grub_video_get_info): Changed method to accept NULL pointer as an
16723 argument to allow detection of active video adapter.
16724
16725 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16726 grub_video_vbe_unmap_color_int.
16727 Added grub_video_vbe_unmap_color and
16728 grub_video_vbe_get_active_render_target.
16729 (grub_video_vbe_adapter): Added unmap_color and
16730 get_active_render_target.
16731
f19dbdb7 16732 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 16733 with grub_video_vbe_unmap_color_int.
16734
16735 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16736 (DEFAULT_NORMAL_COLOR): Likewise.
16737 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16738 (DEFAULT_FG_COLOR): Removed.
16739 (DEFAULT_BG_COLOR): Likewise.
16740 (DEFAULT_CURSOR_COLOR): Changed value.
16741 (grub_virtual_screen): Added standard_color_setting,
16742 normal_color_setting, highlight_color_setting and term_color.
16743 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16744 (bitmap_width): Added.
16745 (bitmap_height): Likewise.
16746 (bitmap): Likewise.
16747 (set_term_color): Likewise.
16748 (grub_virtual_screen_setup): Changed to use new terminal coloring
16749 settings.
16750 (grub_gfxterm_init): Added init for bitmap.
16751 (grub_gfxterm_fini): Added destroy for bitmap.
16752 (redraw_screen_rect): Updated to use background bitmap and new
16753 terminal coloring.
16754 (scroll_up): Added optimization for case when there is no bitmap.
16755 (grub_gfxterm_cls): Fixed to use correct background color.
16756 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16757 coloring.
16758 (grub_virtual_screen_setcolor): Likewise.
16759 (grub_virtual_screen_getcolor): Added.
16760 (grub_gfxterm_background_image_cmd): Likewise.
16761 (grub_video_term): Added setcolor and getcolor.
16762 (MOD_INIT): Added registration of background_image command.
16763 (MOD_TERM): Added unregistration for background_image command.
16764
c3c20931 167652007-12-30 Pavel Roskin <proski@gnu.org>
16766
16767 * loader/multiboot_loader.c: Fix multiboot command
16768 unregistration. Fix all typos in the word "multiboot".
16769
df266716 167702007-12-29 Pavel Roskin <proski@gnu.org>
94239199 16771
16772 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16773 support for initrd names used in Fedora.
16774
fc6e896c 167752007-12-26 Bean <bean123ch@gmail.com>
16776
16777 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16778 (cpio_mod_SOURCES): New variable.
16779 (cpio_mod_CFLAGS): Likewise.
16780 (cpio_mod_LDFLAGS): Likewise.
16781
16782 * fs/cpio.c: New file.
16783
16784 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
16785
16786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16787
16788 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16789
16790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16791
533110ad 167922007-12-25 Robert Millan <rmh@aybabtu.com>
16793
16794 * include/grub/term.h (struct grub_term): Add `getcolor' function.
16795 (grub_getcolor): New function.
16796
16797 * kern/term.c (grub_getcolor): New function.
16798 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
16799 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16800 (print_entry): Set normal and highlight colors to
16801 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16802 respectively, before printing and restore them to old
16803 values afterwards.
16804 (grub_menu_init_page): Likewise. Fill an additional colored space
16805 that would otherwise be left blank.
16806
16807 * term/efi/console.c (grub_console_getcolor): New function.
16808 (struct grub_console_term.getcolor): New variable.
16809 * term/i386/pc/console.c (grub_console_getcolor): New function.
16810 (struct grub_console_term.getcolor): New variable.
16811 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16812 (struct grub_console_term.getcolor): New variable.
16813
16814 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16815 (struct grub_console_term.setcolor): Remove variable.
16816 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16817 (struct grub_console_term.setcolor): Remove variable.
16818 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16819 (struct grub_console_term.setcolor): Remove variable.
16820 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16821 (struct grub_console_term.setcolor): Remove variable.
16822
4931827f 168232007-12-25 Robert Millan <rmh@aybabtu.com>
16824
16825 * configure.ac: Search for possible unifont.hex locations, and
16826 define UNIFONT_HEX if found.
16827
16828 * Makefile.in (UNIFONT_HEX): Define variable.
16829 (DATA): Rename to ...
16830 (PKGLIB): ... this. Update all users.
16831 (PKGDATA): New variable.
16832 (pkgdata_IMAGES): Rename to ...
16833 (pkglib_IMAGES): ... this. Update all users.
16834 (pkgdata_MODULES): Rename to ...
16835 (pkglib_MODULES): ... this. Update all users.
16836 (pkgdata_PROGRAMS): Rename to ...
16837 (pkglib_PROGRAMS): ... this. Update all users.
16838 (pkgdata_DATA): Rename to ...
16839 (pkglib_DATA): ... this. Update all users.
16840 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16841 (unicode.pff, ascii.pff): New rules.
16842 (all-local): Add `$(PKGDATA)' dependency.
16843 (install-local): Process `$(PKGDATA)'.
16844
16845 * util/update-grub_lib.in (font_path): Search for *.pff files in
16846 a few more locations, including `${pkgdata}'.
16847
57e57e31 168482007-12-23 Robert Millan <rmh@aybabtu.com>
16849
16850 Patch from Bean <bean123ch@gmail.com>:
16851 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16852 `size'.
16853
4bc72aa9 168542007-12-21 Bean <bean123ch@gmail.com>
16855
16856 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16857 (ntfscomp_mod_SOURCES): New variable.
16858 (ntfscomp_mod_CFLAGS): Likewise.
16859 (ntfscomp_mod_LDFLAGS): Likewise.
16860
16861 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
16862 (grub_probe_SOURCES): Likewise.
16863 (grub_emu_SOURCES): Likewise.
16864
16865 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16866 (grub_emu_SOURCES): Likewise.
16867
16868 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16869 (grub_emu_SOURCES): Likewise.
16870
16871 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16872 (grub_emu_SOURCES): Likewise.
16873
16874 * fs/ntfs.c (grub_ntfscomp_func): New variable.
16875 (read_run_list): Renamed to grub_ntfs_read_run_list.
16876 (decomp_nextvcn): Moved to ntfscomp.c.
16877 (decomp_getch): Likewise.
16878 (decomp_get16): Likewise.
16879 (decomp_block): Likewise.
16880 (read_block): Likewise.
16881 (read_data): Partially moved to ntfscomp.c.
16882 (fixup): Change unsigned to grub_uint16_t.
16883 (read_mft): Change unsigned long to grub_uint32_t.
16884 (read_attr): Likewise.
16885 (read_data): Likewise.
16886 (read_run_data): Likewise.
16887 (read_run_list): Likewise.
16888 (read_mft): Likewise.
16889
16890 * fs/ntfscomp.c: New file.
16891
16892 * include/grub/ntfs.h: New file.
16893
af680a87 168942007-12-16 Robert Millan <rmh@aybabtu.com>
16895
16896 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
16897 IDE disk check, since Linux is known to support 20 IDE disks.
16898 Reported by Colin Watson.
16899
84be7599 169002007-12-15 Bean <bean123ch@gmail.com>
16901
16902 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
16903 (lnxboot_img_SOURCES): New variable.
16904 (lnxboot_img_ASFLAGS): Likewise.
16905 (lnxboot_img_LDFLAGS): Likewise.
16906
16907 * boot/i386/pc/lnxboot.S: New file.
16908
6af9db01 169092007-11-24 Pavel Roskin <proski@gnu.org>
16910
16911 * configure.ac: Test if '--build-id=none' is supported by the
16912 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
16913 objcopy to generate incorrect binary files (binutils
16914 2.17.50.0.18-1 as shipped by Fedora 8).
16915 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
16916 linking, so that build ID doesn't break the test.
16917
7361cfe6 169182007-11-24 Pavel Roskin <proski@gnu.org>
16919
16920 * include/grub/i386/time.h: use "void" in the argument list
16921 of grub_cpu_idle().
16922 * include/grub/powerpc/time.h: Likewise.
16923 * include/grub/sparc64/time.h: Likewise.
16924
1593e10c 169252007-11-18 Christian Franke <franke@computer.org>
16926
16927 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
16928 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
16929 This fixes the problem that function keys did not work in grub-emu.
16930
3b8db1a8 169312007-11-18 Christian Franke <franke@computer.org>
16932
16933 * disk/host.c (grub_host_open): Remove attribute unused from
16934 name parameter. Add check for "host". This fixes the problem
16935 that grub-emu does not find partitions.
16936
2e29408d 169372007-11-18 Christian Franke <franke@computer.org>
16938
16939 * util/hostfs.c (is_dir): New function.
16940 (grub_hostfs_dir): Handle missing dirent.d_type case.
16941 (grub_hostfs_read): Add missing fseek().
16942 (grub_hostfs_label): Clear label pointer. This fixes a crash
16943 of grub-emu on "ls (host)".
16944
398cd047 169452007-11-18 Christian Franke <franke@computer.org>
16946
16947 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
16948 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
16949 to 64 bit boundary by default.
16950
c405c391 169512007-11-18 Bean <bean123ch@gmail.com>
16952
16953 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
16954 (hexdump_mod_SOURCES): New variable.
16955 (hexdump_mod_CFLAGS): Likewise.
16956 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 16957
c405c391 16958 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16959
16960 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16961
16962 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16963
16964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16965
16966 * include/grub/hexdump.h: New file.
16967
16968 * commands/hexdump.c: New file.
16969
5cced7fd 169702007-11-10 Robert Millan <rmh@aybabtu.com>
16971
16972 * commands/i386/pc/play.c (beep_off): Switch order of arguments
16973 in grub_outb() calls.
16974 (beep_on): Likewise.
16975
8b714eb0 169762007-11-10 Christian Franke <franke@computer.org>
16977
16978 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
16979 (grub_menu_run): Likewise.
16980
ce0f1839 169812007-11-10 Robert Millan <rmh@aybabtu.com>
16982
16983 * include/grub/i386/efi/machine.h: New file.
16984 * include/grub/i386/linuxbios/machine.h: Likewise.
16985 * include/grub/i386/pc/machine.h: Likewise.
16986 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16987 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16988
16989 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
16990 (serial_hw_io_addr): New variable.
16991 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
16992 instead of `(unsigned short *) 0x400'.
16993
270c237d 169942007-11-10 Bean <bean123ch@gmail.com>
16995
16996 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16997
a87783bf 169982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16999
17000 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17001 (vga_mod_SOURCES): Added.
17002 (vga_mod_CFLAGS): Likewise.
17003 (vga_mod_LDFLAGS): Likewise.
17004
17005 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17006 grub_outb() calls.
17007 (set_map_mask): Likewise.
17008 (set_read_map): Likewise.
17009 (set_read_address): Likewise.
17010 (vga_font): Removed variable.
17011 (get_vga_glyph): Removed function.
17012 (invalidate_char): Likewise.
17013 (write_char): Changed to use grub_font_get_glyph() for font
17014 information.
17015 (grub_vga_putchar): Likewise.
17016 (grub_vga_getcharwidth): Likewise.
17017
6433b448 170182007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17019
17020 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17021 flags.
17022 (pxeboot_img_LDFLAGS): Likewise.
17023 (diskboot_img_LDFLAGS): Likewise.
17024 (kernel_img_LDFLAGS): Likewise.
17025
49178511 170262007-11-06 Robert Millan <rmh@aybabtu.com>
17027
17028 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17029 in grub_outb() calls.
17030 (serial_hw_init): Likewise.
17031
53b052de 170322007-11-05 Robert Millan <rmh@aybabtu.com>
17033
17034 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17035 spaces. Skip non-regular files.
17036
5ab33bba 170372007-11-05 Robert Millan <rmh@aybabtu.com>
17038
17039 * kern/disk.c (grub_disk_firmware_fini)
17040 (grub_disk_firmware_is_tainted): New variables.
17041
17042 * include/grub/disk.h (grub_disk_firmware_fini)
17043 (grub_disk_firmware_is_tainted): Likewise.
17044
17045 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17046 (grub_disk_biosdisk_fini): ... to here.
17047 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17048 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17049 is set. Register grub_disk_biosdisk_fini() in
17050 `grub_disk_firmware_fini'.
17051
17052 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17053 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17054 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17055 to finish existing firmware disk interface.
17056
17057 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17058 (ata_mod_SOURCES): New variable.
17059 (ata_mod_CFLAGS): Likewise.
17060 (ata_mod_LDFLAGS): Likewise.
17061
0149ab7c 170622007-11-05 Robert Millan <rmh@aybabtu.com>
17063
17064 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17065 (grub_ata_wait): Reimplement using grub_millisleep().
17066
17067 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17068 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17069
be7ac41e 170702007-11-03 Marco Gerards <marco@gnu.org>
17071
17072 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17073 (CRTC_ADDR_PORT): New macro.
17074 (CRTC_DATA_PORT): Likewise.
17075 (CRTC_CURSOR): Likewise.
17076 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17077 (CRTC_CURSOR_ADDR_LOW): Likewise.
17078 (update_cursor): New function.
17079 (grub_console_real_putchar): Call `update_cursor'.
17080 (grub_console_gotoxy): Likewise.
17081 (grub_console_cls): Set the default color when clearing the
17082 screen.
17083 (grub_console_setcursor): Implemented.
17084
bb06ab2e 170852007-11-03 Marco Gerards <marco@gnu.org>
17086
17087 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17088 become activate.
17089 (grub_ata_pio_write): Likewise.
17090
17091 (grub_atapi_identify): Wait after issuing an ATA command.
17092 (grub_atapi_packet): Likewise.
17093 (grub_ata_identify): Likewise.
17094 (grub_ata_readwrite): Likewise.
17095
cf8f780b 170962007-11-03 Marco Gerards <marco@gnu.org>
17097
17098 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17099 (grub_ata_pio_write): Likewise.
17100 (grub_ata_readwrite): Use `grub_error', instead of
17101 returning `grub_errno'.
17102
ed649e54 171032007-11-03 Marco Gerards <marco@gnu.org>
17104
17105 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17106 grub_ata_pio_write once for every single sector, instead of for
17107 multiple sectors.
17108
ca25d8f0 171092007-10-31 Robert Millan <rmh@aybabtu.com>
17110
17111 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17112
17113 * conf/i386-linuxbios.rmk: New file.
17114
17115 * kern/i386/pc/hardware.c: Likewise.
17116 * term/i386/pc/at_keyboard.c: Likewise.
17117 * term/i386/pc/vga_text.c: Likewise.
17118
17119 * include/grub/i386/linuxbios/boot.h: Likewise.
17120 * include/grub/i386/linuxbios/console.h: Likewise.
17121 * include/grub/i386/linuxbios/init.h: Likewise.
17122 * include/grub/i386/linuxbios/kernel.h: Likewise.
17123 * include/grub/i386/linuxbios/loader.h: Likewise.
17124 * include/grub/i386/linuxbios/memory.h: Likewise.
17125 * include/grub/i386/linuxbios/serial.h: Likewise.
17126 * include/grub/i386/linuxbios/time.h: Likewise.
17127
17128 * kern/i386/linuxbios/init.c: Likewise.
17129 * kern/i386/linuxbios/startup.S: Likewise.
17130 * kern/i386/linuxbios/table.c: Likewise.
17131
e911ecc1 171322007-10-31 Marco Gerards <marco@gnu.org>
17133
17134 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17135 (ata_mod_SOURCES): New variable.
17136 (ata_mod_CFLAGS): Likewise.
17137 (ata_mod_LDFLAGS): Likewise.
17138
17139 * disk/ata.c: New file.
17140
17141 * include/grub/disk.h (grub_disk_dev_id): Add
17142 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 17143
7f66d0e0 171442007-10-31 Robert Millan <rmh@aybabtu.com>
17145
17146 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17147 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17148
17149 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17150 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17151
17152 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17153 `<grub/types.h>'.
17154
17155 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17156
5cd7dd46 171572007-10-27 Robert Millan <rmh@aybabtu.com>
17158
3236ca65 17159 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17160
2ebfc90f 171612007-10-22 Robert Millan <rmh@aybabtu.com>
17162
17163 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17164 `"../realmode.S"'.
17165 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17166
73fcb0f3 171672007-10-22 Robert Millan <rmh@aybabtu.com>
17168
17169 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17170 (pkgdata_MODULES): Add `biosdisk.mod'.
17171 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17172 variables.
17173
17174 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17175 (grub_biosdisk_init): Replace with ...
17176 (GRUB_MOD_INIT(biosdisk)): ... this.
17177 (grub_biosdisk_fini): Replace with ...
17178 (GRUB_MOD_FINI(biosdisk)): ... this.
17179
17180 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17181 (grub_machine_init): Remove call to grub_biosdisk_init().
17182 (grub_machine_fini): Remove call to grub_machine_fini().
17183
17184 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17185
3381d274 171862007-10-22 Robert Millan <rmh@aybabtu.com>
17187
17188 * include/grub/time.h: New file.
17189 * include/grub/i386/time.h: Likewise.
17190 * include/grub/powerpc/time.h: Likewise.
17191 * include/grub/sparc64/time.h: Likewise.
17192
17193 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17194 instances to ...
17195 (KERNEL_MACHINE_TIME_HEADER): ... this.
17196 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17197 instances to ...
17198 (KERNEL_MACHINE_TIME_HEADER): ... this.
17199 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17200 instances to ...
17201 (KERNEL_MACHINE_TIME_HEADER): ... this.
17202
17203 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17204 (grub_millisleep): New function.
17205 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17206 (grub_millisleep): New function.
17207 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17208 Remove `grub/machine/time.h' include.
17209 (grub_millisleep): New function.
17210 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17211 Remove `grub/machine/time.h' include.
17212 (grub_millisleep): New function.
17213
17214 * include/grub/misc.h (grub_div_roundup): New function.
17215
17216 * kern/misc.c: Include `<grub/time.h>'.
17217 (grub_millisleep_generic): New function.
17218
17219 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17220 Add `time.h'.
17221 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17222 Add `time.h'.
17223 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17224 `machine/time.h'. Add `time.h'.
17225 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17226
a39a0312 172272007-10-21 Robert Millan <rmh@aybabtu.com>
17228
17229 * include/grub/misc.h (grub_max): New function.
17230
2aad70e2 172312007-10-21 Robert Millan <rmh@aybabtu.com>
17232
17233 * util/misc.c (grub_util_info): Call fflush() before returning.
17234
54b71c4b 172352007-10-20 Robert Millan <rmh@aybabtu.com>
17236
17237 * genmk.rb (Image): Copy `extra_flags' from here ...
17238 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17239
17240 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17241 to `argc' and `args' arguments.
17242
a979f513 172432007-10-17 Robert Millan <rmh@aybabtu.com>
17244
17245 * kern/i386/loader.S: New file.
17246
17247 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17248 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17249 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17250 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17251 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17252 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17253 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17254 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17255 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17256 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17257 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17258 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17259 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17260 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17261
17262 * kern/i386/realmode.S: New file.
17263
17264 * kern/i386/pc/startup.S (protstack): Moved from here ...
17265 * kern/i386/realmode.S (protstack)... to here.
17266 * kern/i386/pc/startup.S (gdt): Moved from here ...
17267 * kern/i386/realmode.S (gdt)... to here.
17268 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17269 * kern/i386/realmode.S (prot_to_real)... to here.
17270
17271 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17272 `kern/i386/realmode.S'.
17273
825fc8fd 172742007-10-17 Robert Millan <rmh@aybabtu.com>
17275
17276 * include/grub/i386/loader.h: New file.
17277
17278 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17279 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17280 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17281 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17282 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17283 * include/grub/i386/loader.h (grub_linux_prot_size)
17284 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17285 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17286 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17287 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17288
17289 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17290
e179b2f4 172912007-10-15 Robert Millan <rmh@aybabtu.com>
17292
17293 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17294 filesystem when dev->disk is unset.
17295 Do probe for filesystem even when dev->disk->has_partitions is set.
17296 In case a filesystem is found, always report it.
17297 In case it isn't, if dev->disk->has_partitions is set, report that
17298 a partition table was found instead of reporting that no filesystem
17299 could be identified.
17300
5db82af6 173012007-10-12 Robert Millan <rmh@aybabtu.com>
17302
17303 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17304 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17305
68f6ac74 17306 * include/grub/types.h (grub_host_to_target16): New macro.
17307 (grub_host_to_target32): Likewise.
17308 (grub_host_to_target64): Likewise.
17309 (grub_target_to_host16): Likewise.
17310 (grub_target_to_host32): Likewise.
17311 (grub_target_to_host64): Likewise.
5db82af6 17312
17313 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17314 Renamed from to ...
17315 (GRUB_MOD_ALIGN): ...this. Update all users.
17316
68f6ac74 17317 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17318 grub_host_to_target32.
17319 Replace grub_be_to_cpu32 with grub_target_to_host32.
17320 (load_modules): Likewise.
17321 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
17322 Replace grub_be_to_cpu32 with grub_target_to_host32.
17323 Replace grub_cpu_to_be16 with grub_host_to_target16.
17324 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 17325
3cf497cc 173262007-10-12 Robert Millan <rmh@aybabtu.com>
17327
17328 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
17329 * util/elf/grub-mkimage.c: ... here.
17330
17331 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
17332 `util/powerpc/ieee1275/grub-mkimage.c'.
17333
c8cc3692 173342007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 17335
c8cc3692 17336 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
17337 and make it easier to figure out.
17338 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17339 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17340 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
17341 leave us with less than HEAP_MIN_SIZE total heap.
17342 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 17343
5c58b791 173442007-10-03 Robert Millan <rmh@aybabtu.com>
17345
17346 * include/grub/i386/io.h: New file.
17347 * commands/i386/pc/play.c (inb): Removed.
17348 (outb): Removed.
17349 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17350 with grub_outb().
afcd2ef8 17351 * term/i386/pc/serial.c (inb): Removed.
17352 (outb): Removed.
17353 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17354 with grub_outb().
17355 * term/i386/pc/vga.c (inb): Removed.
17356 (outb): Removed.
17357 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17358 with grub_outb().
5c58b791 17359
1a477ed6 173602007-10-02 Robert Millan <rmh@aybabtu.com>
17361
17362 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
17363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17364 Reported by Marcin Kurek.
17365
6b5d80fa 173662007-09-07 Robert Millan <rmh@aybabtu.com>
17367
17368 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
17369 SmartFirmware version updates (as released by Sven Luther), and avoid
17370 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
17371 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
17372 known broken.
17373
5618afbf 173742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17375
17376 From Hitoshi Ozeki:
17377 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
17378 when merging two regions.
17379
6139dcd9 173802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17381
508e39ee 17382 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
17383 * normal/completion.c (grub_normal_do_completion): Likewise.
17384 Reported by Hitoshi Ozeki.
17385
173862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17387
6139dcd9 17388 Do not use devices at boot in chainloading.
f19dbdb7 17389
6139dcd9 17390 * loader/i386/pc/chainloader.c (boot_drive): New variable.
17391 (boot_part_addr): Likewise.
17392 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
17393 with BOOT_DRIVE and BOOT_PART_ADDR.
17394 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
17395 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
17396
38da6516 173972007-08-29 Robert Millan <rmh@aybabtu.com>
17398
17399 Patch from Simon Peter <dn.tlp@gmx.net>:
17400 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
17401 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
17402 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
17403 util/i386/pc/grub-setup.c_DEPENDENCIES.
17404 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
17405 util/grub-probe.c_DEPENDENCIES.
17406 * conf/powerpc-ieee1275.rmk: Likewise.
17407
29d0928c 174082007-08-28 Robert Millan <rmh@aybabtu.com>
17409
17410 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
17411 to tell grub-mkdevicemap how to name devices.
17412 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
17413 feature).
17414
17415 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
17416 util/i386/get_disk_name.c.
17417 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
17418 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
17419 util/ieee1275/get_disk_name.c.
17420
17421 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
17422
17423 * DISTLIST: Add util/i386/get_disk_name.c and
17424 util/ieee1275/get_disk_name.c.
17425
17426 * util/grub-mkdevicemap.c: Replace device naming logic with
17427 grub_util_get_disk_name() calls.
17428
5a0d3cca 174292007-08-20 Robert Millan <rmh@aybabtu.com>
17430
17431 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
17432 (so that it works for both plural and singular quantities).
17433
8b72db2f 174342007-08-05 Robert Millan <rmh@aybabtu.com>
17435
17436 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
17437 so that [xz] isn't taken into account when determining order.
17438
352466bf 174392007-08-02 Marco Gerards <marco@gnu.org>
17440
17441 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
17442 `include/multiboot2.h', `include/grub/elfload.h',
17443 `include/multiboot.h', `include/grub/multiboot.h',
17444 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
17445 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
17446 `kern/elf.c', `loader/multiboot_loader.c',
17447 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
17448 `loader/i386/pc/multiboot2.c',
17449 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
17450 `util/i386/pc/grub-mkrescue.in'. Remove
17451 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
17452 `include/grub/i386/pc/util/biosdisk.h' and
17453 `include/grub/powerpc/ieee1275/multiboot.h'.
17454
8f096014 174552007-08-02 Bean <bean123ch@gmail.com>
17456
17457 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
17458 (ntfs_mod_SOURCES): New variable.
17459 (ntfs_mod_CFLAGS): Likewise.
17460 (ntfs_mod_LDFLAGS): Likewise.
17461
17462 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
17463 (grub_probe_SOURCES): Likewise.
17464 (grub_emu_SOURCES): Likewise.
17465
17466 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17467 (grub_emu_SOURCES): Likewise.
17468
17469 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17470 (grub_emu_SOURCES): Likewise.
f19dbdb7 17471
8f096014 17472 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
17473
17474 * fs/ntfs.c: New file.
17475
9959f7db 174762007-08-02 Bean <bean123ch@gmail.com>
17477
17478 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
17479
17480 * file.h (grub_file): Likewise.
17481
17482 * fshelp.h (grub_fshelp_read_file): Likewise.
17483
17484 * util/i386/pc/grub-setup.c (setup): Likewise.
17485 (save_first_sector): Likewise.
17486 (save_blocklists): Likewise.
f19dbdb7 17487
9959f7db 17488 * fs/affs.c (grub_affs_read_file): Likewise.
17489
17490 * fs/ext2.c (grub_ext2_read_file): Likewise.
17491
17492 * fs/fat.c (grub_fat_read_data): Likewise.
17493
17494 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
17495
17496 * fs/hfs.c (grub_hfs_read_file): Likewise.
17497
17498 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17499
17500 * fs/jfs.c (grub_jfs_read_file): Likewise.
17501
17502 * fs/minix.c (grub_minix_read_file): Likewise.
17503
17504 * fs/sfs.c (grub_sfs_read_file): Likewise.
17505
17506 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 17507
9959f7db 17508 * fs/xfs.c (grub_xfs_read_file): Likewise.
17509
17510 * command/blocklist.c (read_blocklist): Likewise.
17511 (print_blocklist): Likewise.
17512
0a203f83 175132007-08-02 Marco Gerards <marco@gnu.org>
17514
17515 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
17516 `util/hostfs.c'.
17517
17518 * disk/host.c: New file.
17519
17520 * util/hostfs.c: Likewise.
17521
17522 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
17523 return `GRUB_ERR_BAD_FS'.
17524 * fs/sfs.c (grub_sfs_mount): Likewise.
17525 * fs/xfs.c (grub_xfs_mount): Likewise.
17526
17527 * include/grub/disk.h (enum grub_disk_dev_id): Add
17528 `GRUB_DISK_DEVICE_HOST_ID'.
17529
17530 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
17531
e5dfe777 175322007-07-24 Jerone Young <jerone@gmail.com>
17533
f19dbdb7 17534 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 17535 modules for compilation.
17536 * conf/powerpc-ieee1275.rmk: Likewise.
17537
17538 * include/multiboot.h: Move multiboot definitions to one file. Rename
17539 many definitions to not get grub specific.
17540 * include/multiboot2.h: Create header with multiboot 2 definitions.
17541 * include/grub/multiboot.h: Header for grub specific function
17542 prototypes and definitions.
17543 * include/grub/multiboot2.h: Likewise.
17544 * include/grub/multiboot_loader.h: Likewise.
17545 * include/grub/i386/pc/multiboot.h: Removed.
17546 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
17547
17548 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
17549 and 2 to allow for one multiboot and module commands.
17550 * loader/multiboot2.c: Add multiboot2 functionality.
17551 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
17552 and definition names.
17553 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
17554 2 functions.
17555 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
17556 ieee1275 specific multiboot2 code.
17557
17558 * kern/i386/pc/startup.S: Change headers and definition names for
17559 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
17560
daf0f0ba 175612007-07-22 Robert Millan <rmh@aybabtu.com>
17562
17563 * geninitheader.sh: Process file specified in first parameter rather
17564 than hardcoding grub_modules_init.lst.
fe6b695a 17565 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 17566 than hardcoding grub_modules_init.h.
17567
17568 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
17569 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
17570 grub_probe_init.[ch] and grub_setup_init.[ch].
17571
17572 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
17573 grub_modules_init.h with grub_emu_init.h.
17574 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
17575 grub_probe_init.[ch] files.
17576 * conf/i386-efi.rmk: Likewise.
17577 * conf/i386-pc.rmk: Likewise.
17578 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
17579 grub_setup_init.[ch] files.
17580
17581 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
17582 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
17583 to initialize modules rather than a list of hardcoded functions.
17584 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
17585 grub_init_all() to initialize modules rather than a list of hardcoded
17586 functions.
17587
54cdc1cc 175882007-07-22 Robert Millan <rmh@aybabtu.com>
17589
17590 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17591 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
17592
ad0686cc 175932007-07-22 Robert Millan <rmh@aybabtu.com>
17594
17595 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17596 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
17597 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
17598 flag when running on SmartFirmware.
17599 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
17600 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
17601 was set.
17602
17603 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17604 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
17605 rather than decreasing it.
17606
17607 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
17608 there's not enough space to do it, fail in the same way as when it
17609 can't be done because there are no partitions.
17610
17611 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17612 when nvsetenv failed.
17613
969c02ec 176142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17615
17616 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17617 because this rule is automatically generated.
17618 (grub-mkrescue): Removed for the same reason as above.
17619
5a79f472 176202007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17621
17622 Migrate to GNU General Public License Version 3.
f19dbdb7 17623
5a79f472 17624 * COPYING: Replaced with the plain text version of GPLv3.
17625
17626 * config.guess: Updated from gnulib.
17627 * config.sub: Likewise.
17628
17629 * geninit.sh: Output a GPLv3 copyright notice.
17630 * geninitheader.sh: Likewise.
17631 * genmodsrc.sh: Likewise.
17632 * gensymlist.sh.in: Likewise.
17633
17634 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17635 * boot/i386/pc/diskboot.S: Likewise.
17636 * boot/i386/pc/pxeboot.S: Likewise.
17637 * commands/blocklist.c: Likewise.
17638 * commands/boot.c: Likewise.
17639 * commands/cat.c: Likewise.
17640 * commands/cmp.c: Likewise.
17641 * commands/configfile.c: Likewise.
17642 * commands/echo.c: Likewise.
17643 * commands/help.c: Likewise.
17644 * commands/ls.c: Likewise.
17645 * commands/search.c: Likewise.
17646 * commands/terminal.c: Likewise.
17647 * commands/test.c: Likewise.
17648 * commands/videotest.c: Likewise.
17649 * commands/i386/cpuid.c: Likewise.
17650 * commands/i386/pc/halt.c: Likewise.
17651 * commands/i386/pc/play.c: Likewise.
17652 * commands/i386/pc/reboot.c: Likewise.
17653 * commands/i386/pc/vbeinfo.c: Likewise.
17654 * commands/i386/pc/vbetest.c: Likewise.
17655 * commands/ieee1275/halt.c: Likewise.
17656 * commands/ieee1275/reboot.c: Likewise.
17657 * commands/ieee1275/suspend.c: Likewise.
17658 * disk/loopback.c: Likewise.
17659 * disk/lvm.c: Likewise.
17660 * disk/raid.c: Likewise.
17661 * disk/efi/efidisk.c: Likewise.
17662 * disk/i386/pc/biosdisk.c: Likewise.
17663 * disk/ieee1275/ofdisk.c: Likewise.
17664 * font/manager.c: Likewise.
17665 * fs/affs.c: Likewise.
17666 * fs/ext2.c: Likewise.
17667 * fs/fat.c: Likewise.
17668 * fs/fshelp.c: Likewise.
17669 * fs/hfs.c: Likewise.
17670 * fs/hfsplus.c: Likewise.
17671 * fs/iso9660.c: Likewise.
17672 * fs/jfs.c: Likewise.
17673 * fs/minix.c: Likewise.
17674 * fs/sfs.c: Likewise.
17675 * fs/ufs.c: Likewise.
17676 * fs/xfs.c: Likewise.
17677 * hello/hello.c: Likewise.
17678 * include/grub/acorn_filecore.h: Likewise.
17679 * include/grub/arg.h: Likewise.
17680 * include/grub/bitmap.h: Likewise.
17681 * include/grub/boot.h: Likewise.
17682 * include/grub/cache.h: Likewise.
17683 * include/grub/device.h: Likewise.
17684 * include/grub/disk.h: Likewise.
17685 * include/grub/dl.h: Likewise.
17686 * include/grub/elfload.h: Likewise.
17687 * include/grub/env.h: Likewise.
17688 * include/grub/err.h: Likewise.
17689 * include/grub/file.h: Likewise.
17690 * include/grub/font.h: Likewise.
17691 * include/grub/fs.h: Likewise.
17692 * include/grub/fshelp.h: Likewise.
17693 * include/grub/gzio.h: Likewise.
17694 * include/grub/hfs.h: Likewise.
17695 * include/grub/kernel.h: Likewise.
17696 * include/grub/loader.h: Likewise.
17697 * include/grub/lvm.h: Likewise.
17698 * include/grub/misc.h: Likewise.
17699 * include/grub/mm.h: Likewise.
17700 * include/grub/net.h: Likewise.
17701 * include/grub/normal.h: Likewise.
17702 * include/grub/parser.h: Likewise.
17703 * include/grub/partition.h: Likewise.
17704 * include/grub/pc_partition.h: Likewise.
17705 * include/grub/raid.h: Likewise.
17706 * include/grub/rescue.h: Likewise.
17707 * include/grub/script.h: Likewise.
17708 * include/grub/setjmp.h: Likewise.
17709 * include/grub/symbol.h: Likewise.
17710 * include/grub/term.h: Likewise.
17711 * include/grub/terminfo.h: Likewise.
17712 * include/grub/tparm.h: Likewise.
17713 * include/grub/types.h: Likewise.
17714 * include/grub/video.h: Likewise.
17715 * include/grub/efi/api.h: Likewise.
17716 * include/grub/efi/chainloader.h: Likewise.
17717 * include/grub/efi/console.h: Likewise.
17718 * include/grub/efi/console_control.h: Likewise.
17719 * include/grub/efi/disk.h: Likewise.
17720 * include/grub/efi/efi.h: Likewise.
17721 * include/grub/efi/pe32.h: Likewise.
17722 * include/grub/efi/time.h: Likewise.
17723 * include/grub/i386/linux.h: Likewise.
17724 * include/grub/i386/setjmp.h: Likewise.
17725 * include/grub/i386/types.h: Likewise.
17726 * include/grub/i386/efi/kernel.h: Likewise.
17727 * include/grub/i386/efi/loader.h: Likewise.
17728 * include/grub/i386/efi/time.h: Likewise.
17729 * include/grub/i386/pc/biosdisk.h: Likewise.
17730 * include/grub/i386/pc/boot.h: Likewise.
17731 * include/grub/i386/pc/chainloader.h: Likewise.
17732 * include/grub/i386/pc/console.h: Likewise.
17733 * include/grub/i386/pc/init.h: Likewise.
17734 * include/grub/i386/pc/kernel.h: Likewise.
17735 * include/grub/i386/pc/loader.h: Likewise.
17736 * include/grub/i386/pc/memory.h: Likewise.
17737 * include/grub/i386/pc/multiboot.h: Likewise.
17738 * include/grub/i386/pc/serial.h: Likewise.
17739 * include/grub/i386/pc/time.h: Likewise.
17740 * include/grub/i386/pc/vbe.h: Likewise.
17741 * include/grub/i386/pc/vbeblit.h: Likewise.
17742 * include/grub/i386/pc/vbefill.h: Likewise.
17743 * include/grub/i386/pc/vbeutil.h: Likewise.
17744 * include/grub/i386/pc/vga.h: Likewise.
17745 * include/grub/ieee1275/ieee1275.h: Likewise.
17746 * include/grub/ieee1275/ofdisk.h: Likewise.
17747 * include/grub/powerpc/libgcc.h: Likewise.
17748 * include/grub/powerpc/setjmp.h: Likewise.
17749 * include/grub/powerpc/types.h: Likewise.
17750 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17751 * include/grub/powerpc/ieee1275/console.h: Likewise.
17752 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17753 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17754 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17755 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17756 * include/grub/powerpc/ieee1275/time.h: Likewise.
17757 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17758 * include/grub/sparc64/libgcc.h: Likewise.
17759 * include/grub/sparc64/setjmp.h: Likewise.
17760 * include/grub/sparc64/types.h: Likewise.
17761 * include/grub/sparc64/ieee1275/console.h: Likewise.
17762 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17763 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17764 * include/grub/sparc64/ieee1275/time.h: Likewise.
17765 * include/grub/util/biosdisk.h: Likewise.
17766 * include/grub/util/getroot.h: Likewise.
17767 * include/grub/util/lvm.h: Likewise.
17768 * include/grub/util/misc.h: Likewise.
17769 * include/grub/util/raid.h: Likewise.
17770 * include/grub/util/resolve.h: Likewise.
17771 * io/gzio.c: Likewise.
17772 * kern/device.c: Likewise.
17773 * kern/disk.c: Likewise.
17774 * kern/dl.c: Likewise.
17775 * kern/elf.c: Likewise.
17776 * kern/env.c: Likewise.
17777 * kern/err.c: Likewise.
17778 * kern/file.c: Likewise.
17779 * kern/fs.c: Likewise.
17780 * kern/loader.c: Likewise.
17781 * kern/main.c: Likewise.
17782 * kern/misc.c: Likewise.
17783 * kern/mm.c: Likewise.
17784 * kern/parser.c: Likewise.
17785 * kern/partition.c: Likewise.
17786 * kern/rescue.c: Likewise.
17787 * kern/term.c: Likewise.
17788 * kern/efi/efi.c: Likewise.
17789 * kern/efi/init.c: Likewise.
17790 * kern/efi/mm.c: Likewise.
17791 * kern/i386/dl.c: Likewise.
17792 * kern/i386/efi/init.c: Likewise.
17793 * kern/i386/efi/startup.S: Likewise.
17794 * kern/i386/pc/init.c: Likewise.
17795 * kern/i386/pc/lzo1x.S: Likewise.
17796 * kern/i386/pc/startup.S: Likewise.
17797 * kern/ieee1275/ieee1275.c: Likewise.
17798 * kern/powerpc/cache.S: Likewise.
17799 * kern/powerpc/dl.c: Likewise.
17800 * kern/powerpc/ieee1275/cmain.c: Likewise.
17801 * kern/powerpc/ieee1275/crt0.S: Likewise.
17802 * kern/powerpc/ieee1275/init.c: Likewise.
17803 * kern/powerpc/ieee1275/openfw.c: Likewise.
17804 * kern/sparc64/cache.S: Likewise.
17805 * kern/sparc64/dl.c: Likewise.
17806 * kern/sparc64/ieee1275/init.c: Likewise.
17807 * kern/sparc64/ieee1275/openfw.c: Likewise.
17808 * loader/efi/chainloader.c: Likewise.
17809 * loader/efi/chainloader_normal.c: Likewise.
17810 * loader/i386/efi/linux.c: Likewise.
17811 * loader/i386/efi/linux_normal.c: Likewise.
17812 * loader/i386/pc/chainloader.c: Likewise.
17813 * loader/i386/pc/chainloader_normal.c: Likewise.
17814 * loader/i386/pc/linux.c: Likewise.
17815 * loader/i386/pc/linux_normal.c: Likewise.
17816 * loader/i386/pc/multiboot.c: Likewise.
17817 * loader/i386/pc/multiboot_normal.c: Likewise.
17818 * loader/powerpc/ieee1275/linux.c: Likewise.
17819 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17820 * normal/arg.c: Likewise.
17821 * normal/cmdline.c: Likewise.
17822 * normal/command.c: Likewise.
17823 * normal/completion.c: Likewise.
17824 * normal/execute.c: Likewise.
17825 * normal/function.c: Likewise.
17826 * normal/lexer.c: Likewise.
17827 * normal/main.c: Likewise.
17828 * normal/menu.c: Likewise.
17829 * normal/menu_entry.c: Likewise.
17830 * normal/misc.c: Likewise.
17831 * normal/parser.y: Likewise.
17832 * normal/script.c: Likewise.
17833 * normal/i386/setjmp.S: Likewise.
17834 * normal/powerpc/setjmp.S: Likewise.
17835 * normal/sparc64/setjmp.S: Likewise.
17836 * partmap/acorn.c: Likewise.
17837 * partmap/amiga.c: Likewise.
17838 * partmap/apple.c: Likewise.
17839 * partmap/gpt.c: Likewise.
17840 * partmap/pc.c: Likewise.
17841 * partmap/sun.c: Likewise.
17842 * term/gfxterm.c: Likewise.
17843 * term/terminfo.c: Likewise.
17844 * term/efi/console.c: Likewise.
17845 * term/i386/pc/console.c: Likewise.
17846 * term/i386/pc/serial.c: Likewise.
17847 * term/i386/pc/vesafb.c: Likewise.
17848 * term/i386/pc/vga.c: Likewise.
17849 * term/ieee1275/ofconsole.c: Likewise.
17850 * util/biosdisk.c: Likewise.
17851 * util/console.c: Likewise.
17852 * util/genmoddep.c: Likewise.
17853 * util/getroot.c: Likewise.
17854 * util/grub-emu.c: Likewise.
17855 * util/grub-mkdevicemap.c: Likewise.
17856 * util/grub-probe.c: Likewise.
17857 * util/lvm.c: Likewise.
17858 * util/misc.c: Likewise.
17859 * util/raid.c: Likewise.
17860 * util/resolve.c: Likewise.
17861 * util/update-grub.in: Likewise.
17862 * util/update-grub_lib.in: Likewise.
17863 * util/grub.d/00_header.in: Likewise.
17864 * util/grub.d/10_hurd.in: Likewise.
17865 * util/grub.d/10_linux.in: Likewise.
17866 * util/i386/efi/grub-install.in: Likewise.
17867 * util/i386/efi/grub-mkimage.c: Likewise.
17868 * util/i386/pc/grub-install.in: Likewise.
17869 * util/i386/pc/grub-mkimage.c: Likewise.
17870 * util/i386/pc/grub-mkrescue.in: Likewise.
17871 * util/i386/pc/grub-setup.c: Likewise.
17872 * util/i386/pc/misc.c: Likewise.
17873 * util/powerpc/ieee1275/grub-install.in: Likewise.
17874 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
17875 * util/powerpc/ieee1275/misc.c: Likewise.
17876 * video/bitmap.c: Likewise.
17877 * video/video.c: Likewise.
17878 * video/i386/pc/vbe.c: Likewise.
17879 * video/i386/pc/vbeblit.c: Likewise.
17880 * video/i386/pc/vbefill.c: Likewise.
17881 * video/i386/pc/vbeutil.c: Likewise.
17882 * video/readers/tga.c: Likewise.
17883
3572d015 178842007-07-02 Robert Millan <rmh@aybabtu.com>
17885
17886 * conf/i386-efi.rmk: Replace obsolete reference to
17887 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
17888 with util/getroot.c.
17889 * conf/powerpc-ieee1275.rmk: Likewise.
17890 * conf/sparc64-ieee1275.rmk: Likewise.
17891
17892 * util/grub-emu.c (main): Fix unchecked pointer handling.
17893
2c2a681b 178942007-07-02 Robert Millan <rmh@aybabtu.com>
17895
17896 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
17897 invocation to fail, in order to support partition-less media.
17898
17899 * util/i386/pc/grub-install.in: Likewise.
17900
17901 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
17902 which fs or partmap modules are needed (akin to its sister scripts).
17903
17904 Also use grub-probe to get rid of unportable /proc/mounts check.
17905
17906 Print the same informational message that the other scripts do, before
fe6b695a 17907 exiting.
2c2a681b 17908
6193defe 179092007-06-23 Robert Millan <rmh@aybabtu.com>
17910
fe6b695a 17911 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 17912 a font file can be found and, if so, echo the GRUB path to it.
17913
17914 * util/update-grub.in: Handle multiple terminals depending on user
17915 input, platform availability and font file presence. Propagate
17916 variables of our findings to /etc/grub.d/ children.
17917
17918 * util/grub.d/00_header.in: Handle multiple terminals, based on
17919 environment setup by update-grub.
17920
eface1dc 179212007-06-23 Robert Millan <rmh@aybabtu.com>
17922
ba50d28f 17923 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 17924
bf697e28 179252007-06-21 Robert Millan <rmh@aybabtu.com>
17926
17927 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
17928 indicate end of data section in kernel image.
17929 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
17930 GRUB_KERNEL_MACHINE_DATA_END.
17931
17932 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
17933 space for it.
17934 * kern/i386/efi/startup.S: Likewise.
17935
17936 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
17937 during image generation. Implement --prefix option to override this
17938 patch.
17939 * util/i386/efi/grub-mkimage.c: Likewise.
17940
17941 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
17942 code to make path relative to its root into a separate function.
17943
17944 * util/i386/pc/grub-install.in: Use newly provided
17945 make_system_path_relative_to_its_root() to convert ${grubdir}, then
17946 pass the result to grub-install --prefix.
17947
baa574b4 179482007-06-13 Robert Millan <rmh@aybabtu.com>
17949
17950 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
17951 DEFAULT_DEVICE_MAP.
17952 * util/grub-emu.c: Use above definitions from misc.h instead of
17953 defining them.
17954 * util/grub-mkdevicemap.c: Likewise.
17955 * util/i386/pc/grub-setup.c: Likewise.
17956 * util/grub-probe.c: Likewise.
17957 (probe): Abort with grub_util_error() when either
17958 grub_guess_root_device or grub_util_get_grub_dev fails.
17959
0215dcbf 179602007-06-12 Robert Millan <rmh@aybabtu.com>
17961
17962 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
17963 "pager" assignment.
17964 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
17965 "pcdata".
17966 * util/grub-probe.c (probe): Likewise for "drive_name".
17967
8af2ab7b 179682007-06-11 Robert Millan <rmh@aybabtu.com>
17969
17970 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
17971 not just the cdrom one.
17972
59d31694 179732007-06-11 Robert Millan <rmh@aybabtu.com>
17974
17975 * util/i386/pc/grub-mkrescue.in: Add "set -e".
17976 Add --pkglibdir=DIR option to override pkglibdir.
17977 Mention --image-type=TYPE in help output.
17978 Fix --grub-mkimage (it was a no-op).
fe6b695a 17979 Abort gracefully when no parameter is given.
59d31694 17980
7ee367e4 179812007-06-11 Robert Millan <rmh@aybabtu.com>
17982
17983 * util/i386/pc/grub-mkrescue.in: New file.
17984 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
17985 * Makefile.in: Handle bin_SCRIPTS.
17986
29b0ed46 179872007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
17988
17989 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
17990 list of video modes.
17991
c0f90770 179922007-06-06 Robert Millan <rmh@aybabtu.com>
17993
17994 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
17995 file doesn't exist, or if it is in a filesystem grub can't read.
17996
17997 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17998 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17999 header comment to fit in 80 columns when the variables are resolved.
18000
18001 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18002 could be identified by update-grub. Remove redundant check for
fe6b695a 18003 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18004 handles that).
18005
fb36dc26 180062007-06-04 Robert Millan <rmh@aybabtu.com>
18007
18008 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18009
18010 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18011
18012 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18013
0c68c93e 180142007-06-04 Robert Millan <rmh@aybabtu.com>
18015
18016 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18017
18018 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18019 grub_apple_partition_map_fini.
18020
18021 * util/biosdisk.c
18022 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18023 to access >2 TiB disks).
18024
18025 Print disk->total_sectors with %llu instead of %lu, since this
18026 variable is always 64-bit (prevents wrong disk size from being displayed
18027 on either >2 TiB disk or big-endian CPU).
18028
18029 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18030 into a generic case that supports all (sane) partition maps.
18031
18032 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18033 breaks big-endian.
18034
18035 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18036 and grub_apple_partition_map_fini() after that.
18037
0f23eb74 180382007-06-01 Robert Millan <rmh@aybabtu.com>
18039
18040 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18041
18042 * util/grub.d/00_header.in: Only enable gfxterm when
18043 convert_system_path_to_grub_path() succeeds.
18044
42c71976 180452007-05-20 Robert Millan <rmh@aybabtu.com>
18046
18047 * util/update-grub_lib.in: New file.
18048 * DISTLIST: Add update-grub_lib.in.
18049 * conf/common.rmk: Generate update-grub_lib and install it in
18050 $(lib_DATA).
18051 * Makefile.in: Add install routine for $(lib_DATA).
18052
18053 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18054 function provided by update-grub_lib to support arbitrary paths of
18055 unifont.pff.
18056 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18057 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18058
5beb2291 180592007-05-19 Robert Millan <rmh@aybabtu.com>
18060
18061 * commands/i386/cpuid.c: New module.
18062 * DISTLIST: Add it.
18063 * conf/i386-efi.rmk: Enable cpuid.mod.
18064 * conf/i386-pc.rmk: Likewise.
18065
7262eca1 180662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18067
18068 * kern/disk.c (grub_disk_read): Check return value of
18069 grub_realloc().
18070
260ba823 180712007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18072
18073 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18074 arrays.
18075 * disk/raid.c (grub_raid_open): Likewise.
18076
1ecb6cf2 180772007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18078
18079 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18080 stack instead of on the heap.
18081
18082 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18083 before doing a read on it.
18084
18085 * configure.ac: Only use -fno-stack-protector for the target
18086 environment.
f19dbdb7 18087
21c8cbb1 180882007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18089
18090 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18091 __attribute_ ((unused)) to mode_type argument.
18092
18093 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18094
21c8cbb1 18095 * kern/misc.c (memcmp): Fix prototype.
18096
18097 * include/grub/partition.h [GRUB_UTIL]
18098 (grub_gpt_partition_map_init): Add prototype.
18099 (grub_gpt_partition_map_fini): Likewise.
18100
18101 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18102 at the right place.
18103
18104 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18105 (grub_fat_read_data): Likewise.
18106 (grub_fat_find_dir): Likewise.
18107
18108 * font/manager.c (find_glyph): Make table a const.
18109 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 18110
849d55d3 181112007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18112
18113 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18114 code, first search for device in /dev/mapper, then in /dev.
18115 (grub_util_get_grub_dev): New function.
18116 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18117 prototype.
18118 * util/grub-probe.c (probe): Remove check for RAID, call
18119 grub_util_get_grub_dev() instead of
18120 grub_util_biosdisk_get_grub_dev().
18121 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18122 grub_util_biosdisk_get_grub_dev().
18123 * util/i386/pc/grub-setup.c (main): Likewise.
18124
8fff7c2f 181252007-05-16 Robert Millan <rmh@aybabtu.com>
18126
18127 * DISTLIST: Update for the latest changes.
18128 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18129 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18130 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18131 grub/util/biosdisk.h.
18132 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18133 grub/util/biosdisk.h.
18134
48e12b52 181352007-05-16 Robert Millan <rmh@aybabtu.com>
18136
18137 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18138
46b9d128 181392007-05-16 Robert Millan <rmh@aybabtu.com>
18140
18141 * util/i386/efi/grub-install.in: New.
18142 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18143 newly added grub-install.
18144 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18145 include.
18146 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18147 grub/util/biosdisk.h.
18148 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18149 grub/util/biosdisk.h.
18150
2d1a40a9 181512007-05-16 Robert Millan <rmh@aybabtu.com>
18152
18153 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18154 * include/grub/util/biosdisk.h: ... here.
18155 * util/i386/pc/biosdisk.c: Moved to ...
18156 * util/biosdisk.c: ... here.
18157 * util/i386/pc/getroot.c: Moved to ...
18158 * util/getroot.c: ... here.
18159 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18160 * util/grub-mkdevicemap.c: ... here.
18161 * util/i386/pc/grub-probe.c: Moved to ...
18162 * util/grub-probe.c: ... here.
18163
9e26e3bc 181642007-05-15 Robert Millan <rmh@aybabtu.com>
18165
18166 * util/update-grub.in: Remove duplicated line in grub.cfg header
18167 message.
18168
57f96397 181692007-05-13 Robert Millan <rmh@aybabtu.com>
18170
18171 * util/update-grub.in: Fix a few assumptions about the devices holding
18172 /, /boot and /boot/grub being the same.
18173 * util/grub.d/00_header.in: Likewise.
18174 * util/grub.d/10_hurd.in: Likewise.
18175 * util/grub.d/10_linux.in: Likewise.
18176
18177 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18178 patterns. Use that to define the `.old' suffix as older than `'.
18179
18180 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18181
18182 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18183 the grub.cfg header message.
18184
2e610d62 181852007-05-11 Robert Millan <rmh@aybabtu.com>
18186
18187 * util/update-grub.in: Create device.map if it doesn't already exist,
18188 before attempting to run grub-probe.
18189 Check for grub-probe and grub-mkdevicemap with the same code
18190 grub-install is using.
18191 Remove test mode.
18192
3f6a10ef 181932007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18194
18195 * Makefile.in: Add the datarootdir autoconf variable.
18196
02e7b75e 181972007-05-09 Robert Millan <rmh@aybabtu.com>
18198
18199 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18200 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18201
75f396cc 182022007-05-07 Robert Millan <rmh@aybabtu.com>
18203
18204 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18205 determine partition map module.
18206 * util/i386/pc/grub-install.in: Use this feature to decide which
18207 partition module to load, instead of hardcoding pc and gpt.
18208
da65cb36 182092007-05-07 Robert Millan <rmh@aybabtu.com>
18210
18211 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18212 source directory differs from build directory.
18213
b57d6a91 182142007-05-05 Robert Millan <rmh@aybabtu.com>
18215
18216 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18217 initialisation.
18218
509d00f1 182192007-05-05 Robert Millan <rmh@aybabtu.com>
18220
18221 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18222
c48f23ef 182232007-05-05 Robert Millan <rmh@aybabtu.com>
18224
18225 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18226 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18227
20b97658 182282007-05-05 Robert Millan <rmh@aybabtu.com>
18229
18230 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18231 (grub_probe_SOURCES): Likewise.
18232 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18233 GPT and initialize dos_part and bsd_part accordingly.
18234 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18235 install_bsd_part.
18236 (main): Activate gpt module for use during partition identification,
18237 and deactivate it afterwards.
18238 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18239 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18240 partition identification, and deactivate it afterwards.
18241
99123174 182422007-05-05 Robert Millan <rmh@aybabtu.com>
18243
18244 * term/i386/pc/console.c (grub_console_fini): Call
18245 grub_term_set_current() before grub_term_unregister().
18246
ebd97f6e 182472007-05-04 Robert Millan <rmh@aybabtu.com>
18248
18249 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18250 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18251 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18252 and update-grub_DATA.
18253 * conf/common.rmk: Build and install update-grub components.
18254 * conf/common.mk: Regenerate.
18255 * util/update-grub.in: New. Core of update-grub.
18256 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18257 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18258 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18259 * util/grub.d/README: New. Document grub.d directory layout.
18260
b06a264d 182612007-05-01 Robert Millan <rmh@aybabtu.com>
18262
18263 * util/grub-emu.c: Move initialization functions
18264 grub_util_biosdisk_init() and grub_init_all() before
18265 grub_util_biosdisk_get_grub_dev(), which relies on them.
18266
41f0050e 182672007-04-19 Robert Millan <rmh@aybabtu.com>
18268
18269 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18270 it is used later.
18271
04582bb3 182722007-04-18 Jerone Young <jerone@gmail.com>
18273
f19dbdb7 18274 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 18275 stanza.
18276
08db4632 182772007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 18278
08db4632 18279 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18280 continue on and look for device node with real device name.
18281
801b76be 182822007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 18283
fe6b695a 18284 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 18285 ability.
18286 * Makefile.in: Add autoconf package transformation code.
18287 * util/i386/pc/grub-install.in: Likewise.
18288 * util/powerpc/ieee1275/grub-install.in: Likewise.
18289
6795c4e1 182902007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18291
18292 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18293 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18294 (EXT2_REVISION): Likewise.
18295 (EXT2_INODE_SIZE): Likewise.
18296 (struct grub_ext2_block_group): Added a missing member
18297 "used_dirs".
18298 (grub_ext2_read_inode): Divide by the inode size in a superblock
18299 instead of 128 to obtain INODES_PER_BLOCK.
18300 Use the macro EXT2_INODE_SIZE instead of directly using
18301 SBLOCK->INODE_SIZE.
18302
d70af616 183032007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18304
18305 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18306 superblock instead of the structure size to compute an
18307 offset. This fixes the problem that GRUB could not read a
18308 filesystem when inode size is different from 128-byte.
18309
3b801603 183102007-03-05 Marco Gerards <marco@gnu.org>
18311
18312 * normal/main.c (read_config_file): When "menu" is not set, create
18313 an initial context.
18314
4785bfe4 183152007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18316
18317 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18318 (HEAP_LIMIT): New macro.
18319 (grub_claim_heap): Claim memory up to `heaplimit'.
18320
a0cbb023 183212007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18322
18323 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
18324 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
18325 (_start): Likewise.
18326 (grub_arch_modules_addr): Return address after `_end'.
18327 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
18328 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
18329 (add_segments): Calculate `_end' from phdr size and location.
18330 (ALIGN_UP): Moved to ...
18331 * include/grub/misc.h: here.
18332 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18333 New macro.
18334 (GRUB_IEEE1275_MODULE_BASE): Removed.
18335
fd7d8eba 183362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18337
18338 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18339 loop boundary.
18340
9b09e6fc 183412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18342
18343 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
18344 All users updated.
18345 (grub_elf64_load_hook_t): Likewise.
18346 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
18347 debug output.
18348
3ce27299 183492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18350
18351 * kern/mm.c: Update copyright.
18352 (grub_mm_debug): Correct syntax error.
18353 (grub_mm_dump_free): New function.
18354 (grub_debug_free): Call `grub_free'.
18355 * include/grub/mm.h: Update copyright.
18356 (grub_mm_dump_free): Add declaration.
18357
077d5fee 183582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18359
18360 * include/grub/ieee1275/ieee1275.h: Update copyright.
18361 * kern/powerpc/ieee1275/init.c: Likewise.
18362 * kern/powerpc/ieee1275/openfw.c: Likewise.
18363
18364 * loader/powerpc/ieee1275/linux.c: Likewise.
18365 * include/grub/elfload.h: Likewise.
18366 * kern/elf.c: Likewise.
18367 (grub_elf32_load): Pass `base' and `size' parameters. Update all
18368 callers.
18369 (grub_elf64_load): Likewise.
18370 (grub_elf32_load_segment): Move to a nested function.
18371 (grub_elf64_load_segment): Likewise.
18372
dc946850 183732007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18374
18375 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
18376 prototype.
18377 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
18378 (grub_heap_len): Likewise.
18379 (HEAP_SIZE): New macro.
18380 (grub_claim_heap): New function.
18381 (grub_machine_init): Don't claim heap directly. Call
18382 `grub_claim_heap'.
18383 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
18384 (grub_available_iterate): New function.
18385
baa2a121 183862007-02-03 Thomas Schwinge <tschwinge@gnu.org>
18387
18388 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
18389 * configure.ac: Use it for testing the HOST and TARGET compilers.
18390
4fe9862e 183912006-12-13 Thomas Schwinge <tschwinge@gnu.org>
18392
18393 * Makefile.in (enable_grub_emu): New variable.
18394 * configure.ac (--enable-grub-emu): New option.
18395 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
18396 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
18397 * conf/i386-pc.rmk: Likewise.
18398 * conf/powerpc-ieee1275.rmk: Likewise.
18399 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
18400
a8aa5762 184012006-12-12 Marco Gerards <marco@gnu.org>
18402
18403 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
18404
18405 * kern/env.c (grub_env_unset): Don't free the member `value' when
18406 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
18407 pointer.
18408
18409 * normal/main.c (current_menu): Removed.
18410 (free_menu): Unset the `menu' environment variable.
18411 (grub_normal_menu_addentry): Make use of the environment variable
18412 `menu', instead of using the global `current_menu'. Allocate
18413 memory for the sourcecode of this entry.
18414 (read_config_file): New argument `nested', changed all callers.
18415 Only in the case of a new context, initialize a new menu. Set the
18416 `menu' environment variable.
18417 (grub_normal_execute): Don't set and unset the environment
18418 variable `menu' here anymore. Only free the menu when leaving the
18419 context.
18420
18421 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
18422 leak.
18423
957b3a3e 184242006-12-11 Marco Gerards <marco@gnu.org>
18425
18426 * normal/menu_entry.c (run): Fix off by one bug so the last line
18427 is executed. Move the loader check to outside the loop.
18428
ef875714 184292006-12-08 Hollis Blanchard <hollis@penguinppc.org>
18430
18431 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
18432
4e739985 184332006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
18434
18435 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
18436 the number of sectors. Reported by Andrey Shuvikov
18437 <mr_hyro@yahoo.com>.
f19dbdb7 18438
790707f2 184392006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
18440
18441 * kern/disk.c (grub_disk_read): When there is a read error, always
18442 try to read only the necessary data.
f19dbdb7 18443
790707f2 18444 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
18445 disk/raid.c.
18446 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
18447 prototype.
18448 [GRUB_UTIL] (grub_raid_fini): Likewise.
18449 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 18450 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 18451 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
18452 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
18453 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
18454 and grub_raid_fini().
f19dbdb7 18455
03e58196 184562006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
18457
18458 * include/grub/types.h (__unused): Rename to UNUSED.
18459 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
18460 (grub_elf64_size): Likewise.
f19dbdb7 18461
ae4f23bf 184622006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18463
18464 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
18465 grub_error_push and grub_error_pop in the error-handling path.
18466 (grub_elf32_load_segment): Only call grub_file_read with non-zero
18467 length.
18468
2166cc83 184692006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18470
18471 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
18472 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18474 (kernel_elf_SOURCES): Likewise.
18475 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
18476 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
18477 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18478 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18479 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
18480 (elf_mod_SOURCES): New variable.
18481 (elf_mod_CFLAGS): Likewise.
18482 (elf_mod_LDFLAGS): Likewise.
18483 * include/grub/types.h (__unused): New macro.
18484 * include/grub/elfload.h: New file.
18485 * kern/elf.c: Likewise.
18486 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
18487 (ELF32_LOADMASK): New macro.
18488 (ELF64_LOADMASK): Likewise.
18489 (vmlinux): Removed.
18490 (grub_linux_load32): New function.
18491 (grub_linux_load64): Likewise.
18492 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
18493 Use grub_elf_t instead of grub_file_t.
18494
a09d5aa5 184952006-11-02 Hollis Blanchard <hollis@penguinppc.org>
18496
18497 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
18498 `catch_result' to struct set_color_args.
18499
d976fc51 185002006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18501
18502 * normal/menu.c: Include grub/script.h.
18503 * normal/menu_entry.c: Likewise.
18504 * include/grub/normal.h: Do not include grub/script.h.
18505
67507549 185062006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18507
18508 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
18509
69203a99 185102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18511
18512 * kern/disk.c (grub_disk_open): Print debug messages when opening a
18513 disk.
18514 (grub_disk_close): Print debug messages when closing a disk.
18515 (grub_disk_read): Print debug messages when disk read fails.
18516 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
18517 filesystem type.
18518 * kern/partition.c: Include misc.h.
18519 (grub_partition_iterate): Print debug messages when detecting
18520 partition type.
18521
e2b8278c 185222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18523
18524 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
18525 is negative.
18526 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
18527
97b2f2ff 185282006-10-26 Hollis Blanchard <hollis@penguinppc.org>
18529
18530 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18531 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
18532
6555d655 185332006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
18534
18535 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
18536 instead of sizeof(lv). Patch by Michael Guntsche.
18537
4d42b77f 185382006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
18539
18540 * disk/lvm.c: Rename VGS to VG_LIST.
18541 (grub_lvm_iterate): Change VGS->LV to VG-LV.
18542 (grub_lvm_open): Likewise.
18543 Thanks to Michael Guntsche for finding this bug.
18544
5d74d927 185452006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18546
18547 * configure.ac (AC_INIT): Bumped to 1.95.
18548
a1bb27e4 185492006-10-14 Robert Millan <rmh@aybabtu.com>
18550
18551 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
18552 with "/dev/.static/dev/md".
18553
e0994b8b 185542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18555
18556 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
18557 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
18558 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
18559 DRIVE_NAME are always freed.
18560
18561 * util/i386/pc/biosdisk.c (make_device_name): Add one into
18562 DOS_PART, as a DOS partition is counted from one instead of zero
18563 now. Reported by Robert Millan.
18564
ddd5cee9 185652006-10-14 Robert Millan <rmh@aybabtu.com>
18566
18567 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
18568 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
18569 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
18570 string returned by grub_guess_root_device.
18571 * util/i386/pc/grub-setup.c: Likewise.
18572 * util/i386/pc/grub-probefs.c: Likewise.
18573
18574 * util/i386/pc/grub-probefs.c: Rename to ...
18575 * util/i386/pc/grub-probe.c: ... this.
18576 * DISTLIST: Remove grub-probefs, add grub-probe.
18577 * conf/i386-efi.rmk: Likewise.
18578 * conf/i386-pc.rmk: Likewise.
18579 * util/i386/pc/grub-install.in: Likewise.
18580
18581 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
18582 choose which information we want to print.
18583
2b002173 185842006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18585
18586 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
18587 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
18588 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
18589 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
18590 video/readers/tga.c and video/i386/pc/vbeutil.c.
18591
185922006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
18593
18594 Added support for RAID and LVM.
f19dbdb7 18595
2b002173 18596 * disk/lvm.c: New file.
18597 * disk/raid.c: Likewise.
18598 * include/grub/lvm.h: Likewise.
f19dbdb7 18599 * include/grub/raid.h: Likewise.
2b002173 18600 * include/grub/util/lvm.h: Likewise.
18601 * include/grub/util/raid.h: Likewise.
18602 * util/lvm.c: Likewise.
18603 * util/raid.c: Likewise.
18604
18605 * include/grub/disk.h (grub_disk_dev_id): Add
18606 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
18607 (grub_disk_get_size): New prototype.
18608 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
18609 returns a partition.
18610 (grub_disk_get_size): New function.
f19dbdb7 18611
2b002173 18612 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18613 verbatim if grub_install_dos_part is -2.
18614
18615 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18616 and LVM devices.
18617
18618 * util/i386/pc/grub-setup.c (setup): New argument
18619 MUST_EMBED. Force embedding of GRUB when the argument is
18620 true. Close FILE before returning.
18621 (main): Add support for RAID and LVM.
f19dbdb7 18622
2b002173 18623 * conf/common.rmk: Add RAID and LVM modules.
18624 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18625 util/lvm.c.
18626 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18627
18628 * kern/misc.c (grub_strstr): New function.
18629 * include/grub/misc.h (grub_strstr): New prototype.
18630
050548d0 186312006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18632
18633 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18634
da849d2d 186352006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18636
18637 * kern/misc.c (grub_strtoull): Guess the base only if not
18638 specified.
18639
97b2f2ff 186402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 18641
18642 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18643 PowerMac support.
18644
97b2f2ff 186452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 18646
18647 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18648
18649 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18650 Remove `flags' argument. All callers changed.
18651 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18652 (IEEE1275_IHANDLE_INVALID): New variable.
18653 (IEEE1275_CELL_INVALID): New variable.
18654 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18655 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18656 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18657 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18658 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18659 codes from Open Firmware. All callers updated.
18660 (grub_ieee1275_next_property): Directly return Open Firmware return
18661 code.
18662 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18663 Standardize error checking from `grub_ieee1275_get_property'.
18664 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18665 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18666
97b2f2ff 186672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18668
18669 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18670 `instance_to_package_args' to `instance_to_path_args'.
18671
18672 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18673 `grub_ieee1275_chosen'.
18674
18675 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18676 `grub_ieee1275_interpret'.
18677
97b2f2ff 186782006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18679
18680 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18681
97b2f2ff 186822006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18683
18684 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18685 (__cmpdi): Likewise.
18686
18687 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18688 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18689 `grub_ssize_t'.
18690
02bb8acc 18691 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 18692
18693 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18694 to type `grub_ssize_t'.
18695 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18696
7f9a8531 186972006-09-22 Marco Gerards <marco@gnu.org>
18698
18699 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18700 newlines.
18701
b5ef1102 187022006-09-22 Marco Gerards <marco@gnu.org>
18703
18704 * commands/echo.c: New file.
18705
18706 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18707
18708 * conf/common.rmk (echo_mod_SOURCES): New variable.
18709 (echo_mod_CFLAGS): Likewise.
18710 (echo_mod_LDFLAGS): Likewise.
18711
2cff3677 187122006-09-22 Marco Gerards <marco@gnu.org>
18713
18714 * normal/main.c (get_line): Malloc memory instead of using
18715 preallocated memory. Removed the arguments `cmdline' and
18716 `max_len'. Updated all callers.
18717
6ba4688b 187182006-09-22 Marco Gerards <marco@gnu.org>
18719
18720 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18721 (normal_mod_DEPENDENCIES): Likewise.
18722
18723 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18724 (normal_mod_DEPENDENCIES): Likewise.
18725
18726 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18727
e02ac02c 187282006-09-22 Johan Rydberg <jrydberg@gnu.org>
18729
18730 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18731 programs.
18732 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18733 (normal_mod_DEPENDENCIES): Likewise.
18734 * conf/i386-pc.mk: Regenerate.
18735 * conf/i386-efi.mk: Likewise
18736 * conf/common.mk: Likewise.
18737 * conf/powerpc-ieee1275.mk: Likewise.
18738 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18739
8d252e44 187402006-09-22 Robert Millan <rmh@aybabtu.com>
18741
18742 Sync with i386 version.
18743 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18744 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18745
209bf7ac 187462006-09-21 Robert Millan <rmh@aybabtu.com>
18747
18748 Import from GRUB Legacy (lib/device.c):
18749 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18750 (init_device_map) [__linux__]: Add support for I2O devices.
18751
6b146090 187522006-09-14 Marco Gerards <marco@gnu.org>
18753
18754 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18755 `-melf_i386'.
18756
e38600a8 187572006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 18758
18759 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18760 /boot/grub/*.lst.
78fa1790 18761
2952da5d 18762 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 18763
2952da5d 18764 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18765 before adding it to device.map.
18766
01b82a64 187672006-08-15 Johan Rydberg <jrydberg@gnu.org>
18768
fe6b695a 18769 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 18770 compiles a file; using the -MD option.
18771 * conf/common.mk: Regenerate.
18772 * conf/i386-pc.mk: Likewise.
18773 * conf/i386-efi.mk: Likewise.
18774 * conf/powerpc-ieee1275.mk: Likewise.
18775 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18776
1064790d 187772006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18778
18779 Move the prototypes of grub_setjmp and grub_longjmp to
18780 cpu/setjmp.h, so that each architecture may specify different
18781 attributes.
f19dbdb7 18782
1064790d 18783 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
18784 (grub_longjmp): Likewise.
18785 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
18786 (grub_longjmp): Likewise.
18787 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
18788 (grub_longjmp): Likewise.
18789
18790 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
18791 [!GRUB_UTIL] (grub_longjmp): Removed.
18792
29dda3ed 187932006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
18794
18795 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
18796 "color!" method does not return any value.
18797
ad2a06ed 187982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18799
18800 * include/grub/bitmap.h: New file.
18801
18802 * include/grub/i386/pc/vbeutil.h: Likewise.
18803
18804 * video/bitmap.c: Likewise.
18805
18806 * video/readers/tga.c: Likewise.
18807
18808 * video/i386/pc/vbeutil.c: Likewise.
18809
18810 * commands/videotest.c: Code cleanup and updated to reflect to new
18811 video API.
18812
18813 * term/gfxterm.c: Likewise.
18814
18815 * video/video.c: Likewise.
18816
18817 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18818 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18819 (bitmap_mod_SOURCES): New entry.
18820 (bitmap_mod_CFLAGS): Likewise.
18821 (bitmap_mod_LDFLAGS): Likewise.
18822 (tga_mod_SOURCES): Likewise.
18823 (tga_mod_CFLAGS): Likewise.
18824 (tga_mod_LDFLAGS): Likewise.
18825
18826 * include/grub/video.h (grub_video_blit_operators): New enum type.
18827 (grub_video_render_target): Changed as forward declaration and moved
18828 actual definition to be video driver specific.
18829 (grub_video_adapter.blit_bitmap): Added blitting operator.
18830 (grub_video_adapter.blit_render_target): Likewise.
18831 (grub_video_blit_bitmap): Likewise.
18832 (grub_video_blit_render_target): Likewise.
18833
18834 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18835 driver specific render target definition.
18836 (grub_video_vbe_map_rgba): Added driver internal helper.
18837 (grub_video_vbe_unmap_color): Updated to use
18838 grub_video_i386_vbeblit_info.
18839 (grub_video_vbe_get_video_ptr): Likewise.
18840
18841 * include/grub/i386/pc/vbeblit.h
18842 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18843 grub_video_i386_vbeblit_info.
18844 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18845 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18846 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18847 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18848 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18849 (grub_video_i386_vbeblit_index_index): Likewise.
18850 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18851 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18852 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18853 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18854 operator.
18855 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18856 operator.
18857
18858 * video/i386/pc/vbeblit.c: Updated to reflect changes on
18859 include/grub/i386/pc/vbeblit.h.
18860
18861 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
18862 Updated to use grub_video_i386_vbeblit_info.
18863 (grub_video_i386_vbefill_R8G8B8): Likewise.
18864 (grub_video_i386_vbefill_index): Likewise.
18865 (grub_video_i386_vbefill): Added generic filler.
18866
18867 * video/i386/pc/vbefill.c: Updated to reflect changes on
18868 include/grub/i386/pc/vbefill.h.
18869
18870 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
18871 grub_video_i386_vbeblit_info.
18872 (grub_video_vbe_unmap_color): Likewise.
18873 (grub_video_vbe_blit_glyph): Likewise.
18874 (grub_video_vbe_scroll): Likewise.
18875 (grub_video_vbe_draw_pixel): Removed function.
18876 (grub_video_vbe_get_pixel): Likewise.
18877 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
18878 updated code to use it.
18879 (common_blitter): Added common blitter for render target and bitmap.
18880 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
18881 (grub_video_vbe_blit_render_target): Likewise.
18882
bc8c036d 188832006-07-30 Johan Rydberg <jrydberg@gnu.org>
18884
18885 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
18886 is in text mode if there is no console control protocol instance
18887 available.
18888
684a8eff 188892006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18890
18891 * include/grub/video.h: Code cleanup.
18892
18893 * include/grub/i386/pc/vbe.h: Likewise.
18894
18895 * video/i386/pc/vbe.c: Likewise.
18896
18897 * video/i386/pc/vbeblit.c: Likewise.
18898
18899 * video/i386/pc/vbefill.c: Likewise.
18900
18901 * video/video.c: Likewise. Also added more comments.
18902
5915059b 189032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18904
18905 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
18906 (struct grub_biosdisk_dap): Likewise.
18907
18908 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
18909 linkage settings for all functions.
18910
90ce5d56 189112006-07-12 Marco Gerards <marco@gnu.org>
18912
18913 * configure.ac (--enable-mm-debug): Fix typo.
18914
18915 * genkernsyms.sh.in: Use proper quoting for `CC'.
18916
43e7f879 189172006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
18918
18919 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
18920 (normal_mod_ASFLAGS): Remove "-m32".
18921
4889bdec 189222006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
18923
18924 * util/misc.c: Include config.h.
18925 [!HAVE_MEMALIGN]: Do not include malloc.h.
18926 (grub_memalign): Use posix_memalign, if present. Then, use
18927 memalign, if present. Otherwise, emit an error.
18928
18929 * util/grub-emu.c: Do not include malloc.h.
18930
18931 * include/grub/util/misc.h: Include unistd.h. This is required for
18932 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
18933 D. Eades III <hde@foobar-qux.org>.
18934
18935 * configure.ac (AC_GNU_SOURCE): Added.
18936 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
18937 type.
18938
fd39d4da 189392006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
18940
18941 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
18942 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
18943
b786f3b5 189442006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
18945
18946 * include/grub/types.h (grub_host_addr_t): Rename to
18947 grub_target_addr_t.
18948 (grub_host_off_t): Rename to grub_target_off_t.
18949 (grub_host_size_t): Rename to grub_target_size_t.
18950 (grub_host_ssize_t): Rename to grub_target_ssize_t.
18951 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
18952
18953 * include/grub/kernel.h (struct grub_module_header): Change type
18954 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
18955 (grub_module_info): Likewise.
f19dbdb7 18956
051988bb 189572006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18958
18959 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
18960 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
18961 Velazquez <jesus.velazquez@gmail.com>.
18962
deae281b 189632006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18964
18965 Count partitions from 1 instead of 0 in the string representation
18966 of partitions. Still use 0-based internally.
f19dbdb7 18967
deae281b 18968 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
18969 (sun_partition_map_iterate): Use grub_partition_t instead of
18970 struct grub_partition *. Cast DESC->START_CYLINDER to
18971 grub_uint64_t after converting the endian.
18972 (sun_partition_map_probe): Subtract 1 for PARTNUM.
18973 (sun_partition_map_get_name): Add 1 to P->INDEX.
18974
18975 * partmap/pc.c (grub_partition_parse): Subtract 1 for
18976 PCDATA->DOS_PART.
18977 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
18978
18979 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
18980 zero instead of one.
18981 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
18982 (gpt_partition_map_get_name): Add 1 into P->INDEX.
18983
18984 * partmap/apple.c (apple_partition_map_iterate): Change the type
18985 of POS to unsigned.
18986 (apple_partition_map_probe): Subtract 1 for PARTNUM.
18987 (apple_partition_map_get_name): Add 1 into P->INDEX.
18988
18989 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
18990 of POS to unsigned.
18991 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
18992 calculate the offset of a partition.
18993 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
18994 (amiga_partition_map_get_name): Add 1 into P->INDEX.
18995
18996 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18997 SECTOR to grub_disk_addr_t.
18998 (acorn_partition_map_iterate): Likewise.
18999 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19000 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19001 top.
19002 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19003
19004 * kern/i386/pc/init.c (make_install_device): Add 1 into
19005 GRUB_INSTALL_DOS_PART.
19006
19007 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19008 conditional.
19009
524a1e6a 190102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19011
19012 Clean up the code to support 64-bit addressing in disks and
19013 files. This change is not enough for filesystems yet.
f19dbdb7 19014
524a1e6a 19015 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19016 type of "start" to grub_uint64_t.
19017 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19018 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19019 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19020 convert addresses.
19021
19022 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19023 to grub_disk_addr_t.
19024
19025 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19026 string.
19027
19028 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19029
19030 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19031 to char *.
19032
19033 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19034
19035 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19036
19037 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19038
19039 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19040 to grub_off_t, to detect an error from grub_file_seek.
19041 (grub_multiboot_load_elf32): Likewise.
19042
19043 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19044 maximum unsigned long value when an overflow is detected.
19045 (grub_strtoull): New function.
19046 (grub_divmod64): Likewise.
19047 (grub_lltoa): use grub_divmod64.
19048
19049 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19050 grub_disk_addr_t.
19051 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19052 the pointer to next character. Use grub_strtoull instead of
19053 grub_strtoul.
19054 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19055 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19056 respectively.
19057
fe6b695a 19058 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19059 return value is signed.
19060 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19061 test if OFFSET is less than zero, as OFFSET is unsigned now.
19062
19063 * kern/disk.c (struct grub_disk_cache): Change the type of
19064 "sector" to grub_disk_addr_t.
19065 (grub_disk_cache_get_index): Change the type of SECTOR to
19066 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19067 unsigned after shifting.
19068 (grub_disk_cache_invalidate): Change the type of SECTOR to
19069 grub_disk_addr_t.
19070 (grub_disk_cache_unlock): Likewise.
19071 (grub_disk_cache_store): Likewise.
19072 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19073 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19074 grub_disk_addr_t and grub_uint64_t, respectively.
19075 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19076 body, as the value of OFFSET is tweaked by
19077 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19078 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19079 respectively.
19080 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19081 body, as the value of OFFSET is tweaked by
19082 grub_disk_check_range. Change the types of LEN and N to
19083 grub_size_t.
19084
19085 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19086 and "saved_offset" to grub_off_t.
19087 (test_header): Cast BUF to char *.
19088 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19089 to char *.
19090 (grub_gzio_read): Change the types of OFFSET and SIZE to
19091 grub_off_t and grub_size_t, respectively.
19092
19093 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19094 Removed.
19095 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19096 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19097 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19098 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19099 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19100
19101 * include/grub/types.h (grub_off_t): Unconditionally set to
19102 grub_uint64_t.
19103 (grub_disk_addr_t): Changed to grub_uint64_t.
19104
19105 * include/grub/partition.h (struct grub_partition): Change the
19106 types of "start", "len" and "offset" to grub_disk_addr_t,
19107 grub_uint64_t and grub_disk_addr_t, respectively.
19108 (grub_partition_get_start): Return grub_disk_addr_t.
19109 (grub_partition_get_len): Return grub_uint64_t.
19110
19111 * include/grub/misc.h (grub_strtoull): New prototype.
19112 (grub_divmod64): Likewise.
19113
19114 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19115 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19116 grub_off_t, respectively.
19117 All callers and references changed.
19118
19119 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19120 grub_size_t in "read".
19121 All callers and references changed.
19122
19123 * include/grub/file.h (struct grub_file): Change the types of
19124 "offset" and "size" to grub_off_t and grub_off_t,
19125 respectively. Change the type of SECTOR to grub_disk_addr_t in
19126 "read_hook".
19127 (grub_file_read): Change the type of LEN to grub_size_t.
19128 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19129 grub_off_t.
19130 (grub_file_size): Return grub_off_t.
19131 (grub_file_tell): Likewise.
19132 All callers and references changed.
19133
19134 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19135 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19136 "write".
19137 (struct grub_disk): Change the type of "total_sectors" to
19138 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 19139 "read_hook".
524a1e6a 19140 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19141 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19142 (grub_disk_write): Likewise.
19143 All callers and references changed.
19144
19145 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19146 char * for grub_strncmp to silence gcc.
19147 (grub_iso9660_mount): Likewise.
19148 (grub_iso9660_mount): Likewise.
19149 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19150 return statement.
19151 (grub_iso9660_iterate_dir): Likewise.
19152 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19153
19154 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19155 LEN to grub_disk_addr_t and grub_size_t, respectively.
19156
19157 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19158
19159 * fs/jfs.c (grub_jfs_read_file): Likewise.
19160
19161 * fs/minix.c (grub_jfs_read_file): Likewise.
19162
19163 * fs/sfs.c (grub_jfs_read_file): Likewise.
19164
19165 * fs/ufs.c (grub_jfs_read_file): Likewise.
19166
19167 * fs/xfs.c (grub_jfs_read_file): Likewise.
19168
19169 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19170 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19171 respectively.
19172
19173 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19174 BLKNR to -1 instead of returning GRUB_ERRNO.
19175 (grub_ext2_read_file): Change the types of SECTOR and
19176 LEN to grub_disk_addr_t and grub_size_t, respectively.
19177
19178 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19179 LEN to grub_disk_addr_t and grub_size_t, respectively.
19180
19181 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19182 grub_file_read.
19183
19184 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19185 string. Do not cast SECTOR explicitly.
19186
19187 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19188 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19189 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19190 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19191 over 2TB and LBA mode is not supported, raise an error.
19192 (get_safe_sectors): New function.
19193 (grub_biosdisk_read): Use get_safe_sectors.
19194 (grub_biosdisk_write): Likewise.
19195
19196 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19197 (grub_efidisk_write): Likewise.
19198
19199 * disk/loopback.c (delete_loopback): Cosmetic changes.
19200 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19201 correctly.
19202 (grub_loopback_open): Likewise.
19203 (grub_loopback_read): Likewise. Also, change the type of POS to
19204 grub_off_t, and fix the usage of grub_memset.
19205
19206 * commands/i386/pc/play.c: Include grub/machine/time.h.
19207
19208 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19209 print FILE->SIZE.
19210
19211 * commands/configfile.c: Include grub/env.h.
19212
19213 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19214 GRUB_ERRNO directly instead. Change the type of POS to
19215 grub_off_t. Follow the coding standard.
19216
19217 * commands/blocklist.c: Include grub/partition.h.
19218 (grub_cmd_blocklist): Return an error if the underlying device is
19219 not a disk. Take the starting sector of a partition into account,
19220 if a partition is used.
19221
19222 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19223 a length field.
19224 (lba_mode): Support 64-bit addresses.
19225 (chs_mode): Likewise.
19226 (copy_buffer): Adapted to the new offsets of a length field and a
19227 segment field.
19228 (blocklist_default_start): Allocate 64-bit space.
19229
19230 * boot/i386/pc/boot.S (force_lba): Removed.
19231 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19232 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19233 space.
19234 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19235 is useless.
19236 (lba_mode): Refactored to support a 64-bit address. More size
19237 optimization.
19238 (setup_sectors): Likewise.
19239
53af98ad 192402006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19241
19242 * DISTLIST: Added include/grub/i386/linux.h. Removed
19243 include/grub/i386/pc/linux.h
19244
19245 * configure.ac (AC_INIT): Bumped to 1.94.
19246
19247 * config.guess: Updated from gnulib.
19248 * config.sub: Likewise.
19249 * install-sh: Likewise.
19250 * mkinstalldirs: Likewise.
19251
b4c1940a 192522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19253
19254 * conf/common.rmk (grub_modules_init.lst): Depended on
19255 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19256 MODSRCFILES.
19257
19258 * genmk.rb (PModule::rule): Reverted the previous change.
19259
cfca1cfd 192602006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19261
19262 * conf/common.rmk (grub_modules_init.lst): Depends on
19263 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19264 that the target does not exist before producing.
19265 (grub_modules_init.h): Remove the target before generating.
19266 (grub_emu_init.c): Likewise.
19267
19268 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19269
aa6d7826 192702006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19271
19272 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19273 for the target-specific tests. Make sure that we also have the
19274 up-to-date target variables for those tests.
19275
26c607b9 192762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19277
19278 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19279 (PModule::rule): Likewise.
19280
0162321a 192812006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19282
19283 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19284 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19285 target-specific flags should be prefixed.
19286 (PModule::rule): Likewise.
19287
6c826348 192882006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19289
19290 * configure.ac (CMP): Check if cmp is available explicitly.
19291
b977bf01 192922006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19293
19294 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19295 (target_cpu): New variable.
19296 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 19297
b977bf01 19298 * util/i386/pc/grub-install.in (host_cpu): Removed.
19299 (target_cpu): New variable.
19300 (pkglibdir): Use target_cpu instead of host_cpu.
19301
19302 * util/genmoddep.c: Removed.
f19dbdb7 19303
b977bf01 19304 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19305 instead of GRUB_HOST_SIZEOF_VOID_P.
19306 * kern/dl.c: Likewise.
19307
19308 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19309 ...
19310 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19311 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19312 (GRUB_TARGET_SIZEOF_LONG): ... this.
19313 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19314 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19315 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19316 to ...
19317 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19318 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19319 (GRUB_TARGET_SIZEOF_LONG): ... this.
19320 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19321 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19322 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19323 to ...
19324 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19325 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19326 (GRUB_TARGET_SIZEOF_LONG): ... this.
19327 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19328 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19329
19330 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
19331 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
19332 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
19333 instead of GRUB_HOST_SIZEOF_LONG.
19334 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
19335 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
19336 GRUB_CPU_WORDS_BIGENDIAN.
19337 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19338 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19339 grub_host_ssize_t.
19340
19341 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
19342 (genmoddep_SOURCES): Likewise.
19343 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
19344 (genmoddep_SOURCES): Likewise.
19345 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
19346 (genmoddep_SOURCES): Likewise.
19347 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
19348 Likewise.
19349 (genmoddep_SOURCES): Likewise.
19350
19351 * genmoddep.awk: New file.
19352
19353 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
19354 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
19355 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
19356 (PModule::rule): Likewise.
19357 (Program::rule): Likewise.
19358 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
19359 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
19360 respectively.
19361
19362 * configure.ac: Rewritten intensively to use host and target
19363 instead of build and host, respectively.
19364
19365 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
19366 (host_cpu): Removed.
19367 (target_cpu): New variable.
19368 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
19369 (BUILD_CC): Removed.
19370 (BUILD_CFLAGS): Likewise.
19371 (BUILD_CPPFLAGS): Likewise.
19372 (TARGET_CC): New variable.
19373 (TARGET_CFLAGS): Likewise.
19374 (TARGET_CPPFLAGS): Likewise.
19375 (TARGET_LDFLAGS): Likewise.
19376 (AWK): Likewise.
19377 (include): Use target_cpu instead of host_cpu.
19378 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 19379
b977bf01 19380 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
19381
f09771a1 193822006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
19383
19384 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
19385 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
19386 field 'false' to 'exec_on_false'.
19387 (grub_script_create_cmdif): Renamed argument names to reflect above
19388 changes.
19389
19390 * normal/execute.c (grub_script_execute_cmdif): Likewise.
19391
19392 * normal/script.c (grub_script_create_cmdif): Likewise.
19393
118f4fb3 193942006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
19395
19396 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
19397 top.
19398 (grub_hfsplus_btree_recptr): Likewise.
19399 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
19400 FILEBLOCK both to pass a block number and store next block
19401 number.
19402 (grub_hfsplus_read_block): Rewritten heavily to support an extent
19403 overflow file correctly. Specify errors appropriately, because
19404 fshelp expects that GRUB_ERRNO is set when fails. Reuse
19405 grub_hfsplus_btree_recptr to get the pointer to a found key.
19406 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
19407 is found.
19408
19409 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
19410 linux.mod.
19411 (_linux_mod_SOURCES): New variable.
19412 (_linux_mod_CFLAGS): Likewise.
19413 (_linux_mod_LDFLAGS): Likewise.
19414 (linux_mod_SOURCES): Likewise.
19415 (linux_mod_CFLAGS): Likewise.
19416 (linux_mod_LDFLAGS): Likewise.
19417
19418 * DISTLIST: Added loader/i386/efi/linux.c,
19419 loader/i386/efi/linux_normal.c and
19420 include/grub/i386/efi/loader.h.
19421
19422 * loader/i386/efi/linux.c: New file.
19423 * loader/i386/efi/linux_normal.c: Likewise.
19424 * include/grub/i386/efi/loader.h: Likewise.
19425
89a7d726 194262006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
19427
19428 * commands/blocklist.c: New file.
19429
19430 * DISTLIST: Added commands/blocklist.c.
19431
19432 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 19433 color for the background, and a darker color for the foreground.
89a7d726 19434 (grub_console_checkkey): Return READ_KEY.
19435 (grub_console_cls): Set the background to
19436 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
19437
19438 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
19439
19440 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
19441 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
19442
19443 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
19444 prototype.
19445
19446 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
19447 BG. The spec is wrong again.
19448
19449 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
19450 prototype.
19451 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
19452
19453 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19454 commands/blocklist.c.
19455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 19456
89a7d726 19457 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
19458 (blocklist_mod_SOURCES): New variable.
19459 (blocklist_mod_CFLAGS): Likewise.
19460 (blocklist_mod_LDFLAGS): Likewise.
19461
75c8f258 194622006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
19463
19464 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
19465 duplication.
19466 (lba_mode): Use %eax more intensively to reduce the code size.
19467
da2eb181 194682006-05-20 Marco Gerards <marco@gnu.org>
19469
19470 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
19471
19472 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
19473 for `menuentry'.
19474 (script): Accept leading newlines.
19475 (newlines): New rule to describe 0 or more newlines.
19476 (commands): Accept `command' with trailing newline. Fixed the
19477 order in which arguments were passed to `grub_script_add_cmd'.
19478 Accept commands separated by newlines.
19479 (function): Changed to accept newlines.
19480 (menuentry) Rewritten.
19481
19482 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
19483 front of the list, instead of to the end.
19484
577b4050 194852006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
19486
19487 * util/i386/pc/grub-install.in (bindir): New variable.
19488 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
19489 Shaver <lbgwjl@gmail.com>.
19490
0d6e1189 194912006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
19492
19493 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
19494 grub/machine/linux.h
19495 * loader/i386/pc/linux.c: Likewise.
19496
19497 * include/grub/i386/pc/linux.h: Moved to ...
19498 * include/grub/i386/linux.h: ... here.
19499
19500 * include/grub/i386/linux.h (struct linux_kernel_params): New
19501 struct.
f19dbdb7 19502
31b86e9f 195032006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
19504
19505 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
19506 checking.
19507 (grub_video_vbe_blit_glyph): Likewise.
19508 (grub_video_vbe_blit_bitmap): Likewise.
19509 (grub_video_vbe_blit_render_target): Likewise.
19510
83b984de 195112006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
19512
19513 * configure.ac (--with-platform): Properly quote the square
19514 brackets.
19515
5f0413bd 195162006-05-08 Marco Gerards <marco@gnu.org>
19517
19518 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
19519 this...
19520 (kernel_elf_HEADERS): ...to this. Updated all users.
19521 (grubof_symlist.c): Renamed from this...
19522 (kernel_elf_symlist.c): ...to this. Updated all users.
19523 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19524 (grubof_SOURCES): Renamed from this...
19525 (kernel_elf_SOURCES): ...to this.
19526 (grubof_HEADERS): Renamed from this...
19527 (kernel_elf_HEADERS): ...to this.
19528 (grubof_CFLAGS): Renamed from this...
19529 (kernel_elf_CFLAGS): ...to this.
19530 (grubof_ASFLAGS): Renamed from this...
19531 (kernel_elf_ASFLAGS): ...to this.
19532 (grubof_LDFLAGS): Renamed from this...
19533 (kernel_elf_LDFLAGS): ...to this.
19534
19535 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
19536 this...
19537 (kernel_elf_HEADERS): ...to this. Updated all users.
19538 (grubof_symlist.c): Renamed from this...
19539 (kernel_elf_symlist.c): ...to this. Updated all users.
19540 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19541 (grubof_SOURCES): Renamed from this...
19542 (kernel_elf_SOURCES): ...to this.
19543 (grubof_HEADERS): Renamed from this...
19544 (kernel_elf_HEADERS): ...to this.
19545 (grubof_CFLAGS): Renamed from this...
19546 (kernel_elf_CFLAGS): ...to this.
19547 (grubof_ASFLAGS): Renamed from this...
19548 (kernel_elf_ASFLAGS): ...to this.
19549 (grubof_LDFLAGS): Renamed from this...
19550 (kernel_elf_LDFLAGS): ...to this.
19551
19552 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
19553 `kernel.elf' instead of `grubof'.
19554
05568c2e 195552006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
19556
19557 Add --with-platform to configure. Use pkglibdir instead of
19558 pkgdatadir. This is reported by Roger Leigh.
19559
19560 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
19561 (host_vendor): Likewise.
19562 (host_os): Likewise.
19563 (pkgdatadir): Likewise.
19564 (platform): New variable.
19565 (pkglibdir): Likewise.
19566 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 19567
05568c2e 19568 * util/i386/pc/grub-install.in (datadir): Removed.
19569 (host_vendor): Likewise.
19570 (host_os): Likewise.
19571 (pkgdatadir): Likewise.
19572 (platform): New variable.
19573 (pkglibdir): Likewise.
19574 Use PKGLIBDIR instead of PKGDATADIR.
19575
19576 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
19577 instead of GRUB_DATADIR.
19578 (main): Likewise.
19579 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19580 (main): Likewise.
19581 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19582 (main): Likewise.
19583
19584 * configure.ac (--with-platform): New option.
19585 Use PLATFORM instead of HOST_VENDOR to specify a platform.
19586
19587 * Makefile.in: Include a makefile based on PLATFORM instead of
19588 HOST_VENDOR.
19589 (pkgdatadir): Not appended by the machine type.
19590 (pkglibdir): Appended by the machine type.
19591 (host_vendor): Removed.
19592 (platform): New variable.
19593 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
19594 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
19595 (uninstall): Likewise.
19596
4e93851c 195972006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
19598
19599 Use the environment context in the menu. Remove the commands
19600 "default" and "timeout", and use variables instead.
f19dbdb7 19601
4e93851c 19602 * normal/menu.c: Include grub/env.h.
19603 (print_entry): Cast TITLE to silence gcc.
19604 (get_timeout): New function.
19605 (set_timeout): Likewise.
19606 (get_entry_number): Likewise.
19607 (run_menu): Use a default entry, a fallback entry and a timeout
19608 in the environment variables "default", "fallback" and
19609 "timeout". Also, tweak the default entry if it is not within the
19610 current menu entries.
19611 (grub_menu_run): Use a fallback entry in the environment variable
19612 "fallback".
19613
19614 * normal/main.c (read_config_file): Do not initialize
19615 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19616 NEWMENU->TIMEOUT.
19617 (grub_normal_execute): Use a data slot to store the menu.
19618
19619 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19620 fallback_entry and timeout.
19621 (struct grub_menu_list): Removed.
19622 (grub_menu_list_t): Likewise.
19623 (struct grub_context): Likewise.
19624 (grub_context_t): Likewise.
19625 (grub_context_get): Likewise.
19626 (grub_context_get_current_menu): Likewise.
19627 (grub_context_push_menu): Likewise.
19628 (grub_context_pop_menu): Likewise.
19629 (grub_default_init): Likewise.
19630 (grub_default_fini): Likewise.
19631 (grub_timeout_init): Likewise.
19632 (grub_timeout_fini): Likewise.
19633
19634 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19635 and timeout.mod.
19636 (normal_mod_SOURCES): Removed normal/context.c.
19637
19638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19639 commands/default.c, commands/timeout.c and normal/context.c.
19640 (normal_mod_SOURCES): Removed normal/context.c.
19641
19642 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19643 commands/timeout.c and normal/context.c.
19644 (normal_mod_SOURCES): Removed normal/context.c.
19645
19646 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19647 commands/default.c, commands/timeout.c and normal/context.c.
19648 (normal_mod_SOURCES): Removed normal/context.c.
19649
19650 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19651 timeout.mod.
19652 (default_mod_SOURCES): Removed.
19653 (default_mod_CFLAGS): Likewise.
19654 (default_mod_LDFLAGS): Likewise.
19655 (timeout_mod_SOURCES): Removed.
19656 (timeout_mod_CFLAGS): Likewise.
19657 (timeout_mod_LDFLAGS): Likewise.
19658
19659 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19660 normal/context.c.
19661
19662 * commands/default.c: Removed.
19663 * commands/timeout.c: Likewise.
19664 * normal/context.c: Likewise.
19665
1eb9cc1d 196662006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19667
19668 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19669
385bd9c1 196702006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19671
19672 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19673 "next" to "prev" for readability.
19674 (struct grub_env_sorted_var): New struct.
19675 (grub_env_context): Renamed to ...
19676 (initial_context): ... this.
19677 (grub_env_var_context): Renamed to ...
19678 (current_context): ... this.
19679 (grub_env_find): Look only at CURRENT_CONTEXT.
19680 (grub_env_context_open): Rewritten to copy exported variables from
19681 previous context.
19682 (grub_env_context_close): Rewritten according to the new
19683 scheme. Also, add an assertion to prevent the initial context from
19684 removed.
19685 (grub_env_insert): Removed the code for the sorted list.
19686 (grub_env_remove): Likewise.
19687 (grub_env_export): Simply mark the variable with
19688 GRUB_ENV_VAR_GLOBAL.
19689 (grub_env_set): A cosmetic change for naming consistency.
19690 (grub_env_get): Likewise.
19691 (grub_env_unset): Likewise.
19692 (grub_env_iterate): Rewritten to sort variables within this
19693 function.
19694 (grub_register_variable_hook): Fixed for naming consistency. Call
19695 grub_env_find again, only if NAME is not found at the first time.
19696 (mangle_data_slot_name): New function.
19697 (grub_env_set_data_slot): Likewise.
19698 (grub_env_get_data_slot): Likewise.
19699 (grub_env_unset_data_slot): Likewise.
19700
19701 * include/grub/env.h (grub_env_var_type): New enum.
19702 (GRUB_ENV_VAR_LOCAL): New constant.
19703 (GRUB_ENV_VAR_GLOBAL): Likewise.
19704 (GRUB_ENV_VAR_DATA): Likewise.
19705 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19706 "type".
19707 (grub_env_set): Replace VAR with NAME for consistency.
19708 (grub_register_variable_hook): Likewise.
19709 (grub_env_export): Specify the name of the argument.
19710 (grub_env_set_data_slot): New prototype.
19711 (grub_env_get_data_slot): Likewise.
19712 (grub_env_unset_data_slot): Likewise.
19713
7f362539 197142006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19715
19716 Extend the loader so that GRUB can accept a loader which comes
19717 back to GRUB when a loaded image exits. Also, this change adds
19718 support for a chainloader on EFI.
f19dbdb7 19719
7f362539 19720 * term/efi/console.c: Include grub/misc.h.
19721 (grub_console_checkkey): Display a scan code on the top for
19722 debugging. This will be removed once the EFI port gets stable.
19723 Correct the scan code mapping.
19724
19725 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19726 allocate memory from larger regions, in order to reduce the number
19727 of allocated regions. Otherwise, the MacOSX loader panics.
19728 (filter_memory_map): Avoid less than 1MB for compatibility with
19729 other loaders.
19730 (add_memory_regions): Allocate from the tail of a region, if
19731 possible, to avoid allocating a region near to 1MB, for the MacOSX
19732 loader.
19733
19734 * kern/efi/init.c (grub_efi_set_prefix): Specify
19735 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19736
19737 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19738 argument IMAGE_HANDLE and specify it to get a loaded image.
19739 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19740 grub_efi_get_loaded_image.
fe6b695a 19741 (grub_efi_get_filename): Divide the length by the size of
7f362539 19742 grub_efi_char16_t.
19743 (grub_efi_get_device_path): New function.
19744 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19745 the length by the size of grub_efi_char16_t for a file path device
19746 path node.
19747
19748 * kern/loader.c (grub_loader_noreturn): New variable.
19749 (grub_loader_set): Accept a new argument NORETURN. Set
19750 GRUB_LOADER_NORETURN to NORETURN.
19751 All callers changed.
19752 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19753 grub_machine_fini.
19754
19755 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19756 prototype.
19757 (grub_efi_get_loaded_image): Take an argument to specify an image
19758 handle.
19759
19760 * include/grub/loader.h (grub_loader_set): Added one more argument
19761 NORETURN.
19762
19763 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19764 instead of grub_efi_open_protocol.
19765 (grub_efidisk_get_device_name): Likewise.
19766 (grub_efidisk_close): Print a newline.
19767 (grub_efidisk_get_device_handle): Fixed to use
19768 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19769 GRUB_EFI_DEVICE_PATH_TYPE.
19770
19771 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19772 * kern/efi/efi.c (device_path_guid): ... here.
19773
19774 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19775 chain.mod.
19776 (kernel_mod_HEADERS): Added efi/disk.h.
19777 (_chain_mod_SOURCES): New variable.
19778 (_chain_mod_CFLAGS): Likewise.
19779 (_chain_mod_LDFLAGS): Likewise.
19780 (chain_mod_SOURCES): Likewise.
19781 (chain_mod_CFLAGS): Likewise.
19782 (chain_mod_LDFLAGS): Likewise.
19783
19784 * DISTLIST: Added include/grub/efi/chainloader.h,
19785 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
19786
19787 * include/grub/efi/chainloader.h: New file.
19788 * loader/efi/chainloader.c: Likewise.
19789 * loader/efi/chainloader_normal.c: Likewise.
19790
c0111d6e 197912006-04-30 Marco Gerards <marco@gnu.org>
19792
19793 * commands/configfile.c (grub_cmd_source): New function.
19794 (GRUB_MOD_INIT): Register the commands `source' and `.'.
19795 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
19796
df5341da 197972006-04-30 Marco Gerards <marco@gnu.org>
19798
19799 * normal/execute.c (grub_script_execute_cmd): Change the return
19800 type to `grub_err_t'. Correctly return the error.
19801 (grub_script_execute_cmdline): In case a command line is not a
19802 command or a function, try to interpret it as an assignment.
19803
f85934bd 198042006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19805
19806 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19807 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19808 skip a node whose name is obviously invalid as UTF-16,
19809 i.e. contains a NUL character. Stop the iteration when the last
19810 directory entry is found. Instead of using the return value of
19811 grub_hfsplus_btree_iterate_node, store the value in RET and use
19812 it, because the iterator can be stopped by the last directory
19813 entry.
19814
8f8a2cf8 198152006-04-30 Marco Gerards <marco@gnu.org>
19816
19817 * include/grub/env.h (grub_env_export): New prototype. Reported
19818 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19819
a27e84ce 198202006-04-30 Marco Gerards <marco@gnu.org>
19821
19822 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19823 size of the extents in a catalog file record.
19824
eaef0553 198252006-04-29 Marco Gerards <marco@gnu.org>
19826
19827 * commands/configfile.c (grub_cmd_configfile): Execute the
19828 configfile within its own context.
19829
19830 * include/grub/env.h (grub_env_context_open): New prototype.
19831 (grub_env_context_close): Likewise.
19832
19833 * kern/env.c (grub_env): Removed.
19834 (grub_env_sorted): Likewise.
19835 (grub_env_context): New variable.
19836 (grub_env_var_context): Likewise.
19837 (grub_env_find): Search both the active context and the global
19838 context.
19839 (grub_env_context_open): New function.
19840 (grub_env_context_close): Likewise.
19841 (grub_env_insert): Likewise.
19842 (grub_env_remove): Likewise.
19843 (grub_env_export): Likewise.
19844 (grub_env_set): Changed to use helper functions to avoid code
19845 duplication.
19846 (grub_env_iterate): Rewritten so both the current context and the
19847 global context are being used.
19848
19849 * normal/command.c (export_command): New function.
19850 (grub_command_init): Register the `export' function.
19851
7b455f4d 198522006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19853
19854 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19855 explicitly to suppress gcc's warnings.
19856 * fs/fat.c (grub_fat_find_dir): Likewise.
19857 (grub_fat_label): Likewise.
19858 * fs/xfs.c (grub_xfs_read_inode): Likewise.
19859 (grub_xfs_mount): Likewise.
19860 (grub_xfs_label): Likewise.
19861 * fs/affs.c (grub_affs_mount): Likewise.
19862 (grub_affs_label): Likewise.
19863 (grub_affs_iterate_dir): Likewise.
19864 * fs/sfs.c (grub_sfs_mount): Likewise.
19865 (grub_sfs_iterate_dir): Likewise.
19866 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
19867 * fs/hfs.c (grub_hfs_mount): Likewise.
19868 (grub_hfs_cmp_catkeys): Likewise.
19869 (grub_hfs_find_dir): Likewise.
19870 (grub_hfs_dir): Likewise.
19871 (grub_hfs_label): Likewise.
19872 * fs/jfs.c (grub_jfs_mount): Likewise.
19873 (grub_jfs_opendir): Likewise.
19874 (grub_jfs_getent): Likewise.
19875 (grub_jfs_lookup_symlink): Likewise.
19876 (grub_jfs_label): Likewise.
19877 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
19878 (grub_hfsplus_iterate_dir): Likewise.
19879 (grub_hfsplus_btree_iterate_node): Made static.
19880
19881 * util/grub-emu.c (prefix): New variable.
19882 (grub_machine_set_prefix): New function.
19883 (main): Do not set the environment variable "prefix" here. Only
19884 set PREFIX, which is used later by grub_machine_set_prefix.
19885
19886 * include/grub/video.h: Do not include grub/symbol.h.
19887 (grub_video_register): Not exported. This symbol is not defined in
19888 the kernel.
19889 (grub_video_unregister): Likewise.
19890 (grub_video_iterate): Likewise.
19891 (grub_video_setup): Likewise.
19892 (grub_video_restore): Likewise.
19893 (grub_video_get_info): Likewise.
19894 (grub_video_get_blit_format): Likewise.
19895 (grub_video_set_palette): Likewise.
19896 (grub_video_get_palette): Likewise.
19897 (grub_video_set_viewport): Likewise.
19898 (grub_video_get_viewport): Likewise.
19899 (grub_video_map_color): Likewise.
19900 (grub_video_map_rgb): Likewise.
19901 (grub_video_map_rgba): Likewise.
19902 (grub_video_fill_rect): Likewise.
19903 (grub_video_blit_glyph): Likewise.
19904 (grub_video_blit_bitmap): Likewise.
19905 (grub_video_blit_render_target): Likewise.
19906 (grub_video_scroll): Likewise.
19907 (grub_video_swap_buffers): Likewise.
19908 (grub_video_create_render_target): Likewise.
19909 (grub_video_delete_render_target): Likewise.
19910 (grub_video_set_active_render_target): Likewise.
19911
19912 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
19913 Undefined.
19914 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
19915
19916 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
19917 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19918 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19919 instead of $(srcdir)/genkernsyms.sh.
19920
19921 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
19922 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19923 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19924 instead of $(srcdir)/genkernsyms.sh.
19925
19926 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
19927 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19928 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19929 instead of $(srcdir)/genkernsyms.sh.
19930
19931 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
19932 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19933 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19934 instead of $(srcdir)/genkernsyms.sh.
19935
19936 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
19937 genkernsyms.sh.
19938
19939 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
19940 genkernsyms.sh.
19941 (gensymlist.sh): New target.
19942 (genkernsyms.sh): Likewise.
19943
19944 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
19945 genkernsyms.sh.in and gensymlist.sh.in.
19946
19947 * genkernsyms.sh: Removed.
19948 * gensymlist.sh: Likewise.
f19dbdb7 19949
7b455f4d 19950 * genkernsyms.sh.in: New file.
19951 * gensymlist.sh.in: Likewise.
19952
1885bb27 199532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19954
19955 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
19956 clobber "prefix", since we may have already set it manually.
19957
71538dff 199582006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19959
19960 * kern/misc.c (abort): New alias for grub_abort.
19961
2965c7cc 199622006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
19963
19964 A new machine-specific function "grub_machine_set_prefix" is
19965 defined. This is called after loading modules, so that a prefix
19966 initialization can use modules. Also, this change adds an
19967 intensive debugging feature for the memory manager via the
19968 configure option "--enable-mm-debug".
f19dbdb7 19969
2965c7cc 19970 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
19971 PART.LEN.
19972
19973 * kern/sparc64/ieee1275/init.c (abort): Removed.
19974 (grub_stop): Likewise.
19975 (grub_exit): New function.
19976 (grub_set_prefix): Renamed to ...
19977 (grub_machine_set_prefix): ... this.
19978 (grub_machine_init): Do not call grub_set_prefix.
19979
19980 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
19981 (grub_machine_set_prefix): ... this.
19982 (grub_machine_init): Do not call grub_set_prefix.
19983
19984 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
19985 (grub_machine_init): Do not set the prefix here.
19986
19987 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
19988
19989 * kern/efi/init.c: Include grub/mm.h.
19990 (grub_efi_set_prefix): New function.
19991
19992 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
19993 (grub_efi_get_filename): New function.
19994 (grub_print_device_path): Renamed to ...
19995 (grub_efi_print_device_path): ... this.
19996
19997 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19998 [MM_DEBUG] (grub_realloc): Likewise.
19999 [MM_DEBUG] (grub_free): Likewise.
20000 [MM_DEBUG] (grub_memalign): Likewise.
20001 [MM_DEBUG] (grub_mm_debug): New variable.
20002 [MM_DEBUG] (grub_debug_malloc): New function.
20003 [MM_DEBUG] (grub_debug_free): New function.
20004 [MM_DEBUG] (grub_debug_realloc): New function.
20005 [MM_DEBUG] (grub_debug_memalign): New function.
20006
20007 * kern/misc.c (grub_abort): Print a newline to distinguish
20008 the message.
20009
20010 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20011 grub_set_root_dev after loading modules. This is necessary when
20012 setting a prefix depends on modules.
20013
20014 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20015 (grub_efi_print_device_path): ... this.
20016 (grub_efi_get_filename): New prototype.
20017 (grub_efi_set_prefix): Likewise.
20018
20019 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20020 and grub/disk.h.
20021 (grub_efidisk_get_device_handle): New prototype.
20022 (grub_efidisk_get_device_name): Likewise.
20023
20024 * include/grub/mm.h: Include config.h.
20025 (MM_DEBUG): Removed.
20026 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20027 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20028 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20029 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20030 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20031 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20032 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20033 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20034 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20035
20036 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20037
20038 * disk/efi/efidisk.c: Include grub/partition.h.
20039 (iterate_child_devices): New function.
20040 (add_device): First, compare only last device path nodes, so that
20041 devices are sorted by the types.
20042 (grub_efidisk_get_device_handle): New function.
20043 (grub_efidisk_get_device_name): Likewise.
20044
20045 * configure.ac (--enable-mm-debug): New option to enable the
20046 memory manager debugging feature. This makes the binary much
20047 bigger, so is disabled by default.
20048
9cacaa17 200492006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20050
20051 Use grub_abort instead of grub_stop, and grub_exit must be
20052 define in each architecture now. Also, this change adds support
20053 for EFI disks.
f19dbdb7 20054
9cacaa17 20055 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20056 (grub_getkey): New function.
20057 (grub_term_get_current): Likewise.
20058
20059 * util/i386/pc/grub-setup.c: Include grub/term.h.
20060 (grub_getkey): New function.
20061 (grub_term_get_current): Likewise.
20062
20063 * util/misc.c (grub_stop): Renamed to ...
20064 (grub_exit): ... this.
20065
20066 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20067 (grub_exit): ... this.
20068 (grub_machine_init): Use grub_abort instead of abort.
20069 (grub_stop): Removed.
20070
20071 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20072 abort.
20073
20074 * kern/i386/pc/startup.S (grub_exit): New function.
20075 (cold_reboot): New label.
20076
20077 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20078 (grub_efi_init): Call grub_efidisk_init.
20079 (grub_efi_fini): Call grub_efidisk_fini.
20080
20081 * kern/efi/efi.c: Include grub/mm.h.
20082 (grub_efi_console_control_guid): Renamed to ...
20083 (console_control_guid): ... this.
20084 (grub_efi_loaded_image_guid): Renamed to ...
20085 (loaded_image_guid): ... this.
20086 (grub_efi_locate_handle): New function.
20087 (grub_efi_open_protocol): Likewise.
20088 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20089 GRUB_EFI_CONSOLE_CONTROL_GUID.
20090 (grub_efi_exit): Removed.
20091 (grub_stop): Likewise.
20092 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20093 (grub_exit): New function.
20094 (grub_print_device_path): Likewise.
20095
20096 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20097 (grub_enter_rescue_mode): Register "exit".
20098
20099 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20100 (grub_abort): New function.
20101
20102 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20103
20104 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20105
20106 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20107
20108 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20109 (grub_print_device_path): New prototype.
20110 (grub_efi_locate_handle): Likewise.
20111 (grub_efi_open_protocol): Likewise.
20112
20113 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20114 * disk/efi/efidisk.c: Likewise.
20115
20116 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20117
20118 * include/grub/efi/console_control.h
20119 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20120
20121 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20122 last 8 bytes as an array.
20123 (GRUB_EFI_DISK_IO_GUID): New macro.
20124 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20125 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20126 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20127 grub_uint8_t.
20128 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20129 (struct grub_efi_device_path): Rename the member "sub_type" to
20130 "subtype".
20131 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20132 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20133 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20134 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20135 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20136 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20137 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20138 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20139 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20140 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20141 (struct grub_efi_pci_device_path): New structure.
20142 (grub_efi_pci_device_path_t): New type.
20143 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20144 (struct grub_efi_pccard_device_path): New structure.
20145 (grub_efi_pccard_device_path_t): New type.
20146 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20147 (struct grub_efi_memory_mapped_device_path): New structure.
20148 (grub_efi_memory_mapped_device_path_t): New type.
20149 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20150 (struct grub_efi_vendor_device_path): New structure.
20151 (grub_efi_vendor_device_path_t): New type.
20152 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20153 (struct grub_efi_controller_device_path): New structure.
20154 (grub_efi_controller_device_path_t): New type.
20155 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20156 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20157 (struct grub_efi_acpi_device_path): New structure.
20158 (grub_efi_acpi_device_path_t): New type.
20159 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20160 (struct grub_efi_expanded_acpi_device_path): New structure.
20161 (grub_efi_expanded_acpi_device_path_t): New type.
20162 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20163 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20164 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20165 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20166 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20167 (struct grub_efi_atapi_device_path): New structure.
20168 (grub_efi_atapi_device_path_t): New type.
20169 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20170 (struct grub_efi_fibre_channel_device_path): New structure.
20171 (grub_efi_fibre_channel_device_path_t): New type.
20172 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20173 (struct grub_efi_1394_device_path): New structure.
20174 (grub_efi_1394_device_path_t): New type.
20175 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20176 (struct grub_efi_usb_device_path): New structure.
20177 (grub_efi_usb_device_path_t): New type.
20178 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20179 (struct grub_efi_usb_class_device_path): New structure.
20180 (grub_efi_usb_class_device_path_t): New type.
20181 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20182 (struct grub_efi_i2o_device_path): New structure.
20183 (grub_efi_i2o_device_path_t): New type.
20184 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20185 (struct grub_efi_mac_address_device_path): New structure.
20186 (grub_efi_mac_address_device_path_t): New type.
20187 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20188 (struct grub_efi_ipv4_device_path): New structure.
20189 (grub_efi_ipv4_device_path_t): New type.
20190 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20191 (struct grub_efi_ipv6_device_path): New structure.
20192 (grub_efi_ipv6_device_path_t): New type.
20193 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20194 (struct grub_efi_infiniband_device_path): New structure.
20195 (grub_efi_infiniband_device_path_t): New type.
20196 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20197 (struct grub_efi_uart_device_path): New structure.
20198 (grub_efi_uart_device_path_t): New type.
20199 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20200 (struct grub_efi_vendor_messaging_device_path): New structure.
20201 (grub_efi_vendor_messaging_device_path_t): New type.
20202 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20203 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20204 (struct grub_efi_hard_drive_device_path): New structure.
20205 (grub_efi_hard_drive_device_path_t): New type.
20206 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20207 (struct grub_efi_cdrom_device_path): New structure.
20208 (grub_efi_cdrom_device_path_t): New type.
20209 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20210 (struct grub_efi_vendor_media_device_path): New structure.
20211 (grub_efi_vendor_media_device_path_t): New type.
20212 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20213 (struct grub_efi_file_path_device_path): New structure.
20214 (grub_efi_file_path_device_path_t): New type.
20215 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20216 (struct grub_efi_protocol_device_path): New structure.
20217 (grub_efi_protocol_device_path_t): New type.
20218 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20219 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20220 (struct grub_efi_bios_device_path): New structure.
20221 (grub_efi_bios_device_path_t): New type.
20222 (struct grub_efi_disk_io): New structure.
20223 (grub_efi_disk_io_t): New type.
20224 (struct grub_efi_block_io_media): New structure.
20225 (grub_efi_block_io_media_t): New type.
20226 (struct grub_efi_block_io): New structure.
20227 (grub_efi_block_io_t): New type.
20228
20229 * include/grub/misc.h (grub_stop): Removed.
20230 (grub_exit): New prototype.
20231 (grub_abort): Likewise.
20232
20233 * include/grub/disk.h (enum grub_disk_dev_id): Added
20234 GRUB_DISK_DEVICE_EFIDISK_ID.
20235
20236 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20237 disk/efi/efidisk.c.
20238 (kernel_syms.lst): Remove the target if an error occurs.
20239
49986a9f 202402006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20241
20242 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20243 as it was simply too buggy.
20244
970d3b8a 202452006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20246
20247 * kern/misc.c (grub_lltoa): New function.
20248 (grub_vsprintf): Added support for the long long suffix,
20249 i.e. "ll".
20250
ff04ec24 202512006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20252
20253 * Makefile.in (LDFLAGS): Add variable.
20254 (LD): Remove variable.
20255 * configure.ac: Add -m32 to LDFLAGS.
20256 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20257 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20258 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20259 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20260 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20261 variables.
20262 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20263 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20264 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20265
37e5e1a4 202662006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20267
20268 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20269 length for unknown glyph.
20270
c352d8dd 202712006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20272
2eab1c0d 20273 Add support for pre-loaded modules into the EFI port.
f19dbdb7 20274
2eab1c0d 20275 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20276 completely. Accept one more argument DIR. The caller has changed.
20277
20278 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20279
20280 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20281 (grub_efi_loaded_image_guid): New variable.
20282 (grub_efi_get_loaded_image): New function.
20283 (grub_arch_modules_addr): Likewise.
20284
20285 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20286 prototype.
20287
20288 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20289 (struct grub_efi_loaded_image): New structure.
20290 (grub_efi_loaded_image_t): New type.
20291
202922006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20293
c352d8dd 20294 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20295 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20296 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20297
6d01d6b4 202982006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20299
20300 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20301
976a4ea0 203022006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20303
20304 * DISTLIST: Added include/grub/efi/console.h,
20305 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20306 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20307
20308 * include/grub/efi/console.h: New file.
20309 * include/grub/efi/time.h: Likewise.
20310 * include/grub/i386/efi/kernel.h: Likewise.
20311 * kern/efi/init.c: Likewise.
20312 * kern/efi/mm.c: Likewise.
20313 * term/efi/console.c: Likewise.
f19dbdb7 20314
976a4ea0 20315 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20316 (grub_stop): Removed.
20317 (grub_get_rtc): Likewise.
20318 (grub_machine_init): Simply call grub_efi_init.
20319 (grub_machine_fini): Call grub_efi_fini.
20320
20321 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
20322 (grub_efi_output_string): Removed.
20323 (grub_efi_stall): New function.
20324 (grub_stop): Likewise.
20325 (grub_get_rtc): Likewise.
20326
20327 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
20328 (grub_efi_stall): New prototype.
20329 (grub_efi_allocate_pages): Likewise.
20330 (grub_efi_free_pages): Likewise.
20331 (grub_efi_get_memory_map): Likewise.
20332 (grub_efi_mm_init): Likewise.
20333 (grub_efi_mm_fini): Likewise.
20334 (grub_efi_init): Likewise.
20335 (grub_efi_fini): Likewise.
20336
20337 * include/grub/i386/efi/time.h: Do not include
20338 grub/symbol.h. Include grub/efi/time.h.
20339 (GRUB_TICKS_PER_SECOND): Removed.
20340 (grub_get_rtc): Likewise.
20341
20342 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
20343 Added padding. The EFI spec is buggy.
20344 (GRUB_EFI_BLACK): New macro.
20345 (GRUB_EFI_BLUE): Likewise.
20346 (GRUB_EFI_GREEN): Likewise.
20347 (GRUB_EFI_CYAN): Likewise.
20348 (GRUB_EFI_RED): Likewise.
20349 (GRUB_EFI_MAGENTA): Likewise.
20350 (GRUB_EFI_BROWN): Likewise.
20351 (GRUB_EFI_LIGHTGRAY): Likewise.
20352 (GRUB_EFI_BRIGHT): Likewise.
20353 (GRUB_EFI_DARKGRAY): Likewise.
20354 (GRUB_EFI_LIGHTBLUE): Likewise.
20355 (GRUB_EFI_LIGHTGREEN): Likewise.
20356 (GRUB_EFI_LIGHTCYAN): Likewise.
20357 (GRUB_EFI_LIGHTRED): Likewise.
20358 (GRUB_EFI_LIGHTMAGENTA): Likewise.
20359 (GRUB_EFI_YELLOW): Likewise.
20360 (GRUB_EFI_WHITE): Likewise.
20361 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
20362 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
20363 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
20364 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
20365 (GRUB_EFI_BACKGROUND_RED): Likewise.
20366 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
20367 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
20368 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
20369 (GRUB_EFI_TEXT_ATTR): Likewise.
20370
20371 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
20372 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20373 (kernel_mod_HEADERS): Added efi/time.h.
20374
83709125 203752006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
20376
20377 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
20378 include/grub/efi/api.h, include/grub/efi/console_control.h,
20379 include/grub/efi/efi.h, include/grub/efi/pe32.h,
20380 include/grub/i386/efi/time.h, kern/efi/efi.c,
20381 kern/i386/efi/init.c, kern/i386/efi/startup.S,
20382 and util/i386/efi/grub-mkimage.c.
20383
20384 * Makefile.in (RMKFILES): Added i386-efi.rmk.
20385
20386 * genmk.rb (PModule#rule): Do not export symbols if
20387 #{prefix}_EXPORTS is set to "no".
20388
20389 * conf/i386-efi.mk: New file.
20390 * conf/i386-efi.rmk: Likewise.
20391 * include/grub/efi/api.h: Likewise.
20392 * include/grub/efi/console_control.h: Likewise.
20393 * include/grub/efi/efi.h: Likewise.
20394 * include/grub/efi/pe32.h: Likewise.
20395 * include/grub/i386/efi/time.h: Likewise.
20396 * kern/efi/efi.c: Likewise.
20397 * kern/i386/efi/init.c: Likewise.
20398 * kern/i386/efi/startup.S: Likewise.
20399 * util/i386/efi/grub-mkimage.c: Likewise.
20400
204012006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 20402
20403 * include/grub/script.h: Include <grub/parser.h> and
20404 "grub_script.tab.h".
20405 (struct grub_lexer_param): New struct.
20406 (struct grub_parser_param): Likewise.
20407 (grub_script_create_arglist): Pass the state in an argument.
20408 (grub_script_add_arglist): Likewise.
20409 (grub_script_create_cmdline): Likewise.
20410 (grub_script_create_cmdblock): Likewise.
20411 (grub_script_create_cmdif): Likewise.
20412 (grub_script_create_cmdmenu): Likewise.
20413 (grub_script_add_cmd): Likewise.
20414 (grub_script_arg_add): Likewise.
20415 (grub_script_lexer_ref): Likewise.
20416 (grub_script_lexer_deref): Likewise.
20417 (grub_script_lexer_record_start): Likewise.
20418 (grub_script_lexer_record_stop): Likewise.
20419 (grub_script_mem_record): Likewise.
20420 (grub_script_mem_record_stop): Likewise.
20421 (grub_script_malloc): Likewise.
20422 (grub_script_yylex): Likewise.
20423 (grub_script_yyparse): Likewise.
20424 (grub_script_yyerror): Likewise.
20425 (grub_script_yylex): Likewise.
20426 (grub_script_lexer_init): Return the state.
20427
20428 * normal/lexer.c (grub_script_lexer_state): Removed variable.
20429 (grub_script_lexer_done): Likewise.
20430 (grub_script_lexer_getline): Likewise.
20431 (grub_script_lexer_refs): Likewise.
20432 (script): Likewise.
20433 (newscript): Likewise.
20434 (record): Likewise.
20435 (recording): Likewise.
20436 (recordpos): Likewise.
20437 (recordlen): Likewise.
20438 (grub_script_lexer_init): Return the state instead of setting
20439 global variables.
20440 (grub_script_lexer_ref): Use the newly added argument for state
20441 instead of globals.
20442 (grub_script_lexer_deref): Likewise.
20443 (grub_script_lexer_record_start): Likewise.
20444 (grub_script_lexer_record_stop): Likewise.
20445 (recordchar): Likewise.
20446 (nextchar): Likewise.
20447 (grub_script_yylex2): Likewise.
20448 (grub_script_yylex): Likewise.
20449 (grub_script_yyerror): Likewise.
20450
20451 * normal/parser.y (func_mem): Removed variable.
20452 (menu_entry): Likewise.
20453 (err): Likewise.
20454 (%lex-param): New parser option.
20455 (%parse-param): Likewise.
20456 (script): Always return the AST.
20457 (argument): Pass the state around.
20458 (arguments): Likewise.
20459 (grubcmd): Likewise.
20460 (commands): Likewise.
20461 (function): Likewise.
20462 (menuentry): Likewise.
20463 (if_statement): Likewise.
20464 (if): Likewise.
20465
20466 * normal/script.c (grub_script_memused): Removed variable.
20467 (grub_script_parsed): Likewise.
20468 (grub_script_malloc): Added a state argument. Use that instead of
20469 global variables.
20470 (grub_script_mem_record): Likewise.
20471 (grub_script_mem_record_stop): Likewise.
20472 (grub_script_arg_add): Likewise.
20473 (grub_script_add_arglist): Likewise.
20474 (grub_script_create_cmdline): Likewise.
20475 (grub_script_create_cmdif): Likewise.
20476 (grub_script_create_cmdmenu): Likewise.
20477 (grub_script_add_cmd): Likewise.
20478 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 20479
e2a8c904 204802006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 20481
20482 * normal/command.c (grub_command_init): Remove the title command.
20483
20484 * normal/lexer.c (grub_script_yylex): Renamed from this...
20485 (grub_script_yylex2): ... to this.
20486 (grub_script_yylex): New function. Temporary
20487 introduced to filter some tokens.
20488 (grub_script_yyerror): Print a newline.
20489
20490 * normal/main.c (read_config_file): Output information about the
20491 lines that contain errors. Wait for a key after all lines have
20492 been processed. Don't return an empty menu.
20493
20494 * normal/parser.y (func_mem): Don't initialize.
20495 (menu_entry): Likewise.
20496 (err): New variable.
20497 (script): Don't return anything when an error was encountered.
20498 (ws, returns): Removed rules.
20499 (argument): Disabled concatenated variable support.
20500 (arguments): Remove explicit separators.
20501 (grubcmd): Likewise.
20502 (function): Likewise.
20503 (menuentry): Likewise.
20504 (if): Likewise.
20505 (commands): Likewise. Add error handling.
20506
20507 * normal/script.c (grub_script_create_cmdline): If
20508 `grub_script_parsed' is 0, assume the parser encountered an error.
20509
c9a86192 205102006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
20511
20512 * configure.ac: Add support for EFI. Fix the typo
20513 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
20514
70f3b243 205152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20516
20517 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
20518 foreign multibyte characters should be shown correctly.
20519
65f201ad 205202006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20521
20522 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
20523 calculation.
20524 (read_config_file): Made it to close file before returning.
20525
b4b93674 205262006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
20527
20528 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
20529 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
20530 video/i386/pc/vbefill.c.
20531
20532 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
20533 video/i386/pc/vbefill.c.
20534
20535 * include/grub/video.h (grub_video_blit_format): New enum.
20536 (grub_video_mode_info): Added new member blit_format.
20537 (grub_video_get_blit_format): New function prototype.
20538
20539 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
20540 function prototype.
20541 (grub_video_vbe_map_rgb): Likewise.
20542 (grub_video_vbe_unmap_color): Likewise.
20543
20544 * include/grub/i386/pc/vbeblit.h: New file.
20545
20546 * include/grub/i386/pc/vbefill.h: New file.
20547
20548 * video/video.c (grub_video_get_blit_format): New function.
20549 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
20550 (grub_video_vbe_map_rgb): Likewise.
20551 (grub_video_vbe_unmap_color): Likewise.
20552
20553 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
20554 optimized fills.
20555 (grub_video_vbe_blit_render_target): Changed to use more optimized
20556 blits.
20557 (grub_video_vbe_setup): Added detection for optimized settings.
20558 (grub_video_vbe_create_render_target): Likewise.
20559
20560 * video/i386/pc/vbeblit.c: New file.
20561
20562 * video/i386/pc/vbefill.c: New file.
20563
c2379b9c 205642006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
20565
20566 * font/manager.c (grub_font_get_glyph): Removed font fixup from
20567 here...
20568
20569 * util/unifont2pff.rb: ... and moved it to here. Improved argument
20570 parsing to support both hex and dec ranges. If filename was missing
20571 show usage information.
20572
bd0d7896 205732006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
20574
20575 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
20576 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
20577
20578 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
20579 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
20580 (video_mod_SOURCES): Added.
20581 (video_mod_CFLAGS): Likewise.
20582 (video_mod_LDFLAGS): Likewise.
20583 (gfxterm_mod_SOURCES): Likewise.
20584 (gfxterm_mod_CFLAGS): Likewise.
20585 (gfxterm_mod_LDFLAGS): Likewise.
20586 (videotest_mod_SOURCES): Likewise.
20587 (videotest_mod_CFLAGS): Likewise.
20588 (videotest_mod_LDFLAGS): Likewise.
20589 (vesafb_mod_SOURCES): Removed.
20590 (vesafb_mod_CFLAGS): Likewise.
20591 (vesafb_mod_LDFLAGS): Likewise.
20592 (vga_mod_SOURCES): Likewise.
20593 (vga_mod_CFLAGS): Likewise.
20594 (vga_mod_LDFLAGS): Likewise.
20595
20596 * commands/videotest.c: New file.
20597
20598 * font/manager.c (fill_with_default_glyph): Modified to use
20599 grub_font_glyph.
20600 (grub_font_get_glyph): Likewise.
20601 (fontmanager): Renamed from this...
20602 (font_manager): ... to this.
20603
20604 * include/grub/font.h (grub_font_glyph): Added new structure.
20605 (grub_font_get_glyph): Modified to use grub_font_glyph.
20606
20607 * include/grub/misc.h (grub_abs): Added as inline function.
20608
20609 * include/grub/video.h: New file.
20610
20611 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20612 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20613 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20614 (grub_vbe_get_controller_info): Renamed from this...
20615 (grub_vbe_bios_get_controller_info): ... to this.
20616 (grub_vbe_get_mode_info): Renamed from this...
20617 (grub_vbe_bios_get_mode_info): ... to this.
20618 (grub_vbe_set_mode): Renamed from this...
20619 (grub_vbe_bios_set_mode): ... to this.
20620 (grub_vbe_get_mode): Renamed from this...
20621 (grub_vbe_bios_get_mode): ... to this.
20622 (grub_vbe_set_memory_window): Renamed from this...
20623 (grub_vbe_bios_set_memory_window): ... to this.
20624 (grub_vbe_get_memory_window): Renamed from this...
20625 (grub_vbe_bios_get_memory_window): ... to this.
20626 (grub_vbe_set_scanline_length): Renamed from this...
20627 (grub_vbe_set_scanline_length): ... to this.
20628 (grub_vbe_get_scanline_length): Renamed from this...
20629 (grub_vbe_bios_get_scanline_length): ... to this.
20630 (grub_vbe_set_display_start): Renamed from this...
20631 (grub_vbe_bios_set_display_start): ... to this.
20632 (grub_vbe_get_display_start): Renamed from this...
20633 (grub_vbe_bios_get_display_start): ... to this.
20634 (grub_vbe_set_palette_data): Renamed from this...
20635 (grub_vbe_bios_set_palette_data): ... to this.
20636 (grub_vbe_set_pixel_rgb): Removed.
20637 (grub_vbe_set_pixel_index): Likewise.
20638
20639 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20640 from this...
20641 (grub_vbe_bios_get_controller_info): ... to this.
20642 (grub_vbe_get_mode_info): Renamed from this...
20643 (grub_vbe_bios_get_mode_info): ... to this.
20644 (grub_vbe_set_mode): Renamed from this...
20645 (grub_vbe_bios_set_mode): ... to this.
20646 (grub_vbe_get_mode): Renamed from this...
20647 (grub_vbe_bios_get_mode): ... to this.
20648 (grub_vbe_set_memory_window): Renamed from this...
20649 (grub_vbe_bios_set_memory_window): ... to this.
20650 (grub_vbe_get_memory_window): Renamed from this...
20651 (grub_vbe_bios_get_memory_window): ... to this.
20652 (grub_vbe_set_scanline_length): Renamed from this...
20653 (grub_vbe_set_scanline_length): ... to this.
20654 (grub_vbe_get_scanline_length): Renamed from this...
20655 (grub_vbe_bios_get_scanline_length): ... to this.
20656 (grub_vbe_set_display_start): Renamed from this...
20657 (grub_vbe_bios_set_display_start): ... to this.
20658 (grub_vbe_get_display_start): Renamed from this...
20659 (grub_vbe_bios_get_display_start): ... to this.
20660 (grub_vbe_set_palette_data): Renamed from this...
20661 (grub_vbe_bios_set_palette_data): ... to this.
20662 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20663 getting corrupted after calling it. Added more pushes and pops.
20664 (grub_vbe_bios_set_mode): Likewise.
20665 (grub_vbe_bios_get_mode): Likewise.
20666 (grub_vbe_bios_get_memory_window): Likewise.
20667 (grub_vbe_bios_set_scanline_length): Likewise.
20668 (grub_vbe_bios_get_scanline_length): Likewise.
20669 (grub_vbe_bios_get_display_start): Likewise.
20670 (grub_vbe_bios_set_palette_data): Likewise.
20671
20672 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20673 (cl_insert): Likewise.
20674 (cl_delete): Likewise.
20675
20676 * term/gfxterm.c: New file.
20677
20678 * term/i386/pc/vesafb.c: Removed file.
20679
20680 * video/video.c: New file.
20681
20682 * video/i386/pc/vbe.c (real2pm): Added new function.
20683 (grub_video_vbe_draw_pixel): Likewise.
20684 (grub_video_vbe_get_video_ptr): Likewise.
20685 (grub_video_vbe_get_pixel): Likewise
20686 (grub_video_vbe_init): Likewise.
20687 (grub_video_vbe_fini): Likewise.
20688 (grub_video_vbe_setup): Likewise.
20689 (grub_video_vbe_get_info): Likewise.
20690 (grub_video_vbe_set_palette): Likewise.
20691 (grub_video_vbe_get_palette): Likewise.
20692 (grub_video_vbe_set_viewport): Likewise.
20693 (grub_video_vbe_get_viewport): Likewise.
20694 (grub_video_vbe_map_color): Likewise.
20695 (grub_video_vbe_map_rgb): Likewise.
20696 (grub_video_vbe_map_rgba): Likewise.
20697 (grub_video_vbe_unmap_color): Likewise.
20698 (grub_video_vbe_fill_rect): Likewise.
20699 (grub_video_vbe_blit_glyph): Likewise.
20700 (grub_video_vbe_blit_bitmap): Likewise.
20701 (grub_video_vbe_blit_render_target): Likewise.
20702 (grub_video_vbe_scroll): Likewise.
20703 (grub_video_vbe_swap_buffers): Likewise.
20704 (grub_video_vbe_create_render_target): Likewise.
20705 (grub_video_vbe_delete_render_target): Likewise.
20706 (grub_video_vbe_set_active_render_target): Likewise.
20707 (grub_vbe_set_pixel_rgb): Remove function.
20708 (grub_vbe_set_pixel_index): Likewise.
20709 (index_color_mode): Remove static variable.
20710 (active_mode): Likewise.
20711 (framebuffer): Likewise.
20712 (bytes_per_scan_line): Likewise.
20713 (grub_video_vbe_adapter): Added new static variable.
20714 (framebuffer): Likewise.
20715 (render_target): Likewise.
20716 (initial_mode): Likewise.
20717 (mode_in_use): Likewise.
20718 (mode_list): Likewise.
20719
5f97350b 207202006-03-10 Marco Gerards <marco@gnu.org>
20721
20722 * configure.ac (AC_INIT): Bumped to 1.93.
20723
20724 * DISTLIST: Added `include/grub/hfs.h'.
20725
a3c5c6f8 207262006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20727
20728 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20729 18H, which might help the BIOS falling back to next boot media.
20730
6de53d26 207312006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20732
20733 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20734 Poe Chen <poe.poechen@gmail.com>.
20735
77c4a393 207362006-01-17 Marco Gerards <marco@gnu.org>
20737
20738 * include/grub/normal.h: Include <grub/script.h>.
20739 (grub_command_list): Removed struct.
20740 (grub_command_list_t): Removed type.
20741 (grub_menu_entry): Remove members `num' and `command_list'. Add
20742 members `commands' and `sourcecode'.
20743 * include/grub/script.h: Add inclusion guards.
20744 (grub_script_cmd_menuentry): New struct.
20745 (grub_script_execute_menuentry): New prototype.
20746 (grub_script_lexer_record_start): Likewise.
20747 (grub_script_lexer_record_stop): Likewise.
20748 * normal/execute.c (grub_script_execute_menuentry): New function.
20749 * normal/lexer.c (record, recording, recordpos, recordlen): New
20750 variables.
20751 (grub_script_lexer_record_start): New function.
20752 (grub_script_lexer_record_stop): Likewise.
20753 (recordchar): Likewise.
20754 (nextchar): Likewise.
20755 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20756 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20757 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20758 (current_menu): New variable.
20759 (free_menu): Mainly rewritten.
20760 (grub_normal_menu_addentry): New function.
20761 (read_config_file): Rewritten.
20762 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 20763 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 20764 the menu entry.
20765 (run): Mainly rewritten.
20766 * normal/parser.y (menu_entry): New variable.
20767 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20768 (menuentry): New rule.
20769 (command): Add `menuentry'.
20770 (if_statement): Allow additional returns before `fi'.
20771 * normal/script.c (grub_script_create_cmdmenu): New function.
20772
144f1f98 207732006-01-03 Marco Gerards <marco@gnu.org>
20774
20775 * INSTALL: GNU Bison is required.
20776 * configure.ac: Rewritten the test to detect Bison.
20777 * Makefile.in (YACC): New variable. Reported by Xun Sun
20778 <xun.sun.cn@gmail.com>.
20779
af4b2d89 207802006-01-03 Marco Gerards <marco@gnu.org>
20781
20782 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
20783 the HFS+ filesystem to filesystem blocks.
20784 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
20785 GCC warning is silenced.
20786
15643b71 207872006-01-03 Marco Gerards <marco@gnu.org>
20788
20789 * partmap/apple.c (apple_partition_map_iterate): Convert the data
20790 read from disk from big endian to host byte order.
20791
00905879 207922006-01-03 Hollis Blanchard <hollis@penguinppc.org>
20793
20794 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
20795 documentation.
20796 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
20797 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
20798 embedded HFS+ filesystem.
20799 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20800 (grub_hfs_sblock): Move from here...
20801 * include/grub/hfs.h: To here... New file.
20802 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20803 documentation.
20804 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20805 New macros.
20806 (grub_hfsplus_volheader): Change type of member `magic' to
20807 `grub_uint16_t'.
20808 (grub_hfsplus_data): Add new member `embedded_offset'.
20809 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20810 returned block.
20811 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20812 Calculate the offset.
20813
8899bc3e 208142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20815
20816 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20817 Removed.
20818 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20819
ae8c0277 208202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20821
20822 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20823 ENV->NAME is NULL after allocating ENV->VALUE.
20824
07084456 208252005-12-25 Marco Gerards <marco@gnu.org>
20826
20827 * kern/env.c (grub_env_set): Rewritten the error handling code.
20828
4750f5f1 208292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20830
20831 * geninit.sh: Made more robust, and more portable.
20832
50214199 208332005-12-25 Marco Gerards <marco@gnu.org>
20834
20835 Add support for Apple HFS+ filesystems.
f19dbdb7 20836
50214199 20837 * fs/hfsplus.c: New file.
20838
20839 * DISTLIST: Added `fs/hfsplus.c'.
20840
20841 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20842 (hfsplus_mod_SOURCES): New variable.
20843 (hfsplus_mod_CFLAGS): Likewise.
20844 (hfsplus_mod_LDFLAGS): Likewise.
20845 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20846 (grub_setup_SOURCES): Likewise.
20847 (grub_mkdevicemap_SOURCES): Likewise.
20848 (grub_emu_SOURCES): Likewise.
20849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20850
20851 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20852
20853 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20854
befaed6c 208552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20856
20857 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20858 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
20859 include/grub/parser.h, include/grub/script.h, kern/parser.c,
20860 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
20861 normal/lexer.c, normal/parser.y, normal/script.c, and
20862 partmap/gpt.c.
20863 Removed kern/sparc64/cache.c.
20864
20865 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
20866 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
20867 grub_emu_init.c.
20868
20869 * configure.ac (AC_INIT): Bumped to 1.92.
20870
6a124103 208712005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
20872
20873 * kern/err.c (grub_error_push): Added new function to support error
20874 stacks.
20875 (grub_error_pop): Likewise.
20876 (grub_error_stack_items): New local variable to support error stacks.
20877 (grub_error_stack_pos): Likewise.
20878 (grub_error_stack_assert): Likewise.
20879 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
20880 stack depth.
20881 (grub_print_error): Added support to print errors from error stack.
20882
20883 * include/grub/err.h (grub_error_push): Added function prototype.
20884 (grub_error_pop): Likewise.
20885
be973c1b 208862005-12-09 Hollis Blanchard <hollis@penguinppc.org>
20887
20888 * configure.ac: Accept `powerpc64' as host_cpu.
20889 (amd64): Rename to `biarch32'.
20890
20891 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
20892 non-cacheline-aligned addresses.
20893
20894 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
20895 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
20896 if `size' is non-zero.
20897
b04216ab 208982005-12-03 Marco Gerards <mgerards@xs4all.nl>
20899
20900 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
20901 and `cd' to make sure the filename is not prefixed with a
20902 directory name.
20903 (pkgdata_MODULES): Add `gpt.mod'.
20904 (gpt_mod_SOURCES): New variable.
20905 (gpt_mod_CFLAGS): Likewise.
20906 (gpt_mod_LDFLAGS): Likewise.
20907
20908 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
20909
20910 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
20911 New macro.
20912
20913 * partmap/gpt.c: New file.
20914
20915 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
20916 GPT partition map is detected.
20917
41730ed9 209182005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
20919
20920 * commands/i386/pc/play.c: New file.
20921 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
20922 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
20923 macros.
f19dbdb7 20924
95dc3643 209252005-11-27 Marco Gerards <mgerards@xs4all.nl>
20926
20927 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
20928 ((unused))' to silence gcc warning.
20929
1569ec51 209302005-11-26 Hollis Blanchard <hollis@penguinppc.org>
20931
20932 * configure.ac: Correct `AC_PROG_YACC' test.
20933
9abde152 209342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20935
20936 * util/powerpc/ieee1275/grub-install.in: Run the mount point
20937 check before installing files.
20938
44b83271 209392005-11-22 Mike Small <smallm@panix.com>
20940
20941 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
20942 number regex so multidigit numbers are recognized correctly.
20943
209442005-11-22 Mike Small <smallm@panix.com>
20945
20946 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
20947 debugging message before attempting to claim memory.
20948 (grub_rescue_cmd_initrd): Add a claim debugging message and try
20949 multiple addresses in case of failure.
20950
9c12956b 209512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20952
20953 * term/tparm.c (get_space): Remove empty `if' statement.
20954
20955 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
20956
20957 * kern/parser.c (check_varstate): Rename `state' to 's'.
20958
aeaf81d9 209592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20960
20961 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
20962 variable definitions to the beginning of each function. Sort stack
20963 variables by size.
20964 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
20965 `buf' argument to `char *'.
20966
79bbb63f 209672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20968
20969 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
20970 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20971 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 20972 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20973 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20974 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20975 configfile.mod, search.mod, gzio.mod and test.mod.
20976 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20977 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20978 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20979 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20980 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20981 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20982 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20983 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20984 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20985 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20986 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20987 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20988 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20989 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20990 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20991 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20992 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20993 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20994 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20995 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20996 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20997 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20998 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20999
21000 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21001 `grep --include'.
21002 (pkgdata_MODULES): Add test.mod.
21003
233b1628 210042005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21005
21006 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21007 appending to variables with "+=".
21008 (PModule): Use full pathname to generate *.lst filenames.
21009
21010 * Makefile.in: Fixed list rules moved from genmk.rb.
21011 (.DELETE_ON_ERROR): New special target.
21012 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21013
21014 * conf/i386-pc.rmk: Include conf/common.mk.
21015 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21016 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21017 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21018 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21019 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21020 configfile.mod, search.mod, gzio.mod and test.mod.
21021 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21022 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21023 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21024 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21025 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21026 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21027 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21028 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21029 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21030 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21031 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21032 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21033 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21034 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21035 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21036 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21037 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21038 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21039 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21040 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21041 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21042 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21043 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21044 here...
21045 * conf/common.rmk: ... to here. New file.
21046
21047 * conf/common.mk: New file.
21048
16f820c8 210492005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21050
21051 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21052 (grub_script.tab.c): ... here.
21053
21054 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21055 (grub_script.tab.c): ... here.
21056
21057 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21058 (grub_script.tab.c): ... here.
21059
21060 * normal/command.c (grub_command_find): Fixed a memory leak of
21061 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21062
63ba1554 210632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21064
21065 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21066 "@" which marks the start of a comment on ARM.
21067 (VARIABLE): Likewise.
21068
7f67dc13 210692005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21070
79bbb63f 21071 Add support for Linux/ADFS partition tables.
7f67dc13 21072
21073 * partmap/acorn.c: New file.
21074
21075 * include/grub/acorn_filecore.h: Likewise.
21076
21077 * DISTLIST: Added `partmap/acorn.c' and
21078 `include/grub/acorn_filecore.h'.
f19dbdb7 21079
7f67dc13 21080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21081 `partmap/acorn.c'.
21082 (pkgdata_MODULES): Add `acorn.mod'.
21083 (acorn_mod_SOURCES): New variable.
21084 (acorn_mod_CFLAGS): Likewise.
21085
21086 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21087 `partmap/acorn.c'.
21088 (pkgdata_MODULES): Add `acorn.mod'.
21089 (acorn_mod_SOURCES): New variable.
21090 (acorn_mod_CFLAGS): Likewise.
21091
21092 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21093 (pkgdata_MODULES): Add `acorn.mod'.
21094 (acorn_mod_SOURCES): New variable.
21095 (acorn_mod_CFLAGS): Likewise.
21096 (acorn_mod_LDFLAGS): Likewise.
21097
21098 * include/types.h (grub_disk_addr_t): New typedef.
21099
6d099807 211002005-11-13 Marco Gerards <mgerards@xs4all.nl>
21101
21102 * geninit.sh: New file.
21103
21104 * geninitheader.sh: Likewise.
21105
21106 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21107 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21108 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21109 * commands/configfile.c (grub_configfile_init)
21110 (grub_configfile_fini): Likewise.
21111 * commands/default.c (grub_default_init, grub_default_fini):
21112 Likewise.
21113 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21114 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21115 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21116 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21117 Likewise.
21118 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21119 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21120 Likewise.
21121 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 21122 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 21123 Likewise.
21124 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21125 Likewise.
fe6b695a 21126 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 21127 Likewise.
21128 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21129 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21130 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21131 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21132 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21133 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21134 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21135 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21136 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21137 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21138 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21139 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21140 * partmap/amiga.c (grub_amiga_partition_map_init)
21141 (grub_amiga_partition_map_fini): Likewise.
21142 * partmap/apple.c (grub_apple_partition_map_init)
21143 (grub_apple_partition_map_fini): Likewise.
21144 * partmap/pc.c (grub_pc_partition_map_init)
21145 (grub_pc_partition_map_fini): Likewise.
21146 * partmap/sun.c (grub_sun_partition_map_init,
21147 grub_sun_partition_map_fini): Likewise.
21148 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21149 Likewise.
21150
21151 * util/grub-emu.c: Include <grub_modules_init.h>.
21152 (main): Don't initialize and de-initialize any modules directly,
21153 use `grub_init_all' and `grub_fini_all' instead.
21154
21155 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21156 `grub_vesafb_mod_init'.
21157 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21158 all users.
21159 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21160 `grub_vga_mod_init'. Updated all users.
21161 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21162
6d099807 21163 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21164 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21165 rules.
21166
21167 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21168 Generate a function to initialize the module in utilities.
21169 Updated all callers.
21170 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21171 initialize the module in utilities. Updated all callers.
21172
9046bcf0 211732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21174
21175 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21176 escape sequence and a literal ^L to clear the screen.
21177
21178 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21179 when returning from Open Firmware.
21180
d13ea639 211812005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21182
21183 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21184 (grub_ofconsole_height): Likewise.
21185 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21186 manually insert a '\n'.
21187 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21188 `grub_ofconsole_height'. Return early if these are already set.
21189
a8fcf206 211902005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21191
21192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21193 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21194 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21195 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21196 and `normal/script.c'.
21197 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21198 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21199 (test_mod_SOURCES): New variable.
21200 (test_mod_CFLAGS): Likewise.
21201 (test_mod_LDFLAGS): Likewise.
21202 (pkgdata_MODULES): Add `test.mod'.
21203 (grub_script.tab.c): New rule.
21204 (grub_script.tab.h): Likewise.
21205
b6b32745 212062005-11-07 Marco Gerards <mgerards@xs4all.nl>
21207
21208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21209 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21210 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21211 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21212 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21213 (test_mod_SOURCES): New variable.
21214 (test_mod_CFLAGS): Likewise.
21215 (pkgdata_MODULES): Add `test.mod'.
21216 (grub_script.tab.c): New rule.
21217 (grub_script.tab.h): Likewise.
21218
daac212a 212192005-11-06 Marco Gerards <mgerards@xs4all.nl>
21220
21221 Add initial scripting support.
21222
21223 * commands/test.c: New file.
21224 * include/grub/script.h: Likewise.
21225 * normal/execute.c: Likewise.
21226 * normal/function.c: Likewise.
21227 * normal/lexer.c: Likewise.
21228 * normal/parser.y: Likewise.
21229 * normal/script.c: Likewise.
21230
21231 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21232
daac212a 21233 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21234 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21235 `normal/function.c' and `normal/script.c'.
21236 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21237 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21238 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21239 variables.
daac212a 21240 (pkgdata_MODULES): Add `test.mod'.
21241 (grub_script.tab.c): New rule.
21242 (grub_script.tab.h): Likewise.
21243
21244 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21245
21246 * include/grub/normal.h (grub_test_init): New prototype.
21247 (grub_test_fini): Likewise.
f19dbdb7 21248
daac212a 21249 * normal/command.c: Include <grub/script.h>.
21250 (grub_command_execute): Rewritten.
f19dbdb7 21251
daac212a 21252 * util/grub-emu.c (main): Call `grub_test_init' and
21253 `grub_test_fini'.
21254
77500b2b 212552005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21256
21257 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21258 to 0.
21259 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21260 there are no pending characters.
21261
e45deb9e 212622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21263
21264 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21265 `grub_strndup' to drop device arguments. Replace unnecessary
21266 `grub_strndup' with `grub_strdup'.
21267
4ce32619 212682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21269
21270 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21271 `debug' environment variable has been set.
21272
212732005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21274
4ce32619 21275 * Makefile.in (install-local): Use $(DATA).
21276 (uninstall): Likewise.
21277 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21278 (sbin_UTILITIES): ... to here.
21279 (sbin_SCRIPTS): New variable.
21280 (grub_install_SOURCES): New variable.
21281 * util/powerpc/ieee1275/grub-install.in: New file.
21282 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21283 variable.
21284 (add_segments): Call `grub_util_get_path'.
21285
25fe6f03 212862005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21287
21288 From Timothy Baldwin:
21289 * commands/ls.c (grub_ls_list_files): Close FILE with
21290 grub_file_close.
21291 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21292
04ccf3ec 212932005-10-24 Marco Gerards <mgerards@xs4all.nl>
21294
21295 * include/grub/parser.h: New file.
21296
21297 * kern/parser.c: Likewise.
21298
21299 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21300 (grub_setup_SOURCES): Likewise.
21301 (grub_probefs_SOURCES): Likewise.
21302 (grub_emu_SOURCES): Likewise.
21303 (kernel_img_HEADERS): Add `parser.h'.
21304
21305 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21306 (grub_emu_SOURCES): Add `kern/parser.c'.
21307 (grubof_SOURCES): Likewise.
21308
21309 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21310 (grubof_SOURCES): Add `kern/parser.c'.
21311
21312 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21313
21314 * kern/misc.c (grub_split_cmdline): Removed function.
21315
21316 * kern/rescue.c: Include <grub/parser.h>.
21317 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21318 of `grub_split_cmdline'.
21319
21320 * normal/command.c: Include <grub/parser.h>.
21321 (grub_command_execute): Use `grub_parser_split_cmdline' instead
21322 of `grub_split_cmdline'.
21323
21324 * normal/completion.c: Include <grub/parser.h>.
21325 (cmdline_state): New variable.
21326 (iterate_dir): End the filename with a quote depending on the
21327 command line state.
21328 (get_state): new function.
21329 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
21330 split the arguments and determine the current argument. When the
21331 argument string is not quoted, escape all spaces.
21332
6d8f4b0e 213332005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21334
21335 * normal/sparc64/setjmp.S: New file.
21336
15cf03ed 213372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21338
21339 * include/grub/sparc64/libgcc.h: New file.
21340 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
21341 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
21342 normal/sparc64/setjmp.c.
21343
03e8661a 213442005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21345
21346 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
21347 * kern/sparc64/cache.S: New file.
21348 * kern/sparc64/cache.c: Removed.
21349 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
21350 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
21351 -mtune=ultrasparc.
21352 (COMMON_LDFLAGS): Add -melf64_sparc.
21353 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
21354 (grubof_SOURCES): Use cache.S instead of cache.c.
21355 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
21356 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
21357 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
21358 commented though.
21359 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
21360 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
21361 (linux_mod_CFLAGS): Commented out.
21362 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
21363 out because module isn't built.
21364 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
21365 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
21366 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
21367 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
21368 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
21369 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21370 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21371 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
21372 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
21373 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
21374 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21375 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21376 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
21377 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
21378
34eeec8a 213792005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
21380
21381 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
21382 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
21383 longer, because HFS should not be used on PC.
21384
708367a3 213852005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21386
21387 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
21388 consistently within the loop.
21389
6fa1251a 213902005-10-15 Marco Gerards <mgerards@xs4all.nl>
21391
21392 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
21393 directory can not be read.
21394
4801580b 213952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21396
21397 * configure.ac (AC_INIT): Increase the version number to 1.91.
21398
21399 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
21400 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
21401 term/i386/pc/serial.c.
21402
219ad426 214032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21404
21405 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
21406 file size must be permitted.
21407
21408 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
21409 between %ah and %al.
21410
688e5699 214112005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21412
21413 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
21414 grub_uint64_t.
21415 Call the hook with a NUL-terminated filename.
21416 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
21417 grub_cpu_to_be32.
21418
21419 * kern/term.c (cursor_state): New variable.
21420 (grub_term_set_current): Reset the cursor state on a new
21421 terminal.
21422 (grub_setcursor): Rewritten to use CURSOR_STATE.
21423 (grub_getcursor): New function.
21424
21425 * include/grub/term.h (grub_getcursor): New prototype.
21426
21427 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
21428 integers on ARM. Reported by Timothy Baldwin
21429 <T.E.Baldwin99@members.leeds.ac.uk>.
21430
bb34586c 214312005-10-11 Marco Gerards <mgerards@xs4all.nl>
21432
21433 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
21434 allocated.
21435 (grub_sfs_dir): Likewise.
21436
9a909877 214372005-10-09 Marco Gerards <mgerards@xs4all.nl>
21438
21439 Add support for the SFS filesystem.
21440
21441 * fs/sfs.c: New file.
21442
21443 * DISTLIST: Added `fs/sfs.c'.
21444
21445 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
21446 (grub_probefs_SOURCES): Likewise.
21447 (grub_emu_SOURCES): Likewise.
21448 (pkgdata_MODULES): Add `sfs.mod'.
21449 (sfs_mod_SOURCES): New variable.
21450 (sfs_mod_CFLAGS): Likewise.
21451 (sfs_mod_LDFLAGS): Likewise.
21452
21453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
21454 (pkgdata_MODULES): Add `sfs.mod'.
21455 (sfs_mod_SOURCES): New variable.
21456 (sfs_mod_CFLAGS): Likewise.
21457
21458 * util/grub-emu.c (main): Call `grub_sfs_init' and
21459 `grub_sfs_fini'.
21460
21461 * include/grub/fs.h (grub_sfs_init): New prototype.
21462 (grub_sfs_fini): Likewise.
21463
57bdbde3 214642005-10-07 Marco Gerards <mgerards@xs4all.nl>
21465
21466 Add support for the AFFS filesystem.
21467
21468 * fs/affs.c: New file.
21469
21470 * DISTLIST: Added `fs/affs.c'.
21471
21472 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
21473 (grub_probefs_SOURCES): Likewise.
21474 (grub_emu_SOURCES): Likewise.
21475 (pkgdata_MODULES): Add `affs.mod'.
21476 (affs_mod_SOURCES): New variable.
21477 (affs_mod_CFLAGS): Likewise.
21478 (affs_mod_LDFLAGS): Likewise.
21479
21480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
21481 (pkgdata_MODULES): Add `affs.mod'.
21482 (affs_mod_SOURCES): New variable.
21483 (affs_mod_CFLAGS): Likewise.
21484
21485 * util/grub-emu.c (main): Call `grub_affs_init' and
21486 `grub_affs_fini'.
21487
21488 * include/grub/fs.h (grub_affs_init): New prototype.
21489 (grub_affs_fini): Likewise.
21490
047b67e0 214912005-10-01 Marco Gerards <mgerards@xs4all.nl>
21492
21493 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
21494
59b8208a 214952005-10-01 Marco Gerards <mgerards@xs4all.nl>
21496
21497 * configure.ac: Accept `x86_64' as host_cpu. In that case add
21498 `-m32' to CFLAGS.
21499
21500 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
21501 linking.
f19dbdb7 21502
59b8208a 21503 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
21504 (COMMON_LDFLAGS): New variable.
21505 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
21506 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
21507 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
21508 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
21509 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
21510 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
21511 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
21512 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
21513 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
21514 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
21515 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21516 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21517 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
21518 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
21519 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
21520 variables.
21521 (normal_mod_ASFLAGS): Add `-m32'.
21522
21523 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
21524 (grub_host_size_t, grub_host_ssize_t): New types.
21525 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 21526 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 21527 `GRUB_HOST_SIZEOF_VOID_P'.
21528
21529 * include/grub/kernel.h (struct grub_module_header): Type of
21530 member offset changed to `grub_host_off_t'. Type of member size
21531 changed to `grub_host_size_t'.
21532 (struct grub_module_info): Type of member offset changed to
21533 `grub_host_off_t'. Type of member size changed to
21534 `grub_host_size_t'.
21535
b4093103 215362005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
21537
21538 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 21539
b4093103 21540 * kern/i386/pc/startup.S (multiboot_header): New label.
21541 (multiboot_entry): Likewise.
21542 (multiboot_trampoline): Likewise.
21543
21544 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21545 Increased to 0x4A0.
21546
21547 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
21548 put parentheses after a question mark.
21549 [!GRUB_UTIL] (my_mod): New variable.
21550
21551 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
21552
b2499b29 215532005-09-28 Marco Gerards <mgerards@xs4all.nl>
21554
21555 Adds support for the XFS filesystem. Btrees are not supported
21556 yet.
21557
21558 * fs/xfs.c: New file.
21559
21560 * DISTLIST: Added `fs/xfs.c'.
21561
21562 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
21563 (grub_probefs_SOURCES): Likewise.
21564 (grub_emu_SOURCES): Likewise.
21565 (pkgdata_MODULES): Add `xfs.mod'.
21566 (xfs_mod_SOURCES): New variable.
21567 (xfs_mod_CFLAGS): Likewise.
21568
21569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
21570 (pkgdata_MODULES): Add `xfs.mod'.
21571 (xfs_mod_SOURCES): New variable.
21572 (xfs_mod_CFLAGS): Likewise.
21573
21574 * util/grub-emu.c (main): Call `grub_xfs_init' and
21575 `grub_xfs_fini'.
21576
21577 * include/grub/fs.h (grub_xfs_init): New prototype.
21578 (grub_xfs_fini): Likewise.
21579
f19dbdb7 21580
83d37a62 215812005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
21582
21583 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
21584 color modes, allow greater than 16 colors to be configured as
21585 a default palette.
21586
47d2d65e 215872005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21588
21589 * normal/completion.c (complete_arguments): Add the qualifier
21590 const into OPTIONS.
21591
21592 From Omniflux <omniflux+lists@omniflux.com>:
21593 * include/grub/terminfo.h: New file.
21594 * include/grub/tparm.h: Likewise.
21595 * include/grub/i386/pc/serial.h: Likewise.
21596 * term/terminfo.c: Likewise.
21597 * term/tparm.c: Likewise.
21598 * term/i386/pc/serial.c: Likewise.
21599 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
21600 serial.mod.
21601 (terminfo_mod_SOURCES): New variable.
21602 (terminfo_mod_CFLAGS): Likewise.
21603 (serial_mod_SOURCES): Likewise.
21604 (serial_mod_CFLAGS): Likewise.
21605
48b671ff 216062005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
21607
21608 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
21609 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
21610 and kern/powerpc/ieee1275/cmain.c, respectively.
21611
21612 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21613 * kern/powerpc/ieee1275/crt0.S: ... here.
21614
21615 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21616 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 21617
48b671ff 21618 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21619 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21620 instead of boot/powerpc/ieee1275/crt0.S and
21621 boot/powerpc/ieee1275/cmain.c, respectively.
21622
21623 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21624 sectors. It was not used anyway.
21625
09fc77a7 216262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21627
21628 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21629 `unused parameter' warning.
21630
003789c7 216312005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21632
21633 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21634 function.
21635 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21636 getcharwidth.
21637
67f44c86 216382005-08-28 Marco Gerards <metgerards@student.han.nl>
21639
21640 * include/grub/normal.h (enum grub_completion_type): Added
21641 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21642
21643 * normal/cmdline.c (print_completion): Handle
21644 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21645 * normal/menu_entry.c (store_completion): Likewise.
21646
21647 * normal/completion.c (complete_arguments): New function.
21648 (grub_normal_do_completion): Call `complete_arguments' when the
21649 current words start with a dash.
21650
0b5abe02 216512005-08-27 Marco Gerards <metgerards@student.han.nl>
21652
21653 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21654 `gzio.mod' instead of `io.mod').
21655
d9864ee1 216562005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21657
21658 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21659 (DISTDIRS): Added io and video.
21660 Rewrite the search routine to make an output consistently.
21661
21662 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21663 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21664 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21665 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21666 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21667 util/powerpc/ieee1275/misc.c.
f19dbdb7 21668
d9864ee1 21669 * include/grub/gzio.h: New file.
21670 * io/gzio.c: Likewise.
f19dbdb7 21671
d9864ee1 21672 * kern/file.c (grub_file_close): Call grub_device_close only if
21673 FILE->DEVICE is not NULL.
21674
21675 * include/grub/mm.h [!NULL] (NULL): New macro.
21676
21677 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21678
21679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21680 (pkgdata_MODULES): Added gzio.mod.
21681 (gzio_mod_SOURCES): New variable.
21682 (gzio_mod_CFLAGS): Likewise.
21683
21684 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21685 (pkgdata_MODULES): Added gzio.mod.
21686 (gzio_mod_SOURCES): New variable.
21687 (gzio_mod_CFLAGS): Likewise.
21688
21689 * commands/cat.c: Include grub/gzio.h.
21690 (grub_cmd_cat): Use grub_gzfile_open instead of
21691 grub_file_open.
f19dbdb7 21692
d9864ee1 21693 * commands/cmp.c: Include grub/gzio.h.
21694 (grub_cmd_cmp): Use grub_gzfile_open instead of
21695 grub_file_open.
21696
21697 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21698 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21699 grub_file_open.
21700 (grub_rescue_cmd_module): Likewise.
21701
fa46f4b5 217022005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21703
21704 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21705 kern/sparc64/ieee1275/init.c because it contains _start.
21706 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21707
e9211b5d 217082005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21709
21710 * configure.ac: Add support for sparc64 host with ieee1275
21711 firmware.
21712 * configure: Generated from configure.ac.
21713 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21714 instead of int.
21715 (grub_ofdisk_read): Likewise.
21716 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21717 pointers as (void *) to remove a warning.
21718 (grub_ofdisk_close): Likewise.
21719 (grub_ofdisk_read): Likewise.
21720 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21721 returns, so make it return void to remove a warning.
21722 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21723 Corresponding prototype change.
21724 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21725 values, and cast the pointers as (void *) to remove a warning.
21726 (grub_mm_dump): Likewise.
21727 * conf/sparc64-ieee1275.mk: New file.
21728 * conf/sparc64-ieee1275.rmk: Likewise.
21729 * include/grub/sparc64/setjmp.h: Likewise.
21730 * include/grub/sparc64/types.h: Likewise.
21731 * include/grub/sparc64/ieee1275/console.h: Likewise.
21732 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21733 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21734 * include/grub/sparc64/ieee1275/time.h: Likewise.
21735 * kern/sparc64/cache.c: Likewise.
21736 * kern/sparc64/dl.c: Likewise.
21737 * kern/sparc64/ieee1275/init.c: Likewise.
21738 * kern/sparc64/ieee1275/openfw.c: Likewise.
21739
385c6a92 217402005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21741
21742 * util/console.c (grub_ncurses_putchar): If C is greater than
21743 0x7f, set C to a question mark.
21744 (grub_ncurses_getcharwidth): New function.
21745 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21746 getcharwidth.
21747
21748 * normal/menu.c (print_entry): Made aware of Unicode. First,
21749 convert TITLE to UCS-4, and predict the cursor position by
21750 grub_getcharwidth.
21751
21752 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21753 const to SRC.
21754 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21755
16ccb8b1 217562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21757
21758 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21759 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21760 grub_strcat.
21761
21762 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21763 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21764 grub_strcpy and grub_strlen. Take it into account that a space
21765 character is inserted as a delimiter.
21766
6a85ce79 217672005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21768
21769 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 21770 invalid magic in the error.
6a85ce79 21771
21772 * commands/search.c: New file.
f19dbdb7 21773
6a85ce79 21774 * util/grub-emu.c (main): Call grub_search_init and
21775 grub_search_fini.
21776
21777 * kern/rescue.c (grub_rescue_print_disks): Removed.
21778 (grub_rescue_print_devices): New function.
21779 (grub_rescue_cmd_ls): Use grub_device_iterate with
21780 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21781 grub_rescue_print_disks.
21782
21783 * kern/partition.c (grub_partition_iterate): Return the result of
21784 PARTMAP->ITERATE instead of GRUB_ERRNO.
21785
21786 * kern/device.c: Include grub/partition.h.
21787 (grub_device_iterate): New function.
21788
21789 * include/grub/partition.h (grub_partition_iterate): Return int
21790 instead of grub_err_t.
21791
21792 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
21793 prototype.
21794 [GRUB_UTIL] (grub_search_fini): Likewise.
21795
21796 * include/grub/device.h (grub_device_iterate): New prototype.
21797
21798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21799 commands/search.c.
21800 (pkgdata_MODULES): Added search.mod.
21801 (search_mod_SOURCES): New variable.
21802 (search_mod_CFLAGS): Likewise.
21803
21804 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21805 (pkgdata_MODULES): Added search.mod.
21806 (search_mod_SOURCES): New variable.
21807 (search_mod_CFLAGS): Likewise.
21808
21809 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21810 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21811 All callers changed.
21812
21813 * DISTLIST: Added commands/search.c.
21814
ef095434 218152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21816
21817 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21818 conversion.
21819 (grub_getcharwidth): New function.
21820
21821 * kern/misc.c (grub_utf8_to_ucs4): New function.
21822
21823 * include/grub/term.h (struct grub_term): Added a new member
21824 "getcharwidth".
21825 (grub_getcharwidth): New prototype.
21826
21827 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21828
21829 * term/i386/pc/console.c (map_char): New function. Segregated from
21830 grub_console_putchar.
21831 (grub_console_putchar): Use map_char.
21832 (grub_console_getcharwidth): New function.
21833 (grub_console_term): Specified grub_console_getcharwidth as
21834 getcharwidth.
21835
21836 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21837 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21838
21839 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21840 GRUB_ERRNO.
21841 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21842 on grub_strtoul completely.
21843 (write_char): Declare local variables in the beginning of the
21844 function.
21845 (grub_vesafb_getcharwidth): New function.
21846 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21847 getcharwidth.
21848
1f0a95e4 218492005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21850
21851 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21852 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21853 commands/i386/pc/vbetest.c.
21854
21855 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21856 call grub_vbe_get_controller_info again, because the returned
21857 information is volatile.
21858 (grub_vbe_set_video_mode): Mostly rewritten.
21859 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
21860 grub_vbe_status_t correctly.
21861 (grub_vbe_get_video_mode_info): Likewise.
21862 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
21863 several if statements.
21864
21865 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
21866 * commands/i386/pc/vbeinfo.c: ... this.
21867
21868 * commands/i386/pc/vbe_test.c: Renamed to ...
21869 * commands/i386/pc/vbetest.c: ... this.
21870
21871 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
21872 ...
21873 (grub_cmd_vbeinfo): ... this. Save video modes before
21874 iterating. Skip a video mode, if it is not available, not enough
21875 information is given or it is monochrome. Show the memory
21876 model. Leave the interpretation of MODEVAR to grub_strtoul
21877 completely.
21878 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
21879 (GRUB_MOD_FINI): Likewise.
21880
21881 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
21882 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
21883 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
21884 duplicated grub_env_get. Leave the interpretation of MODEVAR to
21885 grub_strtoul completely.
21886 (real2pm): Removed.
21887 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
21888 (GRUB_MOD_FINI): Likewise.
21889
21890 * normal/misc.c: Include grub/mm.h.
21891
21892 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
21893 vbe_list_modes with vbetest.mod and vbeinfo.mod.
21894 (vbe_list_modes_mod_SOURCES): Removed.
21895 (vbe_list_modes_mod_CFLAGS): Likewise.
21896 (vbe_test_mod_SOURCES): Likewise.
21897 (vbe_test_mod_CFLAGS): Likewise.
21898 (vbeinfo_mod_SOURCES): New variable.
21899 (vbeinfo_mod_CFLAGS): Likewise.
21900 (vbetest_mod_SOURCES): Likewise.
21901 (vbetest_mod_CFLAGS): Likewise.
21902
992ffbbe 219032005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
21904
21905 * normal/misc.c: New file.
21906
21907 * DISTLIST: Added normal/misc.c.
f19dbdb7 21908
992ffbbe 21909 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
21910 DISK to HOOK. Call HOOK with DISK.
21911 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21912 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21913 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21914
21915 * normal/menu_entry.c (struct screen): Added a new member
21916 "completion_shown".
21917 (completion_buffer): New global variable.
21918 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
21919 (store_completion): New function.
21920 (complete): Likewise.
21921 (clear_completions): Likewise.
21922 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
21923 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
21924 a tab, call complete.
21925
21926 * normal/completion.c (disk_dev): Removed.
21927 (print_simple_completion): Likewise.
21928 (print_partition_completion): Likewise.
21929 (print_func): New global variable.
21930 (add_completion): Do not take the arguments WHAT or PRINT any
21931 longer. Added a new argument TYPE. Instead of printing directly,
21932 call PRINT_FUNC if not NULL.
21933 All callers changed.
21934 (complete_device): Use a local variable DEV instead of
21935 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
21936 (grub_normal_do_completion): Take a new argument HOOK. Do not
21937 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
21938 empty string, return NULL instead.
21939 All callers changed.
21940
21941 * normal/cmdline.c (print_completion): New function.
21942
21943 * kern/partition.c (grub_partition_iterate): Add an argument DISK
21944 to HOOK.
21945 All callers changed.
21946
21947 * kern/disk.c (grub_print_partinfo): Removed.
21948
21949 * include/grub/partition.h (struct grub_partition_map): Add a new
21950 argument DISK into HOOK of ITERATE.
21951 (grub_partition_iterate): Add a new argument DISK to HOOK.
21952
21953 * include/grub/normal.h (enum grub_completion_type): New enum.
21954 (grub_completion_type_t): New type.
21955 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
21956 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
21957 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
21958 (GRUB_COMPLETION_TYPE_FILE): Likewise.
21959 (grub_normal_do_completion): Added a new argument HOOK.
21960 (grub_normal_print_device_info): New prototype.
21961
21962 * include/grub/disk.h (grub_print_partinfo): Removed.
21963
21964 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
21965 (normal_mod_SOURCES): Likewise.
21966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21967 (normal_mod_SOURCES): Likewise.
21968
21969 * commands/ls.c (grub_ls_list_disks): Use
21970 grub_normal_print_device_info instead of grub_print_partinfo. Free
21971 PNAME.
21972 (grub_ls_list_files): Use grub_normal_print_device_info instead of
21973 duplicating the code.
21974
0bd41162 219752005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21976
21977 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 21978 follow GCS more precisely.
21979 * commands/i386/pc/vbe_test.c: Likewise.
21980 * include/grub/i386/pc/vbe.h: Likewise.
21981 * term/i386/pc/vesafb.c: Likewise.
21982 * video/i386/pc/vbe.c: Likewise.
0bd41162 21983
6323696a 219842005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21985
21986 * DISTLIST: Added term/i386/pc/vesafb.c
21987 DISTLIST: Added video/i386/pc/vbe.c
21988 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
21989 DISTLIST: Added commands/i386/pc/vbe_test.c.
21990 * commands/i386/pc/vbe_list_modes.c: New file.
21991 * commands/i386/pc/vbe_test.c: Likewise.
21992 * term/i386/pc/vesafb.c: Likewise.
21993 * video/i386/pc/vbe.c: Likewise.
21994 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
21995 (grub_vbe_probe) Added prototype.
21996 (grub_vbe_set_video_mode) Likewise.
21997 (grub_vbe_get_video_mode) Likewise.
21998 (grub_vbe_get_video_mode_info) Likewise.
21999 (grub_vbe_set_pixel_rgb) Likewise.
22000 (grub_vbe_set_pixel_index) Likewise.
22001 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22002 (pkgdata_MODULES): Added vesafb.mod.
22003 (pkgdata_MODULES): Added vbe_list_modes.mod.
22004 (pkgdata_MODULES): Added vbe_test.mod.
22005 (vbe_mod_SOURCES): Added.
22006 (vbe_mod_CFLAGS): Likewise.
22007 (vesafb_mod_SOURCES): Likewise.
22008 (vesafb_mod_CFLAGS): Likewise.
22009 (vbe_list_modes_mod_SOURCES): Likewise.
22010 (vbe_list_modes_mod_CFLAGS): Likewise.
22011 (vbe_test_mod_SOURCES): Likewise.
22012 (vbe_test_mod_CFLAGS): Likewise.
22013
0a74e62f 220142005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22015
0a74e62f 22016 * normal/command.c (grub_command_execute): If INTERACTIVE is
22017 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22018 CMDLINE. Disable the pager if INTERACTIVE is true.
22019 All callers are changed.
22020
22021 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22022 before reading a config file.
22023 * normal/main.c (read_config_file): Even if a command is not
22024 found, register it if it is within an entry.
22025
22026 * util/grub-emu.c: Include sys/types.h and unistd.h.
22027 (options): Added --hold.
22028 (struct arguments): Added a new member "hold".
22029 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22030 missing.
22031 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22032 cleared by a debugger, if it is not zero.
22033
22034 * include/grub/normal.h (grub_command_execute): Add an argument
22035 INTERACTIVE.
22036
e51f85ae 220372005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22038
22039 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22040
e9c6f39b 220412005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22042
22043 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22044 program with another one, because the old one didn't detect a bug
22045 in gcc-3.4. Always use regparm 2, because the new test is still
22046 not enough for gcc-4.0. Someone must investigate a simple test
22047 case which detects a bug in gcc-4.0.
22048
8de3495c 220492005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22050
22051 * DISTLIST: Added normal/completion.c.
22052
22053 * normal/completion.c: New file.
f19dbdb7 22054
8de3495c 22055 * term/i386/pc/console.c (grub_console_getwh): New function.
22056 (grub_console_term): Assign grub_console_getwh to getwh.
22057
22058 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22059 function is defined in normal/completion.c as
22060 grub_normal_do_completion.
22061 (grub_cmdline_get): Use grub_normal_do_completion instead of
22062 grub_tab_complete.
22063
22064 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22065 returns non-zero, otherwise return 0.
22066 (grub_partition_iterate): First, probe the partition map. Then,
22067 call ITERATE only for this partition map.
22068
22069 * kern/misc.c (grub_strncmp): Rewritten.
22070
22071 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22072 returns non-zero. Otherwise return 0.
22073
22074 * include/grub/partition.h (grub_partition_map_iterate): Return
22075 int instead of void.
22076
22077 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22078
22079 * include/grub/misc.h (grub_strncmp): Change the type of N to
22080 grub_size_t.
22081
22082 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22083 of void.
22084
22085 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22086 unsigned explicitly before comparing it with I.
8de3495c 22087
22088 * kern/main.c (grub_env_write_root): Add the attribute unused into
22089 VAR.
22090
22091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22092 normal/completion.c.
22093 (normal_mod_SOURCES): Likewise.
22094 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22095 (normal_mod_SOURCES): Likewise.
22096
22097 * normal/command.c (grub_iterate_commands): If ITERATE returns
22098 non-zero, return one immediately.
22099
e85e144b 221002005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22101
22102 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22103 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22104 descriptions.
22105 (grub_vbe_get_controller_info): New function.
22106 (grub_vbe_get_mode_info): Likewise.
22107 (grub_vbe_set_mode): Likewise.
22108 (grub_vbe_get_mode): Likewise.
22109 (grub_vbe_set_memory_window): Likewise.
22110 (grub_vbe_get_memory_window): Likewise.
22111 (grub_vbe_set_scanline_length): Likewise.
22112 (grub_vbe_get_scanline_length): Likewise.
22113 (grub_vbe_set_display_start): Likewise.
22114 (grub_vbe_get_display_start): Likewise.
22115 (grub_vbe_set_palette_data): Likewise.
22116 * include/grub/i386/pc/vbe.h: New file.
22117
c46153d2 221182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22119
22120 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22121 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22122 * DISTLIST: Likewise.
22123 * kern/ieee1275/of.c: Moved to ...
22124 * kern/ieee1275/ieee1275.c: ... here.
22125
0cb90c45 221262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22127
22128 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22129 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22130 Pass 0 as `end' parameter to grub_strtoul().
22131
a19fb360 221322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22133
22134 * include/grub/powerpc/ieee1275/console.h: Do not include
22135 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22136 ifdef.
22137 (grub_console_cur_color): Remove i386-specific prototype.
22138 (grub_console_real_putchar): Likewise.
22139 (grub_console_checkkey): Likewise.
22140 (grub_console_getkey): Likewise.
22141 (grub_console_getxy): Likewise.
22142 (grub_console_gotoxy): Likewise.
22143 (grub_console_cls): Likewise.
22144 (grub_console_setcursor): Likewise.
22145 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22146 Include <grub/machine/console.h>.
22147 * term/ieee1275/ofconsole.c: Likewise.
22148
4ac9bd04 221492005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22150
22151 * Makefile.in (LIBLZO): New variable.
22152
22153 * configure.ac: Check for LZO version 2.
22154
22155 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22156 lzo/lzo1x.h instead of lzo1x.h.
22157
22158 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22159 of -llzo.
22160
22161 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22162 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22163
22164 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22165 copying the data from PARTITION to P.
22166
f4917dfd 221672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22168
22169 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22170 negative, unload the module.
22171
22172 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22173 map is "pc_partition_map" but not "pc".
22174 (usage): Fix the description. The options are --boot-image and
22175 --core-image but not --boot-file or --core-file.
22176 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22177 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22178 DEFAULT_DIRECTORY.
22179
22180 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22181 --core-file. Specify INSTALL_DEVICE as an argument.
22182
22183 * util/console.c: Include config.h.
22184 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22185 [HAVE_NCURSES_H]: Include ncurses.h.
22186 [HAVE_CURSES_H]: Include curses.h.
22187 [!A_NORMAL] (A_NORMAL): Defined as zero.
22188 [!A_STANDOUT] (A_STANDOUT): Likewise.
22189
22190 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22191 -lncurses.
22192 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22193
22194 * configure.ac: Check for curses libraries and headers.
22195
22196 * Makefile.in (LIBCURSES): New variable.
22197
22198 * genmk.rb (Script::rule): Set the executable bits.
22199
22200 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22201 name of the PC partition map is "pc_partition_map" but not "pc".
22202
0e143073 222032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22204
22205 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22206 (modules): Likewise.
22207 (usage): Added descriptions for --modules and --grub-probefs.
22208 Handle --modules and --grub-probefs. Save the arguments in MODULES
22209 and GRUB_PROBEFS, respectively.
22210 Auto-detect a filesystem module against GRUBDIR. If the result is
22211 empty and modules are not specified explicitly, abort the
22212 installation. Add the result to MODULES.
22213
22214 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22215 disk/powerpc/ieee1275/ofdisk.c,
22216 include/grub/powerpc/ieee1275/init.h and
22217 term/powerpc/ieee1275/ofconsole.c.
22218 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22219 term/ieee1275/ofconsole.c.
22220
22221 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22222
22223 * COPYING: Upgraded to the latest version. Only the address of the
22224 FSF office has changed.
f19dbdb7 22225
efd6e6d5 222262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22227
22228 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22229 kern/ieee1275.c with kern/ieee1275/of.c.
22230
22231 * kern/ieee1275.c: Moved to ...
22232 * kern/ieee1275/of.c: ... here.
22233
8ceafda2 222342005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22235
22236 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22237 readability.
8ceafda2 22238
22239 * config.guess: Updated to the latest version from gnulib.
22240 * config.sub: Likewise.
22241 * install.sh: Likewise.
22242 * mkinstalldirs: Likewise.
22243
22244 * include/grub/console.h: Removed. This file is arch-specific. Do
22245 not put this in include/grub.
22246
22247 * include/grub/i386/pc/console.h: Resurrected.
22248
22249 * util/console.c: Include grub/machine/console.h instead of
22250 grub/console.h.
22251 * util/grub-emu.c: Likewise.
22252
267f6cd9 222532005-08-04 Marco Gerards <metgerards@student.han.nl>
22254
22255 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22256 hardcoded value.
f19dbdb7 22257
267f6cd9 22258 From Vincent Pelletier <subdino2004@yahoo.fr>
22259 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22260 Redefined to use grub_getwh.
22261 (grub_term): New member named getwh.
22262 (grub_getwh): New prototype.
22263 * kern/term.c (grub_getwh): New function.
22264 * term/i386/pc/console.c (grub_console_getwh): New function.
22265 (grub_console_term): New member `getwh'.
22266 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22267 (grub_vga_term): New member `getwh'.
0b5abe02 22268 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22269 grub_ssize_t.
22270 (grub_ofconsole_getw): New function.
22271 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22272 (grub_ofconsole_term): New field named getwh and new initial
22273 value.
22274
3be7266d 222752005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22276
22277 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22278 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22279 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22280 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22281 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22282 of <grub/machine/ieee1275.h>.
22283 * commands/ieee1275/reboot.c: Likewise.
22284 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22285 * kern/ieee1275.c: ... to here. All users updated. Change all
22286 parameter structs to use new type `grub_ieee1275_cell_t'.
22287 * term/powerpc/ieee1275/ofconsole.c: Move ...
22288 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22289 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22290 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22291 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22292 to return int.
22293 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22294 Remove unused prototypes. All users updated.
22295 * include/grub/powerpc/ieee1275/console.h: Removed.
22296 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22297 `grub_ieee1275_cell_t'.
22298 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22299 Cast comparisons with -1 to the correct type.
22300 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22301 type to match `grub_ieee1275_entry_fn'.
22302
8b5f3938 223032005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22304
22305 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22306
22307 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22308 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22309 partmap/sun.c.
22310 (grub_probefs_SOURCES): New variable.
22311
22312 * util/i386/pc/grub-probefs.c: New file.
22313
22314 * util/i386/pc/grub-setup.c (main): Call
22315 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22316 grub_hfs_init and grub_jfs_init to initialize the system. Call
22317 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22318 grub_pc_partition_map_fini to finish the system.
22319
ea409713 223202005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
22321
22322 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
22323 function.
22324 (grub_multiboot_load_elf32): Likewise.
22325 (grub_multiboot_is_elf64): Likewise.
22326 (grub_multiboot_load_elf64): Likewise.
22327 (grub_multiboot_load_elf): Likewise.
22328 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
22329 an ELF32 or ELF64 file.
22330 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
22331
22332 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
22333 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
22334 NULL before calling FS->LABEL.
22335 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
22336 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
22337 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22338 before calling FS->LABEL.
22339
141a288b 223402005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
22341
22342 * util/i386/pc/grub-install.in (datadir): New variable.
22343 (libdir): Removed.
22344 (pkgdatadir): New variable.
22345 (pkglibdir): Removed.
22346
0d5f8a54 223472005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
22348
22349 * DISTLIST: Added util/i386/pc/grub-install.in.
22350
22351 * util/i386/pc/grub-install.in: New file.
22352
22353 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
22354 (grub_install_SOURCES): Likewise.
22355
22356 * genmk.rb: Added support for scripts.
22357 (Script): New class.
22358 (scripts): New variable.
22359
22360 * Makefile.in (install-local): Install sbin_SCRIPTS by
22361 INSTALL_SCRIPT.
22362 (uninstall): Remove sbin_SCRIPTS.
22363
22364 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
22365 device, try to get a GRUB device by
22366 grub_util_biosdisk_get_grub_dev.
22367 Free DEST_DEV.
22368
22369 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
22370 description for --device-map.
22371
5f968e1e 223722005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22373
22374 Change the semantics of variable hooks. They now return strings
22375 instead of error values.
f19dbdb7 22376
5f968e1e 22377 * util/i386/pc/grub-setup.c: Include grub/env.h.
22378 (setup): Use grub_device_set_root instead of grub_env_set.
22379
22380 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
22381 grub_env_get instead of grub_device_set_root and
22382 grub_device_get_root, respectively.
22383
22384 * kern/main.c (grub_env_write_root): New function.
22385 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
22386 grub_env_set instead of grub_device_set_root.
22387
22388 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
22389 many variables.
22390 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
22391 rather than calling ENV->WRITE_HOOK afterwards.
22392 (grub_env_get): Return the result of ENV->READ_HOOK rather than
22393 passing a pointer of a pointer.
22394 (grub_register_variable_hook): Change the types of "read_hook" and
22395 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
22396 respectively.
22397 Allocate the default empty string on the heap, because this string
22398 may be freed later.
22399
22400 * kern/device.c: Include grub/env.h.
22401 (grub_device_set_root): Removed.
22402 (grub_device_get_root): Likewise.
22403 (grub_device_open): Use grub_env_get instead of
22404 grub_device_get_root.
22405
22406 * include/grub/env.h (grub_env_read_hook_t): New type.
22407 (grub_env_write_hook_t): Likewise.
22408 (grub_env_var): Change the types of "read_hook" and "write_hook"
22409 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
22410 (grub_register_variable_hook): Likewise.
22411
22412 * include/grub/device.h (grub_device_set_root): Removed.
22413 (grub_device_set_root): Likewise.
22414
22415 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
22416 make sure that DIRNAME terminates with '/', so that
22417 grub_fat_find_dir will fail if PATH is not a directory.
22418
22419 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
22420 from DIRNAME.
22421 Use the qualifier auto for print_files and print_files_long.
22422 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
22423 as a regular file.
22424 Put a newline only if there is no error.
22425 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
22426 used.
22427
896f0afd 224282005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22429
22430 * kern/partition.c (grub_partition_probe): Initialize PART to
22431 NULL. Otherwise, when no partition map is registered, this returns
22432 a garbage.
22433
b28b81b2 224342005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
22435
22436 * partmap/apple.c (apple_partition_map_iterate): Check if POS
22437 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
22438 valid.
22439
5f3607e0 224402005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
22441
22442 * commands/ls.c (grub_ls_list_disks): Print the filesystem
22443 information on each device, if it does not have partitions. Print
22444 "Device" instead of "Disk", because this function is not specific
22445 to disk devices.
22446
22447 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
22448 static to ensure that it is put on the memory rather than a
22449 register.
22450
502c87e8 224512005-07-17 Yoshinori Okuji <okuji@enbug.org>
22452
22453 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
22454 (grub_cat_init): Likewise.
22455 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
22456 (options): Likewise.
22457 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22458 (grub_configfile_init): Likewise.
22459 * font/manager.c (GRUB_MOD_INIT): Likewise.
22460 * commands/help.c (GRUB_MOD_INIT): Likewise.
22461 (grub_help_init): Likewise.
22462 * normal/command.c (grub_command_init): Likewise.
22463 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
22464 * disk/loopback.c (grub_loop_init): Likewise.
22465 (GRUB_MOD_INIT): Likewise.
22466 * commands/ls.c (grub_ls_init): Likewise.
22467 (GRUB_MOD_INIT): Likewise.
22468 (options): Likewise.
22469 * commands/boot.c (grub_boot_init): Likewise.
22470 (GRUB_MOD_INIT): Likewise.
22471 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
22472 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
22473 (GRUB_MOD_INIT): Likewise.
22474 * commands/cmp.c (grub_cmp_init): Likewise.
22475 (GRUB_MOD_INIT): Likewise.
22476
22477 * normal/arg.c: Use <> instead of "" to include header files.
22478 (SHORT_ARG_HELP): New macro.
22479 (SHORT_ARG_USAGE): Likewise.
22480 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
22481 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
22482 descriptions.
22483 (find_short): Check if C is 'h' or 'u' explicitly.
22484 (grub_arg_show_help): Use space characters instead of tabs. Treat
22485 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
22486 are shown with --help and --usage only if they are not used for
22487 the command itself.
22488 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
22489 'h' and 'u'.
22490
22491 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
22492 const into "longarg". Change the type of "shortarg" to int.
22493
f806d18e 224942005-07-17 Yoshinori Okuji <okuji@enbug.org>
22495
22496 * boot/i386/pc/boot.S (boot_drive_check): New label.
22497
22498 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
22499 macro.
22500
22501 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
22502 which do not pass a boot drive correctly. Copied from GRUB Legacy.
22503
e293232b 225042005-07-17 Yoshinori Okuji <okuji@enbug.org>
22505
22506 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
22507 When turning off Gate A20, skip the check and return immediately,
22508 because this is not fatal usually.
22509
ebedfd00 225102005-07-17 Yoshinori Okuji <okuji@enbug.org>
22511
22512 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
22513 be 0x7C00 instead of 0x8000.
22514
22515 * boot/i386/pc/pxeboot.S: Rewritten.
22516
22517 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
22518 EXT_C.
22519 (gate_a20_check_state): Read a byte from 0x108000. Invert the
22520 result.
22521
654fc59f 225222005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
22523
22524 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
22525 robustness. This routine now supports a BIOS call and System
22526 Control Port A to modify the gate A20.
22527
22528 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22529 Increased to 0x440.
22530
09f9923f 225312005-07-12 Hollis Blanchard <hollis@penguinppc.org>
22532
22533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
22534 device path and resulting ihandle.
22535 (grub_ofdisk_close): dprintf the ihandle being closed.
22536 (grub_ofdisk_read): dprintf function parameters.
22537 * kern/mm.c (grub_mm_init_region): Likewise.
22538 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
22539 (grub_linux_boot): dprintf the Linux entry point, initrd address and
22540 size, and boot arguments.
22541 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
22542 before loading into memory.
22543 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
22544 before loading into memory.
22545
7ef504d8 225462005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
22547
22548 * kern/mm.c: Added much documentation.
22549 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
22550 8, set to 5 instead of 8.
22551
e0f050c2 225522005-07-10 Yoshinori Okuji <okuji@enbug.org>
22553
22554 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
22555
22556 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
22557 (grub_mkdevicemap_SOURCES): New variable.
22558
22559 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
22560 lib/device.c of GRUB Legacy.
22561
7224189a 225622005-07-10 Yoshinori Okuji <okuji@enbug.org>
22563
22564 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
22565 instead of PATH is NULL.
22566
68c864eb 225672005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
22568
22569 * commands/cmp.c (BUFFER_SIZE): New macro.
22570 (grub_cmd_cmp): Close the right file at the right time. Compare
22571 only data just read. Don't report files of different size as
22572 identical. Dynamically allocate buffers. Move variable
22573 declarations at the beginning of function.
22574
e6f3e614 225752005-07-09 Yoshinori Okuji <okuji@enbug.org>
22576
22577 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
22578 reverse.
22579
f8f1559a 225802004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
22581
22582 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
22583 when backspace is pressed at beginning of line.
22584
39c9d41d 225852005-07-03 Yoshinori Okuji <okuji@enbug.org>
22586
22587 * DISTLIST: Added genfslist.sh.
22588
22589 * normal/main.c (fs_module_list): New variable.
22590 (autoload_fs_module): New function.
22591 (read_fs_list): Likewise.
22592 (grub_normal_execute): Call read_fs_list.
22593
22594 * kern/fs.c (grub_fs_autoload_hook): New variable.
22595 (grub_fs_probe): Added support for auto-loading.
22596
22597 * include/grub/normal.h (struct grub_fs_module_list): New struct.
22598 (grub_fs_module_list_t): New type.
22599
22600 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
22601 (grub_fs_autoload_hook): New prototype.
22602
22603 * genfslist.sh: New file.
f19dbdb7 22604
39c9d41d 22605 * genmk.rb: Added a rule to generate a filesystem list.
22606
121c1d83 226072005-06-30 Marco Gerards <metgerards@student.han.nl>
22608
22609 * configure.ac: Fix the test for cross-compiling.
22610
22611 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22612 define GRUB_UTIL anymore.
22613
22614 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22615 so this function works on other systems than just big endian.
22616 (load_modules): Likewise.
22617 (add_segments): Likewise.
22618
e75d76e1 226192005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22620
22621 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22622 contains `l' modifier, get a long from va_arg().
22623
50b5a0a7 226242005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22625
22626 * kern/mm.c (grub_free): If the next free block which is being
22627 merged is the first free block, set the first block to the block
22628 being freed.
22629 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22630
89371b20 226312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22632
22633 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22634 `grub_ieee1275_chosen'.
22635
168d6e58 226362005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22637
22638 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22639 (grub_ieee1275_chosen): New variable.
22640 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22641 `chosen'.
22642 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22643 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22644 Rename first argument to `phandle' for consistency.
22645 (grub_ieee1275_get_property_length): Likewise.
22646 (grub_ieee1275_next_property): Likewise. Change type of first argument
22647 to grub_ieee1275_phandle_t.
22648 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22649 Move export next to declaration.
22650 (grub_ieee1275_chosen): New variable.
22651 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22652 Correct cosmetic typo.
22653 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22654 `grub_ieee1275_chosen'.
22655 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22656 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22657 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22658 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22659 `grub_ieee1275_chosen'.
22660
ca5baa3f 226612005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22662
22663 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22664 /chosen/bootargs.
22665 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22666 /chosen/bootargs as "variable=value" pairs.
22667
708b345f 226682005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22669
22670 * include/grub/misc.h (grub_dprintf): New macro.
22671 (grub_real_dprintf): New prototype.
22672 (grub_strword): Likewise.
22673 (grub_iswordseparator): Likewise.
22674 * kern/misc.c (grub_real_dprintf): New function.
22675 (grub_strword): Likewise.
22676 (grub_iswordseparator): Likewise.
22677
f4c5e67c 226782005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22679
22680 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22681 (roundup): Remove macro.
22682 (grub_ieee1275_flags): Make static.
22683 (grub_ieee1275_realmode): Remove.
22684 (grub_ieee1275_test_flag): New function.
22685 (grub_ieee1275_set_flag): Likewise.
22686 (find_options): Rename to `grub_ieee1275_find_options'; update
22687 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22688 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22689 (cmain): New prototype.
22690 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22691 `grub_ieee1275_flags' directly.
22692 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22693 machine/biosdisk.h.
22694 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22695 Don't include grub/machine/init.h.
22696 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22697 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22698 Remove prototype.
22699 (grub_ieee1275_realmode): Likewise.
22700 (grub_ieee1275_flag): New enum.
22701 (grub_ieee1275_test_flag): New prototype.
22702 (grub_ieee1275_set_flag): New prototype.
22703 * include/grub/powerpc/ieee1275/init.h: Remove file.
22704 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22705 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22706 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22707 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22708 comment.
22709 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22710 `grub_ieee1275_test_flag'.
22711 (grub_ieee1275_encode_devname): Likewise.
22712
ed16607e 227132005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22714
22715 * include/grub/powerpc/ieee1275/ieee1275.h
22716 (grub_ieee1275_encode_devname): New prototype.
22717 (grub_ieee1275_get_filename): Likewise.
22718 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22719 function.
22720 (grub_set_prefix): Likewise.
22721 (grub_machine_init): Call grub_set_prefix.
22722 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22723 (grub_parse_type): New enum.
22724 (grub_ieee1275_get_devargs): New function.
22725 (grub_ieee1275_get_devname): Likewise.
22726 (grub_ieee1275_parse_args): Likewise.
22727 (grub_ieee1275_get_filename): Likewise.
22728 (grub_ieee1275_encode_devname): Likewise.
22729
be369920 227302005-03-30 Marco Gerards <metgerards@student.han.nl>
22731
22732 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22733 `grub_loader_unset'.
22734
a5ce3a4a 227352005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22736
22737 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22738 instead of grub_ieee1275_interpret.
22739 (grub_halt_init): New function.
22740 (grub_halt_fini): Likewise.
22741 (GRUB_MOD_INIT): Correct message grammar.
22742 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22743 instead of grub_ieee1275_interpret.
22744 (grub_reboot_init): New function.
22745 (grub_reboot_fini): Likewise.
22746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22747 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22748 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22749 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22750 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22751 function.
22752 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22753 Add prototype.
22754 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22755 prototype.
22756 (grub_halt): Likewise.
22757 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22758 (cmain): Remove __attribute__((unused)).
22759 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22760 (grub_heap_len): Likewise.
22761 (grub_machine_fini): New function.
22762 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22763 (grub_halt): Likewise.
22764 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22765 function.
22766 * util/powerpc/ieee1275/misc.c: New file.
22767
0058f771 227682005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22769
22770 * DISTLIST: New file.
22771 * gendistlist.sh: Likewise.
f19dbdb7 22772
0058f771 22773 * Makefile.in (COMMON_DISTFILES): Removed.
22774 (BOOT_DISTFILES): Likewise.
22775 (CONF_DISTFILES): Likewise.
22776 (DISK_DISTFILES): Likewise.
22777 (FS_DISTFILES): Likewise.
22778 (INCLUDE_DISTFILES): Likewise.
22779 (KERN_DISTFILES): Likewise.
22780 (LOADER_DISTFILES): Likewise.
22781 (TERM_DISTFILES): Likewise.
22782 (UTIL_DISTFILES): Likewise.
22783 (DISTFILES): Likewise.
22784 (uninstall): Uninstall files in $(pkgdata_DATA).
22785 (DISTLIST): New target.
22786 (distdir): Use the contents of the file DISTLIST to get a list of
22787 distributed files.
22788
46b3b8a5 227892005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22790
22791 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
22792 descriptor. This is ported from GRUB Legacy.
22793
22794 * gencmdlist.sh: Added an extra semicolon to make it work with
22795 old sed versions. Reported by Robert Bihlmeyer
22796 <robbe@orcus.priv.at>.
22797
5822ff87 227982005-03-08 Yoshinori Okuji <okuji@enbug.org>
22799
22800 Automatic loading of commands is supported.
f19dbdb7 22801
5822ff87 22802 * normal/main.c (read_command_list): New function.
22803 (grub_normal_execute): Call read_command_list.
22804
22805 * normal/command.c (grub_register_command): Return zero or CMD.
22806 Allocate CMD->NAME from the heap.
22807 Initialize CMD->MODULE_NAME to zero.
22808 Find the same name as well. If the same command is found and it is
22809 a dummy command, overwrite members. If it is not a dummy command,
22810 return zero.
22811 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22812 (grub_command_find): If a dummy command is found, load a module
22813 and retry to find a command only once.
22814
22815 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22816 make sure that each command is loaded.
22817
22818 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22819 macro.
22820 (struct grub_command): Remove const from the member `name'.
22821 Add a new member `module_name'.
22822 (grub_register_command): Return grub_command_t.
22823
22824 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22825 sure that each command is loaded.
22826
22827 * genmk.rb (PModule::rule): Specify a module name without the
22828 suffix ".mod" to gencmdlist.sh.
22829
7b1f4b57 228302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22831
22832 * gencmdlist.sh: New file.
f19dbdb7 22833
7b1f4b57 22834 * genmk.rb (PModule::rule): Generate a rule for a command list.
22835 Clean command.lst.
22836 Generate command.lst from $(COMMANDFILES).
22837
22838 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22839 (DATA): Added $(pkgdata_DATA).
22840 (install-local): Install files in $(pkgdata_DATA).
22841
062aaf39 228422005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22843
22844 * term/i386/pc/vga.c (debug_command): Removed.
22845 (GRUB_MOD_INIT): Do not register the command "debug".
22846
22847 From Hollis Blanchard:
22848 * commands/configfile.c: New file.
22849 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22850 commands/configfile.c.
22851 (pkgdata_MODULES): Added configfile.mod.
22852 (configfile_mod_SOURCES): New variable.
22853 (configfile_mod_CFLAGS): Likewise.
22854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22855 commands/configfile.c.
22856 (pkgdata_MODULES): Added configfile.mod.
22857 (configfile_mod_SOURCES): New variable.
22858 (configfile_mod_CFLAGS): Likewise.
22859 * util/grub-emu.c (main): Call grub_configfile_init and
22860 grub_configfile_fini.
22861 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
22862 prototype.
22863 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 22864
cee01aa6 228652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22866
22867 * normal/arg.c (grub_arg_show_help): Do not show the bug report
22868 address.
22869
22870 * commands/help.c (grub_cmd_help): Do not print newlines after
22871 the last command in print_command_help.
22872
93f3a1d8 228732005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22874
22875 * commands/default.h: New file.
22876 * commands/timeout.h: Likewise.
22877 * normal/context.c: Likewise.
f19dbdb7 22878
93f3a1d8 22879 * util/misc.c: Do not include sys/times.h.
22880 Include sys/time.h and grub/machine/time.h.
22881 (grub_get_rtc): Rewritten with gettimeofday.
22882
22883 * util/grub-emu.c (main): Call grub_default_init and
22884 grub_timeout_init before grub_normal_init, and call
22885 grub_timeout_fini and grub_default_fini after grub_main.
22886
22887 * util/console.c (grub_ncurses_checkkey): Return the read
22888 character or -1.
22889
22890 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
22891 timeouts.
22892
22893 * normal/main.c (read_config_file): Push MENU. If this fails,
22894 print an error and wait for a user input.
22895 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
22896 If a menu is empty or an error occurs, pop MENU.
22897 (grub_normal_execute): Pop and free MENU after grub_menu_run
22898 returns.
22899
22900 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
22901
22902 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
22903 include time.h.
22904 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22905 without GRUB_UTIL.
22906 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
22907 time.h.
22908 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22909 without GRUB_UTIL.
22910
22911 * include/grub/normal.h (struct grub_menu_list): New struct.
22912 (grub_menu_list_t): New type.
22913 (struct grub_context): New struct.
22914 (grub_context_t): New type.
22915 (grub_register_command): Got rid of EXPORT_FUNC.
22916 (grub_unregister_command): Likewise.
22917 (grub_context_get): New prototype.
22918 (grub_context_get_current_menu): Likewise.
22919 (grub_context_push_menu): Likewise.
22920 (grub_context_pop_menu): Likewise.
22921 [GRUB_UTIL] (grub_default_init): Likewise.
22922 [GRUB_UTIL] (grub_default_fini): Likewise.
22923 [GRUB_UTIL] (grub_timeout_init): Likewise.
22924 [GRUB_UTIL] (grub_timeout_fini): Likewise.
22925
22926 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
22927 commands/timeout.c and normal/context.c.
22928 (pkgdata_MODULES): Added default.mod and timeout.mod.
22929 (normal_mod_SOURCES): Added normal/context.c.
22930 (default_mod_SOURCES): New variable.
22931 (default_mod_CFLAGS): Likewise.
22932 (timeout_mod_SOURCES): Likewise.
22933 (timeout_mod_CFLAGS): Likewise.
22934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
22935 conf/i386-pc.rmk.
22936 (pkgdata_MODULES): Added default.mod and timeout.mod.
22937 (normal_mod_SOURCES): Added normal/context.c.
22938 (default_mod_SOURCES): New variable.
22939 (default_mod_CFLAGS): Likewise.
22940 (timeout_mod_SOURCES): Likewise.
22941 (timeout_mod_CFLAGS): Likewise.
22942
22943 * Makefile.in (all-local): Added $(MKFILES).
22944
4ed2e1dd 229452005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
22946
22947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
22948 (grub_emu_SOURCES): Likewise.
22949 (pkgdata_MODULES): Add `sun.mod'.
22950 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22952 `partmap/sun.c'.
22953 (pkgdata_MODULES): Add `sun.mod'.
22954 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22955 * include/grub/partition.h (grub_sun_partition_map_init): New
22956 prototype.
22957 (grub_sun_partition_map_fini): Likewise.
22958 * partmap/sun.c: New file.
22959 * util/grub-emu.c (main): Initialize and de-initialize the sun
22960 partitionmap support.
22961
4d4e372e 229622005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
22963
22964 This implements an Emacs-like menu entry editor.
f19dbdb7 22965
4d4e372e 22966 * normal/menu_entry.c: New file.
f19dbdb7 22967
4d4e372e 22968 * util/console.c (grub_ncurses_putchar): Translate some Unicode
22969 characters to ASCII.
22970 (saved_char): New variable.
22971 (grub_ncurses_checkkey): Rewritten completely.
22972 (grub_ncurses_getkey): Likewise.
22973 (grub_ncurses_init): Call raw instead of cbreak.
22974
22975 * normal/menu.c (print_entry): Do not put a space.
22976 (init_page): Renamed to ...
22977 (grub_menu_init_page): ... this. All callers changed.
22978 (edit_menu_entry): Removed.
22979 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
22980
22981 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
22982
22983 * kern/misc.c (grub_vprintf): Call grub_refresh.
22984
22985 * normal/menu.c (DISP_LEFT): Renamed to ...
22986 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
22987 * normal/menu.c (DISP_UP): Renamed to ...
22988 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
22989 * normal/menu.c (DISP_RIGHT): Renamed to ...
22990 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
22991 * normal/menu.c (DISP_DOWN): Renamed to ...
22992 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
22993 * normal/menu.c (DISP_HLINE): Renamed to ...
22994 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
22995 * normal/menu.c (DISP_VLINE): Renamed to ...
22996 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22997 * normal/menu.c (DISP_UL): Renamed to ...
22998 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22999 * normal/menu.c (DISP_UR): Renamed to ...
23000 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23001 * normal/menu.c (DISP_LL): Renamed to ...
23002 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23003 * normal/menu.c (DISP_LR): Renamed to ...
23004 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23005 * normal/menu.c (TERM_WIDTH): Renamed to ...
23006 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23007 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23008 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23009 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23010 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23011 * normal/menu.c (TERM_MARGIN): Renamed to ...
23012 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23013 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23014 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23015 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23016 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23017 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23018 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23019 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23020 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23021 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23022 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23023 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23024 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23025 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23026 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23027 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23028 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23029 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23030 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23031 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23032 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23033 All callers changed.
23034
23035 * include/grub/normal.h: New prototype.
23036
23037 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23038 normal/menu_entry.c.
23039 (normal_mod_SOURCES): Likewise.
23040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23041 (normal_mod_SOURCES): Likewise.
23042
e6b92c8a 230432005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23044
23045 * include/grub/normal.h (grub_halt_init): New prototype.
23046 (grub_halt_fini): Likewise.
23047 (grub_reboot_init): Likewise.
23048 (grub_reboot_fini): Likewise.
23049
23050 * util/grub-emu.c: Include signal.h.
23051 (main_env): New global variable.
23052 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23053 catch C-c.
23054 (grub_machine_fini): New function.
23055 (main): Call grub_halt_init and grub_reboot_init before
23056 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23057 Call setjmp with MAIN_ENV to go back afterwards.
23058 Call grub_machine_fini right before return.
23059
23060 * include/grub/util/misc.h: Include setjmp.h.
23061 (main_env): New prototype.
23062
23063 * include/grub/kernel.h (grub_machine_fini): New prototype.
23064 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23065 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23066
23067 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23068 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23069 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23070
e6b92c8a 23071 * util/i386/pc/misc.c: New file.
f19dbdb7 23072
e6b92c8a 23073 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23074 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23075 commands/i386/pc/reboot.c.
23076
c642636f 230772005-02-14 Guillem Jover <guillem@hadrons.org>
23078
23079 * include/grub/dl.h (grub_dl_check_header): New prototype.
23080 (grub_arch_dl_check_header): Change return type to grub_err_t,
23081 remove size parameter and export function. Update all callers.
23082 * kern/dl.c (grub_dl_check_header): New function.
23083 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23084 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23085 are inside the core.
23086 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23087 independent ELF header checks.
23088 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23089 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23090 `grub_dl_check_header' instead of explicit checks. Check for the
23091 ELF type.
23092 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23093 `grub_dl_check_header' instead of explicit checks. Remove arch
23094 specific ELF header checks.
23095
e6b92c8a 23096 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23097 argument SIZE.
23098
5eabe94b 230992005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23100
23101 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23102 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23103
1b14a681 231042005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23105
23106 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 23107 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 23108 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 23109 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 23110 * partmap/amiga.c (amiga_partition_map_iterate): Return
23111 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23112 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23113
aca108aa 231142005-02-01 Guillem Jover <guillem@hadrons.org>
23115
23116 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23117 help info.
23118
c9f9c556 231192005-01-31 Marco Gerards <metgerards@student.han.nl>
23120
23121 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23122 Removed prototype.
23123 (grub_rescue_cmd_linux): New prototype.
23124 (grub_rescue_cmd_initrd): Likewise.
23125 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23126 `bi_rec'.
23127 (grub_linux_release_mem): Release the memory for the initrd.
23128 (grub_load_linux): Renamed from this...
23129 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23130 Changed `entry' not to be static. Loop over memory regions to
23131 find another one when the default fails.
23132 (grub_rescue_cmd_initrd): New function.
23133 (grub_linux_init): Remove function.
23134 (grub_linux_fini): Likewise.
23135 (GRUB_MOD_INIT): Register `initrd'.
23136 (GRUB_MOD_FINI): Unregister `initrd'.
23137 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23138 Function removed.
23139 (grub_linux_normal_fini): Likewise.
23140 (GRUB_MOD_INIT): Register `initrd'.
23141 (GRUB_MOD_FINI): Unregister `initrd'.
23142
990cf3aa 231432005-01-31 Marco Gerards <metgerards@student.han.nl>
23144
23145 * commands/help.c: New file.
23146 * normal/arg.c (show_help): Renamed to...
23147 (grub_arg_show_help): ... this.
23148 * commands/i386/pc/halt.c: New file.
23149 * commands/i386/pc/reboot.c: Likewise.
23150 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23151 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23152 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23153 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23154 variables.
23155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23156 `commands/help.c'.
23157 (pkgdata_MODULES): Add `help.mod'.
23158 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23159 * grub/i386/pc/init.h (grub_reboot): New prototype.
23160 (grub_halt): Likewise.
23161 * include/grub/normal.h (grub_arg_show_help): New prototype.
23162 (grub_help_init): Likewise.
23163 (grub_help_fini): Likewise.
23164 * util/grub-emu.c (main): Initialize and deinitialize the help
23165 command.
23166
23167 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23168
23169 * normal/command.c (grub_command_init): Fixed the description of
23170 the `set' and `unset' commands.
23171
231722005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23173
23174 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23175 function.
23176 * commands/ieee1275/halt.c: New file.
23177 * commands/ieee1275/reboot.c: Likewise.
23178 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23179 `__attribute__ ((unused))'. Some GCS related fixed.
23180 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23181 (grub_suspend_fini): Likewise.
23182 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23183 and `halt.mod'.
23184 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23185 (halt_mod_CFLAGS): New variables.
23186 * include/grub/powerpc/ieee1275/ieee1275.h
23187 (grub_ieee1275_interpret): New prototype.
23188
1ab09cc7 231892005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23190
23191 * include/grub/misc.h (memmove): New prototype.
23192 (memcpy): Likewise.
23193
8b8cbdb2 231942005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23195
23196 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23197 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23198
e3741a27 231992005-01-22 Marco Gerards <metgerards@student.han.nl>
23200
23201 * kern/misc.c (grub_strndup): Function rewritten.
23202
776bd780 232032005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23204
23205 * normal/menu.c (TERM_WIDTH): Macro redefined.
23206 (TERM_TOP_BORDER_Y): Likewise.
23207 (draw_border): Replaced while-loop by a for-loop. Make the number
23208 of lines consistent with the number of lines displayed in
23209 print_entries. Added a margin below the rectangle.
23210 (print_entry): Make the entry fit in the rectangle.
23211 (print_entries): Display the scroll arrows next to the right
23212 border.
23213
78026bce 232142005-01-21 Marco Gerards <metgerards@student.han.nl>
23215
23216 * fs/minix.c (grub_minix_find_file): Reserve more space for
23217 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23218 `grub_strncpy' to copy `path' into it.
23219
67bbaf0f 232202005-01-21 Marco Gerards <metgerards@student.han.nl>
23221
23222 Add the loopback device, a device via which files can be accessed
23223 as devices.
f19dbdb7 23224
67bbaf0f 23225 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23226 (pkgdata_MODULES): Add loopback.mod.
23227 (loopback_mod_SOURCES): New variable.
23228 (loopback_mod_CFLAGS): Likewise.
23229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23230 `disk/loopback.c'.
23231 (pkgdata_MODULES): Add loopback.mod.
23232 (loopback_mod_SOURCES): New variable.
23233 (loopback_mod_CFLAGS): Likewise.
23234 * disk/loopback.c: new file.
23235 * include/grub/normal.h (grub_loop_init): New prototype.
23236 (grub_loop_fini): New prototype.
23237 * util/grub-emu.c (main): Initialize and de-initialize loopback
23238 support.
23239 * include/grub/disk.h (grub_disk_dev_id): Add
23240 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23241
6f1c18bd 232422005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23243
23244 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23245 function.
23246 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23247 (suspend_mod_SOURCES): New variable.
23248 (suspend_mod_CFLAGS): Likewise.
23249 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23250 New prototype.
23251 * commands/ieee1275/suspend.c: New file.
23252
b38551da 232532005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23254
23255 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23256 ((unused))' to `__attribute__ ((used))'.
b38551da 23257 (GRUB_MOD_FINI): Likewise.
23258 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23259 * genmk.rb (PModule): Assign space to common symbols when linking
23260 modules.
23261
777aff39 232622005-01-20 Marco Gerards <metgerards@student.han.nl>
23263
23264 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23265 `unsigned' arguments to `grub_size_t'.
23266 (grub_malloc): Likewise.
23267 (grub_realloc): Likewise.
23268 (grub_memalign): Likewise.
23269 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23270 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23271 * util/misc.c (grub_malloc): Likewise.
23272 (grub_realloc): Likewise.
23273 * kern/mm.c (get_header_from_pointer): Change the casts to
23274 `unsigned' into a cast to `grub_size_t'.
23275
23276 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23277 point to `currnode' when `currnode' is changed.
23278
23279 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23280 Schottelius <nico-linux@schottelius.org>.
23281
d0ff18e1 232822005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23283
23284 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23285 (note_path): Remove variable.
23286 (GRUB_IEEE1275_NOTE_NAME): New macro.
23287 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23288 (grub_ieee1275_note_hdr): New structure.
23289 (grub_ieee1275_note_desc): Likewise.
23290 (grub_ieee1275_note): Likewise.
23291 (load_note): Remove `dir' argument. All callers updated. Remove
23292 `note_img' and `path'. Do not load a file from `note_path'.
23293 Initialize a struct grub_ieee1275_note and write that to `out'.
23294 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23295
4ca7004c 232962005-01-05 Marco Gerards <metgerards@student.han.nl>
23297
23298 * util/misc.c (grub_util_read_image): Revert last change. It
23299 called `grub_util_read_at', which seeks from the beginning of the
23300 file.
23301
0b412211 233022005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23303
23304 * TODO: Add note about endianness in grub-mkimage.
23305 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23306 section.
23307 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23308 (grub_mkimage_SOURCES): New target.
23309 * include/grub/kernel.h (grub_start_addr): Remove variable.
23310 (grub_end_addr): Likewise.
23311 (grub_total_module_size): Likewise.
23312 (grub_kernel_image_size): Likewise.
23313 (GRUB_MODULE_MAGIC): New constant.
23314 (grub_module_info): New structure.
23315 (grub_arch_modules_addr): New prototype.
23316 (grub_get_end_addr): Remove prototype.
23317 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23318 * include/grub/powerpc/ieee1275/kernel.h: New file.
23319 * include/grub/util/misc.h (grub_util_get_fp_size): New
23320 prototype.
23321 (grub_util_read_at): Likewise.
23322 (grub_util_write_image_at): Likewise.
23323 * kern/main.c (grub_get_end_addr): Remove function.
23324 (grub_load_modules): Call grub_arch_modules_addr instead of using
23325 grub_end_addr. Look for a grub_module_info struct in memory. Use
23326 the grub_module_info fields instead of calling grub_get_end_addr
23327 as loop conditions. Move grub_add_unused_region code here.
23328 (grub_add_unused_region): Remove function.
23329 * kern/i386/pc/init.c: Include grub/cache.h.
23330 (grub_machine_init): Remove call to grub_get_end_addr. Remove
23331 one call to add_mem_region.
23332 (grub_arch_modules_addr): New function.
23333 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
23334 (grub_total_module_size): Likewise.
23335 Include grub/machine/kernel.h.
23336 (grub_arch_modules_addr): New function.
23337 * util/grub-emu.c (grub_end_addr): Remove variable.
23338 (grub_total_module_size): Likewise.
23339 (grub_arch_modules_addr): New function.
23340 * util/misc.c: Include unistd.h.
23341 (grub_util_get_fp_size): New function.
23342 (grub_util_read_at): Likewise.
23343 (grub_util_write_image_at): Likewise.
23344 (grub_util_read_image): Call grub_util_read_at.
23345 (grub_util_write_image): Call grub_util_write_image_at.
23346 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
23347 additional memory in kernel_img for a struct grub_module_info.
23348 Fill in that grub_module_info.
23349 * util/powerpc/ieee1275/grub-mkimage.c: New file.
23350
458786f8 233512005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23352
23353 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
23354 New function.
23355 * include/grub/powerpc/ieee1275/ieee1275.h
23356 (grub_ieee1275_milliseconds): New prototype.
23357 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
23358 Change to 1000.
23359 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
23360 grub_ieee1275_milliseconds.
23361
ac507d1b 233622005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23363
23364 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
23365 variable.
23366 (find_options): New function.
23367 (cmain): Call find_options.
23368 * include/grub/powerpc/ieee1275/ieee1275.h
23369 (grub_ieee1275_realmode): New extern variable.
23370 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
23371 grub_map if grub_ieee1275_realmode is false.
23372
6b8fd1c4 233732004-12-29 Marco Gerards <metgerards@student.han.nl>
23374
23375 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
23376 lines are inserted and make it work like readline. Reported by
23377 Vincent Pelletier <subdino2004@yahoo.fr>.
23378
8514a1e0 233792004-12-28 Marco Gerards <metgerards@student.han.nl>
23380
23381 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
23382
23383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
23384 `kern/powerpc/cache.S'.
23385
924b6140 233862004-12-27 Marco Gerards <metgerards@student.han.nl>
23387
23388 * genmk.rb: Handle the `Program' class in the main loop. Written
23389 by Johan Rydberg <jrydberg@gnu.org>.
23390 (Program): New class.
23391 (programs): New variable.
23392 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
23393 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
23394 instead of "grub/kernel.h". Include <grub/machine/init.h>.
23395 (help_arch): Function removed.
23396 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
23397 `powerpc/libgcc.h' and `loader.h'.
23398 (pkgdata_PROGRAMS): New variable.
23399 (sbin_UTILITIES): Variable removed.
23400 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
23401 (grubof_SOURCES): Variable re-defined so it only includes the
23402 core functionality.
23403 (grubof_CFLAGS): Remove `-DGRUBOF'.
23404 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
23405 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
23406 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
23407 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
23408 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
23409 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
23410 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
23411 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
23412 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
23413 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
23414 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23415 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
23416 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
23417 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
23418 (pc_mod_CFLAGS): New variables.
23419 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
23420 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
23421 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
23422 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
23423 Moved from here...
23424 * include/grub/i386/pc/init.h (grub_os_area_addr)
23425 (rub_os_area_size): ... to here.
23426 * include/grub/powerpc/ieee1275/ieee1275.h
23427 (grub_ieee1275_entry_fn): Export symbol.
23428 * include/grub/powerpc/ieee1275/init.h: New file.
23429 * include/grub/powerpc/libgcc.h: Likewise.
23430 * include/grub/cache.h: Likewise.
23431 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
23432 <hollis@penguinppc.org>.
23433 * kern/dl.c: Include <grub/cache.h>.
23434 (grub_dl_flush_cache): New function.
23435 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
23436 for this module.
23437 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
23438 (grub_console_init): Removed prototypes.
23439 (grub_machine_init): Don't initialize the modules anymore.
23440 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
23441 static.
23442 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
23443 Macro undef removed.
23444 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
23445 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
23446 relocation `R_PPC_REL32'. Return an error when the relocation is
23447 unknown.
23448 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
23449 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
23450 * util/misc.c (grub_arch_sync_caches): Likewise.
23451
e4b47e0c 234522004-12-19 Marco Gerards <metgerards@student.han.nl>
23453
23454 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
23455 `symlist.c', add `grubof_symlist.c'.
23456 (symlist.c): Variable removed.
23457 (grubof_HEADERS): Variable added.
23458 (grubof_symlist.c): New target.
23459 (kernel_syms.lst): Use `grubof_HEADERS' instead of
23460 `kernel_img_HEADERS'.
23461 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
23462 * kern/powerpc/dl.c: New file.
23463 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
23464 Function removed.
23465 (grub_arch_dl_relocate_symbols): Likewise.
23466 (grub_register_exported_symbols): Likewise.
23467
4ceb3636 234682004-12-13 Marco Gerards <metgerards@student.han.nl>
23469
23470 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
23471 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
23472 to fail instead. Reported by Vincent Pelletier
23473 <subdino2004@yahoo.fr>.
23474
23475 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
23476 it is not allocated. Reported by Vincent Pelletier
23477 <subdino2004@yahoo.fr>.
23478
23479 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
23480 output so the output looks better.
f19dbdb7 23481
3f1578fe 234822004-12-04 Marco Gerards <metgerards@student.han.nl>
23483
23484 Modulize the partition map support and add support for the amiga
23485 partition map.
f19dbdb7 23486
3f1578fe 23487 * commands/ls.c: Include <grub/partition.h> instead of
23488 <grub/machine/partition.h>.
23489 * kern/disk.c: Likewise.
23490 * kern/rescue.c: Likewise.
23491 * loader/i386/pc/chainloader.c: Likewise.
23492 * normal/cmdline.c: Likewise.
23493 * kern/powerpc/ieee1275/init.c: Likewise.
23494 (grub_machine_init): Call `grub_pc_partition_map_init',
23495 `grub_amiga_partition_map_init' and
23496 `grub_apple_partition_map_init'.
23497 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
23498 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
23499 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
23500 `partition.h' and `pc_partition.h'.
23501 (grub_setup_SOURCES): Remove
23502 `disk/i386/pc/partition.c'. Add `kern/partition.c',
23503 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23504 (grub_emu_SOURCES): Likewise.
23505 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
23506 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
23507 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
23508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23509 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
23510 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23511 (grubof_SOURCES): Likewise.
23512 * disk/i386/pc/partition.c: File removed.
23513 * disk/powerpc/ieee1275/partition.c: Likewise.
23514 * include/grub/powerpc/ieee1275/partition.h: Likewise.
23515 * include/grub/i386/pc/partition.h: Likewise.
23516 * kern/partition.c: New file.
23517 * partmap/amiga.c: Likewise.
23518 * partmap/apple.c: Likewise.
23519 * partmap/pc.c: Likewise.
23520 * include/grub/partition.h: Likewise..
23521 * include/grub/pc_partition.h: Likewise.
23522 * util/grub-emu.c: Include <grub/partition.h> instead of
23523 <grub/machine/partition.h>.
23524 (main): Call `grub_pc_partition_map_init',
23525 `grub_amiga_partition_map_init' and
23526 `grub_apple_partition_map_init' and deinitialize afterwards.
23527 * util/i386/pc/biosdisk.c: Include `#include
23528 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23529 `<grub/machine/partition.h>'.
23530 * util/i386/pc/grub-setup.c: Likewise.
23531 * util/i386/pc/biosdisk.c: Likewise.
23532 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
23533 partition information in case of a PC partition.
23534 * util/i386/pc/grub-setup.c: Include `#include
23535 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23536 `<grub/machine/partition.h>'.
23537 (setup): Only access the PC specific partition information in case
23538 of a PC partition.
23539
0ef4ced9 235402004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 23541
0ef4ced9 23542 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
23543 (grub_longjmp): Likewise.
23544 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
23545 20.
23546 * normal/powerpc/setjmp.S: New file.
23547 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23548 `normal/powerpc/setjmp.S'.
23549 (grubof_CFLAGS): Add `-DGRUBOF'.
23550 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
23551 [GRUB_UTIL && !GRUBOF].
f19dbdb7 23552
19950e29 235532004-11-16 Marco Gerards <metgerards@student.han.nl>
23554
23555 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
23556 property named `name'. Correctly handle the error returned by
23557 `grub_ieee1275_finddevice' if a device can not be opened.
23558
a2fea427 235592004-11-02 Hollis Blanchard <hollis@penguinppc.org>
23560
23561 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
23562 `actual' for negativity.
23563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23564 kern/fshelp.c.
23565
41ea0ea3 235662004-11-01 Marco Gerards <metgerards@student.han.nl>
23567
23568 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
23569 (PAGE_OFFSET): New macro.
23570 (CRTC_ADDR_PORT): Likewise.
23571 (CRTC_DATA_PORT): Likewise.
23572 (START_ADDR_HIGH_REGISTER): Likewise.
23573 (START_ADDR_LOW_REGISTER): Likewise.
23574 (GRAPHICS_ADDR_PORT): Likewise.
23575 (GRAPHICS_DATA_PORT): Likewise.
23576 (READ_MAP_REGISTER): Likewise.
23577 (INPUT_STATUS1_REGISTER): Likewise.
23578 (INPUT_STATUS1_VERTR_BIT): Likewise.
23579 (page): New variable.
23580 (wait_vretrace): New function.
23581 (set_read_map): Likewise.
23582 (set_start_address): Likewise.
23583 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
23584 the right page.
23585 (check_vga_mem): Take the page into account.
23586 (write_char): Likewise.
23587 (write_cursor): Likewise.
23588 (scroll_up): Likewise. Copy the page to the page that is not
23589 shown and switch between both pages.
23590 (grub_vga_putchar): Fix off by one error.
23591 (grub_vga_cls): Wait for the vertical retrace. Take the page into
23592 account.
23593
ad0bd20b 235942004-11-01 Marco Gerards <metgerards@student.han.nl>
23595
23596 Add support for iso9660 (including rockridge).
f19dbdb7 23597
ad0bd20b 23598 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23599 (iso9660_mod_SOURCES): New variable.
23600 (iso9660_mod_CFLAGS): Likewise.
23601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23602 * include/grub/fs.h (grub_iso9660_init): New prototype.
23603 * util/grub-emu.c (main): Call `grub_iso9660_init'.
23604 * fs/iso9660.c: New file.
23605
23606 * include/grub/misc.h (grub_strncat): New prototype.
23607 * kern/misc.c (grub_strncat): New function.
f19dbdb7 23608
ad0bd20b 23609 * fs/hfs.c (grub_hfs_mount): Translate the error
23610 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23611 * fs/jfs.c (grub_jfs_mount): Likewise.
23612 * fs/ufs.c (grub_ufs_mount): Likewise.
23613
a5477a59 236142004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23615
23616 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23617 which initialized BAT registers.
23618 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23619 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23620 Move from here...
23621 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23622 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23623 ... to here.
23624 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23625 (grub_mapclaim): Likewise.
23626 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23627 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23628 hand.
23629
9304c1f8 236302004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23631
23632 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23633 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23634 -ffreestanding and -msoft-float.
23635
86f4ae25 236362004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23637
23638 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23639 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23640 set in grub_ieee1275_flags.
23641
38912228 236422004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23643
23644 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23645 prototype.
23646 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23647 grub_console_init first.
23648 Change the memory range used for grub_ieee1275_claim and
23649 grub_mm_init_region.
23650 Print an error message if the claim fails.
23651 Include <grub/misc.h>.
23652
d1923dc8 236532004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23654
23655 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23656 Call grub_children_iterate for device nodes of type `scsi',
23657 `ide', or `ata'.
23658 (grub_ofdisk_open): Remove manual device alias resolution.
23659 Fix memory leak when device cannot be opened.
f19dbdb7 23660 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23661 (grub_children_iterate): New prototype.
23662 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23663 New function.
23664 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23665 Return -1 if args.size was -1.
23666
4512e4f3 236672004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23668
23669 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23670 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23671 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23672 Open Firmware's memory for it; claim memory from _start to _end.
23673 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23674 (_end): New extern.
23675 (_start): Zero BSS from __bss_start to _end.
23676 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23677 New extern.
23678 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23679
4d61feb0 236802004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23681
ad0bd20b 23682 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23683 -1 if args.base was -1.
4d61feb0 23684
026fa2f9 236852004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23686
23687 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23688 escape sequence instead of a literal ^L. Also call
23689 grub_ofconsole_gotoxy.
23690
9f2220ef 236912004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23692
23693 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23694 void * arguments to grub_addr_t. All callers updated. Also make
23695 the `result' argument optional.
23696 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23697 All callers updated.
23698
8a572cd7 236992004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23700
23701 * commands/ls.c (grub_ls_list_files): Use the string following the
23702 initial ')', if present, as the filesystem path.
23703 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23704
23705 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23706
18aa81f2 237072004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23708
23709 Make the source code of the menu interface more readable.
f19dbdb7 23710
18aa81f2 23711 * normal/menu.c: Include grub/mm.h.
23712 (TERM_WIDTH): New macro.
23713 (TERM_HEIGHT): Likewise.
23714 (TERM_INFO_HEIGHT): Likewise.
23715 (TERM_MARGIN): Likewise.
23716 (TERM_SCROLL_WIDTH): Likewise.
23717 (TERM_TOP_BORDER_Y): Likewise.
23718 (TERM_LEFT_BORDER_X): Likewise.
23719 (TERM_BORDER_WIDTH): Likewise.
23720 (TERM_MESSAGE_HEIGHT): Likewise.
23721 (TERM_BORDER_HEIGHT): Likewise.
23722 (TERM_NUM_ENTRIES): Likewise.
23723 (TERM_FIRST_ENTRY_Y): Likewise.
23724 (TERM_ENTRY_WIDTH): Likewise.
23725 (TERM_CURSOR_X): Likewise.
23726 (draw_border): Use macros instead of magic numbers.
23727 (print_entry): Likewise.
23728 (print_entries): Likewise.
23729 (run_menu): Likewise. Also, handle the key 'e'.
23730 (run_menu_entry): Ignore empty command lines.
23731 (print_message): Added a new argument EDIT. If EDIT is true,
23732 print a different message.
23733 (init_page): Likewise.
23734 (edit_menu_entry): New function. Not implemented yet.
23735
b47efe30 237362004-09-17 Marco Gerards <metgerards@student.han.nl>
23737
23738 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23739 can be loaded from normal mode.
f19dbdb7 23740
b47efe30 23741 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23742 `multiboot.mod'.
23743 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23744 (multiboot_mod_CFLAGS): New variables.
23745 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 23746 * loader/i386/pc/multiboot_normal.c: Likewise.
23747
b47efe30 23748 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23749 attribute `unused'.
f19dbdb7 23750
b47efe30 23751 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23752 `fdiro' to read the mode information from instead of `diro'.
23753
23754 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23755 looking up a symlink.
23756
23757 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23758 macro.
23759 * normal/command.c (grub_command_execute): Don't parse the
23760 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23761 flags of the command.
23762
23763 * normal/menu.c (grub_menu_run): Fix typo.
23764
da75ac71 237652004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23766
23767 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23768
23769 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23770 `y + 1' instead of `y - 1'.
23771
23772 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 23773
062b24c2 237742004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23775
23776 From Hollis Blanchard <hollis@penguinppc.org>:
23777 * kern/misc.c (memmove): New alias for grub_memmove.
23778 (memcmp): New alias for grub_memcmp.
23779 (memset): New alias for grub_memset.
f19dbdb7 23780 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 23781 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 23782 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 23783 (grub_ieee1275_get_property): Likewise.
f19dbdb7 23784
8ddad845 237852004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
23786
23787 Added normal mode command `chainloader' as module chain.mod, which
23788 depends on normal.mod and _chain.mod.
f19dbdb7 23789
8ddad845 23790 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
23791 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
23792 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
23793 Deleted prototype.
23794 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
23795 but arguments parsing moved to ...
23796 (grub_chainloader_cmd): ... here. New function.
23797 * include/grub/i386/pc/chainloader.h: New file.
23798 * loader/i386/pc/chainloader_normal.c: Likewise.
23799
2c1f4ce3 238002004-09-11 Marco Gerards <metgerards@student.han.nl>
23801
23802 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23803 (grub_mkimage_LDFLAGS): Likewise.
23804 (grub_emu_SOURCES): Likewise.
23805 (kernel_img_HEADERS): Added fshelp.h.
23806 * fs/ext2.c: Include <grub/fshelp.h>.
23807 (FILETYPE_REG): New macro.
23808 (FILETYPE_INO_REG): Likewise.
23809 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23810 Changed all users.
23811 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23812 all users.
23813 (grub_fshelp_node): New struct.
23814 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23815 to a pointer.
23816 (grub_ext2_get_file_block): Removed function.
23817 (grub_ext2_read_block): New function.
23818 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23819 This function was written.
23820 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23821 (grub_ext2_find_file): Removed function.
23822 (grub_ext2_read_symlink): New function.
23823 (grub_ext2_iterate_dir): Likewise.
23824 (grub_ext2_open): Rewritten.
23825 (grub_ext2_dir): Rewritten.
23826 * include/grub/fshelp.h: New file.
23827 * fs/fshelp.c: Likewise.
23828
3c52136a 238292004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23830
23831 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23832 (print_message): Add a missing newline.
23833 (run_menu): Added timeout support.
23834 (run_menu_entry): New local function.
23835 (grub_menu_run): Added support for booting.
23836
23837 * kern/loader.c (grub_loader_is_loaded): New function.
23838
23839 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23840 (grub_get_rtc): Exported.
23841
23842 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23843 (grub_get_rtc): Exported.
23844
23845 * include/grub/normal.h (struct grub_command_list): Remove
23846 constant from the member `command'.
23847
23848 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23849
23850 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23851
23852 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23853
aa033560 238542004-08-28 Marco Gerards <metgerards@student.han.nl>
23855
23856 Add support for the JFS filesystem.
23857
23858 * fs/jfs.c: New file.
23859 * include/grub/fs.h (grub_jfs_init): New prototype.
23860 (grub_jfs_fini): New prototype.
23861 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
23862 (grub_emu_SOURCES): Likewise.
23863 (pkgdata_MODULES): Add jfs.mod.
23864 (jfs_mod_SOURCES): New variable.
23865 (jfs_mod_CFLAGS): Likewise.
23866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
23867 (grubof_SOURCES): Likewise.
23868 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
23869
23870 * fs/fat.c (grub_fat_find_dir): Convert the filename little
23871 endian to the host endian.
23872 (grub_fat_utf16_to_utf8): Move function from there...
23873 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 23874 the endianness of the source string anymore.
aa033560 23875 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
23876
94bc45af 238772004-08-24 Marco Gerards <metgerards@student.han.nl>
23878
23879 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
23880 (grub_boot_fini) [GRUB_UTIL]: Likewise.
23881 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
23882 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 23883
94bc45af 23884 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
23885 (grub_hfs_iterate_dir): Make the function static. Add prototypes
23886 for `node_found' and `it_dir'.
23887 (grub_hfs_dir): Add prototype for `dir_hook'.
23888
23889 * fs/minix.c (grub_minix_get_file_block): Add prototype for
23890 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
23891 and `indir32' to silence a gcc warning.
23892
23893 * include/grub/fs.h (grub_hfs_init): New prototype.
23894 (grub_hfs_fini): Likewise.
f19dbdb7 23895
23896
97543f08 238972004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23898
23899 Each disk device has its own id now. This is useful to make use
23900 of multiple disk devices.
f19dbdb7 23901
97543f08 23902 * include/grub/disk.h (grub_disk_dev_id): New enum.
23903 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
23904 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
23905
23906 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
23907 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23908
23909 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
23910 GRUB_DISK_DEVICE_OFDISK_ID as an id.
23911
23912 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
23913 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23914
23915 * include/grub/disk.h (struct grub_disk_dev): Added a new member
23916 "id" which is used by the cache manager.
23917
23918 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
23919 of just "GRUB".
23920
64372eb4 239212004-08-18 Marco Gerards <metgerards@student.han.nl>
23922
23923 * fs/hfs.c: New file.
23924 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
23925 (grub_emu_SOURCES): Likewise.
23926 (pkgdata_MODULES): Add hfs.mod.
23927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
23928 (grubof_SOURCES): Likewise.
23929 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
23930
23931 * include/grub/misc.h (grub_strncasecmp): Add prototype.
23932 * kern/misc.c (grub_strncasecmp): Add function.
23933
cc61b58f 239342004-08-14 Marco Gerards <metgerards@student.han.nl>
23935
23936 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
23937 with parentheses.
23938
23939 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
23940 (grub_ext2_dir): In case the directory entry type is unknown, read
23941 it from the inode.
23942
0ef123f6 239432004-08-02 Peter Bruin <pjbruin@dds.nl>
23944
23945 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
23946 grub_load_linux instead of grub_rescue_cmd_linux as second
23947 argument of grub_rescue_register_command.
23948
23949 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
23950
a447c5df 239512004-07-27 Marco Gerards <metgerards@student.han.nl>
23952
23953 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
23954 function.
23955 * commands/boot.c: Remove the check for `GRUB_UTIL'.
23956 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23957 `loader/powerpc/ieee1275/linux.c',
23958 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
23959 * include/grub/powerpc/ieee1275/ieee1275.h
23960 (grub_ieee1275_release): New prototype.
23961 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
23962 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
23963 normal, boot, linux and linux_normal.
23964 * loader/powerpc/ieee1275/linux.c: New file.
23965 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23966
5a9e3546 239672004-07-12 Marco Gerards <metgerards@student.han.nl>
23968
23969 * normal/arg.c (grub_arg_parse): Correct error handling after
23970 reallocating the argumentlist (check if `argl' is not null instead
23971 of checking if `args' is not null).
23972 * kern/mm.c (grub_realloc): Return the same pointer when using the
23973 same region, instead of returning the header address.
23974
e15199cb 239752004-07-11 Marco Gerards <metgerards@student.han.nl>
23976
23977 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
23978 one block instead of two when looking for the initial partition.
23979 (grub_partition_probe): Initialize the local variable `p' with 0.
23980 Use base 10 for the grub_strtoul call.
23981 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
23982 need for one local variable.
23983 (grub_strtoul): Don't add the new value to `num', instead of that
23984 just assign it.
23985
020616c2 239862004-07-11 Marco Gerards <metgerards@student.han.nl>
23987
23988 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
23989 (pxeboot_img_SOURCES): New variable.
23990 (pxeboot_img_ASFLAGS): Likewise.
23991 (pxeboot_img_LDFLAGS): Likewise.
23992 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
23993 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
23994 <lode_leroy@hotmail.com>.
23995
6c51eb64 239962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23997
23998 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23999 there was no input.
24000
cfb12aff 240012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24002
24003 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24004 the history buffer logic.
24005
6eabba74 240062004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24007
24008 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24009 (FILETYPE_INO_SYMLINK): New macros.
24010 (grub_ext2_find_file): Check if the node is a directory using the
24011 inode stat information instead of using the filetype in the
24012 dirent. Exclude the first character of an absolute symlink.
24013 (grub_ext2_dir): Mask out the filetype part of the mode member of
24014 the inode.
24015
66e19ef8 240162004-05-24 Marco Gerards <metgerards@student.han.nl>
24017
24018 Add support for UFS version 1 and 2. Add support for the minix
24019 filesystem version 1 and 2, both the variants with 14 and 30 long
24020 filenames.
f19dbdb7 24021
66e19ef8 24022 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24023 fs/minix.c.
24024 (grub_emu_SOURCES): Likewise.
24025 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24026 (ufs_mod_SOURCES): New variable.
24027 (ufs_mod_CFLAGS): Likewise.
24028 (minix_mod_SOURCES): Likewise.
24029 (minix_mod_CFLAGS): Likewise.
24030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24031 fs/minix.c.
24032 (grubof_SOURCES): Likewise.
24033 * fs/ufs.c: New file.
24034 * fs/minix.c: New file.
24035 * include/grub/fs.h (grub_ufs_init): New prototype.
24036 (grub_ufs_fini): Likewise.
24037 (grub_minix_init): Likewise.
24038 (grub_minix_fini): Likewise.
24039 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24040 minix fs.
24041
cc2e748a 240422004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24043
24044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24045 commands/ls.c, commands/terminal.c, commands/boot.c,
24046 commands/cmp.c and commands/cat.c.
24047 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24048
24049 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24050 "env.h"
24051
4b13b216 240522004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24053
24054 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24055 and grub_, respectively. Because the conversion is trivial and
24056 mechanical, I omit the details here. Please refer to the CVS
24057 if you need more information.
24058
6a142551 240592004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24060
24061 * include/pupa: Renamed to ...
24062 * include/grub: ... this.
24063 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24064 * util/i386/pc/grub-mkimage.c: ... this.
24065 * util/i386/pc/pupa-setup.c: Renamed to ...
24066 * util/i386/pc/grub-setup.c: ... this.
24067 * util/pupa-emu.c: Renamed to ...
24068 * util/grub-emu.c: ... this.
24069
e56cdf21 240702004-03-29 Marco Gerards <metgerards@student.han.nl>
24071
24072 Add support for the newworld apple macintosh (PPC). This has been
24073 tested on the powerbook 2000 only. It only adds support for
24074 generic ieee1275 functions, console and disk support. This should
24075 be easy to port to other architectures with support for Open
24076 Firmware.
f19dbdb7 24077
e56cdf21 24078 * configure.ac: Accept the powerpc as host_cpu. In the case of
24079 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24080 specific tests are only executed while building for the i386.
24081 Inverse test for crosscompile.
24082 * genmk.rb (Utility): Allow assembler files.
24083 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24084 * conf/powerpc-ieee1275.rmk: New file.
24085 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24086 * disk/powerpc/ieee1275/partition.c: Likewise.
24087 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24088 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24089 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24090 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24091 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24092 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24093 * include/pupa/powerpc/ieee1275/loader.h
24094 * include/pupa/powerpc/setjmp.h: Likewise.
24095 * include/pupa/powerpc/types.h: Likewise.
24096 * kern/powerpc/ieee1275/init.c: Likewise.
24097 * kern/powerpc/ieee1275/openfw.c: Likewise.
24098 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24099
24100 These files were written by Johan Rydberg
24101 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24102
e56cdf21 24103 * boot/powerpc/ieee1275/cmain.c: New file.
24104 * boot/powerpc/ieee1275/crt0.S: Likewise.
24105 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24106 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24107
8c8cc205 241082004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24109
24110 * Makefile.in: Update copyright.
24111 * genmodsrc.sh: Likewise.
24112 * gensymlist.sh: Likewise.
24113 * term/i386/pc/vga.c: Indent correctly.
24114
24115 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24116 bugreporting address.
24117 * util/i386/pc/pupa-setup.c (usage): Likewise,
24118 (main): Call pupa_ext2_init and pupa_ext2_fini.
24119
f19dbdb7 24120 * fs/fat.c (log2): Renamed to ...
8c8cc205 24121 (fat_log2): ... this.
24122 All callers changed.
24123 * kern/misc.c (memcpy): Alias to pupa_memmove.
24124 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24125 lvalue cast.
24126 * util/console.c (pupa_ncurses_fini): Return 0.
24127
24128 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24129 Move fail label here.
24130 [__GNU__]: Don't warn when using stat.
24131 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24132 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24133 long int. Use strtol instead of strtoul.
f19dbdb7 24134
db1771cf 241352004-03-14 Marco Gerards <metgerards@student.han.nl>
24136
24137 * commands/boot.c: New file.
24138 * commands/cat.c: Likewise.
24139 * commands/cmp.c: Likewise.
24140 * commands/ls.c: Likewise.
24141 * commands/terminal.c: Likewise.
24142 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24143 (pupa_register_command): Changed interface to match the new
24144 argument parser.
24145 (pupa_command_execute): Changed (almost rewritten) so it uses
24146 pupa_split_command. Added support for setting variables using the
24147 syntax `foo=bar'.
24148 (rescue_command): Changed to work with the new argument parser.
24149 (terminal_command): Moved from here to commands/terminal.c.
24150 (set_command): New function.
24151 (unset_command): New function.
24152 (insmod_command): New function.
24153 (rmmod_command): New function.
24154 (lsmod_command): New function.
24155 (pupa_command_init): Don't initialize the command terminal
24156 anymore. Initialize the commands set, unset, insmod, rmmod and
24157 lsmod.
24158 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24159 (kernel_img_HEADERS): Add arg.h and env.h.
24160 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24161 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24162 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24163 normal/arg.c.
24164 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24165 terminal.mod.
24166 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24167 (boot_mod_SOURCES): New variable.
24168 (terminal_mod_SOURCES): Likewise.
24169 (ls_mod_SOURCES): Likewise.
24170 (cmp_mod_SOURCES): Likewise.
24171 (cat_mod_SOURCES): Likewise.
24172
24173 * normal/arg.c: New file.
24174 * kern/env.c: Likewise.
24175 * include/pupa/arg.h: Likewise.
24176 * include/pupa/env.h: Likewise.
24177 * font/manager.c (font_command): Changed to match argument parsing
24178 interface changes.
24179 (PUPA_MOD_INIT): Likewise.
24180 * hello/hello.c (pupa_cmd_hello): Likewise.
24181 (PUPA_MOD_INIT): Likewise.
24182 * include/pupa/disk.h: Include <pupa/device.h>.
24183 (pupa_print_partinfo): New prototype.
24184 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24185 (pupa_dl_get_prefix): Likewise.
24186 * include/pupa/misc.h: Include <pupa/err.h>.
24187 (pupa_isgraph): New prototype.
24188 (pupa_isdigit): Likewise.
24189 (pupa_split_cmdline): Likewise.
24190 * include/pupa/normal.h: Include <pupa/arg.h>.
24191 (pupa_command): Changed the prototype of the member `func' to
24192 match the argument parsing interface. Added member `options'.
24193 (pupa_register_command): Updated to match function.
24194 (pupa_arg_parse): New prototype.
24195 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24196 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24197 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24198 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24199 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24200 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24201 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24202 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24203 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24204 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24205 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24206 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24207 * kern/disk.c: Include <pupa/file.h>.
24208 (pupa_print_partinfo): New function.
24209 * kern/dl.c: Include <pupa/env.h>.
24210 (pupa_dl_dir): Variable removed.
24211 (pupa_dl_load): Use the environment variable `prefix' instead of
24212 the variable pupa_dl_dir.
24213 (pupa_dl_set_prefix): Function removed.
24214 (pupa_dl_get_prefix): Likewise.
24215 * kern/i386/pc/init.c: Include <pupa/env.h>.
24216 (pupa_machine_init): Use the environment variable `prefix' instead of
24217 using pupa_dl_set_prefix to set the prefix.
24218 * kern/main.c: Include <pupa/env.h>.
24219 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24220 using pupa_dl_get_prefix to get the prefix.
24221 * kern/misc.c: Include <pupa/env.h>.
24222 (pupa_isdigit): New function.
24223 (pupa_isgraph): Likewise.
24224 (pupa_ftoa): Likewise.
24225 (pupa_vsprintf): Added support for printing values of the type
24226 `double'. Make it possible to format variable output when using
24227 formatting like `%1.2%f'.
24228 (pupa_split_cmdline): New function.
24229 * kern/rescue.c: Include <pupa/env.h>.
24230 (next_word): Removed function.
24231 (pupa_rescue_cmd_prefix): Likewise.
24232 (pupa_rescue_cmd_set): New function.
24233 (pupa_rescue_cmd_unset): New function.
24234 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24235 split the command line instead of splitting it here. Added
24236 support for setting variables using the syntax `foo=bar'. Don't
24237 initialize the prefix command anymore. Initialized the set and
24238 unset commands.
24239 * normal/cmdline.c: Include <pupa/env.h>.
24240 (pupa_tab_complete): Added prototypes for print_simple_completion,
24241 print_partition_completion, add_completion, iterate_commands,
24242 iterate_dev, iterate_part and iterate_dir. Moved code to print
24243 partition information from here to kern/disk.c.
fe6b695a 24244 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24245 * normal/main.c: Include <pupa/env.h>.
24246 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24247 instead of using pupa_dl_get_prefix to get the prefix.
24248 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24249 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24250 warning.
24251 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24252 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24253 ((unused))' to silence a gcc warning.
24254 (pupa_vga_setcolor): Likewise.
24255 (debug_command): Changed to match argument parsing
24256 interface changes.
24257 * util/pupa-emu.c: Include <pupa/env.h>.
24258 (options): Added 0's for unused fields to silence a gcc warning.
24259 (argp): Likewise.
24260 (main): Use the environment variable `prefix' instead of using
24261 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24262 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24263 and terminal.
24264
24265 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24266 * util/misc.c: Include <malloc.h>.
24267 (pupa_malloc): Rewritten so errors are correctly reported.
24268 (pupa_realloc): Likewise.
24269 (pupa_memalign): Likewise.
24270 (pupa_mm_init_region): Declare unused variables with
24271 `__attribute__ ((unused))' to silence a gcc warning.
24272 * normal/i386/setjmp.S: Remove tab at the end of the file to
24273 silence a gcc warning.
24274 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24275 variables with `__attribute__ ((unused))' to silence a gcc
24276 warning.
24277 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24278 local variable i unsigned to silence a gcc warning.
24279
24280 * kern/term.c: Include <pupa/misc.h>.
24281 (pupa_more_lines): New variable.
24282 (pupa_more): Likewise.
24283 (pupa_putcode): When the pager is active pause at the end of every
24284 screen.
24285 (pupa_set_more): New function.
24286 * include/pupa/term.h (pupa_set_more): New prototype.
24287
24288
3b1139cb 242892004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24290
24291 Now this project is GRUB 2 rather than PUPA. The location of
24292 the CVS repository was moved to GRUB's.
f19dbdb7 24293
3b1139cb 24294 * configure.ac: Use bug-grub as the reporting address.
24295 Use GRUB instead of PUPA.
24296 Change the version number to 1.90.
24297
8367695c 242982004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24299
24300 * genkernsyms.sh: Updated copyright information.
24301 * genmk.rb: Likewise.
24302 * genmodsrc.sh: Likewise.
24303 * gensymlist.sh: Likewise.
24304 * boot/i386/pc/boot.S: Likewise.
24305 * boot/i386/pc/diskboot.S: Likewise.
24306 * disk/i386/pc/biosdisk.c: Likewise.
24307 * disk/i386/pc/partition.c: Likewise.
24308 * font/manager.c: Likewise.
24309 * fs/ext2.c: Likewise.
24310 * fs/fat.c: Likewise.
24311 * include/pupa/boot.h: Likewise.
24312 * include/pupa/device.h: Likewise.
24313 * include/pupa/disk.h: Likewise.
24314 * include/pupa/dl.h: Likewise.
24315 * include/pupa/elf.h: Likewise.
24316 * include/pupa/err.h: Likewise.
24317 * include/pupa/file.h: Likewise.
24318 * include/pupa/font.h: Likewise.
24319 * include/pupa/fs.h: Likewise.
24320 * include/pupa/kernel.h: Likewise.
24321 * include/pupa/loader.h: Likewise.
24322 * include/pupa/misc.h: Likewise.
24323 * include/pupa/mm.h: Likewise.
24324 * include/pupa/net.h: Likewise.
24325 * include/pupa/normal.h: Likewise.
24326 * include/pupa/rescue.h: Likewise.
24327 * include/pupa/setjmp.h: Likewise.
24328 * include/pupa/symbol.h: Likewise.
24329 * include/pupa/term.h: Likewise.
24330 * include/pupa/types.h: Likewise.
24331 * include/pupa/i386/setjmp.h: Likewise.
24332 * include/pupa/i386/types.h: Likewise.
24333 * include/pupa/i386/pc/biosdisk.h: Likewise.
24334 * include/pupa/i386/pc/boot.h: Likewise.
24335 * include/pupa/i386/pc/console.h: Likewise.
24336 * include/pupa/i386/pc/init.h: Likewise.
24337 * include/pupa/i386/pc/kernel.h: Likewise.
24338 * include/pupa/i386/pc/linux.h: Likewise.
24339 * include/pupa/i386/pc/loader.h: Likewise.
24340 * include/pupa/i386/pc/memory.h: Likewise.
24341 * include/pupa/i386/pc/multiboot.h: Likewise.
24342 * include/pupa/i386/pc/partition.h: Likewise.
24343 * include/pupa/i386/pc/time.h: Likewise.
24344 * include/pupa/i386/pc/vga.h: Likewise.
24345 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
24346 * include/pupa/util/getroot.h: Likewise.
24347 * include/pupa/util/misc.h: Likewise.
24348 * include/pupa/util/resolve.h: Likewise.
24349 * kern/device.c: Likewise.
24350 * kern/disk.c: Likewise.
24351 * kern/dl.c: Likewise.
24352 * kern/err.c: Likewise.
24353 * kern/file.c: Likewise.
24354 * kern/fs.c: Likewise.
24355 * kern/loader.c: Likewise.
24356 * kern/main.c: Likewise.
24357 * kern/misc.c: Likewise.
24358 * kern/mm.c: Likewise.
24359 * kern/rescue.c: Likewise.
24360 * kern/term.c: Likewise.
24361 * kern/i386/dl.c: Likewise.
24362 * kern/i386/pc/init.c: Likewise.
24363 * kern/i386/pc/lzo1x.S: Likewise.
24364 * kern/i386/pc/startup.S: Likewise.
24365 * loader/i386/pc/chainloader.c: Likewise.
24366 * loader/i386/pc/linux.c: Likewise.
24367 * loader/i386/pc/multiboot.c: Likewise.
24368 * normal/cmdline.c: Likewise.
24369 * normal/command.c: Likewise.
24370 * normal/main.c: Likewise.
24371 * normal/menu.c: Likewise.
24372 * normal/i386/setjmp.S: Likewise.
24373 * term/i386/pc/console.c: Likewise.
24374 * term/i386/pc/vga.c: Likewise.
24375 * util/console.c: Likewise.
24376 * util/genmoddep.c: Likewise.
24377 * util/misc.c: Likewise.
24378 * util/pupa-emu.c: Likewise.
24379 * util/resolve.c: Likewise.
24380 * util/unifont2pff.rb: Likewise.
24381 * util/i386/pc/biosdisk.c: Likewise.
24382 * util/i386/pc/getroot.c: Likewise.
24383 * util/i386/pc/pupa-mkimage.c: Likewise.
24384 * util/i386/pc/pupa-setup.c: Likewise.
24385
e6eced71 243862004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
24387
24388 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
24389 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
24390 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
24391 reading and reset it after reading.
24392 (pupa_ext2_close): Return PUPA_ERR_NONE.
24393
24394 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
24395 Correct value.
24396 (struct linux_kernel_header): Add kernel_version and
24397 initrd_addr_max.
24398 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
24399 pupa_file_read succeeds.
24400 (pupa_rescue_cmd_initrd): Implement.
24401
5aded270 244022003-12-03 Marco Gerards <metgerards@student.han.nl>
24403
24404 * fs/ext2.c (pupa_ext2_label): New function.
24405 (pupa_ext2_fs): Added label.
24406 * fs/fat.c (pupa_fat_label): New function.
24407 (pupa_fat_fs): Added label.
24408 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
24409
24410 * kern/misc.c (pupa_strndup): New function.
24411 * include/pupa/misc.h (pupa_strndup): New prototype.
24412
24413 * include/pupa/normal.h: Include <pupa/err.h>.
24414 (pupa_set_history): New prototype.
24415 (pupa_iterate_commands): New prototype.
24416 * normal/cmdline.c: Include <pupa/machine/partition.h>,
24417 <pupa/disk.h>, <pupa/file.h>.
24418 (hist_size): New variable.
24419 (hist_lines): Likewise.
24420 (hist_end): Likewise.
24421 (hist_used): Likewise.
24422 (pupa_set_history): New function.
24423 (pupa_history_get): Likewise.
24424 (pupa_history_add): Likewise.
24425 (pupa_history_replace): Likewise.
24426 (pupa_tab_complete): Likewise.
24427 (pupa_cmdline_run): Added tab completion and history buffer. Tab
24428 completion shows partitionnames while completing partitions, this
24429 feature was suggested by Jeff Bailey.
24430 * normal/command.c (pupa_iterate_commands): New function.
24431 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
24432 (pupa_normal_init): Initialize history buffer.
24433 (PUPA_MOD_INIT): Likewise.
24434 (pupa_normal_fini): Free the history buffer.
24435 (PUPA_MOD_FINI): Likewise.
24436
24437 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
24438 key.
24439
24440 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
24441 * configure.ac [i386]: Check for regparam bug.
24442 (NESTED_FUNC_ATTR) [! i386]: Defined.
24443
1f7315a3 244442003-11-17 Marco Gerards <metgerards@student.han.nl>
24445
24446 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
24447 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
24448 (pupa_emu_SOURCES): New variable.
24449 (pupa_emu_LDFLAGS): Likewise.
24450 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
24451 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
24452 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
24453 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24454 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
24455 (pupa_jmp_buf): New typedef.
24456 (pupa_setjmp) [PUPA_UTIL]: New macro.
24457 (pupa_longjmp) [PUPA_UTIL]: Likewise.
24458 * include/pupa/term.h (struct pupa_term): New member `refresh'.
24459 (pupa_refresh): New prototype.
24460 * include/pupa/util/getroot.h: New file.
24461 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
24462 it.
24463 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
24464 (pupa_rescue_cmd_cat): Likewise.
24465 (pupa_rescue_cmd_ls): Likewise.
24466 (pupa_rescue_cmd_testload): Likewise.
24467 (pupa_rescue_cmd_lsmod): Likewise.
24468 * normal/cmdline.c (pupa_cmdline_get): Likewise.
24469 * normal/menu.c (run_menu): Likewise.
24470 * kern/term.c (pupa_cls): Likewise.
24471 (pupa_refresh): New function.
24472 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
24473 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24474 * util/console.c: New file.
f19dbdb7 24475
1f7315a3 24476 * util/i386/pc/getroot.c: New file.
24477 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
24478 (pupa_putchar): New function.
24479 (pupa_refresh): Likewise.
24480 (xgetcwd): Function moved to ...
24481 (strip_extra_slashes): Likewise.
24482 (get_prefix): Likewise.
f19dbdb7 24483 * util/i386/pc/getroot.c: ... here.
1f7315a3 24484 (find_root_device): Function moved and renamed to...
24485 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
24486 Changed all callers.
24487 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
24488 and renamed to...
24489 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
24490 Changed all callers.
24491 * util/misc.c (pupa_memalign): New function.
24492 (pupa_mm_init_region): Likewise.
24493 (pupa_register_exported_symbols): Likewise.
24494 (pupa_putchar): Function removed.
24495 * util/pupa-emu.c: New file.
24496
9a5c1ade 244972003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
24498
24499 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
24500 (_multiboot_mod_SOURCES): New variable.
24501 (_multiboot_mod_CFLAGS): Likewise.
24502 * loader/i386/pc/multiboot.c: New file.
24503 * include/pupa/i386/pc/multiboot.h: Likewise.
24504 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
24505 (pupa_multiboot_real_boot): New function.
24506 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
24507 (pupa_multiboot_real_boot): New prototype.
24508 (pupa_rescue_cmd_multiboot): Likewise
24509 (pupa_rescue_cmd_module): Likewise.
24510
24511 * kern/loader.c (pupa_loader_set): Continue when
24512 pupa_loader_unload_func() fails.
24513 (pupa_loader_unset): New function.
24514 * include/pupa/loader.h (pupa_loader_unset): New prototype.
24515
24516 * kern/misc.c (pupa_stpcpy): New function.
24517 * include/pupa/misc.h (pupa_stpcpy): New prototype.
24518
8e72a9c0 245192003-11-12 Marco Gerards <metgerards@student.han.nl>
24520
24521 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
24522 for available extensions.
24523
24524 * include/pupa/i386/pc/time.h: New file.
24525 * kern/disk.c: Include <pupa/machine/time.h>.
24526 (PUPA_CACHE_TIMEOUT): New macro.
24527 (pupa_last_time): New variable.
24528 (pupa_disk_open): Flush the cache when there was a timeout.
24529 (pupa_disk_close): Reset the timer.
24530 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
24531 pupa_currticks.
24532 * util/misc.c: Include <sys/times.h>
24533 (pupa_get_rtc): New function.
24534
c4adbd32 245352003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24536
24537 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
24538 as blocks.
24539 (pupa_ext2_get_file_block): Use blocks member.
24540
24541 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
24542 first block. Return -1 instead of pupa_errno on error.
24543
bfd30f06 245442003-10-27 Marco Gerards <metgerards@student.han.nl>
24545
24546 * README: In the pupa-mkimage example use _chain instead of chain
24547 and ext2 instead of fat.
24548 * TODO: Replace ext2fs with jfs as an example. Add an item for
24549 adding journal playback for ext2fs.
24550 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
24551 (pkgdata_MODULES): Added ext2.mod.
24552 (ext2_mod_SOURCES): New variable.
24553 (ext2_mod_CFLAGS): Likewise.
24554 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
24555 * include/pupa/misc.h (pupa_strncpy): New prototype.
24556 (pupa_strcat): Likewise.
24557 (pupa_strncmp): Likewise.
24558 * kern/misc.c (pupa_strcat): Enable function.
24559 (pupa_strncpy): New function.
24560 (pupa_strncmp): Likewise.
24561 * fs/ext2.c: New file.
f19dbdb7 24562
bfd30f06 24563 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
24564 when the read failed before retrying.
24565 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
24566 (_FILE_OFFSET_BITS): Likewise.
24567 * configure.ac: Added AC_SYS_LARGEFILE.
24568
98d15063 245692003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24570
24571 * genmk.rb (PModule#rule): Make sure to get only symbol names
24572 from the output of nm.
59cad637 24573 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 24574
18d9c7cd 245752003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24576
24577 I forgot to check in these changes for a long time. This adds
24578 incomplete support for VGA console, and this is still very
24579 buggy. Also, a lot of consideration is required for I18N,
24580 UNICODE, and VGA font issues. Therefore, assume that this is
24581 such that "better than nothing".
f19dbdb7 24582
18d9c7cd 24583 * font/manager.c: New file.
24584 * include/pupa/font.h: Likewise.
24585 * include/pupa/i386/pc/vga.h: Likewise.
24586 * term/i386/pc/vga.c: Likewise.
24587 * util/unifont2pff.rb: Likewise.
24588
24589 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
24590 (pkgdata_MODULES): Added vga.mod and font.mod.
24591 (vga_mod_SOURCES): New variables.
24592 (vga_mod_CFLAGS): Likewise.
24593 (font_mod_SOURCES): Likewise.
24594 (font_mod_CFLAGS): Likewise.
24595
24596 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
24597
24598 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 24599 (struct pupa_term): Added init and fini.
18d9c7cd 24600 Changed the argument of putchar to pupa_uint32_t.
24601
24602 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
24603 (pupa_console_real_putchar): New prototype.
24604 (pupa_console_putchar): Removed.
24605 (pupa_console_checkkey): Exported.
24606 (pupa_console_getkey): Likewise.
24607
24608 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
24609 characters.
24610
24611 * kern/term.c (pupa_term_set_current): Rewritten.
24612 (pupa_putchar): Likewise.
24613 (pupa_putcode): New function.
24614
24615 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24616 (pupa_console_real_putchar): ... this.
24617 (pupa_vga_set_mode): New function.
24618 (pupa_vga_get_font): Likewise.
24619
24620 * normal/command.c: Include pupa/term.h.
24621 (terminal_command): New function.
24622 (pupa_command_init): Register the command "terminal".
24623
24624 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24625 (DISP_UP): Likewise.
24626 (DISP_RIGHT): Likewise.
24627 (DISP_DOWN): Likewise.
24628 (DISP_HLINE): Likewise.
24629 (DISP_VLINE): Likewise.
24630 (DISP_UL): Likewise.
24631 (DISP_UR): Likewise.
24632 (DISP_LL): Likewise.
24633 (DISP_LR): Likewise.
24634
24635 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 24636
977329f5 246372003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24638
24639 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24640 FIX. Reverse the path_list.
24641
24642 * include/pupa/normal.h: Export pupa_register_command and
24643 pupa_unregister_command.
24644
24645 * hello/hello.c (pupa_cmd_hello): New module.
24646 * conf/i386-pc.rmk: Added hello.mod.
24647
1f5ab428 246482003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24649
24650 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 24651
1f5ab428 24652 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24653 (compress_kernel): New variable.
24654 (generate_image): Heavily modified to support compressing a
24655 large part of the core image.
24656
24657 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24658 leak.
24659 (pupa_util_load_image): New function.
24660
24661 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24662 (pupa_compressed_size): New variable.
24663 (codestart): Enable Gate A20 here.
24664 Decompress the compressed part of the core image.
24665 Rearrange the code to put functions and variables which are
24666 required for initialization in the non-compressed part.
24667 Include lzo1x.S.
24668
24669 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24670 here.
24671
24672 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24673
f19dbdb7 24674 * include/pupa/i386/pc/kernel.h
1f5ab428 24675 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24676 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24677 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24678 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24679 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24680
24681 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24682
24683 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24684 (Utility#rule): Likewise.
24685
24686 * configure.ac: Check if LZO is available.
24687
ce5bf700 246882003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24689
24690 * include/pupa/normal.h: New file.
24691 * include/pupa/setjmp.h: Likewise.
24692 * include/pupa/i386/setjmp.h: Likewise.
24693 * normal/cmdline.c: Likewise.
24694 * normal/command.c: Likewise.
24695 * normal/main.c: Likewise.
24696 * normal/menu.c: Likewise.
24697 * normal/i386/setjmp.S: Likewise.
f19dbdb7 24698
ce5bf700 24699 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24700 (pupa_rescue_cmd_initrd): Likewise.
24701
24702 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24703 Likewise.
24704
24705 * kern/i386/pc/startup.S (translation_table): New variable.
24706 (translate_keycode): New function.
24707 (pupa_console_getkey): Call translate_keycode.
24708
24709 * kern/rescue.c (attempt_normal_mode): New function.
24710 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24711 it failed, print a message.
24712
24713 * kern/mm.c (pupa_real_malloc): Print more information when a
24714 free magic is broken.
24715 (pupa_free): If the first free header is not free actually, set
24716 it to P.
24717
24718 * kern/main.c (pupa_load_normal_mode): Just load the module
24719 "normal".
24720 (pupa_main): Don't print the message
24721 "Entering into rescue mode..." here.
24722
24723 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24724 Declared.
24725 (pupa_rescue_cmd_initrd): Likewise.
24726 (pupa_rescue_cmd_initrd): Likewise.
24727
24728 * include/pupa/symbol.h (FUNCTION): Specify the type.
24729 (VARIABLE): Likewise.
24730
24731 * include/pupa/err.h (pupa_err_t): Added
24732 PUPA_ERR_UNKNOWN_COMMAND.
24733
24734 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24735 (pupa_dl_get_prefix): Likewise.
24736
24737 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24738 Added _chain.mod and _linux.mod instead of chain.mod and
24739 linux.mod.
24740 (chain_mod_SOURCES): Renamed to ...
24741 (_chain_mod_SOURCES): ... this.
24742 (chain_mod_CFLAGS): Renamed to ...
24743 (_chain_mod_CFLAGS): ... this.
24744 (linux_mod_SOURCES): Renamed to ...
24745 (_linux_mod_SOURCES): ... this.
24746 (linux_mod_CFLAGS): Renamed to ...
24747 (_linux_mod_CFLAGS): ... this.
24748 (normal_mod_SOURCES): New variable.
24749 (normal_mod_CFLAGS): Likewise.
24750 (normal_mod_ASFLAGS): Likewise.
24751
247522003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24753
24754 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24755 possible.
24756
fe6b695a 24757 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 24758 recursively.
24759 (pupa_dl_unref): Unrefer depending modules recursively.
24760 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24761 a module is unloaded before one depending on that module is
24762 unloaded.
24763 (pupa_dl_unload): Unload depending modules explicitly,
24764 if possible.
24765
c04da074 247662003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24767
24768 * include/pupa/i386/pc/linux.h: New file.
24769 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 24770
c04da074 24771 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24772 Removed.
24773 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24774 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24775 of PUPA_CHAINLOADER_BOOT_SECTOR.
24776
24777 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24778 (pupa_linux_prot_size): New variable.
24779 (pupa_linux_tmp_addr): Likewise.
24780 (pupa_linux_real_addr): Likewise.
24781 (pupa_linux_boot_zimage): New function.
24782 (pupa_linux_boot_bzimage): Likewise.
24783
24784 * kern/i386/pc/init.c (struct mem_region): New structure.
24785 (MAX_REGIONS): New macro.
24786 (mem_regions): New variable.
24787 (num_regions): Likewise.
24788 (pupa_os_area_addr): Likewise.
24789 (pupa_os_area_size): Likewise.
24790 (pupa_lower_mem): Likewise.
24791 (pupa_upper_mem): Likewise.
24792 (add_mem_region): New function.
24793 (compact_mem_regions): Likewise.
24794 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
24795 the size of the conventional memory and that of so-called upper
24796 memory (before the first memory hole).
24797 Instead of adding each found region to free memory, use
24798 add_mem_region and add them after removing overlaps.
24799 Also, add only 1/4 of the upper memory to free memory. The rest
24800 is used for loading OS images. Maybe this is ad hoc, but this
24801 makes it much easier to relocate OS images when booting.
24802
24803 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24804 (pupa_enter_rescue_mode): Don't register initrd and module.
24805
24806 * kern/mm.c: Include pupa/dl.h.
24807
24808 * kern/main.c: Include pupa/file.h and pupa/device.h.
24809
24810 * kern/loader.c (pupa_loader_load_module_func): Removed.
24811 (pupa_loader_load_module): Likewise.
24812
24813 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24814 ``.o''.
24815
24816 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24817 (pupa_linux_tmp_addr): Likewise.
24818 (pupa_linux_real_addr): Likewise.
24819 (pupa_linux_boot_zimage): Likewise.
24820 (pupa_linux_boot_bzimage): Likewise.
24821
24822 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24823 (pupa_upper_mem): Likewise.
24824 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24825 module is too dangerous.
24826
24827 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24828 (pupa_os_area_size): Likewise.
24829 (pupa_loader_set): Remove the first argument. Loader doesn't
24830 manage modules or initrd any longer.
24831 (pupa_loader_load_module): Removed.
24832
24833 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24834 (linux_mod_SOURCES): New variable.
24835 (linux_mod_CFLAGS): Likewise.
24836
a13f9237 248372003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24838
24839 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24840 the length of a blocklist correctly.
24841
24842 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24843 Use ioctl only if the OS file is a block device.
24844 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24845 not very useful for normal files.
24846
24847 * kern/main.c (pupa_set_root_dev): New function.
24848 (pupa_load_normal_mode): Likewise.
24849 (pupa_main): Call those above.
24850
24851 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24852 pupa_uint16_t.
24853
24854 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24855
a5ffe966 248562003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24857
24858 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
24859 (setup): Configure the installed partition information and the
24860 dl prefix.
24861
24862 * loader/i386/pc/chainloader.c (my_mod): New variable.
24863 (pupa_chainloader_unload): New function.
24864 (pupa_rescue_cmd_chainloader): Refer itself.
24865 (PUPA_MOD_INIT): Save its own module in MY_MOD.
24866
24867 * kern/i386/pc/startup.S (install_partition): Removed.
24868 (version_string): Likewise.
24869 (config_file): Likewise.
24870 (pupa_install_dos_part): New variable.
24871 (pupa_install_bsd_part): Likewise.
24872 (pupa_prefix): Likewise.
24873 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
24874
24875 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
24876 and pupa/misc.h.
24877 (make_install_device): New function.
24878 (pupa_machine_init): Set the dl prefix.
24879
24880 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
24881 (buf): Renamed to ...
24882 (linebuf): ... this.
24883 (pupa_rescue_cmd_prefix): New function.
24884 (pupa_rescue_cmd_insmod): Likewise.
24885 (pupa_rescue_cmd_rmmod): Likewise.
24886 (pupa_rescue_cmd_lsmod): Likewise.
24887 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
24888 rmmod and lsmod.
24889
24890 * kern/mm.c (pupa_memalign): If failed even after invalidating
24891 disk caches, unload unneeded modules and retry.
24892
24893 * kern/misc.c (pupa_memmove): New function.
24894 (pupa_memcpy): Removed.
24895 (pupa_strcpy): New function.
24896 (pupa_itoa): Made static.
24897
24898 * kern/dl.c (pupa_dl_iterate): New function.
24899 (pupa_dl_ref): Likewise.
24900 (pupa_dl_unref): Likewise.
24901 (pupa_dl_unload): Return if succeeded or not.
24902 (pupa_dl_unload_unneeded): New function.
24903 (pupa_dl_unload_all): Likewise.
24904 (pupa_dl_init): Renamed to ...
24905 (pupa_dl_set_prefix): ... this.
24906 (pupa_dl_get_prefix): New function.
24907
24908 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
24909 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
24910 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24911 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24912 (pupa_install_dos_part): Declared.
24913 (pupa_install_bsd_part): Likewise.
24914 (pupa_prefix): Likewise.
24915 (pupa_boot_drive): Likewise.
24916
24917 * include/pupa/types.h: Fix a typo.
24918
24919 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
24920 pupa_memmove.
24921 (pupa_memmove): Declared.
24922 (pupa_strcpy): Likewise.
24923
24924 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
24925 pupa_mod_init takes one argument, its own module.
24926 (pupa_dl_unload_unneeded): Declared.
24927 (pupa_dl_unload_all): Likewise.
24928 (pupa_dl_ref): Likewise.
24929 (pupa_dl_unref): Likewise.
24930 (pupa_dl_iterate): Likewise.
24931 (pupa_dl_init): Renamed to ...
24932 (pupa_dl_set_prefix): ... this.
24933 (pupa_dl_get_prefix): Declared.
24934
24935 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 24936 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 24937 unloaded.
24938 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
24939 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
24940
24941 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
24942 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
24943
012d7999 249442003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24945
24946 * util/i386/pc/pupa-setup.c (setup): Define the internal
24947 function find_first_partition_start at the top level, because GCC
24948 3.0.x cannot compile internal functions in deeper scopes
24949 correctly.
24950 (find_root_device): Use lstat instead of stat.
24951 Don't follow symbolic links.
24952 Fix the path-constructing code.
24953
24954 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
24955 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
24956 by a BLKGETSIZE ioctl first, because block devices don't fill
24957 the member st_mode of the structure stat on Linux.
24958 [__linux__] (linux_find_partition): Use a temporary buffer
24959 REAL_DEV for the working space. Copy it to DEV before returning.
24960 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
24961 buffer cache consistent.
24962 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
24963 strncmp. The previous value was merely wrong.
24964 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
24965
24966 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
24967 FAT size is 12. The previous value was merely wrong.
24968
24969 * kern/main.c (pupa_main): Don't split the starting message from
24970 newlines.
24971
24972 * kern/term.c (pupa_putchar): Put CR after LF instead of before
24973 LF, because BIOS goes crazy about character attributes in this
24974 case.
24975
1cc73a62 249762003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24977
24978 * include/i386/pc/util/biosdisk.h: New file.
24979 * util/i386/pc/biosdisk.c: Likewise.
24980 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 24981
1cc73a62 24982 * Makefile.in (INCLUDE_DISTFILES): Added
24983 include/pupa/i386/pc/util/biosdisk.h.
24984 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
24985 directory util/i386/pc.
24986 (install-local): Added a rule for sbin_UTILITIES.
24987 (uninstall): Likewise.
24988
24989 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
24990
24991 * util/misc.c (xrealloc): New function.
24992 (pupa_malloc): Likewise.
24993 (pupa_free): Likewise.
24994 (pupa_realloc): Likewise.
24995 (pupa_stop): Likewise.
24996 (pupa_putchar): Likewise.
24997
24998 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24999
25000 * include/pupa/util/misc.h (xrealloc): Declared.
25001
25002 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25003 macro.
25004 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25005 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25006
25007 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25008 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25009
25010 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25011 way should be implemented.
25012 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25013
25014 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25015 the size of NAME for safety.
25016 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25017 0x88.
25018
25019 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25020 (pupa_setup_SOURCES): Likewise.
25021
25022 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25023
08b70fe8 250242002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25025
25026 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25027 bunch of pushl's from pusha, because this destroys the return
25028 value.
25029
62ddcc8f 250302002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25031
25032 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25033 This means that any missing prototypes could be fatal. Also, you
25034 must take care when writing assembly code. See the comments at
25035 the beginning of startup.S, for more details.
f19dbdb7 25036
62ddcc8f 25037 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25038 compilation mechanism.
25039 (pupa_chainloader_real_boot): Likewise.
25040 (pupa_biosdisk_rw_int13_extensions): Likewise.
25041 (pupa_biosdisk_rw_standard): Likewise.
25042 (pupa_biosdisk_check_int13_extensions): Likewise.
25043 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25044 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25045 (pupa_get_memsize): Likewise.
25046 (pupa_get_mmap_entry): Likewise.
25047 (pupa_console_putchar): Likewise.
25048 (pupa_console_setcursor): Likewise.
25049 (pupa_getrtsecs): Use pushl instead of push.
25050
25051 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25052 memory instead of the stack for a mmap entry, because some
25053 BIOSes may ignore the maximum size and overflow.
25054
25055 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25056
25057 * genmk.rb (PModule#rule): Compile automatically generated
25058 sources with module-specific CFLAGS as well as other sources.
25059
9962ed99 250602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25061
25062 * configure.ac: Check ld.
25063 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25064 respectively, before checking endianness and sizes.
25065
25066 * Makefile.in (LD): New variable.
f19dbdb7 25067
abdfc3c5 250682002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25069
25070 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25071
6a161fa9 250722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25073
25074 * Changelog: New file.
25075