]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
d27859b2
VS
12010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4 set root in single quotes to prevent \, from being unescaped.
5
bc028f2f
VS
62010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Prevent unknown commands from stopping menuentry execution.
9
10 * script/execute.c (grub_script_execute_cmdline): Print error after
11 unknown command.
12
095f5f82
VS
132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16 Reported by: Pavel Pisa.
17
8c717950
VS
182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21
904935c3
VS
222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23
24 Merge grub_ieee1275_map_physical into grub_map and rename to
25 grub_ieee1275_map
26
27 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29 Remove.
30 * kern/ieee1275/openfw.c (grub_map): Rename to ...
31 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
32 necessary.
33 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
34
5b59a4e3
VS
352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
38 opening and not after.
39
69e137e8
VS
402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
43 constants.
44
2c0fcc36
VS
452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
48 (alloc_phys): Use ALIGN_UP instead of align_addr.
49
8c6052ce
VS
502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
53
17cec782
VS
542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
57
e0128bbd
VS
582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
61 verbose dprintf.
62
ca62070b
VS
632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Fix over-4GiB seek on sparc64.
66
67 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
68 Replace pos_i and pos_lo with pos. All users updated.
69 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
70 New constant.
71 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
72 Likewise.
73 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
74 and pos_lo.
75
bdca2607
VS
762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * util/grub-mkrawimage.c (main): Call set_program_name.
79
da278c4d
VS
802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Properly align 64-bit targets.
83
84 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
85 (generate_image): Use ALIGN_ADDR.
86
b274d734
VS
872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
88
89 Properly create cross-endian images.
90
91 * include/grub/types.h (grub_host_to_target_addr): New macro
92 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
93
82da2062
VS
942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
97
7cae4377
VS
982010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
99
100 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
101
102 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
103 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
104 (grub_linux_boot): Divide by 64K when on VESA.
105
65a533e7
VS
1062010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
107
108 Support GRUB_GFXPAYLOAD_LINUX.
109
110 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
111 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
112
dd01d397
VS
1132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
116 to show messages instead of discarding them.
117 Process errors after executing command and not before. Keep old method
118 too as precaution.
119
660960d6
VS
1202010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * configure.ac: Check for ft2build.h.
123
62509f04
VS
1242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
127
473df63d
VS
1282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * genkernsyms.sh.in: Use TARGET_CC.
131
c98d2a13
CW
1322010-02-07 Colin Watson <cjwatson@ubuntu.com>
133
134 * NEWS: Update.
135
6e14234c
VS
1362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
139 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
140 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 141
b255e9cf
YB
1422010-02-07 Yves Blusseau <blusseau@zetam.org>
143
6e14234c 144 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 145
98e6959d
VS
1462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
147
148 Fix warnings in grub-emu when compiling with maximum warning options.
149
150 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
151 (grub_arch_modules_addr): Return 0 and not NULL.
152 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 153 (xstrdup): Use newstr instead of dup.
f88d801b
VS
154 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
155 of disk to dsk to avoid shadowing.
74e4934e
VS
156 (find_free_slot): Fix prototype.
157 * util/getroot.c (grub_util_is_dmraid): Make static.
158 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
159 Add missing prototype.
160 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 161
74e31b5c
VS
1622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * loader/i386/linux.c (grub_linux_setup_video): Handle error
165 appropriately.
166
6b2ad14b
VS
1672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
170 code out.
171
8f891adc
VS
1722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
175 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
176 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
177 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
178 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
179 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
180
74b45184
VS
1812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * include/grub/err.h (grub_err_printf): Don't export.
184
a4bced77
VS
1852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
188
007d0695
VS
1892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * include/grub/i18n.h (grub_gettext_dummy): Removed.
192 * kern/misc.c (grub_gettext_dummy): Make static.
193
b6c0d9c2
VS
1942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
197 by non-valid ones.
198 * kern/term.c (grub_putchar): Likewise.
199
f51a90d0
VS
2002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
203 buggy hook call and memory leak.
204
6846cec5
VS
2052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
208
468d69fe
VS
2092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
212
51906b8c
VS
2132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
216 modevar.
217 Return grub_errno on allocation error.
218
09706ce5
VS
2192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
222
911df80c
YB
2232010-02-06 Yves Blusseau <blusseau@zetam.org>
224
225 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
226 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
227
3746a6bc
VS
2282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
231 non-pxe disk.
232 (grub_pxefs_open): Likewise.
233
09706ce5
VS
2342010-02-06 Robert Millan <rmh.grub@aybabtu.com>
235
236 * util/grub.d/10_hurd.in: Add --class information to menuentries.
237 * util/grub.d/10_kfreebsd.in: Likewise.
238 * util/grub.d/10_linux.in: Likewise.
239
7cc192d9
VS
2402010-02-06 Colin D Bennett <colin@gibibit.com>
241
242 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
243 (gfxmenu_mod_SOURCES): New variable.
244 (gfxmenu_mod_CFLAGS): Likewise.
245 (gfxmenu_mod_LDFLAGS): Likewise.
246 * include/grub/term.h (grub_term_set_current_output): Declare
247 argument as const.
248 * docs/gfxmenu-theme-example.txt: New file.
249 * gfxmenu/gfxmenu.c: Likewise.
250 * gfxmenu/gui_box.c: Likewise.
251 * gfxmenu/gui_canvas.c: Likewise.
252 * gfxmenu/gui_circular_progress.c: Likewise.
253 * gfxmenu/gui_image.c: Likewise.
254 * gfxmenu/gui_label.c: Likewise.
255 * gfxmenu/gui_list.c: Likewise.
256 * gfxmenu/gui_progress_bar.c: Likewise.
257 * gfxmenu/gui_string_util.c: Likewise.
258 * gfxmenu/gui_util.c: Likewise.
259 * gfxmenu/icon_manager.c: Likewise.
260 * gfxmenu/model.c: Likewise.
261 * gfxmenu/named_colors.c: Likewise.
262 * gfxmenu/theme_loader.c: Likewise.
263 * gfxmenu/view.c: Likewise.
264 * gfxmenu/widget-box.c: Likewise.
265 * include/grub/gfxmenu_model.h: Likewise.
266 * include/grub/gfxmenu_view.h: Likewise.
267 * include/grub/gfxwidgets.h: Likewise.
268 * include/grub/gui.h: Likewise.
269 * include/grub/gui_string_util.h: Likewise.
270 * include/grub/icon_manager.h: Likewise.
271
2722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
273
274 Agglomerate scrolling in gfxterm.
275
276 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
277 (grub_virtual_screen_setup): Initialise 'total_screen'.
278 (write_char): Split to ...
279 (paint_char): ... this ...
280 (write_char): ... and this.
281 (paint_char): Handle delayed scrolling.
282 (draw_cursor): Likewise.
283 (scroll_up): Split to ...
284 (real_scroll): ... this ...
285 (scroll_up): ... and this.
286 (real_scroll): Handle multi-line scroll and draw below-the-bottom
287 characters.
288 (grub_gfxterm_refresh): Call real_scroll.
289
2902010-02-06 Colin D Bennett <colin@gibibit.com>
291
292 * include/grub/misc.h (grub_iscntrl): New inline function.
293 (grub_isalnum): Likewise.
294 (grub_strtol): Likewise.
295
2962010-02-06 Colin D Bennett <colin@gibibit.com>
297
298 * normal/menu_text.c (get_entry_number): Move from here ...
299 * normal/menu.c (get_entry_number): ... moved here.
300 * include/grub/menu.h (grub_menu_get_default_entry_index):
301 New prototype.
302 * normal/menu.c (grub_menu_get_default_entry_index): New function.
303 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
304 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
305 (grub_menu_viewer_should_return): Likewise.
306 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
307 * normal/menu_text.c (run_menu): Enable menu switching.
308 * normal/menu_viewer.c (should_return): New variable.
309 (menu_viewer_changed): Likewise.
310 (grub_menu_viewer_show_menu): Handle menu viewer changes.
311 (grub_menu_viewer_should_return): New function.
312 (menuviewer_write_hook): Likewise.
313 (grub_menu_viewer_init): Likewise.
314
3152010-02-06 Colin D Bennet <colin@gibibit.com>
3162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
317
318 Support for gfxterm in a window.
319
320 * include/grub/gfxterm.h: New file.
321 * include/grub/video.h (struct grub_video_rect): New declaration.
322 (grub_video_rect_t): Likewise.
323 * term/gfxterm.c (struct grub_gfxterm_window): New type.
324 (refcount): New variable.
325 (render_target): Likewise.
326 (window): Likewise.
327 (repaint_callback): Likewise.
328 (grub_virtual_screen_setup): Use 'render_target'.
329 (init_window): New function.
330 (grub_gfxterm_init_window): Likewise.
331 (grub_gfxterm_init): Check reference counter.
332 Use init_window.
333 (destroy_window): New function.
334 (grub_gfxterm_destroy_window): Likewise.
335 (grub_gfxterm_fini): Check reference counter.
336 Use destroy_window.
337 (redraw_screen_rect): Restore viewport.
338 Use 'render_target' and 'window'.
339 Call 'repaint_callback'.
340 (write_char): Use 'render_target'.
341 (draw_cursor): Likewise.
342 (scroll_up): Restore viewport.
343 Use 'render_target' and 'window'.
344 Call 'repaint_callback'.
345 (grub_gfxterm_cls): Likewise.
346 (grub_gfxterm_refresh): Use 'window'.
347 (grub_gfxterm_set_repaint_callback): New function.
348 (grub_gfxterm_background_image_cmd): Use 'window'.
349 (grub_gfxterm_get_term): New function.
350 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
351
3522010-02-06 Colin D Bennett <colin@gibibit.com>
353
354 Bitmap scaling support.
355
356 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
357 (bitmap_scale_mod_SOURCES): New variable.
358 (bitmap_scale_mod_CFLAGS): Likewise.
359 (bitmap_scale_mod_LDFLAGS): Likewise.
360 * include/grub/bitmap_scale.h: New file.
361 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
362 (background_image_cmd_options): New variable.
363 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
364 (cmd): Rename and change type to ...
365 (background_image_cmd_handle): ... this. All users updated.
366 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
367 * video/bitmap_scale.c: New file.
368
3692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
370
371 SDL support.
372
373 * Makefile.in (LIBSDL): New variable.
374 (enable_grub_emu_sdl): Likewise.
375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
376 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
377 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
378 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
379 * util/sdl.c: New file.
380
3812010-02-06 Colin D Bennett <colin@gibibit.com>
3822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Double buffering support.
385
386 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
387 * include/grub/video.h: Update comment.
388 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
389 New type.
390 (grub_video_fb_doublebuf_blit_init): New prototype.
391 * term/gfxterm.c (scroll_up): Support double buffering.
392 (grub_gfxterm_refresh): Likewise.
393 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
394 (grub_video_fb_doublebuf_blit_init): Likewise.
395 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
396 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
397 'displayed_page', 'render_page' and 'update_screen'.
398 (grub_video_vbe_fini): Free offscreen buffer.
399 (doublebuf_pageflipping_commit): New function.
400 (doublebuf_pageflipping_update_screen): Likewise.
401 (doublebuf_pageflipping_init): Likewise.
402 (double_buffering_init): Likewise.
403 (grub_video_vbe_setup): Enable doublebuffering.
404 (grub_video_vbe_swap_buffers): Implement.
405 (grub_video_vbe_set_active_render_target): Handle double buffering.
406 (grub_video_vbe_get_active_render_target): Likewise.
407 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
408 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
409 (grub_video_vbe_enable_double_buffering): Likewise.
410 (grub_video_vbe_swap_buffers): Use update_screen.
411 (grub_video_set_mode): Use double buffering.
412
4132010-02-06 Robert Millan <rmh.grub@aybabtu.com>
414
415 * maintainance/gentrigtables.py: Remove.
416 * lib/trig.c: Likewise.
417
418 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
419
420 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
421 `trigtables.c'.
422 (trigtables.c): New rule.
423 (gentrigtables): Likewise.
424 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
425
4262010-02-06 Robert Millan <rmh.grub@aybabtu.com>
427
428 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
429 integer constants.
430
4312010-02-06 Colin D Bennet <colin@gibibit.com>
432
433 Trigonometry support.
434
435 * include/grub/trig.h: New file.
436 * lib/trig.c: Likewise.
437 * maintainance/gentrigtables.py: Likewise.
438 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
439 (trig_mod_SOURCES): New variable.
440 (trig_mod_CFLAGS): Likewise.
441 (trig_mod_LDFLAGS): Likewise.
442
5562834e
VS
4432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
446 disk devices.
447
4f8528fc
VS
4482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
451 error.
452
2b4068e9
VS
4532010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * util/hostdisk.c (open_device): Don't use partition device when reading
456 before the partition.
457 (grub_util_biosdisk_read): Don't read from partition and before the
458 partition in single operation.
459 (grub_util_biosdisk_write): Don't write to partition and before the
460 partition in single operation.
461
399f6e4d
TL
4622010-02-03 Torsten Landschoff <torsten@debian.org>
463
464 * kern/disk.c (grub_disk_read): Fix offset computation when reading
465 last sectors.
466
996649b0
VS
4672010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
470 CDROM reads.
471 (grub_biosdisk_write): Refuse to write to CDROM.
472
3b205d4d
VS
4732010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
476
61e89d9d
VS
4772010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * font/font.c (find_glyph): Check that bmp_idx is available before
480 using it.
481 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
482 with (font == NULL).
483
bf7fcba2
CS
4842010-01-28 Christian Schmitt <chris@ilovelinux.de>
485
486 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
487
f45d2663
BC
4882010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
489
490 * include/grub/script_sh.h (sourcecode): Add const qualifier.
491 * util/grub-script-check.c (getline): Fix empty lines case.
492
ec1444e6
RM
4932010-01-28 Robert Millan <rmh.grub@aybabtu.com>
494
495 * Makefile.in (check): Exit with fail status when one of the tests
496 fails.
497 * tests/example_functional_test.c (example_test): Fix reversed assert.
498 * tests/example_unit_test.c (example_test): Likewise.
499
2e1cb9bb
CW
5002010-01-28 Colin Watson <cjwatson@ubuntu.com>
501
502 * util/grub.d/10_linux.in: This script does not use any of the
503 contents of gettext.sh, only the external command `gettext', so stop
504 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
505 the same prefix as GRUB.)
506 * util/grub.d/10_kfreebsd.in: Likewise.
507
63533ab0
VS
5082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
511 of the line.
512
989e1f93
VS
5132010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * kern/disk.c (grub_disk_read): Fix offset computation when reading
516 last sectors.
517
e709ebe2
VS
5182010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
521 having a 4KiB and not 32KiB buffer size.
522
27dea7ed
RM
5232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
524
525 * util/hostfs.c: Include `<errno.h>'.
526 (grub_hostfs_read): Handle errors from fseeko() and fread().
527
67667b9c
RM
5282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
529
530 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
531 loop when using read hooks on files whose size isn't sector-aligned.
532
c294d9d8
RM
5332010-01-27 Robert Millan <rmh.grub@aybabtu.com>
534
535 Remove unused parameter.
536
537 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
538 (grub_iso9660_open): Remove initialization of `data->length'.
539
af75a9f1
RM
5402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
541
542 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
543 memleak conditions.
544
254e2ce5 5452010-01-27 Carles Pina i Estany <carles@pina.cat>
546
547 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
548 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
549
b510928c 5502010-01-26 Carles Pina i Estany <carles@pina.cat>
551
552 * util/bin2h.c (usage): Fix warning (space after backslash).
553
aa2f9dd2 5542010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 555
556 * font/font.c: Include `grub/fontformat.h.
557 Remove font file format constants.
558 (grub_font_load): Use the new macros.
559 * include/grub/fontformat.h: New file.
560 * util/grub-mkfont.c: Include `grub/fontformat.c'.
561 (write_font_pf2): Use the new macros.
562
94e7e712
RM
5632010-01-26 Robert Millan <rmh.grub@aybabtu.com>
564
565 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
566 does.
567
3973a59a
RM
5682010-01-26 Robert Millan <rmh.grub@aybabtu.com>
569
570 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
571
572 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
573 (_start): Macroify `0x7F'.
574
575 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
576 (make_install_device): Use "(pxe)" as fallback prefix when booting
577 via PXE.
578
42e0cba3
GS
5792010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * configure.ac: Reset LIBS after check for libgcc symbols.
582
847effd8
CW
5832010-01-25 Colin Watson <cjwatson@ubuntu.com>
584
585 * util/hostdisk.c (open_device): Add trailing newline to debug
586 message.
587
ea4a7e35
GS
5882010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
589
590 * configure.ac: Check for `limits.h'.
591 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
592
67951a53
RM
5932010-01-24 Robert Millan <rmh.grub@aybabtu.com>
594
595 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
596 capitalize error strings.
597
c273d4ce
ST
5982010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
599
600 * util/grub.d/10_hurd.in: Add a recovery mode.
601
69be5b74
VS
6022010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * configure.ac: Check for libgcc symbols with -nostdlib.
605
fc9e5810
BC
6062010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
607
608 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
609
4b358c0a
VS
6102010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
613 stack since heap may be unavailable at that point.
614 (grub_ofconsole_gotoxy): Likewise.
615
454fcd1c
VS
6162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * configure.ac: Check for _restgpr_14_x.
619 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
620 and _savegpr_* prototypes.
621
566863ca
RM
6222010-01-22 Robert Millan <rmh.grub@aybabtu.com>
623
624 Use generic grub_reboot() for i386-efi.
625
626 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
627 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
628 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
629
bf86e59a
VS
6302010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
633 presence of "prefix" variable as it breaks when normal.mod is
634 embedded.
635
d645e0f8
VS
6362010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
639 stack since heap is unavailable at that point.
640
f9ab2e25
VS
6412010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
644 (grub_freebsd_bootinfo): Rewritten.
645 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
646
01fc7054
VS
6472010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
650
caab4fd6
RM
6512010-01-21 Robert Millan <rmh.grub@aybabtu.com>
652
653 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
654 domain now.
655
67eb1427
FZ
6562010-01-20 Felix Zielcke <fzielcke@z-51.de>
657
658 * util/misc.c (make_system_path_relative_to_its_root): Change the work
659 around for handling "/" to the correct fix. Fix a memory leak. Use
660 xstrdup instead of strdup.
661
a9ed4ff3
VS
6622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
665
6662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
667
668 Optimise glyph lookup by Basic Multilingual Plane lookup array.
669
670 * font/font.c (struct grub_font): New member 'bmp_idx'.
671 (font_init): Initialise 'bmp_idx'.
672 (load_font_index): Fill 'bmp_idx'.
673 (find_glyph): Make inline. Use bmp_idx for BMP characters.
674
48209f4f
VS
6752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
678 unnecessary calls.
679
9f0a4bb7
VS
6802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
681
682 Move context handling out of the kernel.
683
684 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
685 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
686 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
687 * conf/i386-efi.rmk: Likewise.
688 * conf/i386-ieee1275.rmk: Likewise.
689 * conf/i386-pc.rmk: Likewise.
690 * conf/powerpc-ieee1275.rmk: Likewise.
691 * conf/sparc64-ieee1275.rmk: Likewise.
692 * conf/x86_64-efi.rmk: Likewise.
693 * include/grub/env.h: Include grub/menu.h.
694 (grub_env_var_type): Removed.
695 (grub_env_var): Replaced field 'type' with 'global'.
696 (grub_env_find): New prototype.
697 (grub_env_context_open): Remove EXPORT_FUNC.
698 (grub_env_context_close): Likewise.
699 (grub_env_export): Likewise.
700 (grub_env_set_data_slot): Removed.
701 (grub_env_get_data_slot): Likewise.
702 (grub_env_unset_data_slot): Likewise.
703 (grub_env_unset_menu): New prototype.
704 (grub_env_set_menu): Likewise.
705 (grub_env_get_menu): Likewise.
706 * include/grub/env_private.h: New file.
707 * include/grub/normal.h (grub_context_init): New prototype.
708 (grub_context_fini): Likewise.
709 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
710 * normal/context.c (grub_cmd_export): ... to here.
711 * kern/env.c: Include env_private.h.
712 (HASHSZ): Moved to include/grub/env_private.h.
713 (grub_env_context): Likewise.
714 (grub_env_sorted_var): Likewise.
715 (current_context): Renamed from this ...
716 (grub_current_context): ...to this. 'static' removed. All users updated.
717 (grub_env_find): Removed 'static'.
718 (grub_env_context_open): Moved to normal/context.c.
719 (grub_env_context_close): Likewise.
720 (grub_env_export): Likewise.
721 (mangle_data_slot_name): Removed.
722 (grub_env_set_data_slot): Likewise.
723 (grub_env_get_data_slot): Likewise.
724 (grub_env_unset_data_slot): Likewise.
725 * kern/main.c (grub_set_root_dev): Don't export root.
726 It will be done later.
727 (grub_main): Don't export prefix.
728 It will be done later.
729 * normal/context.c: New file.
730 * normal/main.c (free_menu): Use grub_env_unset_menu.
731 (grub_normal_add_menu_entry): Use grub_env_get_menu.
732 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
733 (GRUB_MOD_INIT(normal)): Call grub_context_init.
734 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
735
8dd35b8c
VS
7362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
737
738 setpci support.
739
740 * commands/setpci.c: New file.
741 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
742 (setpci_mod_SOURCES): New variable.
743 (setpci_mod_CFLAGS): Likewise.
744 (setpci_mod_LDFLAGS): Likewise.
745
449193d5
VS
7462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Byte-addressable PCI configuration space.
749
750 * bus/pci.c (grub_pci_make_address): Use byte address instead of
751 dword address.
752 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
753 GRUB_PCI_REG_CACHELINE.
754 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
755 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
756 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
757 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
758 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
759 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
760 grub_pci_make_address.
761 (lock_rom_area): Likewise.
762 * commands/lspci.c (grub_lspci_iter): Use macroses
763 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
764 of grub_pci_make_address.
765 * disk/ata.c (grub_ata_pciinit): Likewise.
766 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
767 (GRUB_PCI_REG_VENDOR): Likewise.
768 (GRUB_PCI_REG_DEVICE): Likewise.
769 (GRUB_PCI_REG_COMMAND): Likewise.
770 (GRUB_PCI_REG_STATUS): Likewise.
771 (GRUB_PCI_REG_REVISION): Likewise.
772 (GRUB_PCI_REG_CLASS): Likewise.
773 (GRUB_PCI_REG_CACHELINE): Likewise.
774 (GRUB_PCI_REG_LAT_TIMER): Likewise.
775 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
776 (GRUB_PCI_REG_BIST): Likewise.
777 (GRUB_PCI_REG_ADDRESSES): Likewise.
778 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
779 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
780 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
781 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
782 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
783 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
784 (GRUB_PCI_REG_CIS_POINTER): Likewise.
785 (GRUB_PCI_REG_SUBVENDOR): Likewise.
786 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
787 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
788 (GRUB_PCI_REG_CAP_POINTER): Likewise.
789 (GRUB_PCI_REG_IRQ_LINE): Likewise.
790 (GRUB_PCI_REG_IRQ_PIN): Likewise.
791 (GRUB_PCI_REG_MIN_GNT): Likewise.
792 (GRUB_PCI_REG_MAX_LAT): Likewise.
793 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
794 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
795 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 796 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
797 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
798 space.
799
96d73208
RM
8002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
801
802 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
803 can be reliably determined to be supported.
804
d4484482
RM
8052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
806
807 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
808 that VESA is supported.
809 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
810 supported.
811
00308ecf
VS
8122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
815
f66924a4
RM
8162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
817
818 * util/misc.c (make_system_path_relative_to_its_root): Work around
819 special-casing of "/", as previous incarnation of this routine did.
820
cbca0ada
VS
8212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Fix any-emu compilation.
824
825 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
826 * grub_bin2h_SOURCES: New variable.
827
34a66d99
RM
8282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
829
830 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
831
94fabf58
RM
8322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
833
834 * util/grub.d/00_header.in: Fix handling of locale_dir.
835
02cf98ca
VS
8362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
839 as possible unifont location (Gentoo).
840 Reported by: Alexander Brüning
841
327dbcd7
VS
8422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Don't try to generate lists for kernel.img.
845
846 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
847 (pkglib_MODULES): Remove kernel.img.
848 (kernel_img_EXPORTS): Removed.
849 (kernel_img_RELOCATABLE): New variable.
850 * conf/x86_64-efi.rmk: Likewise.
851 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
852
ca467290
VS
8532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
856 grub_xasprintf or grub_snprintf.
857 (grub_vsprintf): Likewise.
858 (grub_snprintf): New proto.
859 (grub_vsnprintf): Likewise.
860 (grub_xasprintf): Likewise.
861 (grub_xvasprintf): Likewise.
862 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
863 (grub_sprintf): Removed.
864 (grub_vsnprintf): New function.
865 (grub_snprintf): Likewise.
866 (grub_xvasprintf): Likewise.
867 (grub_xasprintf): Likewise.
868 (grub_vsprintf): Renamed to ...
869 (grub_vsnprintf_real): ...this. New argument max_len.
870
aca655fd
BC
8712010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
872
873 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
874 fix grub-script-check warning.
875
7ee92c32
VS
8762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * include/grub/font.h (grub_font_load): Fix prototype.
879
f80927ca
VS
8802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
883
119c50ea
VS
8842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * include/grub/x86_64/at_keyboard.h: New file.
887
47d5f3c1
VS
8882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * loader/mips/linux.c: Include missing grub/i18n.h.
891
55ff5266
RM
8922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
893
894 * normal/menu.c (notify_execution_failure): Clarify error message.
895
c893cc87
RM
8962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
897
898 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
899 return value (and revert all return statements). Update users.
900
917dd370
CW
9012010-01-20 Dan Merillat <debian@dan.merillat.org>
902
903 * kern/device.c (grub_device_iterate): Allocate new part_ent
904 structure based on sizeof (*p) rather than sizeof (p->next), to
905 account for structure padding.
906
907 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
908 disk is NULL, which might happen for LVM physical volumes with no
909 LVM signature.
910
d4a4ee57
RM
9112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
912
913 * loader/mips/linux.c (grub_cmd_initrd)
914 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
915
9162009-12-20 Robert Millan <rmh.grub@aybabtu.com>
917
918 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
919 (grub_video_video_init, grub_video_bitmap_init)
920 (grub_font_manager_init, grub_term_gfxterm_init)
921 (grub_at_keyboard_init): New extern declarations.
922 (grub_machine_init): Initialize gfxterm and at_keyboard.
923
924 * kern/main.c (grub_main): Revert grub_printf delay kludge.
925
926 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
927 `gfxterm.mod' into core image.
928
929 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
930 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
931 (kernel_img_FORMAT): Copy to ...
932
933 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
934 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
935 (kernel_img_FORMAT): ... here, and ...
936
937 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
938 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
939 (kernel_img_FORMAT): ... here.
940
941 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
942 and input (at_keyboard) terminals in kernel.
943 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
944
945 (pkglib_MODULES): Remove `pci.mod'.
946 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
947 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
948 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
949 (at_keyboard_mod_LDFLAGS): Remove variables.
950
9512010-01-11 Felix Zielcke <fzielcke@z-51.de>
952
953 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
954
9552009-12-10 Robert Millan <rmh.grub@aybabtu.com>
956
957 * include/grub/mips/libgcc.h: Only export symbols for functions
958 that libgcc provides.
959
9602009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
961
962 MIPS support.
963
964 * bus/bonito.c: New file.
965 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
966 GRUB_PCI_NUM_DEVICES.
967 * term/i386/pc/serial.c: Move to ...
968 * term/serial.c: ... here. All users updated.
969 * util/i386/pc/grub-mkimage.c: Move to ...
970 * util/grub-mkrawimage.c: ... here. All users updated.
971 * term/i386/pc/at_keyboard.c: Move to ...
972 * term/at_keyboard.c: ... here. All users updated.
973 * conf/mips-qemu-mips.rmk: New file.
974 * conf/mips-yeeloong.rmk: Likewise.
975 * conf/mips.rmk: Likewise.
976 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
977 mipsel-qemu-mips.
978 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
979 to port addresses.
980 (grub_ata_pciinit): Support CS5536.
981 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
982 * font/font_cmd.c (loadfont_command): Open file before passing it to
983 grub_font_load.
984 (pseudo_file_read): New function.
985 (pseudo_file_close): Likewise.
986 (pseudo_fs): New structure.
987 (load_font_module): New function.
988 (GRUB_MOD_INIT(font_manager)): Load embedded font.
989 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
990 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
991 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
992 * include/grub/i386/at_keyboard.h: Split into ...
993 * include/grub/at_keyboard.h: ... this ...
994 * include/grub/i386/at_keyboard.h: ... and this.
995 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
996 New prototype.
997 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
998 updated.
999 (grub_elf64_size): Likewise.
1000 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1001 filename.
1002 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1003 * include/grub/i386/coreboot/serial.h: Rewritten.
1004 * include/grub/i386/ieee1275/serial.h: Include
1005 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1006 * include/grub/i386/pc/serial.h: Moved from here ...
1007 * include/grub/serial.h: ... to here. All users updated.
1008 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1009 (GRUB_PCI_NUM_BUS): Likewise.
1010 (GRUB_PCI_NUM_DEVICES): Likewise.
1011 (grub_pci_device_map_range): Add missing volatile keyword.
1012 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1013 * include/grub/mips/at_keyboard.h: New file.
1014 * include/grub/mips/cache.h: Likewise.
1015 * include/grub/mips/io.h: Likewise.
1016 * include/grub/mips/kernel.h: Likewise.
1017 * include/grub/mips/libgcc.h: Likewise.
1018 * include/grub/mips/pci.h: Likewise.
1019 * include/grub/mips/qemu-mips/boot.h: Likewise.
1020 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1021 * include/grub/mips/qemu-mips/loader.h: Likewise.
1022 * include/grub/mips/qemu-mips/memory.h: Likewise.
1023 * include/grub/mips/qemu-mips/serial.h: Likewise.
1024 * include/grub/mips/qemu-mips/time.h: Likewise.
1025 * include/grub/mips/relocator.h: Likewise.
1026 * include/grub/mips/time.h: Likewise.
1027 * include/grub/mips/types.h: Likewise.
1028 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1029 * include/grub/mips/yeeloong/boot.h: Likewise.
1030 * include/grub/mips/yeeloong/kernel.h: Likewise.
1031 * include/grub/mips/yeeloong/loader.h: Likewise.
1032 * include/grub/mips/yeeloong/memory.h: Likewise.
1033 * include/grub/mips/yeeloong/pci.h: Likewise.
1034 * include/grub/mips/yeeloong/serial.h: Likewise.
1035 * include/grub/mips/yeeloong/time.h: Likewise.
1036 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1037 * kern/elf.c (grub_elf32_size): New parameter. All users
1038 updated.
1039 (grub_elf64_size): Likewise.
1040 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1041 Load modules before saying "Welcome to GRUB!".
1042 Call grub_refresh after saying "Welcome to GRUB!".
1043 * kern/mips/cache.S: New file.
1044 * kern/mips/cache_flush.S: Likewise.
1045 * kern/mips/dl.c: Likewise.
1046 * kern/mips/init.c: Likewise.
1047 * kern/mips/qemu-mips/init.c: Likewise.
1048 * kern/mips/startup.S: Likewise.
1049 * kern/mips/yeeloong/init.c: Likewise.
1050 * kern/term.c (grub_putcode): Handle NULL terminal.
1051 (grub_getcharwidth): Likewise.
1052 (grub_getkey): Likewise.
1053 (grub_checkkey): Likewise.
1054 (grub_getkeystatus): Likewise.
1055 (grub_getxy): Likewise.
1056 (grub_getwh): Likewise.
1057 (grub_gotoxy): Likewise.
1058 (grub_cls): Likewise.
1059 (grub_setcolorstate): Likewise.
1060 (grub_setcolor): Likewise.
1061 (grub_getcolor): Likewise.
1062 (grub_refresh): Likewise.
1063 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1064 (write_jump): Add hatch nop.
1065 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1066 * lib/mips/setjmp.S: New file.
1067 * loader/mips/linux.c: Likewise.
1068 * term/i386/pc/at_keyboard.c: Move from here ...
1069 * term/at_keyboard.c: ... to here.
1070 * term/i386/pc/serial.c: Moved from here ...
1071 * term/serial.c: ... to here. All users updated.
1072 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1073 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1074 (serial_translate_key_sequence): Avoid deadlock.
1075 (grub_serial_getkey): Handle backspace.
1076 (grub_serial_putchar): Fix newline handling.
1077 * util/i386/pc/grub-mkimage.c: Move from here ...
1078 * util/grub-mkrawimage.c: ... to here. All users updated.
1079 (generate_image): New parameters 'font_path' and 'format'.
1080 Support embedding font.
1081 Use grub_host_to_target* instead of grub_cpu_to_le*.
1082 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1083 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1084 (options): New option "--font".
1085 (usage): Likewise.
1086 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1087 (main): Handle "--font".
1088 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1089 (grub_virtual_screen_setup): Set bg_color_display.
1090 (redraw_screen_rect): Use bg_color_display instead of incorrect
1091 bg_color.
1092 (grub_gfxterm_cls): Likewise.
1093 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1094 Support embedding config file.
1095 (add_segments): Likewise.
1096 (options): New option "--config".
1097 (main): Handle "--config".
1098 * video/sm712.c: New file.
1099
25c2b5b3
RM
11002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1101
1102 Fix parallel builds.
1103
1104 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1105 font.c depend on ascii.h).
1106
11072010-01-12 Carles Pina i Estany <carles@pina.cat>
1108
1109 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1110
11112010-01-11 Carles Pina i Estany <carles@pina.cat>
1112
1113 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1114 By default: disabled.
1115 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1116 parameter.
1117
11182010-01-10 Carles Pina i Estany <carles@pina.cat>
1119
1120 * font/font.c: Update copyright years.
1121 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1122
11232010-01-10 Carles Pina i Estany <carles@pina.cat>
1124
1125 * font/font.c: Include `ascii.h'.
1126 (ASCII_BITMAP_SIZE): New macro.
1127 (ascii_font_glyph): Define.
1128 (ascii_glyph_lookup): New function.
1129 (grub_font_get_string_width): Change comment. If glyph not found, use
1130 ascii_glyph_lookup.
1131 (grub_font_get_glyph_with_fallback): If glyph not available returns
1132 ascii_glyph_lookup.
1133 * util/grub-mkfont.c (file_formats): New enum.
1134 (options): Add `ascii-bitmaps' new option.
1135 (usage): Add `asii-bitmaps' new option.
1136 (write_font_ascii_bitmap): New function.
1137 (write_font): Rename to ...
1138 (write_font_p2): ... this. Remove print_glyphs call.
1139 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1140 used. Call print_glyphs.
1141 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1142
11432010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1144
1145 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1146 (grub_bin2h_SOURCES): New variable.
1147 * util/bin2h.c: New file.
1148
915fc1b8
VS
11492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * include/multiboot.h: Resynced with spec.
1152 * include/multiboot2.h: Likewise.
1153 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1154 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1155
9444b678
RM
11562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1157
1158 * include/grub/term.h (grub_term_register_input,
1159 grub_term_register_output): Check return of terminal init()
1160 routines, and abort if errors are raised.
1161
1162 * commands/terminal.c: Update copyright year.
1163
cba98e8d
RM
11642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1165
1166 * commands/terminal.c (grub_cmd_terminal_input)
1167 (grub_cmd_terminal_output): Check return of terminal init()
1168 routines, and abort if errors are raised.
1169
6f7db5d6
VS
11702010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * include/grub/i386/bsd.h: Fix include pathes.
1173
262bff8d
VS
11742010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 Add missing *BSD copyright headers.
1177
1178 * include/grub/aout.h: Add BSD licence.
1179 * include/grub/i386/bsd.h: Parts under different licences moved to ...
1180 * include/grub/i386/freebsd_linker.h: ... here,
1181 * include/grub/i386/freebsd_reboot.h: ... here,
1182 * include/grub/i386/netbsd_bootinfo.h: ... here,
1183 * include/grub/i386/netbsd_reboot.h: ... here,
1184 * include/grub/i386/openbsd_bootarg.h: ... here,
1185 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
1186 licence to each file.
1187
b2cab848
RM
11882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1189
1190 * acinclude.m4: Remove `nop' assembly instruction; it's not
1191 implemented by all architectures.
1192
2cb6be4b
RM
11932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1194
1195 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
1196 ELILO. This is no longer necessary.
1197
a2eaee15
BC
11982010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
1199
1200 Added new tool, grub-scrit-check to verify grub.cfg syntax.
1201
1202 * util/grub-script-check.c: grub-script-check tool.
1203 * conf/common.rmk: Make rules for grub-script-check.
1204
88d17012
RM
12052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1206
1207 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
1208 spotting it back in 2008. Shame on me for forgetting he did.
1209
1210 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
1211
8040619d
RM
12122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1213
1214 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
1215 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
1216 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
1217 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
1218 (GRUB_VIDEO_TYPE_EFI): Rename to ...
1219 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
1220
a0c2a0f6
RM
12212010-01-17 Robert Millan <rmh.grub@aybabtu.com>
1222
1223 * include/grub/test.h: Add license header.
1224 * tests/example_functional_test.c: Likewise.
1225 * tests/example_unit_test.c: Likewise.
1226 * tests/lib/functional_test.c: Likewise.
1227 * tests/lib/test.c: Likewise.
1228 * tests/lib/unit_test.c: Likewise.
1229
b0b13907
VS
12302010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Use flag-based instead of hook-based video mode selection and "auto"
1233 keyword.
1234
1235 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
1236 (grub_video_set_mode): Changed prototype. All users updated.
1237 (grub_video_check_mode_flag): New inline function.
1238 * video/video.c (parse_modespec): New function.
1239 (grub_video_set_mode): Parse flags and keywords.
1240
ea379330 12412010-01-17 Carles Pina i Estany <carles@pina.cat>
1242
1243 * util/misc.c (grub_util_info): Fix the order of the parameters in a
1244 fprintf call.
1245
e15c215e
FZ
12462010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1247
1248 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
1249
409ae1c9 12502010-01-16 Carles Pina i Estany <carles@pina.cat>
1251
1252 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
1253 string.
1254 * util/grub-emu.c (usage): Likewise.
1255 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
1256 * util/i386/efi/grub-mkimage.c (usage): Likewise.
1257 * util/i386/pc/grub-mkimage.c (usage): Likewise.
1258 * util/i386/pc/grub-setup.c (usage): Likewise.
1259
70a14d3d 12602010-01-16 Carles Pina i Estany <carles@pina.cat>
1261
1262 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
1263 the message.
1264 (grub_util_info): Likewise.
1265 (grub_util_error): Likewise.
1266 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
1267 and/or new lines in `grub_util_warna', `grub_util_info',
1268 `grub_util_error' calls.
1269 * util/getroot.c: Likewise.
1270 * util/grub-editenv.c: Likewise.
1271 * util/grub-emu.c: Likewise.
1272 * util/grub-fstest.c: Likewise.
1273 * util/grub-mkdevicemap.c: Likewise.
1274 * util/grub-mkfont.c: Likewise.
1275 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1276 * util/grub-mkrelpath.c: Likewise.
1277 * util/grub-pe2elf.c: Likewise.
1278 * util/grub-probe.c: Likewise.
1279 * util/hostdisk.c: Likewise.
1280 * util/i386/efi/grub-mkimage.c: Likewise.
1281 * util/i386/pc/grub-mkimage.c: Likewise.
1282 * util/i386/pc/grub-setup.c: Likewise.
1283 * util/ieee1275/ofpath.c: Likewise.
1284 * util/mkisofs/eltorito.c: Likewise.
1285 * util/mkisofs/rock.c: Likewise.
1286 * util/mkisofs/write.c: Likewise.
1287 * util/raid.c: Likewise.
1288 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1289 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1290
a0b766fc
VS
12912010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 Enable multiboot on non-pc.
1294
1295 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
1296 multiboot.mod and multiboot2.mod to ...
1297 * conf/i386.rmk (pkglib_MODULES): ... here.
1298 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
1299 Moved to ...
1300 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
1301 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
1302 Moved to ...
1303 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
1304 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
1305 Moved to ...
1306 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
1307 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
1308 Moved to ...
1309 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
1310 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
1311 relocator.mod.
1312 (ata_mod_SOURCES): Removed.
1313 (ata_mod_CFLAGS): Likewise.
1314 (ata_mod_LDFLAGS): Likewise.
1315 (relocator_mod_SOURCES): Removed.
1316 (relocator_mod_CFLAGS): Likewise.
1317 (relocator_mod_ASFLAGS): Likewise.
1318 (relocator_mod_LDFLAGS): Likewise.
1319 Include i386.mk.
1320 * include/grub/x86_64/multiboot.h: New file.
1321 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
1322 Terminate EFI.
1323
884ade56
VS
13242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 Video multiboot support.
1327
1328 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
1329 New prototype.
1330 * include/multiboot.h: Resynced with multiboot specification.
1331 * include/multiboot2.h: Likewise.
1332 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
1333 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
1334 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
1335 (HAS_VGA_TEXT): Likewise.
1336 (accepts_video): New variable.
1337 (grub_multiboot_set_accepts_video): New function.
1338 (grub_multiboot_get_mbi_size): Account for video structures.
1339 (set_video_mode): New function.
1340 (retrieve_video_parameters): Likewise.
1341 (grub_multiboot_make_mbi): Fill video fields.
1342
0d90e8a6
VS
13432010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 Video driver ids.
1346
1347 * include/grub/video.h (grub_video_driver_id): New type.
1348 (grub_video_adapter): New member 'id'. All users updated.
1349 (grub_video_get_driver_id): New proto.
1350 * video/video.c (grub_video_get_driver_id): New function.
1351
5c71db1b 13522010-01-14 Carles Pina i Estany <carles@pina.cat>
1353
1354 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
1355 `var=val'.
1356
cca15b52 13572010-01-14 Carles Pina i Estany <carles@pina.cat>
1358
1359 * normal/cmdline.c (print_completion): Gettextizze.
1360
c586fbb2 13612001-01-14 Carles Pina i Estany <carles@pina.cat>
1362
1363 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
1364
ba2f6848 13652010-01-14 Carles Pina i Estany <carles@pina.cat>
1366
1367 * gettext/gettext.c (grub_gettext_translate): Push and pop
1368 grub_errno.
1369 (grub_gettext_delete_list): Change comment style.
1370 * kern/err.c (grub_error): Gettextizze.
1371 (grub_fatal): Gettextizze.
1372
0a46429a
RM
13732010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1374
1375 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
1376 (grub_linux16_real_boot): ... this.
1377 * kern/i386/loader.S: Likewise.
1378 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
1379 (grub_linux16_boot): New function. Switches to text mode and calls
1380 grub_linux16_real_boot().
1381
1382 * loader/i386/bsd.c: Include `<grub/video.h>'.
1383 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
1384 text mode before calling grub_unix_real_boot().
1385
1386 * loader/i386/multiboot.c: Include `<grub/video.h>'.
1387 (grub_multiboot_boot): Switch to text mode before calling
1388 grub_relocator32_boot().
1389
1390 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
1391 (grub_chainloader_boot): Switch to text mode before calling
1392 grub_chainloader_real_boot().
1393
d6f93a66
RM
13942010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13952010-01-05 Colin Watson <cjwatson@ubuntu.com>
1396
1397 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
1398 non-empty value.
1399
14002010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14012010-01-05 Colin Watson <cjwatson@ubuntu.com>
1402
1403 * util/grub.d/00_header.in: Define a "savedefault" function for use
1404 in menu entries.
1405 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
1406
14072010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14082010-01-05 Colin Watson <cjwatson@ubuntu.com>
1409
1410 * util/grub-mkconfig_lib.in (save_default_entry): Only set
1411 saved_entry if boot_once is unset.
1412 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
1413 previous saved entry (i.e. grub-reboot).
1414
14152009-12-08 Colin Watson <cjwatson@ubuntu.com>
1416
1417 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
1418
14192009-12-08 Colin Watson <cjwatson@ubuntu.com>
1420
1421 * util/grub.d/00_header.in: Use `set var=val' rather than plain
1422 `var=val'.
1423 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
1424
14252009-12-08 Colin Watson <cjwatson@ubuntu.com>
1426
1427 * util/grub-reboot.in: Fix --version output.
1428 * util/grub-set-default.in: Likewise.
1429
14302009-12-08 Colin Watson <cjwatson@ubuntu.com>
1431
1432 * util/grub.d/00_header.in: Silently ignore zero-sized environment
1433 blocks.
1434
14352009-12-08 Colin Watson <cjwatson@ubuntu.com>
1436
1437 * util/grub.d/00_header.in: Quote the value assigned to `default',
1438 in case it contains spaces.
1439
14402009-12-08 Colin Watson <cjwatson@ubuntu.com>
1441
1442 * util/grub.d/30_os-prober.in: Fix merge error that moved a
1443 `save_default_entry' call from the macosx case to the linux case.
1444
14452009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14462009-10-25 Colin Watson <cjwatson@ubuntu.com>
1447
1448 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
1449 in `chosen' environment variable.
1450 * normal/menu_text.c (get_entry_number): Check if the variable
1451 matches the title of a menu entry.
1452 (run_menu): Pass menu to get_entry_number.
1453
1454 * util/grub-reboot.in: New file.
1455 * util/grub-set-default.in: New file.
1456 * conf/common.rmk (grub-reboot): New utility.
1457 (grub-set-default): New utility.
1458
1459 * util/grub-mkconfig_lib.in (save_default_entry): New function.
1460 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
1461 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
1462 move it to `saved_entry' for the next boot. Load environment on
1463 initialisation.
1464 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
1465 * util/grub.d/10_hurd.in: Likewise.
1466 * util/grub.d/10_linux.in (linux_entry): Likewise.
1467 * util/grub.d/10_windows.in: Likewise.
1468 * util/grub.d/30_os-prober.in: Likewise.
1469
1470 * util/grub-install.in: Create environment block.
1471 * util/i386/efi/grub-install.in: Likewise.
1472 * util/ieee1275/grub-install.in: Likewise.
1473 * util/sparc64/ieee1275/grub-install.in: Likewise.
1474
0934d184
BC
14752010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1476
1477 Unit testing framework for GRUB.
1478
1479 * Makefile.in: Test framework build rules for 'make check'.
1480 * conf/tests.rmk: Build rules for individual tests and framework.
1481
1482 * include/grub/test.h: Header file for whitebox tests.
1483 * tests/lib/functional_test.c: Framework support for whitebox
1484 functional tests.
1485 * tests/lib/test.c: Common whitebox testing code for unit and
1486 functional tests.
1487 * tests/lib/unit_test.c: Framework support for whitebox unit
1488 tests.
1489
1490 * tests/util/grub-shell-tester.in: Support utility for grub-script
1491 tests.
1492 * tests/util/grub-shell.in: Utility to execute grub-script
1493 commands in a Qemu instance.
1494
1495 * tests/example_functional_test.c: Example whitebox functional
1496 test.
1497 * tests/example_grub_script_test.in: Example grub-script test.
1498 * tests/example_scripted_test.in: Example scripted test.
1499 * tests/example_unit_test.c: Example whitebox unit test.
1500
9c4ffeeb
VS
15012010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1504 Add loader/i386/multiboot_mbi.c.
1505 (multiboot2_mod_SOURCES): Likewise.
1506 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1507 (multiboot2_mod_SOURCES): Likewise.
1508 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1509 (grub_multiboot_make_mbi): Likewise.
1510 (grub_multiboot_free_mbi): Likewise.
1511 (grub_multiboot_init_mbi): Likewise.
1512 (grub_multiboot_add_module): Likewise.
1513 (grub_multiboot_set_bootdev): Likewise.
1514 * loader/i386/multiboot.c (mbi): Removed.
1515 (mbi_dest): Likewise.
1516 (alloc_mbi): New variable.
1517 (grub_multiboot_payload_size): Removed. All users updated.
1518 (grub_multiboot_pure_size): New variable.
1519 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1520 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1521 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1522 (grub_fill_multiboot_mmap): Likewise.
1523 (grub_multiboot_get_bootdev): Likewise.
1524 (grub_multiboot): Use multiboot_mbi functions.
1525 * loader/i386/multiboot_mbi.c: New file.
1526
17383dfe
VS
15272010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1530 it would result in module crash.
1531
c1f28820
VS
15322010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1535 (grub_ofconsole_getwh): Split to ...
1536 (grub_ofconsole_getwh): ... this.
1537 (grub_ofconsole_dimensions): ...and this.
1538 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1539
58655a16
RM
15402010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1541
1542 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1543
10891398
VS
15442010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * loader/i386/pc/multiboot2.c: Removed stalled file.
1547
0b8a223c
VS
15482010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1551 Reported by: Grégoire Sutre
1552
92ab12b0
RM
15532010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1554
1555 * util/misc.c (canonicalize_file_name): New function.
1556 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1557 instead of realpath().
1558
a788afb6
CW
15592010-01-11 Colin Watson <cjwatson@ubuntu.com>
1560
1561 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1562 and make it clearer that it's optional. Based on confusion
1563 witnessed on IRC.
1564
ffa8e3d2
VS
15652010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1568 in premature implicit newline.
1569
e9060a9d
VS
15702010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1573 which resulted in garbled command line at the end of screen.
1574
f0d0c0b7
RM
15752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1576
1577 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1578 initialization with similar approach as with other Linux loaders.
1579
0e60bae7
RM
15802010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1581
1582 Fix i386-ieee1275 build.
1583
1584 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1585 and grub_term_height() for video_{width,height} initialization.
1586
15872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
1588
1589 Fix grub-emu build.
1590
1591 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1592
cdb3f378
RM
15932010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15942010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1595
1596 Support for multiple terminals.
1597
1598 * Makefile.in (pkglib_DATA): terminal.lst.
1599 (terminal.lst): New target.
1600 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1601 (GRUB_MOD_INIT(handler)): Likewise.
1602 (GRUB_MOD_FINI(handler)): Likewise.
1603 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1604 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1605 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1606 (grub_cmd_sleep): Use grub_term_save_pos.
1607 * commands/terminal.c: New file.
1608 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1609 commands/terminal.c and lib/charset.c.
1610 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1611 (pkglib_MODULES): Add terminal.mod.
1612 (terminal_mod_SOURCES): New variable.
1613 (terminal_mod_CFLAGS): Likewise.
1614 (terminal_mod_LDFLAGS): Likewise.
1615 * genhandlerlist.sh: Don't handle terminals.
1616 * genmk.rb: Generate terminal-*.lst.
1617 * genterminallist.sh: New file.
1618 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1619 (grub_is_valid_utf8): Likewise.
1620 (grub_utf8_to_ucs4_alloc): Likewise.
1621 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1622 (grub_menu_register_viewer): Changed argument.
1623 (grub_menu_try_text): New proto.
1624 (grub_gfxmenu_try_hook): New declaration.
1625 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1626 (grub_menu_init_page): Additional argument term.
1627 (grub_normal_init_page): Likewise.
1628 (grub_cmdline_get): Arguments simplified.
1629 (grub_utf8_to_ucs4_alloc): Removed.
1630 (grub_print_ucs4): Additional argument term.
1631 (grub_getstringwidth): Likewise.
1632 (grub_print_message_indented): Likewise.
1633 (grub_menu_text_register_instances): New proto.
1634 (grub_show_menu): Likewise.
1635 (read_terminal_list): Likewise.
1636 (grub_set_more): Likewise.
1637 * include/grub/parser.h: Include handler.h.
1638 * include/grub/reader.h: Rewritten.
1639 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
1640 (GRUB_TERM_WIDTH): Changed to function.
1641 (GRUB_TERM_HEIGHT): Likewise.
1642 (GRUB_TERM_BORDER_WIDTH): Likewise.
1643 (GRUB_TERM_BORDER_HEIGHT): Likewise.
1644 (GRUB_TERM_NUM_ENTRIES): Likewise.
1645 (GRUB_TERM_ENTRY_WIDTH): Likewise.
1646 (GRUB_TERM_CURSOR_X): Likewise.
1647 (grub_term_input_class): Likewise.
1648 (grub_term_output_class): Likewise.
1649 (grub_term_outputs_disabled): New declaration.
1650 (grub_term_inputs_disabled): Likewise.
1651 (grub_term_outputs): Likewise.
1652 (grub_term_inputs): Likewise.
1653 (grub_term_register_input): Rewritten.
1654 (grub_term_register_output): Likewise.
1655 (grub_term_unregister_input): Likewise.
1656 (grub_term_unregister_output): Likewise.
1657 (FOR_ACTIVE_TERM_INPUTS): New macro.
1658 (FOR_DISABLED_TERM_INPUTS): Likewise.
1659 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1660 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1661 * include/grub/terminfo.h: Add oterm argument to all protypes.
1662 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1663 Use grub_rescue_run.
1664 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1665 All users updated.
1666 * kern/reader.c: Removed. All users updated.
1667 * kern/rescue_reader.c (grub_rescue_init): Removed.
1668 (grub_rescue_reader): Likewise.
1669 (grub_register_rescue_reader): Likewise.
1670 (grub_rescue_run): New function based on kern/reader.c.
1671 * kern/term.c: Adapted for multiterm.
1672 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1673 (grub_is_valid_utf8): Likewise.
1674 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1675 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1676 right terminal.
1677 * loader/i386/linux.c (grub_linux_boot): Likewise.
1678 * normal/auth.c (grub_username_get): New function.
1679 (grub_auth_check_authentication): Use grub_username_get.
1680 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1681 * normal/color.c: Adapt for multiterm.
1682 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1683 (grub_normal_init_page): Additional argument term.
1684 (read_lists): Call read_terminal_lists.
1685 (grub_enter_normal_mode): Call grub_cmdline_run.
1686 Handle grub_normal_exit_level.
1687 (grub_cmd_normal): Make reentrant.
1688 (grub_cmd_normal_exit): New function.
1689 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1690 * normal/menu.c: Adapt for multiterm.
1691 * normal/menu_entry.c: Likewise.
1692 * normal/menu_text.c: Likewise.
1693 * normal/menu_viewer.c: Removed. All users updated.
1694 * normal/term.c: New file.
1695 * util/console.c: Change order of includes to workaround a bug in
1696 ncurses headers.
1697 * term/terminfo.c: New argument oterm on all exported functions.
1698 All users updated.
1699 * util/grub-editenv.c (grub_term_input_class): Removed.
1700 (grub_term_output_class): Likewise.
1701
1a064917
RM
17022010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1703
1704 Make loader output a bit more user-friendly.
1705
1706 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1707 is being loaded. Likewise for the Hurd.
1708
1709 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1710 that kernel of FreeBSD ${version} is being loaded.
1711
1712 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1713 grub_dprintf().
1714 (grub_cmd_initrd): Likewise.
1715 * util/grub.d/10_linux.in (linux_entry): Print message indicating
1716 that Linux ${version} is being loaded. Likewise for initrd.
1717
5ce0a83a 17182010-01-09 Carles Pina i Estany <carles@pina.cat>
1719
1720 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
1721
809bbfeb 17222010-01-08 Carles Pina i Estany <carles@pina.cat>
1723
1724 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
1725 (GRUB_MOD_INIT): Gettextizze.
1726 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
1727 (GRUB_MOD_INIT): Gettextizze.
1728 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
1729 (grub_cmd_linux): Capitalise Linux.
1730 (GRUB_MOD_INIT): Gettextizze.
1731 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
1732 (grub_cmd_linux): Capitalise Linux.
1733 (GRUB_MOD_INIT): Gettextizze.
1734 * loader/i386/linux.c: Include `<grub/i18n.h>'.
1735 (grub_cmd_linux): Capitalise Linux.
1736 (GRUB_MOD_INIT): Gettextizze.
1737 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
1738 (GRUB_MOD_INIT): Gettextizze.
1739 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
1740 (grub_cmd_linux): Capitalise Linux.
1741 (GRUB_MOD_INIT): Gettextizze.
1742 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
1743 (grub_cpu_xnu_init): Gettextizze.
1744 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
1745 (GRUB_MOD_INIT): Gettextizze.
1746 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
1747 (GRUB_MOD_INIT): Gettextizze.
1748 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
1749 (grub_linux_load64): Capitalise Linux.
1750 (GRUB_MOD_INIT): Gettextizze.
1751 * loader/xnu.c: Include `<grub/i18n.h>'.
1752 (GRUB_MOD_INIT): Gettextizze.
1753 * po/POTFILES: Add `loader/efi/appleloader.c',
1754 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
1755 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
1756 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
1757 `loader/i386/xnu.c', `loader/multiboot_loader.c',
1758 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
1759 and `loader/xnu.c'.
1760
b394b2ca
RM
17612010-01-08 Robert Millan <rmh.grub@aybabtu.com>
1762
1763 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
1764
17652010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
1766
1767 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
1768 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
1769 * util/mkisofs/mkisofs.c (main): Readjust --version output.
1770
bc8b32b3
RM
17712010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1772
1773 Reset Multiboot 2 support. New loader implements the draft in
1774 /branches/multiboot2 and shares as much code as possible with the
1775 production Multiboot 1 implementation.
1776
1777 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
1778 * loader/multiboot2.c: Likewise.
1779 * loader/i386/multiboot_helper.S: Likewise.
1780 * include/multiboot2.h: Replace with latest version from the draft
1781 in /branches/multiboot2.
1782
1783 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
1784 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
1785 and `loader/multiboot2.c'.
1786 (pkglib_MODULES): Add `multiboot2.mod'.
1787 (multiboot2_mod_SOURCES): New variable.
1788 (multiboot2_mod_LDFLAGS): Likewise.
1789 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
1790
1791 * conf/i386-pc.rmk: Likewise.
1792
1793 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1794 (multiboot_mod_SOURCES): Remove variable.
1795 (multiboot_mod_LDFLAGS): Likewise.
1796 (multiboot_mod_CFLAGS): Likewise.
1797
1798 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
1799 `<multiboot2.h>' instead of `<multiboot.h>'.
1800 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
1801 (MULTIBOOT_HEADER_MAGIC): New macros.
1802
1803 * loader/multiboot_loader.c (module_version_status): Remove variable.
1804 (find_multi_boot2_header): Remove function.
1805 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
1806 logic. Always check for the Multiboot version we're compiling for.
1807 (grub_cmd_module_loader): Likewise.
1808 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
1809 command instead of `multiboot'.
1810
5d2c52b8
RM
18112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1812
1813 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
1814 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
1815 all users.
1816
53108d92
RM
18172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 Fix breakage introduced with previous commit.
1821
1822 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
1823 commands.
1824 * normal/handler.c (read_handler_list): Revert part of previous commit
1825 affecting this file.
1826 * normal/main.c (read_lists): Move read_handler_list() call back to ...
1827 (grub_normal_execute): ... here.
1828
e2e936b2
RM
18292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1830
1831 Merge prefix-redefinition-fix branch.
1832
1833 * normal/autofs.c (read_fs_list): Make function capable of being
1834 run multiple times, gracefuly replacing the previous data
1835 structures.
1836 * normal/dyncmd.c (read_command_list): Likewise.
1837 * normal/handler.c (read_handler_list): Likewise.
1838 * normal/main.c (read_lists): New function. Calls all the
1839 list reading functions.
1840 (grub_normal_execute): Use read_lists() instead of calling all
1841 list reading functions explicitly. Register read_lists() as a
1842 variable hook attached to ${prefix}.
1843
607a3701
VS
18442010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 Merge crypto branch.
1847
1848 * Makefile.in (pkglib_DATA): Add crypto.lst.
1849 (crypto.lst): New target.
1850 * commands/hashsum.c: New file.
1851 * commands/password.c (check_password): Use grub_crypto_memcmp.
1852 * commands/password_pbkdf2.c: New file.
1853 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1854 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
1855 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
1856 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
1857 -I$(srcdir)/lib/libgcrypt_wrap.
1858 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
1859 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
1860 password_pbkdf2.mod.
1861 (crypto_mod_SOURCES): New variable.
1862 (crypto_mod_CFLAGS): Likewise.
1863 (crypto_mod_LDFLAGS): Likewise.
1864 (hashsum_mod_SOURCES): New variable.
1865 (hashsum_mod_CFLAGS): Likewise.
1866 (hashsum_mod_LDFLAGS): Likewise.
1867 (pbkdf2_mod_SOURCES): New variable.
1868 (pbkdf2_mod_CFLAGS): Likewise.
1869 (pbkdf2_mod_LDFLAGS): Likewise.
1870 (password_pbkdf2_mod_SOURCES): New variable.
1871 (password_pbkdf2_mod_CFLAGS): Likewise.
1872 (password_pbkdf2_mod_LDFLAGS): Likewise.
1873 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
1874 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
1875 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
1876 Include conf/gcry.rmk.
1877 * include/grub/auth.h: Rewritten.
1878 * include/grub/crypto.h: New file.
1879 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
1880 * include/grub/normal.h (read_crypto_list): New prototype.
1881 * lib/crypto.c: New file.
1882 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1883 * lib/pbkdf2.c: Likewise.
1884 * normal/auth.c (grub_auth_strcmp): Removed.
1885 (grub_iswordseparator): Likewise.
1886 (grub_auth_strword): Likewise.
1887 (is_authenticated): Use grub_strword.
1888 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
1889 and grub_strword. Pass entered password to authentication callback.
1890 * normal/crypto.c: New file.
1891 * normal/main.c: Call read_crypto_list.
1892 * util/grub-mkpasswd-pbkdf2.c: New file.
1893 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
1894
42841caa
VS
18952010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Fix descent and ascent calculation.
1898
1899 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
1900 (options): New option "asce".
1901 (usage): Likewise.
1902 (add_char): Ignore invalid glyphs for descent calculation.
1903 Calculate ascent from actual content.
1904 (print_glyphs): Use 'asce'.
1905 (write_font): Likewise. Allow ascent override.
1906 (main): Handle "asce" option.
1907
e7730de7 19082010-01-06 Carles Pina i Estany <carles@pina.cat>
1909
1910 * kern/err.c: Include `<grub/i18n.h>'.
1911 (grub_print_error): Add full stop. Gettextizze.
1912 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
1913 (grub_bsd_load_elf): Capitalise ELF.
1914 (grub_cmd_freebsd_loadenv): Add `s' in error string.
1915 (grub_cmd_freebsd_module): Likewise.
1916 (grub_cmd_freebsd_module_elf): Likewise.
1917 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
1918
40e3a41f 19192010-01-06 Carles Pina i Estany <carles@pina.cat>
1920
1921 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
1922 * commands/search_file.c (HELP_MESSAGE): New macro.
1923 * commands/search_label.c (HELP_MESSAGE): Likewise.
1924 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
1925 * po/POTFILES: Add `commands/search_file.c',
1926 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
1927 `commands/search.c'.
1928
83507e68
RM
19292010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1930
1931 * config.rpath: Update from Gnulib.
1932
465c787b
YB
19332010-01-05 Yves Blusseau <blusseau@zetam.org>
1934
1935 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
1936
6581dd3a
YB
19372010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
1938
1939 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
1940
3bff18c5
CW
19412010-01-05 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
1944 arguments to fread so that we get a return value in bytes, rather
1945 than something that will normally be rounded down to 0.
1946 Adjust error handling to avoid producing garbage when size_t is not
1947 the same size as long long.
1948
a1368118
CW
19492010-01-05 Colin Watson <cjwatson@ubuntu.com>
1950
1951 * util/mkisofs/write.c (padblock_write): Check return value of
1952 fread.
1953
7c302978
RM
19542010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1955
1956 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
1957 floppy images now.
1958
1959 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
1960
e33ace06
RM
19612010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1962
1963 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
1964 instead of manual alignment.
1965 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
1966 verbose). Avoid attempts to read past end of the device
1967 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
1968 but GRUB_DISK_CACHE_SIZE may exceed that).
1969
4b856776
RM
19702010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1971
1972 * commands/crc.c (grub_cmd_crc): Abort on read errors.
1973 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
1974 it to upper layer.
1975
52c2d97f
VS
19762010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
1979 New constant.
1980 (grub_efi_piwg_device_path): New structure
1981 (grub_efi_piwg_device_path_t): New type.
1982 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
1983 (devpath_1): Transform to a structure. All users updated.
1984 (devpath_2): Likewise.
1985 (devpath_3): Likewise.
1986 (devpath_4): Likewise.
1987 (devpath_5): Likewise.
1988
98ff6a54
VS
19892010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * loader/efi/appleloader.c: Restored. Update all users.
1992
3a73dcb6
RM
19932010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1994
1995 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
1996
1997 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
1998 (struct boot_blocklist): Move from here ...
1999 * include/grub/i386/pc/boot.h [ASM_FILE]
2000 (struct grub_boot_blocklist): ... to here. Update all users.
2001 (setup): Only initialize `start' member of `first_block'
2002 structure. Add assert() calls to verify the other members.
2003
2004 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2005 (generate_image): Fix broken blocklist length initialization.
2006 Add assert() call to verify blocklist `segment' field.
2007
ab0eeb0c
RM
20082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2009
2010 * loader/efi/appleloader.c: Remove. Update all users.
2011
58bc8bd5
RM
20122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2013
2014 * boot/i386/pc/boot.S: Update copyright year.
2015 * boot/i386/pc/cdboot.S: Likewise.
2016 * boot/i386/pc/diskboot.S: Likewise.
2017 * boot/i386/pc/lnxboot.S: Likewise.
2018 * boot/i386/pc/pxeboot.S: Likewise.
2019 * bus/pci.c: Likewise.
2020 * commands/cmp.c: Likewise.
2021 * commands/help.c: Likewise.
2022 * commands/hexdump.c: Likewise.
2023 * commands/i386/pc/halt.c: Likewise.
2024 * commands/i386/pc/play.c: Likewise.
2025 * commands/i386/pc/vbeinfo.c: Likewise.
2026 * commands/ls.c: Likewise.
2027 * commands/test.c: Likewise.
2028 * disk/dmraid_nvidia.c: Likewise.
2029 * disk/i386/pc/biosdisk.c: Likewise.
2030 * disk/ieee1275/nand.c: Likewise.
2031 * disk/ieee1275/ofdisk.c: Likewise.
2032 * disk/lvm.c: Likewise.
2033 * disk/raid.c: Likewise.
2034 * disk/raid6_recover.c: Likewise.
2035 * disk/scsi.c: Likewise.
2036 * fs/affs.c: Likewise.
2037 * fs/cpio.c: Likewise.
2038 * fs/ext2.c: Likewise.
2039 * fs/hfs.c: Likewise.
2040 * fs/iso9660.c: Likewise.
2041 * fs/ntfs.c: Likewise.
2042 * fs/sfs.c: Likewise.
2043 * fs/udf.c: Likewise.
2044 * fs/ufs.c: Likewise.
2045 * fs/xfs.c: Likewise.
2046 * gencmdlist.sh: Likewise.
2047 * genmk.rb: Likewise.
2048 * include/grub/disk.h: Likewise.
2049 * include/grub/efi/api.h: Likewise.
2050 * include/grub/efi/efi.h: Likewise.
2051 * include/grub/efi/pe32.h: Likewise.
2052 * include/grub/elf.h: Likewise.
2053 * include/grub/fs.h: Likewise.
2054 * include/grub/i386/at_keyboard.h: Likewise.
2055 * include/grub/i386/pc/memory.h: Likewise.
2056 * include/grub/i386/pc/vbe.h: Likewise.
2057 * include/grub/i386/pci.h: Likewise.
2058 * include/grub/i386/tsc.h: Likewise.
2059 * include/grub/ieee1275/ieee1275.h: Likewise.
2060 * include/grub/ntfs.h: Likewise.
2061 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2062 * include/grub/sparc64/libgcc.h: Likewise.
2063 * include/grub/symbol.h: Likewise.
2064 * include/grub/types.h: Likewise.
2065 * include/multiboot2.h: Likewise.
2066 * io/gzio.c: Likewise.
2067 * kern/device.c: Likewise.
2068 * kern/disk.c: Likewise.
2069 * kern/efi/efi.c: Likewise.
2070 * kern/efi/mm.c: Likewise.
2071 * kern/elf.c: Likewise.
2072 * kern/file.c: Likewise.
2073 * kern/i386/dl.c: Likewise.
2074 * kern/i386/pc/init.c: Likewise.
2075 * kern/i386/pc/startup.S: Likewise.
2076 * kern/ieee1275/ieee1275.c: Likewise.
2077 * kern/ieee1275/init.c: Likewise.
2078 * kern/main.c: Likewise.
2079 * kern/mm.c: Likewise.
2080 * kern/powerpc/dl.c: Likewise.
2081 * kern/sparc64/dl.c: Likewise.
2082 * kern/x86_64/dl.c: Likewise.
2083 * lib/hexdump.c: Likewise.
2084 * loader/efi/appleloader.c: Likewise.
2085 * loader/i386/ieee1275/linux.c: Likewise.
2086 * loader/i386/pc/chainloader.c: Likewise.
2087 * loader/i386/pc/linux.c: Likewise.
2088 * loader/i386/pc/multiboot2.c: Likewise.
2089 * loader/ieee1275/multiboot2.c: Likewise.
2090 * loader/multiboot2.c: Likewise.
2091 * loader/multiboot_loader.c: Likewise.
2092 * loader/powerpc/ieee1275/linux.c: Likewise.
2093 * normal/completion.c: Likewise.
2094 * normal/menu_entry.c: Likewise.
2095 * partmap/apple.c: Likewise.
2096 * util/grub.d/10_hurd.in: Likewise.
2097 * util/hostfs.c: Likewise.
2098 * video/readers/png.c: Likewise.
2099
e2d70b5c
CW
21002010-01-03 Colin Watson <cjwatson@ubuntu.com>
2101
2102 * include/grub/misc.h (GNUC_PREREQ): New macro.
2103 (ATTRIBUTE_ERROR): New macro.
2104 * include/grub/list.h (grub_bad_type_cast_real): Use
2105 ATTRIBUTE_ERROR.
2106
a173283f 21072010-01-03 Carles Pina i Estany <carles@pina.cat>
2108
2109 * normal/menu_text.c (print_message): Change messages.
2110
7fa7ff74 21112010-01-03 Carles Pina i Estany <carles@pina.cat>
2112
2113 * normal/menu_entry.c (store_completion): Gettextizze.
2114
136d24f6 21152010-01-03 Carles Pina i Estany <carles@pina.cat>
2116
2117 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2118
f936862e 21192010-01-03 Carles Pina i Estany <carles@pina.cat>
2120
2121 * po/POTFILES: Sort correctly.
2122
29c44ad1 21232010-01-03 Carles Pina i Estany <carles@pina.cat>
2124
2125 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2126 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2127 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2128 full stop.
2129 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2130 summary. Gettextizze the strings.
2131 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2132 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2133 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2134 full stop.
2135 (GRUB_MOD_INIT): Remove command name from summary.
2136 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2137 summary.
2138 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2139 * term/i386/pc/serial.c (options): Add full stops.
2140 (GRUB_MOD_INIT): Remove command name from the summary.
2141
77a79592 21422010-01-03 Carles Pina i Estany <carles@pina.cat>
2143
2144 * commands/acpi.c: Gettextizze help strings and/or options. Include
2145 `grub/i18n.h' if needed.
2146 * commands/blocklist.c: Likewise.
2147 * commands/boot.c: Likewise.
2148 * commands/cat.c: Likewise.
2149 * commands/cmp.c: Likewise.
2150 * commands/configfile.c: Likewise.
2151 * commands/crc.c: Likewise.
2152 * commands/date.c: Likewise.
2153 * commands/echo.c: Likewise.
2154 * commands/efi/fixvideo.c: Likewise.
2155 * commands/efi/loadbios.c: Likewise.
2156 * commands/gptsync.c: Likewise.
2157 * commands/halt.c: Likewise.
2158 * commands/handler.c: Likewise.
2159 * commands/hdparm.c: Likewise.
2160 * commands/hexdump.c: Likewise.
2161 * commands/i386/cpuid.c: Likewise.
2162 * commands/i386/pc/drivemap.c: Likewise.
2163 * commands/i386/pc/halt.c: Likewise.
2164 * commands/i386/pc/pxecmd.c: Likewise.
2165 * commands/i386/pc/vbeinfo.c: Likewise.
2166 * commands/i386/pc/vbetest.c: Likewise.
2167 * commands/ieee1275/suspend.c: Likewise.
2168 * commands/keystatus.c: Likewise.
2169 * commands/loadenv.c: Likewise.
2170 * commands/ls.c: Likewise.
2171 * commands/lsmmap.c: Likewise.
2172 * commands/lspci.c: Likewise.
2173 * commands/memrw.c: Likewise.
2174 * commands/minicmd.c: Likewise.
2175 * commands/parttool.c: Likewise.
2176 * commands/password.c: Likewise.
2177 * commands/probe.c: Likewise.
2178 * commands/read.c: Likewise.
2179 * commands/reboot.c: Likewise.
2180 * commands/search.c: Likewise.
2181 * commands/sleep.c: Likewise.
2182 * commands/test.c: Likewise.
2183 * commands/true.c: Likewise.
2184 * commands/usbtest.c: Likewise.
2185 * commands/videotest.c: Likewise.
2186 * commands/xnu_uuid.c: Likewise.
2187 * disk/loopback.c: Likewise.
2188 * hello/hello.c: Likewise.
2189 * loader/i386/bsd.c: Likewise.
2190 * term/i386/pc/serial.c: Likewise.
2191 * po/POTFILES: Add new files.
2192
da8d5c53
CW
21932010-01-02 Colin Watson <cjwatson@ubuntu.com>
2194
2195 * term/i386/pc/at_keyboard.c
2196 (keyboard_controller_wait_untill_ready): Rename to ...
2197 (keyboard_controller_wait_until_ready): ... this. Update all users.
2198
33937904 21992010-01-01 Carles Pina i Estany <carles@pina.cat>
2200
2201 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
2202 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
2203 string using string width.
2204 * normal/menu_text.c (grub_print_message_indented): Use
2205 grub_print_spaces and not print_spaces.
2206 (print_timeout): Likewise.
2207 (print_spaces): Move to...
2208 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
2209
3fd3b8d8
RM
22102010-01-01 Robert Millan <rmh.grub@aybabtu.com>
2211
2212 Import from Gnulib.
2213
2214 * gnulib/getdelim.c: New file.
2215 * gnulib/getline.c: Likewise.
2216
33433555
VS
22172009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
2218
2219 * include/grub/list.h (grub_assert_fail): Removed.
2220 (grub_bad_type_cast_real): New function.
2221 (grub_bad_type_cast): New macro.
2222 (GRUB_AS_LIST): Use grub_bad_type_cast.
2223 (GRUB_AS_LIST_P): Likewise.
e44721e8 2224 (GRUB_AS_NAMED_LIST): Likewise.
33433555 2225 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 2226 (GRUB_AS_PRIO_LIST): Likewise.
33433555 2227 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 2228 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 2229
f5a51306
VS
22302009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
2233 Fix syntax error.
2234
90d1e879
RM
22352009-12-29 Robert Millan <rmh.grub@aybabtu.com>
2236
2237 * configure.ac: Check for TARGET_CFLAGS initialization before we
2238 initialize it ourselves (sigh).
2239 Move a few modifications to TARGET_CFLAGS to be unconditional
2240 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
2241 eh_frame)
2242
2243 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
2244 * term/i386/pc/at_keyboard.c
2245 (keyboard_controller_wait_untill_ready): Likewise.
2246 (keyboard_controller_led): Rename `led_status' paramter to avoid
2247 name conflict.
2248
465b5a81 22492009-12-28 Carles Pina i Estany <carles@pina.cat>
2250
2251 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
2252 quotes.
2253
c181849b
VS
22542009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2257
9c8739a4
VS
22582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * normal/menu_text.c (grub_print_message_indented): Prevent
2261 past-the-end-of-array dereference.
2262
3e74249c
VS
22632009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
2266 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
2267
64fd18ed 22682009-12-27 Carles Pina i Estany <carles@pina.cat>
2269
2270 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
2271 * normal/main.c (grub_normal_read_line): Remove a space from the
2272 default prompt.
2273
714af9b9 22742009-12-27 Carles Pina i Estany <carles@pina.cat>
2275
2276 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
2277 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2278 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2279 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2280 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2281 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2282 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2283
82f3e412 22842009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 2285
2286 * video/readers/jpeg.c (cmd): Declare.
2287 (grub_cmd_jpegtest): Use `grub_command_t' type.
2288 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2289 Assign to `cmd'.
2290 (GRUB_MOD_FINI): Use `cmd' to unregister.
2291 * video/readers/png.c (cmd): Declare.
2292 (grub_cmd_pngtest): Use `grub_command_t' type.
2293 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2294 Assign to `cmd'.
2295 (GRUB_MOD_FINI): Use `cmd' to unregister.
2296 * video/readers/tga.c (cmd): Declare.
2297 (grub_cmd_tgatest): Use `grub_command_t' type.
2298 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2299 Assign to `cmd'.
2300 (GRUB_MOD_FINI): Use `cmd' to unregister.
2301
82f3e412 23022009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 2303
2304 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
2305 stops.
2306 * kern/corecmd.c (grub_register_core_commands): Likewise.
2307 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
2308 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2309 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
2310 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2311 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2312 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
2313 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2314 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
2315 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2316 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2317 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2318 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2319 * normal/handler.c (insert_handler): Likewise.
2320 * normal/main.c (GRUB_MOD_INIT): Likewise.
2321 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2322
fdcdbb66 23232009-12-26 Carles Pina i Estany <carles@pina.cat>
2324
2325 * commands/help.c (grub_cmd_help): Print the command name before the
2326 summary.
2327 (GRUB_MOD_INIT): Remove command name from the summary.
2328 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 2329 string as summary.
fdcdbb66 2330 * lib/arg.c (find_long): Print the command name before the summary.
2331 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
2332 summary.
2333 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
2334 * commands/cat.c (GRUB_MOD_INIT): Likewise.
2335 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
2336 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
2337 * commands/crc.c (GRUB_MOD_INIT): Likewise.
2338 * commands/date.c (GRUB_MOD_INIT): Likewise.
2339 * commands/echo.c (GRUB_MOD_INIT): Likewise.
2340 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
2341 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2342 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2343 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
2344 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
2345 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
2346 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
2347 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2348 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
2349 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
2350 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
2351 * commands/ls.c (GRUB_MOD_INIT): Likewise.
2352 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2353 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2354 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2355 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
2356 * commands/password.c (GRUB_MOD_INIT): Likewise.
2357 * commands/probe.c (GRUB_MOD_INIT): Likewise.
2358 * commands/read.c (GRUB_MOD_INIT): Likewise.
2359 * commands/search.c (GRUB_MOD_INIT): Likewise.
2360 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
2361 * commands/test.c (GRUB_MOD_INIT): Likewise.
2362 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
2363 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2364 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2365 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
2366 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2367 * lib/arg.c (GRUB_MOD_INIT): Likewise.
2368 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
2369 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2370 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2371 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2372 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2373 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
2374 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
2375 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2376
9c288be2
VS
23772009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 Use search command for preliminar UUID search.
2380
2381 * commands/search.c: Split into ...
2382 * commands/search_wrap.c: ...this
2383 * commands/search.c: ...and this.
2384 * commands/search_file.c: New file.
2385 * commands/search_label.c: New file.
2386 * commands/search_uuid.c: New file.
2387 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
2388 Add commands/search_wrap.c, commands/search_file.c,
2389 commands/search_label.c and commands/search_uuid.c.
2390 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
2391 (search_mod_SOURCES): Set to commands/search_wrap.c.
2392 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
2393 search_label.mod.
2394 (search_fs_file_mod_SOURCES): New variable.
2395 (search_fs_file_mod_CFLAGS): Likewise.
2396 (search_fs_file_mod_LDFLAGS): Likewise.
2397 (search_label_mod_SOURCES): Likewise.
2398 (search_label_mod_CFLAGS): Likewise.
2399 (search_label_mod_LDFLAGS): Likewise.
2400 (search_fs_uuid_mod_SOURCES): New variable.
2401 (search_fs_uuid_mod_CFLAGS): Likewise.
2402 (search_fs_uuid_mod_LDFLAGS): Likewise.
2403 (fs_file_mod_SOURCES): Removed.
2404 (fs_file_mod_CFLAGS): Likewise.
2405 (fs_file_mod_LDFLAGS): Likewise.
2406 (fs_uuid_mod_SOURCES): Removed.
2407 (fs_uuid_mod_CFLAGS): Likewise.
2408 (fs_uuid_mod_LDFLAGS): Likewise.
2409 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
2410 Set to util/grub-install.in.
2411 * disk/fs_file.c: Removed.
2412 * disk/fs_uuid.c: Likewise.
2413 * include/grub/search.h: New file.
2414 * util/grub-install.in: Handle sparc64.
2415 Create and use load.cfg.
2416 * util/sparc64/ieee1275/grub-install.in: Removed.
2417
db943399
VS
24182009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
2421 Ignore return status if CF is cleared.
2422 (grub_biosdisk_get_diskinfo_standard): Likewise.
2423
3fdae612
RM
24242009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2425
2426 * term/i386/pc/at_keyboard.c
2427 (keyboard_controller_wait_untill_ready): New function.
2428 (grub_keyboard_controller_write, grub_keyboard_controller_read)
2429 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
2430 for keyboard polling, rather than duplicate the same loop. This
2431 saves a few bytes in code size.
2432
7ebaa2b4
VS
24332009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 Support for (pxe[:server[:gateway]]) syntax and
2436 use environment variable for PXE.
2437
2438 * commands/i386/pc/pxecmd.c (options): Removed.
2439 (print_ip): Removed.
2440 (grub_cmd_pxe): Removed
2441 (grub_cmd_pxe_unload): New function.
2442 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
2443 (grub_pxe_your_ip): Made static.
2444 (grub_pxe_default_server_ip): Likewise.
2445 (grub_pxe_default_gateway_ip): Likewise.
2446 (grub_pxe_blksize): Likewise.
2447 (parse_ip): New function.
2448 (grub_pxe_open): Support server and gateway specification.
2449 (grub_pxe_close): Free disk->data.
2450 (grub_pxefs_open): Use disk->data.
2451 (grub_pxefs_read): Likewise.
2452 (grub_env_write_readonly): New function.
2453 (set_mac_env): Likewise.
2454 (set_env_limn_ro): Likewise.
2455 (parse_dhcp_vendor): Likewise.
2456 (grub_pxe_detect): Set the environment variables.
2457 (set_ip_env): New function.
2458 (write_ip_env): Likewise.
2459 (grub_env_write_pxe_default_server): Likewise.
2460 (grub_env_write_pxe_default_gateway): Likewise.
2461 (grub_env_write_pxe_blocksize): Likewise.
2462 (GRUB_MOD_INIT(pxe)): Set environment variables.
2463 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
2464 (grub_pxe_mac_addr_t): ... this. All users updated.
2465 (grub_pxe_your_ip): Removed.
2466 (grub_pxe_server_ip): Likewise.
2467 (grub_pxe_gateway_ip): Likewise.
2468 (grub_pxe_blksize): Likewise.
2469
ec5f98ab 24702009-12-25 Carles Pina i Estany <carles@pina.cat>
2471
2472 * commands/help.c: Include `<grub/i18n.h>'.
2473 (grub_cmd_help): Gettextizze.
2474 (GRUB_MOD_INIT): Likewise.
2475 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2476 (GRUB_MOD_INIT): Gettextizze.
2477 * commands/search.c: Include `<grub/i18n.h>'.
2478 (options): Gettextizze.
2479 (GRUB_MOD_INIT): Gettextizze.
2480 * lib/arg.c: Include `<grub/i18n.h>'.
2481 (help_options): Gettextizze.
2482 (find_long): Likewise.
2483 (grub_arg_show_help): Likewise.
2484 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2485 (read_command_list): Gettextizze.
2486 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 2487 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 2488
22815526
RM
24892009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2490
2491 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2492 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2493 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2494 (led_status): New variable.
2495 (keyboard_controller_led): New function.
2496 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2497 update led status for caps lock, num lock and scroll lock.
2498
0ad46fd7
FZ
24992009-12-25 Felix Zielcke <fzielcke@z-51.de>
2500
2501 * util/hostdisk.c (open_device): Fix a comment.
2502
d0e158c2
RM
25032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2504
2505 * util/grub-install.in (host_os): New variable.
2506 * util/i386/efi/grub-install.in (host_os): Likewise.
2507
401c0ad6
RM
25082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2509
2510 * util/mkisofs/write.c (padblock_write): Abort when given an
2511 excedingly large embed image, instead of silently truncating it.
2512
d14d3370
RM
25132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2514
2515 * include/multiboot.h: Indentation fixes.
2516
eeed10b4
RM
25172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2518
2519 * include/multiboot.h (struct multiboot_aout_symbol_table)
2520 (struct multiboot_elf_section_header_table): New structure
2521 declarations (stolen from GRUB Legacy).
2522 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2523 table information.
2524
2525 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2526 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2527 type aliases.
2528
681c70ab
RM
25292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2530
2531 * include/multiboot.h: Make comments src2texi-friendly.
2532
e4d47d8d
RM
25332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2534
2535 For consistency with [multiboot]/docs/boot.S.
2536
2537 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2538 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2539 (MULTIBOOT_MAGIC2): Rename from this ...
2540 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2541
a0b70bda
RM
25422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2543
2544 * include/multiboot.h: Remove `<grub/types.h>'.
2545 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2546 types. Update all users.
2547
61ba42be 25482009-12-25 Carles Pina i Estany <carles@pina.cat>
2549
2550 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2551 `couldn't' and `can not' by `cannot'.
2552 * commands/i386/pc/drivemap.c: Likewise.
2553 * disk/ata.c: Likewise.
2554 * disk/ieee1275/nand.c: Likewise.
2555 * fs/affs.c: Likewise.
2556 * fs/fat.c: Likewise.
2557 * fs/hfs.c: Likewise.
2558 * fs/hfsplus.c: Likewise.
2559 * fs/iso9660.c: Likewise.
2560 * fs/jfs.c: Likewise.
2561 * fs/minix.c: Likewise.
2562 * fs/reiserfs.c: Likewise.
2563 * fs/sfs.c: Likewise.
2564 * fs/udf.c: Likewise.
2565 * fs/ufs.c: Likewise.
2566 * fs/xfs.c: Likewise.
2567 * loader/powerpc/ieee1275/linux.c: Likewise.
2568 * loader/sparc64/ieee1275/linux.c: Likewise.
2569 * util/grub-probe.c: Likewise.
2570 * util/misc.c: Likewise.
2571
7fd0baee 25722009-12-24 Carles Pina i Estany <carles@pina.cat>
2573
2574 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2575 grub_errno calls.
2576 * commands/acpi.c: Likewise.
2577 * commands/blocklist.c: Likewise.
2578 * commands/efi/loadbios.c: Likewise.
2579 * commands/i386/pc/drivemap.c: Likewise.
2580 * commands/loadenv.c: Likewise.
2581 * commands/memrw.c: Likewise.
2582 * commands/password.c: Likewise.
2583 * commands/videotest.c: Likewise.
2584 * disk/ata.c: Likewise.
2585 * disk/ata_pthru.c: Likewise.
2586 * disk/dmraid_nvidia.c: Likewise.
2587 * disk/ieee1275/nand.c: Likewise.
2588 * disk/ieee1275/ofdisk.c: Likewise.
2589 * disk/loopback.c: Likewise.
2590 * disk/lvm.c: Likewise.
2591 * disk/mdraid_linux.c: Likewise.
2592 * disk/raid.c: Likewise.
2593 * disk/raid6_recover.c: Likewise.
2594 * disk/scsi.c: Likewise.
2595 * efiemu/main.c: Likewise.
2596 * efiemu/mm.c: Likewise.
2597 * efiemu/pnvram.c: Likewise.
2598 * efiemu/symbols.c: Likewise.
2599 * font/font.c: Likewise.
2600 * fs/cpio.c: Likewise.
2601 * fs/hfsplus.c: Likewise.
2602 * fs/iso9660.c: Likewise.
2603 * fs/jfs.c: Likewise.
2604 * fs/minix.c: Likewise.
2605 * fs/ntfs.c: Likewise.
2606 * fs/ntfscomp.c: Likewise.
2607 * fs/reiserfs.c: Likewise.
2608 * fs/ufs.c: Likewise.
2609 * fs/xfs.c: Likewise.
2610 * gettext/gettext.c: Likewise.
2611 * include/grub/auth.h: Likewise.
2612 * kern/elf.c: Likewise.
2613 * kern/file.c: Likewise.
2614 * kern/ieee1275/init.c: Likewise.
2615 * kern/ieee1275/mmap.c: Likewise.
2616 * kern/ieee1275/openfw.c: Likewise.
2617 * kern/powerpc/dl.c: Likewise.
2618 * kern/sparc64/dl.c: Likewise.
2619 * lib/arg.c: Likewise.
2620 * loader/i386/bsd.c: Likewise.
2621 * loader/i386/bsdXX.c: Likewise.
2622 * loader/i386/efi/linux.c: Likewise.
2623 * loader/i386/efi/xnu.c: Likewise.
2624 * loader/i386/ieee1275/linux.c: Likewise.
2625 * loader/i386/linux.c: Likewise.
2626 * loader/i386/multiboot.c: Likewise.
2627 * loader/i386/pc/linux.c: Likewise.
2628 * loader/i386/pc/multiboot2.c: Likewise.
2629 * loader/i386/xnu.c: Likewise.
2630 * loader/ieee1275/multiboot2.c: Likewise.
2631 * loader/macho.c: Likewise.
2632 * loader/machoXX.c: Likewise.
2633 * loader/multiboot2.c: Likewise.
2634 * loader/multiboot_loader.c: Likewise.
2635 * loader/powerpc/ieee1275/linux.c: Likewise.
2636 * loader/sparc64/ieee1275/linux.c: Likewise.
2637 * loader/xnu.c: Likewise.
2638 * loader/xnu_resume.c: Likewise.
2639 * mmap/i386/pc/mmap.c: Likewise.
2640 * normal/menu_viewer.c: Likewise.
2641 * partmap/acorn.c: Likewise.
2642 * partmap/amiga.c: Likewise.
2643 * partmap/apple.c: Likewise.
2644 * script/lexer.c: Likewise.
2645 * term/gfxterm.c: Likewise.
2646 * term/i386/pc/serial.c: Likewise.
2647 * term/i386/pc/vga.c: Likewise.
2648 * term/ieee1275/ofconsole.c: Likewise.
2649 * term/terminfo.c: Likewise.
2650 * video/bitmap.c: Likewise.
2651 * video/efi_gop.c: Likewise.
2652 * video/efi_uga.c: Likewise.
2653 * video/fb/video_fb.c: Likewise.
2654 * video/i386/pc/vbe.c: Likewise.
2655 * video/readers/tga.c: Likewise.
2656 * video/video.c: Likewise.
2657
0ad46fd7 26582009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2659
2660 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2661 * commands/lspci.c: Likewise.
2662 * commands/probe.c: Likewise.
2663 * commands/xnu_uuid.c: Likewise.
2664 * conf/i386-coreboot.rmk: Likewise.
2665 * conf/i386-efi.rmk: Likewise.
2666 * conf/i386-ieee1275.rmk: Likewise.
2667 * conf/i386-pc.rmk: Likewise.
2668 * conf/powerpc-ieee1275.rmk: Likewise.
2669 * conf/sparc64-ieee1275.rmk: Likewise.
2670 * conf/x86_64-efi.rmk: Likewise.
2671 * fs/i386/pc/pxe.c: Likewise.
2672 * gettext/gettext.c: Likewise.
2673 * include/grub/efi/graphics_output.h: Likewise.
2674 * include/grub/i386/pc/memory.h: Likewise.
2675 * kern/env.c: Likewise.
2676 * kern/i386/qemu/startup.S: Likewise.
2677 * lib/i386/pc/biosnum.c: Likewise.
2678 * lib/i386/relocator.c: Likewise.
2679 * lib/i386/relocator_asm.S: Likewise.
2680 * lib/relocator.c: Likewise.
2681 * loader/i386/bsd.c: Likewise.
2682 * loader/i386/multiboot.c: Likewise.
2683 * loader/i386/pc/chainloader.c: Likewise.
2684 * loader/i386/xnu.c: Likewise.
2685 * loader/xnu.c: Likewise.
2686 * normal/main.c: Likewise.
2687 * normal/menu_text.c: Likewise.
2688 * util/getroot.c: Likewise.
2689 * util/grub-mkconfig_lib.in: Likewise.
2690 * util/grub.d/00_header.in: Likewise.
2691 * util/i386/pc/grub-mkimage.c: Likewise.
2692 * util/mkisofs/eltorito.c: Likewise.
2693 * util/mkisofs/exclude.h: Likewise.
2694 * util/mkisofs/hash.c: Likewise.
2695 * util/mkisofs/iso9660.h: Likewise.
2696 * util/mkisofs/joliet.c: Likewise.
2697 * util/mkisofs/mkisofs.c: Likewise.
2698 * util/mkisofs/mkisofs.h: Likewise.
2699 * util/mkisofs/multi.c: Likewise.
2700 * util/mkisofs/name.c: Likewise.
2701 * util/mkisofs/rock.c: Likewise.
2702 * util/mkisofs/tree.c: Likewise.
2703 * util/mkisofs/write.c: Likewise.
2704 * video/efi_gop.c: Likewise.
2705
009ec743
VS
27062009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2709 size counting.
2710
0ad46fd7 27112009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2712
2713 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
2714 * genmk.rb (class SCRIPT): Modify the target file instead of source.
2715
d3d30ea0
VS
27162009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
2719 (GRUB_MOD_INIT(memrw)): Update help line.
2720
a34f5c70
VS
27212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
2724 Use grub_extcmd_t. All users updated.
2725 (options): New variable.
2726 (grub_cmd_read): Restructure for readability. Support "-v" option.
2727 (grub_cmd_write): Restructure for readability.
2728
0ad46fd7 27292009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
2730
2731 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
2732
0ad46fd7 27332009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
2734
2735 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
2736 with the actual contents of the correspondending make variable.
2737 * util/grub-mkrescue.in (pkglib_DATA): New variable.
2738 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
2739 specifying `*.lst' and `efiemu??.o'
2740
0ad46fd7 27412009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
2742
2743 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
2744 after function name.
2745 Noticed by Rene Engelhard <rene@debian.org>.
2746
dc77a799
VS
27472009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
2750 (options): New variable.
2751 (iospace): Likewise.
2752 (grub_lspci_iter): List IO spaces if "-i" was given.
2753 (grub_cmd_lspci): Parse options.
2754 (GRUB_MOD_INIT(lspci)): Use extcmd.
2755 (GRUB_MOD_FINI(lspci)): Likewise.
2756
0ad46fd7 27572009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
2758
2759 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
2760 `function' keyword.
2761 Patch by Tony Mancill <tmancill@debian.org>.
2762
b5d5993b
VS
27632009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
2766 (grub_uhci_portstatus): Likewise.
2767 (grub_uhci_portstatus): Add necessary delay.
11d18281 2768 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 2769
941903f2 27702009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 2771
941903f2 2772 * commands/acpi.c (options): Fix capitalizations and/or full stops.
2773 (GRUB_MOD_INIT): Likewise.
2774 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 2775 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
2776 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 2777 * commands/efi/loadbios.c (enable_rom_area): Likewise.
2778 (enable_rom_area): Likewise.
2779 (GRUB_MOD_INIT): Likewise.
2780 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2781 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
2782 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2783 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
2784 * commands/hexdump.c (options): Likewise.
2785 * commands/i386/cpuid.c (options): Likewise.
2786 (GRUB_MOD_INIT): Likewise.
2787 * commands/i386/pc/drivemap.c (options): Likewise.
2788 (GRUB_MOD_INIT): Likewise.
2789 * commands/i386/pc/halt (options): Likewise.
2790 (GRUB_MOD_INIT): Likewise.
2791 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2792 * commands/i386/pc/pxecmd.c (options): Likewise.
2793 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
2794 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
2795 * commands/keystatus.c (options): Likewise.
2796 (GRUB_MOD_INIT): Likewise.
2797 * commands/loadenv.c (options): Likewise.
2798 * commands/ls.c (options): Likewise.
2799 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2800 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2801 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2802 * commands/parttool.c (helpmsg): Likewise.
2803 * commands/probe.c (options): Likewise.
2804 * commands/read.c (GRUB_MOD_INIT): Likewise.
2805 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
2806 * commands/search.c (options): Likewise.
2807 * commands/sleep.c (options): Likewise.
2808 * commands/test.c (GRUB_MOD_INIT): Likewise.
2809 * commands/true.c (GRUB_MOD_INIT): Likewise.
2810 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
2811 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
2812 * lib/arg.c (help_options): Likewise.
e9bbb4e7 2813 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
2814 `$(XGETTEXT)'.
98a50553 2815 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 2816
0ad46fd7 28172009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 2818
ef3c2c3a 2819 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
2820 instead of specifying them explicit.
2821
7922f68b
RM
28222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2823
2824 * NEWS: Add grub-probe support for GNU/Hurd.
2825
537ce47f
RM
28262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2827
2828 * NEWS: gettext was added after 1.97.
2829
9b214e3a
RM
28302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2831
2832 * util/mkisofs/msdos_partition.h: New file (based on
2833 include/grub/msdos_partition.h).
2834 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
2835 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
2836 (ld_options, main): Recognize --protective-msdos-label.
2837 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
2838 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
2839 (padblock_write): If `use_protective_msdos_label' is set, patch a
2840 protective DOS-style label in the output image.
2841
2842 * util/grub-mkrescue.in: Use --protective-msdos-label.
2843
e9309813
RM
28442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2845
2846 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
2847 boot.
2848
0ae56929
RM
28492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2850
2851 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2852 variables.
2853 (ld_options, main): Recognize `--embedded-boot'.
2854 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
2855 declarations.
2856 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
2857 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
2858 (padblock_write): Likewise. Rewrite to support embedded boot image.
2859
2860 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
2861 for BIOS-based disk boot instead of only ElTorito.
2862
b15937b1
RM
28632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2864
2865 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
2866 build (not needed for bootstrap).
2867
52cc3ce0
RM
28682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2869
2870 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
2871 from i386-pc build (not needed for bootstrap).
2872 Rewrite a pair of strings.
2873
36f5ff04
RM
28742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2875
2876 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2877
973c6c85 28782009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
2879
2880 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2881
05d21547
AB
28822009-12-21 Andreas Born <futur.andy@googlemail.com>
2883
2884 * kern/env.c (grub_env_context_open): Mark exported variable for
2885 reexport.
2886
0175d51f
AB
28872009-12-21 Andreas Born <futur.andy@googlemail.com>
2888
2889 * kern/env.c (grub_env_export): Create nonexistent variables before
2890 exporting.
2891
7f39d92f 28922009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 2893
7f39d92f 2894 * include/grub/auth.h: Include `<grub/i18n.h>'.
2895 (GRUB_GET_PASSWORD): Gettextizze string.
2896 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
2897 menu_text.c.
2898 (grub_utf8_to_ucs4_alloc): Fix indentation.
2899 (grub_print_ucs4): Likewise.
2900 (grub_getstringwidth): Likewise.
2901 (print_message_indented): New declaration.
2902 * normal/auth.c: Include `<grub/i18n.h>'.
2903 (grub_auth_check_authentication): Gettexttize string.
2904 * normal/cmdline.c: Include `<grub/i18n.h>'.
2905 (grub_cmdline_get): Gettextizze.
2906 * normal/color.c: Include `<grub/i18n.h>'.
2907 (grub_parse_color_name_pair): Gettexttize strings.
2908 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
2909 string (use `print_message_indented').
2910 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
2911 `include/grub/normal.h'.
2912 (print_message_indented): Renamed to ...
2913 (grub_print_message_indented): ... this. Remove `static' qualifer (now
2914 used in normal/main.c).
2915 (print_message): Use `grub_print_message_indented' instead of
2916 `print_message_indented'.
2917 (print_timeout): Likewise.
2918 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
2919 (grub_normal_print_device_info): Gettexttize strings.
2920 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2921
3041d898
VS
29222009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
2925 of arguments. Return number of tokens and not arguments. All users
2926 updated.
2927
de15bf8e
VS
29282009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
2931 non-MSDOS paritions.
2932
e0a6ca52
VS
29332009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * include/grub/types.h (UNUSED): Removed since it conflicts with
2936 NetBSD headers. All users changed to direct __attribute__ ((unused)).
2937 Reported by Grégoire Sutre.
2938
b99518d1 29392009-12-19 Carles Pina i Estany <carles@pina.cat>
2940
2941 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
2942 (grub_print_ucs4_alloc): Likewise.
2943 (grub_getstringwidth): Likewise.
2944 * normal/main.c (grub_normal_init_page): Gettextize version string.
2945 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
2946 (getstringwidth): Renamed to ...
2947 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
2948 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
2949 (grub_print_ucs4): Remove `static' qualifer (now used in
2950 normal/main.c).
2951 * po/POTFILES: Add normal/main.c.
2952
bfd5e52b 29532009-12-19 Carles Pina i Estany <carles@pina.cat>
2954
2955 * normal/menu_text.c (STANDARD_MARGIN): New macro.
2956 (print_message_indented): Add `margin_left' and `margin_right'
2957 parameters.
2958 (print_message): Update `print_message_indented' calls. Adds '\n' to the
2959 strings.
2960 (print_timeout): Use `print_message_indented' to print the message.
2961 Deletes `second_stage' parameter.
2962 (run_menu): Update `print_timeout' calls.
2963
5a1ad2b9
VS
29642009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 Fix console palette on OpenFirmware.
2967
2968 * term/ieee1275/ofconsole.c (MAX): Removed.
2969 (colors): Redone based on VGA palette.
2970 (grub_ofconsole_setcolor): Discard brightness bit since only 8
2971 colors are supported.
2972 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2973
b045f00a
VS
29742009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 Fix potential EfiEmu double prepare.
2977
2978 * efiemu/main.c (prepared): New variable
2979 (grub_efiemu_unload): Set prepare to '0'.
2980 (grub_efiemu_prepare): Return if already prepared. Set prepared.
2981
2982 set_virtual_address_map support.
2983
2984 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
2985 prototype.
2986 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
2987 prototype.
2988 (grub_efiemu_crc32): Likewise.
2989 (grub_efiemu_crc64): Likewise.
2990 (grub_efiemu_set_virtual_address_map): Likewise.
2991 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
2992 New definition.
2993 (grub_autoefi_set_virtual_address_map): Likewise.
2994 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
2995 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
2996 Restructure flow to accomodate it.
2997 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
2998 (grub_efiemu_crc): Recompute CRC32.
2999 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3000 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3001 * efiemu/symbols.c (relocated_handle): New variable.
3002 (grub_efiemu_free_syms): Free relocated_handle.
3003 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3004 (grub_efiemu_write_sym_markers): New function.
3005 (grub_efiemu_set_virtual_address_map): Likewise.
3006
3007 Newer XNU parameters.
3008
3009 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3010 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3011 (grub_xnu_fill_devicetree): New prototype.
3012 (grub_xnu_heap_real_start): New variable.
3013 * loader/xnu.c (get_name_ptr): New function.
3014 (grub_xnu_load_driver): Fill namelen and name.
3015
3016 64-bit xnu support.
3017
3018 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3019 and 'loader/macho64.c'.
3020 * conf/i386-pc.rmk: Likewise.
3021 * conf/x86_64-efi.rmk: Likewise.
3022 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3023 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3024 * include/grub/macho.h (grub_macho_segment64): New structure.
3025 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3026 (grub_macho_size32): ... to this.
3027 (grub_macho32_get_entry_point): Renamed from ...
3028 (grub_macho_get_entry_point32): ... to this.
3029 (grub_macho_contains_macho64): New prototype.
3030 (grub_macho_size64): Likewise.
3031 (grub_macho_get_entry_point64): Likewise.
3032 (grub_macho32_load): Renamed from ...
3033 (grub_macho_load32): ... to this.
3034 (grub_macho32_filesize): Renamed from ...
3035 (grub_macho_filesize32): ... to this.
3036 (grub_macho32_readfile): Renamed from ...
3037 (grub_macho_readfile32): ... to this.
3038 (grub_macho_filesize64): New prototype.
3039 (grub_macho_readfile64): Likewise.
3040 (grub_macho_parse32): Likewise.
3041 (grub_macho_parse64): Likewise.
3042 * loader/macho.c: Split into ...
3043 * loader/machoXX.c: ... and this. Replace 32 with XX.
3044 * loader/macho32.c: New file.
3045 * loader/macho64.c: Likewise.
3046 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3047 (grub_cmd_xnu_kernel): Make 32-bit only.
3048 (grub_cmd_xnu_kernel64): New function.
3049 (grub_xnu_load_driver): Support Mach-O 64.
3050 (grub_cmd_xnu_mkext): Likewise.
3051 * util/grub.d/30_os-prober.in (osx_entry): New function.
3052 Generate entries for 64-bit boot too.
3053
3054 Eliminate ad-hoc tree format in XNU and EfiEmu.
3055
3056 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3057 * efiemu/pnvram.c: Rewritten to use environment variables.
3058 All users updated.
3059
3060 Inline utf16_to_utf8.
3061
3062 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3063 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3064 All users updated.
3065 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3066
3067 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3068 * commands/usbtest.c (grub_usb_get_string): ... move here.
3069 (usb_print_str): Fix error handling.
3070 * include/grub/usb.h (grub_usb_get_string): Remove.
3071
3072 UTF-8 to UTF-16 transformation.
3073
3074 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3075 (charset_mod_SOURCES): New variable.
3076 (charset_mod_CFLAGS): Likewise.
3077 (charset_mod_LDFLAGS): Likewise.
3078 * include/grub/utf.h: New file.
3079 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3080
3081 Support for device properties.
3082
3083 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3084 (grub_xnu_devprop_device_header): Likewise.
3085 (grub_xnu_devprop_device_descriptor): Likewise.
3086 (grub_xnu_devprop_add_device): New prototype.
3087 (grub_xnu_devprop_remove_device): Likewise.
3088 (grub_xnu_devprop_remove_property): Likewise.
3089 (grub_xnu_devprop_add_property_utf8): Likewise.
3090 (grub_xnu_devprop_add_property_utf16): Likewise.
3091 (grub_cpu_xnu_init): Likewise.
3092 (grub_cpu_xnu_fini): Likewise.
3093 (grub_cpu_xnu_unload): Likewise.
3094 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3095 (property_descriptor): Likewise.
3096 (devices): New variable.
3097 (grub_xnu_devprop_remove_property): New function.
3098 (grub_xnu_devprop_add_device): Likewise.
3099 (grub_xnu_devprop_remove_device): Likewise.
3100 (grub_xnu_devprop_add_property): Likewise.
3101 (grub_xnu_devprop_add_property_utf8): Likewise.
3102 (grub_xnu_devprop_add_property_utf16): Likewise.
3103 (hextoval): Likewise.
3104 (grub_cpu_xnu_fill_devprop): Likewise.
3105 (grub_cmd_devprop_load): Likewise.
3106 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3107 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3108 (cmd_devprop_load): New variable.
3109 (grub_cpu_xnu_init): New function.
3110 (grub_cpu_xnu_fini): Likewise.
3111 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3112 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3113 (grub_cmd_xnu_devtree): Likewise.
3114 (hextoval): New function.
3115 (unescape): Likewise.
3116 (grub_xnu_fill_devicetree): Likewise.
3117
3118 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3119 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3120
0945f181
VS
31212009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 Workaround for broken ATI VBE.
3124
3125 * video/i386/pc/vbe.c (last_set_mode): New variable.
3126 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3127 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3128 (grub_video_vbe_setup): Don't check for reserved flag.
3129
0ad46fd7 31302009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
3131
3132 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3133 the `find' command.
3134
c179ebe4
VS
31352009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 UUID support for HFS.
3138
3139 * fs/hfs.c (grub_hfs_uuid): New function.
3140 (grub_hfs_fs): New value .uuid.
3141 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3142
0ad46fd7 31432009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
3144
3145 Fix a segfault with parsing unknown long options.
3146
3147 * util/grub-mkrelpath.c (options): Zero terminate it.
3148
c4a3e41a
CPE
31492009-12-13 Carles Pina i Estany <carles@pina.cat>
3150
3151 * include/grub/misc.h (grub_puts): New declaration.
3152 (grub_puts_): Likewise.
a22008a6 3153 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
3154 (grub_puts_): Likewise.
3155
2e8a7602
RM
31562009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3157
3158 * util/grub-probe.c (probe): Improve error message.
3159
b50b77b9
RM
31602009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3161
3162 * loader/i386/multiboot_elfxx.c
3163 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3164 initialization.
3165
31662009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Relocator framework
3169
3170 * loader/i386/xnu_helper.S: Removed. All users updated.
3171 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3172 (relocator_mod_SOURCES): New variable.
3173 (relocator_mod_CFLAGS): Likewise.
3174 (relocator_mod_LDFLAGS): Likewise.
3175 (relocator_mod_ASFLAGS): Likewise.
3176 * conf/x86_64.rmk: Likewise.
3177 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
3178 (grub_multiboot_payload_entry_offset): Likewise.
3179 (grub_multiboot_forward_relocator): Likewise.
3180 (grub_multiboot_forward_relocator_end): Likewise.
3181 (grub_multiboot_backward_relocator): Likewise.
3182 (grub_multiboot_backward_relocator_end): Likewise.
3183 (grub_multiboot_payload_eip): New variable.
3184 (grub_multiboot_payload_orig): Likewise.
3185 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
3186 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
3187 * include/grub/i386/memory.h
3188 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
3189 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
3190 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
3191 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
3192 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3193 * include/grub/i386/relocator.h: New file.
3194 * include/grub/x86_64/relocator.h: Likewise.
3195 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
3196 (XNU_RELOCATOR): New macro.
3197 (grub_xnu_launcher_start): Remove.
3198 (grub_xnu_launcher_end): Likewise.
3199 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
3200 (grub_xnu_heap_real_start): Remove.
3201 (grub_xnu_heap_start): Change to void *. All users updated.
3202 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
3203 * lib/i386/relocator.c: New file.
3204 * lib/i386/relocator_asm.S: Likewise.
3205 * lib/i386/relocator_backward.S: Likewise.
3206 * lib/mips/relocator.c: Likewise.
3207 * lib/mips/relocator_asm.S: Likewise.
3208 * lib/relocator.c: Likewise.
3209 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
3210 (entry): Removed.
3211 (playground): Likewise.
3212 (grub_multiboot_payload_orig): New variable.
3213 (grub_multiboot_payload_dest): Likewise.
3214 (grub_multiboot_payload_size): Likewise.
3215 (grub_multiboot_payload_eip): Likewise.
3216 (grub_multiboot_payload_esp): Likewise.
3217 (grub_multiboot_boot): Use grub_relocator32_boot.
3218 (grub_multiboot_unload): Free relocators.
3219 (grub_multiboot): Setup stack. Use relocators.
3220 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
3221 (grub_multiboot_load_elfXX): Use relocators.
3222 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
3223 (grub_multiboot_payload_size): Likewise.
3224 (grub_multiboot_payload_dest): Likewise.
3225 (grub_multiboot_payload_entry_offset): Likewise.
3226 (grub_multiboot_forward_relocator): Likewise.
3227 (grub_multiboot_backward_relocator): Likewise.
3228 (grub_multiboot_real_boot): Likewise.
3229 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
3230 (grub_xnu_entry_point): Likewise.
3231 (grub_xnu_arg1): Likewise.
3232 (grub_xnu_stack): Likewise.
3233 (grub_xnu_launch): Removed.
3234 (grub_xnu_boot_resume): New function.
3235 (grub_xnu_boot): Use relocators.
3236 * loader/i386/xnu_helper.S: Removed.
3237 * loader/xnu.c (grub_xnu_heap_start): New variable.
3238 (grub_xnu_heap_size): Likewise.
3239 (grub_xnu_heap_malloc): Use relocators.
3240 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
3241
29eb90c6
VS
32422009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
3245 anything.
3246
31027430
CPE
32472009-12-13 Carles Pina i Estany <carles@pina.cat>
3248
3249 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
3250 GRUB_ERR_NONE before calling grub_env_set.
3251
dc0c71d9
RM
32522009-12-12 Robert Millan <rmh@aybabtu.com>
3253
3254 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
3255 * genmk.rb (video): New variable.
3256 (CLEANFILES, VIDEOFILES): Add #{video}.
3257 (#{video}): New target rule.
3258 * genvideolist.sh: New file.
3259 * Makefile.in (pkglib_DATA): Add video.lst.
3260 (video.lst): New target rule.
3261 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
3262 `video.lst'.
3263 * util/grub.d/30_os-prober.in: Replace `vbe' with
3264 ${GRUB_VIDEO_BACKEND}.
3265
2a4bfcf0
RM
32662009-12-11 Robert Millan <rmh.grub@aybabtu.com>
3267
3268 * THANKS: Add David Miller.
3269
2a3aa4d5
RM
32702009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 libpciaccess support.
3273
3274 * Makefile.in (LIBPCIACCESS): New variable.
3275 (enable_grub_emu_pci): Likewise.
3276 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
3277 util/pci.c and commands/lspci.c.
3278 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
3279 * configure.ac (grub-emu-pci): New option.
3280 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
3281 (grub_pci_device_unmap_range): Likewise.
3282 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
3283 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
3284 (grub_pci_address_t) [!GRUB_UTIL]: New type.
3285 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
3286 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
3287 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
3288 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
3289 * include/grub/pciutils.h: New file.
3290 * util/pci.c: Likewise.
3291
0ad46fd7 32922009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
3293
3294 * util/misc.c: Don't include <errno.h> twice.
3295
0ad46fd7 32962009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
3297
3298 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
3299 name in an error message.
3300 (grub_biosdisk_rw): Likewise.
3301
2e59983c
VS
33022009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 Eliminate NTFS 4Gib barrier.
3305
3306 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
3307 (read_run_data): Likewise.
3308 (grub_ntfs_read_run_list): Likewise.
3309 (grub_ntfs_read_block): Likewise.
3310 (grub_ntfs_iterate_dir): Likewise.
3311 (read_mft): Likewise.
3312 (read_data): Likewise.
3313 Use COM_LOG_LEN.
3314 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
3315 to avoid 64-bit division
3316 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
3317 (grub_ntfs_rlst): Use grub_disk_addr_t.
3318
71ee178a
VS
33192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 Eliminate grub-fstest 4Gib barrier.
3322
3323 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
3324 (read_file): Fix error reporting.
3325
2520d4b8
VS
33262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Eliminate hexdump 4Gib barrier.
3329
3330 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
3331 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
3332
e1f27065
VS
33332009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
3336 Fixes amarsh bug.
3337
1a0f7f45
RM
33382009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
3339
3340 Remove miscellaneous files in distclean target.
3341
3342 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
3343
c631d9fb
CW
33442009-12-09 Colin Watson <cjwatson@ubuntu.com>
3345
3346 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
3347 if they're already set. This resolves the conflict between my
3348 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
3349 fixing the --grub-probe option again.
3350 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
3351 change on 2009-10-06, so that we now once again source
3352 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3353
7c7b6106
RM
33542009-12-08 Robert Millan <rmh.grub@aybabtu.com>
3355
3356 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
3357 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
3358 `util/devicemap.c'.
3359
e3069ec1
CPE
33602009-12-08 Carles Pina i Estany <carles@pina.cat>
3361
3362 * include/grub/misc.h (grub_printf_): New declaration.
3363 * kern/misc.c (grub_printf_): New definition.
3364 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
3365 instead of `grub_printf' and `_'.
3366 * normal/menu_entry.c (store_completion): Likewise.
3367 (run): Likewise.
3368 (grub_menu_entry_run): Likewise.
3369 * normal/menu_text.c (grub_wait_after_message): Likewise.
3370 (notify_booting): Likewise.
3371 (notify_fallback): Likewise.
3372 (notify_execution_failure): Likewise.
3373
d6ceebf1
CW
33742009-12-07 Colin Watson <cjwatson@ubuntu.com>
3375
3376 * configure.ac: Check for vasprintf.
3377 * util/misc.c (asprintf): Move allocation from here ...
3378 (vasprintf): ... to here. New function.
3379 (xasprintf): New function.
3380 * include/grub/util/misc.h (vasprintf, xasprintf): Add
3381 prototypes.
3382 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3383 * util/grub-mkfont.c (write_font): Likewise.
3384 * util/grub-probe.c (probe): Likewise.
3385 * util/hostdisk.c (make_device_name): Likewise.
3386
de6daa8b
DM
33872009-12-06 David S. Miller <davem@sunset.davemloft.net>
3388
3389 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
3390 anything even prefixed with 'cdrom' as a cdrom.
3391
0ad46fd7 33922009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
3393
3394 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
3395 mount points.
3396
98d3dc02
CPE
33972009-12-05 Carles Pina i Estany <carles@pina.cat>
3398
3399 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
3400 grub_gettext_msg_list.
3401 (grub_gettext_gettranslation_from_position): Return const char *
3402 and not char *.
a2c1332b 3403 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
3404 returns from the list if existing there.
3405 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
3406 (grub_gettext_delete_list): Delete the list.
3407 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
3408 lang environment variable is changed.
3409 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
3410
b283f108
VS
34112009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 Rename kernel.mod to kernel.img.
3414
3415 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
3416 (kernel_mod_EXPORTS): Rename to ...
3417 (kernel_img_EXPORTS): ... this.
3418 (kernel_mod_SOURCES): Rename to ...
3419 (kernel_img_SOURCES): ... this.
3420 (kernel_mod_HEADERS): Rename to ...
3421 (kernel_img_HEADERS): ... this. All users updated.
3422 (kernel_mod_CFLAGS): Rename to ...
3423 (kernel_img_CFLAGS): ... this.
3424 (kernel_mod_ASFLAGS): Rename to ...
3425 (kernel_img_ASFLAGS): ... this.
3426 (kernel_mod_LDFLAGS): Rename to ...
3427 (kernel_img_LDFLAGS): ... this.
3428 * conf/x86_64-efi.rmk: Likewise.
3429 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
3430 (read_kernel_image): ... this. All users updated.
3431 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
3432
69055f8a
CPE
34332009-12-05 Carles Pina i Estany <carles@pina.cat>
3434
3435 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
3436 (print_spaces): New function.
3437 (grub_print_ucs4): New function.
3438 (getstringwidth): New function.
3439 (print_message_indented): New function.
3440 (print_message): Gettexttize strings using print_message_indented.
3441 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
3442 width.
3443 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 3444 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
3445 Gettextize.
3446 * normal/menu_entry.c (store_completion): Cleanup the gettextized
3447 string.
3448 (run): Likewise.
3449 (grub_menu_entry_run): Likewise.
3450 * PO/POTFILES: Add normal/menu_entry.c.
3451
f616f51c
VS
34522009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
3455
57bbe3be
CPE
34562009-12-05 Carles Pina i Estany <carles@pina.cat>
3457
3458 * util/grub-install.in: Install gettext .mo files.
3459 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
3460
013d67a1
CPE
34612009-12-05 Carles Pina i Estany <carles@pina.cat>
3462
3463 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
3464 grub_dprintf.
3465
fb954db0
RM
34662009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3467
3468 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3469 non-firmware-dependant one in realmode.S takes precedence.
3470
6b8474f8
RM
34712009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3472
3473 * commands/halt.c: Replace misc arch-specific headers with
3474 `<grub/misc.h>'.
3475 * commands/reboot.c: Likewise.
3476 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3477 `<grub/misc.h>'.
3478 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3479 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3480 (kernel_img_SOURCES): ... to here.
3481
3482 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3483 * include/grub/i386/pc/init.h: Likewise.
3484 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3485 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3486
3487 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3488
3489 * include/grub/i386/halt.h: Remove.
3490 * include/grub/i386/reboot.h: Likewise.
3491
3492 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3493
4b2e6ca2
DM
34942009-12-03 David S. Miller <davem@sunset.davemloft.net>
3495
3496 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3497 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3498 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3499 "progname.h"
3500 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3501 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3502 (usage): Add missing comma in printf.
3503
5239348f
RM
35042009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3505
3506 Use the same reboot approach on i386 coreboot and qemu as we do on
3507 BIOS.
3508
3509 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3510 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3511 * kern/i386/reboot.c: Remove.
3512 * include/grub/i386/reboot.h (grub_reboot): Export function.
3513 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3514 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3515 0xf000:0xfff0 instead of 0xffff:0x0000.
3516 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3517 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3518
ef34cbd4
RM
35192009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3520
3521 Fix $srcdir != $objdir build.
3522
3523 * Makefile.in (po/%.po): Rewrite as ...
3524 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3525
dc9837ea
ST
35262009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3527
3528 Fix GNU/Hurd grub-install crash.
3529 * util/grub-probe.c (probe): Try to access `path' only when it is not
3530 NULL.
3531
2f857f98
VS
35322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 Correct module naming.
3535
3536 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3537 (GRUB_MOD_INIT(efi_uga)): ... to this
3538 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3539 (GRUB_MOD_FINI(efi_uga)): ... to this
3540 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3541 (GRUB_MOD_INIT(efi_gop)): ... to this
3542 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3543 (GRUB_MOD_FINI(efi_gop)): ... to this
3544
c5448046
RM
35452009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3546
3547 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3548 translatable.
3549 (usage): Translate `arg' strings using gettext().
3550 Thanks to Jordi Mallach for the suggestion.
3551
c85184ad
VS
35522009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 GOP support. Based on patch from Bean
3555 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3556
3557 * video/efi_gop.c: New file.
3558 * include/grub/efi/graphics_output.h: Likewise.
3559 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3560 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3561 variables.
3562 * conf/x86_64-efi.rmk: Likewise.
3563
8a4c48d8
VS
35642009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 Rename efi_fb to efi_uga.
3567
3568 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3569 'efi_uga.mod'.
3570 (efi_fb_mod_SOURCES): Rename this ...
3571 (efi_uga_mod_SOURCES): ... to this.
3572 (efi_fb_mod_CFLAGS): Rename this ...
3573 (efi_uga_mod_CFLAGS): ... to this.
3574 (efi_fb_mod_LDFLAGS): Rename this ...
3575 (efi_uga_mod_LDFLAGS): ... to this.
3576 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3577 'efi_uga.mod'.
3578 (efi_fb_mod_SOURCES): Rename this ...
3579 (efi_uga_mod_SOURCES): ... to this.
3580 (efi_fb_mod_CFLAGS): Rename this ...
3581 (efi_uga_mod_CFLAGS): ... to this.
3582 (efi_fb_mod_LDFLAGS): Rename this ...
3583 (efi_uga_mod_LDFLAGS): ... to this.
3584 * video/efi_fb.c: Move this ...
3585 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3586
fb6c1a7b
RM
35872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3588
3589 * po/README: New file. Explain our PO file workflow.
3590
3bc7896c
RM
35912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3592
3593 * po/ChangeLog: Remove. Move relevant entries back to ...
3594 * ChangeLog: ... here.
3595 * po/ca.po: Remove (now handled by TLP).
3596 * po/id.po: Likewise.
3597 * po/zh_CN.po: Likewise.
3598 * Makefile.in (LINGUAS): Initialize in a way that supports
3599 empty set.
3600
9ed4841d
RM
36012009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3602
3603 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3604 reliing on po/LINGUAS.
3605 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3606 (po/%.po): ... this.
3607
0ad46fd7 36082009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
3609
3610 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3611 (main): Use `program_name' instead of nonexistent `progname'.
3612
e30dd392
FZ
36132009-11-26 Felix Zielcke <fzielcke@z-51.de>
3614
3615 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3616 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3617
7656de4f
RM
36182009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3619
3620 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3621 commit.
3622 * conf/i386-efi.rmk: Likewise.
3623 * conf/i386-ieee1275.rmk: Likewise.
3624 * conf/powerpc-ieee1275.rmk: Likewise.
3625 * conf/sparc64-ieee1275.rmk: Likewise.
3626 * conf/x86_64-efi.rmk: Likewise.
3627
db77c4d4
FZ
36282009-11-26 Felix Zielcke <fzielcke@z-51.de>
3629
3630 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3631
a755bb04
FZ
36322009-11-26 Felix Zielcke <fzielcke@z-51.de>
3633
3634 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3635
8a4c07fd
RM
36362009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3637
3638 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
3639 (grub_mkdevicemap_SOURCES): New variable.
3640 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
3641 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
3642 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
3643 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
3644 (grub_mkdevicemap_SOURCES): Remove.
3645 * conf/i386-efi.rmk: Likewise.
3646 * conf/i386-ieee1275.rmk: Likewise.
3647 * conf/i386-pc.rmk: Likewise.
3648 * conf/powerpc-ieee1275.rmk: Likewise.
3649 * conf/sparc64-ieee1275.rmk: Likewise.
3650 * conf/x86_64-efi.rmk: Likewise.
3651 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
3652 (usage): Fix strings to use `program_name'.
3653 (main): Initialize gettext.
3654 * util/grub-editenv.c: Likewise.
3655 * util/grub-emu.c: Likewise.
3656 * util/grub-fstest.c: Likewise.
3657 * util/grub-mkdevicemap.c: Likewise.
3658 * util/grub-mkfont.c: Likewise.
3659 * util/grub-mkrelpath.c: Likewise.
3660 * util/grub-pe2elf.c: Likewise.
3661 * util/grub-probe.c: Likewise.
3662 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3663 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3664 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3665
3666 * util/misc.c: Include `"progname.h"'.
3667 (progname): Remove variable.
3668 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3669
6f61ed55
FZ
36702009-11-25 Felix Zielcke <fzielcke@z-51.de>
3671
3672 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3673 printf and print a newline after the menuentry header line.
3674 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3675
f022876b
FZ
36762009-11-25 Felix Zielcke <fzielcke@z-51.de>
3677
3678 autoconf >= 2.60 support $(localedir).
3679
3680 * INSTALL: Note that autoconf 2.60 is required.
3681 * configure.ac (AC_PREREQ): Bump to 2.60.
3682 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3683 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3684
6717926e
YB
36852009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3686
3687 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3688 aclocal is run.
3689
08806a54
RM
36902009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3691
3692 * normal/main.c (grub_normal_read_line): Fix off-by-one
3693 buffer overflow.
3694
13b33fba
RM
36952009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3696
3697 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3698 "parser.grub" in grub_command_execute() call.
3699
4a8572e9
CPE
37002009-11-24 Carles Pina i Estany <carles@pina.cat>
3701
3702 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3703 * conf/i386-efi.rmk: Likewise.
3704 * conf/i386-ieee1275.rmk: Likewise.
3705 * conf/i386-pc.rmk: Likewise.
3706 * conf/powerpc-ieee1275.rmk: Likewise.
3707 * conf/sparc64-ieee1275.rmk: Likewise.
3708 * conf/x86_64-efi.rmk: Likewise.
3709 * gettext/gettex.c: Include <grub/i18n.h>.
3710 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3711 here ...
3712 * include/grub/i18n.h: ... to here
3713 * include/grub/i18n.h: ... to here.
3714 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 3715 (grub_gettext_dummy): Move above user.
4a8572e9 3716
bee48093
FZ
37172009-11-24 Felix Zielcke <fzielcke@z-51.de>
3718
3719 * util/Makefile.in (install-local): Convert a `for' into a normal
3720 shell expansion.
3721
a031e91c
RM
37222009-11-24 Robert Millan <rmh.grub@aybabtu.com>
3723
3724 * autogen.sh: Add automake call.
3725 * config.guess: Remove.
3726 * config.sub: Likewise.
3727 * install-sh: Likewise.
3728
26bec39d
FZ
37292009-11-24 Felix Zielcke <fzielcke@z-51.de>
3730
3731 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
3732
8e2532fd
FZ
37332009-11-24 Felix Zielcke <fzielcke@z-51.de>
3734
3735 * util/Makefile.in (install-local): Convert a make `$(foreach)'
3736 function to a normal shell `for'.
3737
fefa1b7d
FZ
37382009-11-24 Felix Zielcke <fzielcke@z-51.de>
3739
3740 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3741
4501250b
FZ
37422009-11-24 Felix Zielcke <fzielcke@z-51.de>
3743
3744 * util/grub-mkrelpath.c: New file.
3745 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
3746 (grub_mkrelpath_SOURCES): New variable.
3747 * include/grub/util/misc.h: New function prototype.
3748 * util/misc.c (make_system_path_relative_to_its_root): New function.
3749
3750 * util/grub-mkconfig_lib.in (bindir): New variable.
3751 (grub_mkrelpath): Likewise.
3752 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
3753
3754 * util/probe.c (probe): Make the file path relative to its root.
3755 Change a info message to use the GRUB path. Enable again the
3756 check if we can read the file with GRUB facilities.
3757
3758 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
3759 to its root.
3760
11d9778b
FZ
37612009-11-24 Felix Zielcke <fzielcke@z-51.de>
3762
3763 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
3764 platform.
3765
4465287d
FZ
37662009-11-24 Felix Zielcke <fzielcke@z-51.de>
3767
3768 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
3769 strncmp().
3770
62b47f22
FZ
37712009-11-24 Felix Zielcke <fzielcke@z-51.de>
3772
3773 * util/getroot.c (grub_util_is_dmraid): New function.
3774 (grub_util_get_dev_abstraction): Treat dmraid and multipath
3775 devices as normal ones, not as LVM.
3776
1eafb9b9 37772009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
3778
3779 * conf/common.rmk: Add grub-gettext_lib target and updates
3780 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
3781 LDFLAGS.
3782 * gettext/gettext.c: New file. (Reads mo files).
3783 * include/grub/file.h (grub_file_pread): New prototype.
3784 * include/grub/i18n.h (_): New prototype.
3785 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
3786 prototypes.
3787 * kern/misc.c (grub_gettext_dummy): New function.
3788 * normal/menu_text.c: Include <grub/i18n.h>.
3789 * normal/menu_text.c (print_timeout): Gettexttize string.
3790 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
3791 * po/POTFILES: Add `normal/menu_text.c'.
3792 * po/ca.po: Add new translations.
c3ea6bd4
CPE
3793 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
3794 gettext module and defines locale_dir and lang in grub.cfg.
3795 * NEWS: Add gettext support.
3796
0fdb2568
RM
37972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3798
3799 * util/hostdisk.c: Include `<grub/i18n.h>'.
3800 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
3801 (make_device_name): Rewrite using asprintf.
3802 (convert_system_partition_to_system_disk): Replace 0 with NULL.
3803 (find_system_device): If a device is not found, generate one just
3804 by reusing the OS path name.
3805 (read_device_map): Make it permissible for device.map not to exist.
3806
f515aa62
RM
38072009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3808
3809 * script/sh/execute.c: Move from here ...
3810 * script/execute.c: ... to here. Update all users.
3811 * script/sh/function.c: Move from here ...
3812 * script/function.c: ... to here. Update all users.
3813 * script/sh/lexer.c: Move from here ...
3814 * script/lexer.c: ... to here. Update all users.
3815 * script/sh/main.c: Move from here ...
3816 * script/main.c: ... to here. Update all users.
3817 * script/sh/parser.y: Move from here ...
3818 * script/parser.y: ... to here. Update all users.
3819 * script/sh/script.c: Move from here ...
3820 * script/script.c: ... to here. Update all users.
3821
f84b481b
RM
38222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3823
3824 * configure.ac: Detect all `emu' platforms. Define
3825 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
3826 --enable-grub-emu logic. Disable include/grub/machine
3827 symlink on `emu' platforms.
3828
3829 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
3830 * gensymlist.sh.in: Likewise.
3831
3832 * include/grub/i386/coreboot/machine.h: Remove file.
3833 * include/grub/i386/efi/machine.h: Likewise.
3834 * include/grub/i386/ieee1275/machine.h: Likewise.
3835 * include/grub/i386/pc/machine.h: Likewise.
3836 * include/grub/i386/qemu/machine.h: Likewise.
3837 * include/grub/powerpc/ieee1275/machine.h: Likewise.
3838 * include/grub/sparc64/ieee1275/machine.h: Likewise.
3839 * include/grub/x86_64/efi/machine.h: Likewise.
3840
3841 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
3842 * commands/halt.c: Likewise.
3843 * commands/reboot.c: Likewise.
3844 * include/grub/autoefi.h: Likewise.
3845 * include/grub/i386/at_keyboard.h: Likewise.
3846 * include/grub/i386/kernel.h: Likewise.
3847 * include/grub/i386/loader.h: Likewise.
3848 * include/grub/i386/pc/memory.h: Likewise.
3849 * kern/dl.c: Likewise.
3850 * kern/i386/coreboot/init.c: Likewise.
3851 * loader/i386/bsd.c: Likewise.
3852 * loader/i386/linux.c: Likewise.
3853 * loader/multiboot_loader.c: Likewise.
3854 * term/i386/pc/serial.c: Likewise.
3855 * term/usb_keyboard.c: Likewise.
3856
3857 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
3858 `<grub/machine/machine.h>'
3859 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
3860 * util/misc.c: Remove `<grub/machine/machine.h>' and
3861 `<grub/machine/time.h>'.
3862
3863 * Makefile.in (enable_grub_emu): Remove variable.
3864 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
3865
3866 * conf/any-emu.rmk: New file.
3867 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
3868 (grub_emu_init.c): Move from here ...
3869 * conf/any-emu.rmk: ... to here.
3870
3871 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
3872 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
3873 * conf/any-emu.rmk: ... to here.
3874
4efeab03
RM
38752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3876
3877 * include/grub/parser.h (grub_parser_register): Document need
3878 of `name' parameter.
3879 * normal/main.c (grub_normal_read_line): Simplify prompt string.
3880 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
3881 "sh" to "grub".
3882
ea1dd8bf
RM
38832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3884
3885 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
3886 `$(XGETTEXT)'.
3887 * include/grub/i18n.h (N_): New macro.
3888 * util/mkisofs/mkisofs.h: Likewise.
3889 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
3890 around N_().
3891 (usage): Use gettext() to translate help strings when printing them.
3892
0c140626
RM
38932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3894
3895 Based on patch from Bean
3896 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3897
3898 * video/efi_fb.c: New file.
3899 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
3900 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3901 variables.
3902 * conf/x86_64-efi.rmk: Likewise.
3903
87d58298
RM
39042009-11-22 Robert Millan <rmh.grub@aybabtu.com>
3905
3906 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
3907 * util/i386/pc/grub-setup.c: Likewise.
3908
994cc3a3
ST
39092009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3910
3911 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
3912 <hurd/fs.h>
3913 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
3914 file_get_storage_info to implement grub_guess_root_device.
3915
26a61d6a
FZ
39162009-11-21 Felix Zielcke <fzielcke@z-51.de>
3917
3918 * Makefile.in (target): Use make's builtin $(shell) function
3919 instead of calling directly $(SHELL) to create the locale directories,
3920 inside the $(foreach) function.
3921
74ff1dd5
FZ
39222009-11-21 Felix Zielcke <fzielcke@z-51.de>
3923
3924 * util/grub-mkrescue.in: Print an error and usage if output option
3925 has not been given.
3926
0b787d0e
FZ
39272009-11-21 Felix Zielcke <fzielcke@z-51.de>
3928
3929 Patch from Loïc Minier <loic.minier@ubuntu.com>.
3930 * util/grub.d/30_os-prober.in: Cope with Linux entries where
3931 root and /boot are on different devices.
3932
1164b270
RM
39332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3934
3935 Fix build for srcdir != objdir.
3936
3937 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
3938 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
3939 $(srcdir).
3940 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
3941 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
3942 reference for input.
3943
13774a2f
RM
39442009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3945
3946 * util/grub-mkrescue.in: Use source directory direcly (without copiing
3947 or hardlinking it). Remove -J option, Joliet is not compatible with
3948 multiple source directories.
3949
efda854e
RM
39502009-11-21 Carles Pina i Estany <carles@pina.cat>
39512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3952
3953 * util/grub-mkrescue.in: Recognize `--override-directory' option.
3954 (process_input_dir): New function. Process an arbitrary input
3955 directory.
3956 Misc adjustments to support both "override mode" and system-wide mode.
3957
6c09890c
FZ
39582009-11-20 Felix Zielcke <fzielcke@z-51.de>
3959
3960 * configure.ac (UNIFONT_BDF): Rename to ...
3961 (FONT_SOURCE): ... this. Update all users.
3962
a797824f
FZ
39632009-11-20 Felix Zielcke <fzielcke@z-51.de>
3964
3965 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
3966 to the list of unifont files to look for.
3967
cd4f42b0
RM
39682009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3969
3970 Patch from Joe Auricchio <jauricchio@gmail.com>
3971 * commands/minicmd.c (grub_mini_cmd_clear): New function.
3972 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
3973 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
3974
393c783d
FZ
39752009-11-19 Felix Zielcke <fzielcke@z-51.de>
3976
3977 * Makefile.in (install-local): Add a missing backslash.
3978
b2f1e327
FZ
39792009-11-19 Felix Zielcke <fzielcke@z-51.de>
3980
3981 * include/grub/x86_64/io.h: New file.
3982
f577f7a0
RM
39832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3984
3985 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
3986 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
3987 Include `"progname.h"'.
3988 (main): Initialize gettext.
3989 * util/i386/pc/grub-setup.c: Gettexttize.
3990 * util/i386/pc/grub-mkimage.c: Likewise.
3991
3992 * Makefile.in (po/*.po): Redefine as ...
3993 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
3994
3bc7896c
RM
3995 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
3996
c37943b6
RM
39972009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3998
3999 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4000 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4001 (program_name): Remove.
4002 (main): Initialize gettext support.
6323f705
RM
4003 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4004 Include `<libintl.h>'.
4005 (_): New macro.
c37943b6
RM
4006
4007 * util/mkisofs/eltorito.c: Gettexttize.
4008 * util/mkisofs/joliet.c: Likewise.
4009 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4010 * util/mkisofs/multi.c: Likewise.
4011 * util/mkisofs/rock.c: Likewise.
4012 * util/mkisofs/tree.c: Likewise.
4013 * util/mkisofs/write.c: Likewise.
4014
3bc7896c
RM
4015 * po/POTFILES: Update with new files.
4016
5ce77c6e
RM
40172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4018
4019 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4020 * util/mkisofs/iso9660.h: Likewise.
4021 * util/mkisofs/joliet.c: Likewise.
4022 * util/mkisofs/mkisofs.c: Likewise.
4023 * util/mkisofs/mkisofs.h: Likewise.
4024 * util/mkisofs/rock.c: Likewise.
4025 * util/mkisofs/tree.c: Likewise.
4026 * util/mkisofs/write.c: Likewise.
4027
4028 * util/mkisofs/eltorito.c (rcsid): Remove.
4029 * util/mkisofs/hash.c: Likewise.
4030 * util/mkisofs/joliet.c: Likewise.
4031 * util/mkisofs/name.c: Likewise.
4032 * util/mkisofs/rock.c: Likewise.
4033 * util/mkisofs/tree.c: Likewise.
4034 * util/mkisofs/write.c: Likewise.
4035
1dabbc77
RM
40362009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4037
4038 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4039 instead of static allocation.
4040 * util/mkisofs/match.h: Likewise.
4041
633877cb
RM
40422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4043
3bc7896c
RM
4044 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4045 and `util/grub.d/10_linux.in'.
633877cb
RM
4046 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4047 translatable Shell files.
4048
af1c0c85
RM
40492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4050
4051 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4052
769ae37b
RM
40532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4054
4055 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4056 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4057 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4058 Add gettext initialization.
4059 (kfreebsd_entry): Make menuentry output translatable.
4060
40612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4062
4063 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4064 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4065 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4066 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4067 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4068 * po/LINGUAS: New file.
769ae37b
RM
4069
40702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4071
4072 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4073 other things).
4074 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4075 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4076 bindtextdomain() calls for gettext initialization.
4077
40782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4079
4080 * gnulib/progname.c: New file (imported from Gnulib).
4081 * gnulib/progname.h: Likewise.
4082 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4083 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4084 (usage): Replace `progname' with `program_name'.
4085 (main): Use set_program_name() for program name initialization.
4086
40872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4088
4089 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4090 from here ...
4091 * Makefile.in (CPPFLAGS): ... to here.
4092
40932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4094
4095 * aclocal.m4: Move from here ...
4096 * acinclude.m4: ... to here.
4097 * autogen.sh: Add call to `aclocal'.
4098 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4099
41002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4101
4102 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4103 (LINGUAS): New variable.
4104 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4105 (install-local): Install MO files.
4106 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4107 * include/grub/i18n.h: New file.
3bc7896c
RM
4108 * po/POTFILES: New file.
4109 * po/ca.po: New file.
769ae37b
RM
4110 * util/grub.d/10_linux.in (bindir): New variable.
4111 Add gettext initialization.
4112 (linux_entry): Make menuentry output translatable.
4113 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4114 (usage): Make --help output translatable.
4115 (main): Initialize gettext.
4116
02c0a6ad
RM
41172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4118
4119 * import_gcry.py: New file (written by Vladimir with minor
4120 adjustments).
4121 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4122 ciphers.
4123 * INSTALL: Document that Python is required for bootstrap.
4124
41252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4126
4127 Import ciphers from libgcrypt 1.4.4.
4128
4129 * lib/libgcrypt/cipher/ChangeLog
4130 * lib/libgcrypt/cipher/ac.c
4131 * lib/libgcrypt/cipher/arcfour.c
4132 * lib/libgcrypt/cipher/bithelp.h
4133 * lib/libgcrypt/cipher/blowfish.c
4134 * lib/libgcrypt/cipher/camellia-glue.c
4135 * lib/libgcrypt/cipher/camellia.c
4136 * lib/libgcrypt/cipher/camellia.h
4137 * lib/libgcrypt/cipher/cast5.c
4138 * lib/libgcrypt/cipher/cipher.c
4139 * lib/libgcrypt/cipher/crc.c
4140 * lib/libgcrypt/cipher/des.c
4141 * lib/libgcrypt/cipher/dsa.c
4142 * lib/libgcrypt/cipher/ecc.c
4143 * lib/libgcrypt/cipher/elgamal.c
4144 * lib/libgcrypt/cipher/hash-common.c
4145 * lib/libgcrypt/cipher/hash-common.h
4146 * lib/libgcrypt/cipher/hmac-tests.c
4147 * lib/libgcrypt/cipher/md.c
4148 * lib/libgcrypt/cipher/md4.c
4149 * lib/libgcrypt/cipher/md5.c
4150 * lib/libgcrypt/cipher/primegen.c
4151 * lib/libgcrypt/cipher/pubkey.c
4152 * lib/libgcrypt/cipher/rfc2268.c
4153 * lib/libgcrypt/cipher/rijndael-tables.h
4154 * lib/libgcrypt/cipher/rijndael.c
4155 * lib/libgcrypt/cipher/rmd.h
4156 * lib/libgcrypt/cipher/rmd160.c
4157 * lib/libgcrypt/cipher/rsa.c
4158 * lib/libgcrypt/cipher/seed.c
4159 * lib/libgcrypt/cipher/serpent.c
4160 * lib/libgcrypt/cipher/sha1.c
4161 * lib/libgcrypt/cipher/sha256.c
4162 * lib/libgcrypt/cipher/sha512.c
4163 * lib/libgcrypt/cipher/tiger.c
4164 * lib/libgcrypt/cipher/twofish.c
4165 * lib/libgcrypt/cipher/whirlpool.c
4166
af2f93ac
RM
41672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4168
4169 Fix build for systems without error().
4170
4171 * gnulib/error.c: New file (imported from Gnulib).
4172 * gnulib/error.h: Likewise.
4173 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4174 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
4175 (this variable is now used by error()).
4176
73fb3dd5
FZ
41772009-11-16 Felix Zielcke <fzielcke@z-51.de>
4178
814f5e96
FZ
4179 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
4180 instead of relying that char is signed.
73fb3dd5 4181
a691ca33
VS
41822009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
4185 blocksize different from specified.
4186 (grub_pxefs_read): Likewise.
4187
2af8f0f4
FZ
41882009-11-16 Felix Zielcke <fzielcke@z-51.de>
4189
4190 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
4191
4192 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4193 (grub_ata_readwrite): Likewise. Update 2 format strings.
4194 (grub_atapi_read): Likewise.
4195
4196 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
4197 * conf/i386.rmk (pkglib_MODULES): ... to here ...
4198 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
4199 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
4200 (ata_mod_LDFLAGS): Move from here ...
4201 * conf/i386.rmk: ... to here ...
4202 * conf/x86_64-efi.rmk: ... and here.
4203 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
4204 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
4205
83bdecaf
RM
42062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4207
4208 Relicense multiboot.h, with RMS' blessing.
4209
4210 * include/multiboot.h: Change to X11 license.
4211
fd6fd3d7
RM
42122009-11-15 Robert Millan <rmh.grub@aybabtu.com>
4213
4214 Support --version in grub-mkisofs.
4215
4216 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
4217 (OPTION_VERSION): New macro.
4218 (ld_options): Recognize --version.
4219 (usage): Move `program_name' from here ...
4220 (program_name): ... to here. Add `static' qualifier.
4221 (main): Recognize `OPTION_VERSION'.
4222
16a88c49
FZ
42232009-11-15 Felix Zielcke <fzielcke@z-51.de>
4224
4225 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
4226 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
4227
a4158476
RM
42282009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4229
4230 Fix help2man generation for mkisofs.
4231
4232 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
4233 (usage): Send output to stdout (rather than stderr).
4234
fc2208b0
RM
42352009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4236
4237 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
4238 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4239 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
4240 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4241 (bin_SCRIPTS): Add `grub-mkfloppy'.
4242 (grub_mkfloppy_SOURCES): New variable.
4243
4244 * util/grub-mkrescue.in: New file.
4245 * util/i386/pc/grub-mkfloppy.in: New file.
4246
4247 * util/i386/coreboot/grub-mkrescue.in: Remove.
4248 * util/i386/pc/grub-mkrescue.in: Remove.
4249
8d0edf4a
RM
42502009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4251
4252 * include/grub/multiboot.h (struct grub_multiboot_header): Move
4253 from here ...
4254 * include/multiboot.h (struct multiboot_header): ... to here. Update
4255 all users.
4256 * include/grub/multiboot.h (struct grub_multiboot_info): Move
4257 from here ...
4258 * include/multiboot.h (struct multiboot_info): ... to here. Update
4259 all users.
4260 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
4261 from here ...
4262 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
4263 Update all users.
4264 * include/grub/multiboot.h (struct grub_mod_list): Move
4265 from here ...
4266 * include/multiboot.h (struct multiboot_mod_list): ... to here.
4267 Update all users.
4268
a73f5969
RM
42692009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4270
4271 * include/multiboot2.h (multiboot_word): Rename from this ...
4272 (multiboot2_word): ... to this. Update all users.
4273 (multiboot_header): Rename from this ...
4274 (multiboot2_header): ... to this. Update all users.
4275 (multiboot_tag_header): Rename from this ...
4276 (multiboot2_tag_header): ... to this. Update all users.
4277 (multiboot_tag_start): Rename from this ...
4278 (multiboot2_tag_start): ... to this. Update all users.
4279 (multiboot_tag_name): Rename from this ...
4280 (multiboot2_tag_name): ... to this. Update all users.
4281 (multiboot_tag_module): Rename from this ...
4282 (multiboot2_tag_module): ... to this. Update all users.
4283 (multiboot_tag_memory): Rename from this ...
4284 (multiboot2_tag_memory): ... to this. Update all users.
4285 (multiboot_tag_unused): Rename from this ...
4286 (multiboot2_tag_unused): ... to this. Update all users.
4287 (multiboot_tag_end): Rename from this ...
4288 (multiboot2_tag_end): ... to this. Update all users.
4289
1c8927f0
RM
42902009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4291
4292 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
4293 this platform we should support Multiboot1 first.
4294
4295 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4296 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
4297 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
4298
6e1e0d89
RM
42992009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4300
4301 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
4302 of write calls (converting them to fwrite() if they aren't already).
4303 (get_torito_desc): Likewise.
4304 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
4305
7f2b34d8
RM
43062009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4307
4308 * util/i386/pc/grub-install.in: Move from here ...
4309 * util/grub-install.in: ... to here. Update all users.
4310
c0ef3311
CW
43112009-11-11 Colin Watson <cjwatson@ubuntu.com>
4312
4313 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
4314
e1f240ff
RM
43152009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4316
4317 Support for El Torito without floppy emulation.
4318
4319 * util/mkisofs/eltorito.c: Include `<errno.h>'.
4320 (init_boot_catalog): Improve error handling.
4321 (get_torito_desc): Don't use floppy emulation unless requested by
4322 user. Patch boot information table when requested via
4323 `-boot-info-table'.
4324 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
4325 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
4326 (use_boot_info_table): New variables.
4327 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
4328 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
4329 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
4330 `--eltorito-emul-floppy'.
4331 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
4332 and `OPTION_ELTORITO_EMUL_FLOPPY'.
4333 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
4334 (use_boot_info_table, get_731): New prototypes.
4335 * util/mkisofs/write.c (get_731): New function.
4336
af7d4de5
FZ
43372009-11-11 Felix Zielcke <fzielcke@z-51.de>
4338
4339 Fix the generation of the man page.
4340
4341 * util/pc/i386/grub-install.in: Source
4342 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4343
2c55dbc0
RM
43442009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4345
4346 Large file support for grub-mkisofs.
4347
4348 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
4349 * util/mkisofs/mkisofs.c (next_extent, last_extent)
4350 (session_start): Upgrade type to `uint64_t'. Update all users.
4351 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
4352 (struct directory_entry): Upgrade type of `starting_block' and
4353 `size' to `uint64_t'. Update all users.
4354 (struct deferred): Remove unused structure.
4355 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
4356 Update all users.
4357 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
4358 file is larger than `UINT32_MAX'.
4359 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
4360 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
4361 return value.
4362 (struct deferred_write): Upgrade type of `extent' and `size' to
4363 `uint64_t'. Update all users.
4364 (last_extent_written): Upgrade type to `uint64_t'. Update all
4365 users.
4366 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
4367 Update all users. Upgrade type of `remain' to `int64_t' and
4368 `use' to `size_t'. Use error() to handle fread() errors.
4369 (write_files): Rely on write_one_file() rather than calling
4370 xfwrite() directly.
4371
6a9cead5
FZ
43722009-11-09 Felix Zielcke <fzielcke@z-51.de>
4373
4374 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
4375
4825d790
RM
43762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4377
4378 * util/mkisofs/fnmatch.c: Remove.
4379 * util/mkisofs/getopt1.c: Likewise.
4380 * util/mkisofs/getopt.c: Likewise.
4381 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
4382 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
4383 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
4384 `gnulib/getopt1.c' and `gnulib/getopt.c'.
4385 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
4386
4387 * configure.ac: Detect `mingw32msvc' host_os.
4388 Check for lstat(), getuid() and getgid().
4389
4390 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
4391 instances of `u_char' with `uint8_t'.
4392
4393 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
4394 [!HAVE_GETUID] (getuid): New function (stub).
4395 [!HAVE_GETGID] (getgid): Likewise.
4396 [!HAVE_LSTAT] (lstat): Likewise.
4397 [!S_IROTH] (S_IROTH): New macro (dummy).
4398 [!S_IRGRP] (S_IRGRP): Likewise.
4399
84b860d8
RM
44002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4401
4402 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
4403 conditional expression).
4404
66e9b712
RM
44052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4406
4407 Import from Gnulib.
4408
4409 * gnulib/fnmatch.c: New file.
4410 * gnulib/fnmatch.h: Likewise.
4411 * gnulib/fnmatch_loop.c: Likewise.
4412 * gnulib/getopt.c: Likewise.
4413 * gnulib/getopt.h: Likewise.
4414 * gnulib/getopt1.c: Likewise.
4415 * gnulib/getopt_int.h: Likewise.
4416 * gnulib/gettext.h: Likewise.
4417
34f4a5b0
RM
44182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4419
4420 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
4421 * normal/handler.c (read_handler_list): Likewise.
4422
ac451143
RM
44232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4424
4425 Misc cleanup.
4426
4427 * kern/command.c (grub_register_command_prio): Use
4428 grub_zalloc() instead of explicitly zeroing data.
4429 * kern/list.c: Include `<grub/mm.h>'.
4430 (grub_named_list_find): Replace `0' with `NULL'.
4431 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
4432 (fs_module_list): Change type to `grub_named_list_t'. Update all
4433 users.
4434 * normal/dyncmd.c (read_command_list): Add space between function
4435 call and parenthesis.
4436 * normal/handler.c (read_handler_list): Likewise.
4437
4089b167
RM
44382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4439
4440 * normal/auth.c (punishment_delay): Moved from here ...
4441 (grub_auth_strcmp): ... to here (inside function).
4442
325f5037
RM
44432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4444
4445 * include/grub/list.h (struct grub_named_list): Remove `const'
4446 qualifier from `name'.
4447 (struct grub_prio_list): Likewise.
4448
7aea29a3
RM
44492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4450
4451 * normal/auth.c: Include `<grub/time.h>'.
4452 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
4453
3fd6f044
RM
44542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4455
4456 * normal/auth.c (punishment_delay): New variable.
4457 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
4458 (grub_auth_check_authentication): Punish failed login attempts with
4459 an incremental (2^N) delay.
4460
a4cd68e4
RM
44612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4462
4463 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
4464 path with $(srcdir).
4465
7ad12f43
VS
44662009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4469
c1129f03
RM
44702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4471
4472 * util/i386/coreboot/grub-mkrescue.in: New file.
4473 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4474 variables.
4475
4476 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4477 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4478 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4479 requirements.
4480 * util/mkisofs/defaults.h: New file.
4481 * util/mkisofs/eltorito.c: Likewise.
4482 * util/mkisofs/exclude.h: Likewise.
4483 * util/mkisofs/fnmatch.c: Likewise.
4484 * util/mkisofs/getopt.c: Likewise.
4485 * util/mkisofs/getopt1.c: Likewise.
4486 * util/mkisofs/hash.c: Likewise.
4487 * util/mkisofs/include/fctldefs.h: Likewise.
4488 * util/mkisofs/include/mconfig.h: Likewise.
4489 * util/mkisofs/include/prototyp.h: Likewise.
4490 * util/mkisofs/include/statdefs.h: Likewise.
4491 * util/mkisofs/iso9660.h: Likewise.
4492 * util/mkisofs/joliet.c: Likewise.
4493 * util/mkisofs/match.c: Likewise.
4494 * util/mkisofs/match.h: Likewise.
4495 * util/mkisofs/mkisofs.c: Likewise.
4496 * util/mkisofs/mkisofs.h: Likewise.
4497 * util/mkisofs/multi.c: Likewise.
4498 * util/mkisofs/name.c: Likewise.
4499 * util/mkisofs/rock.c: Likewise.
4500 * util/mkisofs/tree.c: Likewise.
4501 * util/mkisofs/write.c: Likewise.
4502
ec8bb77d
VS
45032009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4506 being insecure.
4507
3716b12c
RM
45082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4509
4510 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4511 `grub-mkimage' (and use $0 when possible).
4512
b97b7b91
RM
45132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4514
4515 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4516 error message for excessively large memory map.
4517
04114812
RM
45182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4519
4520 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4521 executable bit.
4522
e4eb2373
RM
45232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4524
4525 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4526 message for coreboot users.
4527
c926e1d5 45282009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4529
4530 Fix build with GNU gold.
4531
4532 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4533 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4534 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4535 link addresses.
4536 * aclocal.m4: Likewise.
4537
86e5b1db 45382009-11-04 Felix Zielcke <fzielcke@z-51.de>
4539
4540 * configure.ac (AC_PREREQ): Bump to 2.59d.
4541 * INSTALL: Make it more clear when Autoconf and Ruby are
4542 needed and when to run `./autogen.sh'.
4543
246cd78f 45442009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4545
4546 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4547 OSes.
4548
4f9dfb37 45492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4550
4551 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4552
b82bd5e1 45532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4554
4555 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4556 giving it to GNU Mach.
4557
ff1a9bca 45582009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4559
4560 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4561 GNU partition number to get internal GRUB partition number.
4562
61697d9c 45632009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4564
4565 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4566 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4567
a50569e1 45682009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4569
4570 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4571 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4572 case.
4573
5b153867 45742009-11-01 Felix Zielcke <fzielcke@z-51.de>
4575
4576 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4577
d9e2cd70 45782009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4579
4580 Fix build problem.
4581
4582 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4583 `-isystem=$(srcdir)/include'.
4584
805111a4 45852009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4586
4587 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4588 checked (grub-install doesn't currently rely on it).
4589
fa6e945f 45902009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4591
4592 Revert SVN r2660.
4593
4594 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4595 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4596 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4597 * conf/i386-ieee1275.rmk: Likewise.
4598 * conf/i386-pc.rmk: Likewise.
4599 * conf/powerpc-ieee1275.rmk: Likewise.
4600 * conf/sparc64-ieee1275.rmk: Likewise.
4601 * conf/x86_64-efi.rmk: Likewise.
4602
cee15086 46032009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4604
4605 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4606
95b9239e 46072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4608
4609 * include/grub/misc.h: Stop checking for APPLE_CC.
4610
2ed19dfd 46112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4612
4613 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4614 doesn't cause an infinite call loop.
4615
fdcdde19 46162009-10-28 Felix Zielcke <fzielcke@z-51.de>
4617
4618 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4619 strings.
4620
cefabfe1 46212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4622
4623 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4624 variable.
4625 * Makefile.in: Likewise.
4626
ed96ab6d 46272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4628
4629 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4630
0579b753 46312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4632
4633 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4634
478df409 46352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4636
4637 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
4638
083d1679 46392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4640
4641 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
4642 from here ...
4643 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
4644
5947ae32 46452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4646
4647 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
4648 in $(MAKEINFO) invocation. This makes it clear in output that
4649 errors are being ignored.
4650
94180ff6 46512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4652
4653 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
4654 from here ...
4655 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4656 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4657 * conf/i386-ieee1275.rmk: Likewise.
4658 * conf/i386-pc.rmk: Likewise.
4659 * conf/powerpc-ieee1275.rmk: Likewise.
4660 * conf/sparc64-ieee1275.rmk: Likewise.
4661 * conf/x86_64-efi.rmk: Likewise.
4662
9031b03a 46632009-10-26 Colin Watson <cjwatson@ubuntu.com>
4664
4665 * util/grub-editenv.c (main): If only a command is given, use
4666 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4667 (usage): FILENAME is now optional and has a default.
4668
e4f6809b 46692009-10-26 Colin Watson <cjwatson@ubuntu.com>
4670
4671 Improve grub-mkconfig performance when there are several menu
4672 entries on a single filesystem.
4673
4674 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4675 prepare_grub_to_access_device.
4676 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4677 * util/grub.d/30_os-prober.in: Likewise.
4678
67937d4d 46792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4680
4681 * util/grub.d/10_freebsd.in: Remove.
4682 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4683 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4684
ee3756cc 46852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4686
5c35048e 4687 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4688
4dea1c6f 46892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4690
4691 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4692 grub_util_error() call.
4693
042484d7 46942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4695
4696 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4697 `reserved_first_sector' member.
4698 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4699 `reserved_first_sector' to 1.
4700 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4701 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4702 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4703 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4704 filesystems which begin at first sector.
4705 (options): New option --skip-fs-probe.
4706 (main): Handle --skip-fs-probe and pass it to setup().
4707
d64448a7 47082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4709
4710 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4711 (memset): Fix function prototype.
4712
508d42ec 47132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
47142009-10-25 Vasily Averin <vvs@parallels.com>
4715
4716 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
4717 `dirent.direntlen == 0'.
4718
b240e30c 47192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4720
4721 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
4722 `cpio'.
4723 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
4724
346e7fbe 47252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4726
4727 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
4728 `__trampoline_setup' and `__ucmpdi2'.
4729 * include/grub/powerpc/libgcc.h: Only export symbols for functions
4730 that libgcc provides.
4731
cdb308b0 47322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4733
4734 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
4735 * include/grub/sparc64/libgcc.h (memset): Likewise.
4736 * include/grub/misc.h (memset, memcmp): New function prototypes.
4737
fb26abc2 47382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4739
4740 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
4741 `cpio'.
4742 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
4743
f6693890 47442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4745
4746 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
4747 * docs/grub.cfg: Compensate for recent change in multiboot
4748 loader (since 2009-08-14 it won't pass filename to payload).
4749 * util/grub.d/10_hurd.in: Likewise.
4750
0933cdc0 47512009-10-21 Felix Zielcke <fzielcke@z-51.de>
4752
4753 * config.guess: Update to latest version from config git
4754 repository.
4755 * config.sub: Likewise.
4756
3b2fe8c2 47572009-10-20 Robert Millan <rmh.grub@aybabtu.com>
4758
4759 Fix build on sparc64.
4760
4761 * configure.ac: Perform checks for libgcc symbols before
4762 adding `-nostdlib' to LDFLAGS.
4763
46695a62 47642009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 Let user specify OpenBSD root device.
4767
4768 * loader/i386/bsd.c (openbsd_root): New variable.
4769 (openbsd_opts): New option 'root'.
4770 (OPENBSD_ROOT_ARG): New macro.
4771 (grub_openbsd_boot): Use 'openbsd_root'.
4772 (grub_cmd_openbsd): Fill 'openbsd_root'.
4773
d2b6b7fc 47742009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4775
4776 * NEWS: Misc adjustments.
4777
421bd7ac 47782009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
4781
f1d29d87 47822009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4783
4784 * configure.ac: Bump version to 1.97.
4785
6f3cd880 47862009-10-16 Colin Watson <cjwatson@ubuntu.com>
4787
4788 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
4789 -mno-3dnow on x86 architectures. Some toolchains enable these
4790 features by default, but they rely on registers that aren't enabled
4791 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
4792
035f7122 47932009-10-15 Robert Millan <rmh.grub@aybabtu.com>
4794
4795 Make entry text a bit more readable.
4796
4797 * util/grub.d/10_linux.in: Add `with' before `Linux'.
4798
44998e58 47992009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
4802
cd2851b3 48032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
4806 operations.
4807
c6f3b249 48082009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * configure.ac: Add missing dollar.
4811
6b5886ba 48122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
4815
4816 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
4817 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
4818 exports.
4819 * include/grub/sparc64/libgcc.h: Likewise. Use
4820 preprocessor conditionals.
4821
e9d66f6d 48222009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4823
4824 * conf/common.rmk (grub-dumpbios): Remove rule.
4825 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
4826 * util/grub-dumpbios.in: Remove file.
4827
9155bc17 48282009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4829
4830 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
4831 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
4832
4833 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
4834 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
4835 users.
4836
4837 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
4838 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
4839 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
4840 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
4841 users.
4842
bf7f7a18 48432009-10-12 Robert Millan <rmh.grub@aybabtu.com>
4844
4845 * term/tparm.c: Switch to GPLv3.
4846
86564c26 48472009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4848
4849 * include/grub/i386/cpuid.h: Add header protection.
4850
5c936493 48512009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4852
4853 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4854
4855 * include/grub/i386/cpuid.h: New file.
4856 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
4857 (has_longmode): Rename to ...
4858 (grub_cpuid_has_longmode): ... this. Update all users. Remove
4859 `static' attribute.
4860 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
4861 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
4862 on a CPU that doesn't implement AMD64 instruction set.
4863
186e7cf2 48642009-10-06 Colin Watson <cjwatson@ubuntu.com>
4865
4866 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
4867 that version.texi is rebuilt on version number changes.
4868
83b65c4a 48692009-10-06 Colin Watson <cjwatson@ubuntu.com>
4870
4871 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
4872 Fixes bug #27602.
4873
d244281c 48742009-10-06 Colin Watson <cjwatson@ubuntu.com>
4875
4876 * util/i386/pc/grub-install.in: Source
4877 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
4878 that the --grub-probe option will work.
4879 * util/sparc64/ieee1275/grub-install.in: Likewise.
4880
da25306d 48812009-10-05 Robert Millan <rmh.grub@aybabtu.com>
4882
4883 * configure.ac: Bump version to 1.97~beta4.
4884
e8ee83c0 48852009-10-03 Robert Millan <rmh.grub@aybabtu.com>
4886
4887 Resync grub-mkdevicemap in x86_64-efi.
4888
4889 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
4890 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
4891 `util/devicemap.c'.
4892
50dcabcf 48932009-10-01 Colin Watson <cjwatson@ubuntu.com>
4894
4895 * util/grub-editenv.c (create_envblk_file): Write new block with a
4896 .new suffix and then rename it into place, to ensure atomic
4897 creation.
4898
0e51c3a7 48992009-09-28 Robert Millan <rmh.grub@aybabtu.com>
4900
4901 Do not automatically install headers.
4902
4903 * Makefile.in (include_DATA): Remove. Update all users.
4904
31299a95 49052009-09-26 Robert Millan <rmh.grub@aybabtu.com>
4906
4907 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
4908 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
4909
4910 * util/osdetect.lua: Remove.
4911 * script/lua/lauxlib.c: Likewise.
4912 * script/lua/ldebug.c: Likewise.
4913 * script/lua/grub_main.c: Likewise.
4914 * script/lua/lauxlib.h: Likewise.
4915 * script/lua/ldebug.h: Likewise.
4916 * script/lua/ltablib.c: Likewise.
4917 * script/lua/liolib.c: Likewise.
4918 * script/lua/lstrlib.c: Likewise.
4919 * script/lua/lualib.h: Likewise.
4920 * script/lua/ldo.c: Likewise.
4921 * script/lua/ldump.c: Likewise.
4922 * script/lua/ldo.h: Likewise.
4923 * script/lua/loslib.c: Likewise.
4924 * script/lua/lundump.c: Likewise.
4925 * script/lua/grub_lib.c: Likewise.
4926 * script/lua/ldblib.c: Likewise.
4927 * script/lua/lundump.h: Likewise.
4928 * script/lua/lmem.c: Likewise.
4929 * script/lua/grub_lib.h: Likewise.
4930 * script/lua/lmathlib.c: Likewise.
4931 * script/lua/lstate.c: Likewise.
4932 * script/lua/ltm.c: Likewise.
4933 * script/lua/lvm.c: Likewise.
4934 * script/lua/lmem.h: Likewise.
4935 * script/lua/lstate.h: Likewise.
4936 * script/lua/ltm.h: Likewise.
4937 * script/lua/ltable.c: Likewise.
4938 * script/lua/lvm.h: Likewise.
4939 * script/lua/llex.c: Likewise.
4940 * script/lua/lgc.c: Likewise.
4941 * script/lua/grub_lua.h: Likewise.
4942 * script/lua/loadlib.c: Likewise.
4943 * script/lua/lfunc.c: Likewise.
4944 * script/lua/lopcodes.c: Likewise.
4945 * script/lua/lparser.c: Likewise.
4946 * script/lua/ltable.h: Likewise.
4947 * script/lua/llex.h: Likewise.
4948 * script/lua/lgc.h: Likewise.
4949 * script/lua/lfunc.h: Likewise.
4950 * script/lua/lbaselib.c: Likewise.
4951 * script/lua/lopcodes.h: Likewise.
4952 * script/lua/lparser.h: Likewise.
4953 * script/lua/lzio.c: Likewise.
4954 * script/lua/linit.c: Likewise.
4955 * script/lua/lobject.c: Likewise.
4956 * script/lua/llimits.h: Likewise.
4957 * script/lua/lstring.c: Likewise.
4958 * script/lua/lzio.h: Likewise.
4959 * script/lua/lapi.c: Likewise.
4960 * script/lua/lcode.c: Likewise.
4961 * script/lua/lua.h: Likewise.
4962 * script/lua/lobject.h: Likewise.
4963 * script/lua/lstring.h: Likewise.
4964 * script/lua/lapi.h: Likewise.
4965 * script/lua/lcode.h: Likewise.
4966 * script/lua/luaconf.h: Likewise.
4967
cb8a2c38 49682009-09-26 Colin Watson <cjwatson@ubuntu.com>
4969
4970 * docs/grub.texi (Command-line and menu entry commands): Document
4971 date and echo commands.
4972
6b9b6276 49732009-09-24 Pavel Roskin <proski@gnu.org>
4974
4975 * include/grub/kernel.h (struct grub_module_header): Remove
4976 `grub_module_header_types'. Make `type' unsigned. Make `size'
4977 32-bit on all platforms.
4978 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
4979 8-bit field. Use grub_host_to_target32() for `size'.
4980 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
4981 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
4982 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
4983
4e5a02a7 49842009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4985
4986 Fix "lost keypress" bug in at_keyboard.
4987
4988 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
4989 Checks for readyness of input buffer (without flushing it).
4990 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
4991 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
4992
c6dcedf6 49932009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4994
4995 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
4996 size check within GRUB_MACHINE_PCBIOS section.
4997
74c958b1 49982009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4999
5000 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5001 return value.
5002 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5003 KEYBOARD_ISREADY check.
5004 (grub_at_keyboard_checkkey): Rename to ...
5005 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5006 Remove gratuitous cast.
5007
ff420223 50082009-09-23 Colin Watson <cjwatson@ubuntu.com>
5009
5010 * configure.ac: Call AC_PROG_MKDIR_P.
5011 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5012 version.texi in $(builddir) rather than $(srcdir).
5013 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5014 to makeinfo's @include search path.
5015
d96875df 50162009-09-23 Felix Zielcke <fzielcke@z-51.de>
5017
5018 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5019
9b3f8365 50202009-09-23 Felix Zielcke <fzielcke@z-51.de>
5021
5022 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5023 for `*.dpkg-new'.
5024
c44c90db 50252009-09-21 Colin Watson <cjwatson@ubuntu.com>
5026
5027 Build info documentation. Some code borrowed from Automake.
5028
5029 * configure.ac: Check for makeinfo.
5030 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5031 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5032 docs/version.texi.
5033 (MOSTLYCLEANFILES): Add vti.tmp.
5034 (docs/version.texi, docs/stamp-vti): Update automatically.
5035 (docs/grub.info): Build info documentation. Use --force and ignore
5036 errors for now.
5037 (all-local): Add $(INFOS).
5038 (install-local): Install info files.
5039 (uninstall): Uninstall info files.
5040 * docs/version.texi: Remove from revision control. This file is
5041 automatically generated on build now.
5042 * gendistlist.sh: Add `*.info'.
5043
e0b37bb5 50442009-09-21 Felix Zielcke <fzielcke@z-51.de>
5045
5046 * kern/term.c: Fix indentation.
5047
5a78865b 50482009-09-21 Felix Zielcke <fzielcke@z-51.de>
5049
5050 * util/hostdisk.c: Fix a comment.
5051
dace7e8a 50522009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5053
5054 Fix regression introduced in r2539.
5055
5056 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5057 to 0xA1.
5058
a83d079b 50592009-09-19 Colin Watson <cjwatson@ubuntu.com>
5060
5061 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5062 os-prober. Under normal operation, it does not print anything to
5063 stderr; if it does, we need to debug it, and throwing away stderr
5064 makes that excessively difficult.
a83d079b 5065
be94a509 50662009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5069
63f745e8 50702009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5071
5072 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5073 AC_LANG_PROGRAM from autoconf.
5074 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5075 prototypes (fixes warning).
5076
5077 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5078 `--disable-werror' was used.
5079
bbb2a70f 50802009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5081
5082 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5083 uninitialized `lastaddr'.
5084
77c24f1d 50852009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5086
0f0b8c87 5087 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5088
07197f23 50892009-09-14 Colin Watson <cjwatson@ubuntu.com>
5090
5091 * commands/test.c (get_fileinfo): Return immediately if
5092 grub_fs_probe fails.
5093
dabf1798 50942009-09-14 José Martínez <xosemp@gmail.com>
5095
5096 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5097
d52109a7 50982009-09-14 Colin Watson <cjwatson@ubuntu.com>
5099
5100 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5101 output.
5102
56532179 51032009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5104
5105 * configure.ac: Remove --enable-grub-pe2elf. Only build
5106 grub-pe2elf when needed by the build system itself.
5107 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5108
8ef070f5 51092009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5110
5111 * configure.ac: Bump version to 1.97~beta3.
5112 * docs/version.texi: Likewise.
5113
61229557 51142009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5115
5116 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5117 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5118 from here ...
5119 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5120 (grub_linux_setup_video): ... to here (with some adjustments).
5121
5c9f8d84 51222009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5123
5124 Fix memory corruption issue (spotted by Colin Watson).
5125
5126 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5127 causing returned size to be stored in an incorrect memory location.
5128 Fix use of uninitialized value when storing the returned size.
5129
e8f5d6e9 51302009-09-12 Yves Blusseau <blusseau@zetam.org>
5131
5132 Change clean rules to properly remove files
5133
5134 * genmk.rb: add new clean rules
5135 * Makefile.in (clean): add the new targets
5136 (mostlyclean): likewise
5137
cda2a409 51382009-09-11 Colin Watson <cjwatson@ubuntu.com>
5139
5140 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5141 to grub_uint64_t.
5142 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5143 non-resident files.
5144
86695375 51452009-09-11 Colin Watson <cjwatson@ubuntu.com>
5146
5147 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5148 part of bug #27349.
5149
8aa1541a 51502009-09-10 Felix Zielcke <fzielcke@z-51.de>
5151
5152 * util/grub-mkconfig.in: Make the created config mode 400 and
5153 print a warning if it fails.
5154
48d9bb0a 51552009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5156
5157 * util/grub.d/40_custom.in: Ask user to type custom entries below
5158 comment, rather than below 'exec tail' line.
5159
3b0521be 51602009-09-10 Colin Watson <cjwatson@ubuntu.com>
5161
5162 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5163 visible in grub.cfg.
5164
50051d55 51652009-09-10 Colin Watson <cjwatson@ubuntu.com>
5166
5167 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5168 file.
5169
c0d34387 51702009-09-10 Felix Zielcke <fzielcke@z-51.de>
5171
5172 * docs/grub.cfg: Add an example menu entry for memtest86+.
5173
80a608f3 51742009-09-09 Felix Zielcke <fzielcke@z-51.de>
5175
a2094832 5176 * config.guess: Update to latest version from config git.
80a608f3 5177 * config.sub: Likewise.
5178
99423078 51792009-09-08 Colin Watson <cjwatson@ubuntu.com>
5180
5181 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
5182 unknown-command case. Fixes bug #27320.
5183
44454e4c 51842009-09-08 Felix Zielcke <fzielcke@z-51.de>
5185
5186 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
5187 `help' if the command exists.
5188
e30d87ad 51892009-09-06 Robert Millan <rmh.grub@aybabtu.com>
5190
5191 * INSTALL: Require GCC 4.1.3 or later.
5192
9a86f1ec 51932009-09-06 Yves Blusseau <blusseau@zetam.org>
5194
5195 * Makefile.in (RMKFILES): add i386-qemu.rmk
5196 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
5197 $(srcdir)/stamp-h.in
5198
7f26d466 51992009-09-05 Robert Millan <rmh.grub@aybabtu.com>
5200
5201 * util/grub-probe.c (probe): Comment out buggy codepath, which
5202 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
5203 should be re-enabled after 1.97.
5204
3a613259 52052009-09-05 Felix Zielcke <fzielcke@z-51.de>
5206
5207 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
5208 find searches for.
5209
197f76c7 52102009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
5213 unnecessary calls to grub_error.
5214
70ba68ce 52152009-09-04 Colin Watson <cjwatson@ubuntu.com>
5216
5217 * NEWS: Mention `keystatus' and Unicode fonts.
5218
4ff0d7a4 52192009-09-04 Robert Millan <rmh.grub@aybabtu.com>
5220
5221 * configure.ac: Bump version to 1.97~beta2.
5222 * docs/version.texi: Likewise.
5223
77c55a87 52242009-09-03 Colin Watson <cjwatson@ubuntu.com>
5225
5226 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
5227 containing unwind information in some cases where it previously did
5228 not. Use -fno-dwarf2-cfi-asm if available to restore the old
5229 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
5230 discussion.
5231
f79572cd 52322009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
5233
5234 Embedding loadenv module into grub-emu
5235
5236 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
5237 commands/loadenv.c
5238 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
5239 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
5240 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
5241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
5242 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
5243 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
5244
93a81088 52452009-09-03 Magnus Granberg <zorry@ume.nu>
5246
5247 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
5248 include -fPIE in the default specs.
5249 * configure.ac: Check if pie_possible is yes and add -fno-PIE
5250 to TARGET_CFLAGS.
5251
160034b2 52522009-09-03 Felix Zielcke <fzielcke@z-51.de>
5253
5254 * INSTALL: Note that GNU Bison 2.3 or later is required.
5255
087c07c4 52562009-09-03 Colin Watson <cjwatson@ubuntu.com>
5257
5258 * kern/i386/pc/startup.S: Fix typo.
5259
cbf978c0 52602009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
5263 according to GCS.
5264
52652009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 5266
5267 * docs/grub.texi (Naming convention): Describe one-based partition
5268 numbering.
5269 (Device syntax): Likewise.
5270 (File name syntax): Likewise.
5271 (Block list syntax): Likewise.
5272 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
5273 menu.lst.
5274 (File name syntax): Likewise.
5275 (Command-line and menu entry commands): Document acpi, blocklist,
5276 crc, export, insmod, keystatus, ls, set, and unset commands.
5277
f3e8cdfd 52782009-09-02 Colin Watson <cjwatson@ubuntu.com>
5279
5280 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
5281 to avoid implying that only one of --shift, --ctrl, or --alt may be
5282 used.
5283
c0bc232b 52842009-09-02 Colin Watson <cjwatson@ubuntu.com>
5285
5286 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
5287 rather than comparing against S_IFREG, which will almost never work.
5288
aa0f752d 52892009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
5292 (write_blocklists): Likewise.
5293
ecb3166a 52942009-09-01 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * script/lua/grub_lua.h (fputs): Supply a format string as the first
5297 argument to grub_printf.
5298
c403a125 52992009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 5300
5301 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 5302 non GNU test.
31aba781 5303
b5e7312c 53042009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * kern/file.c (grub_file_read): Spelling fix
5307
fe00f472 53082009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
5311 loading of headers in some cases.
5312
cc55302e 53132009-08-30 Robert Millan <rmh.grub@aybabtu.com>
5314
5315 * configure.ac: Bump version to 1.97~beta1.
5316 * docs/version.texi: Likewise.
5317
5c90cdd2 53182009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 5319
5320 * include/grub/i386/xnu.h: Add license header.
5321 include grub/err.h explicitly.
5322
c90edae4 53232009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5324
5325 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
5326 to `ufs' in the vfs.root.mountfrom kernel parameter.
5327
d8888b5c 53282009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5329
5330 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
5331
5332 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
5333 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
5334
5335 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
5336 `ARRAY_SIZE' macro.
5337
6f07b921 53382009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * kern/file.c (grub_file_read): Check offset.
5341 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
5342 * fs/jfs.c (grub_jfs_read_file): Likewise.
5343 * fs/ntfs.c (grub_ntfs_read): Likewise.
5344 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
5345 * fs/minix.c (grub_minix_read_file): Correct offset check.
5346 * fs/ufs.c (grub_ufs_read_file): Likewise.
5347
b4f34077 53482009-08-28 Colin Watson <cjwatson@ubuntu.com>
5349
5350 * term/i386/pc/console.c (bios_data_area): Cast
5351 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
5352
e7c69859 53532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 1-bit optimised blitters.
5356
5357 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
5358 prototype.
5359 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5360 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5361 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5362 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5363 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5364 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5365 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
5366 function.
5367 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5368 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5369 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5370 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5371 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5372 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5373 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
5374 when possible.
5375 * video/video.c (grub_video_get_blit_format): Return
5376 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
5377
a57da43f 53782009-08-28 Colin Watson <cjwatson@ubuntu.com>
5379
5380 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
5381 the first argument to grub_printf.
5382
4cbe67e5 53832009-08-28 Colin Watson <cjwatson@ubuntu.com>
53842009-08-28 Robert Millan <rmh.grub@aybabtu.com>
5385
5386 Add `getkeystatus' terminal method. Add a new `keystatus' command
5387 to query it.
5388
5389 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
5390 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
5391 modifier key bitmasks.
5392 (struct grub_term_input): Add `getkeystatus' member.
5393 (grub_getkeystatus): Add prototype.
5394 * kern/term.c (grub_getkeystatus): New function.
5395
5396 * include/grub/i386/pc/memory.h
5397 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
5398 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
5399 Data Area layout.
5400 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
5401 (grub_console_term_input): Set `getkeystatus' member.
5402 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
5403 constants.
5404 (grub_usb_keyboard_getreport): Likewise.
5405 (grub_usb_keyboard_checkkey): Likewise.
5406 (grub_usb_keyboard_getkeystatus): New function.
5407 (grub_usb_keyboard_term): Set `getkeystatus' member.
5408
5409 * commands/keystatus.c: New file.
5410 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
5411 (keystatus_mod_SOURCES): New variable.
5412 (keystatus_mod_CFLAGS): Likewise.
5413 (keystatus_mod_LDFLAGS): Likewise.
5414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
5415 commands/keystatus.c.
5416 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5417 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5418 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5420 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5421 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 5422
6e2a9085 54232009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 Split befs.mod and afs.mod into *_be.mod and *.mod
5426
5427 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
5428 (grub_fstest_SOURCES): Likewise.
5429 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
5430 (afs_be_mod_SOURCES): New variable.
5431 (afs_be_mod_CFLAGS): Likewise.
5432 (afs_be_mod_LDFLAGS): Likewise.
5433 (befs_be_mod_SOURCES): Likewise.
5434 (befs_be_mod_CFLAGS): Likewise.
5435 (befs_be_mod_LDFLAGS): Likewise.
5436 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
5437 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5438 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5439 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5440 (grub_emu_SOURCES): Likewise.
5441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5442 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5443 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5444 * fs/afs_be.c: New file.
5445 * fs/befs_be.c: New file.
5446 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
5447 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
5448 (U16): Replaced with ...
5449 (grub_afs_to_cpu16): ...this. All users updated.
5450 (U32): Replaced with ...
5451 (grub_afs_to_cpu32): ...this. All users updated.
5452 (U64): Replaced with ...
5453 (grub_afs_to_cpu64): ...this. All users updated.
5454 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
5455 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 5456 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 5457 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5458 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5459 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5460 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5461 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5462 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5463 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5464 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5465
32a71655 54662009-08-26 Bean <bean123ch@gmail.com>
5467
5468 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5469 64-bit number.
5470 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5471 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5472 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5473
552bf6c5 54742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 NetBSD memory map support.
5477
5478 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5479 (grub_netbsd_btinfo_mmap_header): New structure.
5480 (grub_netbsd_btinfo_mmap_entry): Likewise.
5481 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5482
1ae2078c 54832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 Enable bsd.mod on coreboot.
5486
5487 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5488 (bsd_mod_SOURCES): New variable.
5489 (bsd_mod_CFLAGS): Likewise.
5490 (bsd_mod_LDFLAGS): Likewise.
5491 (bsd_mod_ASFLAGS): Likewise.
5492 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5493 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5494
beefc598 54952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 Cleanup NetBSD root support.
5498
5499 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5500 grub_bsd_get_device.
5501 Fix typo.
5502
3b76e68b 55032009-08-25 Felix Zielcke <fzielcke@z-51.de>
5504
5505 * util/grub.d/00_header.in: Move check for the video backend of
5506 gfxterm from here ...
5507 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5508 a suitable video backend.
5509
aea664ea 55102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Fix breakage in grub-setup.
5513
5514 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5515 "msdos_partition_map".
5516
ff747d50 55172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 Fix breakage in normal/auth.c.
5520
5521 * normal/auth.c (grub_iswordseparator): New function.
5522
e7e1f93f 55232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 Authentication support.
5526
5527 * commands/password.c: New file.
5528 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5529 (password_mod_SOURCES): New variable.
5530 (password_mod_CFLAGS): Likewise.
5531 (password_mod_LDFLAGS): Likewise.
5532 (normal_mod_SOURCES): Add normal/auth.c.
5533 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5534 normal/auth.c.
5535 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5536 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5537 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5539 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5540 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5541 * include/grub/auth.h: New file.
5542 * include/grub/err.h (grub_err_t): New enum value
5543 GRUB_ERR_ACCESS_DENIED.
5544 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5545 'users'.
5546 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5547 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5548 users updated.
5549 * normal/auth.c: New file.
5550 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5551 (grub_cmdline_run): Don't allow to go to command line without
5552 authentication.
5553 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5554 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5555 menuentry without superuser rights.
5556 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5557 user isn't a superuser.
5558
70f1161d 55592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 Save space by inlining misc.c functions.
5562
5563 * kern/misc.c (grub_iswordseparator): Made static.
5564 * kern/misc.c (grub_strcat): Moved from here ...
5565 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5566 * kern/misc.c (grub_strncat): Moved from here ...
5567 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5568 * kern/misc.c (grub_strcasecmp): Moved from here ...
5569 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5570 * kern/misc.c (grub_strncasecmp): Moved from here ...
5571 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5572 * kern/misc.c (grub_isalpha): Moved from here ...
5573 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5574 * kern/misc.c (grub_isdigit): Moved from here ...
5575 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5576 * kern/misc.c (grub_isgraph): Moved from here ...
5577 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5578 * kern/misc.c (grub_tolower): Moved from here ...
5579 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5580
48e40bff 55812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * script/sh/function.c (grub_script_function_find): Cut error message
5584 not to flood terminal.
5585 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5586 limit.
5587 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5588
c385bfc3 55892009-08-24 Colin Watson <cjwatson@ubuntu.com>
5590
5591 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5592 `report' grub_uint8_t *.
5593 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5594 Use a 50-millisecond timeout rather than just repeating
5595 grub_usb_keyboard_getreport 50 times.
5596 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5597
2d21e3e8 55982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 Rename *_partition_map to part_*
5601
5602 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5603 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5604 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5605 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5606 All users updated.
5607 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5608 All users updated.
5609 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5610 * util/grub-probe.c (probe_partmap): Don't transform partition name
5611 to get module name.
5612
dd103c4e 56132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 Fix OpenBSD and NetBSD support.
5616
5617 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5618 memory address conflict.
5619 (OPENBSD_MMAP_ACPI): New definition.
5620 (OPENBSD_MMAP_NVS): Likewise.
5621 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5622 and OPENBSD_MMAP_NVS.
5623 Add memory map terminator
5624 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 5625 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 5626
16c84d74 56272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Let user specify NetBSD root device.
5630
5631 * loader/i386/bsd.c (netbsd_root): New variable.
5632 (netbsd_opts): New option 'root'.
5633 (NETBSD_ROOT_ARG): New macro.
5634 (grub_netbsd_boot): Use 'netbsd_root'.
5635 (grub_bsd_unload): Free 'netbsd_root'.
5636 (grub_cmd_netbsd): Fill 'netbsd_root'.
5637
adb29902 56382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Support for 64-bit NetBSD.
5641
5642 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
5643 point when booting non-FreeBSD.
5644
f5ae9f74 56452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Support --no-smp and --no-acpi for NetBSD.
5648
5649 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
5650 (NETBSD_AB_NOACPI): Likewise.
5651 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
5652 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
5653
de74f136 56542009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5657 errors.
5658 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5659 errors. Call grub_error when needed.
5660
e9a925da 56612009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * commands/search.c (search_fs): Try searching without autoload first.
5664 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5665 filesystem module explicitly for faster booting.
5666
5174302b 56672009-08-23 Colin Watson <cjwatson@ubuntu.com>
5668
5669 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5670
c8c80635 56712009-08-23 Colin Watson <cjwatson@ubuntu.com>
5672
5673 * util/grub.d/30_os-prober.in: Disable os-prober if
5674 `GRUB_DISABLE_OS_PROBER' was set to true.
5675
71acf5e5 56762009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5677
5678 * partmap/pc.c: Rename to ...
5679 * partmap/msdos.c: ... this. Update all users.
5680 (grub_pc_partition_map): Rename to ...
5681 (grub_msdos_partition_map): ... this. Update all users.
5682
5683 * parttool/pcpart.c: Rename to ...
5684 * parttool/msdospart.c: ... this. Update all users.
5685
5686 * include/grub/pc_partition.h: Rename to ...
5687 * include/grub/msdos_partition.h: ... this. Update all users.
5688 (grub_pc_partition_bsd_entry): Rename to ...
5689 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5690 (grub_pc_partition_disk_label): Rename to ...
5691 (grub_msdos_partition_disk_label): ... this. Update all users.
5692 (grub_pc_partition_entry): Rename to ...
5693 (grub_msdos_partition_entry): ... this. Update all users.
5694 (grub_pc_partition_mbr): Rename to ...
5695 (grub_msdos_partition_mbr): ... this. Update all users.
5696 (grub_pc_partition): Rename to ...
5697 (grub_msdos_partition): ... this. Update all users.
5698 (grub_pc_partition_is_empty): Rename to ...
5699 (grub_msdos_partition_is_empty): ... this. Update all users.
5700 (grub_pc_partition_is_extended): Rename to ...
5701 (grub_msdos_partition_is_extended): ... this. Update all users.
5702 (grub_pc_partition_is_bsd): Rename to ...
5703 (grub_msdos_partition_is_bsd): ... this. Update all users.
5704
5705 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5706 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5707 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5708 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5709 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5710 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5711 (gpt_mod_LDFLAGS): Rename to ...
5712 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5713 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
5714 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
5715 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
5716 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
5717 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
5718 (part_gpt_mod_LDFLAGS): ... this.
5719 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
5720 `pcpart.mod' to `msdospart.mod'.
5721 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
5722 to ...
5723 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
5724 (msdospart_mod_LDFLAGS): ... this.
5725
c11fded5 57262009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
5729 (openbsd_opts): Likewise.
5730 (netbsd_opts): Likewise.
5731 (freebsd_flags): Added 0 terminator.
5732 (openbsd_flags): Likewise.
5733 (netbsd_flags): Likewise.
5734 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
5735 (grub_cmd_freebsd): Transformed into extended command.
5736 (grub_cmd_openbsd): Likewise.
5737 (grub_cmd_netbsd): Likewise.
5738 (cmd_freebsd): Changed type to grub_extcmd_t.
5739 (cmd_openbsd): Likewise.
5740 (cmd_netbsd): Likewise.
5741 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
5742 grub_cmd_openbsd as extended commands.
5743 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
5744 cmd_netbsd and cmd_openbsd
5745
11d1c769 57462009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
5749
7a9094e5 57502009-08-21 Pavel Roskin <proski@gnu.org>
5751
5496c37e 5752 * Makefile.in (install-local): When checking if a file is in the
5753 build directory, use "test -e" to detect symlinks.
5754
7a9094e5 5755 * Makefile.in (install-local): Remove all files in
5756 $(DESTDIR)$(pkglibdir) before installing new files there.
5757
e53cea11 57582009-08-18 Felix Zielcke <fzielcke@z-51.de>
5759
5760 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
5761 grub-mkelfimage.
5762
9aced544 57632009-08-18 Felix Zielcke <fzielcke@z-51.de>
5764
5765 * util/grub-mkconfig.in: Don't use gfxterm by default if not
5766 explicitly specified by the user.
5767
b7da6bab 57682009-08-18 Pavel Roskin <proski@gnu.org>
5769
5770 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
5771 grub_uint8_t pointer for data.
5772 * include/grub/fbutil.h (struct grub_video_fbblit_info):
5773 Likewise.
5774 * video/fb/fbutil.c: Remove unnecessary casts.
5775
19f1b335 57762009-08-17 Michal Suchanek <hramrach@centrum.cz>
5777
5778 VBE cleanup.
5779
5780 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
5781 (grub_vbe_set_video_mode): Save active mode info
5782 only after setting the mode.
5783 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
5784 second argument.
5785
2f467aa9 57862009-08-17 Michal Suchanek <hramrach@centrum.cz>
5787
5788 Rename variables for clarity.
5789
5790 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
5791 (active_vbe_mode_info): ... this. All users updated.
5792 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
5793 All users updated.
5794 (initial_mode): Rename to ...
5795 (initial_vbe_mode): ... this. All users updated.
5796 (mode_in_use): Rename to ..
5797 (vbe_mode_in_use): ... this. All users updated.
5798 (mode_list): Rename to ..
5799 (vbe_mode_list): ... this. All users updated.
5800 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
5801 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
5802 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
5803 'mode_list_size' to 'vbe_mode_list_size'.
5804 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
5805 'best_mode_info' to 'best_vbe_mode_info' and
5806 'best_mode' to 'best_vbe_mode'
5807
6025fcd7 58082009-08-17 Michal Suchanek <hramrach@centrum.cz>
5809
5810 Remove duplicate grub_video_fb_get_video_ptr.
5811
5812 * include/grub/fbutil.h (get_data_ptr): Rename to ...
5813 (grub_video_fb_get_video_ptr): ... this.
5814 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
5815 * video/fb/fbutil.c: Add comment about addressing.
5816 (get_data_ptr): Rename to ...
5817 (grub_video_fb_get_video_ptr): ... this. All users updated.
5818 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
5819
cc8c6faf 58202009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5821
5822 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
5823 grub_dprintf() that was just added.
5824
08aa61f0 58252009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5826
5827 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
5828 (DEFAULT_VIDEO_MODE): Remove macros.
5829 (grub_linux_boot): Remove assumption that Linux has FB support,
5830 and use "text" as default video mode.
5831
7cef4f75 58322009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
5835 grub_dprintf.
5836 * fs/fat.c (grub_fat_read_data): Likewise.
5837
e1f39873 58382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
5841 payload.
5842 (grub_module): Likewise.
5843
c166d79e 58442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
5847 mbi->cmdline but free playground.
5848
c60cee8e 58492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 Handle group offset on UFS1.
5852
5853 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5854 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
5855
c0d8b5d4 58562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 Split ufs.mod into ufs1.mod and ufs2.mod.
5859
5860 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
5861 (grub_fstest_SOURCES): Likewise.
5862 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
5863 (ufs_mod_SOURCES): Remove.
5864 (ufs_mod_CFLAGS): Likewise.
5865 (ufs_mod_LDFLAGS): Likewise.
5866 (ufs1_mod_SOURCES): New variable.
5867 (ufs1_mod_CFLAGS): Likewise.
5868 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 5869 (ufs2_mod_SOURCES): New variable.
5870 (ufs2_mod_CFLAGS): Likewise.
5871 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 5872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
5873 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5874 Likewise.
5875 (grub_emu_SOURCES): Likewise.
5876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5877 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5878 (grub_setup_SOURCES): Likewise.
5879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5880 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
5881 (grub_setup_SOURCES): Likewise.
5882 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5883 Likewise.
5884 * fs/ufs2.c: New file.
5885 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
5886
d3539132 58872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 Framebuffer split.
5890
5891 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
5892 subsystem at the end.
5893 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
5894 (video_fb_mod_SOURCES): New variable.
5895 (video_fb_mod_CFLAGS): Likewise.
5896 (video_fb_mod_LDFLAGS): Likewise.
5897 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
5898 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
5899 * video/i386/pc/vbeblit.c: Moved from here ...
5900 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
5901 * video/i386/pc/vbefill.c: Moved from here ...
5902 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
5903 * video/i386/pc/vbeutil.c: Moved from here ...
5904 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
5905 * include/grub/i386/pc/vbeblit.h: Moved from here ...
5906 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
5907 * include/grub/i386/pc/vbefill.h: Moved from here ...
5908 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
5909 * include/grub/i386/pc/vbeutil.h: Moved from here ...
5910 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
5911 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
5912 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
5913 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
5914 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
5915 (grub_video_adapter): Added 'get_info_and_fini'.
5916 (grub_video_get_info_and_fini): New prototype.
5917 (grub_video_set_mode): make modestring const char *.
5918 * loader/i386/linux.c (grub_linux_setup_video): Use
5919 grub_video_get_info_and_fini.
5920 (grub_linux_boot): Move modesetting just before booting.
5921 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
5922 grub_video_get_info_and_fini.
5923 * video/i386/pc/vbe.c: Moved framebuffer part ...
5924 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
5925 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
5926 grub_video_fbstd_colors and grub_video_fb_set_palette.
5927 (grub_video_vbe_init): Clear 'framebuffer' variable and use
5928 grub_video_fb_init.
5929 (grub_video_vbe_fini): Use grub_video_fb_fini.
5930 (grub_video_vbe_setup): Use framebuffer.render_target instead of
5931 render_target and use grub_video_fb_set_active_render_target and
5932 grub_video_fb_set_palette.
5933 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
5934 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
5935 (grub_video_vbe_adapter): Use framebuffer.
5936 * video/video.c (grub_video_get_info_and_fini): New function.
5937 (grub_video_set_mode): Make modestring const char *.
5938 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
5939 values are already initialised.
5940
d404ee56 59412009-08-14 Pavel Roskin <proski@gnu.org>
5942
5943 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
5944 ABS and APPLE_CC.
5945 * boot/i386/pc/diskboot.S: Likewise.
5946 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
5947 sectors allow compilation on MacOSX.
5948 * conf/i386-pc.rmk: Enable unconditional compilation of
5949 lnxboot.img.
5950
9a10df16 59512009-08-13 Colin Watson <cjwatson@ubuntu.com>
5952
5953 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
5954 * util/grub.d/00_header.in: Enter interruptible sleep if
5955 GRUB_HIDDEN_TIMEOUT is set.
5956
be3c9ca7 59572009-08-13 Yves Blusseau <blusseau@zetam.org>
5958
5959 * include/grub/symbol.h: Add the LOCAL macro.
5960 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
5961 starting with "L_".
5962
1f9e557e 59632009-08-13 Pavel Roskin <proski@gnu.org>
5964
9ca62843 5965 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
5966 any modern compilers we support.
5967
1f9e557e 5968 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
5969 Use local labels starting with "L_" so that Apple assembler
5970 knows they are local.
5971
81623db6 59722009-08-10 Robert Millan <rmh.grub@aybabtu.com>
5973
5974 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
5975 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
5976 (bsd_kernel_types): ... this enum.
5977
5978 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
5979 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
5980 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
5981
5982 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
5983 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
5984 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
5985 messages.
5986
f5d35e7a 59872009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5988
5989 * util/grub-dumpdevtree: Moved from here ...
5990 * util/i386/efi/grub-dumpdevtree: ... to here.
5991 (hexify): New function. Converts a string to its hex version.
5992 Generate hex versions of "efi" and "device-properties" by calling
5993 hexify() on the ASCII strings rather than by hardcoding numbers.
5994
d1e1d527 59952009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5996
5997 * fs/jfs.c: Update copyright year.
5998
1ebbe064 59992009-08-08 Felix Zielcke <fzielcke@z-51.de>
6000
6001 * util/grub.d/00_header.in: Fix a comment.
6002 * util/grub.d/10_linux.in: Likewise.
6003 * util/grub.d/10_windows.in: Likewise.
6004 * util/grub.d/10_hurd.in: Likewise.
6005
a78c8d24 60062009-08-08 Felix Zielcke <fzielcke@z-51.de>
6007
6008 * util/grub-mkconfig.in: Allow the user to specify the used font
6009 with GRUB_FONT.
6010
29a6b9e8 60112009-08-08 Pavel Roskin <proski@gnu.org>
6012
b5f16cc4 6013 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6014 available, xfs.mod needs it now.
6015
2f5cb827 6016 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6017 the "g" modifier in sed when the intention is to strip something
6018 once. This fixes comparison of kernels with multiple dashes.
6019
29a6b9e8 6020 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6021 on it. Add missing space before closing bracket. Fix
6022 misleading formatting.
6023
892a3d98 60242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6025
6026 * docs/grub.texi: Major overhaul. Remove all sections that are
6027 specific to GRUB Legacy, or mostly composed of Legacy-specific
6028 information.
6029
ed94253f 60302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6031
6032 * docs/version.texi: New file. Provides version information for
6033 grub.texi.
6034
126d6628 60352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6036
6037 * docs/grub.texi: Update CVS information to SVN.
6038 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6039
998b5aa9 60402009-08-07 Felix Zielcke <fzielcke@z-51.de>
6041
6042 * util/grub-mkconfig.in: Remove a wrong `fi'.
6043
818e094a 60442009-08-07 Felix Zielcke <fzielcke@z-51.de>
6045
6046 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6047 (grub_jfs_uuid): New function.
6048 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6049
b969c52f 60502009-08-07 Felix Zielcke <fzielcke@z-51.de>
6051
6052 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6053 of it to ...
6054 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6055 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6056
7a4894cc 60572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6058
6059 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6060 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6061 Update all users.
6062
6063 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6064 not just "vmlinu[zx]".
6065 Moved from here ...
6066 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6067 all users.
6068
6069 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6070 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6071 all users.
6072
4e2171f8 60732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6074
6075 * util/grub.d/10_freebsd.in: Use an absolute device path for
6076 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6077
6dcfcb32 60782009-08-06 Felix Zielcke <fzielcke@z-51.de>
6079
6080 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6081 handling of multiple abstraction modules.
6082
f56a8756 60832009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6084
6085 Fix a bug resulting in black screen when loading Linux using a
6086 packed video mode.
6087
6088 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6089 function.
6090
6091 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6092 (grub_vbe_bios_getset_dac_palette_width): New function.
6093 (grub_vbe_bios_get_dac_palette_width)
6094 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6095 grub_vbe_bios_getset_dac_palette_width()).
6096
6097 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6098 check for return status.
6099 (grub_vbe_get_video_mode_info): When getting information for a packed
6100 mode (<= 8 bpp), obtain DAC palette width using
6101 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6102 {red,green,blue}_mark_size.
6103
222671b2 61042009-08-04 Felix Zielcke <fzielcke@z-51.de>
6105
ecb1a6d9 6106 * commands/search.c (options): Fix help output to match actual code.
222671b2 6107
f84114f5 61082009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6111 of homegrown code.
6112
bd288a20 61132009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6114
6115 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6116 on XFS or ReiserFS.
6117
8aab5e25 61182009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 Support Apple partition map with sector size different from 512 bytes.
6121
6122 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6123 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6124 and 'apart.partmap_size'.
6125
6ad6258a 61262009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
61272009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6128
6129 Fix cpuid command.
6130
6131 * commands/i386/cpuid.c (options): New variable.
6132 (grub_cmd_cpuid): Return real error.
6133 (GRUB_MOD_INIT(cpuid)): Declare options.
6134
67459bc6 61352009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6138 valid.
6139
fbc6ab54 61402009-07-31 Bean <bean123ch@gmail.com>
6141
6142 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6143 log2_inode.
6144 (grub_fshelp_node): Move inode field to the end.
6145 (grub_xfs_data): Remove inode field.
6146 (grub_xfs_inode_block): Calculate inode size using sblock.
6147 (grub_xfs_inode_offset): Likewise.
6148 (grub_xfs_read_inode): Calculate inode size using sblock.
6149 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6150 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6151 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6152 to match inode size.
6153 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6154 not accessible when data is null.
6155 (grub_xfs_open): Likewise.
6156
f45d6cfc 61572009-07-31 Bean <bean123ch@gmail.com>
6158
6159 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6160 Don't change pv->disk if it's already set.
6161
6162 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6163 (grub_raid_register): ... here.
6164 (grub_raid_rescan): Removed.
6165
6166 * include/grub/raid.h (grub_raid_rescan): Removed.
6167
6168 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6169 (fstest): Replace grub_raid_rescan with module fini function followed
6170 by init function.
6171
6172 * util/grub-probe.c: Add include file <grub/raid.h>.
6173 (probe_raid_level): New function.
6174 (probe): Detect abstraction by walking the disk device, support two
6175 level of abstraction (LVM on RAID) when detecting partition map.
6176
24443b5a 61772009-07-31 Pavel Roskin <proski@gnu.org>
6178
6179 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
6180 to grub_zalloc(), it was erroneous.
6181 Reported by Bean <bean123ch@gmail.com>
6182
a275d9e7 61832009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 6186 embedding zone, not only the first one.
a275d9e7 6187
56c5a47f 61882009-07-29 Joe Auricchio <jauricchio@gmail.com>
6189
6190 * term/gfxterm.c (clear_char): New function.
6191 (grub_virtual_screen_setup): Use clear_char.
6192 (scroll_up): Likewise.
6193 (grub_virtual_screen_cls): Likewise.
6194
67bb323a 61952009-07-29 Felix Zielcke <fzielcke@z-51.de>
6196
6197 * util/deviceiter.c (get_acceleraid_disk_name): New static
6198 function.
6199 (grub_util_iterate_devices): Handle Accelraid devices.
6200 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
6201
388a7c75 62022009-07-28 Robert Millan <rmh.grub@aybabtu.com>
6203
6204 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
6205 separator for the suggested gfxpayload string (';' collides with the
6206 parser and needs escaping).
6207
3bb7abcf 62082009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
6211 Clear direction flag before jumping to OS.
6212 (grub_multiboot2_real_boot): Likewise.
6213
2ddd36d7 62142009-07-28 Felix Zielcke <fzielcke@z-51.de>
6215
6216 * util/i386/pc/grub-install: Fix parsing of --disk-module
6217 option.
6218
c521b62b 62192009-07-28 Felix Zielcke <fzielcke@z-51.de>
6220
6221 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
6222 when embedding.
6223
880e0a0c 62242009-07-26 Felix Zielcke <fzielcke@z-51.de>
6225
6226 * util/grub-mkconfig.in (package_version): New variable.
6227 Use it do display the version.
6228
2366e356 62292009-07-25 Felix Zielcke <fzielcke@z-51.de>
6230
6231 * kern/file.c (grub_file_open): Revert to previous check with
6232 grub_errno.
6233
7ad8c80e 62342009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
6237 from help line. It's out of sync with code.
6238
72b9658b 62392009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
6242 entries on failed boot.
6243
77435277 62442009-07-25 Felix Zielcke <fzielcke@z-51.de>
6245
6246 * kern/file.c (grub_file_open): Fix an error check.
6247
fcaa8b21 62482009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
6249
35d16c74 6250 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
6251 partition map couldn't be identified.
fcaa8b21 6252
48904cd1 62532009-07-23 Pavel Roskin <proski@gnu.org>
6254
ef3c317f 6255 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
6256 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
6257 case of little endian words becomes just an optimization.
6258 Respect const modifier.
ad8ea1f4 6259 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 6260
48904cd1 6261 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
6262 to avoid loss of upper bits if align is unsigned and shorter
6263 than addr.
6264
260c9a89 62652009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 UUID support for UFS
6268
6269 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
6270 (grub_ufs_uuid): New function.
6271 (grub_ufs_fs): add .uuid
6272
f76ce889 62732009-07-21 Pavel Roskin <proski@gnu.org>
6274
6275 * kern/dl.c (grub_dl_check_header): Make static.
6276
6a6cbcaf 62772009-07-21 Felix Zielcke <fzielcke@z-51.de>
6278
6279 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
6280 add drivemap for Vista. It breaks Windows 7.
6281
cffcddb2 62822009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
6285 128 bytes
6286
1ef44b80 62872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 Add BFS support
6290
6291 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
6292 (grub_fstest_SOURCES): Likewise.
6293 (pkglib_MODULES): Add befs.mod.
6294 (befs_mod_SOURCES): New variable.
6295 (befs_mod_CFLAGS): Likewise.
6296 (befs_mod_LDFLAGS): Likewise.
6297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6298 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6299 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6300 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6301 (grub_setup_SOURCES): Likewise.
6302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6303 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6304 (grub_setup_SOURCES): Likewise.
6305 * fs/befs.c: New file.
6306 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
6307 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
6308 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
6309 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
6310 (B_KEY_INDEX_ALIGN): New declaration.
6311 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
6312 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
6313 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
6314 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
6315 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
6316 (grub_afs_mount) [MODE_BFS]: Likewise.
6317 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
6318 (grub_afs_fs): Use GRUB_AFS_FSNAME
6319 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
6320 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
6321 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
6322 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
6323
4f253044 63242009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
6325
6326 * util/getroot.c (find_root_device): Add support for MacOSX.
6327 * util/hostdisk.c: Likewise.
6328
57a55913 63292009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * font/font.c (find_glyph): Check whether a font is present to avoid
6332 segmentation fault.
75421ca9 6333
63342009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 6335
6336 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
6337
e98cd0c2 63382009-07-20 Pavel Roskin <proski@gnu.org>
6339
6340 * configure.ac: Trim excessively wordy excuses.
6341
1d2d169a 63422009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 Add symlink, mtime and label support to AtheFS.
6345
6346 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
6347 (grub_afs_iterate_dir): Handle symlinks.
6348 (grub_afs_open): Use grub_afs_read_symlink.
6349 (grub_afs_dir): Likewise.
6350 Pass mtime.
6351 (grub_afs_label): New function.
6352 (grub_afs_fs): Add grub_afs_label.
6353 (grub_afs_read_symlink): New function.
6354
186f3189 63552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 Fix AtheFS support.
6358
6359 * fs/afs.c: Fix comments style.
6360 (grub_afs_blockrun): Declare as packed.
6361 (grub_afs_datastream): Likewise.
6362 (grub_afs_bnode): Likewise.
6363 (grub_afs_btree): Likewise.
6364 (grub_afs_sblock): Likewise.
6365 Declare `name' as char.
6366 (grub_afs_inode): Declare as packed.
6367 Change void *vnode to grub_uint32_t unused.
6368 (grub_afs_iterate_dir): Check that key_size is positive.
6369 (grub_afs_mount): Don't read superblock twice.
75421ca9 6370 (grub_afs_dir): Don't free node in case of error,
186f3189 6371 grub_fshelp_find_file already handles this.
6372 (grub_afs_open): Likewise.
6373
5680109e 63742009-07-19 Pavel Roskin <proski@gnu.org>
6375
6376 * Makefile.in: Remove LIBLZO and enable_lzo.
6377 * conf/i386-pc.rmk: Remove lzo support.
6378 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
6379 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
6380 support.
6381 * kern/i386/pc/lzo1x.S: Remove.
6382 * kern/i386/pc/startup.S: Remove lzo support.
6383 * util/i386/pc/grub-mkimage.c: Likewise.
6384
ac70fa32 63852009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
6388 * fs/xfs.c (grub_xfs_dir): Likewise.
6389 * fs/afs.c (grub_afs_dir): Likewise.
6390 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6391 (grub_iso9660_open): Likewise.
6392 * fs/jfs.c (grub_jfs_open): Likewise.
6393 * fs/ext2.c (grub_ext2_dir): Likewise.
6394 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
6395 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 6396
eab58da2 63972009-07-16 Pavel Roskin <proski@gnu.org>
6398
d2838156 6399 * configure.ac: Never add "-c" to CFLAGS.
6400
55c70904 6401 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
6402
43e6200c 6403 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
6404 grub_cv_cc_efiemu should be used.
6405
ce7a733d 6406 * configure.ac: Typo fixes.
6407
eab58da2 6408 * kern/mm.c (grub_zalloc): New function.
6409 (grub_debug_zalloc): Likewise.
6410 * include/grub/mm.h: Declare grub_zalloc() and
6411 grub_debug_zalloc().
6412 * util/misc.c (grub_zalloc): New function.
6413 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
6414 instead of grub_malloc(), remove unneeded initializations.
6415 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
6416 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
6417 * commands/parttool.c (grub_cmd_parttool): Likewise.
6418 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6419 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
6420 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
6421 * disk/usbms.c (grub_usbms_finddevs): Likewise.
6422 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
6423 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
6424 (grub_cmd_efiemu_pnvram): Likewise.
6425 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
6426 * fs/iso9660.c (grub_iso9660_mount): Likewise.
6427 (grub_iso9660_iterate_dir): Likewise.
6428 * fs/jfs.c (grub_jfs_opendir): Likewise.
6429 * fs/ntfs.c (list_file): Likewise.
6430 (grub_ntfs_mount): Likewise.
6431 * kern/disk.c (grub_disk_open): Likewise.
6432 * kern/dl.c (grub_dl_load_core): Likewise.
6433 * kern/elf.c (grub_elf_file): Likewise.
6434 * kern/env.c (grub_env_context_open): Likewise.
6435 (grub_env_set): Likewise.
6436 (grub_env_set_data_slot): Likewise.
6437 * kern/file.c (grub_file_open): Likewise.
6438 * kern/fs.c (grub_fs_blocklist_open): Likewise.
6439 * loader/i386/multiboot.c (grub_module): Likewise.
6440 * loader/xnu.c (grub_xnu_create_key): Likewise.
6441 (grub_xnu_create_value): Likewise.
6442 * normal/main.c (grub_normal_add_menu_entry): Likewise.
6443 (read_config_file): Likewise.
6444 * normal/menu_entry.c (make_screen): Likewise.
6445 * partmap/sun.c (sun_partition_map_iterate): Likewise.
6446 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
6447 * script/sh/script.c (grub_script_parse): Likewise.
6448 * video/bitmap.c (grub_video_bitmap_create): Likewise.
6449 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6450 * video/readers/png.c (grub_png_output_byte): Likewise.
6451 (grub_video_reader_png): Likewise.
6452
830afef7 64532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 6454
6455 Enable all targets that can be built by default
6456
830afef7 6457 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 6458 grub-mkfont and grub-fstest if they can be built
6459
ee293aee 64602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 Fix hang and segmentation fault in grub-emu-usb
6463
6464 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
6465 * util/usb.c (grub_libusb_devices): likewise
6466 (grub_libusb_init): rename to ...
6467 (GRUB_MOD_INIT (libusb)):...this
6468 (grub_libusb_fini): rename to ..
6469 (GRUB_MOD_FINI (libusb)):...this
6470 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6471 * include/grub/disk.h (grub_raid_init): removed, it's useless
6472 (grub_raid_fini): likewise
6473 (grub_lvm_init): likewise
6474 (grub_lvm_fini): likewise
6475 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6476 by grub_init_all
6477
94414221 64782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 Fix libusb
6481
6482 * Makefile.in (LIBUSB): new macro
6483 * genmk.rb (Utility/print_tail): new method
6484 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6485 (top level): call util.print_tail at the end.
6486
59ade63d 64872009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Make FreeBSD accept zpool.cache
6490
6491 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6492 type is /boot/zfs/zpool.cache
6493
a58da8c7 64942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 Fix 64-bit efiemu
6497
6498 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6499 correct wrong typedef
6500 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6501
20591577 65022009-07-15 Pavel Roskin <proski@gnu.org>
6503
560ca572 6504 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6505 * kern/disk.c (struct grub_disk_cache): Likewise.
6506
e8e8e4fd 6507 * commands/probe.c (options): Typo fix.
6508
fde24e10 6509 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6510 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6511 accordingly.
6512 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6513
379c54c1 6514 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6515 the end of "Error" to make the message more readable.
6516
7bd8f5bf 6517 * boot/i386/pc/boot.S (kernel_segment): Remove.
6518 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6519 for destination.
6520
40b132c5 6521 * boot/i386/pc/boot.S (boot_version): Remove.
6522 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6523 Remove.
6524
20591577 6525 * include/grub/i386/pc/boot.h: Sort all offsets.
6526 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6527 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6528 * boot/i386/pc/boot.S: Assert location of every offset listed in
6529 include/grub/i386/pc/boot.h.
6530
2df32b2c 65312009-07-13 Pavel Roskin <proski@gnu.org>
6532
44b5d879 6533 * include/grub/i386/coreboot/machine.h: Rename
6534 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6535 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6536 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6537
17dc3751 6538 * kern/dl.c: Force native word size to suppress warnings when
6539 compiling grub-emu.
6540
2df32b2c 6541 * kern/device.c (grub_device_iterate): Change struct part_ent to
6542 hold the name, not a pointer to it. Use one grub_malloc() per
6543 partition, not two. Free partition_name if grub_malloc() fails.
6544 Set ents to NULL only before grub_partition_iterate() is called.
6545
75c59f59 65462009-07-11 Bean <bean123ch@gmail.com>
6547
6548 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6549 childname.
6550
0ae1bf88 65512009-07-10 Bean <bean123ch@gmail.com>
65522009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6553
6554 * kern/ieee1275/openfw.c (grub_children_iterate)
6555 (grub_devalias_iterate): Fix size evaluation for property or path
6556 strings, which was broken since r2132.
6557
8279cade 65582009-07-07 Pavel Roskin <proski@gnu.org>
6559
7d8a52d3 6560 * commands/search.c (search_file): Merge into ...
6561 (search_fs): ... this. Accept search type as argument.
6562 (grub_cmd_search): Pass search type to search_fs().
6563
25f9a05a 6564 * include/grub/util/console.h: New file.
6565 * util/console.c: Use it instead of grub/machine/console.h.
6566 * util/grub-emu.c: Likewise.
6567
8279cade 6568 * lib/arg.c (find_long_option): Remove.
6569 (find_long): Add `len' argument, make `s' const char *.
6570 (grub_arg_parse): Parse long options in place, not in a
6571 temporary buffer.
6572
4a11b60f 65732009-07-06 Pavel Roskin <proski@gnu.org>
6574
99f68041 6575 * commands/search.c (search_fs): Fix potential NULL pointer
6576 dereference.
6577
4a11b60f 6578 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6579 function pointer.
6580
e110f4de 65812009-07-06 Daniel Mierswa <impulze@impulze.org>
6582
6583 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6584 comparison.
6585
46eeb6a2 65862009-07-05 Pavel Roskin <proski@gnu.org>
6587
bab74958 6588 * include/grub/i386/linux.h (struct linux_kernel_params):
6589 Restore padding3, it's still needed.
6590
46eeb6a2 6591 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6592 FreeBSD.
6593 * util/osdetect.lua: Likewise.
6594
b4a1dc79 65952009-07-05 Bean <bean123ch@gmail.com>
6596
6597 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6598
6599 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6600 (grub_lua_getenv): Likewise.
6601 (grub_lua_setenv): Likewise.
6602 (save_errno): New function.
6603 (push_result): Likewise.
6604 (grub_lua_enum_device): Likewise.
6605 (grub_lua_enum_file): Likewise.
6606 (grub_lua_file_open): Likewise.
6607 (grub_lua_file_close): Likewise.
6608 (grub_lua_file_seek): Likewise.
6609 (grub_lua_file_read): Likewise.
6610 (grub_lua_file_getline): Likewise.
6611 (grub_lua_file_getsize): Likewise.
6612 (grub_lua_file_getpos): Likewise.
6613 (grub_lua_file_eof): Likewise.
6614 (grub_lua_file_exist): Likewise.
6615 (grub_lua_add_menu): Likewise.
6616
6617 * script/lua/grub_lua.h (isupper): New inline function.
6618 (islower): Likewise.
6619 (ispunct): Likewise.
6620 (isxdigit): Likewise.
6621 (strcspn): Change to normal function.
6622 (strpbkr): New function declaration.
6623 (memchr): Likewise.
6624
6625 * script/lua/grub_main.c (scan_str): New function.
6626 (strcspn): Likewise.
6627 (strpbrk): Likewise.
6628 (memchr): Likewise.
6629
6630 * script/lua/linit.c (lualibs): Enable the string library.
6631
6632 * util/osdetect.lua: New file.
6633
2da92295 66342009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6635
6636 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6637 `capabilities' member.
6638
b2582ec9 66392009-07-02 Pavel Roskin <proski@gnu.org>
6640
6641 * genparttoollist.sh: Add missing newline at the end.
6642
32622956 66432009-07-01 Pavel Roskin <proski@gnu.org>
6644
87a7339e 6645 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
6646
d23af54e 6647 * util/hostdisk.c (open_device): Remove `const' from
6648 `sysctl_size', as sysctlbyname() can change it (in this case it
6649 doesn't actually happen).
6650
c94b18a9 6651 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
6652 using signed long int constants.
6653
c6cd3ef0 6654 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6655 constant to avoid a warning on FreeBSD.
6656
0df63420 6657 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6658 where it's needed.
6659
999577f1 6660 * Makefile.in: Install include/grub/machine symlink.
6661
6f41557f 6662 * Makefile.in: When installing symlinks, use "cp -fR", which
6663 works on FreeBSD and MacOSX.
6664 From Yves Blusseau <cl7m42e02@sneakemail.com>
6665
c8d22988 6666 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6667 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6668
1b96e952 6669 * util/misc.c: Move grub_reboot() and grub_halt() ...
6670 * util/grub-emu.c: ... here. Make main_env static.
6671 * include/grub/util/misc.h: Remove main_env.
6672
2ef0084d 6673 * kern/mm.c: Use correct format to print size_t.
6674
32622956 6675 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6676 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6677 * kern/powerpc/dl.c: Likewise.
6678 * kern/sparc64/dl.c: Likewise.
6679 * kern/x86_64/dl.c: Likewise.
6680
3f7f0cd0 66812009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6682
6683 Fix grub-emu build on sparc64-ieee1275.
6684
75421ca9 6685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6687
211d06b5 66882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6689
6690 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6691 (grub_reboot, grub_halt): New functions.
6692
6693 * util/i386/pc/misc.c: Delete. Update all users.
6694 * util/sparc64/ieee1275/misc.c: Likewise.
6695 * util/powerpc/ieee1275/misc.c: Likewise.
6696
aaf53e3c 66972009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6698
6699 * conf/i386.rmk (setjmp_mod_SOURCES)
6700 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6701 * conf/common.rmk (setjmp_mod_SOURCES)
6702 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6703 to use $(target_cpu).
6704 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6705 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6706 * conf/powerpc-ieee1275.rmk: Likewise.
6707 * conf/sparc64-ieee1275.rmk: Likewise.
6708
6709 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6710 $(target_cpu) for kern/$(target_cpu)/dl.c.
6711 * conf/i386-efi.rmk: Likewise.
6712 * conf/i386-ieee1275.rmk: Likewise.
6713 * conf/x86_64-efi.rmk: Likewise.
6714 * conf/i386-coreboot.rmk: Likewise.
6715 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
6716 $(target_cpu) for kern/$(target_cpu)/dl.c and for
6717 kern/$(target_cpu)/cache.S.
6718 * conf/sparc64-ieee1275.rmk: Likewise.
6719
a337130b 67202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6721
6722 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
6723 type to `grub_uint8_t', and adjust `padding9' accordingly.
6724
c6fe4d53 67252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6726
b09db61d 6727 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
6728
c6fe4d53 6729 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
6730 assembly in final jump, using register constraints.
6731
b09db61d 6732 (grub_linux_boot): For text mode, initialize `have_vga' using
6733 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
6734
6735 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
6736 right before the final jump.
6737
6738 Set `video_mode' to 0x3.
6739
6740 Document initialization of `video_page', `video_mode' and
6741 `video_ega_bx'.
6742
28333ad0 67432009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6744
6745 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
6746 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 6747 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 6748
02164e1b 67492009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6750
6751 Fix build on Debian / sparc.
6752
6753 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
6754
18b6c557 67552009-06-28 Pavel Roskin <proski@gnu.org>
6756
85f2aab6 6757 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
6758 fix a warning.
6759
18b6c557 6760 * util/grub.d/10_linux.in: Match SUSE style initrd names.
6761
ad760f81 67622009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6763
6764 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
6765 `err'.
6766
87a4623b 67672009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6768
6769 Revert r2338.
6770
6771 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
6772 file can't be opened. grub_file_open() is already supposed to set
75421ca9 6773 grub_errno / grub_errmsg appropriately.
87a4623b 6774 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6775
8231fb77 67762009-06-27 Pavel Roskin <proski@gnu.org>
67772009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6778
6779 * include/grub/dl.h: Include grub/elf.h.
6780 (struct grub_dl): Add symtab field.
6781 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
6782 GRUB_MODULES_MACHINE_READONLY.
6783 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
6784 of the header for read-only modules.
6785 (grub_dl_unload): Free mod->symtab for read-only modules.
6786 * kern/i386/dl.c: Use mod->symtab.
6787 * kern/powerpc/dl.c: Likewise.
6788 * kern/sparc64/dl.c: Likewise.
6789 * kern/x86_64/dl.c: Likewise.
6790
6791 * conf/i386-qemu.rmk: New file.
6792 * kern/i386/qemu/startup.S: Likewise.
6793 * kern/i386/qemu/mmap.c: Likewise.
6794 * boot/i386/qemu/boot.S: Likewise.
6795 * include/grub/i386/qemu/time.h: Likewise.
6796 * include/grub/i386/qemu/serial.h: Likewise.
6797 * include/grub/i386/qemu/kernel.h: Likewise.
6798 * include/grub/i386/qemu/console.h: Likewise.
6799 * include/grub/i386/qemu/boot.h: Likewise.
6800 * include/grub/i386/qemu/init.h: Likewise.
6801 * include/grub/i386/qemu/machine.h: Likewise.
6802 * include/grub/i386/qemu/loader.h: Likewise.
6803 * include/grub/i386/qemu/memory.h: Likewise.
6804
6805 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
6806 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
6807 [qemu] (pkglib_IMAGES): Add `boot.img'.
6808 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
6809 [qemu] (boot_img_FORMAT): New variables.
6810 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
6811 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
6812 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
6813 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6814 [qemu] (kernel_img_FORMAT): New variables.
6815
6816 * configure.ac: Recognise `i386-qemu'.
6817
6818 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
6819 (for no compression).
6820 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
6821 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
6822 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
6823 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
6824 ifdefs).
6825
97fe384e 68262009-06-27 Pavel Roskin <proski@gnu.org>
6827
6828 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
6829 read.
6830 * efiemu/prepare32.c: Likewise.
6831 * efiemu/prepare64.c: Likewise.
6832
c402ab17 68332009-06-26 Pavel Roskin <proski@gnu.org>
6834
6835 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
6836 * include/grub/elf.h: Define symbols without "32" or "64" based
6837 on GRUB_TARGET_WORDSIZE.
6838 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
6839 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
6840 ELF definitions.
6841 * efiemu/loadcore64.c: Likewise.
6842 * loader/i386/bsd32.c: Likewise.
6843 * loader/i386/bsd64.c: Likewise.
6844 * kern/dl.c: Remove own ELF definitions.
6845 * util/i386/efi/grub-mkimage.c: Likewise.
6846
9bbdfd4d 68472009-06-23 Robert Millan <rmh.grub@aybabtu.com>
6848
6849 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
6850 segment 0x0 unconditionally, because the reference generated by
6851 GAS is an absolute address.
6852
a42ce6e9 68532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6854
6855 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
6856 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
6857
c952cf92 68582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6859
6860 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
6861 indexes. Check for -f explicitly.
cc3752ad 6862 (search_file): Improve error message.
6863 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 6864
132a0a59 68652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6866
6867 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
6868 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
6869
387a140c 68702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6871
6872 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
6873 * conf/i386-ieee1275.rmk: Likewise.
6874 * conf/i386-coreboot.rmk: Likewise.
6875
6876 * kern/i386/pc/startup.S (grub_stop): Remove function.
6877 * kern/i386/ieee1275/startup.S: Likewise.
6878 * kern/i386/coreboot/startup.S: Likewise.
6879 * kern/i386/misc.S (grub_stop): New function.
6880
41da9665 68812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6882
6883 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
6884 * kern/i386/realmode.S (real_to_prot): ... to here.
6885
bf337234 68862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6887
6888 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
6889 with `kernel.img'.
6890 (kernel_elf_SOURCES): Rename to ...
6891 (kernel_img_SOURCES): ... this.
6892 (kernel_elf_HEADERS): Rename to ...
6893 (kernel_img_HEADERS): ... this. Update all users.
6894 (kernel_elf_ASFLAGS): Rename to ...
6895 (kernel_img_ASFLAGS): ... this.
6896 (kernel_elf_CFLAGS): Rename to ...
6897 (kernel_img_CFLAGS): ... this.
6898 (kernel_elf_LDFLAGS): Rename to ...
6899 (kernel_img_LDFLAGS): ... this.
6900 * conf/i386-coreboot.rmk: Likewise.
6901 * conf/powerpc-ieee1275.rmk: Likewise.
6902
6903 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
6904 with "kernel.img".
6905
f52196ff 69062009-06-21 Pavel Roskin <proski@gnu.org>
6907
c3cee413 6908 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
6909 to match nested functions.
6910 * loader/sparc64/ieee1275/linux.c: Likewise.
6911
f52196ff 6912 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
6913
58750afc 69142009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6915
6916 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
6917 all i386 platforms.
6918
15355c7d 69192009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6920
6921 Fix asm file handling on ELF, and remove workarounds.
6922
6923 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 6924 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 6925 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
6926 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
6927
3f3ec72b 69282009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Load BSD ELF modules
6931
6932 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
6933 and loader/i386/bsd64.c
6934 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
6935 (FREEBSD_MODTYPE_ELF_MODULE): New definition
6936 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
6937 (grub_freebsd_load_elfmodule32): New declaration
6938 (grub_freebsd_load_elfmoduleobj64): Likewise
6939 (grub_freebsd_load_elf_meta32): Likewise
6940 (grub_freebsd_load_elf_meta64): Likewise
6941 (grub_freebsd_add_meta): Likewise
6942 (grub_freebsd_add_meta_module): Likewise
6943 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
6944 (grub_freebsd_add_meta_module): Likewise and move module-specific
6945 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
6946 (grub_cmd_freebsd): Add elf-kernel specific parts
6947 based on grub_freebsd_add_meta_module
6948 (grub_cmd_freebsd_module): Add type parsing moved from
6949 grub_freebsd_add_meta_module
6950 (grub_cmd_freebsd_module_elf): New function
6951 (cmd_freebsd_module_elf): New variable
6952 (GRUB_MOD_INIT): Register freebsd_module_elf
6953 * loader/i386/bsd32.c: New file
6954 * loader/i386/bsd64.c: Likewise
6955 * loader/i386/bsdXX.c: Likewise
6956 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
6957 (grub_elf64_load): Likewise
6958 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
6959 All users updated
6960 (grub_elf64_load_hook_t): Likewise
6961
0db15301 69622009-06-21 Colin Watson <cjwatson@ubuntu.com>
6963
6964 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
6965 variable.
6966 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
6967 don't write a menu entry for recovery mode.
6968
546796c1 69692009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6970
6971 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
6972 after it's no longer needed.
6973
cd7310d5 69742009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6975
6976 * include/grub/i386/loader.h (grub_linux_prot_size)
6977 (grub_linux_tmp_addr, grub_linux_real_addr)
6978 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
6979 GRUB_MACHINE_PCBIOS.
6980 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
6981 common grub_util_info() call to ...
6982 (generate_image): ... here.
6983 Fix use of uninitialized memory, comparison of signed with
6984 unsigned integers and memory leak.
6985 Remove bogus module address message.
6986
ab32d3b5 69872009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
6990 grub_raid_register
6991 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
6992
024ef597 69932009-06-19 Pavel Roskin <proski@gnu.org>
6994
6995 * configure.ac: Remove stray AC_MSG_CHECKING.
6996
3ac72b51 69972009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7000
e14cd814 70012009-06-18 Pavel Roskin <proski@gnu.org>
7002
7003 * conf/common.rmk: Add fs_file.mod.
7004 * disk/fs_file.c: New file.
7005 * include/grub/disk.h (enum grub_disk_dev_id): Add
7006 GRUB_DISK_DEVICE_FILE_ID.
7007
26586d98 70082009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 Fix build with Apple's toolchain. Part 2
7011
7012 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7013 a fake start
7014
26de2bcd 70152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 Fix build with Apple's toolchain. Part 1
7018
7019 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7020 for long calls
7021 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7022 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7023 Apple's toolchain
7024
09b3490b 70252009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 Fix warnings
7028
7029 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7030 (decomp_block): initialize ch
7031 use grub_memcpy instead of memcpy
7032
c22a006a 70332009-06-17 Pavel Roskin <proski@gnu.org>
7034
d3638678 7035 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7036 version, use declarations needed to use vga_text as the startup
7037 console.
7038
c22a006a 7039 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7040 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7041 the kernel.
7042 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7043 and grub_at_keyboard_fini(), it's done on module load and
7044 unload.
7045
05b129e0 70462009-06-17 Felix Zielcke <fzielcke@z-51.de>
7047
7048 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7049 file can't be found.
7050 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7051
cf24ed9e 70522009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 Fix newline handling
7055
7056 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7057 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7058 (grub_script_yylex): don't segfault on unterminated script
7059 newline terminates command and variable
7060
74aa8e4b 70612009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 avoid double grub_adjust_range call. Bug reported by David Simner
7064
7065 * kern/disk.c (grub_disk_write): change to raw disk access before
7066 calling disk_read
7067
1bd265f3 70682009-06-17 Colin Watson <cjwatson@ubuntu.com>
7069
7070 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7071 spaces, for the benefit of help2man.
7072 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7073
a2d08c06 70742009-06-16 Pavel Roskin <proski@gnu.org>
7075
7076 * kern/i386/halt.c: Include grub/machine/init.h.
7077 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7078
b97bcb19 70792009-06-16 Felix Zielcke <fzielcke@z-51.de>
7080
7081 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7082 drivemap menuentry.
7083
0644f96c 70842009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7085
7086 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7087 `echo' command.
7088
3ef17a2e 70892009-06-16 Pavel Roskin <proski@gnu.org>
7090
7091 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7092 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7093 save %dx, we only need %dl and we never change it.
7094 * boot/i386/pc/cdboot.S: Don't set the root drive.
7095 * boot/i386/pc/pxeboot.S: Likewise.
7096 * include/grub/i386/pc/boot.h: Remove
7097 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7098 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7099 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7100 * kern/i386/pc/init.c (make_install_device): Remove references
7101 to grub_root_drive.
7102 * kern/i386/pc/startup.S: Likewise.
7103 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7104
693fe637 71052009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 xnu_uuid command
7108
7109 * commands/xnu_uuid.c: new file
7110 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7111 (xnu_uuid_mod_SOURCES): new variable
7112 (xnu_uuid_mod_CFLAGS): likewise
7113 (xnu_uuid_mod_LDFLAGS): likewise
7114 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7115 * conf/i386-ieee1275.rmk: likewise
7116 * conf/i386-pc.rmk: likewise
7117 * conf/powerpc-ieee1275.rmk: likewise
7118 * conf/sparc64-ieee1275.rmk: likewise
7119 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7120
c9da87d0 71212009-06-16 Pavel Roskin <proski@gnu.org>
7122
7123 * configure.ac: Avoid '==' in test command, it's not portable.
7124
9c6f4596 71252009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 Probe command
7128
7129 * commands/probe.c: new file
7130 * conf/common.rmk (pkglib_MODULES): add probe.mod
7131 (probe_mod_SOURCES): new variable
7132 (probe_mod_CFLAGS): likewise
7133 (probe_mod_LDFLAGS): likewise
7134 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7135 * conf/i386-ieee1275.rmk: likewise
7136 * conf/i386-pc.rmk: likewise
7137 * conf/powerpc-ieee1275.rmk: likewise
7138 * conf/sparc64-ieee1275.rmk: likewise
7139
70b7f9fd 71402009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 Fix handling of string like \"hello\" and "a
7143 b"
7144
7145 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7146 (grub_script_yylex): fix parsing of quoting, escaping and newline
7147
71c79a6b 71482009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7149
dd74360c 7150 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 7151 handling
dd74360c 7152
0644f96c 71532009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 7154
7155 * util/grub-mkconfig.in: Fix parsing of --output option.
7156
e40893c3 71572009-06-12 Pavel Roskin <proski@gnu.org>
7158
7159 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7160 genmk.rb don't need to be generated or installed.
7161
3a1acfe2 71622009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * commands/i386/pc/drivemap_int13h.S: add more comments
7165
3a4575d4 71662009-06-11 Pavel Roskin <proski@gnu.org>
7167
0658e928 7168 * Makefile.in (uninstall): Uninstall manuals.
7169
ca0388f0 7170 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7171 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7172 and update-grub_lib in two places.
7173 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7174
e3b27c39 7175 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
7176 a compiler warning.
7177
3a4575d4 7178 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
7179 `entry_lo' to fix variable shadowing.
7180
af1f4f55 71812009-06-11 Christian Franke <franke@computer.org>
7182
7183 * kern/misc.c (__enable_execute_stack): Add missing return type
7184 to prevent gcc warning.
7185
5225e649 71862009-06-11 Felix Zielcke <fzielcke@z-51.de>
7187
7188 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
7189
7d83bd47 71902009-06-11 Pavel Roskin <proski@gnu.org>
7191
c1cb63ba 7192 * Makefile.in: Don't rely on any scripts being executable.
7193 Always use $(SHELL) to run shell scripts.
7194
7d83bd47 7195 * configure.ac: Always define ___main if using -nostdlib. This
7196 fixes tests on Cygwin.
7197
948f48e7 71982009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
7199
7200 UDF fix
7201
7d83bd47 7202 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 7203 is in bytes and not in blocks
7d83bd47 7204
8ada9bc1 72052009-06-11 Pavel Roskin <proski@gnu.org>
7206
7207 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
7208 warning.
7209
25ad2323 72102009-06-11 Felix Zielcke <fzielcke@z-51.de>
7211
7212 * util/grub.d/30_os-prober.in: Fix a comment. Source
7213 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
7214 to set the root device. Place drivemap command in the generated
7215 chain entry.
7216
e65acb0c 72172009-06-11 Pavel Roskin <proski@gnu.org>
7218
7219 * configure.ac: Remove host_m32. Issues with 64-bit utilities
7220 have long been resolved.
7221
f285fe2d 72222009-06-11 Colin Watson <cjwatson@ubuntu.com>
7223
bd47b0b5 7224 * util/grub.d/10_linux.in: Capitalise "Linux".
7225
f285fe2d 7226 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
7227
a0c62e4e 72282009-06-11 Pavel Roskin <proski@gnu.org>
7229
b6783cb2 7230 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
7231 fix a gcc warning and ensure that the function won't ever exit.
7232
dde032e8 7233 * kern/i386/ieee1275/init.c: Add missing prototype for
7234 grub_stop_floppy().
7235
22cd079d 7236 * loader/ieee1275/multiboot2.c [__i386__]: Include
7237 grub/cpu/multiboot.h.
7238
a0c62e4e 7239 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
7240 casts to short - they are not portable and cause warnings. Fix
7241 use of uninitialized values in input_buf. Use ARRAY_SIZE.
7242
63963d17 72432009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 Drivemap fixes
7246
7247 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
7248 new function
7249 (grub_get_root_biosnumber_saved): new variable
7250 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
7251 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 7252 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 7253 %dx after the call if necessary
7254 * conf/common.rmk (pkglib_MODULES): remove boot.mod
7255 (boot_mod_SOURCES): remove
7256 (boot_mod_CFLAGS): remove
7257 (boot_mod_LDFLAGS): remove
7258 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
7259 (boot_mod_SOURCES): new variable
7260 (boot_mod_CFLAGS): likewise
7261 (boot_mod_LDFLAGS): likewise
7262 * conf/i386-efi.rmk: likewise
7263 * conf/i386-ieee1275.rmk: likewise
7264 * conf/i386-pc.rmk: likewise
7265 * conf/powerpc-ieee1275.rmk: likewise
7266 * conf/sparc64-ieee1275.rmk: likewise
7267 * conf/x86_64-efi.rmk: likewise
7268 * include/grub/i386/pc/biosnum.h: new file
7269 * lib/i386/pc/biosnum.c: likewise
7270 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
7271 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
7272 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 7273
33abf7ae 72742009-06-10 Pavel Roskin <proski@gnu.org>
7275
5ac35b35 7276 * io/gzio.c (test_header): Don't reuse one buffer for all data.
7277 Use separate variables. Read only the file size at the end, but
7278 not the checksum that we don't use.
7279
5c5215d5 7280 * kern/file.c (grub_file_read): Use void pointer for the buffer.
7281 Adjust all callers.
7282
27d5fef7 7283 * kern/ieee1275/openfw.c: Remove libc includes.
7284 * kern/ieee1275/cmain.c: Likewise.
7285 * include/grub/ieee1275/ieee1275.h: Likewise.
7286
33abf7ae 7287 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
7288 compiler warnings.
7289
19d50c2b 72902009-06-10 Felix Zielcke <fzielcke@z-51.de>
7291
7292 * Makefile.in: Remove all trailing whitespace.
7293 * conf/i386-pc.rmk: Likewise.
7294 * conf/powerpc-ieee1275.rmk: Likewise.
7295 * conf/sparc64-ieee1275.rmk: Likewise.
7296 * docs/grub.texi: Likewise.
7297 * docs/texinfo.tex: Likewise.
7298 * disk/fs_uuid.c: Likewise.
7299 * disk/lvm.c: Likewise.
7300 * disk/scsi.c: Likewise.
7301 * disk/ata.c: Likewise.
7302 * disk/ieee1275/ofdisk.c: Likewise.
7303 * disk/i386/pc/biosdisk.c: Likewise.
7304 * disk/host.c: Likewise.
7305 * disk/raid.c: Likewise.
7306 * disk/efi/efidisk.c: Likewise.
7307 * disk/usbms.c: Likewise.
7308 * disk/memdisk.c: Likewise.
7309 * disk/loopback.c: Likewise.
7310 * kern/powerpc/dl.c: Likewise.
7311 * kern/device.c: Likewise.
7312 * kern/dl.c: Likewise.
7313 * kern/sparc64/dl.c: Likewise.
7314 * kern/ieee1275/ieee1275.c: Likewise.
7315 * kern/term.c: Likewise.
7316 * kern/fs.c: Likewise.
7317 * kern/i386/dl.c: Likewise.
7318 * kern/i386/pc/startup.S: Likewise.
7319 * kern/i386/pc/init.c: Likewise.
7320 * kern/i386/pc/mmap.c: Likewise.
7321 * kern/i386/pc/lzo1x.S: Likewise.
7322 * kern/i386/ieee1275/init.c: Likewise.
7323 * kern/i386/realmode.S: Likewise.
7324 * kern/i386/tsc.c: Likewise.
7325 * kern/partition.c: Likewise.
7326 * kern/corecmd.c: Likewise.
7327 * kern/file.c: Likewise.
7328 * kern/efi/efi.c: Likewise.
7329 * kern/efi/init.c: Likewise.
7330 * kern/efi/mm.c: Likewise.
7331 * kern/main.c: Likewise.
7332 * kern/err.c: Likewise.
7333 * kern/env.c: Likewise.
7334 * kern/disk.c: Likewise.
7335 * kern/generic/millisleep.c: Likewise.
7336 * kern/generic/rtc_get_time_ms.c: Likewise.
7337 * kern/misc.c: Likewise.
7338 * kern/parser.c: Likewise.
7339 * genmk.rb: Likewise.
7340 * configure.ac: Likewise.
7341 * boot/i386/pc/diskboot.S: Likewise.
7342 * boot/i386/pc/pxeboot.S: Likewise.
7343 * boot/i386/pc/boot.S: Likewise.
7344 * boot/i386/pc/lnxboot.S: Likewise.
7345 * boot/i386/pc/cdboot.S: Likewise.
7346 * parttool/pcpart.c: Likewise.
7347 * video/readers/tga.c: Likewise.
7348 * video/video.c: Likewise.
7349 * video/bitmap.c: Likewise.
7350 * lib/envblk.c: Likewise.
7351 * lib/i386/setjmp.S: Likewise.
7352 * fs/xfs.c: Likewise.
7353 * fs/afs.c: Likewise.
7354 * fs/fat.c: Likewise.
7355 * fs/ntfs.c: Likewise.
7356 * fs/udf.c: Likewise.
7357 * fs/affs.c: Likewise.
7358 * fs/iso9660.c: Likewise.
7359 * fs/hfs.c: Likewise.
7360 * fs/fshelp.c: Likewise.
7361 * fs/ext2.c: Likewise.
7362 * fs/jfs.c: Likewise.
7363 * fs/reiserfs.c: Likewise.
7364 * fs/hfsplus.c: Likewise.
7365 * fs/minix.c: Likewise.
7366 * fs/cpio.c: Likewise.
7367 * fs/sfs.c: Likewise.
7368 * fs/ufs.c: Likewise.
7369 * efiemu/prepare.c: Likewise.
7370 * efiemu/loadcore_common.c: Likewise.
7371 * efiemu/runtime/efiemu.sh: Likewise.
7372 * efiemu/runtime/efiemu.S: Likewise.
7373 * efiemu/runtime/efiemu.c: Likewise.
7374 * efiemu/pnvram.c: Likewise.
7375 * efiemu/main.c: Likewise.
7376 * efiemu/i386/pc/cfgtables.c: Likewise.
7377 * efiemu/i386/loadcore64.c: Likewise.
7378 * efiemu/i386/loadcore32.c: Likewise.
7379 * efiemu/loadcore.c: Likewise.
7380 * efiemu/symbols.c: Likewise.
7381 * efiemu/mm.c: Likewise.
7382 * include/grub/autoefi.h: Likewise.
7383 * include/grub/datetime.h: Likewise.
7384 * include/grub/term.h: Likewise.
7385 * include/grub/hfs.h: Likewise.
7386 * include/grub/lvm.h: Likewise.
7387 * include/grub/i386/tsc.h: Likewise.
7388 * include/grub/i386/linux.h: Likewise.
7389 * include/grub/i386/xnu.h: Likewise.
7390 * include/grub/i386/efiemu.h: Likewise.
7391 * include/grub/i386/pc/biosdisk.h: Likewise.
7392 * include/grub/i386/pc/memory.h: Likewise.
7393 * include/grub/i386/pc/vbe.h: Likewise.
7394 * include/grub/parttool.h: Likewise.
7395 * include/grub/video.h: Likewise.
7396 * include/grub/memory.h: Likewise.
7397 * include/grub/fs.h: Likewise.
7398 * include/grub/partition.h: Likewise.
7399 * include/grub/xnu.h: Likewise.
7400 * include/grub/efi/api.h: Likewise.
7401 * include/grub/efi/pe32.h: Likewise.
7402 * include/grub/efi/memory.h: Likewise.
7403 * include/grub/multiboot.h: Likewise.
7404 * include/grub/usbdesc.h: Likewise.
7405 * include/grub/multiboot2.h: Likewise.
7406 * include/grub/acpi.h: Likewise.
7407 * include/grub/efiemu/efiemu.h: Likewise.
7408 * include/grub/disk.h: Likewise.
7409 * include/grub/ieee1275/ieee1275.h: Likewise.
7410 * include/grub/net.h: Likewise.
7411 * include/grub/machoload.h: Likewise.
7412 * include/grub/macho.h: Likewise.
7413 * include/multiboot.h: Likewise.
7414 * genmoddep.awk: Likewise.
7415 * normal/main.c: Likewise.
7416 * normal/menu_entry.c: Likewise.
7417 * normal/menu_viewer.c: Likewise.
7418 * normal/completion.c: Likewise.
7419 * normal/cmdline.c: Likewise.
7420 * normal/misc.c: Likewise.
7421 * normal/datetime.c: Likewise.
7422 * bus/usb/usbtrans.c: Likewise.
7423 * bus/usb/ohci.c: Likewise.
7424 * bus/usb/uhci.c: Likewise.
7425 * bus/usb/usb.c: Likewise.
7426 * mmap/efi/mmap.c: Likewise.
7427 * mmap/i386/pc/mmap_helper.S: Likewise.
7428 * mmap/i386/pc/mmap.c: Likewise.
7429 * mmap/i386/mmap.c: Likewise.
7430 * mmap/i386/uppermem.c: Likewise.
7431 * mmap/mmap.c: Likewise.
7432 * commands/acpi.c: Likewise.
7433 * commands/echo.c: Likewise.
7434 * commands/blocklist.c: Likewise.
7435 * commands/loadenv.c: Likewise.
7436 * commands/usbtest.c: Likewise.
7437 * commands/boot.c: Likewise.
7438 * commands/parttool.c: Likewise.
7439 * commands/search.c: Likewise.
7440 * commands/cat.c: Likewise.
7441 * commands/i386/pc/play.c: Likewise.
7442 * commands/i386/pc/drivemap.c: Likewise.
7443 * commands/i386/pc/vbeinfo.c: Likewise.
7444 * commands/i386/pc/acpi.c: Likewise.
7445 * commands/i386/pc/vbetest.c: Likewise.
7446 * commands/ls.c: Likewise.
7447 * commands/cmp.c: Likewise.
7448 * commands/test.c: Likewise.
7449 * commands/efi/acpi.c: Likewise.
7450 * commands/gptsync.c: Likewise.
7451 * commands/help.c: Likewise.
7452 * partmap/amiga.c: Likewise.
7453 * partmap/apple.c: Likewise.
7454 * partmap/acorn.c: Likewise.
7455 * partmap/pc.c: Likewise.
7456 * partmap/sun.c: Likewise.
7457 * partmap/gpt.c: Likewise.
7458 * script/sh/lexer.c: Likewise.
7459 * script/sh/function.c: Likewise.
7460 * font/font.c: Likewise.
7461 * font/font_cmd.c: Likewise.
7462 * loader/powerpc/ieee1275/linux.c: Likewise.
7463 * loader/efi/chainloader.c: Likewise.
7464 * loader/multiboot_loader.c: Likewise.
7465 * loader/macho.c: Likewise.
7466 * loader/i386/multiboot.c: Likewise.
7467 * loader/i386/linux.c: Likewise.
7468 * loader/i386/pc/linux.c: Likewise.
7469 * loader/i386/pc/multiboot2.c: Likewise.
7470 * loader/i386/pc/chainloader.c: Likewise.
7471 * loader/i386/pc/xnu.c: Likewise.
7472 * loader/i386/bsd_trampoline.S: Likewise.
7473 * loader/i386/efi/linux.c: Likewise.
7474 * loader/i386/multiboot_elfxx.c: Likewise.
7475 * loader/i386/bsd_helper.S: Likewise.
7476 * loader/i386/bsd.c: Likewise.
7477 * loader/i386/linux_trampoline.S: Likewise.
7478 * loader/i386/xnu_helper.S: Likewise.
7479 * loader/i386/xnu.c: Likewise.
7480 * loader/i386/bsd_pagetable.c: Likewise.
7481 * loader/i386/multiboot_helper.S: Likewise.
7482 * loader/xnu.c: Likewise.
7483 * loader/xnu_resume.c: Likewise.
7484 * io/gzio.c: Likewise.
7485 * term/efi/console.c: Likewise.
7486 * term/terminfo.c: Likewise.
7487 * term/ieee1275/ofconsole.c: Likewise.
7488 * term/i386/pc/serial.c: Likewise.
7489 * term/i386/pc/vesafb.c: Likewise.
7490 * term/i386/pc/vga.c: Likewise.
7491 * term/usb_keyboard.c: Likewise.
7492 * term/gfxterm.c: Likewise.
7493 * aclocal.m4: Likewise.
7494 * util/lvm.c: Likewise.
7495 * util/grub.d/30_os-prober.in: Likewise.
7496 * util/grub.d/10_hurd.in: Likewise.
7497 * util/console.c: Likewise.
7498 * util/grub-macho2img.c: Likewise.
7499 * util/grub-probe.c: Likewise.
7500 * util/hostfs.c: Likewise.
7501 * util/i386/pc/grub-mkimage.c: Likewise.
7502 * util/i386/pc/grub-setup.c: Likewise.
7503 * util/i386/efi/grub-mkimage.c: Likewise.
7504 * util/grub-mkconfig.in: Likewise.
7505 * util/raid.c: Likewise.
7506 * util/resolve.c: Likewise.
7507 * util/grub-mkdevicemap.c: Likewise.
7508 * util/grub-emu.c: Likewise.
7509 * util/getroot.c: Likewise.
7510 * util/hostdisk.c: Likewise.
7511 * util/usb.c: Likewise.
7512 * util/grub-editenv.c: Likewise.
7513 * util/misc.c: Likewise.
7514
d2d49665 75152009-06-10 Felix Zielcke <fzielcke@z-51.de>
7516
7517 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7518 `genparttoollist.sh'.
7519 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7520 Add `*.sh' to the list find searches for and change `mdate.sh'
7521 to `mdate-sh'.
7522
fe052e37 75232009-06-10 Pavel Roskin <proski@gnu.org>
7524
2763ac18 7525 * include/grub/multiboot2.h: Provide compatibility defines for
7526 multiboot2.h.
7527 * include/multiboot2.h: Include stdint.h only if needed, using
7528 angle brackets.
7529 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7530 grub/multiboot2.h.
7531 * loader/ieee1275/multiboot2.c: Likewise.
7532 * loader/multiboot2.c: Likewise.
7533 * loader/multiboot_loader.c: Likewise.
7534
437e6adc 7535 * configure.ac: Use -nostdlib when probing for the target. It
7536 should not be required to have libc for the target.
7537
06a6836c 7538 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7539 they fail without libc headers for the target.
7540 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7541 exports.
7542 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7543 preprocessor conditionals.
7544
fe052e37 7545 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7546 build system doesn't need to be aware of the tar.c internals.
7547
afd22553 75482009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 7549
afd22553 7550 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 7551
6b787c4f 75522009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7553
7554 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7555 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7556
75572009-06-09 Felix Zielcke <fzielcke@z-51.de>
7558
7559 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 7560 aren't available if ata.mod gets used.
6b787c4f 7561
473d1e45 75622009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 7563
473d1e45 7564 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 7565 initialising controller.
473d1e45 7566 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 7567
255a27d4 75682009-06-08 Felix Zielcke <fzielcke@z-51.de>
7569
7570 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7571 to choose between ata and biosdisk module on i386-pc.
7572
473d1e45 75732009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 7574
d55842d8 7575 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7576 Subclass and Programming Interface fields in terms of the 3 byte
7577 Class Code register.
7578 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7579
fa5db0b1 7580 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7581 interface is OHCI. Add grub_dprintf for symmetry with
7582 bus/usb/uhci.c.
7583 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7584 interface is UHCI. Add interf variable for programming
7585 interface. Print interface with class/subclass.
7586
c0947beb 7587 * bus/usb/ohci.c: Set interf with correct field.
7588
69da8877 7589 * bus/usb/uhci.c: Remove unneeded doubled lines.
7590 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7591 Remove whitespace inside comment.
7592
9e172e30 75932009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7594
7595 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7596 as fallback an equivalent option without depth.
7597
de65ee2b 75982009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 Not fail if unable to retrieve C/H/S on LBA disks
7601
473d1e45 7602 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 7603 if unable to retrieve C/H/S on LBA disks
7604
b57ea2c9 76052009-06-08 Pavel Roskin <proski@gnu.org>
7606
7607 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7608 about aliasing.
7609
af361263 76102009-06-08 Felix Zielcke <fzielcke@z-51.de>
7611
7612 * Makefile.in (uninstall): Remove all $lib_DATA files.
7613
4c9ec6b3 76142009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 Bugfix: install on partitionless device
7617
7618 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7619 is a whole disk
7620
e76fc924 76212009-06-08 Felix Zielcke <fzielcke@z-51.de>
7622
7623 * Makefile.in (uninstall): Remove all $include_DATA files.
7624
ba5a0d05 76252009-06-08 Felix Zielcke <fzielcke@z-51.de>
7626
7627 * commands/true.c: New file. Implement the true and false commands.
7628 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7629 (true_mod_SOURCES): New variable.
7630 (true_mod_CFLAGS): Likewise.
7631 (true_mod_LDFLAGS): Likewise.
7632
c8048e32 76332009-06-05 Colin D Bennett <colin@gibibit.com>
7634
7635 Optimized font character lookup using binary search instead of linear
7636 search. Fonts now are required to have the character index ordered by
7637 code point.
7638
7639 * font/font.c (load_font_index): Verify that fonts have ordered
7640 character indices.
7641 (find_glyph): Use binary search instead of linear search to find a
7642 character in a font.
7643
408305be 76442009-06-05 Michael Scherer <misc@mandriva.org>
7645
7646 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
7647 uses case sensitive btree.
7648 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
7649 only for case insensitive filesystems.
7650
8ee1e0d9 76512009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
7654 * conf/common.rmk (search_mod_CFLAGS): likewise
7655
a9966eb1 76562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7657
473d1e45 7658 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7659 compensate a compiler bug
7660
9e7100fb 76612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7662
473d1e45 7663 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7664 instead of '\b'
473d1e45 7665
ede21d71 76662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 Definitions for creating asm symbols with Apple's CC
7669
7670 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7671 [APPLE_CC] (VARIABLE): likewise
7672
9dbf7653 76732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 Disable lnxboot.img when compiled
7676 with Apple's CC
7677
7678 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7679 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7680 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7681 [! APPLE_CC] (CODE_LENG): skip
7682 [! APPLE_CC] (setup_sects): likewise
7683 [! APPLE_CC]: skip filling
473d1e45 7684
e93cdc3d 76852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 Address in trampolines based on 32-bit registers when compiled
7688 with Apple's CC
7689
473d1e45 7690 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7691 for addresses
7692 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7693
6c688477 76942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7697
7698 * kern/misc.c [APPLE_CC] (memcpy): new function
7699 [APPLE_CC] (memmove): likewise
7700 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7701 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7702 (memset): likewise
7703 (abort): likewise
7704 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7705 APPLE_CC are defined
7706 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7707 (grub_assert_fail): make prototype conditional
7708
e37ffc5c 77092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7712
473d1e45 7713 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
7714 grub-macho2img
e37ffc5c 7715 (CLEANFILES): add grub-macho2img
7716 (grub_macho2img_SOURCES): new variable
7717 * kern/i386/pc/startup.S (bss_start): new variable
7718 (bss_end): likewise
7719 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
7720 * util/grub-macho2img.c: new file
7721
cf00df31 77222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 Use objconv when compiling with Apple's CC
7725
7726 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
7727 (efiemu64.o): likewise
7728 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
7729 when compiling with Apple's CC
7730 (efiemu64_s.o): likewise
7731 * configure.ac: check for objconv when compiling with Apple's CC
7732 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 7733
d119a20c 77342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 Define segment as well as section when compiling with
7737 Apple's CC
7738
7739 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
7740 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
7741 (efiemu_convert_pointer): likewise
7742 (efiemu_set_virtual_address_map): likewise
7743 (efiemu_convert_pointer): likewise
7744 (efiemu_getcrc32): likewise
7745 (init_crc32_table): likewise
7746 (reflect): likewise
7747 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
7748 (GRUB_MOD_DEP): likewise
473d1e45 7749
c8600122 77502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 Allow a compilation without -mcmodel=large
7753
7754 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
7755 when compiled without -mcmodel=large
473d1e45 7756 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 7757 without -mcmodel=large
473d1e45 7758 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 7759 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 7760
e8df1d4e 77612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Remove nested functions in efiemu core
7764
7765 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 7766
cc6c3ac1 77672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
7770
7771 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
7772 temporary storage
473d1e45 7773 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
7774 using Apple's CC
cc6c3ac1 7775 (grub_cpu_is_tsc_supported): likewise
7776 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 7777
3e325901 77782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 Absolute addressing through constant with Apple's cc
7781
7782 * kern/i386/pc/startup.S: Define necessary constants
7783 and address through it when using ABS with Apple's CC
7784 * boot/i386/pc/diskboot.S: likewise
7785 * boot/i386/pc/boot.S: likewise
7786 * boot/i386/pc/lnxboot.S: likewise
7787 * boot/i386/pc/cdboot.S: likewise
7788 * mmap/i386/pc/mmap_helper.S: likewise
7789 * commands/i386/pc/drivemap_int13h.S: likewise
7790
2b167a72 77912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 Check if compiler is apple cc
7794
7795 * Makefile.in (ASFLAGS): new variable
7796 (TARGET_ASFLAGS): likewise
7797 (TARGET_MODULE_FORMAT): likewise
7798 (TARGET_APPLE_CC): likewise
7799 (OBJCONV): likewise
7800 (TARGET_IMG_CFLAGS): likewise
7801 (TARGET_CPPFLAGS): add includedir
7802 * configure.ac: call grub_apple_cc and grub_apple_target_cc
7803 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
7804 Check for linker script only if compiler isn't Apple's CC
7805 (TARGET_MODULE_FORMAT): set
7806 (TARGET_APPLE_CC): likewise
7807 (TARGET_ASFLAGS): likewise
7808 (ASFLAGS): likewise
7809 Check for objcopy only if compiler isn't Apple's CC
7810 Check for BSS symbol only if compiler isn't Apple's CC
7811 * genmk.rb: adapt nm options if we use Apple's utils
7812 * aclocal.m4 (grub_apple_cc): new test
7813 (grub_apple_target_cc): likewise
473d1e45 7814
fb14123e 78152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 Simplify sed expressions and improve awk
7818
7819 * Makefile.in (install-local): simplify sed expression
7820 * gencmdlist.sh: likewise
7821 * genmoddep.awk: avoid adding module as a dependency of itself
7822
5b889789 78232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 Add missing start symbols
7826
7827 * boot/i386/pc/boot.S: add start
fb14123e 7828 * boot/i386/pc/pxeboot.S: likewise
473d1e45 7829
fd2bf2e3 78302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 7833
7834 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 7835 (relocate_addresses): consider both r_addend and value at offset
7836 (make_mods_section): zerofill modinfo and header
7837 (convert_elf): write prefix here
473d1e45 7838
5389763d 78392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 Use .asciz instead of .string
7842
7843 * i386/pc/diskboot.S: use .asciz instead of .string
7844 * i386/pc/boot.S: likewise
7845 * include/grub/dl.h (GRUB_MOD_DEP): likewise
7846 (GRUB_MOD_NAME): likewise
473d1e45 7847
3eb5ed4e 78482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 gfxpayload support
7851
7852 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7853 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7854 (grub_video_setup): remove
7855 (grub_video_set_mode): new prototype
7856 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
7857 (vid_mode): remove
7858 (linux_vesafb_res): compile only on PCBIOS
7859 (grub_linux_boot): support gfxpayload
7860 * loader/i386/pc/xnu.c (video_hook): new function
7861 (grub_xnu_set_video): support gfxpayload
7862 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
7863 (DEFAULT_VIDEO_HEIGHT): likewise
7864 (DEFAULT_VIDEO_FLAGS): likewise
7865 (DEFAULT_VIDEO_MODE): new definition
7866 (video_hook): new function
7867 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 7868 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 7869 loading xnu
7870 * video/video.c (grub_video_setup): removed
473d1e45 7871 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 7872 grub_video_setup
7873
4b0e1143 78742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 Avoid calling biosdisk in drivemap
7877
7878 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
7879 (revparse_biosdisk): likewise
7880 (list_mappings): derive name from id directly
7881 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 7882
fda6cb98 78832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 Script fixes
7886
7887 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
7888 (grub_lexer_param): add tokenonhold
7889 (grub_script_create_cmdline): remove cmdline. All callers updated
7890 (grub_script_function_create): make functionname
7891 grub_script_arg. All callers updated
7892 (grub_script_execute_argument_to_string): new prototype
7893 * kern/parser.c (state_transitions): reorder
7894 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 7895 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 7896 make global
7897 (grub_script_execute_cmdline): use new format
7898 * script/sh/function.c (grub_script_function_create): make functionname
7899 grub_script_arg. All callers updated
473d1e45 7900 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 7901 (grub_script_yylex): remove
7902 (grub_script_yylex2): renamed to ...
7903 (grub_script_yylex): ...renamed
7904 parse the expressions like a${b}c
7905 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
7906 (GRUB_PARSER_TOKEN_VAR): remove
7907 (GRUB_PARSER_TOKEN_NAME): likewise
7908 ("if"): declare as typeless
7909 ("while"): likewise
7910 ("function"): likewise
7911 ("else"): likewise
7912 ("then"): likewise
7913 ("fi"): likewise
7914 (text): remove
7915 (argument): likewise
7916 (script): accept empty scripts and make exit on error
7917 (arguments): use GRUB_PARSER_TOKEN_ARG
7918 (function): likewise
7919 (command): move error handling to script
7920 (menuentry): move grub_script_lexer_ref before
473d1e45 7921 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 7922 argument. All callers updated
7923
f4448a07 79242009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7925
7926 Prevent GRUB from probing floppies during boot.
7927
7928 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
7929 * commands/search.c (options): Add --no-floppy.
7930 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
7931 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
7932 --no-floppy when searching for UUIDs.
7933
2bf5885a 79342009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7935
7936 Simplify the code duplication in commands/search.c.
7937
7938 * commands/search.c (search_label, search_fs_uuid): Merge into ...
7939 (search_fs): ... this. Update all users.
7940
f6fd460a 79412009-06-03 Felix Zielcke <fzielcke@z-51.de>
7942
7943 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
7944
cbb3c83e 79452009-05-28 Pavel Roskin <proski@gnu.org>
7946
57788cfd 7947 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
7948 Remove the original symlink explicitly.
7949
cbb3c83e 7950 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
7951 just one slash. That's how grub_fshelp_find_file() does it.
7952
cd0d5e30 79532009-05-26 Pavel Roskin <proski@gnu.org>
7954
f0f8bbe2 7955 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
7956 to `str'.
7957
cd0d5e30 7958 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
7959 possibly unused.
7960
8c2cab51 79612009-05-25 Christian Franke <franke@computer.org>
7962
7963 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
7964 register.
7965 (grub_atapi_identify): Add wait after drive select.
7966 (grub_ata_identify): Do more strict status register check before
7967 calling grub_atapi_identify (). Suppress error message if status
7968 register is 0x00 after command failure. Add status register
7969 check after PIO read to avoid bogus identify due to stuck DRQ.
7970 Thanks to Pavel Roskin for testing.
7971 (grub_device_initialize): Remove unsafe status register check.
7972 Thanks to 'phcoder' for problem report and patch.
7973 Prevent sign extension in debug message.
7974
230c0ad6 79752009-05-23 Colin D Bennett <colin@gibibit.com>
7976
7977 Cleaned up `include/grub/normal.h'. Grouped prototypes by
7978 definition file, and functions defined in `normal/menu.c' have had
7979 their prototypes moved to `include/grub/menu.h' for consistency.
7980
7981 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
7982 from normal.h.
7983 (grub_menu_get_entry): Likewise.
7984 (grub_menu_get_timeout): Likewise.
7985 (grub_menu_set_timeout): Likewise.
7986 (grub_menu_execute_entry): Likewise.
7987 (grub_menu_execute_with_fallback): Likewise.
7988 (grub_menu_entry_run): Likewise.
7989
7990 * include/grub/normal.h: Re-ordered and grouped function
7991 prototypes by file that the function is defined in.
7992 (grub_menu_execute_callback): Removed; moved to menu.h.
7993 (grub_menu_get_entry): Likewise.
7994 (grub_menu_get_timeout): Likewise.
7995 (grub_menu_set_timeout): Likewise.
7996 (grub_menu_execute_entry): Likewise.
7997 (grub_menu_execute_with_fallback): Likewise.
7998 (grub_menu_entry_run): Likewise.
7999 (grub_menu_addentry): Renamed from this ...
8000 (grub_normal_add_menu_entry): ... to this.
8001
8002 * normal/main.c (grub_menu_addentry): Renamed from this ...
8003 (grub_normal_add_menu_entry): ... to this.
8004
8005 * script/sh/execute.c (grub_script_execute_menuentry): Update
8006 reference to renamed grub_menu_addentry function.
8007
861f03a5 80082009-05-23 Felix Zielcke <fzielcke@z-51.de>
8009
8010 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8011
96b1619a 80122009-05-22 Pavel Roskin <proski@gnu.org>
8013
bf6a5fb2 8014 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8015 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8016 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8017 compiling for the i386 targets, but not for the utilities.
8018
96b1619a 8019 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8020 to grub_uint8_t.
8021 (grub_root_drive): Likewise.
8022 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8023 remove alignment.
8024 (grub_root_drive): Change size to byte.
8025 (grub_start_addr): Remove.
8026 (grub_end_addr): Likewise.
8027 (grub_apm_bios_info): Likewise.
8028
b729776b 80292009-05-21 Felix Zielcke <fzielcke@z-51.de>
8030
8031 * normal/i386: Remove.
8032 * normal/powerpc: Likewise.
8033 * normal/sparc64: Likewise.
8034 * normal/x86_64: Likewise.
8035
0a15ce80 80362009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8039 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8040 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8041
33db9015 80422009-05-18 Colin D Bennett <colin@gibibit.com>
8043
d6da58e6 8044 Display error messages when parsing a Lua statement fails.
8045 Previously, executing a syntactically invalid statement like
8046 ")foo" or "bar;" would silently fail.
33db9015 8047
8048 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8049 (grub_lua_parse_line): Improved reporting of Lua parser and
8050 execution errors.
33db9015 8051
46422c89 80522009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 Remove -Werror which causes build to fail on some systems
8055
8056 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8057 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8058 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8059
22f53a96 80602009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 trampoline for linux on 64-bit platform
8063
18f547ad 8064 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8065 loader/i386/efi/linux_trampoline.S
8066 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8067 declaration
d6da58e6 8068 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8069 here
22f53a96 8070 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8071 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8072 trampoline
22f53a96 8073 (jumpvector): removed
8074 (grub_linux_trampoline_start): new declaration
8075 (grub_linux_trampoline_end): likewise
8076 (grub_linux_boot): use trampoline when on 64-bit platform
8077 * loader/i386/linux.c: likewise
8078
cb5a0f40 80792009-05-16 Pavel Roskin <proski@gnu.org>
8080
8081 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8082 const to avoid a warning.
8083 (grub_lua_setenv): Likewise.
8084 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8085 lmsg to fix a warning.
8086
334f2c28 80872009-05-16 Felix Zielcke <fzielcke@z-51.de>
8088
8089 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8090 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8091 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8092 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8093 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8094 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8095 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8096 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8097
59e5d3ec 80982009-05-16 Felix Zielcke <fzielcke@z-51.de>
8099
8100 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8101
9d87a1ba 81022009-05-16 Bean <bean123ch@gmail.com>
8103
8104 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8105 (lua_mod_SOURCES): New variable.
8106 (lua_mod_CFLAGS): Likewise.
8107 (lua_mod_LDFLAGS): Likewise.
8108
8109 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8110 (setjmp_mod_SOURCES): New variable.
8111 (setjmp_mod_CFLAGS): Likewise.
8112 (setjmp_LDFLAGS): Likewise.
8113
8114 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8115 (setjmp_mod_SOURCES): New variable.
8116 (setjmp_mod_CFLAGS): Likewise.
8117 (setjmp_LDFLAGS): Likewise.
8118
8119 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8120 (setjmp_mod_SOURCES): New variable.
8121 (setjmp_mod_CFLAGS): Likewise.
8122 (setjmp_LDFLAGS): Likewise.
8123
8124 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8125 (setjmp_mod_SOURCES): New variable.
8126 (setjmp_mod_CFLAGS): Likewise.
8127 (setjmp_LDFLAGS): Likewise.
8128
8129 * normal/i386/setjmp.S: Moved from here ...
8130 * lib/i386/setjmp.S: ... Moved here
8131 * normal/x86_64/setjmp.S: Moved from here ...
8132 * lib/x86_64/setjmp.S: ... Moved here
8133 * normal/powerpc/setjmp.S: Moved from here ...
8134 * lib/powerpc/setjmp.S: ... Moved here
8135 * normal/sparc64/setjmp.S: Moved from here ...
8136 * lib/sparc64/setjmp.S: ... Moved here
8137
8138 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8139 returns_twice in mingw.
8140
8141 * script/lua/grub_lib.c: New file.
8142 * script/lua/grub_lib.h: Likewise.
8143 * script/lua/grub_lua.h: Likewise.
8144 * script/lua/grub_main.c: Likewise.
8145 * script/lua/lapi.c: Likewise.
8146 * script/lua/lapi.h: Likewise.
8147 * script/lua/lauxlib.c: Likewise.
8148 * script/lua/lauxlib.h: Likewise.
8149 * script/lua/lbaselib.c: Likewise.
8150 * script/lua/lcode.c: Likewise.
8151 * script/lua/lcode.h: Likewise.
8152 * script/lua/ldblib.c: Likewise.
8153 * script/lua/ldebug.c: Likewise.
8154 * script/lua/ldebug.h: Likewise.
8155 * script/lua/ldo.c: Likewise.
8156 * script/lua/ldo.h: Likewise.
8157 * script/lua/ldump.c: Likewise.
8158 * script/lua/lfunc.c: Likewise.
8159 * script/lua/lfunc.h: Likewise.
8160 * script/lua/lgc.c: Likewise.
8161 * script/lua/lgc.h: Likewise.
8162 * script/lua/linit.c: Likewise.
8163 * script/lua/liolib.c: Likewise.
8164 * script/lua/llex.c: Likewise.
8165 * script/lua/llex.h: Likewise.
8166 * script/lua/llimits.h: Likewise.
8167 * script/lua/lmathlib.c: Likewise.
8168 * script/lua/lmem.c: Likewise.
8169 * script/lua/lmem.h: Likewise.
8170 * script/lua/loadlib.c: Likewise.
8171 * script/lua/lobject.c: Likewise.
8172 * script/lua/lobject.h: Likewise.
8173 * script/lua/lopcodes.c: Likewise.
8174 * script/lua/lopcodes.h: Likewise.
8175 * script/lua/loslib.c: Likewise.
8176 * script/lua/lparser.c: Likewise.
8177 * script/lua/lparser.h: Likewise.
8178 * script/lua/lstate.c: Likewise.
8179 * script/lua/lstate.h: Likewise.
8180 * script/lua/lstring.c: Likewise.
8181 * script/lua/lstring.h: Likewise.
8182 * script/lua/lstrlib.c: Likewise.
8183 * script/lua/ltable.c: Likewise.
8184 * script/lua/ltable.h: Likewise.
8185 * script/lua/ltablib.c: Likewise.
8186 * script/lua/ltm.c: Likewise.
8187 * script/lua/ltm.h: Likewise.
8188 * script/lua/lua.h: Likewise.
8189 * script/lua/luaconf.h: Likewise.
8190 * script/lua/lualib.h: Likewise.
8191 * script/lua/lundump.c: Likewise.
8192 * script/lua/lundump.h: Likewise.
8193 * script/lua/lvm.c: Likewise.
8194 * script/lua/lvm.h: Likewise.
8195 * script/lua/lzio.c: Likewise.
8196 * script/lua/lzio.h: Likewise.
8197
5e898c9d 81982009-05-16 Bean <bean123ch@gmail.com>
8199
8200 * include/grub/kernel.h (grub_module_header_types): Add type
8201 OBJ_TYPE_CONFIG.
8202
8203 * kern/main.c (grub_load_config): New function.
8204 (grub_main): Call grub_load_config to read boot config.
8205
8206 * grub-mkimage (generate_image): New parameter config_path.
8207 (options): New option --config.
8208 (main): Parse --config option, and pass it to generate_image.
8209
cf353a47 82102009-05-14 Christian Franke <franke@computer.org>
8211
8212 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
8213 This fixes build on Cygwin.
8214
3834887f 82152009-05-14 Pavel Roskin <proski@gnu.org>
8216
8217 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
8218 jump. This saves two bytes, so the typical case of 2 swapped
8219 drives would fit 32 bytes.
8220
8090fc01 82212009-05-13 Pavel Roskin <proski@gnu.org>
8222
ac963883 8223 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
8224 grub_uint32_t to avoid a warning.
8225
8090fc01 8226 * loader/i386/linux.c (allocate_pages): When assigning
8227 real_mode_mem, cast through grub_size_t to fix a warning. The
8228 code already makes sure that the value would fit a pointer.
8229 (grub_linux_setup_video): Cast render_target->data to
8230 grub_size_t to fix a warning.
8231
18f547ad 82322009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 8233
8234 * commands/i386/pc/drivemap.c: New file - implement drivemap
8235 command.
8236 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
8237 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
8238
6f6a8b28 82392009-05-13 Pavel Roskin <proski@gnu.org>
8240
8241 * util/i386/pc/grub-setup.c (setup): Remove unused variable
8242 embedding_area_exists.
8243
15fbf4c4 82442009-05-13 Robert Millan <rmh.grub@aybabtu.com>
8245
8246 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
8247 it easier to understand / work with.
59978c8a 8248 Improve warning messages for cases where there's no embedding area,
8249 or when it is too small (or core.img too large).
15fbf4c4 8250
238e871f 82512009-05-13 Pavel Roskin <proski@gnu.org>
8252
0ab3a9a4 8253 * loader/i386/pc/multiboot2.c: Add necessary includes for
8254 grub_multiboot2_real_boot().
8255
a2c8c5f8 8256 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
8257 PX record is always little-endian. We only need the lower 2
8258 bytes of the mode.
8259
faec96af 8260 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
8261 facilitate code reuse.
8262 (grub_cpio_mount): Use "struct head", not a char buffer. This
8263 fixes a warning reported by gcc 4.4.
8264
238e871f 8265 * kernel/disk.c (grub_disk_read): Use void pointer for the
8266 buffer.
8267 (grub_disk_write): Use const void pointer for the buffer.
8268 Adjust all callers. Remove unnecessary casts.
8269
901d2f0c 82702009-05-10 Robert Millan <rmh.grub@aybabtu.com>
8271
8272 * util/i386/pc/grub-install.in: Update copyright year.
8273
18f547ad 82742009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 8275
8276 gptsync
8277
8278 * commands/gptsync.c: new file
8279 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
8280 (gptsync_mod_SOURCES): new variable
8281 (gptsync_mod_CFLAGS): likewise
8282 (gptsync_mod_LDFLAGS): likewise
18f547ad 8283 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 8284 new definition
8285 (GRUB_PC_PARTITION_TYPE_HFS): likewise
8286 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
8287 * conf/i386-ieee1275.rmk: likewise
8288 * conf/i386-pc.rmk: likewise
8289 * conf/powerpc-ieee1275.rmk: likewise
8290
b4ba690a 82912009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 Fixed grub-emu
8294
8295 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
8296 (grub_dl_ref): likewise
8297
317e1a44 82982009-05-08 Robert Millan <rmh.grub@aybabtu.com>
8299
8300 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
8301 split in two functions (one for msdos and one for gpt).
8302
041b8094 83032009-05-08 Pavel Roskin <proski@gnu.org>
8304
752473c2 8305 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
8306 not modified.
8307
041b8094 8308 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
8309 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
8310 Initialize them with -1. Add sanity check for bad1. Eliminate
8311 nerr variable.
8312
172800ce 83132009-05-08 David S. Miller <davem@davemloft.net>
8314
8315 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
8316
29aa5e81 83172009-05-06 Robert Millan <rmh.grub@aybabtu.com>
8318
8319 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 8320 existence.
29aa5e81 8321
96613b62 83222009-05-05 Felix Zielcke <fzielcke@z-51.de>
8323
8324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 8325 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 8326
eef73c8a 83272009-05-05 David S. Miller <davem@davemloft.net>
8328
8329 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
8330
119494b5 83312009-05-05 Pavel Roskin <proski@gnu.org>
8332
8333 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
8334 of grub_dl_ref() and grub_dl_unref().
8335 * commands/parttool.c: Remove preprocessor conditionals around
8336 grub_dl_ref() and grub_dl_unref().
8337 * fs/affs.c: Likewise.
8338 * fs/afs.c: Likewise.
8339 * fs/cpio.c: Likewise.
8340 * fs/ext2.c: Likewise.
8341 * fs/fat.c: Likewise.
8342 * fs/hfs.c: Likewise.
8343 * fs/hfsplus.c: Likewise.
8344 * fs/iso9660.c: Likewise.
8345 * fs/jfs.c: Likewise.
8346 * fs/minix.c: Likewise.
8347 * fs/ntfs.c: Likewise.
8348 * fs/reiserfs.c: Likewise.
8349 * fs/sfs.c: Likewise.
8350 * fs/udf.c: Likewise.
8351 * fs/ufs.c: Likewise.
8352 * fs/xfs.c: Likewise.
8353 * include/grub/dl.h: Likewise.
8354 * loader/xnu.c: Likewise.
8355
de5fd76e 83562009-05-04 Pavel Roskin <proski@gnu.org>
8357
8358 * commands/acpi.c: Remove unused variable my_mod.
8359 * partmap/amiga.c: Likewise.
8360 * partmap/apple.c: Likewise.
8361 * partmap/gpt.c: Likewise.
8362 * partmap/pc.c: Likewise.
8363 * partmap/sun.c: Likewise.
8364 * term/gfxterm.c: Likewise.
8365 * term/i386/pc/vesafb.c: Likewise.
8366 * term/i386/pc/vga.c: Likewise.
8367
983598ad 83682009-05-04 David S. Miller <davem@davemloft.net>
8369
8370 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
8371 pointer args to grub_ieee1275_get_property().
8372
8aadec43 8373 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
8374
9554b15e 8375 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
8376 devices, and do not traverse down under controller nodes.
8377
67e23c90 8378 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
8379 (grub_ofdisk_open): Use it to un-escape "," characters.
8380 * kern/disk.c (find_part_sep): New.
8381 (grub_disk_open): Use it to find the first non-escaped ','
8382 character in the disk name.
8383 * util/ieee1275/devicemap.c (escape_of_path): New.
8384 (grub_util_emit_devicemap_entry): Use it.
8385 * util/sparc64/ieee1275/grub-install.in: Update script to
8386 strip partition specifiers properly by not triggering on
8387 '\' escaped ',' characters.
8388
74bfdd2f 83892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8390
8391 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
8392 to 0x300.
8393 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
8394 resolutions.
8395 (linux_vesafb_modes): Add a lot of additional modes to the list (based
8396 on documentation from Wikipedia).
8397
4241d2b1 83982009-05-04 Pavel Roskin <proski@gnu.org>
8399
8400 * disk/ata.c: Spelling fixes.
8401 * disk/raid.c: Likewise.
8402 * disk/usbms.c: Likewise.
8403 * disk/dmraid_nvidia.c: Likewise.
8404 * kern/ieee1275/openfw.c: Likewise.
8405 * kern/ieee1275/init.c: Likewise.
8406 * kern/ieee1275/cmain.c: Likewise.
8407 * boot/i386/pc/cdboot.S: Likewise.
8408 * video/readers/png.c: Likewise.
8409 * video/i386/pc/vbe.c: Likewise.
8410 * fs/udf.c: Likewise.
8411 * fs/hfs.c: Likewise.
8412 * fs/reiserfs.c: Likewise.
8413 * efiemu/runtime/efiemu.c: Likewise.
8414 * efiemu/main.c: Likewise.
8415 * efiemu/mm.c: Likewise.
8416 * include/grub/elf.h: Likewise.
8417 * include/grub/xnu.h: Likewise.
8418 * include/grub/usbdesc.h: Likewise.
8419 * include/grub/usb.h: Likewise.
8420 * include/grub/script_sh.h: Likewise.
8421 * include/grub/lib/LzmaEnc.h: Likewise.
8422 * include/grub/efiemu/efiemu.h: Likewise.
8423 * include/grub/command.h: Likewise.
8424 * normal/menu.c: Likewise.
8425 * normal/main.c: Likewise.
8426 * normal/datetime.c: Likewise.
8427 * bus/usb/uhci.c: Likewise.
8428 * mmap/i386/uppermem.c: Likewise.
8429 * mmap/mmap.c: Likewise.
8430 * commands/acpi.c: Likewise.
8431 * commands/test.c: Likewise.
8432 * partmap/apple.c: Likewise.
8433 * font/font.c: Likewise.
8434 * loader/sparc64/ieee1275/linux.c: Likewise.
8435 * loader/macho.c: Likewise.
8436 * loader/i386/bsd_trampoline.S: Likewise.
8437 * loader/i386/bsd.c: Likewise.
8438 * loader/xnu.c: Likewise.
8439 * term/i386/pc/vesafb.c: Likewise.
8440 * term/usb_keyboard.c: Likewise.
8441 * util/resolve.c: Likewise.
8442 * util/getroot.c: Likewise.
8443
0cfc0083 84442009-05-04 Felix Zielcke <fzielcke@z-51.de>
8445
8446 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
8447
7c1d00cd 84482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8449
8450 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
8451 build error.
8452
b01f0548 84532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8454
8455 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
8456 parameter only available on BIOS.
8457
ecc3eb22 84582009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 Removed wrong semicolon in declaration
8461
8462 * grub/misc.h (grub_dprintf): remove semicolon
8463
112972a9 84642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8465
8466 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8467 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8468 is done by grub_cmd_linux() now).
8469 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8470 restore video to text mode.
8471 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8472 indicates lack of "vga=" parameter. "vga=0" is mapped to
8473 `GRUB_LINUX_VID_MODE_NORMAL'.
8474
afd5c115 84752009-05-04 Felix Zielcke <fzielcke@z-51.de>
8476
8477 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8478 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8479 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 8480 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 8481 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8482 `grub_script.tab.c'.
8483
8484 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8485 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8488 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8489
faa517ce 8490 * Makefile.in: Remove duplicated 2008 in Copyright line.
8491
ae0c0bdc 84922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8493
473d1e45 8494 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 8495 unconditionally.
8496 * include/grub/util/misc.h (grub_util_warn): New declaration.
8497
8498 * util/i386/pc/grub-install.in: Understand --force and pass it down
8499 to grub-setup.
8500
8501 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8502 down to setup().
8503 (setup): Improve error messages and add warnings when requested to
8504 install in odd layouts. Refuse to install using blocklists unless
8505 --force was set.
8506
18f547ad 85072009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8508
8509 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8510
6d260daa 85112009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 Updated copyright year
8514
8515 * fs/hfsplus.c: updated copyright year
18f547ad 8516
69f853f8 85172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 HFS+ UUID
8520
18f547ad 8521 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8522 in the space previously used by unused3
8523 (grub_hfsplus_uuid): new function
8524 (grub_hfsplus_fs): added uuid field
8525
4c402e73 85262009-05-03 Pavel Roskin <proski@gnu.org>
8527
8528 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8529 suppress warnings. It's no longer needed.
8530 * disk/host.c: Likewise.
8531 * disk/ata_pthru.c: Likewise.
8532 * disk/loopback.c: Likewise.
8533 * hook/datehook.c: Likewise.
8534 * parttool/pcpart.c: Likewise.
8535 * fs/i386/pc/pxe.c: Likewise.
8536 * fs/ntfscomp.c: Likewise.
8537 * efiemu/main.c: Likewise.
8538 * mmap/mmap.c: Likewise.
8539 * commands/crc.c: Likewise.
8540 * commands/hexdump.c: Likewise.
8541 * commands/hdparm.c: Likewise.
8542 * commands/acpi.c: Likewise.
8543 * commands/echo.c: Likewise.
8544 * commands/minicmd.c: Likewise.
8545 * commands/blocklist.c: Likewise.
8546 * commands/memrw.c: Likewise.
8547 * commands/loadenv.c: Likewise.
8548 * commands/usbtest.c: Likewise.
8549 * commands/lsmmap.c: Likewise.
8550 * commands/boot.c: Likewise.
8551 * commands/parttool.c: Likewise.
8552 * commands/configfile.c: Likewise.
8553 * commands/search.c: Likewise.
8554 * commands/ieee1275/suspend.c: Likewise.
8555 * commands/cat.c: Likewise.
8556 * commands/i386/pc/pxecmd.c: Likewise.
8557 * commands/i386/pc/play.c: Likewise.
8558 * commands/i386/pc/halt.c: Likewise.
8559 * commands/i386/pc/vbeinfo.c: Likewise.
8560 * commands/i386/pc/vbetest.c: Likewise.
8561 * commands/lspci.c: Likewise.
8562 * commands/date.c: Likewise.
8563 * commands/handler.c: Likewise.
8564 * commands/ls.c: Likewise.
8565 * commands/test.c: Likewise.
8566 * commands/cmp.c: Likewise.
8567 * commands/efi/loadbios.c: Likewise.
8568 * commands/efi/fixvideo.c: Likewise.
8569 * commands/halt.c: Likewise.
8570 * commands/help.c: Likewise.
8571 * commands/reboot.c: Likewise.
8572 * hello/hello.c: Likewise.
8573 * script/sh/main.c: Likewise.
8574 * loader/xnu.c: Likewise.
8575 * term/terminfo.c: Likewise.
8576 * term/i386/pc/serial.c: Likewise.
8577 * term/usb_keyboard.c: Likewise.
8578
515b5079 85792009-05-03 David S. Miller <davem@davemloft.net>
8580
8581 * normal/menu.c: Include grub/parser.h
8582
dfc31a22 85832009-05-03 Pavel Roskin <proski@gnu.org>
8584
2fee74f1 8585 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8586 not char*.
8587 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8588 Suggested by Javier Martín <lordhabbit@gmail.com>
8589
dfc31a22 8590 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8591 efiemu??.o doesn't exist.
8592 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8593 copying.
8594
18f547ad 85952009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 8596
8597 FreeBSD 64-bit support
8598
18f547ad 8599 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 8600 and loader/i386/bsd_trampoline.S
8601 (bsd_mod_ASFLAGS): new variable
8602 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8603 (FREEBSD_MODTYPE_KERNEL64): likewise
8604 (grub_bsd64_trampoline_start): likewise
8605 (grub_bsd64_trampoline_end): likewise
8606 (grub_bsd64_trampoline_selfjump): likewise
8607 (grub_bsd64_trampoline_gdt): likewise
8608 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8609 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8610 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8611 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 8612 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 8613 of "attrib" member
8614 * loader/i386/bsd_pagetable.c: new file
8615 * loader/i386/bsd_trampoline.S: likewise
8616 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8617 (ALIGN_VAR): likewise
8618 (entry_hi): new variable
8619 (kern_end_mdofs): likewise
8620 (is_64bit): likewise
8621 (grub_freebsd_add_meta): use ALIGN_VAR
8622 (grub_e820_mmap): new declaration
8623 (grub_freebsd_add_mmap): new function
8624 (grub_freebsd_add_meta_module): support 64 bit kernels
8625 (grub_freebsd_list_modules): use ALIGN_VAR
8626 (gdt_descriptor): new declaration
8627 (grub_freebsd_boot): support 64 bit kernels
8628 (grub_bsd_elf64_hook): new function
8629 (grub_bsd_load_elf): support elf64
8630
038c5720 86312009-05-03 Bean <bean123ch@gmail.com>
8632
8633 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8634 after we get the result of if statement.
8635
fc45fb58 86362009-05-03 Bean <bean123ch@gmail.com>
8637
8638 * Makefile.in (enable_efiemu): New variable.
8639
8640 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
8641 set.
8642 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
8643 path.
8644 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
8645 path, add -mno-red-zone option.
8646 (efiemu64_s.o): Likewise.
8647 (efiemu64.o): Use macro $^ for source file.
8648
8649 * configure.ac (--enable-efiemu): New option.
8650
bbee0f2b 86512009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 xnu support
8654
8655 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8656 (pkglib_MODULES): add xnu.mod
8657 (xnu_mod_SOURCES): new variable
8658 (xnu_mod_CFLAGS): likewise
8659 (xnu_mod_LDFLAGS): likewise
8660 (xnu_mod_ASFLAGS): likewise
8661 * conf/i386-pc.rmk: likewise
8662 * conf/x86_64-efi.rmk: likewise
7dd4a573 8663 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8664 new declaration
8665 * include/grub/i386/macho.h: new file
8666 * include/grub/i386/xnu.h: likewise
8667 * include/grub/macho.h: likewise
8668 * include/grub/machoload.h: likewise
8669 * include/grub/x86_64/macho.h: likewise
8670 * include/grub/x86_64/xnu.h: likewise
8671 * include/grub/xnu.h: likewise
8672 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8673 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8674 * loader/i386/efi/xnu.c: new file
8675 * loader/i386/pc/xnu.c: likewise
8676 * loader/i386/xnu.c: likewise
8677 * loader/i386/xnu_helper.S: likewise
8678 * loader/macho.c: likewise
8679 * loader/xnu.c: likewise
8680 * loader/xnu_resume.c: likewise
8681 * util/grub-dumpdevtree: likewise
8682 * include/grub/i386/pit.h: include grub/err.h
8683 (grub_pit_wait): export
8684 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8685
5caf964d 86862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 Efiemu
7dd4a573 8689
5caf964d 8690 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8691 _linux_efi, linux_efi.
8692 new files in grub-emu
5caf964d 8693 new targets efiemu32.o and efiemu64.o
8694 * loader/linux_normal_efiemu.c: likewise
8695 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8696 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8697 files to copy
8698 * include/grub/autoefi.h: new file
7dd4a573 8699 * include/grub/i386/efiemu.h: likewise
5caf964d 8700 * include/grub/i386/pc/efiemu.h: likewise
8701 * include/grub/efi/api.h: add LL suffix when necessary
8702 new definitions relating to tables
8703 * include/grub/efiemu/efiemu.h: new file
8704 * include/grub/efiemu/runtime.h: likewise
8705 * efiemu/prepare.c: likewise
8706 * efiemu/loadcore_common.c: likewise
8707 * efiemu/loadcore64.c: likewise
8708 * efiemu/runtime/efiemu.sh: likewise
8709 * efiemu/runtime/efiemu.S: likewise
8710 * efiemu/runtime/efiemu.c: likewise
8711 * efiemu/runtime/config.h: likewise
8712 * efiemu/prepare32.c: likewise
8713 * efiemu/main.c: likewise
8714 * efiemu/modules/pnvram.c: likewise
8715 * efiemu/modules/i386: likewise
8716 * efiemu/modules/i386/pc: likewise
8717 * efiemu/modules/acpi.c: likewise
8718 * efiemu/i386/pc/cfgtables.c: likewise
8719 * efiemu/i386/loadcore64.c: likewise
8720 * efiemu/i386/loadcore32.c: likewise
8721 * efiemu/prepare64.c: likewise
8722 * efiemu/loadcore.c: likewise
8723 * efiemu/symbols.c: likewise
8724 * efiemu/mm.c: likewise
8725 * efiemu/loadcore32.c: likewise
7dd4a573 8726
87272009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 8728
8729 ACPI spoofing
8730
8731 * commands/acpi.c: new file
8732 * commands/i386/pc/acpi.c: likewise
8733 * commands/efi/acpi.c: likewise
8734 * include/grub/acpi.h: likewise
8735 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
8736 (acpi_mod_SOURCES): new variable
8737 (acpi_mod_CFLAGS): likewise
8738 (acpi_mod_LDFLAGS): likewise
8739 * conf/i386-efi.rmk: likewise
8740 * conf/x86_64-efi.rmk: likewise
8741
7dd4a573 87422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 8743
8744 Missing part from mmap patch
8745
8746 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
8747 (grub_mmap_unregister)
8748 (grub_mmap_free_and_unregister): use grub_mmap_register
8749
7dd4a573 87502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 8751
8752 Mmap services
8753
8754 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
8755 * loader/i386/linux.c (find_mmap_size): likewise
8756 (allocate_pages): likewise
8757 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
8758 (grub_fill_multiboot_mmap): likewise
8759 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
8760 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
8761 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
8762 (OPENBSD_MMAP_RESERVED): likewise
8763 * include/grub/i386/pc/memory.h: include grub/memory.h
8764 (grub_lower_mem): removed
8765 (grub_upper_mem): likewise
8766 (GRUB_MACHINE_MEMORY_ACPI): new definition
8767 (GRUB_MACHINE_MEMORY_NVS): likewise
8768 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
8769 (GRUB_MACHINE_MEMORY_HOLE): likewise
8770 (grub_machine_mmap_register): likewise
8771 (grub_machine_mmap_unregister): likewise
8772 (grub_machine_get_upper): likewise
8773 (grub_machine_get_lower): likewise
8774 (grub_machine_get_post64): likewise
8775 * include/grub/i386/efi/memory.h: new file
8776 * include/grub/x86_64/efi/memory.h: likewise
8777 * include/grub/efi/memory.h: likewise
8778 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
8779 (mmap_mod_SOURCES): new variable
8780 (mmap_mod_LDFLAGS): likewise
8781 (mmap_mod_ASFLAGS): likewise
8782 * conf/i386-coreboot.rmk: likewise
8783 * conf/i386-ieee1275.rmk: likewise
8784 * conf/i386-efi.rmk: likewise
8785 * conf/x86_64-efi.rmk: likewise
8786 * include/grub/types.h (UINT_TO_PTR): new macro
8787 (PTR_TO_UINT32): likewise
8788 (PTR_TO_UINT64): likewise
8789 * include/grub/memory.h: new file
8790 * mmap/i386/pc/mmap.c: likewise
8791 * mmap/i386/pc/mmap_helper.S: likewise
8792 * mmap/i386/uppermem.c: likewise
8793 * mmap/mmap.c: likewise
8794 * mmap/efi/mmap.c: likewise
7dd4a573 8795 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 8796 grub_upper_mem
8797 * kern/i386/pc/init.c (grub_lower_mem): removed variable
8798 (grub_upper_mem): likewise
8799 (grub_machine_init): don't use grub_upper_mem,
8800 make grub_lower_mem local
8801 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
8802 grub_mmap_iterate and grub_mmap_get_upper
8803 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
8804
d558e6b5 88052009-05-02 Bean <bean123ch@gmail.com>
8806
8807 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
8808 script/sh/parser.y.
8809 (pkglib_MODULES): Add normal.mod and sh.mod.
8810 (normal_SOURCES): New variable.
8811 (normal_mod_CFLAGS): Likewise.
8812 (normal_mod_LDFLAGS): Likewise.
8813 (sh_mod_SOURCES): Likewise.
8814 (sh_mod_CFLAGS): Likewise.
8815 (sh_mod_LDFLAGS): Likewise.
8816
8817 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
8818 script/sh/lexer.c_DEPENDENCIES.
8819 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
8820 kern/rescue_reader.c and kern/rescue_parser.c.
8821 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
8822 (grub_emu_SOURCES): Change source files.
8823 (pkglib_MODULES): Remove normal.mod.
8824 (normal_SOURCES): Removed.
8825 (normal_mod_CFLAGS): Likewise.
8826 (normal_mod_LDFLAGS): Likewise.
8827 * conf/i386-coreboot.rmk: Likewise.
8828 * conf/i386-efi.rmk: Likewise.
8829 * conf/i386-ieee1276.rmk: Likewise.
8830 * conf/powerpc-ieee1275.rmk: Likewise.
8831 * conf/sparc64-ieee1275.rmk: Likewise.
8832 * conf/x86_64-efi.rmk: Likewise.
8833
8834 * include/grub/command.h (grub_command_execute): New inline function.
8835
8836 * include/grub/menu.h (grub_menu_entry): Removed commands field.
8837
8838 * include/grub/normal.h: Remove <grub/setjmp.h>.
8839 (grub_fs_module_list): Moved to normal/autofs.c.
8840 (grub_exit_env): Removed.
8841 (grub_command_execute): Likewise.
8842 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
8843 parameter script.
8844 (read_command_list): New function declaration.
8845 (read_fs_list): Likewise.
8846
8847 * include/parser.h: Include <grub/reader.h>.
8848 (grub_parser_split_cmdline): Change type of getline parameter.
8849 (grub_parser): New structure.
8850 (grub_parser_class): New variable.
8851 (grub_parser_execute): New function declaration.
8852 (grub_register_rescue_parser): Likewise.
8853 (grub_parser_register): New inline function.
8854 (grub_parser_unregister): Likewise.
8855 (grub_parser_get_current): Likewise.
8856 (grub_parser_set_current): Likewise.
8857
8858 * include/grub/reader.h: New file.
8859 * kern/reader.c: Likewise.
8860 * kern/rescue_parser.c: Likewise.
8861 * kern/rescue_reader.c: Likewise.
8862 * normal/autofs.c: Likewise.
8863 * normal/dyncmd.c: Likewise.
8864
8865 * include/grub/rescue.h: Removed.
8866 * normal/command.h: Likewise.
8867
8868 * include/grub/script.h: Moved to ...
8869 * include/grub/script_sh.h: ... Moved here.
8870 * normal/execute.c: Moved to ...
8871 * script/sh/execute.c: ... Moved here.
8872 * normal/function.c: Moved to ...
8873 * script/sh/function.c: ... Moved here.
8874 * normal/lexer.c: Moved to ...
8875 * script/sh/lexer.c: ... Moved here.
8876 * normal/parser.y: Moved to ...
8877 * script/sh/parser.y: ... Moved here.
8878 * normal/script.c: Moved to ...
8879 * script/sh/script.c: ... Moved here.
8880
8881 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
8882 <grub/reader.h>.
8883 (grub_exit_env): Removed.
8884 (fs_module_list): Moved to normal/autofs.c.
8885 (grub_file_getline): Don't handle comment here.
8886 (free_menu): Skip removed field entry->commands.
8887 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
8888 script parameter.
8889 (read_config_file): Removed nested parameter, change getline function.
8890 (grub_enter_normal_mode): Removed.
8891 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
8892 (read_command_list): Likewise.
8893 (autoload_fs_module): Moved to normal/autofs.c.
8894 (read_fs_list): Likewise.
8895 (reader_nested): New variable.
8896 (grub_normal_execute): Run parser.sh to switch to sh parser.
8897 (grub_cmd_rescue): Removed.
8898 (cmd_normal): Removed.
8899 (grub_cmd_normal): Unregister itself at the beginning. Don't register
8900 rescue command.
8901 (grub_cmdline_run): New function.
8902 (grub_normal_reader_init): Likewise.
8903 (grub_normal_read_line): Likewise.
8904 (grub_env_write_pager): Likewise.
8905 (cmdline): New variable.
8906 (grub_normal_reader): Likewise.
8907 (GRUB_MOD_INIT): Register normal reader and set as current, register
8908 pager hook, register normal command with grub_register_command_prio,
8909 so that it won't show up in command.lst.
8910 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
8911 grub_fs_autoload_hook.
8912
8913 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
8914 (grub_menu_execute_entry): Replace grub_script_execute with
8915 grub_parser_execute, change parameter to grub_command_execute.
8916
8917 * normal/menu_text.c: Remove <grub/script.h>.
8918
8919 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
8920 and <grub/parser.h>.
8921 (run): Change editor_getline to use new parser interface. Change
8922 parameter to grub_command_execute.
8923
8924 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
8925 <grub/reader.h> and <grub/parser.h>.
8926 (grub_load_normal_mode): Execute normal command.
8927 (grub_main): Call grub_register_core_commands,
8928 grub_register_rescue_parser and grub_register_rescue_reader, use
8929 grub_reader_loop to enter input loop.
8930
7dd4a573 8931 * kern/parser.c (grub_parser_split_cmdline): Change type of
8932 getline parameter.
d558e6b5 8933 (grub_parser_class): New variable.
8934 (grub_parser_execute): New function.
8935
8936 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
8937 * loader/multiboot2.c: Likewise.
8938 * loader/sparc64/ieee1275/linux.c: Likewise.
8939
8940 * util/grub-emu.c (read_command_list): New dummy function.
8941
18db813d 89422009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8943
8944 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
8945 count to 16 for CCISS and IDA.
8946
6c67de15 89472009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8948
8949 * normal/menu_text.c (grub_wait_after_message): Print a newline
8950 after waiting for user input.
8951
8952 * loader/i386/linux.c: Include `<grub/normal.h>'.
8953 (grub_cmd_linux): Improve the error message about `ask' mode, by
8954 waiting for user input so it's not missed (we can do this, since
8955 user requested interaction).
8956
d9dc87b0 89572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 Added missing lst to grub-mkrescue
8960
8961 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
8962 and ${input_dir}/parttool.lst
8963
ac8a2baa 89642009-04-30 David S. Miller <davem@davemloft.net>
8965
ad22a610 8966 * util/hostdisk.c (device_is_wholedisk): New function.
8967 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
8968 zero only if device_is_wholedisk() returns true.
8969
6966215d 8970 * util/hostdisk.c (convert_system_partition_to_system_disk):
8971 Handle virtual disk devices named /dev/vdiskX as found on sparc
8972 and powerpc.
8973
ac8a2baa 8974 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
8975 lettered partition specifier is found, convert to numbered.
8976
979b4fb4 89772009-04-29 David S. Miller <davem@davemloft.net>
8978
e2bf39b2 8979 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
8980 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8981
3c64e104 8982 * normal/command.c: Add missing newline at end of file.
8983
979b4fb4 8984 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
8985 warnings.
8986 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
8987 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
8988 grub_ofdisk_read): Likewise, and deal similarly with the fact that
8989 ihandles have a 32-bit type but need to be stored in a "void *".
8990
136d9f82 89912009-04-28 Pavel Roskin <proski@gnu.org>
8992
9459c306 8993 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
8994 not disk. Adjust all dependencies.
2e08a26a 8995 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 8996 grub_disk_close().
8997
136d9f82 8998 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
8999 parent's partition, don't copy it by reference, as it gets freed
9000 on close.
9001
7dd4a573 90022009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9003
9004 Preboot hooks support
9005
9006 * commands/boot.c (struct grub_preboot_t): new declaration
9007 (preboots_head): new variable
9008 (preboots_tail): likewise
9009 (grub_loader_register_preboot_hook): new function
9010 (grub_loader_unregister_preboot_hook): likewise
9011 (grub_loader_set): launch preboot hooks
9012 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9013 (grub_loader_register_preboot_hook): new declaration
9014 (grub_loader_unregister_preboot_hook): likewise
9015
5af922b5 90162009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Warning fix
9019
7dd4a573 9020 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9021 calling grub_dprintf
9022
a5562c30 90232009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 Bug and warning fixes
9026
7dd4a573 9027 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9028 declaration
9029 * commands/test.c (test_parse): fixed bug with file tests and corrected
9030 declaration of find_file
9031
4006f85c 90322009-04-26 Pavel Roskin <proski@gnu.org>
9033
9034 * Makefile.in: Don't install empty manual pages if help2man is
9035 missing. Use help2man option for output, not shell redirection.
9036
5c77c3de 90372009-04-26 David S. Miller <davem@davemloft.net>
9038
9039 * util/grub-mkdevicemap.c (make_device_map): Add missing
9040 NESTED_FUNC_ATTR to process_device().
9041
033b10a8 90422009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 Test command
9045
9046 * commands/test.c: rewritten to use bash-like test
9047
e4343593 90482009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 Parttool autoloading and improvements
9051
7dd4a573 9052 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9053 (parttool.lst): new target
9054 * genmk.rb: generate parttool-*
9055 (CLEANFILES): add #{parttool}
9056 (PARTTOOLFILES): new variable
9057 * genparttoollist.sh: new file
7dd4a573 9058 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9059 (grub_pcpart_type): likewise
9060 * commands/parttool.c (helpmsg): new variable
9061 (grub_cmd_parttool): output help if not enough arguments are supplied
9062 autoload modules
9063 (GRUB_MOD_INIT(parttool)): use helpmsg
9064
0d312500 90652009-04-24 David S. Miller <davem@davemloft.net>
9066
7dd4a573 9067 Avoiding opening same device multiple times in device iterator.
0d312500 9068
9069 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9070 and use it to build a list of partitions in iterate_disk() and
0d312500 9071 iterate_partition().
9072
ac20caff 9073 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9074 on disk->data.
9075
0dcf7495 9076 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9077 grub_devalias_iterate() result instead of unconditional 0.
9078 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9079 Also, capture hook return value, either directly or via
9080 grub_children_iterate(), and propagate to caller.
9081 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9082 grub_children_iterate): Return value is now 'int' instead of
9083 'grub_err_t'.
9084 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9085 like a proper iterator, stopping when hooks return non-zero.
9086 (grub_devalias_iterate): Likewise.
9087
c8c08833 90882009-04-23 David S. Miller <davem@davemloft.net>
9089
9090 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9091
f01005a8 90922009-04-22 David S. Miller <davem@davemloft.net>
9093
9094 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9095 is larger than address_cells, use that value for address_cells too.
9096
4e8269da 9097 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9098 IEEE1275_MAX_PATH_LEN): Define.
9099 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9100 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9101 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9102 'devtype'. Explicitly NULL terminate devalias expansion.
9103
a1447506 9104 * util/sparc64/ieee1275/misc.c: New file.
9105 * util/sparc64/ieee1275/grub-setup.c: New file.
9106 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9107 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9108 * util/sparc64/ieee1275/grub-install.in: New file.
9109 * util/ieee1275/ofpath.c: New file.
9110 * util/ieee1275/devicemap.c: New file.
9111 * util/devicemap.c: New file.
9112 * util/deviceiter.c: New file.
9113 * kern/sparc64/ieee1275/init.c: New file.
9114 * include/grub/util/ofpath.h: New file.
9115 * include/grub/util/deviceiter.h: New file.
9116 * util/grub-mkdevicemap.c: Include deviceiter.h.
9117 Implement using grub_util_emit_devicemap_entry and
9118 grub_util_iterate_devices.
9119 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9120 util/devicemap.c into grub-mkdevicemap
9121 * conf/i386-efi.rmk: Likewise.
9122 * conf/i386-ieee1275.rmk: Likewise.
9123 * conf/i386-pc.rmk: Likewise.
9124 * conf/powerpc-ieee1275.rmk: Likewise.
9125 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9126 images and installation utilities. Build kernel as image
9127 instead of as elf binary. Use common rules as much as possible.
9128
7dd4a573 91292009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 9130
9131 Correct GPT definition
9132
7dd4a573 9133 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 9134 of "attrib" member
9135
c6c5219f 91362009-04-19 Felix Zielcke <fzielcke@z-51.de>
9137
9138 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9139
0552ff9f 91402009-04-19 David S. Miller <davem@davemloft.net>
9141
9142 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9143 (grub_rescue_cmd_linux): Rename to...
9144 (grub_cmd_linux): and fix prototype.
9145 (grub_rescue_cmd_initrd): Rename to...
9146 (grub_cmd_initrd): and fix prototype.
9147 (cmd_linux, cmd_initrd): New.
9148 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9149 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9150
d1a282fc 91512009-04-17 Pavel Roskin <proski@gnu.org>
9152
07c5039f 9153 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9154 format.
9155 (grub_ohci_transfer): Likewise.
9156
b012002d 9157 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9158
1bc09c35 9159 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9160 return without a value. Fix inconsistent indentation.
9161
e0ff9126 9162 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9163 match struct grub_fs.
9164
d1a282fc 9165 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9166 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9167 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9168 * commands/lspci.c (grub_lspci_iter): Likewise.
9169
a96df3f2 91702009-04-16 Bean <bean123ch@gmail.com>
9171
9172 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9173 value.
9174
41bb0fe9 91752009-04-15 Pavel Roskin <proski@gnu.org>
9176
9177 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
9178 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
9179 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
9180 definitions.
9181
596c6970 91822009-04-15 Felix Zielcke <fzielcke@z-51.de>
9183
9184 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 9185 that no multiple data or metadata areas are supported and `Unknown
596c6970 9186 metadata header'.
9187
7dd4a573 91882009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 9189
9190 Move loader out of the kernel
9191
9192 * kern/loader.c: moved to ...
9193 * commands/boot.c: ... moved here
9194 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9195 * commands/boot.c (grub_cmd_boot): moved here. All users updated
9196 * include/grub/kernel.h (grub_machine_fini): export
9197 * include/grub/loader.h (grub_loader_is_loaded): update declaration
9198 (grub_loader_set): likewise
9199 (grub_loader_unset): likewise
9200 (grub_loader_boot): likewise
9201 * conf/common.rmk: new module boot.mod
9202 (pkglib_MODULES): add boot.mod
9203 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
9204 (grub_emu_SOURCES): likewise
9205 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
9206 (grub_emu_SOURCES): likewise
9207 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
9208 (grub_emu_SOURCES): likewise
9209 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
9210 (grub_emu_SOURCES): likewise
9211 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
9212 (grub_emu_SOURCES): likewise
7dd4a573 9213 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
9214 (grub_emu_SOURCES): likewise
0d5d5653 9215 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 9216 (grub_emu_SOURCES): likewise
0d5d5653 9217
7dd4a573 92182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 9219
9220 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 9221
5999d619 9222 * kern/misc.c (grub_itoa): Removed function
9223 (grub_ltoa): likewise
9224 (grub_vsprintf): use grub_lltoa
9225
7dd4a573 92262009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 9227
9228 Restore grub-emu
9229
9230 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
9231 * conf/i386-coreboot.rmk: likewise
9232 * conf/i386-ieee1275.rmk: likewise
9233 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9234
20318222 92352009-04-15 Felix Zielcke <fzielcke@z-51.de>
9236
9237 * INSTALL: Add that `./autogen.sh' needs to be run before
9238 `./configure.'.
9239
d05f0df3 92402009-04-14 Bean <bean123ch@gmail.com>
9241
9242 * Makefile.in (pkglib_DATA): Add handler.lst.
9243 (handler.lst): New rule.
9244
9245 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
9246 * conf/i386-coreboot.rmk: Likewise.
9247 * conf/i386-ieee1275.rmk: Likewise.
9248 * conf/i386-efi.rmk: Likewise.
9249 * conf/x86_64-efi.rmk: Likewise.
9250 * conf/powerpc-ieee1275.rmk: Likewise.
9251 * conf/sparc64-ieee1275.rmk: Likewise.
9252
9253 * genhandlerlist.sh: New file.
9254
9255 * genmk.rb: Add rules to generate handler.lst.
9256
9257 * include/grub/normal.h (grub_file_getline): New function definition.
9258 (read_handler_list): Likewise.
9259 (free_handler_list): Likewise.
9260
9261 * include/grub/term.h (grub_term_register_input): Add name parameter
9262 for auto generation of handler.lst.
9263 (grub_term_register_output): Likewise.
9264
9265 * normal/handler.c: New file.
9266
9267 * normal/main.c (get_line): Renamed to grub_file_getline.
9268 (read_config_file): Use the newly renamed grub_file_getline.
9269 (read_command_list): Likewise.
9270 (read_fs_list): Likewise.
9271 (grub_normal_execute): Call read_handler_list to parse handler.lst.
9272 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
9273
9274 * term/efi/console.c (grub_console_init): Add name parameter for auto
9275 generation of handler.lst.
9276 * term/gfxterm.c: Likewise.
9277 * term/i386/pc/at_keyboard.c: Likewise.
9278 * term/i386/pc/console.c: Likewise.
9279 * term/i386/pc/serial.c: Likewise.
9280 * term/i386/pc/vesafb.c: Likewise.
9281 * term/i386/pc/vga.c: Likewise.
9282 * term/i386/pc/vga_text.c: Likewise.
9283 * term/ieee1275/ofconsole.c: Likewise.
9284 * term/usb_keyboard.c: Likewise.
9285
33c846be 92862009-04-14 Bean <bean123ch@gmail.com>
9287
9288 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
9289 properly with null character.
9290
4484e01e 92912009-04-14 Felix Zielcke <fzielcke@z-51.de>
9292
9293 * configure: Remove.
9294 * config.h.in: Likewise.
f93d668e 9295 * stamp-h.in: Likewise.
4484e01e 9296 * DISTLIST: Likewise.
9297 * conf/common.mk: Likewise.
9298 * conf/i386-coreboot.mk: Likewise.
9299 * conf/i386-efi.mk: Likewise.
9300 * conf/i386-ieee1275.mk: Likewise.
9301 * conf/i386.mk: Likewise.
9302 * conf/i386-pc.mk: Likewise.
9303 * conf/powerpc-ieee1275.mk: Likewise.
9304 * conf/sparc64-ieee1275.mk: Likewise.
9305 * conf/x86_64-efi.mk: Likewise.
9306
9307 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
9308 develop on GRUB.
9309
7dd4a573 93102009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 9311 David S. Miller <davem@davemloft.net>
9312
9313 * util/hostdisk.c (make_device_name): Fix buffer length
9314 calculations.
9315
e25b5a8c 93162009-04-14 Felix Zielcke <fzielcke@z-51.de>
9317
9318 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
9319 <sys/param.h> and <sys/sysctl.h>.
9320 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
9321 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
9322 opening the device and reset them afterwards.
9323
1f1f580c 93242009-04-13 Pavel Roskin <proski@gnu.org>
9325
9326 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
9327 Reported by John Stanley <jpsinthemix@verizon.net>
9328
7ebc2d6b 93292009-04-13 Robert Millan <rmh@aybabtu.com>
9330
9331 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 9332 that name for menuentries when appropriate.
7ebc2d6b 9333
d8ba3667 93342009-04-13 Felix Zielcke <fzielcke@z-51.de>
9335
9336 * util/grub.d/10_freebsd.in: Add a missing `fi'.
9337
cba416eb 93382009-04-13 Robert Millan <rmh@aybabtu.com>
9339
9340 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
9341 to Linux, simply abort telling the user it's no longer supported.
9342
a547a745 93432009-04-13 Felix Zielcke <fzielcke@z-51.de>
9344
9345 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 9346 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 9347 `freebsd_loadenv' only when devices.hints exist.
9348
232a769c 93492009-04-13 Pavel Roskin <proski@gnu.org>
9350
9351 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
9352
c3012039 93532009-04-13 Felix Zielcke <fzielcke@z-51.de>
9354
9355 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
9356 partition number.
9357 (grub_drive): Likewise.
9358
234022fe 93592009-04-13 David S. Miller <davem@davemloft.net>
9360
9361 * kern/sparc64/ieee1275/ieee1275.c: New file.
9362 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
9363 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
9364 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
9365 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
9366 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
9367 grub_ieee1275_alloc_physmem): Declare new exported functions.
9368
d8e1836c 9369 * include/grub/sparc64/ieee1275/loader.h: New file.
9370 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9371 * include/grub/sparc64/kernel.h: Likewise.
9372 * loader/sparc64/ieee1275/linux.c: Likewise.
9373
96bd81ec 9374 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
9375 (grub_fstest_SOURCES): Likewise.
9376
6a4737e5 9377 * util/hostdisk.c (make_device_name): Do not make any assumptions
9378 about the length of drive names.
9379
1d7a72fd 9380 * kern/dl.c (grub_dl_load_file): Close file immediately when
9381 we are done using it.
9382
56bc2471 93832009-04-12 David S. Miller <davem@davemloft.net>
9384
9385 * kern/misc.c (grub_ltoa): Fix cast when handling negative
9386 values. Noticed by Pavel Roskin.
9387
df38d0bb 9388 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
9389 target compiler.
7dd4a573 9390
e382e93a 9391 * genmk.rb: Add more flexible image type specification, also
9392 pass --strip-unneeded to objcopy.
9393 * conf/i386-pc.rmk: Use *_FORMAT.
9394 * conf/i386-pc.mk: Rebuilt.
9395
f5dbbca9 9396 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
9397 (OFDISK_HASH_SZ): Define.
9398 (ofdisk_hash): New hash table.
9399 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
9400 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
9401 instead of device phandle which is not unique.
9402
91c88b12 9403 * kern/sparc64/ieee1275/init.c: Delete, replace with...
9404 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
9405 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
9406 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
9407 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
9408 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
9409 GRUB_KERNEL_MACHINE_DATA_END): Define.
9410 (grub_kernel_image_size, grub_total_module_size): Declare.
9411
5b5d4aa5 94122009-04-12 Pavel Roskin <proski@gnu.org>
9413
7dd4a573 9414 * configure.ac: Change the logic when we check for target tools.
9415 Do it when the target is specified and it's different from the
9416 specified value of the host.
5b5d4aa5 9417
c91e1793 94182009-04-11 Felix Zielcke <fzielcke@z-51.de>
9419
9420 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
9421 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
9422 GNU/kFreeBSD. Check if a device is a character device. Use
9423 DIOCGMEDIASIZE to get the size.
9424 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
9425 support for GNU/kFreeBSD.
9426 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
9427 is a character device instead of a block device. Add support for
9428 FreeBSD device names.
9429
9430 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
9431 is a character device instead of a block device.
9432
9433 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
9434 is a character device instead of a block device.
9435
b1ac8644 94362009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
9437
9438 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
9439 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
9440 FreeBSD. Check if a device is a character device. Use
9441 DIOCGMEDIASIZE to get the size.
9442 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
9443 support for FreeBSD.
9444 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
9445 is a character device instead of a block device. Add support for
9446 FreeBSD device names.
9447
9448 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
9449 a character device instead of a block device.
9450 (grub_util_check_char_device): New function.
9451
9452 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
9453 a character device instead of a block device.
9454
9455 * include/grub/util/getroot.h (grub_util_check_char_device): New
9456 prototype.
9457
a3f7515a 94582009-04-11 David S. Miller <davem@davemloft.net>
9459
9460 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
9461 static libgcc.
9462 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
9463 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
9464 function, if present.
9465 (__bswapdi2): Likewise.
9466
0d44993d 9467 * include/grub/sparc64/ieee1275/boot.h: New file.
9468 * boot/sparc64/ieee1275/boot.S: Likewise.
9469 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9470
ed3d2bc2 9471 * kern/misc.c (grub_ltoa): New function.
9472 (grub_vsprintf): Use it to format 'long' integers.
9473
d3bfb59c 94742009-04-10 David S. Miller <davem@davemloft.net>
9475
9476 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9477 slots are of type grub_ieee1275_cell_t.
9478 (grub_nand_read): Likewise.
9479 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9480 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9481 macros are used to compare values in arg/ret block of the call.
9482 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9483 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9484 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9485 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9486 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9487 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9488 grub_ieee1275_close, grub_ieee1275_set_property,
9489 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9490 grub_ieee1275_cell_t.
9491 * kern/ieee1275/openfw.c (grub_map): Likewise.
9492 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9493 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9494
450e2238 9495 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9496 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9497 (grub_devalias_iterate): Likewise.
9498
7dd4a573 94992009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 9500
9501 UFS improvements
9502
9503 * fs/ufs.c (INODE_NBLOCKS): new definition
9504 (struct grub_ufs_dirent): added fields for non-BSD dirents
9505 (grub_ufs_get_file_block): fixed double indirect handling
9506 (grub_ufs_lookup_symlink): use more robust way to determine whether
9507 symlink is inline
9508 (grub_ufs_find_file): support for non-BSD dirents
9509 (grub_ufs_dir): support for non-BSD dirents
9510
e7e6862a 95112009-04-10 Bean <bean123ch@gnail.com>
9512
9513 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9514 attribute, otherwise the size would be wrong for i386 platform.
9515
9516 * include/grub/pci.h (grub_pci_read_word): New inline function.
9517 (grub_pci_read_byte): Likewise.
9518 (grub_pci_write): Likewise.
9519 (grub_pci_write_word): Likewise.
9520 (grub_pci_write_byte): Likewise.
9521
9522 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9523
9524 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9525 (find_framebuf): Scan pci to locate the frame buffer address.
9526
9527 * commands/efi/fixvideo.c: New file.
9528
9529 * commands/efi/loadbios.c: Likewise.
9530
9531 * commands/memrw.c: Likewise.
9532
9533 * util/grub-dumpbios.in: Likewise.
9534
9535 * conf/common.rmk (grub-dumpbios): New utility.
9536 (pkglib_MODULES): New module memrw.mod.
9537 (memrw_mod_SOURCE): New macro.
9538 (memrw_mod_CFLAGS): Likewise.
9539 (memrw_mod_LDFLAGS): Likewise.
9540
7dd4a573 9541 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9542 fixvideo.mod.
9543 (loadbios_mod_SOURCE): New macro.
9544 (loadbios_mod_CFLAGS): Likewise.
9545 (loadbios_mod_LDFLAGS): Likewise.
9546 (fixvideo_mod_SOURCE): Likewise.
9547 (fixvideo_mod_CFLAGS): Likewise.
9548 (fixvideo_mod_LDFLAGS): Likewise.
9549
7dd4a573 9550 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9551 fixvideo.mod.
9552 (loadbios_mod_SOURCE): New macro.
9553 (loadbios_mod_CFLAGS): Likewise.
9554 (loadbios_mod_LDFLAGS): Likewise.
9555 (fixvideo_mod_SOURCE): Likewise.
9556 (fixvideo_mod_CFLAGS): Likewise.
9557 (fixvideo_mod_LDFLAGS): Likewise.
9558
af63ada2 95592009-04-08 Felix Zielcke <fzielcke@z-51.de>
9560
9561 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9562
c2cdde70 95632009-04-07 David S. Miller <davem@davemloft.net>
9564
9565 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9566 support for R_SPARC_OLO10 relocations. Fix compile warning for
9567 R_SPARC_WDISP30 case.
ea3f72cf 9568 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 9569
761319cf 95702009-04-06 Pavel Roskin <proski@gnu.org>
9571
1007d1f5 9572 * include/grub/misc.h (ARRAY_SIZE): New macro.
9573 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9574 New macro.
9575 * loader/i386/linux.c (allocate_pages): Use free_pages().
9576 (grub_linux_unload): Don't use free_pages().
9577 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9578 wrong index. Treat all other modes as text modes.
9579 (grub_cmd_linux): Initialize vid_mode unconditionally to
9580 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9581
761319cf 9582 * commands/help.c (print_command_help): Use cmd->prio, not
9583 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9584
ea761d40 95852009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 9586
ea761d40 9587 Parttool
9588
9589 * parttool/pcpart.c: new file
9590 * commands/parttool.c: likewise
9591 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9592 (parttool_mod_SOURCES): new variable
9593 (parttool_mod_CFLAGS): likewise
9594 (parttool_mod_LDFLAGS): likewise
9595 (pcpart_mod_SOURCES): likewise
9596 (pcpart_mod_CFLAGS): likewise
9597 (pcpart_mod_LDFLAGS): likewise
7dd4a573 9598 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 9599 and parttool/pcpart.c
9600 * conf/i386-efi.rmk: likewise
9601 * conf/i386-ieee1275.rmk: likewise
9602 * conf/i386-pc.rmk: likewise
9603 * conf/powerpc-ieee1275.rmk: likewise
9604 * conf/sparc64-ieee1275.rmk: likewise
9605 * conf/x86_64-ieee1275.rmk: likewise
9606
05aaebfb 96072009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 Support for mtime and further expandability of dir command
9610
9611 * include/grub/lib/datetime.h: moved to ...
7dd4a573 9612 * include/grub/datetime.h: ... moved here and added
05aaebfb 9613 declaration of grub_unixtime2datetime. All users updated
7dd4a573 9614 * include/grub/fs.h: new syntax for dir and mtime functions in
9615 struct grub_fs
05aaebfb 9616 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9617 and GRUB_FSHELP_FLAGS_MASK
9618 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9619 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9620 (grub_ext2_mtime): new function
9621 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9622 (grub_hfsplus_mtime): new function
9623 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9624 (GRUB_UFS_ATTR_FILE): likewise
9625 (GRUB_UFS_ATTR_LNK): likewise
9626 (struct grub_ufs_sblock): new fields mtime
9627 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9628 all users updated
9629 (grub_ufs_dir): mtime support
9630 (grub_ufs_mtime): new function
9631 * fs/affs.c (grub_affs_dir): use new dir syntax
9632 * fs/afs.c (grub_afs_dir): likewise
9633 * fs/cpio.c (grub_cpio_dir): likewise
9634 * fs/fat.c (grub_fat_find_dir): likewise
9635 * fs/hfs.c (grub_hfs_dir): likewise
9636 * fs/iso9660.c (grub_iso9660_dir): likewise
9637 * fs/jfs.c (grub_jfs_dir): likewise
9638 * fs/minix.c (grub_minix_dir): likewise
9639 * fs/ntfs.c (grub_ntfs_dir): likewise
9640 * fs/reiserfs.c (grub_reiserfs_dir): likewise
9641 * fs/sfs.c (grub_sfs_dir): likewise
9642 * fs/xfs.c (grub_xfs_dir): likewise
9643 * util/hostfs.c (grub_hostfs_dir): likewise
9644 * lib/datetime.c: moved to ...
9645 * normal/datetime.c: ... moved here
9646 (grub_unixtime2datetime): new function
9647 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 9648 * normal/completion.c (iterate_dir): use new dir syntax
9649 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 9650 last modification time of a volume
7dd4a573 9651 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 9652 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 9653 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 9654 (normal_mod_SOURCES): likewise
9655 (datetime_mod_SOURCES): Removed lib/datetime.c
9656 * conf/i386-efi.rmk: likewise
7dd4a573 9657 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9658 * conf/i386-pc.rmk: likewise
9659 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9660 * conf/sparc64-ieee1275.rmk: likewise
9661 * conf/x86_64-efi.rmk: likewise
05aaebfb 9662
8a7e1a14 96632009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9666
9667 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9668 on grub_fat_find_dir
9669 (grub_fat_find_dir): use grub_fat_iterate_dir
9670 (grub_fat_label): likewise
9671
04186a9c 96722009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9673
7dd4a573 9674 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9675 and command.h
9676 remove extraneous kernel_elf_HEADERS
9677
da4c0bb6 96782009-04-04 Bean <bean123ch@gnail.com>
9679
9680 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9681
9682 * util/misc.c: Likewise.
9683
54ad9555 96842009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9685
9686 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9687 instead of grub_printf.
9688
7a6bf9f2 96892009-04-03 Robert Millan <rmh@aybabtu.com>
9690
9691 * loader/i386/linux.c (grub_linux_setup_video): Fill
9692 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9693 values from `mode info' structure instead of hardcoded
9694 values.
9695
3fcc2083 96962009-04-01 Pavel Roskin <proski@gnu.org>
9697
9698 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9699 unused now.
9700 * genmk.rb: Likewise.
9701 * configure.ac: Likewise.
9702
5ec9740b 97032009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9704
9705 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9706 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9707
5270cec8 97082009-04-01 David S. Miller <davem@davemloft.net>
9709
9710 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9711 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9712 (grub_setjmp): Mark with 'returns_twice' attribute.
9713 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
9714 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
9715 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
9716
9c3dd854 97172009-04-01 Robert Millan <rmh@aybabtu.com>
9718
9719 Reapply fix from 2008-07-28 which was accidentally reverted; also
9720 perform the same fix to a similar check in same function.
9721
9722 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9723 with the same number are found, just use issue a warning with
9724 grub_dprintf(), as this error has been reported to be non-fatal.
9725
0d818b7e 97262009-03-31 Pavel Roskin <proski@gnu.org>
9727
9728 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
9729 for cross-compilation.
9730
95646d92 97312009-03-30 Robert Millan <rmh@aybabtu.com>
9732
9733 Fix i386-ieee1275 build.
9734
9735 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
9736 Remove declaration.
9737
6a003ed1 97382009-03-30 Pavel Roskin <proski@gnu.org>
9739
9740 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
9741 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
9742 zero-terminated, rely only on the strlen value. Fix comparison
9743 of strings differing in length.
9744
92f33540 97452009-03-30 Robert Millan <rmh@aybabtu.com>
9746
9747 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
9748 checking for abi version. Improve error messages on BIOS to notify
9749 user about `linux16' command.
9750
a8c48fd5 97512009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9752
f968172e 9753 Leak fixes
a8c48fd5 9754
f968172e 9755 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
9756 in case of collision
9757 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 9758
9c323f09 97592009-03-29 Robert Millan <rmh@aybabtu.com>
9760
9761 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
9762 set `vid_mode' accordingly.
9763 (grub_linux_boot): Process `vid_mode' and set video mode.
9764
ae68f423 97652009-03-29 Robert Millan <rmh@aybabtu.com>
9766
9767 * util/grub.d/10_linux.in (linux_entry): New function.
9768 Factorize generation of Linux boot entries.
9769
5709cfc4 97702009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
9771
9772 Make the format of Environment Block plain text. The boot loader
9773 part is not tested well yet.
7dd4a573 9774
5709cfc4 9775 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
9776 (buffer): Removed.
9777 (envblk): Likewise.
9778 (usage): Remove "info" and "clear". Add "unset". Update the
9779 description of "set", as this does not delete variables any
9780 longer.
9781 (create_envblk_file): Complete rewrite.
9782 (open_envblk_file): Likewise.
9783 (cmd_info): Removed.
9784 (cmd_list): Likewise.
9785 (cmd_set): Likewise.
9786 (cmd_clear): Likewise.
9787 (list_variables): New function.
9788 (write_envblk): Likewise.
9789 (set_variables): Likewise.
9790 (unset_variables): Likewise.
9791 (main): Complete rewrite.
9792
9793 * commands/loadenv.c (buffer): Removed.
9794 (envblk): Likewise.
9795 (open_envblk_file): New function.
9796 (read_envblk_file): Complete rewrite.
9797 (grub_cmd_load_env): Likewise.
9798 (grub_cmd_list_env): Likewise.
9799 (struct blocklist): New struct.
9800 (free_blocklists): New function.
9801 (check_blocklists): Likewise.
9802 (write_blocklists): Likewise.
9803 (grub_cmd_save_env): Complete rewrite.
9804
9805 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
9806 a plain text signature.
9807 (GRUB_ENVBLK_MAXLEN): Removed.
9808 (struct grub_envblk): Complete rewrite.
9809 (grub_envblk_find): Removed.
9810 (grub_envblk_insert): Likewise.
9811 (grub_envblk_open): New prototype.
9812 (grub_envblk_set): Likewise.
9813 (grub_envblk_delete): Put const to VALUE.
9814 (grub_envblk_iterate): Put const to NAME and VALUE.
9815 (grub_envblk_close): New prototype.
9816 (grub_envblk_buffer): New inline function.
9817 (grub_envblk_size): Likewise.
9818
9819 * lib/envblk.c: Include grub/mm.h.
9820 (grub_env_find): Removed.
9821 (grub_envblk_open): New function.
9822 (grub_envblk_close): Likewise.
9823 (escaped_value_len): Likewise.
9824 (find_next_line): Likewise.
9825 (grub_envblk_insert): Removed.
9826 (grub_envblk_set): New function.
9827 (grub_envblk_delete): Complete rewrite.
9828 (grub_envblk_iterate): Likewise.
9829
a9368fd3 98302009-03-28 Robert Millan <rmh@aybabtu.com>
9831
9832 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
9833 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
9834 variables. Use 16-bit loader.
9835 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
9836 loader.
9837 * kern/i386/loader.S (grub_linux_boot): Rename to ...
9838 (grub_linux16_boot): ... this. Update all users.
9839 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
9840 (grub_linux_boot): ... this. Update all users.
9841
9842 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
9843 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
9844 commands to `linux16' and `initrd16'.
9845 (GRUB_MOD_FINI(linux)): Rename to ...
9846 (GRUB_MOD_FINI(linux16)): ... this.
9847
e4dd5a7e 98482009-03-24 Pavel Roskin <proski@gnu.org>
9849
9850 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
9851 not just for compilation.
9852
c04d6e05 98532009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 Move multiboot helper out of kernel
9856
9857 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
9858 `loader/i386/multiboot_helper.S'.
9859 * conf/i386-coreboot.rmk: Likewise
9860 * conf/i386-ieee1275.rmk: Likewise
9861
9862 * kern/i386/loader.S: Move multiboot helpers from here...
9863 * loader/i386/multiboot_helper.S: ...moved here
9864 * include/grub/i386/loader.h: Move declarations of multiboot
9865 helpers from here...
9866 * include/grub/i386/multiboot.h: ...moved here
9867 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
9868
42a5b3fc 98692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9870
9871 * kern/env.c (grub_env_context_open): Added an argument to specify
9872 whether a new context inherits exported variables from current
9873 one. This is useful when making a sandbox to interpret a config
9874 file.
9875 All callers updated.
9876
9877 * include/grub/env.h (grub_env_context_open): Updated the prototype.
9878
b28bbc4e 98792009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9880
9881 * kern/env.c (grub_env_context_close): Fix memory leaks.
9882
f04f02e4 98832009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9884
9885 * normal/main.c (grub_normal_execute): Added an argument
9886 BATCH to specify if an interactive interface should be provided
9887 after reading a config file.
9888 All callers updated.
9889 (read_command_list): Prevent being executed twice.
9890 (read_fs_list): Likewise.
9891
42a5b3fc 9892 * include/grub/normal.h (grub_normal_execute): Updated the
9893 prototype.
f04f02e4 9894
41473ac2 98952009-03-22 Pavel Roskin <proski@gno.org>
9896
fbc00b0c 9897 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
9898 _start.
9899 * kern/i386/pc/startup.S: Likewise.
9900 * kern/i386/efi/startup.S: Likewise.
9901 * kern/i386/ieee1275/startup.S: Likewise.
9902 * kern/i386/coreboot/startup.S: Likewise.
9903 * kern/x86_64/efi/startup.S: Likewise.
9904
41473ac2 9905 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
9906 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
9907 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
9908
2274cc8f 99092009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 Bugfixes in multiboot for bugs uncovered by solaris kernel.
9912
9913 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
9914 limit detection.
9915 Use vaddr of correct segment for entry_point.
9916
b1b797cb 99172009-03-21 Bean <bean123ch@gmail.com>
9918
9919 * commands/blocklist.c: Add include file <grub/command.h>, remove
9920 <grub/normal.h> and <grub/arg.h>.
9921 (grub_cmd_blocklist): Use the new command interface.
9922 (GRUB_MOD_INIT): Likewise.
9923 (GRUB_MOD_FINI): Likewise.
9924 * commands/boot.c: Likewise.
9925 * commands/cat.c: Likewise.
9926 * commands/cmp.c: Likewise.
9927 * commands/configfile.c: Likewise.
9928 * commands/crc.c: Likewise.
9929 * commands/echo.c: Likewise.
9930 * commands/halt.c: Likewise.
9931 * commands/handler.c: Likewise.
9932 * commands/hdparm.c: Likewise.
9933 * commands/help.c: Likewise.
9934 * commands/hexdump.c: Likewise.
9935 * commands/loadenv.c: Likewise.
9936 * commands/ls.c: Likewise.
9937 * commands/lsmmap.c: Likewise.
9938 * commands/lspci.c: Likewise.
9939 * commands/loadenv.c: Likewise.
9940 * commands/read.c: Likewise.
9941 * commands/reboot.c: Likewise.
9942 * commands/search.c: Likewise.
9943 * commands/sleep.c: Likewise.
9944 * commands/test.c: Likewise.
9945 * commands/usbtest.c: Likewise.
9946 * commands/videotest.c: Likewise.
9947 * commands/i386/cpuid.c: Likewise.
9948 * commands/i386/pc/halt.c: Likewise.
9949 * commands/i386/pc/play.c: Likewise.
9950 * commands/i386/pc/pxecmd.c: Likewise.
9951 * commands/i386/pc/vbeinfo.c: Likewise.
9952 * commands/i386/pc/vbetest.c: Likewise.
9953 * commands/ieee1275/suspend.c: Likewise.
9954 * disk/loopback.c: Likewise.
9955 * font/font_cmd.c: Likewise.
9956 * hello/hello.c: Likewise.
9957 * loader/efi/appleloader.c: Likewise.
9958 * loader/efi/chainloader.c: Likewise.
9959 * loader/i386/bsd.c: Likewise.
9960 * loader/i386/efi/linux.c: Likewise.
9961 * loader/i386/ieee1275/linux.c: Likewise.
9962 * loader/i386/linux.c: Likewise.
9963 * loader/i386/pc/chainloader.c: Likewise.
9964 * loader/i386/pc/linux.c: Likewise.
9965 * loader/powerpc/ieee1275/linux.c: Likewise.
9966 * loader/multiboot_loader.c: Likewise.
9967 * term/gfxterm.c: Likewise.
9968 * term/i386/pc/serial.c: Likewise.
9969 * term/terminfo.c: Likewise.
9970
9971 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
9972 * term/i386/pc/vga.c: Likewise.
9973 * video/readers/jpeg.c: Likewise.
9974 * video/readers/png.c: Likewise.
9975 * video/readers/tga.c: Likewise.
9976
9977 * util/grub-fstest (cmd_loopback): Removed.
9978 (cmd_blocklist): Likewise.
9979 (cmd_ls): Likewise.
9980 (grub_register_command): Likewise.
9981 (grub_unregister_command): Likewise.
9982 (execute_command): Use grub_command_find to locate command and execute
9983 it.
9984
9985 * include/grub/efi/chainloader.h: Removed.
9986 * loader/efi/chainloader_normal.c: Likewise.
9987 * loader/i386/bsd_normal.c: Likewise.
9988 * loader/i386/pc/chainloader_normal.c: Likewise.
9989 * loader/i386/pc/multiboot_normal.c: Likewise.
9990 * loader/linux_normal.c: Likewise.
9991 * loader/multiboot_loader_normal.c: Likewise.
9992 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
9993
9994 * gencmdlist.sh: Scan new registration command grub_register_extcmd
9995 and grub_register_command_p1.
9996
9997 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
9998 kern/command.c, lib/arg.c and commands/extcmd.c.
9999 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10000 (minicmd_mod_SOURCES): New variable.
10001 (minicmd_mod_CFLAGS): Likewise.
10002 (minicmd_mod_LDFLAGS): Likewise.
10003 (extcmd_mod_SOURCES): Likewise.
10004 (extcmd_mod_CFLAGS): Likewise.
10005 (extcmd_mod_LDFLAGS): Likewise.
10006 (boot_mod_SOURCES): Removed.
10007 (boot_mod_CFLAGS): Likewise.
10008 (boot_mod_LDFLAGS): Likewise.
10009
10010 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10011 kern/corecmd.c.
10012 (kernel_img_HEADERS): Add command.h.
10013 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10014 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10015 and lib/arg.c.
10016 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10017 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10018 remove the corresponding normal mode command.
10019 (normal_mod_SOURCES): Remove normal/arg.c.
10020 * conf/i386-coreboot.rmk: Likewise.
10021 * conf/i386-efi.rmk: Likewise.
10022 * conf/i386-ieee1275.rmk: Likewise.
10023 * conf/powerpc-ieee1275.rmk: Likewise.
10024 * conf/x86_64-efi.rmk: Likewise.
10025
10026 * include/grub/arg.h: Move from here ...
10027 * include/grub/lib/arg.h: ... to here.
10028
10029 * normal/arg.c: Move from here ...
10030 * lib/arg.c: ... to here.
10031
10032 * commands/extcmd.c: New file.
10033 * commands/minicmd.c: Likewise.
10034 * include/grub/command.h: Likewise.
10035 * include/grub/extcmd.h: Likewise.
10036 * kern/command.c: Likewise.
10037 * kern/corecmd.c: Likewise.
10038
10039 * kern/list.c (grub_list_iterate): Return int instead of void.
10040 (grub_list_insert): New function.
10041 (grub_prio_list_insert): Likewise.
10042
10043 * kern/rescue.c (grub_rescue_command): Removed.
10044 (grub_rescue_command_list): Likewise.
10045 (grub_rescue_register_command): Likewise.
10046 (grub_rescue_unregister_command): Likewise.
10047 (grub_rescue_cmd_boot): Move to minicmd.c
10048 (grub_rescue_cmd_help): Likewise.
10049 (grub_rescue_cmd_info): Likewise.
10050 (grub_rescue_cmd_boot): Likewise.
10051 (grub_rescue_cmd_testload): Likewise.
10052 (grub_rescue_cmd_dump): Likewise.
10053 (grub_rescue_cmd_rmmod): Likewise.
10054 (grub_rescue_cmd_lsmod): Likewise.
10055 (grub_rescue_cmd_exit): Likewise.
10056 (grub_rescue_print_devices): Moved to corecmd.c.
10057 (grub_rescue_print_files): Likewise.
10058 (grub_rescue_cmd_ls): Likewise.
10059 (grub_rescue_cmd_insmod): Likewise.
10060 (grub_rescue_cmd_set): Likewise.
10061 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10062 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10063 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10064 commands, remove grub_rescue_register_command calls.
b1b797cb 10065
7d074e3c 10066 * normal/command.c (grub_register_command): Removed.
b1b797cb 10067 (grub_unregister_command): Likewise.
10068 (grub_command_find): Likewise.
10069 (grub_iterate_commands): Likewise.
10070 (rescue_command): Likewise.
10071 (export_command): Moved to corecmd.c.
10072 (set_command): Removed.
10073 (unset_command): Likewise.
10074 (insmod_command): Likewise.
10075 (rmmod_command): Likewise.
10076 (lsmod_command): Likewise.
10077 (grub_command_init): Likewise.
10078
10079 * normal/completion.c (iterate_command): Use cmd->prio to check for
10080 active command.
10081 (complete_arguments): Use grub_extcmd_t structure to find options.
10082 (grub_normal_do_completion): Change function grub_iterate_commands to
10083 grub_command_iterate.
10084
10085 * normal/execute.c (grub_script_execute_cmd): No need to parse
10086 argument here.
10087
10088 * normal/main.c (grub_dyncmd_dispatcher): New function.
10089 (read_command_list): Register unload commands as dyncmd.
10090 (grub_cmd_normal): Use new command interface, register rescue,
10091 unregister normal at entry, register normal, unregister rescue at exit.
10092
10093 * include/grub/list.h (grub_list_test_t): New type.
10094 (grub_list_iterate): Return int instead of void.
10095 (grub_list_insert): New function.
10096 (GRUB_AS_NAMED_LIST_P): New macro.
10097 (GRUB_AS_PRIO_LIST): Likewise.
10098 (GRUB_AS_PRIO_LIST_P): Likewise.
10099 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10100 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10101 (grub_prio_list): New structure.
10102 (grub_prio_list_insert): New function.
10103 (grub_prio_list_remove): New inline function.
10104
10105 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10106 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10107 (GRUB_COMMAND_FLAG_MENU): Likewise.
10108 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10109 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10110 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10111 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10112 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10113 (grub_command): Likewise.
10114 (grub_register_command): Likewise.
10115 (grub_command_find): Likewise.
10116 (grub_iterate_commands): Likewise.
10117 (grub_command_init): Likewise.
10118 (grub_arg_parse): Likewise.
10119 (grub_arg_show_help): Likewise.
10120
10121 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10122 (grub_rescue_unregister_command): Likewise.
10123
10124 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10125 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10126 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10127
10128 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10129 grub_rescue_cmd_initrd.
10130 * include/grub/i386/loader.h: Likewise.
10131 * include/grub/x86_64/loader.h: Likewise.
10132
10133 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10134
1f4147aa 101352009-03-21 Bean <bean123ch@gmail.com>
10136
10137 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10138 instead of stat in mingw environment.
10139
10140 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10141
10142 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10143
10144 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10145 AC_CONFIG_LINKS.
10146
2156d5ba 101472009-03-21 Bean <bean123ch@gmail.com>
10148
10149 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10150 out of range error.
10151
177b82ca 101522009-03-18 Michel Dänzer <michel@daenzer.net>
10153
10154 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10155 checking inode flags for EXT4_EXTENTS_FLAG.
10156
14aad807 101572009-03-18 Robert Millan <rmh@aybabtu.com>
10158
10159 * loader/i386/linux.c: Include `<grub/video.h>' and
10160 `<grub/i386/pc/vbe.h>'..
10161 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10162 (grub_linux32_boot): Attempt to configure video settings with
10163 grub_linux_setup_video().
10164 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10165 to avoid grub_console_fini() which would step out of graphical mode
10166 unconditionally.
10167
8cf83a27 101682009-03-14 Robert Millan <rmh@aybabtu.com>
10169
10170 Fix build on powerpc.
10171 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10172
40164e75 101732009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
10176 background image command.
10177
c58bc32a 101782009-03-12 Colin D Bennett <colin@gibibit.com>
10179
10180 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
10181 (grub_gfxterm_putchar): Extract pairs of identical calls to
10182 draw_cursor out of conditional blocks.
10183
5415144a 101842009-03-11 Pavel Roskin <proski@gnu.org>
10185
10186 * fs/hfs.c (grub_hfs_strncasecmp): New function.
10187 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
10188
6394042e 101892009-03-11 Robert Millan <rmh@aybabtu.com>
10190
10191 * loader/i386/multiboot_elfxx.c
10192 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10193
b7b50e5f 101942009-03-11 Felix Zielcke <fzielcke@z-51.de>
10195
10196 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
10197 `kern/handler.c'.
10198
1ca7fc96 101992009-03-11 Robert Millan <rmh@aybabtu.com>
10200
10201 * loader/i386/multiboot.c (code_size): New variable.
10202 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 10203 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 10204 4-byte alignment to MBI and others by increasing
7d074e3c 10205 `boot_loader_name_length' appropriately.
1ca7fc96 10206
10207 * loader/i386/multiboot_elfxx.c
10208 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
10209
a83ea1d2 102102009-03-09 Felix Zielcke <fzielcke@z-51.de>
10211
10212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
10213 `fs/ext2.c'.
10214
aa9f3bff 102152009-03-08 Robert Millan <rmh@aybabtu.com>
10216
10217 Make loader/i386/linux.c usable on i386-pc again.
10218
10219 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
10220 memory to heap.
10221 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
10222 `#error' stanza.
10223
d8b3b60e 102242009-03-07 Bean <bean123ch@gmail.com>
10225
10226 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
10227 allocation.
10228
b362c9e9 102292009-03-06 Robert Millan <rmh@aybabtu.com>
10230
10231 Fix display issue on terminals with screen size other than 80x25
10232 (e.g. gfxterm with resolution higher than 640x480).
10233
10234 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 10235 position relative to the center of the terminal instead of relying
b362c9e9 10236 on a hardcoded offset.
10237
9304eef1 102382009-03-04 Robert Millan <rmh@aybabtu.com>
10239
10240 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
10241 installed.
10242
10243 * Makefile.in (host_kernel): New variable.
10244 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
10245 scripts instead of just the windows one.
10246 * configure.ac: Initialize and AC_SUBST `host_kernel'.
10247
eabc95fb 102482009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 10249
10250 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
10251 `kern/handler.c'.
10252 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10253 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10254 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10256 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10257 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10258
ceb1223c 102592009-03-04 Felix Zielcke <fzielcke@z-51.de>
10260
10261 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
10262 or if there's no space for the disk label and print the partition number on a
10263 invalid magic.
10264
4910684a 102652009-03-04 Felix Zielcke <fzielcke@z-51.de>
10266
10267 * util/misc.c: Include <time.h>.
10268 (grub_millisleep): New function.
10269
7e9ca17a 102702009-03-04 Bean <bean123ch@gmail.com>
10271
10272 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
10273 another option -mno-red-zone.
10274
10275 * commands/handler.c: Change module description.
10276
10277 * kern/handler.c: Add missing space at the end of description line.
10278
10279 * kern/list.c: Likewise.
10280
f501677c 102812009-03-03 Robert Millan <rmh@aybabtu.com>
10282
10283 Move more components to the relocation area, and fix mbi pointer
10284 handling to use the destination rather than the origin (thanks to
10285 Vladimir Serbinenko for spotting).
10286
10287 * loader/i386/multiboot.c (mbi_dest): New variable.
10288 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
10289 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
10290 relocation area.
10291
9902d047 102922009-03-01 Bean <bean123ch@gmail.com>
10293
50fb7002 10294 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 10295 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
10296 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
10297 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
10298
10299 * loader/i386/efi/linux.c (acpi_guid): New variable.
10300 (acpi_guid): Likewise.
10301 (EBDA_SEG_ADDR): New constant.
10302 (LOW_MEM_ADDR): Likewise.
10303 (FAKE_EBDA_SEG): Likewise.
10304 (fake_bios_data): New function.
10305 (grub_linux_boot): Call fake_bios_data.
10306
71b9f361 103072009-03-01 Bean <bean123ch@gmail.com>
10308
10309 * commands/terminal.c: Removed.
10310
10311 * commands/handler.c: New file.
10312
10313 * include/grub/list.h: Likewise.
10314
10315 * include/grub/handler.h: Likewise.
10316
10317 * kern/list.c: Likewise.
10318
10319 * kern/handler.c: Likewise.
10320
10321 * kern/term.h: Include header file <grub/handler.h>.
10322 (grub_term_input): Move next field to the beginning.
10323 (grub_term_output): Likewise.
10324 (grub_term_input_class): New variable.
10325 (grub_term_output_class): Likewise.
10326 (grub_term_register_input): Changed to inline function.
10327 (grub_term_register_output): Likewise.
10328 (grub_term_unregister_input): Likewise.
10329 (grub_term_unregister_output): Likewise.
10330 (grub_term_set_current_input): Likewise.
10331 (grub_term_set_current_output): Likewise.
10332 (grub_term_get_current_input): Likewise.
10333 (grub_term_get_current_output): Likewise.
10334 (grub_term_iterate_input): Removed.
10335 (grub_term_iterate_output): Likewise.
10336
10337 * kern/term.c (grub_term_list_input): Removed.
10338 (grub_term_list_output): Likewise.
10339 (grub_term_input_class): New variable.
10340 (grub_term_output_class): Likewise.
50fb7002 10341 (grub_cur_term_input): Change variable as macro.
71b9f361 10342 (grub_cur_term_output): Likewise.
10343 (grub_term_register_input): Removed.
10344 (grub_term_register_output): Likewise.
10345 (grub_term_unregister_input): Likewise.
10346 (grub_term_unregister_output): Likewise.
10347 (grub_term_set_current_input): Likewise.
10348 (grub_term_set_current_output): Likewise.
10349 (grub_term_iterate_input): Likewise.
10350 (grub_term_iterate_output): Likewise.
10351 (grub_term_get_current_input): Likewise.
10352 (grub_term_get_current_output): Likewise.
10353
10354 * util/grub-editenv.c: Include header file <grub/handler.h>.
10355 (grub_term_get_current_input): Removed.
10356 (grub_term_get_current_output): Likewise.
10357 (grub_term_input_class): New variable.
50fb7002 10358 (grub_term_output_class): Likewise.
71b9f361 10359
10360 * util/grub-fstest.c (grub_term_get_current_input): Removed.
10361 (grub_term_get_current_output): Likewise.
10362 (grub_term_input_class): New variable.
50fb7002 10363 (grub_term_output_class): Likewise.
71b9f361 10364
10365 * util/grub-probe.c (grub_term_get_current_input): Removed.
10366 (grub_term_get_current_output): Likewise.
10367 (grub_term_input_class): New variable.
50fb7002 10368 (grub_term_output_class): Likewise.
71b9f361 10369
10370 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
10371 (grub_term_get_current_output): Likewise.
10372 (grub_term_input_class): New variable.
50fb7002 10373 (grub_term_output_class): Likewise.
71b9f361 10374
10375 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
10376 (terminal_mod_SOURCES): Likewise.
10377 (terminal_mod_CFLAGS): Likewise.
10378 (terminal_mod_LDFLAGS): Likewise.
10379
10380 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
10381 handler.c.
10382 (kernel_img_SOURCES): Add list.c and handler.c.
10383 (kernel_img_HEADERS): Add list.h and handler.h.
10384
10385 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10386 handler.c.
10387 (kernel_mod_SOURCES): Add list.c and handler.c.
10388 (kernel_mod_HEADERS): Add list.h and handler.h.
10389
10390 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
10391 handler.c.
10392 (kernel_elf_SOURCES): Add list.c and handler.c.
10393 (kernel_elf_HEADERS): Add list.h and handler.h.
10394
10395 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10396 handler.c.
10397 (kernel_elf_SOURCES): Add list.c and handler.c.
10398 (kernel_elf_HEADERS): Add list.h and handler.h.
10399
10400 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10401 handler.c.
10402 (kernel_mod_SOURCES): Add list.c and handler.c.
10403 (kernel_mod_HEADERS): Add list.h and handler.h.
10404
10405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10406 handler.c.
10407 (kernel_elf_SOURCES): Add list.c and handler.c.
10408 (kernel_elf_HEADERS): Add list.h and handler.h.
10409
8a31787f 104102009-02-27 Robert Millan <rmh@aybabtu.com>
10411
10412 Factorize elf32 / elf64 code in Multiboot loader. This will
10413 prevent it from getting out of sync again.
10414
10415 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
10416 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
10417 grub_multiboot_load_elf64): Move from here ...
10418 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
10419 grub_multiboot_load_elf): ... to here (new file).
10420
51cd3dfc 104212009-02-27 Robert Millan <rmh@aybabtu.com>
10422
10423 * util/grub.d/10_linux.in: Rename "single-user mode" to
10424 "recovery mode".
10425
6e8c9c3a 104262009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 Don't leak in SCSI code.
10429 * disk/scsi.c (grub_scsi_close): free `scsi'.
10430
4b6bf4f9 104312009-02-27 Robert Millan <rmh@aybabtu.com>
10432
10433 * loader/i386/pc/multiboot.c: Move from here ...
10434 * loader/i386/multiboot.c: ... to here. Update all users.
10435
b9413424 104362009-02-27 Robert Millan <rmh@aybabtu.com>
10437
10438 Patch from Alexandre Bique <bique.alexandre@gmail.com>
10439 * util/i386/pc/grub-setup.c (setup): Fix directory path.
10440
50fb7002 104412009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 10442
10443 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
10444 b-tree.
10445
8cc50345 104462009-02-27 Robert Millan <rmh@aybabtu.com>
10447
10448 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
10449 `0x' qualifier as 0 when base is specified as parameter).
10450
6e09b8b7 104512009-02-24 Bean <bean123ch@gmail.com>
10452
10453 * configure.ac: Check for -mcmodel=large in x86_64 target.
10454
10455 * include/grub/efi/api.h (efi_call_10): New macro.
10456 (efi_wrap_10): New function.
10457
10458 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
10459 (GRUB_PE32_REL_BASED_HIGH): Likewise.
10460 (GRUB_PE32_REL_BASED_LOW): Likewise.
10461 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
10462 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
10463 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
10464 (GRUB_PE32_REL_BASED_SECTION): Likewise.
10465 (GRUB_PE32_REL_BASED_REL): Likewise.
10466 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10467 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10468 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10469
10470 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10471 issue.
10472
10473 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10474 (efi_wrap_10): New function.
10475
10476 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10477
10478 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10479 MB/MBP model (NV chipset).
10480 (devdata_devs): Add devpath_5 to the list.
10481
10482 * load/i386/efi/linux.c (video_base): Remove variable.
10483 (RGB_MASK): New macro.
10484 (RGB_MAGIC): Likewise.
10485 (LINE_MIN): Likewise.
10486 (LINE_MAX): Likewise.
10487 (FBTEST_STEP): Likewise.
10488 (FBTEST_COUNT): Likewise.
10489 (fb_list): New variable.
10490 (grub_find_video_card): Remove function.
10491 (find_framebuf): New function.
10492 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10493 line length.
10494
10495 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10496 problem for x86_64.
10497
74b21bee 104982009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10499
10500 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10501
10502 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10503 coding tool name.
10504
a455f472 105052009-02-22 Robert Millan <rmh@aybabtu.com>
10506
10507 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10508 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10509 in our relocation, instead of using it directly from heap. Also
10510 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10511
6374daf3 105122009-02-21 Robert Millan <rmh@aybabtu.com>
10513
10514 Implement USB keyboard support (based on patch by Marco Gerards)
10515
10516 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10517 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10518 (usb_keyboard_mod_LDFLAGS): New variables.
10519
10520 * term/usb_keyboard.c: New file.
10521
8fa4ea70 105222009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 Corrected wrong declaration
10525
10526 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10527
353976ac 105282009-02-14 Christian Franke <franke@computer.org>
10529
10530 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10531 (grub_lspci_iter): Print class code and programming interface byte.
10532
6aa1169b 105332009-02-14 Christian Franke <franke@computer.org>
10534
10535 * gendistlist.sh: Ignore `.svn' directories.
10536
265372ca 105372009-02-14 Felix Zielcke <fzielcke@z-51.de>
10538
10539 * fs/fat.c: Add 2009 to Copyright line.
10540
9ff516f3 105412009-02-14 Christian Franke <franke@computer.org>
10542
10543 * commands/hdparm.c: New file. Provides `hdparm' command
10544 which sends ATA commands via grub_disk_ata_pass_through ().
10545
10546 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10547
10548 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10549 and <grub/cpu/io.h> to include/grub/ata.h.
10550 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10551 (GRUB_CDROM_SECTOR_SIZE): Remove.
10552 (GRUB_ATA_*): Move to include/grub/ata.h.
10553 (GRUB_ATAPI_*): Likewise.
10554 (enum grub_ata_commands): Likewise.
10555 (enum grub_ata_timeout_milliseconds): Likewise.
10556 (struct grub_ata_device): Likewise.
10557 (grub_ata_regset): Likewise.
10558 (grub_ata_regget): Likewise.
10559 (grub_ata_regset2): Likewise.
10560 (grub_ata_regget2): Likewise.
10561 (grub_ata_check_ready): Likewise.
10562 (grub_ata_wait_not_busy): Remove static, exported in
10563 include/grub/ata.h.
10564 (grub_ata_wait_drq): Likewise.
10565 (grub_ata_pio_read): Likewise.
10566
10567 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10568 function for hdparm.mod.
10569
10570 * include/grub/ata.h: New file, contains declarations from
10571 disk/ata.c.
10572 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10573
10574 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10575 (grub_disk_ata_pass_through): New exported variable.
10576
10577 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10578
772e23da 105792009-02-13 Colin D Bennett <colin@gibibit.com>
10580
10581 Support multiple fallback entries, and provide an API to support
10582 executing default+fallback menu entries. Renamed the `terminal' menu
10583 viewer to `text'.
10584
10585 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10586 variable declaration.
10587 (grub_menu_execute_callback): New structure declaration.
10588 (grub_menu_execute_callback_t): New typedef.
10589 (grub_menu_execute_with_fallback): New function declaration.
10590 (grub_menu_get_entry): Likewise.
10591 (grub_menu_get_timeout): Likewise.
10592 (grub_menu_set_timeout): Likewise.
10593
10594 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10595
10596 * normal/menu.c (grub_wait_after_message): Moved to
10597 `normal/menu_text.c'.
10598 (draw_border): Likewise.
10599 (print_message): Likewise.
10600 (print_entry): Likewise.
10601 (print_entries): Likewise.
10602 (grub_menu_init_page): Likewise.
10603 (get_entry_number): Likewise.
10604 (print_timeout): Likewise.
10605 (run_menu): Likewise.
10606 (grub_menu_execute_entry): Likewise.
10607 (show_text_menu): Likewise.
10608 (get_and_remove_first_entry_number): New function.
10609 (grub_menu_execute_with_fallback): Likewise.
10610 (get_entry): Renamed to ...
10611 (grub_menu_get_entry): .. this and made it global.
10612 (get_timeout): Renamed to ...
10613 (grub_menu_get_timeout): ... this and made it global.
10614 (set_timeout): Renamed to ...
10615 (grub_menu_set_timeout): ... this and made it global.
10616 (grub_normal_terminal_menu_viewer): Renamed to ...
10617 (grub_normal_text_menu_viewer): ... this.
10618
10619 * normal/menu_text.c: New file. Extracted text-menu-specific code
10620 from normal/menu.c.
10621
10622 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10623 (normal_mod_SOURCES): Likewise.
10624
10625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10626 (normal_mod_SOURCES): Likewise.
10627
10628 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10629 (normal_mod_SOURCES): Likewise.
10630
10631 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10632 (normal_mod_SOURCES): Likewise.
10633
10634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10635 (normal_mod_SOURCES): Likewise.
10636
10637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10638 (normal_mod_SOURCES): Likewise.
10639
10640 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10641 (normal_mod_SOURCES): Likewise.
10642
16ac430e 106432009-02-11 Robert Millan <rmh@aybabtu.com>
10644
10645 * util/grub.d/00_header.in: Update old reference to `font' command.
10646
06ff20fc 106472009-02-10 Felix Zielcke <fzielcke@z-51.de>
10648
10649 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
10650
10651 Based on patch from Javier Martín.
10652
96da9407 106532009-02-09 Felix Zielcke <fzielcke@z-51.de>
10654
10655 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10656 to avoid false positives with FAT.
96da9407 10657 (grub_fstest_SOURCES): Likewise.
10658 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10659 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10664
6dca6fe4 106652009-02-09 Felix Zielcke <fzielcke@z-51.de>
10666
06ff20fc 10667 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10668 bpb.version_specific.fat12_or_fat16.fstype and
10669 bpb.version_specific.fat32.fstype.
10670
2550c62f 106712009-02-08 Robert Millan <rmh@aybabtu.com>
10672
be110b30 10673 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10674
56978920 106752009-02-08 Robert Millan <rmh@aybabtu.com>
10676
10677 * Makefile.in (host_os, host_cpu): New variables.
10678 (target_os): Remove. Update all users.
10679
d64399b5 106802009-02-08 Marco Gerards <marco@gnu.org>
10681
10682 * Makefile.in (enable_grub_emu_usb): New variable.
10683 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10684 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10685 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10686 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10687 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10688 `usbtest.mod' and `usbms.mod'.
10689 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10690 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10691 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10692 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10693 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10694 variables.
10695
10696 * disk/usbms.c: New file.
10697
10698 * include/grub/usb.h: Likewise.
10699
10700 * include/grub/usbtrans.h: Likewise.
10701
10702 * include/grub/usbdesc.h: Likewise.
10703
10704 * bus/usb/usbtrans.c: Likewise.
10705
10706 * bus/usb/ohci.c: Likewise.
10707
10708 * bus/usb/uhci.c: Likewise.
10709
10710 * bus/usb/usbhub.c: Likewise.
10711
10712 * bus/usb/usb.c: Likewise.
10713
10714 * commands/usbtest.c: Likewise.
10715
10716 * util/usb.c: Likewise.
50fb7002 10717
d64399b5 10718 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
10719
10720 * configure.ac: Test for libusb presence.
50fb7002 10721
d64399b5 10722 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
10723
2b40d6bb 107242009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
10725
10726 * kern/mm.c: Add more comments.
10727
73a4ce81 107282009-02-08 Robert Millan <rmh@aybabtu.com>
10729
10730 Patch from Javier Martín.
10731 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
10732 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
10733
f821ce59 107342009-02-08 Robert Millan <rmh@aybabtu.com>
10735
10736 * fs/cpio.c: Split tar functionality to ...
10737 * fs/tar.c: ... here (new file). Update all users.
10738
aebfc4b0 107392009-02-07 Robert Millan <rmh@aybabtu.com>
10740
10741 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
10742 backward-incompatible features.
10743
10744 Based on patch from Javier Martín, with some adjustments.
10745
50fb7002 107462009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 10747
10748 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
10749
0bb5115e 107502009-02-07 Robert Millan <rmh@aybabtu.com>
10751
10752 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
10753 position of `disk/lvm.c' to ensure grub_init_all() always picks it
10754 after the RAID stuff.
10755
38a0f8e7 107562009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
10757
50fb7002 10758 Fixes problem when running vbetest command as reported by
38a0f8e7 10759 Vladimir Serbinenko <phcoder@gmail.com>.
10760
10761 * (grub_vbe_set_video_mode): Fixed problem with text modes.
10762
3143cc1c 107632009-02-04 Felix Zielcke <fzielcke@z-51.de>
10764
10765 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
10766 /dev/md/NpN style mdraid devices.
10767
9cba6fce 107682009-02-03 Felix Zielcke <fzielcke@z-51.de>
10769
10770 * util/unifont2pff.rb: Remove.
10771
e507a2c1 107722009-02-03 Felix Zielcke <fzielcke@z-51.de>
10773
10774 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
10775 `#'.
10776
d2c2b4cd 107772009-02-03 Felix Zielcke <fzielcke@z-51.de>
10778
10779 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
10780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10781 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10784 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10786
b4315fb0 107872009-02-02 Christian Franke <franke@computer.org>
10788
10789 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
10790
de3aa260 107912009-02-01 Felix Zielcke <fzielcke@z-51.de>
10792
7c3ff286 10793 * INSTALL: Note that we now require at least autoconf 2.59 and
10794 that LZO is optional.
de3aa260 10795
825a182b 107962009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10797
10798 Base on patch on bug #24154 created by Tomas Tintera
10799 <trosos@seznam.cz>.
10800
10801 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
10802
a69ef770 108032009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10804
7c3ff286 10805 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 10806 <bero@arklinux.org>.
10807
10808 * normal/parser.y (script_init): Add missing semicolon.
10809
6fa42fa6 108102009-01-31 Colin D Bennett <colin@gibibit.com>
10811
7c3ff286 10812 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 10813 (free_menu_entry_classes): Added.
10814 (grub_normal_menu_addentry): Added class property handling.
10815 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
10816 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
10817
10818 * normal/menu_viewer.c: New file.
10819
10820 * normal/menu.c (run_menu_entry): Renamed to ...
10821 (grub_menu_execute_entry): ... this and made it as global.
10822 (grub_menu_run): Renamed to ...
10823 (show_text_menu): ... this and made it local.
10824 (show_text_menu): Adapt to new function names.
10825 (grub_normal_terminal_menu_viewer): New global variable.
10826
10827 * include/grub/menu.h: New file.
10828
10829 * include/grub/menu_viewer.h: New file.
10830
10831 * include/grub/normal.h: Added include to grub/menu.h.
10832 (grub_menu_entry): Moved to include/grub/menu.h.
10833 (grub_menu_entry_t): Likewise.
10834 (grub_menu): Likewise.
10835 (grub_menu_t): Likewise.
10836 (grub_normal_terminal_menu_viewer): Added.
10837 (grub_menu_execute_entry): Likewise.
10838 (grub_menu_run): Removed.
10839
10840 * DISTLIST: Added include/grub/menu.h.
10841 Added include/grub/menu_viewer.h.
10842 Added normal/menu_viewer.c.
10843
108442009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
10845
10846 * normal/execute.c (grub_script_execute_menuentry): Changed to use
10847 arglist for menutitle arguments.
10848
10849 * normal/main.c (grub_normal_menu_addentry): Likewise.
10850
10851 * normal/parser.y (menuentry): Likewise.
10852
10853 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10854
10855 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
10856 (grub_script_create_cmdmenu): Likewise.
10857
10858 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
10859
10860 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
10861 changes.
10862
10863 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
10864
10865 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
10866
10867 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
10868
10869 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10870
10871 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10872
10873 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10874
56192c23 108752009-01-30 Christian Franke <franke@computer.org>
10876
10877 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
10878 in option help text.
10879
d72521b3 108802009-01-27 Pavel Roskin <proski@gnu.org>
10881
10882 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
10883
994b5e84 108842009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10885
10886 * commands/lsmmap.c: Add include to grub/machine/memory.h.
10887
10888 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
10889
10890 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
10891 unregister function.
10892
6a7eab2c 108932009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10894
10895 * disk/scsi.c (grub_scsi_read): Fix sign problem.
10896
10897 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
10898
10899 * util/grub-mkfont.c (usage): Fix typo.
10900
10901 * util/elf/grub-mkimage.c (load_modules): Fix warning.
10902
1806b56e 109032009-01-26 Daniel Mierswa <impulze@impulze.org>
10904
3fb18f09 10905 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
10906
336e1fb9 10907 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
10908
1806b56e 10909 * kern/misc.c (grub_strcasecmp): New function.
10910 (grub_strcasecmp): Use grub_size_t instead of int for length.
10911 Fix return value.
10912 * include/grub/misc.h: Update function prototypes.
10913
580b2a0f 109142009-01-26 Robert Millan <rmh@aybabtu.com>
10915
10916 * configure.ac: Fix cross-compilation check.
ef257b36 10917
d31c24f1 109182009-01-22 Christian Franke <franke@computer.org>
10919
10920 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
10921 (precision) digit string. Allow `.format2' without `format1' (width).
10922 Limit input chars for `%s' output to `format2' if specified. This is
10923 compatible with standard printf ().
10924
3138b44c 109252009-01-22 Christian Franke <franke@computer.org>
10926
10927 * disk/ata.c (grub_ata_wait_status): Replace by ...
10928 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
10929 other status bits may be invalid while BSY is asserted.
10930 (grub_ata_check_ready): New function.
10931 (grub_ata_cmd): Removed.
10932 (grub_ata_wait_drq): New function.
10933 (grub_ata_strncpy): Remove inline.
10934 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
10935 and error check now done by grub_ata_wait_drq ().
10936 (grub_ata_pio_write): Likewise.
10937 (grub_atapi_identify): Set DEV before check for !BSY. Use
10938 grub_ata_wait_drq () to wait for data.
10939 (grub_ata_device_initialize): Add status register check to
10940 detect missing SATA slave devices. Add debug messages.
10941 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
10942 (grub_atapi_packet): Set DEV before check for !BSY. Replace
10943 transfer loop by grub_ata_pio_write ().
10944 (grub_ata_identify): Set DEV before check for !BSY. Use
10945 grub_ata_wait_drq () to wait for data.
ef257b36 10946 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 10947 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
10948 read/write in one loop. Fix invalid command on write. Fix incomplete
10949 command on (size % batch) == 0. Add missing error check after write of
10950 last block. Add debug messages.
10951 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
10952
59a64ef6 109532009-01-19 Christian Franke <franke@computer.org>
10954
10955 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
10956 (GRUB_ATAPI_IREASON_*): Likewise.
10957 (grub_ata_pio_write): Fix timeout error return.
10958 (grub_atapi_identify): Add grub_ata_wait () after cmd.
10959 (grub_atapi_wait_drq): New function.
10960 (grub_atapi_packet): New parameter `size'.
10961 Use grub_atapi_wait_drq () and direct write instead of
10962 grub_ata_pio_write ().
10963 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
10964 reads the number of bytes requested by the device for each DRQ
10965 assertion.
10966 (grub_atapi_write): Remove old implementation, return not
10967 implemented instead.
10968
1cfe20b3 109692009-01-19 Christian Franke <franke@computer.org>
10970
10971 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
10972 of 512 to calculate data size.
10973 (grub_scsi_read12): Likewise.
10974 (grub_scsi_write10): Likewise.
10975 (grub_scsi_write12): Likewise.
10976 (grub_scsi_read): Adjust size according to blocksize.
10977 Add checks for invalid blocksize and unaligned transfer.
10978
bee5fe5d 109792009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
10980
10981 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
10982
ef257b36 10983 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 10984 width glyphs.
10985
3e643f8c 109862009-01-19 Robert Millan <rmh@aybabtu.com>
10987
10988 * config.guess: Update to latest version from config git.
10989 * config.sub: Likewise.
10990
4fa80998 109912009-01-17 Felix Zielcke <fzielcke@z-51.de>
10992
10993 * Makefile.in: Change font compilation to use new grub-mkfont instead
10994 of java version.
10995
10996 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
10997 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
10998 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10999 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11000 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11001 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11002 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11003 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11004 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11005
7086085b 110062009-01-16 Christian Franke <franke@computer.org>
11007
11008 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11009 (enum grub_ata_timeout_milliseconds): New enum.
11010 (grub_ata_wait_status): Add parameter milliseconds.
11011 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11012 recovery from timed-out commands.
11013 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11014 return grub_errno instead of REG_ERROR.
11015 (grub_ata_pio_write): Add parameter milliseconds.
11016 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11017 Pass milliseconds to grub_ata_wait_status () and
11018 grub_ata_pio_read ().
11019 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11020 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11021 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11022 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11023 It is not suitable for device detection, because DEV bit is ignored,
11024 the command may run too long, and not all devices set the signature
11025 properly.
11026 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11027 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11028 Fix device selection, DEV bit must be set first to address the registers
11029 of the correct device.
11030 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11031 grub_ata_pio_read/write ().
11032 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11033 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11034
4a412913 110352009-01-13 Carles Pina i Estany <carles@pina.cat>
11036
11037 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11038
7795c55e 110392009-01-13 Bean <bean123ch@gmail.com>
d913988c 11040
11041 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11042
7795c55e 110432009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11044
11045 * Makefile.in: (enable_grub_mkfont): New variable.
11046 (freetype_cflags): Likewise.
11047 (freetype_libs): Likewise.
11048
11049 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11050 (grub_mkfont_SOURCES): New variable.
11051 (grub_mkfont_CFLAGS): Likewise.
11052 (grub_mkfont_LDFLAGS): Likewise.
11053
11054 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11055 library if `--enable-grub-mkfont' is requested.
11056 (enable_grub_mkfont): New variable.
11057 (freetype_cflags): Likewise.
11058 (freetype_libs): Likewise.
11059
11060 * util/grub-mkfont.c: New file.
11061
093af1fe 110622009-01-12 Christian Franke <franke@computer.org>
11063
11064 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11065 mode check. Fix setting of compat_use[].
11066
f36cc108 110672009-01-10 Robert Millan <rmh@aybabtu.com>
11068
11069 Update a few copyright years which we forgot to do in 2008 (only for
11070 files whose changes made in 2008 were copyright-significant)
11071
11072 * Makefile.in: Add 2008 to Copyright line.
11073 * disk/ieee1275/ofdisk.c: Likewise.
11074 * disk/efi/efidisk.c: Likewise.
11075 * kern/dl.c: Likewise.
11076 * kern/sparc64/ieee1275/init.c: Likewise.
11077 * kern/mm.c: Likewise.
11078 * kern/efi/mm.c: Likewise.
11079 * boot/i386/pc/boot.S: Likewise.
11080 * genfslist.sh: Likewise.
11081 * fs/iso9660.c: Likewise.
11082 * fs/hfs.c: Likewise.
11083 * fs/jfs.c: Likewise.
11084 * fs/minix.c: Likewise.
11085 * fs/ufs.c: Likewise.
11086 * gensymlist.sh.in: Likewise.
11087 * genkernsyms.sh.in: Likewise.
11088 * include/grub/misc.h: Likewise.
11089 * include/grub/types.h: Likewise.
11090 * include/grub/symbol.h: Likewise.
11091 * include/grub/elf.h: Likewise.
11092 * include/grub/kernel.h: Likewise.
11093 * include/grub/disk.h: Likewise.
11094 * include/grub/dl.h: Likewise.
11095 * include/grub/i386/linux.h: Likewise.
11096 * include/grub/i386/pc/biosdisk.h: Likewise.
11097 * include/grub/efi/api.h: Likewise.
11098 * include/grub/efi/pe32.h: Likewise.
11099 * include/grub/util/misc.h: Likewise.
11100 * normal/execute.c: Likewise.
11101 * normal/arg.c: Likewise.
11102 * normal/completion.c: Likewise.
11103 * normal/lexer.c: Likewise.
11104 * normal/parser.y: Likewise.
11105 * normal/misc.c: Likewise.
11106 * commands/i386/pc/vbeinfo.c: Likewise.
11107 * commands/hexdump.c: Likewise.
11108 * commands/terminal.c: Likewise.
11109 * commands/ls.c: Likewise.
11110 * commands/help.c: Likewise.
11111 * partmap/pc.c: Likewise.
11112 * loader/efi/chainloader.c: Likewise.
11113 * loader/multiboot_loader.c: Likewise.
11114 * loader/i386/pc/multiboot2.c: Likewise.
11115 * term/efi/console.c: Likewise.
11116 * term/i386/pc/serial.c: Likewise.
11117 * util/lvm.c: Likewise.
11118 * util/console.c: Likewise.
11119 * util/i386/efi/grub-mkimage.c: Likewise.
11120 * util/raid.c: Likewise.
11121
7f02114b 111222009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11123
11124 * commands/videotest.c: Removed include to grub/machine/memory.h.
11125
11126 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11127 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11128 (video_mod_SOURCES): Removed.
11129 (video_mod_CFLAGS): Likewise.
11130 (video_mod_LDFLAGS): Likewise.
11131 (gfxterm_mod_SOURCES): Likewise.
11132 (gfxterm_mod_CFLAGS): Likewise.
11133 (gfxterm_mod_LDFLAGS): Likewise.
11134 (videotest_mod_SOURCES): Likewise.
11135 (videotest_mod_CFLAGS): Likewise.
11136 (videotest_mod_LDFLAGS): Likewise.
11137 (bitmap_mod_SOURCES): Likewise.
11138 (bitmap_mod_CFLAGS): Likewise.
11139 (bitmap_mod_LDFLAGS): Likewise.
11140 (tga_mod_SOURCES): Likewise.
11141 (tga_mod_CFLAGS): Likewise.
11142 (tga_mod_LDFLAGS): Likewise.
11143 (jpeg_mod_SOURCES): Likewise.
11144 (jpeg_mod_CFLAGS): Likewise.
11145 (jpeg_mod_LDFLAGS): Likewise.
11146 (png_mod_SOURCES): Likewise.
11147 (png_mod_CFLAGS): Likewise.
11148 (png_mod_LDFLAGS): Likewise.
11149
11150 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11151 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11152 (video_mod_SOURCES): Added.
11153 (video_mod_CFLAGS): Likewise.
11154 (video_mod_LDFLAGS): Likewise.
11155 (videotest_mod_SOURCES): Likewise.
11156 (videotest_mod_CFLAGS): Likewise.
11157 (videotest_mod_LDFLAGS): Likewise.
11158 (bitmap_mod_SOURCES): Likewise.
11159 (bitmap_mod_CFLAGS): Likewise.
11160 (bitmap_mod_LDFLAGS): Likewise.
11161 (tga_mod_SOURCES): Likewise.
11162 (tga_mod_CFLAGS): Likewise.
11163 (tga_mod_LDFLAGS): Likewise.
11164 (jpeg_mod_SOURCES): Likewise.
11165 (jpeg_mod_CFLAGS): Likewise.
11166 (jpeg_mod_LDFLAGS): Likewise.
11167 (png_mod_SOURCES): Likewise.
11168 (png_mod_CFLAGS): Likewise.
11169 (png_mod_LDFLAGS): Likewise.
11170 (gfxterm_mod_SOURCES): Likewise.
11171 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 11172 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 11173
11174 * term/gfxterm.c: Removed include to grub/machine/memory.h,
11175 grub/machine/console.h.
11176
644fff97 111772009-01-04 Jerone Young <jerone@gmail.com>
11178
11179 Make on screen instructions clearer
11180
11181 Based on patch created by Jidanni <jidanni@jidanni.org>
11182
11183 * normal/menu.c: print clearer instructions on the screen
11184
1e901a75 111852009-01-02 Colin D Bennett <colin@gibibit.com>
11186
11187 New font engine.
34c44600 11188
1e901a75 11189 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
11190 build system and fixed gfxterm.c to work with different sized fonts.
11191
11192 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 11193
1e901a75 11194 * configure: Re-generated.
34c44600 11195
1e901a75 11196 * DISTLIST: Removed font/manager.c.
11197 Added font/font.c.
11198 Added font/font_cmd.c.
34c44600 11199
1e901a75 11200 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
11201 compilation.
34c44600 11202
1e901a75 11203 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 11204
11205 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 11206
11207 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 11208
1e901a75 11209 * normal/menu.c: Likewise.
34c44600 11210
1e901a75 11211 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
11212 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 11213
1e901a75 11214 * include/grub/font.h: Replaced with new file.
34c44600 11215
1e901a75 11216 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
11217 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
11218 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
11219 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
11220 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 11221 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 11222 fg_red, fg_green, fg_blue, fg_alpha.
11223 (grub_video_adapter): Removed blit_glyph.
34c44600 11224 (grub_video_blit_glyph): Removed.
11225
1e901a75 11226 * font/manager.c: Removed file.
34c44600 11227
11228 * font/font.c: New file.
11229
1e901a75 11230 * font/font_cmd.c: Likewise.
34c44600 11231
1e901a75 11232 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 11233
1e901a75 11234 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
11235 (grub_video_vbe_map_rgba): Likewise.
11236 (grub_video_vbe_unmap_color_int): Likewise.
11237 (grub_video_vbe_blit_glyph): Removed.
11238 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 11239
1e901a75 11240 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
11241 (get_pixel): Likewise.
34c44600 11242 (set_pixel): Likewise.
11243
1e901a75 11244 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 11245
1e901a75 11246 * term/gfxterm.c: Adapted to new font engine.
34c44600 11247
1e901a75 11248 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 11249
1e901a75 11250 * term/i386/pc/vga.c: Likewise.
34c44600 11251
1e901a75 11252 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 11253
1e901a75 11254 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 11255
1e901a75 11256 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11257
1e901a75 11258 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11259
1e901a75 11260 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 11261
1e901a75 11262 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 11263
1e901a75 11264 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 11265
1e901a75 11266 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 11267
1e901a75 11268 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11269
11270 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 11271
1e901a75 11272 * util/grub-mkconfig_lib.in: Changed font extension.
11273
278922e8 112742008-12-28 Felix Zielcke <fzielcke@z-51.de>
11275
11276 * util/getroot.c (grub_util_get_grub_dev): Add support for
11277 /dev/md/dNNpNN style partitionable mdraid devices.
11278
3ced05cf 112792008-12-12 Alex Smith <alex@alex-smith.me.uk>
11280
11281 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
11282 at a time limit of the PXE TFTP API correctly.
11283 (grub_pxefs_close): Likewise.
11284
7fd0ee30 112852008-11-29 Robert Millan <rmh@aybabtu.com>
11286
34c44600 11287 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 11288 grub_ata_device_initialize() calls.
11289
34c44600 112902008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 11291
11292 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
11293 iteration failed.
11294 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
11295
89313780 112962008-11-28 Robert Millan <rmh@aybabtu.com>
11297
11298 Fix build on powerpc-ieee1275. Based on patch created by
11299 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
11300 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11301 `kern/ieee1275/mmap.c'.
11302 * include/grub/powerpc/ieee1275/memory.h: New file.
11303
15257703 11304 Provide grub-install on coreboot.
11305 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
11306 (grub_install_SOURCES): New variable.
11307 * util/i386/pc/grub-install.in: Add a few condition checks to make it
11308 usable on coreboot.
11309
9fc5388a 113102008-11-25 Felix Zielcke <fzielcke@z-51.de>
11311
11312 * util/grub-fstest.c (grub_term_get_current_input): Change return type
11313 to `grub_term_input_t'.
11314 (grub_term_get_current_output): Change return type to
11315 `grub_term_output_t'.
11316
bc3a2f31 113172008-11-22 Robert Millan <rmh@aybabtu.com>
11318
34c44600 11319 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 11320 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
11321 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
11322 grub_vga_text_cls().
11323
80fc88f2 11324 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 11325 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 11326
cbf36fd3 11327 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
11328 to 0x200000 (avoids trouble with some OFW implementations, and matches
11329 with the one in Yaboot).
11330 Reported by Manoel Abranches
11331
73e8e268 113322008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 11333
11334 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
11335 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
11336
73e8e268 11337 * util/grub-mkconfig_lib.in (grub_warn): New function.
11338 (convert_system_path_to_grub_path): Use grub_warn() when issuing
11339 warnings, to obtain consistent formatting.
11340 * util/grub.d/00_header.in: Likewise.
11341 * util/update-grub_lib.in: Likewise.
11342
e94045a1 11343 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 11344 Move comment text to `#error' stanza.
e94045a1 11345
79d29fd7 11346 Harmonize ieee1275's grub_available_iterate() with the generic
11347 grub_machine_mmap_iterate() interface (fixes a recently-introduced
11348 build problem on i386-ieee1275):
11349 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
11350 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
11351 parameter `type'. Update all users of this function.
11352 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11353 `kern/ieee1275/mmap.c'.
11354 * kern/ieee1275/init.c
11355 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
11356 with ...
11357 (grub_machine_mmap_iterate): ... this.
11358 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
11359 return type to `grub_err_t'. Update all implementations of this
11360 function prototype.
11361 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
11362 Likewise.
11363
60d6b16e 11364 Add `lsmmap' command (lists firmware-provided memory map):
11365 * commands/lsmmap.c: New file.
11366 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
11367 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
11368 variables.
11369 * conf/powerpc-ieee1275.rmk: Likewise.
11370 * conf/i386-coreboot.rmk: Likewise.
11371 * conf/i386-ieee1275.rmk: Likewise.
11372
ebaaf49b 113732008-11-19 Robert Millan <rmh@aybabtu.com>
11374
11375 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 11376 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
11377 constraints to initrd allocation (based on code from
11378 loader/i386/pc/linux.c). Without them, initrd was allocated too high
11379 for Linux to find it.
ebaaf49b 11380
dfab719f 113812008-11-14 Robert Millan <rmh@aybabtu.com>
11382
11383 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
11384 order to cope with duplicate slashes.
11385
10fc3eb9 113862008-11-14 Robert Millan <rmh@aybabtu.com>
11387
11388 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
11389 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
11390 don't want to mess with lower memory, because it is used in the Linux
11391 loader.
11392
11393 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 11394 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 11395 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
11396 is in our heap (probably as a result of it being corrupted during
2f2a3442 11397 decompression). Add #error instance with comment to explain why this
11398 loader isn't currently usable on PC/BIOS.
10fc3eb9 11399
e2e07847 114002008-11-14 Robert Millan <rmh@aybabtu.com>
11401
11402 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 11403 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 11404
fe8e8d69 114052008-11-12 Robert Millan <rmh@aybabtu.com>
11406
11407 Make loader/i386/linux.c buildable on i386-pc (although disabled).
11408
11409 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
11410 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
11411 from here ...
11412 * include/grub/i386/pc/memory.h: ... to here.
11413
976b07d0 114142008-11-12 Robert Millan <rmh@aybabtu.com>
11415
11416 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
11417 split).
11418
11419 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
11420 (grub_console_cur_color, grub_console_real_putchar)
11421 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11422 (grub_console_setcolorstate, grub_console_setcolor)
11423 (grub_console_getcolor): Move from here ...
11424 * include/grub/i386/vga_common.h: ... to here (new file).
11425
11426 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
11427 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
11428 `<grub/i386/io.h>'.
11429 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
11430 `<grub/i386/vga_common.h>'.
11431
76679cd3 114322008-11-12 Robert Millan <rmh@aybabtu.com>
11433
11434 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
11435 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
11436 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
11437 variables.
11438 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11439 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
11440
11441 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
11442 grub_console_init() with call to grub_vga_text_init().
11443 (grub_machine_fini): Replace call to
11444 grub_console_fini() with call to grub_vga_text_fini() and
11445 grub_at_keyboard_fini().
11446
11447 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
11448 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11449 (grub_console_setcolorstate, grub_console_setcolor)
11450 (grub_console_getcolor): New function prototypes.
11451
11452 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
11453 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
11454 (grub_vga_text_setcursor): Static-ize.
11455 (grub_vga_text_term): New structure.
11456 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
11457
11458 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
11459 (grub_console_cur_color, grub_console_standard_color)
11460 (grub_console_normal_color, grub_console_highlight_color)
11461 (map_char, grub_console_putchar, grub_console_getcharwidth)
11462 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
11463 (grub_console_getcolor): Move from here ...
11464 * term/i386/vga_common.c: ... to here (same function names).
11465
95b841d3 114662008-11-12 Robert Millan <rmh@aybabtu.com>
11467
11468 Use newly-added Multiboot support in coreboot.
11469
11470 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11471 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11472
11473 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11474 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11475 (codestart): Store the MBI in `startup_multiboot_info' when we're
11476 being loaded using Multiboot.
11477
11478 * kern/i386/coreboot/init.c (grub_machine_init): Move
11479 grub_at_keyboard_init() call to beginning of function (useful for
11480 debugging). Call grub_machine_mmap_init() before attempting to use
11481 grub_machine_mmap_iterate().
11482 (grub_lower_mem, grub_upper_mem): Move from here ...
11483 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11484 here (new file).
11485
11486 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11487 function prototype.
11488
761ca975 114892008-11-12 Robert Millan <rmh@aybabtu.com>
11490
11491 Fix a regression introduced by the at_keyboard.mod split. Because
11492 some terminals are default on some platforms and non-default on
11493 others, the first terminal being registered determines which is
11494 going to be default.
11495
11496 * kern/term.c (grub_term_register_input): If this is the first
11497 terminal being registered, set it as the current one.
11498 (grub_term_register_output): Likewise.
11499
11500 * term/efi/console.c (grub_console_init): Do not call
11501 grub_term_set_current_output() or grub_term_set_current_input().
11502 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11503 * term/i386/pc/console.c (grub_console_init): Likewise.
11504 (grub_console_fini): Do not call grub_term_set_current_input()
11505 (but leave grub_term_set_current_output() to restore text mode).
11506
6c529df7 115072008-11-10 Robert Millan <rmh@aybabtu.com>
11508
11509 * util/grub.d/00_header.in: Add backward compatibility check for
11510 versions of terminal.mod that don't understand `terminal_input' or
11511 `terminal_output'.
11512
132e4113 115132008-11-09 Robert Millan <rmh@aybabtu.com>
11514
11515 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11516 `terminal_input' / `terminal_output', not `terminal'.
11517
ac293d50 115182008-11-08 Robert Millan <rmh@aybabtu.com>
11519
11520 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11521 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11522
0025933a 115232008-11-08 Robert Millan <rmh@aybabtu.com>
11524
11525 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11526 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11527 members. Update all users.
11528 * util/console.c (grub_ncurses_term): Split in ...
11529 (grub_ncurses_term_input): ... this, and ...
11530 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11531 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11532
37c86336 115332008-11-08 Robert Millan <rmh@aybabtu.com>
11534
11535 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11536 (PKGDATA): Add $(pkgdata_SRCDIR).
11537 (pkglib_BUILDDIR): New variable.
11538 (pkgdata_SRCDIR): New variable.
11539 (build_env.mk): New target.
11540 (include_DATA): New variable.
11541 (install-local): Install $(include_DATA) files in $(includedir).
11542
b6c15a2d 115432008-11-07 Pavel Roskin <proski@gnu.org>
11544
d99d46f1 11545 * gendistlist.sh: Use C locale for sorting to ensure consistent
11546 output on all systems.
11547
b6c15a2d 11548 * util/grub.d/00_header.in: Remove incorrect space before
11549 "serial".
11550
c32ee8c9 115512008-11-07 Robert Millan <rmh@aybabtu.com>
11552
11553 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11554 per specification.
11555 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11556 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11557 (based on find_multi_boot1_header).
11558 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11559 using find_multi_boot2_header(), and abort if neither Multiboot or
11560 Multiboot headers were found.
11561
651c29b7 115622008-11-07 Robert Millan <rmh@aybabtu.com>
11563
11564 Modularize at_keyboard.mod:
11565
11566 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11567 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11568 (at_keyboard_mod_LDFLAGS): New variables.
11569
11570 Actual terminal split:
11571
11572 * include/grub/term.h (struct grub_term): Split in ...
11573 (struct grub_term_input): ... this, and ...
11574 (struct grub_term_output): ... this. Update all users.
11575 (grub_term_set_current): Split in ...
11576 (grub_term_set_current_input): ... this, and ...
11577 (grub_term_set_current_output): ... this.
11578 (grub_term_get_current): Split in ...
11579 (grub_term_get_current_input): ... this, and ...
11580 (grub_term_get_current_output): ... this.
11581 (grub_term_register): Split in ...
11582 (grub_term_register_input): ... this, and ...
11583 (grub_term_register_output): ... this.
11584 (grub_term_unregister): Split in ...
11585 (grub_term_unregister_input): ... this, and ...
11586 (grub_term_unregister_output): ... this.
11587 (grub_term_iterate): Split in ...
11588 (grub_term_iterate_input): ... this, and ...
11589 (grub_term_iterate_output): ... this.
11590
11591 * kern/term.c (grub_term_list): Split in ...
11592 (grub_term_list_input): ... this, and ...
11593 (grub_term_list_output): ... this. Update all users.
11594 (grub_cur_term): Split in ...
11595 (grub_cur_term_input): ... this, and ...
11596 (grub_cur_term_output): ... this. Update all users.
11597 (grub_term_set_current): Split in ...
11598 (grub_term_set_current_input): ... this, and ...
11599 (grub_term_set_current_output): ... this.
11600 (grub_term_get_current): Split in ...
11601 (grub_term_get_current_input): ... this, and ...
11602 (grub_term_get_current_output): ... this.
11603 (grub_term_register): Split in ...
11604 (grub_term_register_input): ... this, and ...
11605 (grub_term_register_output): ... this.
11606 (grub_term_unregister): Split in ...
11607 (grub_term_unregister_input): ... this, and ...
11608 (grub_term_unregister_output): ... this.
11609 (grub_term_iterate): Split in ...
11610 (grub_term_iterate_input): ... this, and ...
11611 (grub_term_iterate_output): ... this.
11612
11613 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11614 a check for input and one for output (and only attempt to get keys
11615 from user when input works).
11616
11617 * util/grub-probe.c (grub_term_get_current): Split in ...
11618 (grub_term_get_current_input): ... this, and ...
11619 (grub_term_get_current_output): ... this.
11620 * util/grub-fstest.c: Likewise.
11621 * util/i386/pc/grub-setup.c: Likewise.
11622 * util/grub-editenv.c: Likewise.
11623
11624 Portability adjustments:
11625
11626 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11627 `term/i386/pc/at_keyboard.c'.
11628 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11629 grub_keyboard_controller_init() (now handled by terminal .init).
11630 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11631 grub_at_keyboard_init().
11632 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11633 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11634 at_keyboard.mod via input terminal interface).
11635 * include/grub/i386/coreboot/console.h: Convert into a stub for
11636 `<grub/i386/pc/console.h>'.
11637
11638 Migrate full terminals to new API:
11639
11640 * term/efi/console.c (grub_console_term): Split into ...
11641 (grub_console_term_input): ... this, and ...
11642 (grub_console_term_output): ... this. Update all users.
11643 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
11644 (grub_ofconsole_init): Split into ...
11645 (grub_ofconsole_init_input): ... this, and ...
11646 (grub_ofconsole_init_output): ... this.
11647 (grub_ofconsole_term): Split into ...
11648 (grub_ofconsole_term_input): ... this, and ...
11649 (grub_ofconsole_term_output): ... this. Update all users.
11650 * term/i386/pc/serial.c (grub_serial_term): Split into ...
11651 (grub_serial_term_input): ... this, and ...
11652 (grub_serial_term_output): ... this. Update all users.
11653 * term/i386/pc/console.c (grub_console_term): Split into ...
11654 (grub_console_term_input): ... this, and ...
11655 (grub_console_term_output): ... this. Update all users.
11656 (grub_console_term_input): Only enable it on PC/BIOS platform.
11657 (grub_console_init): Remove grub_keyboard_controller_init() call.
11658
11659 Migrate input terminals to new API:
11660
11661 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11662 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11663 i386-specific anyway).
11664 (grub_console_checkkey): Rename to ...
11665 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11666 users.
11667 (grub_keyboard_controller_orig): New variable.
11668 (grub_console_getkey): Rename to ...
11669 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11670 users.
11671 (grub_keyboard_controller_init): Static-ize. Save original
11672 controller value so that it can be restored ...
11673 (grub_keyboard_controller_fini): ... here (new function).
11674 (grub_at_keyboard_term): New structure.
11675 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11676 functions.
11677
11678 Migrate output terminals to new API:
11679
11680 * term/i386/pc/vga.c (grub_vga_term): Change type to
11681 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11682 members. Update all users.
11683 * term/gfxterm.c (grub_video_term): Change type to
11684 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11685 members. Update all users.
11686 * include/grub/i386/pc/console.h (grub_console_checkkey)
11687 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11688 etc).
11689
11690 Migrate `terminal' command and userland tools to new API:
11691
11692 * commands/terminal.c (grub_cmd_terminal): Split into ...
11693 (grub_cmd_terminal_input): ... this, and ...
11694 (grub_cmd_terminal_output): ... this.
11695 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11696 `terminal_input' and `terminal_output'.
11697 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11698 `terminal_input' / `terminal_output' API.
11699 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11700 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11701 provided ${GRUB_TERMINAL}, convert it).
11702
96e5d876 117032008-11-04 Robert Millan <rmh@aybabtu.com>
11704
11705 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11706 for FreeBSD.
11707 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11708
556f3775 117092008-11-03 Bean <bean123ch@gmail.com>
11710
11711 * kern/elf.c (grub_elf32_load): Revert to previous code.
11712 (grub_elf64_load): Likewise.
11713
11714 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
11715
926b9823 117162008-11-01 Robert Millan <rmh@aybabtu.com>
11717
11718 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
11719 (TARGET_CPPFLAGS): Likewise.
11720 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
11721
1432e958 117222008-11-01 Carles Pina i Estany <carles@pina.cat>
11723
11724 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
11725
dba3f844 117262008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 11727
11728 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
11729 addition of objects until the code is not going to be able to fail.
11730
dba3f844 117312008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 11732
11733 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
11734 (add a missing NULL check, and correct them by moving the pointer
11735 operations after the actual check).
11736
7ab28c21 117372008-10-29 Robert Millan <rmh@aybabtu.com>
11738
11739 * util/i386/pc/grub-install.in: Handle empty string as output from
11740 make_system_path_relative_to_its_root().
11741
1b7748eb 117422008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
11743
11744 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
11745 circular metadata worst case scenario. If the metadata is circular
11746 then copy the wrap in place.
11747 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
11748 project lib/format_text/layout.h
11749 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
11750
c9618ab2 117512008-10-03 Felix Zielcke <fzielcke@z-51.de>
11752
7a36edca 11753 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 11754
bf981c62 117552008-10-03 Felix Zielcke <fzielcke@z-51.de>
11756
11757 * util/update-grub_lib.in: Mention filename in warning message.
11758
6d994591 117592008-09-29 Felix Zielcke <fzielcke@z-51.de>
11760
11761 * NEWS: Update for rename of update-grub to grub-mkconfig.
11762
18ade780 117632008-09-29 Felix Zielcke <fzielcke@z-51.de>
11764
11765 * util/update-grub_lib.in: Copy to ...
11766 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 11767 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 11768 * util/update-grub.in: Rename to ...
11769 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
11770 option. Add `--output' option to allow users to specify the generated
11771 configuration file. Default to stdout.
11772 (update_grub_dir): Rename to ...
11773 (grub_mkconfig_dir): ... this.
11774 (grub_cfg): Default to an empty string.
11775 * conf/common.rmk (update-grub): Rename to ...
11776 (grub-mkconfig): ... this.
11777 (update-grub_lib): Copy to ...
11778 (grub-mkconfig_lib): ... this.
11779 (update-grub_SCRIPTS): Copy to ...
11780 (grub-mkconfig_SCRIPTS): ... this. Update all users.
11781 (update-grub_DATA): Rename to ...
11782 (grub-mkconfig_DATA): ... this.
11783
556ce6ac 117842008-09-28 Robert Millan <rmh@aybabtu.com>
11785
11786 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
11787 to `modified'. Add the real `created' field.
11788 (grub_iso9660_uuid): Use `modified' rather than `created' for
11789 constructing the UUID.
11790
117912008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 11792
11793 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
11794 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
11795
92274e85 117962008-09-28 Bean <bean123ch@gmail.com>
11797
11798 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
11799 Thanks to Christian Franke for finding this bug.
11800
add6f17a 118012008-09-25 Robert Millan <rmh@aybabtu.com>
11802
11803 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
11804 instances of grub_util_get_disk_name() (see previous commit).
11805
d2a367b8 118062008-09-25 Robert Millan <rmh@aybabtu.com>
11807
11808 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
11809 `util/i386/get_disk_name.c'.
11810 * conf/i386-efi.rmk: Likewise.
11811 * conf/x86_64-efi.rmk: Likewise.
11812 * conf/i386-coreboot.rmk: Likewise.
11813 * conf/i386-ieee1275.rmk: Likewise.
11814 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
11815 `util/ieee1275/get_disk_name.c'.
11816 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
11817 * util/ieee1275/get_disk_name.c: Remove file.
11818 * util/i386/get_disk_name.c: Remove file.
11819 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
11820 "hd%d" for device.map entries, rather than using
11821 grub_util_get_disk_name().
11822
81a06771 118232008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 11824
11825 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
11826 warning.
11827 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
11828
5a004279 118292008-09-24 Carles Pina i Estany <carles@pina.cat>
11830
11831 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
11832 Changed to 0x5100.
11833 (GRUB_TERM_PPAGE): Changed to 0x4900.
11834
397093d3 118352008-09-24 Robert Millan <rmh@aybabtu.com>
11836
11837 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
11838 macros (they were i386-pc specific).
11839 * include/grub/sparc64/ieee1275/console.h: Likewise.
11840 * include/grub/efi/console.h: Likewise.
11841
a91b6c7c 118422008-09-22 Bean <bean123ch@gmail.com>
11843
11844 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
11845 resident and in attribute list.
11846
11847 * include/grub/ntfs.h (BMP_LEN): Removed.
11848
c40fd116 118492008-09-22 Bean <bean123ch@gmail.com>
11850
81a06771 11851 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11852 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11853
11854 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
11855 error occurs, as grub_disk_open will call grub_disk_close, which will
11856 call p->close (scsi).
11857
81a06771 118582008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 11859
11860 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
11861 (AC_PREREQ): Bumped to 2.59.
11862 (AC_TRY_COMPILE): Replace obsolete macro with ...
11863 (AC_COMPILE_IFELSE): ... this.
11864 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
11865 (AC_LINK_IFELSE): ... this.
11866
5dc43410 118672008-09-21 Felix Zielcke <fzielcke@z-51.de>
11868
11869 * autogen.sh: Add a call to `gendistlist.sh'.
11870
9035dce4 118712008-09-19 Christian Franke <franke@computer.org>
11872
11873 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
11874 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
11875 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
11876 Export __enable_execute_stack() to modules.
11877 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
11878 New function.
11879
7fd75377 118802008-09-09 Felix Zielcke <fzielcke@z-51.de>
11881
040030b3 11882 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
11883 Sort the list.
11884
118852008-09-09 Felix Zielcke <fzielcke@z-51.de>
11886
11887 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 11888 #include <grub/util/hostdisk.h>.
11889
89d5ffcf 118902008-09-08 Robert Millan <rmh@aybabtu.com>
11891
11892 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
11893 segments when their filesz is zero (grub_file_read() interprets
81a06771 11894 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 11895 Use `lowest_segment' rather than 0 for calculating the current
11896 segment load address.
11897
40da438f 118982008-09-08 Robert Millan <rmh@aybabtu.com>
11899
11900 * util/hostdisk.c (open_device): Replace a grub_util_info() call
11901 with grub_dprintf("hostdisk", ...), as it was so verbose that it
11902 clobbered useful information.
11903
ddbf5556 119042008-09-08 Robert Millan <rmh@aybabtu.com>
11905
11906 * include/grub/util/biosdisk.h: Move to ...
11907 * include/grub/util/hostdisk.h: ... here. Update all users.
11908 * util/biosdisk.c: Move to ...
11909 * util/hostdisk.c: ... here. Update all users.
11910
783d0f48 119112008-09-07 Robert Millan <rmh@aybabtu.com>
11912
11913 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
11914 variables.
11915 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
11916 and length can be stored directly in the `mbi->mmap_addr' and
11917 `mbi->mmap_length' struct fields.
11918
548e2ea5 119192008-09-07 Robert Millan <rmh@aybabtu.com>
11920
11921 * conf/i386.rmk: New file. Provides declaration for building
11922 `cpuid.mod'.
11923 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
11924 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
11925 variables.
11926 Include `conf/i386.mk'.
11927 * conf/i386-efi.rmk: Likewise.
11928 * conf/x86_64-efi.rmk: Likewise.
11929 * conf/i386-coreboot.rmk: Likewise.
11930 * conf/i386-ieee1275.rmk: Likewise.
11931
0ea85a37 119322008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
11933
11934 Based on patch created by Colin D Bennett <colin@gibibit.com>.
11935 Adds optimization support for BGR based modes.
11936
11937 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
11938 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11939 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11940 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11941 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11942 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11943 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11944 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11945 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11946 (grub_video_i386_vbeblit_index_index): Likewise.
11947 (grub_video_i386_vbeblit_replace_directN): Added.
11948 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11949 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11950 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11951 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11952 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11953 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 11954 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 11955 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11956 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11957 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11958 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11959 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11960 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
11961
11962 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
11963 (grub_video_i386_vbefill_R8G8B8): Likewise.
11964 (grub_video_i386_vbefill_index): Likewise.
11965 (grub_video_i386_vbefill_direct32): Added.
11966 (grub_video_i386_vbefill_direct24): Likewise.
11967 (grub_video_i386_vbefill_direct16): Likewise.
11968 (grub_video_i386_vbefill_direct8): Likewise.
11969
81a06771 11970 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 11971 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
11972 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
11973 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
11974 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
11975 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 11976
0ea85a37 11977 * video/video.c (grub_video_get_blit_format): Updated to use new
11978 blit formats. Added handling for 16 bit color modes.
81a06771 11979
11980 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 11981 fillers.
11982 (common_blitter): Updated to use new blitters.
11983
11984 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
11985 Removed.
11986 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11987 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11988 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11989 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11990 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11991 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11992 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11993 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11994 (grub_video_i386_vbeblit_index_index): Likewise.
11995 (grub_video_i386_vbeblit_replace_directN): Added.
11996 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11997 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11998 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11999 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12000 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12001 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12002 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12003 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12004 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12005 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12006 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12007 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12008 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12009
0ea85a37 12010 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12011 (grub_video_i386_vbefill_R8G8B8): Likewise.
12012 (grub_video_i386_vbefill_index): Likewise.
12013 (grub_video_i386_vbefill_direct32): Added.
12014 (grub_video_i386_vbefill_direct24): Likewise.
12015 (grub_video_i386_vbefill_direct16): Likewise.
12016 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12017
0ea85a37 12018 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12019 types.
81a06771 12020
0ea85a37 12021 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12022 types.
81a06771 12023
0ea85a37 12024 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12025 blitter types.
81a06771 12026
0ea85a37 12027 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12028 types.
12029
e8a83df6 120302008-09-06 Felix Zielcke <fzielcke@z-51.de>
12031
12032 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12033 RAID level 1.
12034
6bcd8ee5 120352008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12036
6bcd8ee5 12037 * fs/iso9660.c (grub_iso9660_date): New structure.
12038 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12039 (grub_iso9660_uuid): New function.
c375ae58 12040
59261157 120412008-09-05 Bean <bean123ch@gmail.com>
12042
12043 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12044
12045 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12046 insensitive bit for names in Win32 and Win32 & DOS namespace.
12047
12048 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12049
12050 * include/grub/types.h (LONG_MAX): Likewise.
12051
58b6645a 120522008-09-04 Felix Zielcke <fzielcke@z-51.de>
12053
4ee55921 12054 * util/getroot.c: Include <config.h>.
12055 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12056 add support for /dev/md/N devices and handle LVM double dash escaping.
12057
120582008-09-04 Felix Zielcke <fzielcke@z-51.de>
12059
12060 * config.guess: Update to latest version from config git.
12061 * config.sub: Likewise.
58b6645a 12062
9124f65d 120632008-09-03 Robert Millan <rmh@aybabtu.com>
12064
12065 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12066 `disk->total_sectors'.
12067
81a06771 120682008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12069
12070 * include/grub/normal.h: Fixed incorrect comment for
12071 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12072
81a06771 120732008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12074
12075 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12076 values with defines.
12077
12078 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12079 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12080 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12081 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12082 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12083 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12084 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12085 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12086 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12087 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12088 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12089 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12090 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12091 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12092 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12093 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12094 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12095 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12096 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12097
93d5cbf8 120982008-08-31 Robert Millan <rmh@aybabtu.com>
12099
12100 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12101 declaration.
12102 (grub_multiboot): Fix a few warnings.
12103
21751d50 121042008-08-31 Robert Millan <rmh@aybabtu.com>
12105
12106 * loader/i386/pc/multiboot.c: Update comment not to say that
12107 boot_device support is unimplemented.
12108
e27a75c5 121092008-08-31 Robert Millan <rmh@aybabtu.com>
12110
12111 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12112 or memory map support are unimplemented.
12113
81a06771 121142008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12115
12116 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12117
81a06771 121182008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12119
12120 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12121 total video memory in 'vbeinfo' output; show color format details for
12122 each video mode.
12123
7c5d8d95 121242008-08-30 Pavel Roskin <proski@gnu.org>
12125
12126 * util/genmoddep.c: Remove for real this time.
12127 * DISTLIST: Remove util/genmoddep.c.
12128
4cebd25a 121292008-08-30 Robert Millan <rmh@aybabtu.com>
12130
12131 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12132 as required by Multiboot spec (it was already 4-byte aligned, but
12133 only by chance).
12134
b497a269 121352008-08-29 Pavel Roskin <proski@gnu.org>
12136
e3925185 12137 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12138 * kern/powerpc/ieee1275/startup.S: ... this.
12139 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12140 * DISTLIST: Likewise.
12141
b497a269 12142 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12143 grub/cpu/kernel.h. Add start label for consistency with other
12144 platforms. Add grub_prefix immediately after start. Add jump
12145 to the code after grub_prefix.
12146 * include/grub/powerpc/kernel.h: Provide valid values for
12147 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12148
6e5a42fe 121492008-08-29 Bean <bean123ch@gmail.com>
12150
12151 * configure.ac: Change host_os to cygwin for mingw.
12152 (asprintf): New check for function.
12153
12154 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12155 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12156
12157 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 12158 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 12159 sync, sleep and grub_util_get_disk_size for mingw.
12160
12161 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12162 to get size in mingw.
12163 (open_device): Use flag O_BINARY if it's defined.
12164 (find_root_device): Add dummy code for mingw.
12165
12166 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12167 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12168 (get_scsi_disk_name): Return 0 for mingw.
12169
12170 * util/hostfs.c: #include <grub/util/misc.h>.
12171 (grub_hostfs_open): Use "rb" flag to open file, use
12172 grub_util_get_disk_size to get disk size for mingw.
12173
12174 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
12175 (asprintf): New function if HAVE_ASPRINTF is not set.
12176 (sync): New function for mingw.
12177 (sleep): Likewise.
12178 (grub_util_get_disk_size): Likewise.
12179
ab3f2673 121802008-08-28 Pavel Roskin <proski@gnu.org>
12181
12182 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12183 kern/time.c.
12184
1c282483 121852008-08-28 Robert Millan <rmh@aybabtu.com>
12186
12187 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
12188
678e849c 121892008-08-28 Robert Millan <rmh@aybabtu.com>
12190
12191 Change find_grub_drive() syntax so it doesn't prevent it from
12192 detecting NULL names as errors.
12193
12194 * util/biosdisk.c (find_grub_drive): Move free slot search code
12195 from here ...
12196 (find_free_slot): ... to here.
12197 (read_device_map): Use find_free_slot() to search for free slots.
12198
965c75ca 121992008-08-27 Marco Gerards <marco@gnu.org>
12200
12201 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
12202 (scsi_mod_SOURCES): New variable.
12203 (scsi_mod_CFLAGS): Likewise
12204 (scsi_mod_LDFLAGS): Likewise.
12205
12206 * disk/scsi.c: New file.
12207
12208 * include/grub/scsi.h: Likewise.
12209
12210 * include/grub/scsicmd.h: Likewise.
12211
12212 * disk/ata.c: Include <grub/scsi.h>.
12213 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
12214 instead.
12215 (grub_ata_iterate): Skip ATAPI devices.
12216 (grub_ata_open): Only handle ATAPI devices.
12217 (struct grub_atapi_read): Removed.
12218 (grub_atapi_readsector): Likewise.
12219 (grub_ata_read): No longer handle ATAPI devices.
12220 (grub_ata_write): Likewise.
12221 (grub_atapi_iterate): New function.
12222 (grub_atapi_read): Likewise.
12223 (grub_atapi_write): Likewise.
12224 (grub_atapi_open): Likewise.
12225 (grub_atapi_close): Likewise.
12226 (grub_atapi_dev): New variable.
12227 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
12228 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
12229
12230 * include/grub/disk.h (enum grub_disk_dev_id): Add
12231 `GRUB_DISK_DEVICE_SCSI_ID'.
12232
c07ae501 122332008-08-26 Robert Millan <rmh@aybabtu.com>
12234
12235 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
12236 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
12237 descriptive.
12238
5ed20adc 122392008-08-23 Bean <bean123ch@gmail.com>
12240
12241 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
12242 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12243 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
12244 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
12245 dm_nv.mod.
12246 (raid5rec_mod_SOURCES): New macro.
12247 (raid5rec_mod_CFLAGS): Likewise.
12248 (raid5rec_mod_LDFLAGS): Likewise.
12249 (raid6rec_mod_SOURCES): Likewise.
12250 (raid6rec_mod_CFLAGS): Likewise.
12251 (raid6rec_mod_LDFLAGS): Likewise.
12252 (mdraid_mod_SOURCES): Likewise.
12253 (mdraid_mod_CFLAGS): Likewise.
12254 (mdraid_mod_LDFLAGS): Likewise.
12255 (dm_nv_mod_SOURCES): Likewise.
12256 (dm_nv_mod_CFLAGS): Likewise.
12257 (dm_nv_mod_LDFLAGS): Likewise.
12258
12259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
12260 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12261 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12262
12263 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
12264 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12265
12266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12267
12268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12269
12270 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12271
12272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12273
12274 * disk/raid5_recover.c: New file.
12275
12276 * disk/raid6_recover.c: Likewise.
12277
12278 * disk/mdraid_linux.c: Likewise.
12279
12280 * disk/dmraid_nvidia.c: Likewise.
12281
12282 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
12283 ULONG_MAX.
12284
12285 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
12286 calculate the size of raid device.
12287 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
12288 different layout of raid5.
12289 (grub_raid_scan_device): Remove code specific to mdraid.
12290 (grub_raid_list): New variable.
12291 (free_array): New function.
12292 (grub_raid_register): Likewise.
12293 (grub_raid_unregister): Likewise.
12294 (grub_raid_rescan): Likewise.
12295 (GRUB_MOD_INIT): Don't iterate device here.
12296 (GRUB_MOD_FINI): Use free_array to release resource.
12297
12298 * include/grub/raid.h: Remove macro and structure specific to mdraid.
12299 (grub_raid5_recover_func_t): New function variable type.
12300 (grub_raid6_recover_func_t): Likewise.
12301 (grub_raid5_recover_func): New variable.
12302 (grub_raid6_recover_func): Likewise.
12303 (grub_raid_register): New function.
12304 (grub_raid_unregister): Likewise.
12305 (grub_raid_rescan): Likewise.
12306 (grub_raid_block_xor): Likewise.
12307
12308 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
12309 (CMD_CRC): New macro.
12310 (part): Removed.
12311 (read_file): Handle device as well as file.
12312 (cmd_crc): New function.
12313 (fstest): Handle multiple disks.
12314 (options): Remove part, raw and long, add root and diskcount.
12315 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 12316 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 12317 add handling for the new options, support multiple disks.
12318
12319 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
12320
29c18915 123212008-08-23 Bean <bean123ch@gmail.com>
12322
12323 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
12324
12325 * genfslist.sh: Ignore kernel.mod.
12326
12327 * genpartmaplist.sh: Likewise.
12328
8415f261 123292008-08-23 Robert Millan <rmh@aybabtu.com>
12330
12331 * util/getroot.c (find_root_device): Skip anything that starts with
12332 a dot, not just directories. This avoids things like /dev/.tmp.md0.
12333
d5a7dc5b 123342008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 12335
d5a7dc5b 12336 * util/update-grub.in (GRUB_GFXMODE): Export variable.
12337 * util/grub.d/00_header.in: Allow the administrator to change default
12338 gfxmode via ${GRUB_GFXMODE}.
12339
380cfbb4 123402008-08-21 Felix Zielcke <fzielcke@z-51.de>
12341
12342 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
12343
c9baafe7 123442008-08-21 Robert Millan <rmh@aybabtu.com>
12345
12346 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
12347 loader.
12348 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
12349 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
12350
e290bef2 123512008-08-20 Carles Pina i Estany <carles@pina.cat>
12352
12353 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
12354 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
12355
f9dbfc96 123562008-08-19 Robert Millan <rmh@aybabtu.com>
12357
12358 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
12359 (struct grub_virtual_screen): Remove `cursor_color'.
12360 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
12361 initialization.
12362 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
12363
dd6bd6ab 123642008-08-18 Robert Millan <rmh@aybabtu.com>
12365
12366 Unify (identical) linux_normal.c files.
12367 * loader/i386/efi/linux_normal.c: Move from here ...
12368 * loader/linux_normal.c: ... to here. Update all users.
12369 * loader/i386/pc/linux_normal.c: Delete. Update all users.
12370 * loader/i386/ieee1275/linux_normal.c: Likewise.
12371
7f42f83e 123722008-08-18 Robert Millan <rmh@aybabtu.com>
12373
12374 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
12375 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
12376 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
12377 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
12378 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
12379 New macros.
12380 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
12381 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
12382 (GRUB_LINUX_CL_END_OFFSET): ... to here.
12383 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
12384 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
12385 (GRUB_EFI_CL_END_OFFSET): Rename to ...
12386 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
12387 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
12388 Initialize `params->video_cursor_x' and `params->video_cursor_y'
12389 portably using grub_getxy().
12390 Replace `-EFI' with `-bzImage' in boot message.
12391
38487ddb 123922008-08-17 Robert Millan <rmh@aybabtu.com>
12393
12394 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
12395
deceb3ec 123962008-08-17 Robert Millan <rmh@aybabtu.com>
12397
12398 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
12399
12400 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
12401 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
12402 (grub_machine_mmap_iterate): New function declaration.
12403 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
12404 structure.
12405 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
12406 macros.
12407
12408 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
12409 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
12410 Move e820 parsing from here ...
12411 * kern/i386/pc/mmap.c: New file.
12412 (grub_machine_mmap_iterate): ... to here.
12413
12414 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
12415 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
12416 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
12417 (grub_available_iterate): Redeclare to return `void', and redeclare
12418 its hook to use grub_uint64_t as addr and size parameters, and rename
12419 to ...
12420 (grub_machine_mmap_iterate): ... this. Update all users.
12421
12422 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
12423 to make it more readable. Rename to ...
12424 (grub_machine_mmap_iterate): ... this.
12425
12426 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
12427 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
12428 (grub_multiboot): Allocate an extra region after the payload, and fill
12429 it with a Multiboot memory map. Adjust a.out loader to calculate size
12430 with the extra space.
12431 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
12432 with the extra space.
12433
f8aa0f43 124342008-08-17 Carles Pina i Estany <carles@pina.cat>
12435
9807deb9 12436 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 12437
605f5bb6 124382008-08-17 Felix Zielcke <fzielcke@z-51.de>
12439
12440 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
12441 mdate-sh to the list `find' searches for.
12442 * DISTLIST: Regenerated.
12443
210db6c6 124442008-08-16 Felix Zielcke <fzielcke@z-51.de>
12445
12446 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
12447 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 12448 genmoddep.awk, gensymlist.sh.in.
12449 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 12450 * DISTLIST: Regenerated.
48cdbfd4 12451 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 12452
1082b929 124532008-08-16 Robert Millan <rmh@aybabtu.com>
12454
12455 * disk/raid.c (grub_raid_init): Handle/report errors set by
12456 grub_device_iterate().
12457 * disk/lvm.c (grub_lvm_init): Likewise.
12458
42ce5170 124592008-08-15 Bean <bean123ch@gmail.com>
12460
12461 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12462 and datehook.mod.
12463 (datetime_mod_SOURCES): New macro.
12464 (datetime_mod_CFLAGS): Likewise.
12465 (datetime_mod_LDFLAGS): Likewise.
12466 (date_mod_SOURCES): Likewise.
12467 (date_mod_CFLAGS): Likewise.
12468 (date_mod_LDFLAGS): Likewise.
12469 (datehook_mod_SOURCES): Likewise.
12470 (datehook_mod_CFLAGS): Likewise.
12471 (datehook_mod_LDFLAGS): Likewise.
12472
12473 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12474 and datehook.mod.
12475 (datetime_mod_SOURCES): New macro.
12476 (datetime_mod_CFLAGS): Likewise.
12477 (datetime_mod_LDFLAGS): Likewise.
12478 (date_mod_SOURCES): Likewise.
12479 (date_mod_CFLAGS): Likewise.
12480 (date_mod_LDFLAGS): Likewise.
12481 (datehook_mod_SOURCES): Likewise.
12482 (datehook_mod_CFLAGS): Likewise.
12483 (datehook_mod_LDFLAGS): Likewise.
12484
12485 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12486 and datehook.mod.
12487 (datetime_mod_SOURCES): New macro.
12488 (datetime_mod_CFLAGS): Likewise.
12489 (datetime_mod_LDFLAGS): Likewise.
12490 (date_mod_SOURCES): Likewise.
12491 (date_mod_CFLAGS): Likewise.
12492 (date_mod_LDFLAGS): Likewise.
12493 (datehook_mod_SOURCES): Likewise.
12494 (datehook_mod_CFLAGS): Likewise.
12495 (datehook_mod_LDFLAGS): Likewise.
12496
12497 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12498 and datehook.mod.
12499 (datetime_mod_SOURCES): New macro.
12500 (datetime_mod_CFLAGS): Likewise.
12501 (datetime_mod_LDFLAGS): Likewise.
12502 (date_mod_SOURCES): Likewise.
12503 (date_mod_CFLAGS): Likewise.
12504 (date_mod_LDFLAGS): Likewise.
12505 (datehook_mod_SOURCES): Likewise.
12506 (datehook_mod_CFLAGS): Likewise.
12507 (datehook_mod_LDFLAGS): Likewise.
12508
12509 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12510 and datehook.mod.
12511 (datetime_mod_SOURCES): New macro.
12512 (datetime_mod_CFLAGS): Likewise.
12513 (datetime_mod_LDFLAGS): Likewise.
12514 (date_mod_SOURCES): Likewise.
12515 (date_mod_CFLAGS): Likewise.
12516 (date_mod_LDFLAGS): Likewise.
12517 (datehook_mod_SOURCES): Likewise.
12518 (datehook_mod_CFLAGS): Likewise.
12519 (datehook_mod_LDFLAGS): Likewise.
12520
12521 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12522
12523 * commands/date.c: New file.
12524
12525 * hook/datehook.c: Likewise.
12526
12527 * include/grub/lib/datetime.h: Likewise.
12528
12529 * include/grub/i386/cmos.h: Likewise.
12530
12531 * lib/datetime.c: Likewise.
12532
12533 * lib/i386/datetime.c: Likewise.
12534
12535 * lib/efi/datetime.c: Likewise.
12536
0e9242da 125372008-08-14 Robert Millan <rmh@aybabtu.com>
12538
12539 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12540 (grub_mkelfimage_SOURCES): New variable.
12541 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12542
12543 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12544 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12545 * conf/powerpc-ieee1275.rmk: Likewise.
12546 * conf/i386-ieee1275.rmk: Likewise.
12547
12548 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12549 * kern/i386/coreboot/init.c: Likewise.
12550
12551 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12552 with `<grub/cpu/kernel.h>'.
12553 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12554 to ...
12555 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12556 * kern/i386/coreboot/startup.S: Likewise.
12557
12558 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12559 (GRUB_MOD_GAP): Remove.
12560 * include/grub/powerpc/kernel.h: New file.
12561 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12562 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12563 * include/grub/i386/kernel.h: New file.
12564 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12565 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12566 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12567
12568 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12569 `grub-mkelfimage'.
12570 Use --directory when invoking grub_mkimage.
12571
12572 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12573 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12574 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12575 and GRUB_KERNEL_CPU_PREFIX.
12576
b86408f8 125772008-08-14 Felix Zielcke <fzielcke@z-51.de>
12578
d5e619ca 12579 * include/grub/err.h (grub_err_printf): New function prototype.
12580 * util/misc.c (grub_err_printf): New function.
12581 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12582 grub_printf.
12583 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 12584
7161f0e0 125852008-08-13 Robert Millan <rmh@aybabtu.com>
12586
12587 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12588
a1967522 125892008-08-13 Robert Millan <rmh@aybabtu.com>
12590
12591 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12592 boot entry.
12593
371458b5 125942008-08-12 Robert Millan <rmh@aybabtu.com>
12595
12596 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12597 of the relocation code from here ...
12598 (grub_multiboot): ... to here.
12599 (forward_relocator, backward_relocator): Move from here ...
12600 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12601 (grub_multiboot_backward_relocator): ... to here.
12602 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12603 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12604 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12605 (grub_multiboot_forward_relocator_end)
12606 (grub_multiboot_backward_relocator)
12607 (grub_multiboot_backward_relocator_end): New variables.
12608
05f9452b 126092008-08-12 Bean <bean123ch@gmail.com>
12610
12611 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12612
20024ab0 126132008-08-11 Robert Millan <rmh@aybabtu.com>
12614
12615 * kern/i386/linuxbios/startup.S: Move from here ...
12616 * kern/i386/coreboot/startup.S: ... to here.
12617
12618 * kern/i386/linuxbios/init.c: Move from here ...
12619 * kern/i386/coreboot/init.c: ... to here.
12620
12621 * kern/i386/linuxbios/table.c: Move from here ...
12622 * kern/i386/coreboot/mmap.c: ... to here.
12623
12624 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12625
e352e9cd 126262008-08-11 Robert Millan <rmh@aybabtu.com>
12627
12628 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12629 errors. Leave it to the upper layer to handle them.
12630
2d05bc6a 126312008-08-09 Christian Franke <franke@computer.org>
12632
12633 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12634 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12635 Install `grub.d/10_windows' only on Cygwin.
12636 * configure.ac: Add subst of `target_os'.
12637 Check `target_os' also before setting TARGET_OBJ2ELF.
12638 Add `--enable-grub-pe2elf'.
12639
042bd419 126402008-08-08 Robert Millan <rmh@aybabtu.com>
12641
12642 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12643 (grub_last_time): Change type to grub_uint64_t.
12644 (grub_disk_open): Migrate code from to using grub_get_time_ms().
12645 (grub_disk_close): Likewise.
12646
12647 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12648 (run_menu): Migrate code from to using grub_get_time_ms().
12649
12650 * util/misc.c (grub_get_time_ms): New function.
12651
7f280db5 126522008-08-08 Marco Gerards <marco@gnu.org>
12653
12654 * disk/ata.c (grub_ata_regget): Change return type to
12655 `grub_uint8_t'.
12656 (grub_ata_regget2): Likewise.
12657 (grub_ata_wait_status): New function.
12658 (grub_ata_wait_busy): Removed function, updated all users to use
12659 `grub_ata_wait_status'.
12660 (grub_ata_wait_drq): Likewise.
12661 (grub_ata_cmd): New function.
12662 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12663 error handling.
12664 (grub_ata_pio_write): Add error handling.
12665 (grub_atapi_identify): Likewise.
12666 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12667 handling.
12668 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12669 handling. Actually use the detected registers. Reorder the
12670 detection logic such that it is easier to read.
12671 (grub_ata_pciinit): Do not assign the same ID to each controller.
12672 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12673 handling.
12674 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12675
12676 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12677
1fbc5e66 126782008-08-08 Marco Gerards <marco@gnu.org>
12679
12680 * NEWS: Update.
12681
819ce6c0 126822008-08-07 Bean <bean123ch@gmail.com>
12683
12684 * include/grub/x86_64/pci.h: New file.
12685
5c41d44d 126862008-08-07 Christian Franke <franke@computer.org>
12687
12688 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12689 (TIMER2_GATE): Likewise.
12690 (grub_pit_wait): Add enable/disable of the timer2 gate
12691 bit of port 0x61. This fixes a possible infinite loop.
12692
5ebc275d 126932008-08-07 Bean <bean123ch@gmail.com>
12694
12695 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12696 kern/i386/tsc.c and kern/i386/pit.c.
12697
12698 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12699 x86_64 platform.
12700
12701 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12702 <grub/i386/tsc.h>.
12703
12704 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12705
e383b3d0 127062008-08-07 Bean <bean123ch@gmail.com>
12707
12708 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12709
12710 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12711
12712 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12713 multiple inclusion. Add #include <grub/types.h>.
12714
1cbb58ac 127152008-08-06 Christian Franke <franke@computer.org>
12716
12717 * conf/common.rmk: Build and install `10_windows'.
12718 * util/grub.d/10_windows.in: New script.
12719
337f5a1e 127202008-08-06 Pavel Roskin <proski@gnu.org>
12721
12722 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
12723
057bc4ac 127242008-08-06 Robert Millan <rmh@aybabtu.com>
12725
12726 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
12727 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
12728
2b99f123 127292008-08-06 Bean <bean123ch@gmail.com>
12730
12731 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
12732 (grub_pxefs_fs_int): Remove dummy definition.
12733 (grub_pxefs_open): Use data->block_size to store the current block
12734 size setting.
12735 (grub_pxefs_read): Use block size stored in data->block_size. As the
12736 value of grub_pxe_blksize can be changed after the file is opened.
12737
9f0234cb 127382008-08-06 Bean <bean123ch@gmail.com>
12739
12740 * fs/i386/pc/pxe.c (curr_file): new variable.
12741 (grub_pxefs_open): Simply the handling of pxe file system. Don't
12742 require the dummy internal file system anymore.
12743 (grub_pxefs_read): Removed.
12744 (grub_pxefs_close): Likewise.
12745 (grub_pxefs_fs_int): Likewise.
12746 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
12747 connection when we switch file.
12748 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
12749
a55d42e0 127502008-08-06 Robert Millan <rmh@aybabtu.com>
12751
12752 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
12753 `halt.mod'.
12754 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
12755 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
12756
12757 * kern/i386/halt.c: New file.
12758 * kern/i386/reboot.c: Likewise.
12759 * include/grub/i386/reboot.h: Likewise.
12760 * include/grub/i386/halt.h: Likewise.
12761
12762 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
12763 Include `<grub/cpu/halt.h>'.
12764 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
12765 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
12766
12767 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
12768 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
12769 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
12770 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
12771 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
12772 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
12773 from here ...
12774 * include/grub/i386/at_keyboard.h: ... to here.
12775
24371d26 127762008-08-05 Robert Millan <rmh@aybabtu.com>
12777
12778 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
12779 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
12780 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
12781 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12782 `kern/generic/millisleep.c'.
12783
12784 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
12785 instead of grub_get_rtc().
12786 (grub_tsc_init): Initialize `tsc_boot_time'.
12787
12788 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
12789 (grub_machine_init): Use grub_tsc_init() rather than
12790 installing an RTC-based handler via grub_install_get_time_ms().
12791
12792 * kern/i386/pit.c: New file.
12793 * include/grub/i386/pit.h: Likewise.
12794
9e7007b3 127952008-08-05 Bean <bean123ch@gmail.com>
12796
12797 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
12798
12799 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
12800 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
12801 (pxe_mod_SOURCES): New macro.
12802 (pxe_mod_CFLAGS): Likewise.
12803 (pxe_mod_LDFLAGS): Likewise.
12804 (pxecmd_mod_SOURCES): Likewise.
12805 (pxecmd_mod_CFLAGS): Likewise.
12806 (pxecmd_mod_LDFLAGS): Likewise.
12807
12808 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
12809 (grub_pxe_call): Likewise.
12810
12811 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
12812
12813 * commands/i386/pc/pxecmd.c: New file.
12814
9f0234cb 12815 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 12816
12817 * include/grub/i386/pc/pxe.h: Likewise.
12818
6977d49f 128192008-08-05 Bean <bean123ch@gmail.com>
12820
12821 * util/console.c (grub_console_cur_color): New variable.
12822 (grub_console_standard_color): Likewise.
12823 (grub_console_normal_color): Likewise.
12824 (grub_console_highlight_color): Likewise.
12825 (color_map): Likewise.
12826 (use_color): Likewise.
12827 (NUM_COLORS): New macro.
12828 (grub_ncurses_setcolorstate): Handle color properly.
12829 (grub_ncurses_setcolor): Don't change color here, just remember the
12830 settings, color will be set in grub_ncurses_setcolorstate.
12831 (grub_ncurses_getcolor): New function.
12832 (grub_ncurses_init): Initialize color pairs.
12833 (grub_ncurses_term): New member grub_ncurses_getcolor.
12834
9c2ff3ee 128352008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 12836
9c2ff3ee 12837 High resolution timer support. Implemented for x86 CPUs using TSC.
12838 Extracted generic grub_millisleep() so it's linked in only as needed.
12839 This requires a Pentium compatible CPU; if the RDTSC instruction is
12840 not supported, then it falls back on the generic grub_get_time_ms()
12841 implementation that uses the machine's RTC.
12842
12843 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
12844 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12845 `kern/generic/millisleep.c'.
12846
12847 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
12848 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
12849
12850 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
12851 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12852
12853 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12854
12855 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12856 `kern/generic/millisleep.c'.
12857
12858 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12859
12860 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
12861
12862 * kern/generic/rtc_get_time_ms.c: New file.
12863
12864 * kern/generic/millisleep.c: New file.
337f5a1e 12865
9c2ff3ee 12866 * kern/misc.c: Don't include
12867 <kern/time.h> anymore.
12868 (grub_millisleep_generic): Removed.
12869
12870 * commands/sleep.c (grub_interruptible_millisleep): Uses
12871 grub_get_time_ms() instead of grub_get_rtc().
12872
12873 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
12874 function.
12875 (grub_cpu_is_cpuid_supported): New inline function.
12876 (grub_cpu_is_tsc_supported): New inline function.
12877 (grub_tsc_init): New function prototype.
12878 (grub_tsc_get_time_ms): New function prototype.
12879
12880 * kern/i386/tsc.c (grub_get_time_ms): New file.
12881
12882 * include/grub/time.h: Include <grub/types.h.
12883 (grub_millisleep_generic): Removed.
12884 (grub_get_time_ms): New prototype.
12885 (grub_install_get_time_ms): New prototype.
12886 (grub_rtc_get_time_ms): New prototype.
12887
12888 * kern/time.c (grub_get_time_ms): New function.
12889 (grub_install_get_time_ms): New function.
12890
12891 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
12892 <grub/time.h> anymore.
12893 (grub_millisleep): Removed.
12894 (grub_machine_init): Call grub_tsc_init.
12895
12896 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
12897 get_time_ms() implementation.
12898
12899 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
12900 (ieee1275_get_time_ms): New function.
12901 (grub_machine_init): Install get_time_ms() implementation.
12902
12903 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
12904 (grub_machine_init): Call grub_tsc_init().
12905 (grub_millisleep): Removed.
bf06a93f 12906
9c2ff3ee 12907 * kern/ieee1275/init.c (grub_millisleep): Removed.
12908 (grub_machine_init): Install ieee1275_get_time_ms()
12909 implementation.
12910 (ieee1275_get_time_ms): New function.
12911 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
12912 real work.
12913
9ec92aaf 129142008-08-05 Marco Gerards <marco@gnu.org>
12915
12916 * disk/ata.c: Include <grub/pci.h>.
12917 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
12918 (grub_ata_initialize): Rewritten.
12919 (grub_ata_device_initialize): New function.
12920
8d23f507 129212008-08-04 Pavel Roskin <proski@gnu.org>
12922
12923 * kern/main.c: Include grub/mm.h.
12924
5e15ee3d 129252008-08-04 Robert Millan <rmh@aybabtu.com>
12926
12927 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
12928 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
12929 corruption problem).
12930
a9053f8f 129312008-08-04 Robert Millan <rmh@aybabtu.com>
12932
12933 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
12934 warnings introduced in my last commit.
12935
dd19c7d7 129362008-08-03 Robert Millan <rmh@aybabtu.com>
12937
12938 Make PCI available on all i386 architectures.
12939
12940 * include/grub/i386/pc/pci.h: Move from here ...
12941 * include/grub/i386/pci.h: ... to here.
12942
12943 * include/grub/i386/pc/pci.h: Remove.
12944 * include/grub/i386/efi/pci.h: Remove.
12945 * include/grub/x86_64/efi/pci.h: Remove.
12946
12947 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
12948 `<grub/cpu/pci.h>'.
12949
12950 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
12951 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
12952 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
12953
12954 * conf/i386-ieee1275.rmk: Likewise.
12955
e14a6184 129562008-08-03 Robert Millan <rmh@aybabtu.com>
12957
12958 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
12959 (grub_console_setcursor): Make it possible to set cursor off.
12960
52768e37 129612008-08-03 Robert Millan <rmh@aybabtu.com>
12962
12963 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
12964 of modules instead of assuming which platform provides what.
12965 * util/update-grub.in: Likewise.
12966
2d52f57f 129672008-08-03 Robert Millan <rmh@aybabtu.com>
12968
12969 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
12970 instead of `grub_install_dos_part' to determine whether a drive needs
12971 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 12972 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 12973
2a5cd121 129742008-08-02 Robert Millan <rmh@aybabtu.com>
12975
12976 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
12977
93808428 129782008-08-02 Robert Millan <rmh@aybabtu.com>
12979
12980 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
12981 of informational grub_dprintf() calls.
12982
3bd0a12a 129832008-08-02 Robert Millan <rmh@aybabtu.com>
12984
12985 * disk/memdisk.c (memdisk_size): Don't initialize.
12986 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
12987
12988 * include/grub/i386/pc/kernel.h
12989 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
12990 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
12991 (grub_memdisk_image_size, grub_arch_memdisk_addr)
12992 (grub_arch_memdisk_size): Remove.
12993
12994 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
12995 field (was only used to transfer a constant). Add `type' field to
12996 support multiple module types.
12997 (grub_module_iterate): New function.
12998
12999 * kern/device.c (grub_device_open): Do not hide error messages
13000 when grub_disk_open() fails. Use grub_print_error() instead.
13001
13002 * kern/i386/pc/init.c (grub_arch_modules_addr)
13003 (grub_arch_memdisk_size): Remove functions.
13004 (grub_arch_modules_addr): Return the module address in high memory
13005 (now that it isn't copied anymore).
13006
13007 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13008 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13009 decompression routine (grub_total_module_size already includes that
13010 now). Don't copy modules back to low memory.
13011
13012 * kern/main.c: Include `<grub/mm.h>'.
13013 (grub_load_modules): Split out (and use) ...
13014 (grub_module_iterate): ... this function, which iterates through
13015 module objects and runs a hook.
13016 Comment out grub_mm_init_region() call, as it would cause non-ELF
13017 modules to be overwritten.
13018
13019 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13020 the memdisk image in its own region, make it part of the module list.
13021 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13022 (main): Parse --memdisk|-m option, and pass user-provided path as
13023 parameter to generate_image().
13024 (add_segments): Pass `memdisk_path' down to load_modules().
13025 (load_modules): Embed memdisk image in module section when requested.
13026 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13027 `header.type' instead of `header.offset'.
13028
13029 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13030 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13031 (memdisk_mod_LDFLAGS): New variables.
13032 * conf/i386-coreboot.rmk: Likewise.
13033 * conf/i386-ieee1275.rmk: Likewise.
13034
a927cc73 130352008-08-02 Robert Millan <rmh@aybabtu.com>
13036
13037 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13038 (backward_relocator): New variables. Used to allocate and relocate
13039 the payload, respectively.
13040 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13041 address, install the appropriate relocator code in each bound of
a927cc73 13042 the payload, and set the entry point such that
13043 grub_multiboot_real_boot() will jump to one of them.
13044
13045 * kern/i386/loader.S (grub_multiboot_payload_size)
13046 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13047 (grub_multiboot_payload_entry_offset): New variables.
13048 (grub_multiboot_real_boot): Set cpu context to what the relocator
13049 expects, and jump to the relocator instead of the payload.
13050
13051 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13052 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13053 (grub_multiboot_payload_entry_offset): Export.
13054
b15d8a0c 130552008-08-01 Bean <bean123ch@gmail.com>
13056
13057 * normal/menu_entry.c (editor_getline): Don't return the original
13058 string as result, as it will be released by lexer once it has done
13059 using it.
13060
cdfb3d22 130612008-08-01 Robert Millan <rmh@aybabtu.com>
13062
13063 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13064 within menuentries, not before them.
13065 util/grub.d/10_hurd.in: Likewise.
13066
9175e93d 130672008-08-01 Bean <bean123ch@gmail.com>
13068
13069 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13070 (bufio_mod_SOURCES): New macro.
13071 (bufio_mod_CFLAGS): Likewise.
13072 (bufio_mod_LDFLAGS): Likewise.
13073
13074 * include/grub/bufio.h: New file.
13075
13076 * io/bufio.c: Likewise.
13077
13078 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13079 (grub_video_reader_png): Use grub_buffile_open to open file.
13080
13081 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13082 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13083
13084 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13085 (grub_video_reader_tga): Use grub_buffile_open to open file.
13086
13087 * font/manager.c: Include <grub/bufio.h>.
13088 (add_font): Use grub_buffile_open to open file.
13089
3d8383e7 130902008-07-31 Robert Millan <rmh@aybabtu.com>
13091
13092 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13093 ELF segments, use a macro for arbitrarily accessing any of them instead
13094 of preparing a pointer that allows access to one at a time.
13095 (grub_multiboot_load_elf64): Likewise.
13096
16e641b6 130972008-07-31 Bean <bean123ch@gmail.com>
13098
13099 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13100 GRUB_KERNEL_MACHINE_DATA_END.
13101
59198b72 131022008-07-30 Robert Millan <rmh@aybabtu.com>
13103
13104 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13105 Increase from 0x50 to 0x60.
13106 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13107 use UUIDs to identify the root drive for them. If that's not
13108 possible, abort.
13109 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13110 check, for cross-disk installs.
13111
ae88bca3 131122008-07-30 Robert Millan <rmh@aybabtu.com>
13113
13114 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13115 is non-empty, use it to set the `prefix' environment variable instead
13116 of the usual approach.
13117 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13118 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13119 environment variable instead of dummy make_install_device().
13120
13121 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13122 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13123 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13124
13125 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13126 New variable reference.
13127 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13128 New macro. Defines offset of `grub_prefix' within startup.S (relative
13129 to `start').
13130 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13131 section within startup.S (relative to `start').
13132 * include/grub/i386/coreboot/kernel.h: Likewise.
13133
13134 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13135 Overwrite grub_prefix with its contents, at the beginning of the
13136 first segment.
13137 (main): Understand -p|--prefix.
13138
14f41dd1 131392008-07-30 Robert Millan <rmh@aybabtu.com>
13140
13141 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13142
4ca049a3 131432008-07-30 Robert Millan <rmh@aybabtu.com>
13144
13145 * term/i386/pc/vga_text.c (grub_console_cls): Use
13146 grub_console_gotoxy() to go back to beginning of the screen.
13147 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13148
2921d337 131492008-07-29 Christian Franke <franke@computer.org>
13150
13151 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13152 Add conversion of emulated mount points on Cygwin.
13153
b609876d 131542008-07-29 Christian Franke <franke@computer.org>
13155
13156 * util/update-grub.in: Add a check for admin
13157 group on Cygwin.
13158 Remove old `grub.cfg.new' before creation.
13159 Add `-f' to `mv' to handle the different filesystem
13160 semantics of Windows.
13161
e93e4679 131622008-07-29 Bean <bean123ch@gmail.com>
13163
13164 * normal/main.c (get_line): Fix buffer overflow bug.
13165
41694fd0 131662008-07-28 Robert Millan <rmh@aybabtu.com>
13167
13168 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13169 (struct grub_apple_header): New struct. Describes the layout of
13170 the partmap header.
13171 (apple_partition_map_iterate): Check the header magic as well as the
13172 partition magic (which was already being checked).
13173
cfd0b4e6 131742008-07-28 Pavel Roskin <proski@gnu.org>
13175
13176 * genmk.rb: Add a warning to the beginning of the output that
13177 it's a generated file and should not be edited.
13178
93cce016 131792008-07-28 Robert Millan <rmh@aybabtu.com>
13180
13181 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13182 with the same number are found, just use issue a warning with
13183 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 13184
cd1df915 131852008-07-27 Robert Millan <rmh@aybabtu.com>
13186
13187 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
13188 information.
13189
b70a8427 131902008-07-27 Bean <bean123ch@gmail.com>
13191
13192 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13193 (grub_fat_find_dir): Ignore case when comparing filename.
13194
8f5e379f 131952008-07-27 Bean <bean123ch@gmail.com>
13196
13197 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
13198 smallino, as it's more descriptive, and i8count can be confused with
13199 the other field count.
13200 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
13201 inode type.
13202
a85cd5a0 132032008-07-27 Bean <bean123ch@gmail.com>
13204
13205 * commands/crc.c: New file.
13206
13207 * lib/crc.c: Likewise.
13208
13209 * include/grub/lib/crc.h: Likewise.
13210
13211 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
13212
13213 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
13214 (hexdump): Move this function to ...
13215
13216 * lib/hexdump.c: ... here.
13217
13218 * include/grub/hexdump.h: Renamed to ...
13219
13220 * include/grub/lib/hexdump.h: ... this.
13221
13222 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
13223
13224 * util/grub-editenv.c: Likewise.
13225
13226 * include/envblk.h: Renamed to ...
13227
13228 * include/lib/envblk.h: ... this.
13229
13230 * util/envblk.c: Renamed to ...
13231
13232 * lib/envblk.c: ... this.
13233
13234 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
13235 lib/hexdump.c.
13236 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
13237 (pkglib_MODULES): Add crc.mod.
13238 (hexdump_mod_SOURCES): Add lib/hexdump.c.
13239 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
13240 (crc_mod_SOURCES): New macro.
13241 (crc_mod_CFLAGS): Likewise.
13242 (crc_mod_LDFLAGS): Likewise.
13243
13244 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
13245
13246 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13247
13248 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13249
13250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13251
13252 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13253
c298def0 132542008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 13255
13256 * commands/help.c: Include <grub/term.h>.
13257 (TERM_WIDTH): Removed. Updated all users.
13258
cc349fb3 132592008-07-27 Pavel Roskin <proski@gnu.org>
13260
13261 * util/getroot.c (find_root_device): Rephrase a comment to avoid
13262 spurious warnings about a comment within a comment.
13263
9051607e 132642008-07-25 Robert Millan <rmh@aybabtu.com>
13265
13266 * util/getroot.c (find_root_device): Skip devices that match
13267 /dev/dm-[0-9]. This lets the real device be found for any type of
13268 abstraction (LVM, EVMS, RAID..).
13269 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
13270 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
13271 device is found first, find_root_device() will now skip it.
13272
01453bfc 132732008-07-24 Pavel Roskin <proski@gnu.org>
13274
13275 * include/grub/types.h: Use __builtin_bswap32() and
13276 __builtin_bswap64() with gcc 4.3 and newer.
13277
6af9849f 132782008-07-24 Christian Franke <franke@computer.org>
13279
3a0fa256 13280 * util/i386/pc/grub-install.in: If `--debug' is specified,
13281 pass `--verbose' to grub-setup.
13282 Abort script if make_system_path_relative_to_its_root() fails.
13283
7810e747 132842008-07-24 Bean <bean123ch@gmail.com>
13285
13286 * configure.ac: Fixed a bug caused by the previous cygwin patch,
13287 variable `target_platform' should be `platform'.
13288
42290e17 132892008-07-24 Bean <bean123ch@gmail.com>
13290
51cc5193 13291 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 13292 (grub_png_init_fixed_block): New function.
13293 (grub_png_decode_image_data): Handle fixed huffman code compression.
13294
2a8a80e4 132952008-07-24 Bean <bean123ch@gmail.com>
13296
13297 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
13298 (grub_pe2elf_SOURCES): New macro.
13299 (CLEANFILES): Add grub-pe2elf.
13300
13301 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
13302 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
13303 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
13304 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
13305 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
13306 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
13307 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
13308 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
13309 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
13310 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
13311 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
13312 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
13313 (GRUB_PE32_DT_FUNCTION): Likewise.
13314 (GRUB_PE32_REL_I386_DIR32): Likewise.
13315 (GRUB_PE32_REL_I386_REL32): Likewise.
13316 (grub_pe32_symbol): New structure.
13317 (grub_pe32_reloc): Likewise.
13318
13319 * util/grub-pe2elf.c: New file.
13320
13321 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
13322 start symbol in non pc platform.
13323
13324 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
13325
13326 The following patches are from Christian Franke.
13327
13328 * include/grub/dl.h: Remove .previous, gas supports this only
13329 for ELF format.
13330
13331 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
13332 Remove .type, gas supports this only for ELF format.
13333
13334 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
13335 nullbytes in symbol table. This fixes an infinite loop if table is
13336 zero filled.
13337
13338 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
13339 TARGET_IMG_LDFLAGS and EXEEXT.
13340
13341 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
13342 TARGET_IMG_LDFLAGS_AC.
13343 (grub_CHECK_STACK_ARG_PROBE): New function.
13344
13345 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
13346
13347 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
13348
13349 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
13350 to set TARGET_IMG_LD* accordingly.
13351 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
13352 Add call to grub_CHECK_STACK_ARG_PROBE.
13353 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
13354
13355 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
13356
13357 * genmk.rb: Add EXEEXT to CLEANFILES.
13358
12ccdb75 133592008-07-23 Robert Millan <rmh@aybabtu.com>
13360
13361 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
13362 define the codes for arrows and lines used for the menu).
13363 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
13364 as well.
13365
13366 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
13367 fonts, because the latter are too slow.
13368
18eeaf04 133692008-07-21 Bean <bean123ch@gmail.com>
13370
13371 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
13372 a20. Run keyboard test last, as it will cause macbook to halt.
13373
b095e2ad 133742008-07-18 Pavel Roskin <proski@gnu.org>
13375
13376 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
13377 load foreign architecture modules correctly anyway. Keep
13378 support for loading host architecture modules, whether we
13379 compile them or not.
13380
737feb35 133812008-07-17 Pavel Roskin <proski@gnu.org>
13382
3f4ce737 13383 * configure.ac: Use -m32 or -m64 regardless of whether we had to
13384 change target_cpu. The compiler default can mismatch target_cpu
13385 in any case.
13386
4ad2d049 13387 * disk/efi/efidisk.c: Fix format warnings on x86_64.
13388 * kern/efi/efi.c: Likewise.
13389
f6130a12 13390 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
13391 target compiler is functional.
13392 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
13393 are set up.
13394
58393a2d 13395 * configure.ac: Default to efi platform for x86_64-apple. Allow
13396 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
13397 adjustments from the rest, only do them if target is not
13398 explicitly given. Merge other adjustments with the final sanity
13399 check. Remove an extraneous check for supported CPU. Be
13400 specific which CPU and which platform is not supported.
13401
737feb35 13402 * configure.ac: Default to pc platform for x86_64.
13403
546f966a 134042008-07-17 Robert Millan <rmh@aybabtu.com>
13405
13406 Partial LinuxBIOS -> Coreboot rename.
13407
13408 * conf/i386-linuxbios.rmk: Renamed to ...
13409 * conf/i386-coreboot.rmk: ... this.
13410 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
13411 * configure.ac: Accept "coreboot" as input platform (but maintain
13412 compatibility with "linuxbios").
13413 * include/grub/i386/linuxbios: Renamed to ...
13414 * include/grub/i386/coreboot: ... this.
13415
20011694 134162008-07-17 Bean <bean123ch@gmail.com>
13417
13418 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 13419 (appleldr_mod_SOURCE): New variable.
20011694 13420 (appleldr_mod_CFLAGS): Likewise.
13421 (appleldr_mod_LDFLAGS): Likewise.
13422 (pci_mod_SOURCES): Likewise.
13423 (pci_mod_CFLAGS): Likewise.
13424 (pci_mod_LDFLAGS): Likewise.
13425 (lspci_mod_SOURCES): Likewise.
13426 (lspci_mod_CFLAGS): Likewise.
13427 (lspci_mod_LDFLAGS): Likewise.
13428
13429 * conf/x86_64-efi.rmk: New file.
13430
13431 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
13432 macro.
13433 (grub_efidisk_write): Likewise.
13434
13435 * include/efi/api.h (efi_call_0): New macro.
13436 (efi_call_1): Likewise.
13437 (efi_call_2): Likewise.
13438 (efi_call_3): Likewise.
13439 (efi_call_4): Likewise.
13440 (efi_call_5): Likewise.
13441 (efi_call_6): Likewise.
13442
13443 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
13444 grub_rescue_cmd_chainloader.
13445
13446 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
13447 (grub_pe32_optional_header): Change some fields based on i386 or
13448 x86_64 platform.
13449 (GRUB_PE32_PE32_MAGIC): Likewise.
13450
13451 * include/grub/efi/uga_draw.h: New file.
13452
13453 * include/grub/elf.h (STN_ABS): New constant.
13454 (R_X86_64_NONE): Relocation constant for x86_64.
13455 (R_X86_64_64): Likewise.
13456 (R_X86_64_PC32): Likewise.
13457 (R_X86_64_GOT32): Likewise.
13458 (R_X86_64_PLT32): Likewise.
13459 (R_X86_64_COPY): Likewise.
13460 (R_X86_64_GLOB_DAT): Likewise.
13461 (R_X86_64_JUMP_SLOT): Likewise.
13462 (R_X86_64_RELATIVE): Likewise.
13463 (R_X86_64_GOTPCREL): Likewise.
13464 (R_X86_64_32): Likewise.
13465 (R_X86_64_32S): Likewise.
13466 (R_X86_64_16): Likewise.
13467 (R_X86_64_PC16): Likewise.
13468 (R_X86_64_8): Likewise.
13469 (R_X86_64_PC8): Likewise.
13470
13471 * include/grub/i386/efi/pci.h: New file.
13472
13473 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13474 Change it value based on platform.
13475 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13476 (GRUB_E820_RAM): Likewise.
13477 (GRUB_E820_RESERVED): Likewise.
13478 (GRUB_E820_ACPI): Likewise.
13479 (GRUB_E820_NVS): Likewise.
13480 (GRUB_E820_EXEC_CODE): Likewise.
13481 (GRUB_E820_MAX_ENTRY): Likewise.
13482 (grub_e820_mmap): New structure.
13483 (linux_kernel_header): Change the efi field according to different
13484 kernel version, also field from linux_kernel_header.
13485
13486 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13487
13488 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13489 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13490 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13491 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13492 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13493 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13494 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13495 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13496 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13497 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13498
13499 * include/grub/x86_64/efi/kernel.h: New file.
13500
13501 * include/grub/x86_64/efi/loader.h: Likewise.
13502
13503 * include/grub/x86_64/efi/machine.h: Likewise.
13504
13505 * include/grub/x86_64/efi/pci.h: Likewise.
13506
13507 * include/grub/x86_64/efi/time.h: Likewise.
13508
13509 * include/grub/x86_64/linux.h: Likewise.
13510
13511 * include/grub/x86_64/setjmp.h: Likewise.
13512
13513 * include/grub/x86_64/time.h: Likewise.
13514
13515 * include/grub/x86_64/types.h: Likewise.
13516
13517 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13518 GRUB_TARGET_SIZEOF_VOID_P.
13519
13520 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13521 (grub_efi_locate_handle): Likewise.
13522 (grub_efi_open_protocol): Likewise.
13523 (grub_efi_set_text_mode): Likewise.
13524 (grub_efi_stall): Likewise.
13525 (grub_exit): Likewise.
13526 (grub_reboot): Likewise.
13527 (grub_halt): Likewise.
13528 (grub_efi_exit_boot_services): Likewise.
13529 (grub_get_rtc): Likewise.
13530
13531 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13532 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13533 (grub_efi_allocate_pages): Wrap efi calls.
13534 (grub_efi_free_pages): Wrap efi calls.
13535 (grub_efi_get_memory_map): Wrap efi calls.
13536
13537 * kern/x86_64/dl.c: New file.
13538
13539 * kern/x86_64/efi/callwrap.S: Likewise.
13540
13541 * kern/x86_64/efi/startup.S: Likewise.
13542
13543 * loader/efi/appleloader.c: Likewise.
13544
13545 * loader/efi/chainloader.c (cmdline): New variable.
13546 (grub_chainloader_unload): Wrap efi calls.
13547 (grub_chainloader_boot): Likewise.
13548 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13549 command line.
13550
13551 * loader/efi/chainloader_normal.c (chainloader_command):
13552 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13553 command line.
13554
13555 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13556 method.
13557 (grub_e820_add_region): New function.
13558 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13559 booting.
13560 (grub_find_video_card): New function.
13561 (grub_linux_setup_video): New function.
13562 (grub_rescue_cmd_linux): Probe for video information.
13563
13564 * normal/x86_64/setjmp.S: New file.
13565
13566 * term/efi/console.c (map_char): New function.
13567 (grub_console_putchar): Map unicode char.
13568 (grub_console_checkkey): Wrap efi calls.
13569 (grub_console_getkey): Likewise.
13570 (grub_console_getwh): Likewise.
13571 (grub_console_gotoxy): Likewise.
13572 (grub_console_cls): Likewise.
13573 (grub_console_setcolorstate): Likewise.
13574 (grub_console_setcursor): Likewise.
13575
13576 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13577
59652a20 135782008-07-16 Pavel Roskin <proski@gnu.org>
13579
ef294055 13580 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13581 format strings.
13582
59652a20 13583 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13584 pointer, not an integer. This fixes a warning and prevents
13585 precision loss on 64-bit systems.
13586 (relocate_addresses): Remove unneeded cast.
13587
afc3b5d7 135882008-07-15 Pavel Roskin <proski@gnu.org>
13589
506b2b3e 13590 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13591
62ead89c 13592 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13593
c4cd51d7 13594 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13595 Fix comparison between signed and unsigned.
13596
0d3d8f28 13597 * include/grub/i386/ieee1275/console.h: Declare
13598 grub_console_init() and grub_console_fini().
13599
8804b286 13600 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13601 It's empty and unused.
13602
ee01cf35 13603 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13604 beginning to avoid warnings with some compilers.
13605
afc3b5d7 13606 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13607 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13608
e4e8eaa5 136092008-07-14 Pavel Roskin <proski@gnu.org>
13610
407aceb4 13611 * kern/env.c (grub_register_variable_hook): Don't copy empty
13612 string, it leaks memory. Pass "" to grub_env_set(), it should
13613 handle constant strings.
13614
e4e8eaa5 13615 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13616 * commands/cmp.c (grub_cmd_cmp): Likewise.
13617 * kern/dl.c (grub_dl_flush_cache): Likewise.
13618 (grub_dl_load_core): Likewise.
13619 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13620 (grub_elf64_load_phdrs): Likewise.
13621
d4e2dad3 136222008-07-13 Pavel Roskin <proski@gnu.org>
13623
13624 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13625 between signed and unsigned.
13626 (LzmaEnc_Finish): Fix warning about an unused parameter.
13627
aa24b516 136282008-07-13 Bean <bean123ch@gmail.com>
13629
13630 * Makefile.in (enable_lzo): New rule.
13631
13632 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13633
13634 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13635
13636 * boot/i386/pc/lnxboot.S: #include <config.h>.
13637
13638 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 13639 its value according to the compression algorithm used, lzo or lzma.
aa24b516 13640
13641 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
13642 compression algorithm according to configure macro.
13643
13644 * kern/i386/pc/startup.S (codestart): Likewise.
13645
13646 * kern/i386/pc/lzma_decode.S: New file.
13647
13648 * include/grub/lib/LzFind.h: Likewise.
13649
13650 * include/grub/lib/LzHash.h: Likewise.
13651
13652 * include/grub/lib/LzmaDec.h: Likewise.
13653
13654 * include/grub/lib/LzmaEnc.h: Likewise.
13655
13656 * include/grub/lib/LzmaTypes.h: Likewise.
13657
13658 * lib/LzFind.c: Likewise.
13659
13660 * lib/LzmaDec.c: Likewise.
13661
13662 * lib/LzmaEnc.c: Likewise.
13663
4ae821ac 136642008-07-13 Bean <bean123ch@gmail.com>
13665
13666 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13667 (grub_ext4_extent_header): New structure.
13668 (grub_ext4_extent): Likewise.
13669 (grub_ext4_extent_idx): Likewise.
13670 (grub_ext4_find_leaf): New function.
13671 (grub_ext2_read_block): Handle extents.
13672
9a745147 136732008-07-12 Robert Millan <rmh@aybabtu.com>
13674
13675 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13676
d49a4cf6 136772008-07-11 Robert Millan <rmh@aybabtu.com>
13678
13679 * util/grub.d/40_custom.in: New file. Example on how to add custom
13680 entries to /etc/grub.d.
13681 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13682 40_custom (implicitly, by merging all the grub.d rules).
13683
947414b4 136842008-07-11 Pavel Roskin <proski@gnu.org>
13685
0059cf6f 13686 * commands/read.c (grub_getline): Fix invalid memory access.
13687 Don't add newline to the variable value.
13688
947414b4 13689 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13690 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13691 (serial_hw_get_port): Check validity of the port number.
13692 (grub_cmd_serial): Check return value of serial_hw_get_port().
13693
62a02d00 136942008-07-07 Pavel Roskin <proski@gnu.org>
13695
13696 * boot/i386/pc/diskboot.S (notification_string): Replace
13697 "Loading kernel" with just "loading". This is shorter, less
13698 confusing and saves a few bytes for possible future changes.
13699
3e5581b0 137002008-07-05 Pavel Roskin <proski@gnu.org>
13701
ea387a48 13702 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13703 size for ATAPI devices, they are undefined. Output sector
13704 number in decimal form.
13705
3e5581b0 13706 * disk/ata.c: Use named constants for status bits.
13707
fdecb8fd 137082008-07-04 Pavel Roskin <proski@gnu.org>
13709
bcd35b90 13710 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13711 grub_addr_t before casting it to the void pointer to fix a
13712 warning. Non-addressable regions are discarded earlier.
13713 (grub_arch_modules_addr): Cast _end to grub_addr_t.
13714 * kern/i386/linuxbios/table.c: Include grub/misc.h.
13715 (check_signature): Don't shadow table_header.
13716 (grub_linuxbios_table_iterate): Cast numeric constants to
13717 grub_linuxbios_table_header_t.
13718 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
13719 grub_stop().
13720
af58ab3d 13721 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
13722 prevent warnings.
13723
1759aa57 13724 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
13725 pointer, which can cause warnings. Support 64-bit addresses.
13726
fdecb8fd 13727 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
13728 of sizeof(long). This fixes PowerPC image generation on x86_64.
13729
8516d2a8 137302008-07-04 Robert Millan <rmh@aybabtu.com>
13731
13732 This fixes a performance issue when pc & gpt partmap iterators
13733 didn't abort iteration even after our hook found what it was
fe987087 13734 looking for (often causing expensive probes of non-existent drives).
8516d2a8 13735
13736 Some callers relied on previous buggy behaviour, since they would
34c44600 13737 raise an error when their own hooks caused early abortion of its
8516d2a8 13738 iteration.
13739
13740 * kern/device.c (grub_device_open): Improve error message.
13741 * disk/lvm.c (grub_lvm_open): Likewise.
13742 * disk/raid.c (grub_raid_open): Likewise.
13743
13744 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
13745 when hook requests it, independently of grub_errno.
13746 (pc_partition_map_probe): Do not fail when find_func() caused
13747 early abortion of pc_partition_map_iterate().
13748
13749 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
13750 when hook requests it, independently of grub_errno.
13751 (gpt_partition_map_probe): Do not fail when find_func() caused
13752 early abortion of gpt_partition_map_iterate().
13753
13754 * kern/partition.c (grub_partition_iterate): Abort parent iteration
13755 when hook requests it, independently of grub_errno. Do not fail when
13756 part_map_iterate_hook() caused early abortion of p->iterate().
13757
13758 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
13759 when grub_partition_iterate() returned with non-zero.
13760
277d0de9 137612008-07-03 Pavel Roskin <proski@gnu.org>
13762
13763 * disk/ata.c (grub_ata_pio_write): Check status before writing,
13764 like we do in grub_ata_pio_read().
13765 (grub_ata_readwrite): Always write individual sectors. Fix the
13766 sector count for the remainder.
13767 (grub_ata_write): Enable writing to ATA devices. Correctly
13768 report error for ATAPI devices.
13769
d4c9b428 137702008-07-02 Pavel Roskin <proski@gnu.org>
13771
e43fc690 13772 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
13773 warning.
13774
f707af42 13775 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
13776 for every read sector, we already increment it for the whole
13777 batch. This fixes reading more than 256 sectors at once.
13778
11e16b15 13779 * util/grub-editenv.c (cmd_info): Cast argument to long
13780 explicitly. ptrdiff_t reduces to int on i386.
13781
cbabfdd4 13782 * util/grub-editenv.c (main): Be specific which parameter is
13783 missing.
13784
b8fbce0a 13785 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
13786 (memdisk): Make memdisk_orig_addr a pointer.
13787
c9c8e606 13788 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
13789 for file offsets, use grub_off_t instead. Fix printf format
13790 warnings.
13791
ca62e598 13792 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
13793 there. Real unexpected warnings should not drown in the noise
13794 about known problems.
13795
ce8d1766 13796 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
13797 grub_disk_addr_t for memory addresses.
13798
00c7a56a 13799 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
13800 explicitly to fix a warning.
13801
08d3ef09 13802 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
13803
cb71ba20 13804 * Makefile.in (MODULE_LDFLAGS): New variable.
13805 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
13806 the linker accepts --build-id=none.
13807 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
13808 MODULE_LDFLAGS.
13809 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
13810
d4c9b428 13811 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
13812 those in Linux XFS code. Provide a way to access 64-bit parent
13813 inode.
13814 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
13815 the end of struct grub_xfs_dir_header.
13816
d4156eee 138172008-07-02 Bean <bean123ch@gmail.com>
13818
13819 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
13820 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13821 and GRUB_IEEE1275_FLAG_NO_ANSI.
13822
13823 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
13824 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13825 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
13826
13827 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
13828 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
13829
13830 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
13831 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
13832
13833 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
13834 esc sequence on non ANSI terminal.
13835 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
13836
13837 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
13838 beginning of file.
13839
2270f77b 138402008-07-02 Bean <bean123ch@gmail.com>
13841
13842 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
13843 (grub_editenv_SOURCES): New variable.
13844 (pkglib_MODULES): Add loadenv.mod.
13845 (loadenv_mod_SOURCES): New variable.
13846 (loadenv_mod_CFLAGS): Likewise.
13847 (loadenv_mod_LDFLAGS): Likewise.
13848
13849 * include/grub/envblk.h: New file.
13850
13851 * util/envblk.c: New file.
13852
13853 * util/grub-editenv.c: New file.
13854
13855 * commands/loadenv.c: New file.
13856
0e9e51ec 138572008-07-01 Pavel Roskin <proski@gnu.org>
13858
d89b7634 13859 * include/multiboot2.h (struct multiboot_tag_module): Use char,
13860 not unsigned char. This fixes warnings and is consistent with
13861 other tags.
13862
bf1835b1 13863 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
13864
8222a04b 13865 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
13866
6a42d99d 13867 * term/tparm.c (analyze): Always set *popcount.
13868
10b159d1 13869 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
13870 cast to fix a warning.
13871
b8789f6c 13872 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
13873 cast to suppress a warning.
13874
29d7e38a 13875 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
13876 grub_fshelp_read_file() expects.
13877
f341f669 13878 * fs/fat.c: Fix UUID calculation on big-endian systems. We
13879 write uuid as a 32-bit value in CPU byte order, so declare and
13880 use it as such.
13881
0e9e51ec 13882 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
13883 long if the format specifier expects it.
13884 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
13885 * partmap/pc.c (pc_partition_map_iterate): Likewise.
13886 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
13887 long to fix a warning.
13888 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
13889 grub_dprintf() arguments to fix warnings.
13890
3aefa857 138912008-06-30 Pavel Roskin <proski@gnu.org>
13892
56c7668b 13893 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
13894 install_bsd_part immediately before core.img is embedded or
13895 modified on disk. This fixes core.img verification if core.img
13896 cannot be embedded.
13897
3aefa857 13898 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
13899 core_path to calculate the blocklist.
13900 Patch from Javier Martín <lordhabbit@gmail.com>
13901
5444088d 139022008-06-29 Robert Millan <rmh@aybabtu.com>
13903
13904 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
13905 block to disk block.
13906 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
13907 Patch from Niels Böhm <bitbucket@arcor.de>
13908
674835c8 139092008-06-29 Robert Millan <rmh@aybabtu.com>
13910
13911 * util/update-grub_lib.in (font_path): Search for fonts in
13912 /boot/grub first, which is more likely to be readable (we aren't
13913 deciding where fonts live, just looking for them).
13914
f527dbc8 139152008-06-26 Pavel Roskin <proski@gnu.org>
13916
6c2d8df6 13917 * util/biosdisk.c (read_device_map): Don't leave dead map
13918 entries for devices failing stat() check.
13919
f527dbc8 13920 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
13921 core_path_dev for the core.img path on the target device.
13922
aebe3d13 139232008-06-26 Robert Millan <rmh@aybabtu.com>
13924
13925 * disk/fs_uuid.c: New file.
13926 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
13927 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
13928 (fs_uuid_mod_LDFLAGS): New variables.
13929 * include/grub/disk.h (grub_disk_dev_id): Add
13930 `GRUB_DISK_DEVICE_UUID_ID'.
13931 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
13932 implement iterate().
13933
37aaf354 139342008-06-26 Robert Millan <rmh@aybabtu.com>
13935
13936 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
13937 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
13938 Linux image includes no initrd.
13939
25ff262a 139402008-06-21 Javier Martín <lordhabbit@gmail.com>
13941
13942 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
13943 call to resolve the core image location that effectively appended the
13944 name twice.
13945
76a2bd44 139462008-06-21 Robert Millan <rmh@aybabtu.com>
13947
13948 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
13949 call from here ...
13950
13951 * util/grub.d/10_hurd.in: ... to here ...
13952 * util/grub.d/10_linux.in: ... and here.
13953
650e1c79 139542008-06-19 Robert Millan <rmh@aybabtu.com>
13955
fe987087 13956 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 13957 after it has been set by grub_machine_set_prefix().
13958
6ce63911 139592008-06-19 Robert Millan <rmh@aybabtu.com>
13960
13961 * commands/search.c (search_label, search_fs_uuid, search_file): Print
13962 search result when not saving to variable, not the other way around.
13963 When saving to variable, abort iteration as soon as a match is found.
13964
73940cec 139652008-06-19 Robert Millan <rmh@aybabtu.com>
13966
13967 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
13968 check for partition that provides /boot/grub. Its logic is flawed,
13969 as it prevents prepare_grub_to_access_device() from being called
13970 multiple times.
13971
3c62a39d 139722008-06-19 Robert Millan <rmh@aybabtu.com>
13973
13974 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
13975 "insmod" command directly when abstraction modules are needed,
fe987087 13976 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 13977 since it had already been processed).
13978
47395a42 139792008-06-19 Pavel Roskin <proski@gnu.org>
13980
13981 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
13982 changed. This is needed in case GRUB_LIBDIR changes.
13983 * conf/i386-ieee1275.rmk: Likewise.
13984 * conf/i386-linuxbios.rmk: Likewise.
13985 * conf/i386-pc.rmk: Likewise.
13986 * conf/powerpc-ieee1275.rmk: Likewise.
13987
a145ac2d 139882008-06-18 Pavel Roskin <proski@gnu.org>
13989
13990 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
13991 kernel_elf_symlist.c to symlist.c for consistency with other
13992 architectures. Update all users.
13993 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13994
7847c51e 139952008-06-18 Robert Millan <rmh@aybabtu.com>
13996
13997 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
13998 it in prefix.
13999
14000 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14001 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14002 a RAID device, run setup() for all members independently on whether
14003 LVM abstraction is being used.
14004 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14005 If grub-mkimage has set `*install_dos_part == -2', don't override this
14006 value.
14007 Perform *install_dos_part adjustments independently on whether
14008 we're embedding or not.
14009 Clarify error message when image is too big for embedding.
14010 Remove duplicate *install_dos_part stanza.
14011
b23e5644 140122008-06-17 Robert Millan <rmh@aybabtu.com>
14013
14014 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14015 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14016 variables.
14017 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14018 values in grub_ofconsole_normal_color and
14019 grub_ofconsole_highlight_color (they're not directly related to
14020 background and foreground).
14021 (grub_ofconsole_setcolorstate): Extract background and foreground
14022 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14023
0aac2f79 140242008-06-17 Robert Millan <rmh@aybabtu.com>
14025
14026 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14027 /boot/grub for the check in last commit, not /boot (they could be
14028 different partitions).
14029
3cca7ef3 140302008-06-16 Robert Millan <rmh@aybabtu.com>
14031
14032 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14033 asked to setup access for the same partition that provides /boot,
14034 don't bother using UUIDs since our root already has the value we
14035 want.
14036
347396d8 140372008-06-16 Robert Millan <rmh@aybabtu.com>
14038
14039 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14040 I2O devices.
14041 Patch from Sven Mueller <sven@debian.org>.
14042
991477f8 140432008-06-16 Robert Millan <rmh@aybabtu.com>
14044
14045 * util/update-grub.in: Check for $EUID instead of $UID.
14046 Reported by Vincent Zweije.
14047
d31a32a1 140482008-06-16 Bean <bean123ch@gmail.com>
14049
fe987087 14050 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14051 (grub_ext2_read_block): Likewise.
14052 (grub_ext2_read_inode): Likewise.
14053 (grub_ext2_mount): Likewise.
14054 (grub_ext2_close): Likewise.
14055 (grub_ext3_get_journal): Removed.
14056
fe987087 14057 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14058 (grub_reiserfs_read_symlink): Likewise.
14059 (grub_reiserfs_mount): Likewise.
14060 (grub_reiserfs_open): Likewise.
14061 (grub_reiserfs_read): Likewise.
14062 (grub_reiserfs_close): Likewise.
14063 (grub_reiserfs_get_journal): Removed.
14064
14065 * fs/fshelp.c (grub_fshelp_read): Removed.
14066 (grub_fshelp_map_block): Likewise.
14067
14068 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14069 (grub_fshelp_journal): Likewise.
14070 (grub_fshelp_read): Likewise.
14071 (grub_fshelp_map_block): Likewise.
14072
3540a760 140732008-06-16 Pavel Roskin <proski@gnu.org>
14074
14075 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14076 floating point anymore.
14077 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14078
95614c84 140792008-06-15 Pavel Roskin <proski@gnu.org>
14080
14081 * commands/ls.c (grub_ls_list_files): Use integer calculations
14082 for human readable format, avoid floating point use.
14083 * kern/misc.c (grub_ftoa): Remove.
14084 (grub_vsprintf): Remove floating point support.
14085
50465dd6 140862008-06-15 Robert Millan <rmh@aybabtu.com>
14087
fe6b695a 14088 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14089 devices.
14090 Reported by Max Vozeler.
14091
a9207284 140922008-06-15 Robert Millan <rmh@aybabtu.com>
14093
14094 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14095 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14096 skipped later.
14097 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14098 the beginning of the prefix.
14099
14100 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14101 It is assumed that if we have a memdisk, grub-mkimage has set
14102 grub_prefix to include the "(memdisk)" drive in it.
14103
a7cbd45a 141042008-06-15 Robert Millan <rmh@aybabtu.com>
14105
14106 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14107 Initialize keyboard controller after registering the terminal, so that
14108 grub_printf() can be called from grub_keyboard_controller_init().
14109
21cf716a 141102008-06-15 Robert Millan <rmh@aybabtu.com>
14111
14112 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14113 extent-btree which is written as big endian on disk.
14114 Reported by Alain Greppin <al@chilibi.org>.
14115
23a64d8e 141162008-06-14 Robert Millan <rmh@aybabtu.com>
14117
14118 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14119 * util/i386/pc/grub-install.in (modules): Likewise.
14120
d687651c 141212008-06-13 Pavel Roskin <proski@gnu.org>
14122
14123 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14124
dfe9ddd4 141252008-06-13 Bean <bean123ch@gmail.com>
14126
14127 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14128
14129 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14130
14131 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14132 to indicate sparse block.
14133
16ae7781 141342008-06-12 Pavel Roskin <proski@gnu.org>
14135
e6d1a308 14136 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14137 number, grub_fshelp_read() does it for us.
14138
16ae7781 14139 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14140 linear disk read with journal translation.
14141 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14142 * include/grub/fshelp.h: Declare grub_fshelp_read().
14143
40fd3a2b 141442008-06-09 Pavel Roskin <proski@gnu.org>
14145
14146 * fs/minix.c (grub_minix_mount): Handle error reading
14147 superblock.
14148
f5679726 141492008-06-08 Robert Millan <rmh@aybabtu.com>
14150
14151 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14152 don't append the RAID prefix afterwards.
14153 Reported by Clint Adams.
14154
ce525529 141552008-06-08 Robert Millan <rmh@aybabtu.com>
14156
14157 Based on description from Pavel:
14158 * kern/disk.c (grub_disk_check_range): Rename to ...
14159 (grub_disk_adjust_range): ... this. Add a comment explaining the
14160 tasks performed by this function.
14161
ad4936a0 141622008-06-08 Robert Millan <rmh@aybabtu.com>
14163
14164 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14165 `num_serial' (for consistency with other variables).
14166 (struct grub_ntfs_data): Add `uuid' member.
14167 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14168 (grub_ntfs_uuid): New function.
14169 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14170
dc20b0f9 141712008-06-07 Pavel Roskin <proski@gnu.org>
14172
14173 * util/biosdisk.c (open_device): Revert last change to the
14174 function, it broke installation. The sector needs to be
14175 different dependent on which device is opened.
14176
c5e3cfba 141772008-06-06 Robert Millan <rmh@aybabtu.com>
14178
14179 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
14180 rest of GRUB, and breakage doesn't happen if its value were modified.
14181
14182 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14183 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
14184 a constant (same value).
14185 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
14186 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
14187
26a1f8c4 141882008-06-06 Robert Millan <rmh@aybabtu.com>
14189
14190 * util/biosdisk.c (open_device): Do not modify sector offset when
14191 accessing a partition. kern/disk.c already handles this for us.
14192
25d6b327 141932008-06-06 Robert Millan <rmh@aybabtu.com>
14194
14195 * util/grub-emu.c (grub_machine_init): Move code in this function from
14196 here ...
14197 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
14198 segfault in case grub_printf() is called).
14199
14200 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
14201 grub_probe. Update all users not to explicitly add it again.
14202 (grub_device): New variable; contains corresponding device for grubdir.
14203 (fs_module, partmap_module, devabstraction_module): Pass
14204 `--device ${grub_device}' to grub_probe to avoid traversing /dev
14205 every time.
14206
9ece62fb 142072008-06-05 Robert Millan <rmh@aybabtu.com>
14208
14209 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
14210 is found, print it (same layout as with labels).
14211
1ad36d37 142122008-06-04 Robert Millan <rmh@aybabtu.com>
14213
14214 * util/biosdisk.c (get_drive): Rename to ...
14215 (find_grub_drive): ... this. Update all users.
14216
14217 (get_os_disk): Rename to ...
14218 (convert_system_partition_to_system_disk): ... this. Update all users.
14219
14220 (find_drive): Rename to ...
14221 (find_system_device): ... this. Update all users.
14222
e6a30859 142232008-06-04 Robert Millan <rmh@aybabtu.com>
14224
14225 * util/biosdisk.c (get_os_disk): Handle IDA devices.
14226 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14227 (make_device_map): Likewise.
14228
00c108a4 142292008-06-01 Robert Millan <rmh@aybabtu.com>
14230
14231 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
14232 before dereferencing it.
14233
14234 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
14235 union with fat12/fat16-specific ones. Add some new fields, including
14236 `num_serial' for both versions.
14237 (struct grub_fat_data): Add `uuid' member.
14238 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
14239 names. Initialize `data->uuid' using `num_serial'.
14240 (grub_fat_uuid): New function.
14241 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
14242
14243 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
14244 (grub_reiserfs_uuid): New function.
14245 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
14246 member.
14247
14248 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
14249 (grub_xfs_uuid): New function.
14250 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
14251
1385c5bb 142522008-06-01 Robert Millan <rmh@aybabtu.com>
14253
14254 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
14255 code that is backward compatible with pre-uuid search command.
14256
c682dfd7 142572008-05-31 Robert Millan <rmh@aybabtu.com>
14258
14259 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
14260 floppies after everything else, to ensure floppy drive isn't accessed
14261 unnecessarily (patch from Bean).
14262
b7db5d47 142632008-05-31 Robert Millan <rmh@aybabtu.com>
14264
14265 * commands/search.c (search_label, search_fs_uuid, search_file): Do
14266 not print device names when we were asked to set a variable.
14267
6e037aa9 142682008-05-31 Robert Millan <rmh@aybabtu.com>
14269
14270 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
14271 using "cursor-on" and "cursor-off" commands (understood at least by
14272 the Open Firmware flavour on OLPC).
14273
41305bc8 142742008-05-31 Michael Gorven <michael@gorven.za.net>
14275
14276 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
14277 on and off sequences.
14278
69ba137e 142792008-05-31 Robert Millan <rmh@aybabtu.com>
14280
14281 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
14282 * util/update-grub.in: Likewise.
14283
520ae21b 142842008-05-30 Pavel Roskin <proski@gnu.org>
14285
14286 * util/biosdisk.c (linux_find_partition): Simplify logic and
14287 make the code more universal. Keep special processing for
14288 devfs, but use a simple rule for all other devices. If the
14289 device ends with a number, append 'p' and the partition number.
14290 Otherwise, append only the partition number.
14291
5786569b 142922008-05-30 Robert Millan <rmh@aybabtu.com>
14293
14294 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
14295 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
14296 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
14297 the `root' parameter to Linux.
14298
51500452 142992008-05-30 Robert Millan <rmh@aybabtu.com>
14300
14301 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
14302 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
14303 --fs_uuid with --fs-uuid.
14304 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
14305 all filesystems support them).
14306
811d3878 143072008-05-30 Robert Millan <rmh@aybabtu.com>
14308
14309 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 14310 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 14311
cab63c95 143122008-05-30 Robert Millan <rmh@aybabtu.com>
14313
14314 * util/grub.d/00_header.in: Remove obsolete comment referencing
14315 convert_system_path_to_grub_path().
14316 * util/update-grub.in: Likewise.
14317 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
14318 (convert_system_path_to_grub_path): Add a warning message explaining
14319 that this function is deprecated. Rely on is_path_readable_by_grub()
14320 for the readability checks.
14321 (font_path): Use is_path_readable_by_grub() for the readability
14322 check rather than convert_system_path_to_grub_path().
14323
972e2f7a 143242008-05-30 Robert Millan <rmh@aybabtu.com>
14325
14326 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
14327 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
14328 converting it first.
14329 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
14330 grub.cfg for access to font file, and afterwards call it again to set
14331 the root device.
14332
62191274 143332008-05-30 Robert Millan <rmh@aybabtu.com>
14334
14335 * commands/search.c (options): Add --fs_uuid option.
14336 (search_fs_uuid): New function.
14337 (grub_cmd_search): Fix --set argument passing.
14338 Use search_fs_uuid() when requested via --fs_uuid.
14339 (grub_search_init): Update help message.
14340 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
14341 and redeclare it as an array of 16-bit words.
14342 (grub_ext2_uuid): New function.
14343 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
14344 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
14345 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
14346 (GRUB_DEVICE_BOOT_UUID): New variables.
14347 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
14348 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
14349 whenever possible.
14350 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
14351 just assume `root' variable has the right value.
14352 * util/grub.d/10_linux.in: Likewise.
14353 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
14354 via PRINT_FS_UUID.
14355 (main): Recognise `-t fs_uuid' argument.
14356
01b73ec8 143572008-05-30 Robert Millan <rmh@aybabtu.com>
14358
14359 * util/biosdisk.c (map): Redefine structure to hold information
14360 about GRUB drive name.
fe6b695a 14361 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 14362 drive names.
14363 (call_hook): Remove.
14364 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
14365 member. Assume drive has partitions.
14366 (grub_util_biosdisk_open): Access device names via `.device' struct
14367 member.
14368 (open_device): Likewise.
14369 (find_drive): Likewise.
14370 (read_device_map): Adjust map[] usage to match the new struct
14371 definition. Don't check for duplicates (still possible, but not cheap
14372 anymore).
14373 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
14374 (make_device_name): Remove assumption of BIOS-like drive names.
14375
22f16596 143762008-05-30 Pavel Roskin <proski@gnu.org>
14377
14378 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
14379 compiling execute.c doesn't need grub_script.tab.h anymore.
14380 (normal/command.c_DEPENDENCIES): Likewise.
14381 (normal/function.c_DEPENDENCIES): Likewise.
14382 * conf/i386-ieee1275.rmk: Likewise.
14383 * conf/i386-linuxbios.rmk: Likewise.
14384 * conf/i386-pc.rmk: Likewise.
14385 * conf/powerpc-ieee1275.rmk: Likewise.
14386 * conf/sparc64-ieee1275.rmk: Likewise.
14387
528ad8f2 143882008-05-29 Pavel Roskin <proski@gnu.org>
14389
d1dff95d 14390 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
14391 when scanning metadata for volume group name.
14392
528ad8f2 14393 * include/grub/script.h: Don't include grub_script.tab.h. It's
14394 a generated file, which may only be included from the files with
14395 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
14396 use union YYSTYPE, as the later allows forward declaration.
14397 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
14398
47248e08 143992008-05-29 Robert Millan <rmh@aybabtu.com>
14400
14401 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
14402 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
14403 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
14404 (grub_console_checkkey): Add grub_dprintf() call to report unknown
14405 scan codes.
14406
ee632529 144072008-05-29 Robert Millan <rmh@aybabtu.com>
14408
14409 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
14410 control key combinations.
14411
eee96e08 144122008-05-29 Robert Millan <rmh@aybabtu.com>
14413
14414 * util/powerpc/ieee1275/grub-install.in: Move from here ...
14415 * util/ieee1275/grub-install.in: ... to here.
14416 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
14417 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
14418 (grub_install_SOURCES): Likewise.
14419
da9a6a94 144202008-05-29 Robert Millan <rmh@aybabtu.com>
14421
14422 * fs/affs.c: Update copyright year.
14423 * fs/ext2.c: Likewise.
14424 * fs/fshelp.c: Likewise.
14425 * fs/hfsplus.c: Likewise.
14426 * fs/ntfs.c: Likewise.
14427 * fs/xfs.c: Likewise.
14428 * include/grub/fshelp.h: Likewise.
14429 * util/grub-mkdevicemap.c: Likewise.
14430
12e65f3a 144312008-05-28 Robert Millan <rmh@aybabtu.com>
14432
14433 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
14434 might need to be fatfs to support some firmware implementations
14435 (e.g. OFW or EFI).
14436
23023641 144372008-05-28 Robert Millan <rmh@aybabtu.com>
14438
14439 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
14440 devices.
14441 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14442 (make_device_map): Likewise.
14443
887d2619 144442008-05-20 Bean <bean123ch@gmail.com>
14445
14446 * fs/fshelp.c (grub_fshelp_map_block): New function.
14447 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
14448 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
14449
14450 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
14451 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
14452 (grub_fshelp_journal): New structure.
14453 (grub_fshelp_map_block): New function prototype.
14454 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
14455 (grub_fshelp_map_block): Likewise.
14456
14457 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
14458 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
14459 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
14460 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
14461 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
14462 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
14463 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
14464 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
14465 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14466 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14467 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14468 (grub_ext2_sblock): New members for journal support.
14469 (grub_ext3_journal_header): New structure.
14470 (grub_ext3_journal_revoke_header): Likewise.
14471 (grub_ext3_journal_block_tag): Likewise.
14472 (grub_ext3_journal_sblock): Likewise.
14473 (grub_fshelp_node): New members logfile and journal.
14474 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14475 grub_fshelp_map_block to get real block number.
14476 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14477 number.
14478 (grub_ext2_read_inode): Likewise.
14479 (grub_ext3_get_journal): New function.
14480 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14481 (grub_ext2_close): Release memory used by journal.
14482
14483 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14484 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14485 (grub_reiserfs_transaction_header): Renamed to
14486 grub_reiserfs_description_block, replace field data with real_blocks.
14487 (grub_reiserfs_commit_block): New structure.
14488 (grub_reiserfs_data): New member journal.
14489 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14490 number.
14491 (grub_reiserfs_read_symlink): Likewise.
14492 (grub_reiserfs_iterate_dir): Likewise.
14493 (grub_reiserfs_open): Likewise.
14494 (grub_reiserfs_read): Likewise.
14495 (grub_reiserfs_get_journal): New function.
14496 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14497 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14498 using grub_reiserfs_get_journal.
14499 (grub_reiserfs_close): Release memory used by journal.
14500
14501 * fs/affs.c (grub_affs_read_block): Change block type to
14502 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14503
14504 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14505
14506 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14507
14508 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14509
14510 * fs/udf.c (grub_udf_read_block): Change block type to
14511 grub_disk_addr_t. Use type cast to avoid warning.
14512
14513 * fs/xfs.c (grub_xfs_read_block): Likewise.
14514
b7c6bed5 145152008-05-16 Christian Franke <franke@computer.org>
14516
14517 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14518 to ensure that break with ESC will always work.
14519 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14520 Remove ESC from keyboard queue.
14521
eedf167f 145222008-05-16 Christian Franke <franke@computer.org>
14523
14524 * util/biosdisk.c: [__CYGWIN__] Add includes.
14525 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14526 (get_os_disk): Move variable declarations to OS specific
14527 parts to avoid warning.
14528 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14529 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14530 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14531 Cygwin.
14532 * util/getroot.c: [__CYGWIN__] Add includes.
14533 (strip_extra_slashes): Fix "/" case.
14534 [__CYGWIN__] (get_win32_path): New function.
14535 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14536 [__CYGWIN__] (find_root_device): Disable.
14537 [__CYGWIN__] (get_bootsec_serial): New function.
14538 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14539 [__linux__] (grub_guess_root_device): Add early returns to simplify
14540 structure.
14541 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14542 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14543 check for Linux only.
14544
a079699e 145452008-05-15 Bean <bean123ch@gmail.com>
14546
14547 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14548 keyboard hang problem in apple's intel mac.
14549
1cf4059a 145502008-05-09 Robert Millan <rmh@aybabtu.com>
14551
14552 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14553 devices.
14554 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14555 (make_device_map): Likewise.
14556 Reported by Aurelien Jarno <aurel32@debian.org>
14557
ed759390 145582008-05-07 Ian Campbell <ijc@hellion.org.uk>
14559
14560 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14561 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14562 (make_device_map): Output entries for xvd type disks.
14563
b56c4eaa 145642008-05-07 Robert Millan <rmh@aybabtu.com>
14565
14566 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14567 devices.
14568 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14569 (make_device_map): Likewise.
14570 Reported by Roland Dreier <rdreier@cisco.com>
14571
7f8866ed 145722008-05-07 Robert Millan <rmh@aybabtu.com>
14573
14574 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14575 grub_strstr() call. Correct a few mistakes in failure path handling.
14576
b0346e0f 145772008-05-06 Robert Millan <rmh@aybabtu.com>
14578
14579 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14580 Do not print a trailing slash (therefore, the root directory is an
14581 empty string).
14582 (convert_system_path_to_grub_path): Do not remove trailing slash
14583 from make_system_path_relative_to_its_root() output.
14584
14585 * util/i386/pc/grub-install.in: Add trailing slash to output from
14586 make_system_path_relative_to_its_root().
14587
6cf12cbd 145882008-05-06 Robert Millan <rmh@aybabtu.com>
14589
14590 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14591 ensures that output lines aren't intermangled with those sent to
14592 stderr (via grub_util_info()).
14593 * util/grub-probe.c (grub_refresh): Likewise.
14594 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14595
0fbb3117 145962008-05-05 Christian Franke <franke@computer.org>
14597
14598 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14599 Add Cygwin device names.
14600 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14601 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14602 (check_device): Return error instead of success on empty name.
14603 (make_device_map): Move label inside linux specific code to
14604 prevent compiler warning.
14605
8124cdb7 146062008-04-30 Robert Millan <rmh@aybabtu.com>
14607
14608 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14609 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14610 first boot option.
14611 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14612
094c01d0 146132008-04-29 Robert Millan <rmh@aybabtu.com>
14614
14615 * docs/grub.cfg: New file (example GRUB configuration).
14616
f4b1fc02 146172008-04-26 Robert Millan <rmh@aybabtu.com>
14618
329ce2a5 14619 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14620 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14621 and `disk/ieee1275/nand.c'.
f4b1fc02 14622
25f16ec1 146232008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 14624
25f16ec1 14625 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14626 i386-linuxbios.
14627
14628 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14629 change the buffer size to 4096 for cdrom device.
14630
14631 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14632 and nand.mod.
14633 (_linux_mod_SOURCES): New variable.
14634 (_linux_mod_CFLAGS): Likewise.
14635 (_linux_mod_LDFLAGS): Likewise.
14636 (linux_mod_SOURCES): Likewise.
14637 (linux_mod_CFLAGS): Likewise.
14638 (linux_mod_LDFLAGS): Likewise.
14639 (nand_mod_SOURCES): Likewise.
14640 (nand_mod_CFLAGS): Likewise.
14641 (nand_mod_LDFLAGS): Likewise.
14642
14643 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
14644 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
14645 type property. (nand device in olpc don't have this property)
14646
14647 * include/grub/disk.h (grub_disk_dev_id): New macro
14648 GRUB_DISK_DEVICE_NAND_ID.
14649
14650 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
14651 function prototype.
14652 (grub_rescue_cmd_initrd): Likewise.
14653
14654 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14655 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14656 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14657
25f16ec1 14658 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14659 GRUB_MACHINE_IEEE1275 is defined.
14660
14661 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14662 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14663
14664 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14665 on nested function heap_init.
14666 (grub_upper_mem): New variable for i386-ieee1275.
14667 (grub_get_extended_memory): New function for i386-ieee1275.
14668 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14669
14670 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14671 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14672 property.
f19dbdb7 14673
25f16ec1 14674 * loader/i386/ieee1275/linux.c: New file.
14675
14676 * loader/i386/ieee1275/linux_normal.c: New file.
14677
14678 * disk/ieee1275/nand.c: New file.
14679
e89d61e9 146802008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14681
14682 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14683 value.
14684 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14685
602566f6 146862008-04-18 Robert Millan <rmh@aybabtu.com>
14687
14688 Restructures early code path on ieee1275 to unify grub_main() as
14689 the first C function that is executed in every platform.
14690
14691 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14692 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14693 cmain().
14694 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14695 * kern/ieee1275/cmain.c (cmain): Rename to ...
14696 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14697 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14698 at the beginning.
14699
57490c2b 147002008-04-18 Robert Millan <rmh@aybabtu.com>
14701
14702 * util/update-grub.in: Fix syntax error when setting
14703 `GRUB_PRELOAD_MODULES'.
14704 Reported by Stephane Chazelas <stephane@artesyncp.com>
14705
1977517d 147062008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14707
14708 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14709 section into account, newer toolchains generate unique build ids
14710 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14711 we want build ids to be preserved
1977517d 14712 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14713 far from other sections don't cause the raw binary images grow
14714 size
14715
bfb1f1a2 147162008-04-15 Robert Millan <rmh@aybabtu.com>
14717
14718 * disk/lvm.c: Update copyright year.
14719 * kern/misc.c: Likewise.
14720
01979850 147212008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14722
14723 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 14724 there is no memory left for physical volume name.
01979850 14725
0a1150e2 147262008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14727
14728 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
14729 volume name mapping to support bigger than 9 character names properly.
14730
82ead3fe 147312008-04-13 Robert Millan <rmh@aybabtu.com>
14732
14733 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
14734 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
14735
e54a72f5 147362008-04-13 Christian Franke <franke@computer.org>
14737
14738 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
14739 to create a floppy emulation boot CD when non emulation mode
14740 does not work.
14741 Enable Joliet CD filesystem extension.
14742
9fe86034 147432008-04-13 Robert Millan <rmh@aybabtu.com>
14744
14745 * kern/misc.c (grub_strncat): Fix off-by-one error.
14746 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
14747
14748 * kern/env.c (grub_env_context_close): Clear current context, not
14749 previous one.
14750 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
14751
14752 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
14753
7ceeee39 147542008-04-13 Robert Millan <rmh@aybabtu.com>
14755
14756 Improve robustness when handling LVM.
14757
14758 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 14759 (and leave `*p' unmodified).
7ceeee39 14760 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
14761 through it.
14762 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
14763 iterating through it.
14764 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
14765 through it.
fe6b695a 14766 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 14767 when due) on each grub_lvm_getvalue() or grub_strstr() call.
14768 Don't assume `vg->pvs != NULL' when iterating through it.
14769
58cd3d85 147702008-04-13 Robert Millan <rmh@aybabtu.com>
14771
14772 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
14773 * genmk.rb (partmap): New variable.
14774 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
14775 (#{partmap}): New target rule.
14776 * genpartmaplist.sh: New file.
14777 * Makefile.in (pkglib_DATA): Add partmap.lst.
14778 (partmap.lst): New target rule.
14779 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
14780 modules (including all partition maps), instead of preloading them.
14781
78b51059 147822007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
14783
14784 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
14785 `linux-boot-prober' (if installed) to detect other operating
14786 systems which are installed on the computer and add them to
14787 the boot menu.
14788 * conf/common.rmk: Build and install 30_os-prober.
14789
a91627b4 147902008-04-12 Robert Millan <rmh@aybabtu.com>
14791
14792 * kern/powerpc/ieee1275/init.c: Move from here ...
14793 * kern/ieee1275/init.c: ... to here. Update all users.
14794
14795 * kern/powerpc/ieee1275/cmain.c: Move from here ...
14796 * kern/ieee1275/cmain.c: ... to here. Update all users.
14797
14798 * kern/powerpc/ieee1275/openfw.c: Move from here ...
14799 * kern/ieee1275/openfw.c: ... to here. Update all users.
14800
14801 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
14802 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
14803
322562ea 148042008-04-10 Pavel Roskin <proski@gnu.org>
14805
14806 * configure.ac: Always use "_cv_" in cache variables for
14807 compatibility with Autoconf 2.62.
14808
a02a73c5 148092008-04-07 Robert Millan <rmh@aybabtu.com>
14810
14811 Revert grub/machine/init.h addition by Pavel (since it breaks on
14812 i386-ieee1275 and others):
14813 * util/i386/pc/misc.c: Remove grub/machine/init.h.
14814 * util/powerpc/ieee1275/misc.c: Likewise.
14815
25c024b1 148162008-04-07 Robert Millan <rmh@aybabtu.com>
14817
14818 * util/grub-probe.c (probe): Improve error message.
14819
3cbd2f98 148202008-04-07 Robert Millan <rmh@aybabtu.com>
14821
14822 * util/biosdisk.c (read_device_map): Skip devices that don't exist
14823 (this prevents the presence of a bogus entry from ruining the whole
14824 thing).
14825
87a297bf 148262008-04-06 Pavel Roskin <proski@gnu.org>
14827
36747a62 14828 * util/biosdisk.c: Include grub/util/biosdisk.h.
14829 * util/grub-fstest.c (execute_command): Make static.
14830 * util/grub-mkdevicemap.c (check_device): Likewise.
14831 * util/i386/pc/misc.c: Include grub/machine/init.h.
14832 * util/powerpc/ieee1275/misc.c: Likewise.
14833 * util/lvm.c: Include grub/util/lvm.h.
14834 * util/misc.c: Include grub/kernel.h, grub/misc.h and
14835 grub/cache.h.
14836 * util/raid.c: Include grub/util/raid.h.
14837 (grub_util_getdiskname): Make static.
14838
87a297bf 14839 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
14840 grub_hostfs_fini(), as they are called from grub_init_all() and
14841 grub_fini_all() respectively. This fixes an infinite loop in
14842 grub-fstest due to double registration of hostfs.
14843 Reported by Christian Franke <Christian.Franke@t-online.de>
14844
f6ce7629 148452008-04-05 Pavel Roskin <proski@gnu.org>
14846
14847 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
14848 all 8 functions. Otherwise, probe function 0 only.
14849
070e49e4 148502008-04-04 Pavel Roskin <proski@gnu.org>
14851
8b088a4c 14852 * commands/lspci.c (grub_lspci_iter): Print the bus number
14853 correctly.
14854
4f657021 14855 * commands/lspci.c (grub_pci_classes): Fix typos.
14856 (grub_lspci_iter): Don't print func twice. Print vendor ID
14857 before device ID, as it's normally done.
14858
070e49e4 14859 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14860 Fix signedness warnings.
14861 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
14862 Likewise.
14863 * util/ieee1275/get_disk_name.c: Include config.h so that
14864 _GNU_SOURCE is defined and getline() is declared. Mark an
14865 unused argument as such. Fix a signedness warning.
14866
ba7328dc 148672008-04-02 Pavel Roskin <proski@gnu.org>
14868
26887f22 14869 * genkernsyms.sh.in: Use more robust assignments for CC and
14870 srcdir. Quote srcdir.
14871 * gensymlist.sh.in: Likewise. Assert at the compile time that
14872 the symbol table is not empty.
14873
ba7328dc 14874 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
14875 * fs/cpio.c (grub_cpio_read): Likewise.
14876
0f582c6b 148772008-04-01 Pavel Roskin <proski@gnu.org>
14878
4b6e1995 14879 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
14880 * disk/host.c (grub_host_open): Likewise.
14881 * disk/loopback.c (grub_loopback_open): Likewise.
14882 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
14883 disk->id as in disk/host.c, not a multi-character constant.
14884
828a2768 14885 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
14886 later is obsolete, potentially dangerous and sets a bad example.
14887 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
14888 * util/misc.c (grub_util_get_image_size): Likewise.
14889
2bb4fb47 14890 * disk/loopback.c (options): Improve help for "--partitions".
14891
0f582c6b 14892 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
14893 options to align them with the short options, e.g. "echo -e".
14894
a33224e0 148952008-03-31 Bean <bean123ch@gmail.com>
14896
14897 * video/reader/png.c (grub_png_data): New member is_16bit and
14898 image_data.
14899 (grub_png_decode_image_header): Detect 16 bit png image.
14900 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
14901 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
14902 (grub_video_reader_png): Release memory occupied by image_data.
14903
14904 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
14905 4096 bytes.
14906 (grub_nfs_mount): Skip the test for sector per cluster.
14907
14908 * include/grub/ntfs.h (MAX_SPC): Removed.
14909
86cb4f54 149102008-03-31 Bean <bean123ch@gmail.com>
14911
14912 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
14913 (grub_probe_SOURCES): Add fs/afs.c.
14914 (grub_fstest_SOURCES): Likewise.
14915 (afs_mod_SOURCES): New variable.
14916 (afs_mod_CFLAGS): Likewise.
14917 (afs_mod_LDFLAGS): Likewise.
14918
14919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
14920 (grub_emu_SOURCES): Likewise.
14921
14922 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14923
14924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14925
14926 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14927
14928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14929
14930 * fs/afs.c: New file.
14931
17c74c21 149322008-03-30 Pavel Roskin <proski@gnu.org>
14933
4cb68e89 14934 * disk/host.c: Include grub/misc.h to fix a warning.
14935 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
14936 warnings about implicit declarations.
14937
8790bb04 14938 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
14939 variable.
14940 * include/grub/i386/loader.h: Change declaration of
14941 grub_linux_boot() to match what grub_loader_set() expects.
14942 * util/getroot.c (grub_guess_root_device): Return const char* to
14943 fix a warning.
14944 * util/grub-probe.c (probe): Fix a warning about uninitialized
14945 abstraction_name variable.
14946 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
14947 second argument as unused to fix a warning.
14948
9a3f3296 14949 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
14950 missing grub_error() call.
14951
0ecef90d 14952 * util/update-grub_lib.in: Define datarootdir, since Autoconf
14953 2.60 and newer uses it to define datadir.
14954
0bf6d401 14955 * commands/sleep.c: Fix warning about implicit declaration.
14956 * disk/memdisk.c: Likewise.
14957 * loader/aout.c: Likewise.
14958 * loader/i386/bsd_normal.c: Likewise.
14959 * util/grub-probe.c: Likewise.
14960
7cdacf97 14961 * commands/i386/cpuid.c (has_longmode): Make static.
14962 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
14963 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
14964
17c74c21 14965 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
14966 GDT. This is more robust, as %ds can change.
14967 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
14968 calling real_to_prot().
14969 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
14970
80a3e68b 149712008-03-28 Pavel Roskin <proski@gnu.org>
14972
14973 * kern/i386/pc/startup.S: Assert that uncompressed functions
14974 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
14975 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
14976 code, as they push parts of the code (error handlers) beyond
14977 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
14978 code as correctness and size.
14979
77bcd272 149802008-03-28 Pavel Roskin <proski@gnu.org>
14981
14982 * kern/i386/pc/startup.S
14983 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
14984 data block address to the real mode, keep offset minimal. This
14985 works around a bug in AWARD BIOS on old Athlon systems, which
14986 makes CD detection hang.
14987
c5dfd43b 149882008-03-26 Pavel Roskin <proski@gnu.org>
14989
14990 * normal/color.c (grub_parse_color_name_pair): Make `name' a
14991 const.
14992 * include/grub/normal.h: Add grub_parse_color_name_pair()
14993 declaration.
14994
bf962df2 149952008-03-24 Bean <bean123ch@gmail.com>
14996
14997 * disk/i386/pc/biosdisk.c (cd_start): Removed.
14998 (cd_count): Removed.
14999 (cd_drive): New variable.
15000 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15001 (grub_biosdisk_call_hook): Likewise.
15002 (grub_biosdisk_iterate): Change cdrom detection method.
15003 (grub_biosdisk_open): Replace cd_start with cd_drive.
15004 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15005 detect cdrom device.
15006
15007 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15008 Removed.
15009 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15010 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15011 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15012 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15013 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15014 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15015 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15016 (grub_biosdisk_cdrp): New structure.
15017 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15018
15019 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15020
15021 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15022 device.
15023
15024 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15025 New function.
15026
68e7fc7a 150272008-03-20 Robert Millan <rmh@aybabtu.com>
15028
15029 Remove 2 TiB limit in ata.mod.
15030 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15031 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15032 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15033 grub_uint64_t instead of grub_uint32_t.
15034
38ad2cf5 150352008-03-05 Bean <bean123ch@gmail.com>
15036
15037 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15038 (grub_multiboot): Set boot device.
15039
15040 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15041
2b89344e 150422008-03-02 Bean <bean123ch@gmail.com>
15043
15044 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15045 symlink_buffer.
15046
87a95d1f 150472008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15048
15049 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15050 texinfo.tex.
15051
15052 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15053 modified.
15054
15055 * docs/fdl.texi: New file.
f19dbdb7 15056
87a95d1f 15057 * docs/mdate-sh: New file. Copied from gnulib.
15058 * docs/texinfo.tex: Likewise.
15059
15060 * config.guess: Updated from gnulib.
15061 * install-sh: Likewise.
15062
7dc15d8e 150632008-02-28 Robert Millan <rmh@aybabtu.com>
15064
15065 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15066 (aout_mod_SOURCES): New variable.
15067 (aout_mod_CFLAGS): Likewise.
15068 (aout_mod_LDFLAGS): Likewise.
15069
15070 * conf/i386-ieee1275.rmk: Likewise.
15071
b00ab696 150722008-02-28 Robert Millan <rmh@aybabtu.com>
15073
15074 * util/update-grub.in: Reorganise terminal validity check. Accept
15075 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15076 Based on suggestion by Franklin PIAT.
15077
79ca2d78 150782008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15079
15080 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15081 function.
15082 * util/getroot.c (grub_util_check_block_device): New function that
15083 returns the given argument if it is a block device and returns NULL else.
15084 * util/grub-probe.c (argument_is_device): New variable.
15085 (probe): Promote device_name from a variable to an argument. Receive
15086 device_name from grub_util_check_block_device() if path is NULL and from
15087 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15088 (options): Introduce new parameter '-d, --device'.
79ca2d78 15089 (main): Add description of the new parameter to the help screen.
15090 Rename path variable to argument. Set argument_is_device if the '-d'
15091 option is given. Pass argument to probe() depending on
15092 argument_is_device.
15093
0d16e571 150942008-02-24 Bean <bean123ch@gmail.com>
15095
15096 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15097 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15098 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15099 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15100 (GRUB_ISO9660_VOLDESC_END): Likewise.
15101 (grub_iso9660_primary_voldesc): New member escape.
15102 (grub_iso9660_data): New member joliet.
15103 (grub_iso9660_convert_string): New function.
15104 (grub_iso9660_mount): Detect joliet extension.
15105 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15106 (grub_iso9660_iso9660_label): Likewise.
15107
15108 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15109 (grub_setup_SOURCES): Add fs/udf.c.
15110 (grub_fstest_SOURCES): Likewise.
15111 (udf_mod_SOURCES): New variable.
15112 (udf_mod_CFLAGS): Likewise.
15113 (udf_mod_LDFLAGS): Likewise.
15114
15115 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15116 (grub_emu_SOURCES): Likewise.
15117
15118 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15119
15120 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15121
15122 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15123
15124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15125
15126 * fs/udf.c: New file.
15127
8a594a17 151282008-02-24 Robert Millan <rmh@aybabtu.com>
15129
15130 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15131 (normal/lexer.c_DEPENDENCIES): New variables.
15132 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15133 (normal/lexer.c_DEPENDENCIES): Likewise.
15134 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15135 (normal/lexer.c_DEPENDENCIES): Likewise.
15136 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15137 (normal/lexer.c_DEPENDENCIES): Likewise.
15138 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15139 (normal/lexer.c_DEPENDENCIES): Likewise.
15140 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15141 (normal/lexer.c_DEPENDENCIES): Likewise.
15142
2dc33c03 151432008-02-23 Robert Millan <rmh@aybabtu.com>
15144
15145 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15146 since they were intended to be in hex. This didn't break previously
15147 because of a bug in gpt_partition_map_iterate() (see below).
15148
15149 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15150 when checking the validity of GPT header.
15151 Remove `partno', since it always provides the same information as `i'.
15152
f6f4cfb0 151532008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15154
15155 * include/grub/efi/time.h: Fix a wrong comment.
15156
79ff665f 151572008-02-19 Pavel Roskin <proski@gnu.org>
15158
15159 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15160 message.
15161
d38e24c2 151622008-02-19 Bean <bean123ch@gmail.com>
15163
15164 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15165 (aout_mod_SOURCES): New variable.
15166 (aout_mod_CFLAGS): Likewise.
15167 (aout_mod_LDFLAGS): Likewise.
15168 (_bsd_mod_SOURCES): New variable.
15169 (_bsd_mod_CFLAGS): Likewise.
15170 (_bsd_mod_LDFLAGS): Likewise.
15171 (bsd_mod_SOURCES): New variable.
15172 (bsd_mod_CFLAGS): Likewise.
15173 (bsd_mod_LDFLAGS): Likewise.
15174
15175 * include/grub/aout.h: New file.
15176
15177 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
15178
15179 * include/grub/i386/bsd.h: New file.
15180
15181 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
15182 to make it public.
15183
15184 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
15185 function is called, so that it's possible to change it inside the hook.
15186 (grub_elf64_load): Likewise.
15187 (grub_elf_file): Don't close the file if elf header is not found.
15188 (grub_elf_close): Close the file if grub_elf_file fails (The new
15189 grub_elf_file won't close it).
15190 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
15191 (grub_elf64_size): Likewise.
15192
15193 * kern/i386/loader.S (grub_unix_real_boot): New function.
15194
15195 * loader/aout.c: New file.
15196
15197 * loader/i386/bsd.c: New file.
15198
15199 * loader/i386/bsd_normal.c: New file.
15200
15201 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
15202
15203 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 15204 can test other formats.
d38e24c2 15205
b93bdb0f 152062008-02-19 Robert Millan <rmh@aybabtu.com>
15207
15208 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
15209 (grub_gpt_partition_type_empty): Redefine with macro from
15210 `<grub/gpt_partition.h>'.
15211 (gpt_partition_map_iterate): Adjust partition type comparison.
15212
15213 Export `entry' as partmap-specific `part.data' struct.
15214 (grub_gpt_header, grub_gpt_partentry): Move from here ...
15215
15216 * include/grub/gpt_partition.h (grub_gpt_header)
15217 (grub_gpt_partentry): ... to here (new file).
15218
15219 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
15220
15221 (grub_gpt_partition_type_bios_boot): New const variable, defined
15222 with macro from `<grub/gpt_partition.h>'.
15223
15224 (setup): Replace `first_start' with `embed_region', which keeps
15225 track of the embed region (and is partmap-agnostic).
15226
15227 Replace find_first_partition_start() with find_usable_region(),
15228 which finds a usable region for embedding using partmap-specific
15229 knowledge (supports PC/MSDOS and GPT).
15230
15231 Fix all assumptions that the embed region start at sector 1, using
15232 `embed_region.start' from now on. Similarly, use `embed_region.end'
15233 rather than `first_start' to calculate available size.
15234
15235 In grub_util_info() message, replace "into after the MBR" with an
15236 indication of the specific sector our embed region starts at.
15237
66cb40f6 152382008-02-19 Robert Millan <rmh@aybabtu.com>
15239
15240 * DISTLIST: Replace `commands/ieee1275/halt.c' and
15241 `commands/ieee1275/reboot.c' with `commands/halt.c' and
15242 `commands/reboot.c'.
15243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15244 (halt_mod_SOURCES): Likewise.
15245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15246 (halt_mod_SOURCES): Likewise.
15247
b7202015 152482008-02-17 Christian Franke <franke@computer.org>
15249
15250 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
15251
32b0fc49 152522008-02-17 Robert Millan <rmh@aybabtu.com>
15253
15254 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15255 set `first_start' to 0 for non-PC/MSDOS partition maps.
15256
aca63502 152572008-02-16 Robert Millan <rmh@aybabtu.com>
15258
15259 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15260 do not assume partition map is PC/MSDOS before performing checks that
15261 are specific to that layout.
15262
0de8be86 152632008-02-13 Robert Millan <rmh@aybabtu.com>
15264
15265 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
15266 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
15267 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
15268
c3db8364 152692008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
15270
15271 * configure.ac: Only a cosmetic change on the handling of
15272 -fno-stack-protector.
15273
f714229e 152742008-02-12 Alexandre Boeglin <alex@boeglin.org>
15275
c3db8364 15276 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
15277 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
15278 reboot.c.
f714229e 15279 (grub_install_SOURCES): Add halt.mod and reboot.mod.
15280 (halt_mod_SOURCES): New variable.
15281 (halt_mod_CFLAGS): Likewise.
15282 (halt_mod_LDFLAGS): Likewise.
15283 (reboot_mod_SOURCES): Likewise.
15284 (reboot_mod_CFLAGS): Likewise.
15285 (reboot_mod_LDFLAGS): Likewise.
15286
c3db8364 15287 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
15288 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
15289 reboot.c.
f714229e 15290 (halt_mod_SOURCES): Likewise.
15291 (reboot_mod_SOURCES): Likewise.
15292
c3db8364 15293 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
15294 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 15295 (reboot_mod_SOURCES): Likewise.
15296
15297 * commands/i386/pc/reboot.c: merge this file ...
15298
15299 * commands/ieee1275/reboot.c: ... and this file ...
15300
15301 * commands/reboot.c: ... to this file.
c3db8364 15302 Add some precompiler directive to include the correct header for
15303 each machine.
f714229e 15304
15305 * commands/ieee1275/halt.c: move this file ...
15306
15307 * commands/halt.c: ... to here.
c3db8364 15308 Add some precompiler directive to include the correct header for
15309 each machine.
f714229e 15310
15311 * include/grub/efi/efi.h (grub_reboot): New function declaration.
15312 (grub_halt): Likewise.
15313
15314 * kern/efi/efi.c (grub_reboot): New function.
15315 (grub_halt): Likewise.
15316
c74493e0 153172008-02-12 Robert Millan <rmh@aybabtu.com>
15318
15319 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
15320 /dev (like it is done for /dev/mapper). This doesn't provide support
15321 for EVMS, but at least it is now easy to identify the problem when it
15322 arises.
15323
d0db4b04 153242008-02-11 Robert Millan <rmh@aybabtu.com>
15325
15326 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
15327 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
15328 comparing it with -1, not 0.
15329
bf748642 153302008-02-10 Robert Millan <rmh@aybabtu.com>
15331
15332 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
15333 `disk/lvm.c'.
15334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15335 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15336
15337 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
15338 `disk/lvm.c' to the end of the list.
15339 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15340 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15341
b5db202a 153422008-02-10 Robert Millan <rmh@aybabtu.com>
15343
15344 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
15345 grub_print_error() instead. This will let user know why we're entering
15346 rescue mode.
15347 Based on suggestions from Sam Morris.
15348
83abee31 153492008-02-10 Alexandre Boeglin <alex@boeglin.org>
15350
15351 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
15352 on remaining N args, instead of "--" arg N times.
15353
78d5a08b 153542008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
15355
15356 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
15357 (fill_with_default_glyph): Changed to use unknown_glyph for fill
15358 pattern for unknown glyphs.
15359
68807e5f 153602008-02-09 Robert Millan <rmh@aybabtu.com>
15361
15362 * configure.ac: Probe for `help2man'.
15363 * Makefile.in (builddir): New variable.
15364 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
15365 or otherwise add a few flags/options to it.
15366 (install-local): For every executable utility or script that is
15367 installed, invoke $(HELP2MAN) to install a manpage based on --help
15368 output.
15369
15370 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
15371 that it doesn't prevent --help from working in build tree.
15372
15373 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
15374 with `bug-grub@gnu.org'.
15375 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
15376 * util/update-grub.in (usage): New function.
15377 Implement proper argument check, with support for --help and --version
15378 (as well as existing -y).
15379
153802008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 15381
15382 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
15383 avoid overwriting previous output.
15384 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
15385
c1962162 153862008-02-09 Robert Millan <rmh@aybabtu.com>
15387
15388 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
15389 drawing the menu.
15390
3dac2e3f 153912008-02-09 Robert Millan <rmh@aybabtu.com>
15392
15393 * commands/sleep.c: New file.
15394 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
15395 (sleep_mod_SOURCES): New variable.
15396 (sleep_mod_CFLAGS): Likewise.
15397 (sleep_mod_LDFLAGS): Likewise.
15398
7a634e08 153992008-02-09 Robert Millan <rmh@aybabtu.com>
15400
15401 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
15402 situations in which we can deduce the RAID size and the superblock
15403 doesn't match it.
15404
b92f0c18 154052008-02-09 Robert Millan <rmh@aybabtu.com>
15406
15407 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
15408 and return a grub_diskmemberlist_t composed of LVM physical volumes.
15409 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
15410
15411 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
15412 and return a grub_diskmemberlist_t composed of physical array members.
15413 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
15414
15415 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
15416 prototype.
15417 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
15418 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
15419 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
15420
15421 * util/grub-probe.c (probe): Move partmap probing code from here ...
15422 (probe_partmap): ... to here.
15423 (probe): Use probe_partmap() once for the disk we're probing, and
15424 additionally, when such disk contains a memberlist() struct member,
15425 once for each disk that is contained in the structure returned by
15426 memberlist().
15427
91a4bf68 154282008-02-09 Robert Millan <rmh@aybabtu.com>
15429
15430 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
15431 environment variable to 'all' in order to obtain debug output from
15432 non-util/ code.
15433 * util/i386/pc/grub-setup.c (main): Likewise.
15434
a96f9caa 154352008-02-08 Robert Millan <rmh@aybabtu.com>
15436
15437 * disk/raid.c (grub_raid_scan_device): Check for
15438 `array->device[sb.this_disk.number]' rather than for
15439 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 15440 guaranteed to be accessible.
a96f9caa 15441
b37a9222 154422008-02-08 Robert Millan <rmh@aybabtu.com>
15443
15444 * disk/raid.c: Update copyright.
15445 * fs/cpio.c: Likewise.
15446 * include/grub/raid.h: Likewise.
15447 * loader/i386/pc/multiboot.c: Likewise.
15448 * util/hostfs.c: Likewise.
15449
5626aee1 154502008-02-08 Robert Millan <rmh@aybabtu.com>
15451
15452 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
15453 to a grub_disk_t array.
15454 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
15455 `device[x]'.
15456 (grub_raid_scan_device): Replace `device[x].name' accesses with
15457 `device[x]->name'. Simplify initialization of `array->device[x]'.
15458
554f0187 154592008-02-08 Robert Millan <rmh@aybabtu.com>
15460
15461 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
15462 grub_dprintf() calls.
15463 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
15464 error message.
15465
1ec8425d 154662008-02-07 Christian Franke <franke@computer.org>
15467
15468 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15469 instead of fseek and ftell to support large files.
15470 (grub_hostfs_read): Likewise.
15471
f2156fda 154722008-02-07 Robert Millan <rmh@aybabtu.com>
15473
15474 Patch from Jeroen Dekkers.
15475 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 15476 failure, since successfully reading all array members might not be
f2156fda 15477 required.
15478
9216e0e7 154792008-02-06 Robert Millan <rmh@aybabtu.com>
15480
15481 * util/grub-probe.c (probe): Simplify partmap probing (with the
15482 assumption that the first word up to the underscore equals to
15483 the module name).
15484
b0dfd29a 154852008-02-06 Christian Franke <franke@computer.org>
15486
15487 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15488 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15489 last block of a cpio or tar stream.
15490 Check for "TRAILER!!!" instead of any empty data
15491 block to detect last block of a cpio stream.
15492 (grub_cpio_dir): Fix constness of variable np.
15493 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15494 cpio or tar trailer is detected. This fixes a crash
15495 on open of a non existing file.
15496
c32865bf 154972008-02-05 Bean <bean123ch@gmail.com>
15498
15499 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15500 address of entry.
15501 (grub_multiboot_load_elf64): Likewise.
15502 (grub_multiboot): Initialize mbi structure.
15503
15504 * util/grub-fstest.c: Don't include unused header file script.h.
15505
fe6b695a 15506 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15507 of file.
15508 (grub_fstest_SOURCES): Likewise.
15509
409480b7 155102008-02-05 Robert Millan <rmh@aybabtu.com>
15511
15512 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15513 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15514 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15515 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15516
15517 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15518 (translation_table): Replace hardcoded values with macros
15519 provided by `<grub/term.h>'.
15520
15521 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15522 (keyboard_map): Correct/add a few values, with macros provided
15523 by `<grub/term.h>'.
15524 (keyboard_map_shift): Zero values that don't differ from their
15525 `keyboard_map' equivalents.
15526 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15527 Discard the second scan code that is always sent by Caps lock.
15528 Only use `keyboard_map_shift' when it provides a non-zero value,
15529 otherwise fallback to `keyboard_map'.
15530
99fadbaa 155312008-02-04 Bean <bean123ch@gmail.com>
15532
15533 * Makefile.in (enable_grub_fstest): New variable.
15534
15535 * conf/common.rmk (grub_fstest_init.lst): New rule.
15536 (grub_fstest_init.h): Likewise.
15537 (grub_fstest_init.c): Likewise.
15538 (util/grub-fstest.c_DEPENDENCIES): New variable.
15539 (grub_fstest_SOURCES): Likewise.
15540
15541 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15542
15543 * util/grub-fstest.c: New file.
15544
bf567c50 155452008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15546
15547 Make grub-setup handle a separate root device.
f19dbdb7 15548
bf567c50 15549 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15550 so that the root device can be compared with the destination
15551 device.
15552 When embedding the core image, if the root and destination devices
15553 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15554 0xFF.
15555 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 15556
9be6b98b 155572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15558
15559 Add support for having a grub directory in a different drive. This
15560 is still only the data handling part.
f19dbdb7 15561
9be6b98b 15562 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15563 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15564 (grub_root_drive): New variable.
15565
15566 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15567 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15568 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15569 as it was.
15570
15571 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15572
15573 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15574 macro.
15575 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15576
15577 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15578 is bogus, because PXE booting does not specify any drive
15579 correctly.
15580
15581 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15582 am not sure if this is really correct.
15583
15584 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15585 is always identical to the boot drive when booting from a CD.
15586
15587 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15588 longer.
15589 (root_drive): New variable.
15590 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15591 (setup_sectors): Push %dx right after popping it, because %dh will
15592 be modified later.
15593 (copy_buffer): Restore %dx.
15594
e0ca0677 155952008-02-03 Robert Millan <rmh@aybabtu.com>
15596
15597 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15598 use `cdboot.img' for cdrom images.
15599
3b3f6629 156002008-02-03 Robert Millan <rmh@aybabtu.com>
15601
15602 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15603 only setup gfxterm when `font' command has succeeded.
15604
d42b3672 156052008-02-03 Robert Millan <rmh@aybabtu.com>
15606
15607 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15608 (grub_rescue_cmd_multiboot_loader)
15609 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15610
fa370ea6 156112008-02-03 Pavel Roskin <proski@gnu.org>
15612
e0c5dacb 15613 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 15614 %edx and %esi from stack only after grub_gate_a20() is called.
15615 grub_gate_a20() clobbers %edx.
15616
f2a76e1d 156172008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15618
15619 * configure.ac (AC_INIT): Bumped to 1.96.
15620
15621 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15622 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15623 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15624 video/readers/png.c.
15625
90fd32d1 156262008-02-03 Bean <bean123ch@gmail.com>
9be665dd 15627
15628 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15629 (cdboot_img_SOURCES): New variable.
15630 (cdboot_img_ASFLAGS): New variable.
15631 (cdboot_img_LDFLAGS): New variable.
15632
15633 * boot/i386/pc/cdboot.S: New file.
15634
15635 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15636 (cd_count): Likewise.
15637 (grub_biosdisk_get_drive): Add support for cd device.
15638 (grub_biosdisk_call_hook): Likewise.
15639 (grub_biosdisk_iterate): Likewise.
15640 (grub_biosdisk_open): Likewise.
15641 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
15642 (grub_biosdisk_rw): Support reading from cd device.
15643 (GRUB_MOD_INIT): Iterate cd devices.
15644
15645 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
15646 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
15647 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
15648
15649 * kern/i386/pc/init.c (make_install_device): Check for cd device.
15650
4020aa53 156512008-02-02 Robert Millan <rmh@aybabtu.com>
15652
15653 * commands/read.c: New file.
15654 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15655 (read_mod_SOURCES): New variable.
15656 (read_mod_CFLAGS): Likewise.
15657 (read_mod_LDFLAGS): Likewise.
15658
e03a1132 156592008-02-02 Robert Millan <rmh@aybabtu.com>
15660
15661 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15662 determining whether menu has to be displayed.
15663
58c69220 156642008-02-02 Marco Gerards <marco@gnu.org>
15665
15666 * bus/pci.c: New file.
15667
15668 * include/grub/pci.h: Likewise.
15669
15670 * include/grub/i386/pc/pci.h: Likewise.
15671
15672 * commands/lspci.c: Likewise.
15673
15674 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15675 `lspci.mod'.
15676 (pci_mod_SOURCES): New variable.
15677 (pci_mod_CFLAGS): Likewise.
15678 (pci_mod_LDFLAGS): Likewise.
15679 (lspci_mod_SOURCES): Likewise.
15680 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15681 (lspci_mod_LDFLAGS): Likewise.
58c69220 15682
c004e1b4 156832008-02-02 Bean <bean123ch@gmail.com>
15684
15685 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15686 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15687
15688 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15689 (grub_xfs_btree_node): New structure.
15690 (grub_xfs_btree_root): New structure.
15691 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15692 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15693 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15694 (GRUB_XFS_EXTENT_SIZE): Likewise.
15695 (grub_xfs_read_block): Support btree format type.
15696 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15697 Use directory block as basic unit.
15698
15699 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15700
15701 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15702 __attribute__ ((__regparm__ (1))).
15703
f95562bf 157042008-02-01 Robert Millan <rmh@aybabtu.com>
15705
15706 Correct a mistake in previous commit.
15707
15708 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15709 top.
15710 (normal/command.c_DEPENDENCIES): New variable.
15711
7d31f41f 157122008-02-01 Robert Millan <rmh@aybabtu.com>
15713
15714 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
15715 top.
15716 (normal/command.c_DEPENDENCIES): New variable.
15717 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
15718 * conf/i386-ieee1275.rmk: Likewise.
15719 * conf/i386-linuxbios.rmk: Likewise.
15720 * conf/i386-pc.rmk: Likewise.
15721 * conf/sparc64-ieee1275.rmk: Likewise.
15722 * conf/powerpc-ieee1275.rmk: Likewise.
15723 (grub_emu_SOURCES): Add `fs/fshelp.c'.
15724
15725 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
15726
60b6be74 157272008-02-01 Robert Millan <rmh@aybabtu.com>
15728
15729 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
15730 call at beginning of function.
15731
078522ab 157322008-01-31 Pavel Roskin <proski@gnu.org>
15733
15734 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 15735 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
15736 (grub_mkrescue_SOURCES): Likewise.
078522ab 15737 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
15738
ccaa8a5f 157392008-01-30 Robert Millan <rmh@aybabtu.com>
15740
15741 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
15742 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
15743 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
15744 (grub_probe_SOURCES): ... to here.
15745
15746 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
15747 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
15748 * conf/i386-ieee1275.rmk: Likewise.
15749 * conf/i386-linuxbios.rmk: Likewise.
15750 * conf/powerpc-ieee1275.rmk: Likewise.
15751
ae5a9cd7 157522008-01-30 Tristan Gingold <gingold@free.fr>
15753
15754 * kern/rescue.c: Silently accept empty lines.
15755
70bc2ef2 157562008-01-29 Bean <bean123ch@gmail.com>
15757
15758 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
15759 (real_code_2): Code cleanup and change comment style.
15760 (move_memory): Avoid using 32-bit address mode.
15761
6a4d50ea 157622008-01-29 Bean <bean123ch@gmail.com>
15763
15764 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
15765 (png_mod_SOURCES): New variable.
15766 (png_mod_CFLAGS): Likewise.
15767 (png_mod_LDFLAGS): Likewise.
15768
15769 * video/readers/png.c: New file.
15770
11cc30ac 157712008-01-28 Robert Millan <rmh@aybabtu.com>
15772
15773 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
15774 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
15775 `ifndef GRUB_MOD_GAP' hack.
15776 * util/elf/grub-mkimage.c (add_segments): Likewise.
15777
3abc589f 157782008-01-27 Robert Millan <rmh@aybabtu.com>
15779
15780 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
15781 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 15782 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 15783
e1907778 157842008-01-27 Robert Millan <rmh@aybabtu.com>
15785
15786 Get grub-emu to build again (including parallel builds).
15787
15788 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
15789 Split into ...
15790 (util/grub-emu.c_DEPENDENCIES): ... this, ...
15791 (normal/execute.c_DEPENDENCIES): ... this, ...
15792 (grub-emu_DEPENDENCIES): ... and this.
15793
15794 * conf/i386-efi.rmk: Likewise.
15795 * conf/i386-linuxbios.rmk: Likewise.
15796 * conf/i386-ieee1275.rmk: Likewise.
15797 * conf/powerpc-ieee1275.rmk: Likewise.
15798 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
15799
2216b101 158002008-01-27 Robert Millan <rmh@aybabtu.com>
15801
15802 * NEWS: Add a few items.
15803
f75172d9 158042008-01-27 Robert Millan <rmh@aybabtu.com>
15805
15806 Fix parallel builds with grub-emu. Based on earlier commit for
15807 grub-probe and grub-setup.
15808
15809 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15810 (util/grub-emu.c_DEPENDENCIES): ... this.
15811 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15812 (util/grub-emu.c_DEPENDENCIES): ... this.
15813 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15814 (util/grub-emu.c_DEPENDENCIES): ... this.
15815 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15816 (util/grub-emu.c_DEPENDENCIES): ... this.
15817 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15818 (util/grub-emu.c_DEPENDENCIES): ... this.
15819
3f51de77 158202008-01-27 Pavel Roskin <proski@gnu.org>
15821
15822 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
15823 to create a gap between _end and the modules added to the image
15824 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
15825 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
15826 * util/elf/grub-mkimage.c (add_segments): Likewise.
15827
2033f53e 158282008-01-26 Pavel Roskin <proski@gnu.org>
15829
15830 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
15831 just return an error.
15832
22da1f6f 158332008-01-26 Bean <bean123ch@gmail.com>
15834
15835 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
15836 (grub_reiserfs_get_item): Save offset of the next item.
15837 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
15838
2a9525e6 158392008-01-25 Robert Millan <rmh@aybabtu.com>
15840
15841 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
15842 make all filesystem sources appear together (possibly fixing omissions
15843 while at it).
15844 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15845 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15846 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15848
15849 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
15850 add `kern/file.c'.
15851 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15852 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15853 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15854 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15855
15856 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
15857 (probe): Add a sanity check to make sure of our ability to read
15858 requested files when probing for filesystem type.
15859
15860 * genmk.rb: Update copyright year (2007).
15861
15862 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
15863 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
15864 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
15865 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
15866 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
15867 : Remove function prototypes.
15868
b95f71b5 158692008-01-25 Robert Millan <rmh@aybabtu.com>
15870
15871 Revert my previous commits (based on wrong assumption of how grub_errno
15872 works).
15873
fe6b695a 15874 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 15875 * kern/file.c (grub_file_open): Likewise.
15876
d08bbb49 158772008-01-24 Pavel Roskin <proski@gnu.org>
15878
15879 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
15880 that hang if GRUB tries to setup colors.
15881 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
15882 colors for firmwares that don't support it.
15883 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
15884 Recognize Open Hack'Ware, set flags to work around its
15885 limitations.
15886
605e36ed 158872008-01-24 Robert Millan <rmh@aybabtu.com>
15888
15889 * kern/file.c (grub_file_open): Do not account previous failures of
15890 unrelated functions when grub_errno is checked for.
15891 Reported by Oleg Strikov.
15892
bac332a1 158932008-01-24 Bean <bean123ch@gmail.com>
15894
15895 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
15896 (grub_ufs_sblock): New member volume name.
15897 (grub_ufs_find_file): Fix string copy bug.
15898 (grub_ufs_label): Implement this function properly.
15899
15900 * fs/hfs.c (grub_hfs_cnid_type): New enum.
15901 (grub_hfs_iterate_records): Use the correct file number for extents
15902 and catalog file. Fix problem in next index calculation.
15903 (grub_hfs_find_node): Replace recursive function call with loop.
15904 (grub_hfs_iterate_dir): Replace recursive function call with loop.
15905
15c80c09 159062008-01-23 Robert Millan <rmh@aybabtu.com>
15907
15908 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
15909 `<grub/symbol.h>' and `<grub/multiboot.h>'.
15910 (grub_multiboot2_real_boot): New function prototype.
15911
15912 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
15913 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
15914
15915 * kern/i386/ieee1275/init.c (grub_os_area_addr)
15916 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
15917
305338fd 159182008-01-23 Robert Millan <rmh@aybabtu.com>
15919
15920 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
15921 #ifdef'ed out grub_printf().
15922
3ea52685 159232008-01-23 Robert Millan <rmh@aybabtu.com>
15924
15925 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
15926 grub_dprintf calls, since they make "debug=all" mode unusable.
15927 (grub_console_checkkey): Likewise.
15928
5882ae4b 159292008-01-23 Robert Millan <rmh@aybabtu.com>
15930
15931 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15932 `term/i386/pc/at_keyboard.c'.
15933 (pkglib_MODULES): Add `serial.mod'.
15934 (serial_mod_SOURCES): New variable.
15935 (serial_mod_CFLAGS): Likewise.
15936 (serial_mod_LDFLAGS): Likewise.
15937
15938 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
15939 `<grub/powerpc/ieee1275/console.h>'.
15940 (grub_keyboard_controller_init): New function prototype.
15941 (grub_console_checkkey): Likewise.
15942 (grub_console_getkey): Likewise.
15943
15944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
15945 keyboard on i386.
15946
15947 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
15948 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
15949
06ab5303 159502008-01-23 Robert Millan <rmh@aybabtu.com>
15951
15952 * kern/i386/pc/init.c (make_install_device): When memdisk image is
15953 present, "(memdisk)/boot/grub" becomes the default prefix.
15954
15955 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
15956 a memdisk tarball with all the modules. Add --overlay=DIR option that
15957 allows users to overlay additional files into the image.
15958
dbb475a4 159592008-01-23 Robert Millan <rmh@aybabtu.com>
15960
15961 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
15962 and `machine/memory.h'.
15963 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
15964 (_multiboot_mod_SOURCES): New variable.
15965 (_multiboot_mod_CFLAGS): Likewise.
15966 (_multiboot_mod_LDFLAGS): Likewise.
15967 (multiboot_mod_SOURCES): Likewise.
15968 (multiboot_mod_CFLAGS): Likewise.
15969 (multiboot_mod_LDFLAGS): Likewise.
15970
15971 * include/grub/i386/ieee1275/loader.h: New file.
15972
15973 * include/grub/i386/ieee1275/machine.h: Likewise.
15974
15975 * include/grub/i386/ieee1275/memory.h: Likewise.
15976
15977 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
15978 variable declaration.
15979 (grub_os_area_size): Likewise.
15980
15981 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
15982 (grub_lower_mem, grub_upper_mem): New variables.
15983 (grub_stop_floppy): New function (just to make
15984 grub_multiboot2_real_boot() happy).
15985
15986 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
15987 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
15988 (grub_stop): New function.
15989 Include `"../realmode.S"' and `"../loader.S"'.
15990
15991 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
15992 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
15993
15994 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
15995 rely on grub_multiboot2_real_boot() for final boot.
15996
25638629 159972008-01-22 Robert Millan <rmh@aybabtu.com>
15998
15999 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16000 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16001 device that doesn't look like an SD card.
16002 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16003 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16004 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16005 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16006 found.
16007
9dad816d 160082008-01-22 Robert Millan <rmh@aybabtu.com>
16009
16010 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16011 avoid claiming over our own code.
16012
34842f2d 160132008-01-22 Bean <bean123ch@gmail.com>
16014
16015 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16016 (jpeg_mod_SOURCES): New variable.
16017 (jpeg_mod_CFLAGS): Likewise.
16018 (jpeg_mod_LDFLAGS): Likewise.
16019
16020 * video/readers/jpeg.c : New file.
16021
44023a28 160222008-01-22 Bean <bean123ch@gmail.com>
16023
16024 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16025 there are no more items.
16026
bc2d8ac6 160272008-01-21 Robert Millan <rmh@aybabtu.com>
16028
16029 * kern/mm.c (grub_mm_init_region): Improve debug message.
16030
261bd4bc 160312008-01-21 Robert Millan <rmh@aybabtu.com>
16032
16033 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16034 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16035 address.
16036 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16037 a C macro.
16038 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16039 Indicates start of upper memory.
16040 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16041 (generate_image): Abort when image size is big enough to corrupt
16042 upper memory.
16043
16044 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16045 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16046 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16047 instead of hardcoding 0xA0000.
16048 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16049 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16050 instead of hardcoding 0xA0000.
16051
f970b55e 160522008-01-21 Robert Millan <rmh@aybabtu.com>
16053
16054 * disk/memdisk.c (memdisk_size): New variable.
16055 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16056 `memdisk_size'.
16057 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16058 image to dynamic memory.
16059 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16060 `memdisk_size'. Free memdisk block.
16061
1a8b0526 160622008-01-21 Robert Millan <rmh@aybabtu.com>
16063
16064 Fix detection of very small filesystems (like tar).
16065
16066 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16067 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16068 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16069 a problem with this disk).
16070
6e9b4aab 160712008-01-21 Robert Millan <rmh@aybabtu.com>
16072
16073 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16074 on grub_biosdisk_rw_standard() error.
16075
0d8837b2 160762008-01-21 Robert Millan <rmh@aybabtu.com>
16077
16078 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16079 recent changes.
16080 * kern/elf.c: Likewise.
16081 * kern/ieee1275/ieee1275.c: Likewise.
16082 * kern/powerpc/ieee1275/openfw.c: Likewise.
16083 * term/ieee1275/ofconsole.c: Likewise.
16084
ffd36e34 160852008-01-21 Robert Millan <rmh@aybabtu.com>
16086
16087 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16088
3f0093d0 16089 * include/grub/kernel.h (grub_arch_memdisk_addr)
16090 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16091
3f0093d0 16092 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16093 (grub_arch_memdisk_size): ... to here.
ffd36e34 16094
6c391b21 160952008-01-21 Robert Millan <rmh@aybabtu.com>
16096
16097 Mostly based on bugfix from Bean.
16098
16099 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16100 attribute with hook() parameter.
16101 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16102 declaration.
16103 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16104 attribute with hook() parameter.
16105 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16106 declaration.
16107
55a581dc 161082008-01-21 Robert Millan <rmh@aybabtu.com>
16109
16110 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16111 (pkglib_MODULES): Add `memdisk.mod'.
16112 (memdisk_mod_SOURCES): New variable.
16113 (memdisk_mod_CFLAGS): Likewise.
16114 (memdisk_mod_LDFLAGS): Likewise.
16115
16116 * disk/memdisk.c: New file.
16117
16118 * include/grub/disk.h (grub_disk_dev_id): Add
16119 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16120
16121 * include/grub/i386/pc/kernel.h
16122 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16123 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16124 (grub_kernel_image_size): New variable declaration.
16125 (grub_total_module_size): Likewise.
16126 (grub_memdisk_image_size): Likewise.
16127
16128 * include/grub/i386/pc/memory.h
16129 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16130
16131 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16132 (grub_arch_memdisk_addr): New variable declaration.
16133 (grub_arch_memdisk_size): Likewise.
16134
16135 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16136 (grub_arch_memdisk_size): Likewise.
16137
16138 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16139 (codestart): Replace hardcoded `0x100000' with
16140 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16141
16142 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16143 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16144 not NULL, append the contents of the file it refers to, at the end of
16145 the compressed kernel image. Initialize `grub_memdisk_image_size'
16146 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16147 (options): Add "memdisk"|'m' option.
16148 (main): Parse --memdisk|-m option, and pass user-provided path as
16149 parameter to generate_image().
16150
3d7f54c9 161512008-01-20 Robert Millan <rmh@aybabtu.com>
16152
16153 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16154 grub_dprintf() calls from here ...
16155 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16156
0bf74728 161572008-01-20 Robert Millan <rmh@aybabtu.com>
16158
16159 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16160
16161 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16162 declaration.
16163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16164 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16165 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 16166 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 16167 property).
16168 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16169 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16170
33bf70a7 161712008-01-19 Robert Millan <rmh@aybabtu.com>
16172
fe6b695a 16173 Get rid of confusing function (superseded by
33bf70a7 16174 `grub_ieee1275_get_integer_property')
16175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
16176 prototype.
16177 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
16178 function.
16179 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
16180 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 16181 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 16182
e2da7d26 161832008-01-19 Robert Millan <rmh@aybabtu.com>
16184
16185 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
16186 command after "shut-down", since implementations differ on which
16187 the command for halt is.
16188
59f1fd8d 161892008-01-19 Robert Millan <rmh@aybabtu.com>
16190
16191 * include/grub/i386/linuxbios/console.h: Add header protection.
16192 (grub_keyboard_controller_init): New function prototype.
16193 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16194 (KEYBOARD_COMMAND_READ): Likewise.
16195 (KEYBOARD_COMMAND_WRITE): Likewise.
16196 (KEYBOARD_SCANCODE_SET1): Likewise.
16197 (grub_keyboard_controller_write): New function.
16198 (grub_keyboard_controller_read): Likewise.
16199 (grub_keyboard_controller_init): Likewise.
16200
16201 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
16202 (grub_console_init): On coreboot/LinuxBIOS, call
16203 grub_keyboard_controller_init().
16204
5f5a7c15 162052008-01-19 Robert Millan <rmh@aybabtu.com>
16206
16207 PowerPC changes provided by Pavel Roskin.
16208
16209 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
16210 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
16211 don't rely on cmain() doing it.
16212 * kern/i386/ieee1275/startup.S (_start): Store %eax in
16213 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
16214
1210e168 162152008-01-16 Robert Millan <rmh@aybabtu.com>
16216
16217 * include/grub/i386/linuxbios/memory.h
16218 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
16219 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
16220 receive `table_header' as argument. Instead, probe for it in the
16221 known memory ranges where it can be present.
16222 (grub_available_iterate): Do not pass a fixed `table_header' address
16223 to grub_linuxbios_table_iterate().
16224
3d04eab8 162252008-01-15 Robert Millan <rmh@aybabtu.com>
16226
16227 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
16228 * conf/i386-ieee1275.rmk: New file.
16229 * include/grub/i386/ieee1275/console.h: Likewise.
16230 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
16231 * include/grub/i386/ieee1275/kernel.h: Likewise.
16232 * include/grub/i386/ieee1275/time.h: Likewise.
16233 * kern/i386/ieee1275/init.c: Likewise.
16234 * kern/i386/ieee1275/startup.S: Likewise.
16235
d1bc1b73 162362008-01-15 Robert Millan <rmh@aybabtu.com>
16237
16238 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
16239 when pointers are 32-bit (but still do set it to one when they are
16240 64-bit).
16241
66a65807 162422008-01-15 Robert Millan <rmh@aybabtu.com>
16243
16244 * include/grub/ieee1275/ieee1275.h
16245 (grub_ieee1275_get_integer_property): New function prototype.
16246
16247 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
16248 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 16249 grub_ieee1275_get_property() to handle endianness.
66a65807 16250
16251 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
16252 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 16253 where appropriate.
66a65807 16254 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
16255 (grub_map): Likewise.
16256 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
16257
a83ccafd 162582008-01-15 Bean <bean123ch@gmail.com>
16259
16260 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
16261 (grub_script_execute_cmdline): Reset grub_errno.
16262
16263 * normal/main.c (read_config_file): Reset grub_errno.
16264
16265 * normal/parse.y (script_init): New.
16266 (script): Move function and menuentry here.
16267 (delimiter): New.
16268 (command): Add delimiter at the end of command.
16269 (commands): Adjust to match the new command.
16270 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 16271 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 16272 (if): Use the new commands.
16273
16274 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
16275
df6ecfc6 162762008-01-15 Robert Millan <rmh@aybabtu.com>
16277
16278 * normal/menu.c (run_menu): Move timeout message from here ...
16279 (print_timeout): ... to here.
16280 (run_menu): Use print_timeout() once during initial draw to print
16281 the whole message, and again in every clock tick to update only
16282 the number of seconds.
16283
87ae25eb 162842008-01-15 Robert Millan <rmh@aybabtu.com>
16285
16286 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
16287 actual size of `available' from grub_ieee1275_get_property(), and
16288 restrict parsing to that bound.
16289
47bf09a4 162902008-01-15 Christian Franke <franke@computer.org>
16291
16292 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
16293 (argp_program_version): Remove variable.
16294 (argp_program_bug_address): Likewise.
16295 (options): Convert from struct argp_option to struct option.
16296 (struct arguments): Remove.
16297 (parse_opt): Remove.
16298 (usage): New function.
16299 (main): Replace struct args members by simple variables.
16300 Replace argp_parse() by getopt_long().
16301 Add switch to evaluate options.
16302 Add missing "(...)" around root_dev in prefix string.
16303
c86f1469 163042008-01-14 Robert Millan <rmh@aybabtu.com>
16305
16306 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
16307 for grub_ieee1275_exit(), in order to improve portability.
16308
e622c559 163092008-01-14 Robert Millan <rmh@aybabtu.com>
16310
16311 * util/grub.d/10_linux.in (prefix): Define.
16312 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
16313
44cb1ec8 163142008-01-13 Pavel Roskin <proski@gnu.org>
16315
16316 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
16317 grub_errno if no errors have been detected.
16318
1eb8c802 163192008-01-12 Robert Millan <rmh@aybabtu.com>
16320
16321 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
16322 (grub_util_get_dev_abstraction): New function prototype.
16323
16324 * util/getroot.c: Include `<grub/util/getroot.h>'
16325 (grub_util_get_grub_dev): Move detection of abstraction type to ...
16326 (grub_util_get_dev_abstraction): ... here (new function).
16327
16328 * util/grub-probe.c: Convert PRINT_* to an enum. Add
16329 `PRINT_ABSTRACTION'.
16330 (probe): Probe for abstraction type when requested.
16331 (main): Understand `--target=abstraction'.
16332
16333 * util/i386/efi/grub-install.in: Add abstraction module to core
16334 image when it is found to be necessary.
16335 * util/i386/pc/grub-install.in: Likewise.
16336 * util/powerpc/ieee1275/grub-install.in: Likewise.
16337
16338 * util/update-grub_lib.in (font_path): Return system path without
16339 converting to GRUB path.
16340 * util/update-grub.in: Convert system path returned by font_path()
16341 to a GRUB path. Use `grub-probe -t abstraction' to determine what
16342 abstraction module is needed for loading fonts (if any). Export
16343 that as `GRUB_PRELOAD_MODULES'.
16344 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
16345 insmod commands).
16346
52bd3de9 163472008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
16348
16349 Remove some unused code from reiserfs.
f19dbdb7 16350
52bd3de9 16351 * fs/reiserfs.c (struct grub_reiserfs_key)
16352 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
16353 (struct grub_reiserfs_node_body): Removed.
16354 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16355 Likewise.
16356 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16357 Likewise.
16358 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16359 Likewise.
16360 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16361 Likewise.
16362 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16363 Likewise.
16364 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
16365 Likewise.
16366 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16367 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16368 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16369
2f80039d 163702008-01-10 Robert Millan <rmh@aybabtu.com>
16371
16372 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
16373 Determines if a file is garbage left by packaging systems, etc.
16374 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
16375 for processing /etc/grub.d scripts.
16376 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
16377 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
16378 as a condition for processing Linux images.
16379
87888032 163802008-01-10 Pavel Roskin <proski@gnu.org>
16381
16382 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
16383 to compile reiserfs.c on PowerPC.
16384
7e54fced 163852008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 16386
16387 * kern/device.c (grub_device_iterate): Do not abort device iteration
16388 when one of the devices cannot be opened.
16389 * kern/disk.c (grub_disk_open): Do not account previous failures of
16390 unrelated functions when grub_errno is checked for.
16391
5aa541e6 163922008-01-08 Robert Millan <rmh@aybabtu.com>
16393
16394 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
16395 `! grub_linux_is_bzimage', change order of address comparison to make
16396 it more intuitive, and improve "too big zImage" error message.
16397
7076340d 163982008-01-08 Robert Millan <rmh@aybabtu.com>
16399
16400 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
16401 `$(update-grub_DATA)'.
16402 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
16403 targets.
16404
9ca70333 164052008-01-07 Robert Millan <rmh@aybabtu.com>
16406
16407 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
16408 which instruction is modified by grub-setup during installation
16409 (since it wasn't obvious by only looking at this file).
16410
38ccf575 164112008-01-07 Robert Millan <rmh@aybabtu.com>
16412
16413 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
16414 listing actual TODO items.
16415
f5db4291 164162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16417
868967cf 16418 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
16419 correctly.
16420 (grub_reiserfs_get_key_offset): Likewise.
16421 (grub_reiserfs_set_key_offset): Likewise.
16422 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 16423 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 16424
16425 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
16426 better to remove the bitfield version completely.
f19dbdb7 16427
868967cf 164282008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16429
f5db4291 16430 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
16431 allocated from the heap, due to the fshelp implementation.
16432 (grub_reiserfs_dir): Free NODE, due to the same reason.
16433
492e6d9d 164342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16435
16436 Mostly from Vincent Pelletier:
f19dbdb7 16437
492e6d9d 16438 * fs/reiserfs.c: New file.
f19dbdb7 16439
492e6d9d 16440 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
16441 (reiserfs_mod_SOURCES): New variable.
16442 (reiserfs_mod_CFLAGS): Likewise.
16443 (reiserfs_mod_LDFLAGS): Likewise.
16444
16445 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
16446 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
16447 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
16448 normal/color.c.
16449
9ce3e7c1 164502008-01-06 Robert Millan <rmh@aybabtu.com>
16451
16452 * normal/color.c: Remove `<grub/env.h>'.
16453
f3b58148 164542008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
16455
16456 * include/grub/normal.h: Include <grub/env.h>.
16457
7ac3bcfa 164582008-01-05 Robert Millan <rmh@aybabtu.com>
16459
16460 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
16461 usage example with `(hd0,1)'.
fb358190 16462 Reported by Samuel Thibault.
7ac3bcfa 16463
c8ee99d7 164642008-01-05 Robert Millan <rmh@aybabtu.com>
16465
16466 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16467 (grub_linux_boot_zimage): Rename to ...
16468 (grub_linux_boot): ... this.
16469 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16470 (grub_linux_boot_zimage): Conditionalize zImage copy.
16471
16472 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16473 (grub_linux_boot_bzimage): Remove prototype.
16474 (grub_linux_boot_zimage): Rename to ...
16475 (grub_linux_boot): ... this.
16476
16477 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16478 (grub_linux_boot): Remove function.
16479
0ece25b1 164802008-01-05 Robert Millan <rmh@aybabtu.com>
16481
16482 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16483 (grub_env_write_color_highlight): Likewise.
16484 (grub_wait_after_message): Likewise.
16485
16486 * normal/color.c: New file.
16487
16488 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16489 (normal_mod_DEPENDENCIES): Likewise.
16490
16491 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16492 (normal_mod_DEPENDENCIES): Likewise.
16493
16494 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16495 (normal_mod_DEPENDENCIES): Likewise.
16496
16497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16498 (normal_mod_DEPENDENCIES): Likewise.
16499
16500 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16501 for waiting after a message is printed.
16502 * normal/main.c (read_config_file): Likewise.
16503 (grub_normal_init): Register grub_env_write_color_normal() and
16504 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16505 `color_highlight' variables as global.
16506
16507 * normal/menu.c (grub_wait_after_message): New function.
16508 (grub_color_menu_normal): New variable. Replaces ...
16509 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16510 (grub_color_menu_highlight): New variable. Replaces ...
16511 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16512 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16513 `GRUB_TERM_COLOR_STANDARD'.
16514 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16515 `normal_code' and `highlight_code' to `old_color_normal' and
16516 `old_color_highlight', respectively.
16517 (grub_menu_init_page): Update colors when drawing the menu, based on
16518 `menu_color_normal' and `menu_color_highlight' variables.
16519 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16520 a message is printed.
16521
182dd4e5 165222008-01-05 Robert Millan <rmh@aybabtu.com>
16523
16524 * kern/env.c (grub_env_context_open): Propagate hooks for global
16525 variables to new context.
16526
16527 * kern/main.c (grub_set_root_dev): Export `root' variable.
16528
ddf8f6ad 165292008-01-05 Robert Millan <rmh@aybabtu.com>
16530
16531 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16532 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16533 them.
16534
d8b43d9b 165352008-01-05 Robert Millan <rmh@aybabtu.com>
16536
16537 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16538
2bff2de3 165392008-01-04 Christian Franke <franke@computer.org>
16540
16541 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16542 of eisa_mmap.
16543
97eab917 165442008-01-03 Pavel Roskin <proski@gnu.org>
16545
16546 * kern/i386/linuxbios/init.c: Put "void" to all function
16547 declarations with no arguments.
16548 * kern/powerpc/ieee1275/init.c: Likewise.
16549 * term/i386/pc/at_keyboard.c: Likewise.
16550 * term/i386/pc/vga_text.c: Likewise.
16551 * util/grub-mkdevicemap.c: Likewise.
16552
b9416d00 165532008-01-02 Robert Millan <rmh@aybabtu.com>
16554
16555 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16556 message when loaded image is out of bounds.
16557 (grub_multiboot_load_elf64): Likewise.
16558
92695df9 165592008-01-02 Pavel Roskin <proski@gnu.org>
16560
16561 * util/grub.d/10_linux.in: Try version without ".old" when
16562 looking for initrd. It's better to use initrd from the newer
16563 kernel of the same version than no initrd at all.
16564
d98d9cad 165652008-01-01 Robert Millan <rmh@aybabtu.com>
16566
16567 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16568
dbfdce36 165692008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16570
f19dbdb7 16571 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 16572 grub_video_get_active_render_target.
16573 (grub_video_adapter): Added unmap_color and get_active_render_target.
16574
f19dbdb7 16575 * video/video.c: Added grub_video_unmap_color and
dbfdce36 16576 grub_video_get_active_render_target.
16577 (grub_video_get_info): Changed method to accept NULL pointer as an
16578 argument to allow detection of active video adapter.
16579
16580 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16581 grub_video_vbe_unmap_color_int.
16582 Added grub_video_vbe_unmap_color and
16583 grub_video_vbe_get_active_render_target.
16584 (grub_video_vbe_adapter): Added unmap_color and
16585 get_active_render_target.
16586
f19dbdb7 16587 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 16588 with grub_video_vbe_unmap_color_int.
16589
16590 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16591 (DEFAULT_NORMAL_COLOR): Likewise.
16592 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16593 (DEFAULT_FG_COLOR): Removed.
16594 (DEFAULT_BG_COLOR): Likewise.
16595 (DEFAULT_CURSOR_COLOR): Changed value.
16596 (grub_virtual_screen): Added standard_color_setting,
16597 normal_color_setting, highlight_color_setting and term_color.
16598 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16599 (bitmap_width): Added.
16600 (bitmap_height): Likewise.
16601 (bitmap): Likewise.
16602 (set_term_color): Likewise.
16603 (grub_virtual_screen_setup): Changed to use new terminal coloring
16604 settings.
16605 (grub_gfxterm_init): Added init for bitmap.
16606 (grub_gfxterm_fini): Added destroy for bitmap.
16607 (redraw_screen_rect): Updated to use background bitmap and new
16608 terminal coloring.
16609 (scroll_up): Added optimization for case when there is no bitmap.
16610 (grub_gfxterm_cls): Fixed to use correct background color.
16611 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16612 coloring.
16613 (grub_virtual_screen_setcolor): Likewise.
16614 (grub_virtual_screen_getcolor): Added.
16615 (grub_gfxterm_background_image_cmd): Likewise.
16616 (grub_video_term): Added setcolor and getcolor.
16617 (MOD_INIT): Added registration of background_image command.
16618 (MOD_TERM): Added unregistration for background_image command.
16619
c3c20931 166202007-12-30 Pavel Roskin <proski@gnu.org>
16621
16622 * loader/multiboot_loader.c: Fix multiboot command
16623 unregistration. Fix all typos in the word "multiboot".
16624
df266716 166252007-12-29 Pavel Roskin <proski@gnu.org>
94239199 16626
16627 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16628 support for initrd names used in Fedora.
16629
fc6e896c 166302007-12-26 Bean <bean123ch@gmail.com>
16631
16632 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16633 (cpio_mod_SOURCES): New variable.
16634 (cpio_mod_CFLAGS): Likewise.
16635 (cpio_mod_LDFLAGS): Likewise.
16636
16637 * fs/cpio.c: New file.
16638
16639 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
16640
16641 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16642
16643 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16644
16645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16646
533110ad 166472007-12-25 Robert Millan <rmh@aybabtu.com>
16648
16649 * include/grub/term.h (struct grub_term): Add `getcolor' function.
16650 (grub_getcolor): New function.
16651
16652 * kern/term.c (grub_getcolor): New function.
16653 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
16654 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16655 (print_entry): Set normal and highlight colors to
16656 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16657 respectively, before printing and restore them to old
16658 values afterwards.
16659 (grub_menu_init_page): Likewise. Fill an additional colored space
16660 that would otherwise be left blank.
16661
16662 * term/efi/console.c (grub_console_getcolor): New function.
16663 (struct grub_console_term.getcolor): New variable.
16664 * term/i386/pc/console.c (grub_console_getcolor): New function.
16665 (struct grub_console_term.getcolor): New variable.
16666 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16667 (struct grub_console_term.getcolor): New variable.
16668
16669 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16670 (struct grub_console_term.setcolor): Remove variable.
16671 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16672 (struct grub_console_term.setcolor): Remove variable.
16673 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16674 (struct grub_console_term.setcolor): Remove variable.
16675 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16676 (struct grub_console_term.setcolor): Remove variable.
16677
4931827f 166782007-12-25 Robert Millan <rmh@aybabtu.com>
16679
16680 * configure.ac: Search for possible unifont.hex locations, and
16681 define UNIFONT_HEX if found.
16682
16683 * Makefile.in (UNIFONT_HEX): Define variable.
16684 (DATA): Rename to ...
16685 (PKGLIB): ... this. Update all users.
16686 (PKGDATA): New variable.
16687 (pkgdata_IMAGES): Rename to ...
16688 (pkglib_IMAGES): ... this. Update all users.
16689 (pkgdata_MODULES): Rename to ...
16690 (pkglib_MODULES): ... this. Update all users.
16691 (pkgdata_PROGRAMS): Rename to ...
16692 (pkglib_PROGRAMS): ... this. Update all users.
16693 (pkgdata_DATA): Rename to ...
16694 (pkglib_DATA): ... this. Update all users.
16695 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16696 (unicode.pff, ascii.pff): New rules.
16697 (all-local): Add `$(PKGDATA)' dependency.
16698 (install-local): Process `$(PKGDATA)'.
16699
16700 * util/update-grub_lib.in (font_path): Search for *.pff files in
16701 a few more locations, including `${pkgdata}'.
16702
57e57e31 167032007-12-23 Robert Millan <rmh@aybabtu.com>
16704
16705 Patch from Bean <bean123ch@gmail.com>:
16706 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16707 `size'.
16708
4bc72aa9 167092007-12-21 Bean <bean123ch@gmail.com>
16710
16711 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16712 (ntfscomp_mod_SOURCES): New variable.
16713 (ntfscomp_mod_CFLAGS): Likewise.
16714 (ntfscomp_mod_LDFLAGS): Likewise.
16715
16716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
16717 (grub_probe_SOURCES): Likewise.
16718 (grub_emu_SOURCES): Likewise.
16719
16720 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16721 (grub_emu_SOURCES): Likewise.
16722
16723 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16724 (grub_emu_SOURCES): Likewise.
16725
16726 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16727 (grub_emu_SOURCES): Likewise.
16728
16729 * fs/ntfs.c (grub_ntfscomp_func): New variable.
16730 (read_run_list): Renamed to grub_ntfs_read_run_list.
16731 (decomp_nextvcn): Moved to ntfscomp.c.
16732 (decomp_getch): Likewise.
16733 (decomp_get16): Likewise.
16734 (decomp_block): Likewise.
16735 (read_block): Likewise.
16736 (read_data): Partially moved to ntfscomp.c.
16737 (fixup): Change unsigned to grub_uint16_t.
16738 (read_mft): Change unsigned long to grub_uint32_t.
16739 (read_attr): Likewise.
16740 (read_data): Likewise.
16741 (read_run_data): Likewise.
16742 (read_run_list): Likewise.
16743 (read_mft): Likewise.
16744
16745 * fs/ntfscomp.c: New file.
16746
16747 * include/grub/ntfs.h: New file.
16748
af680a87 167492007-12-16 Robert Millan <rmh@aybabtu.com>
16750
16751 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
16752 IDE disk check, since Linux is known to support 20 IDE disks.
16753 Reported by Colin Watson.
16754
84be7599 167552007-12-15 Bean <bean123ch@gmail.com>
16756
16757 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
16758 (lnxboot_img_SOURCES): New variable.
16759 (lnxboot_img_ASFLAGS): Likewise.
16760 (lnxboot_img_LDFLAGS): Likewise.
16761
16762 * boot/i386/pc/lnxboot.S: New file.
16763
6af9db01 167642007-11-24 Pavel Roskin <proski@gnu.org>
16765
16766 * configure.ac: Test if '--build-id=none' is supported by the
16767 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
16768 objcopy to generate incorrect binary files (binutils
16769 2.17.50.0.18-1 as shipped by Fedora 8).
16770 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
16771 linking, so that build ID doesn't break the test.
16772
7361cfe6 167732007-11-24 Pavel Roskin <proski@gnu.org>
16774
16775 * include/grub/i386/time.h: use "void" in the argument list
16776 of grub_cpu_idle().
16777 * include/grub/powerpc/time.h: Likewise.
16778 * include/grub/sparc64/time.h: Likewise.
16779
1593e10c 167802007-11-18 Christian Franke <franke@computer.org>
16781
16782 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
16783 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
16784 This fixes the problem that function keys did not work in grub-emu.
16785
3b8db1a8 167862007-11-18 Christian Franke <franke@computer.org>
16787
16788 * disk/host.c (grub_host_open): Remove attribute unused from
16789 name parameter. Add check for "host". This fixes the problem
16790 that grub-emu does not find partitions.
16791
2e29408d 167922007-11-18 Christian Franke <franke@computer.org>
16793
16794 * util/hostfs.c (is_dir): New function.
16795 (grub_hostfs_dir): Handle missing dirent.d_type case.
16796 (grub_hostfs_read): Add missing fseek().
16797 (grub_hostfs_label): Clear label pointer. This fixes a crash
16798 of grub-emu on "ls (host)".
16799
398cd047 168002007-11-18 Christian Franke <franke@computer.org>
16801
16802 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
16803 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
16804 to 64 bit boundary by default.
16805
c405c391 168062007-11-18 Bean <bean123ch@gmail.com>
16807
16808 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
16809 (hexdump_mod_SOURCES): New variable.
16810 (hexdump_mod_CFLAGS): Likewise.
16811 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 16812
c405c391 16813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16814
16815 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16816
16817 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16818
16819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16820
16821 * include/grub/hexdump.h: New file.
16822
16823 * commands/hexdump.c: New file.
16824
5cced7fd 168252007-11-10 Robert Millan <rmh@aybabtu.com>
16826
16827 * commands/i386/pc/play.c (beep_off): Switch order of arguments
16828 in grub_outb() calls.
16829 (beep_on): Likewise.
16830
8b714eb0 168312007-11-10 Christian Franke <franke@computer.org>
16832
16833 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
16834 (grub_menu_run): Likewise.
16835
ce0f1839 168362007-11-10 Robert Millan <rmh@aybabtu.com>
16837
16838 * include/grub/i386/efi/machine.h: New file.
16839 * include/grub/i386/linuxbios/machine.h: Likewise.
16840 * include/grub/i386/pc/machine.h: Likewise.
16841 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16842 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16843
16844 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
16845 (serial_hw_io_addr): New variable.
16846 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
16847 instead of `(unsigned short *) 0x400'.
16848
270c237d 168492007-11-10 Bean <bean123ch@gmail.com>
16850
16851 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16852
a87783bf 168532007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16854
16855 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
16856 (vga_mod_SOURCES): Added.
16857 (vga_mod_CFLAGS): Likewise.
16858 (vga_mod_LDFLAGS): Likewise.
16859
16860 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
16861 grub_outb() calls.
16862 (set_map_mask): Likewise.
16863 (set_read_map): Likewise.
16864 (set_read_address): Likewise.
16865 (vga_font): Removed variable.
16866 (get_vga_glyph): Removed function.
16867 (invalidate_char): Likewise.
16868 (write_char): Changed to use grub_font_get_glyph() for font
16869 information.
16870 (grub_vga_putchar): Likewise.
16871 (grub_vga_getcharwidth): Likewise.
16872
6433b448 168732007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16874
16875 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
16876 flags.
16877 (pxeboot_img_LDFLAGS): Likewise.
16878 (diskboot_img_LDFLAGS): Likewise.
16879 (kernel_img_LDFLAGS): Likewise.
16880
49178511 168812007-11-06 Robert Millan <rmh@aybabtu.com>
16882
16883 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
16884 in grub_outb() calls.
16885 (serial_hw_init): Likewise.
16886
53b052de 168872007-11-05 Robert Millan <rmh@aybabtu.com>
16888
16889 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
16890 spaces. Skip non-regular files.
16891
5ab33bba 168922007-11-05 Robert Millan <rmh@aybabtu.com>
16893
16894 * kern/disk.c (grub_disk_firmware_fini)
16895 (grub_disk_firmware_is_tainted): New variables.
16896
16897 * include/grub/disk.h (grub_disk_firmware_fini)
16898 (grub_disk_firmware_is_tainted): Likewise.
16899
16900 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
16901 (grub_disk_biosdisk_fini): ... to here.
16902 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
16903 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
16904 is set. Register grub_disk_biosdisk_fini() in
16905 `grub_disk_firmware_fini'.
16906
16907 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
16908 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
16909 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
16910 to finish existing firmware disk interface.
16911
16912 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
16913 (ata_mod_SOURCES): New variable.
16914 (ata_mod_CFLAGS): Likewise.
16915 (ata_mod_LDFLAGS): Likewise.
16916
0149ab7c 169172007-11-05 Robert Millan <rmh@aybabtu.com>
16918
16919 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
16920 (grub_ata_wait): Reimplement using grub_millisleep().
16921
16922 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
16923 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
16924
be7ac41e 169252007-11-03 Marco Gerards <marco@gnu.org>
16926
16927 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
16928 (CRTC_ADDR_PORT): New macro.
16929 (CRTC_DATA_PORT): Likewise.
16930 (CRTC_CURSOR): Likewise.
16931 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16932 (CRTC_CURSOR_ADDR_LOW): Likewise.
16933 (update_cursor): New function.
16934 (grub_console_real_putchar): Call `update_cursor'.
16935 (grub_console_gotoxy): Likewise.
16936 (grub_console_cls): Set the default color when clearing the
16937 screen.
16938 (grub_console_setcursor): Implemented.
16939
bb06ab2e 169402007-11-03 Marco Gerards <marco@gnu.org>
16941
16942 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
16943 become activate.
16944 (grub_ata_pio_write): Likewise.
16945
16946 (grub_atapi_identify): Wait after issuing an ATA command.
16947 (grub_atapi_packet): Likewise.
16948 (grub_ata_identify): Likewise.
16949 (grub_ata_readwrite): Likewise.
16950
cf8f780b 169512007-11-03 Marco Gerards <marco@gnu.org>
16952
16953 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
16954 (grub_ata_pio_write): Likewise.
16955 (grub_ata_readwrite): Use `grub_error', instead of
16956 returning `grub_errno'.
16957
ed649e54 169582007-11-03 Marco Gerards <marco@gnu.org>
16959
16960 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
16961 grub_ata_pio_write once for every single sector, instead of for
16962 multiple sectors.
16963
ca25d8f0 169642007-10-31 Robert Millan <rmh@aybabtu.com>
16965
16966 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
16967
16968 * conf/i386-linuxbios.rmk: New file.
16969
16970 * kern/i386/pc/hardware.c: Likewise.
16971 * term/i386/pc/at_keyboard.c: Likewise.
16972 * term/i386/pc/vga_text.c: Likewise.
16973
16974 * include/grub/i386/linuxbios/boot.h: Likewise.
16975 * include/grub/i386/linuxbios/console.h: Likewise.
16976 * include/grub/i386/linuxbios/init.h: Likewise.
16977 * include/grub/i386/linuxbios/kernel.h: Likewise.
16978 * include/grub/i386/linuxbios/loader.h: Likewise.
16979 * include/grub/i386/linuxbios/memory.h: Likewise.
16980 * include/grub/i386/linuxbios/serial.h: Likewise.
16981 * include/grub/i386/linuxbios/time.h: Likewise.
16982
16983 * kern/i386/linuxbios/init.c: Likewise.
16984 * kern/i386/linuxbios/startup.S: Likewise.
16985 * kern/i386/linuxbios/table.c: Likewise.
16986
e911ecc1 169872007-10-31 Marco Gerards <marco@gnu.org>
16988
16989 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
16990 (ata_mod_SOURCES): New variable.
16991 (ata_mod_CFLAGS): Likewise.
16992 (ata_mod_LDFLAGS): Likewise.
16993
16994 * disk/ata.c: New file.
16995
16996 * include/grub/disk.h (grub_disk_dev_id): Add
16997 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 16998
7f66d0e0 169992007-10-31 Robert Millan <rmh@aybabtu.com>
17000
17001 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17002 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17003
17004 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17005 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17006
17007 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17008 `<grub/types.h>'.
17009
17010 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17011
5cd7dd46 170122007-10-27 Robert Millan <rmh@aybabtu.com>
17013
3236ca65 17014 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17015
2ebfc90f 170162007-10-22 Robert Millan <rmh@aybabtu.com>
17017
17018 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17019 `"../realmode.S"'.
17020 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17021
73fcb0f3 170222007-10-22 Robert Millan <rmh@aybabtu.com>
17023
17024 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17025 (pkgdata_MODULES): Add `biosdisk.mod'.
17026 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17027 variables.
17028
17029 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17030 (grub_biosdisk_init): Replace with ...
17031 (GRUB_MOD_INIT(biosdisk)): ... this.
17032 (grub_biosdisk_fini): Replace with ...
17033 (GRUB_MOD_FINI(biosdisk)): ... this.
17034
17035 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17036 (grub_machine_init): Remove call to grub_biosdisk_init().
17037 (grub_machine_fini): Remove call to grub_machine_fini().
17038
17039 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17040
3381d274 170412007-10-22 Robert Millan <rmh@aybabtu.com>
17042
17043 * include/grub/time.h: New file.
17044 * include/grub/i386/time.h: Likewise.
17045 * include/grub/powerpc/time.h: Likewise.
17046 * include/grub/sparc64/time.h: Likewise.
17047
17048 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17049 instances to ...
17050 (KERNEL_MACHINE_TIME_HEADER): ... this.
17051 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17052 instances to ...
17053 (KERNEL_MACHINE_TIME_HEADER): ... this.
17054 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17055 instances to ...
17056 (KERNEL_MACHINE_TIME_HEADER): ... this.
17057
17058 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17059 (grub_millisleep): New function.
17060 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17061 (grub_millisleep): New function.
17062 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17063 Remove `grub/machine/time.h' include.
17064 (grub_millisleep): New function.
17065 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17066 Remove `grub/machine/time.h' include.
17067 (grub_millisleep): New function.
17068
17069 * include/grub/misc.h (grub_div_roundup): New function.
17070
17071 * kern/misc.c: Include `<grub/time.h>'.
17072 (grub_millisleep_generic): New function.
17073
17074 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17075 Add `time.h'.
17076 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17077 Add `time.h'.
17078 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17079 `machine/time.h'. Add `time.h'.
17080 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17081
a39a0312 170822007-10-21 Robert Millan <rmh@aybabtu.com>
17083
17084 * include/grub/misc.h (grub_max): New function.
17085
2aad70e2 170862007-10-21 Robert Millan <rmh@aybabtu.com>
17087
17088 * util/misc.c (grub_util_info): Call fflush() before returning.
17089
54b71c4b 170902007-10-20 Robert Millan <rmh@aybabtu.com>
17091
17092 * genmk.rb (Image): Copy `extra_flags' from here ...
17093 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17094
17095 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17096 to `argc' and `args' arguments.
17097
a979f513 170982007-10-17 Robert Millan <rmh@aybabtu.com>
17099
17100 * kern/i386/loader.S: New file.
17101
17102 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17103 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17104 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17105 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17106 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17107 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17108 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17109 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17110 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17111 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17112 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17113 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17114 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17115 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17116
17117 * kern/i386/realmode.S: New file.
17118
17119 * kern/i386/pc/startup.S (protstack): Moved from here ...
17120 * kern/i386/realmode.S (protstack)... to here.
17121 * kern/i386/pc/startup.S (gdt): Moved from here ...
17122 * kern/i386/realmode.S (gdt)... to here.
17123 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17124 * kern/i386/realmode.S (prot_to_real)... to here.
17125
17126 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17127 `kern/i386/realmode.S'.
17128
825fc8fd 171292007-10-17 Robert Millan <rmh@aybabtu.com>
17130
17131 * include/grub/i386/loader.h: New file.
17132
17133 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17134 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17135 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17136 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17137 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17138 * include/grub/i386/loader.h (grub_linux_prot_size)
17139 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17140 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17141 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17142 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17143
17144 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17145
e179b2f4 171462007-10-15 Robert Millan <rmh@aybabtu.com>
17147
17148 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17149 filesystem when dev->disk is unset.
17150 Do probe for filesystem even when dev->disk->has_partitions is set.
17151 In case a filesystem is found, always report it.
17152 In case it isn't, if dev->disk->has_partitions is set, report that
17153 a partition table was found instead of reporting that no filesystem
17154 could be identified.
17155
5db82af6 171562007-10-12 Robert Millan <rmh@aybabtu.com>
17157
17158 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17159 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17160
68f6ac74 17161 * include/grub/types.h (grub_host_to_target16): New macro.
17162 (grub_host_to_target32): Likewise.
17163 (grub_host_to_target64): Likewise.
17164 (grub_target_to_host16): Likewise.
17165 (grub_target_to_host32): Likewise.
17166 (grub_target_to_host64): Likewise.
5db82af6 17167
17168 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17169 Renamed from to ...
17170 (GRUB_MOD_ALIGN): ...this. Update all users.
17171
68f6ac74 17172 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17173 grub_host_to_target32.
17174 Replace grub_be_to_cpu32 with grub_target_to_host32.
17175 (load_modules): Likewise.
17176 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
17177 Replace grub_be_to_cpu32 with grub_target_to_host32.
17178 Replace grub_cpu_to_be16 with grub_host_to_target16.
17179 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 17180
3cf497cc 171812007-10-12 Robert Millan <rmh@aybabtu.com>
17182
17183 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
17184 * util/elf/grub-mkimage.c: ... here.
17185
17186 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
17187 `util/powerpc/ieee1275/grub-mkimage.c'.
17188
c8cc3692 171892007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 17190
c8cc3692 17191 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
17192 and make it easier to figure out.
17193 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17194 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17195 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
17196 leave us with less than HEAP_MIN_SIZE total heap.
17197 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 17198
5c58b791 171992007-10-03 Robert Millan <rmh@aybabtu.com>
17200
17201 * include/grub/i386/io.h: New file.
17202 * commands/i386/pc/play.c (inb): Removed.
17203 (outb): Removed.
17204 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17205 with grub_outb().
afcd2ef8 17206 * term/i386/pc/serial.c (inb): Removed.
17207 (outb): Removed.
17208 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17209 with grub_outb().
17210 * term/i386/pc/vga.c (inb): Removed.
17211 (outb): Removed.
17212 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17213 with grub_outb().
5c58b791 17214
1a477ed6 172152007-10-02 Robert Millan <rmh@aybabtu.com>
17216
17217 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
17218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17219 Reported by Marcin Kurek.
17220
6b5d80fa 172212007-09-07 Robert Millan <rmh@aybabtu.com>
17222
17223 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
17224 SmartFirmware version updates (as released by Sven Luther), and avoid
17225 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
17226 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
17227 known broken.
17228
5618afbf 172292007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17230
17231 From Hitoshi Ozeki:
17232 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
17233 when merging two regions.
17234
6139dcd9 172352007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17236
508e39ee 17237 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
17238 * normal/completion.c (grub_normal_do_completion): Likewise.
17239 Reported by Hitoshi Ozeki.
17240
172412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17242
6139dcd9 17243 Do not use devices at boot in chainloading.
f19dbdb7 17244
6139dcd9 17245 * loader/i386/pc/chainloader.c (boot_drive): New variable.
17246 (boot_part_addr): Likewise.
17247 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
17248 with BOOT_DRIVE and BOOT_PART_ADDR.
17249 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
17250 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
17251
38da6516 172522007-08-29 Robert Millan <rmh@aybabtu.com>
17253
17254 Patch from Simon Peter <dn.tlp@gmx.net>:
17255 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
17256 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
17257 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
17258 util/i386/pc/grub-setup.c_DEPENDENCIES.
17259 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
17260 util/grub-probe.c_DEPENDENCIES.
17261 * conf/powerpc-ieee1275.rmk: Likewise.
17262
29d0928c 172632007-08-28 Robert Millan <rmh@aybabtu.com>
17264
17265 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
17266 to tell grub-mkdevicemap how to name devices.
17267 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
17268 feature).
17269
17270 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
17271 util/i386/get_disk_name.c.
17272 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
17273 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
17274 util/ieee1275/get_disk_name.c.
17275
17276 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
17277
17278 * DISTLIST: Add util/i386/get_disk_name.c and
17279 util/ieee1275/get_disk_name.c.
17280
17281 * util/grub-mkdevicemap.c: Replace device naming logic with
17282 grub_util_get_disk_name() calls.
17283
5a0d3cca 172842007-08-20 Robert Millan <rmh@aybabtu.com>
17285
17286 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
17287 (so that it works for both plural and singular quantities).
17288
8b72db2f 172892007-08-05 Robert Millan <rmh@aybabtu.com>
17290
17291 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
17292 so that [xz] isn't taken into account when determining order.
17293
352466bf 172942007-08-02 Marco Gerards <marco@gnu.org>
17295
17296 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
17297 `include/multiboot2.h', `include/grub/elfload.h',
17298 `include/multiboot.h', `include/grub/multiboot.h',
17299 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
17300 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
17301 `kern/elf.c', `loader/multiboot_loader.c',
17302 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
17303 `loader/i386/pc/multiboot2.c',
17304 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
17305 `util/i386/pc/grub-mkrescue.in'. Remove
17306 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
17307 `include/grub/i386/pc/util/biosdisk.h' and
17308 `include/grub/powerpc/ieee1275/multiboot.h'.
17309
8f096014 173102007-08-02 Bean <bean123ch@gmail.com>
17311
17312 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
17313 (ntfs_mod_SOURCES): New variable.
17314 (ntfs_mod_CFLAGS): Likewise.
17315 (ntfs_mod_LDFLAGS): Likewise.
17316
17317 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
17318 (grub_probe_SOURCES): Likewise.
17319 (grub_emu_SOURCES): Likewise.
17320
17321 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17322 (grub_emu_SOURCES): Likewise.
17323
17324 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17325 (grub_emu_SOURCES): Likewise.
f19dbdb7 17326
8f096014 17327 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
17328
17329 * fs/ntfs.c: New file.
17330
9959f7db 173312007-08-02 Bean <bean123ch@gmail.com>
17332
17333 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
17334
17335 * file.h (grub_file): Likewise.
17336
17337 * fshelp.h (grub_fshelp_read_file): Likewise.
17338
17339 * util/i386/pc/grub-setup.c (setup): Likewise.
17340 (save_first_sector): Likewise.
17341 (save_blocklists): Likewise.
f19dbdb7 17342
9959f7db 17343 * fs/affs.c (grub_affs_read_file): Likewise.
17344
17345 * fs/ext2.c (grub_ext2_read_file): Likewise.
17346
17347 * fs/fat.c (grub_fat_read_data): Likewise.
17348
17349 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
17350
17351 * fs/hfs.c (grub_hfs_read_file): Likewise.
17352
17353 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17354
17355 * fs/jfs.c (grub_jfs_read_file): Likewise.
17356
17357 * fs/minix.c (grub_minix_read_file): Likewise.
17358
17359 * fs/sfs.c (grub_sfs_read_file): Likewise.
17360
17361 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 17362
9959f7db 17363 * fs/xfs.c (grub_xfs_read_file): Likewise.
17364
17365 * command/blocklist.c (read_blocklist): Likewise.
17366 (print_blocklist): Likewise.
17367
0a203f83 173682007-08-02 Marco Gerards <marco@gnu.org>
17369
17370 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
17371 `util/hostfs.c'.
17372
17373 * disk/host.c: New file.
17374
17375 * util/hostfs.c: Likewise.
17376
17377 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
17378 return `GRUB_ERR_BAD_FS'.
17379 * fs/sfs.c (grub_sfs_mount): Likewise.
17380 * fs/xfs.c (grub_xfs_mount): Likewise.
17381
17382 * include/grub/disk.h (enum grub_disk_dev_id): Add
17383 `GRUB_DISK_DEVICE_HOST_ID'.
17384
17385 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
17386
e5dfe777 173872007-07-24 Jerone Young <jerone@gmail.com>
17388
f19dbdb7 17389 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 17390 modules for compilation.
17391 * conf/powerpc-ieee1275.rmk: Likewise.
17392
17393 * include/multiboot.h: Move multiboot definitions to one file. Rename
17394 many definitions to not get grub specific.
17395 * include/multiboot2.h: Create header with multiboot 2 definitions.
17396 * include/grub/multiboot.h: Header for grub specific function
17397 prototypes and definitions.
17398 * include/grub/multiboot2.h: Likewise.
17399 * include/grub/multiboot_loader.h: Likewise.
17400 * include/grub/i386/pc/multiboot.h: Removed.
17401 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
17402
17403 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
17404 and 2 to allow for one multiboot and module commands.
17405 * loader/multiboot2.c: Add multiboot2 functionality.
17406 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
17407 and definition names.
17408 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
17409 2 functions.
17410 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
17411 ieee1275 specific multiboot2 code.
17412
17413 * kern/i386/pc/startup.S: Change headers and definition names for
17414 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
17415
daf0f0ba 174162007-07-22 Robert Millan <rmh@aybabtu.com>
17417
17418 * geninitheader.sh: Process file specified in first parameter rather
17419 than hardcoding grub_modules_init.lst.
fe6b695a 17420 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 17421 than hardcoding grub_modules_init.h.
17422
17423 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
17424 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
17425 grub_probe_init.[ch] and grub_setup_init.[ch].
17426
17427 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
17428 grub_modules_init.h with grub_emu_init.h.
17429 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
17430 grub_probe_init.[ch] files.
17431 * conf/i386-efi.rmk: Likewise.
17432 * conf/i386-pc.rmk: Likewise.
17433 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
17434 grub_setup_init.[ch] files.
17435
17436 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
17437 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
17438 to initialize modules rather than a list of hardcoded functions.
17439 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
17440 grub_init_all() to initialize modules rather than a list of hardcoded
17441 functions.
17442
54cdc1cc 174432007-07-22 Robert Millan <rmh@aybabtu.com>
17444
17445 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17446 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
17447
ad0686cc 174482007-07-22 Robert Millan <rmh@aybabtu.com>
17449
17450 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17451 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
17452 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
17453 flag when running on SmartFirmware.
17454 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
17455 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
17456 was set.
17457
17458 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17459 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
17460 rather than decreasing it.
17461
17462 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
17463 there's not enough space to do it, fail in the same way as when it
17464 can't be done because there are no partitions.
17465
17466 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17467 when nvsetenv failed.
17468
969c02ec 174692007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17470
17471 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17472 because this rule is automatically generated.
17473 (grub-mkrescue): Removed for the same reason as above.
17474
5a79f472 174752007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17476
17477 Migrate to GNU General Public License Version 3.
f19dbdb7 17478
5a79f472 17479 * COPYING: Replaced with the plain text version of GPLv3.
17480
17481 * config.guess: Updated from gnulib.
17482 * config.sub: Likewise.
17483
17484 * geninit.sh: Output a GPLv3 copyright notice.
17485 * geninitheader.sh: Likewise.
17486 * genmodsrc.sh: Likewise.
17487 * gensymlist.sh.in: Likewise.
17488
17489 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17490 * boot/i386/pc/diskboot.S: Likewise.
17491 * boot/i386/pc/pxeboot.S: Likewise.
17492 * commands/blocklist.c: Likewise.
17493 * commands/boot.c: Likewise.
17494 * commands/cat.c: Likewise.
17495 * commands/cmp.c: Likewise.
17496 * commands/configfile.c: Likewise.
17497 * commands/echo.c: Likewise.
17498 * commands/help.c: Likewise.
17499 * commands/ls.c: Likewise.
17500 * commands/search.c: Likewise.
17501 * commands/terminal.c: Likewise.
17502 * commands/test.c: Likewise.
17503 * commands/videotest.c: Likewise.
17504 * commands/i386/cpuid.c: Likewise.
17505 * commands/i386/pc/halt.c: Likewise.
17506 * commands/i386/pc/play.c: Likewise.
17507 * commands/i386/pc/reboot.c: Likewise.
17508 * commands/i386/pc/vbeinfo.c: Likewise.
17509 * commands/i386/pc/vbetest.c: Likewise.
17510 * commands/ieee1275/halt.c: Likewise.
17511 * commands/ieee1275/reboot.c: Likewise.
17512 * commands/ieee1275/suspend.c: Likewise.
17513 * disk/loopback.c: Likewise.
17514 * disk/lvm.c: Likewise.
17515 * disk/raid.c: Likewise.
17516 * disk/efi/efidisk.c: Likewise.
17517 * disk/i386/pc/biosdisk.c: Likewise.
17518 * disk/ieee1275/ofdisk.c: Likewise.
17519 * font/manager.c: Likewise.
17520 * fs/affs.c: Likewise.
17521 * fs/ext2.c: Likewise.
17522 * fs/fat.c: Likewise.
17523 * fs/fshelp.c: Likewise.
17524 * fs/hfs.c: Likewise.
17525 * fs/hfsplus.c: Likewise.
17526 * fs/iso9660.c: Likewise.
17527 * fs/jfs.c: Likewise.
17528 * fs/minix.c: Likewise.
17529 * fs/sfs.c: Likewise.
17530 * fs/ufs.c: Likewise.
17531 * fs/xfs.c: Likewise.
17532 * hello/hello.c: Likewise.
17533 * include/grub/acorn_filecore.h: Likewise.
17534 * include/grub/arg.h: Likewise.
17535 * include/grub/bitmap.h: Likewise.
17536 * include/grub/boot.h: Likewise.
17537 * include/grub/cache.h: Likewise.
17538 * include/grub/device.h: Likewise.
17539 * include/grub/disk.h: Likewise.
17540 * include/grub/dl.h: Likewise.
17541 * include/grub/elfload.h: Likewise.
17542 * include/grub/env.h: Likewise.
17543 * include/grub/err.h: Likewise.
17544 * include/grub/file.h: Likewise.
17545 * include/grub/font.h: Likewise.
17546 * include/grub/fs.h: Likewise.
17547 * include/grub/fshelp.h: Likewise.
17548 * include/grub/gzio.h: Likewise.
17549 * include/grub/hfs.h: Likewise.
17550 * include/grub/kernel.h: Likewise.
17551 * include/grub/loader.h: Likewise.
17552 * include/grub/lvm.h: Likewise.
17553 * include/grub/misc.h: Likewise.
17554 * include/grub/mm.h: Likewise.
17555 * include/grub/net.h: Likewise.
17556 * include/grub/normal.h: Likewise.
17557 * include/grub/parser.h: Likewise.
17558 * include/grub/partition.h: Likewise.
17559 * include/grub/pc_partition.h: Likewise.
17560 * include/grub/raid.h: Likewise.
17561 * include/grub/rescue.h: Likewise.
17562 * include/grub/script.h: Likewise.
17563 * include/grub/setjmp.h: Likewise.
17564 * include/grub/symbol.h: Likewise.
17565 * include/grub/term.h: Likewise.
17566 * include/grub/terminfo.h: Likewise.
17567 * include/grub/tparm.h: Likewise.
17568 * include/grub/types.h: Likewise.
17569 * include/grub/video.h: Likewise.
17570 * include/grub/efi/api.h: Likewise.
17571 * include/grub/efi/chainloader.h: Likewise.
17572 * include/grub/efi/console.h: Likewise.
17573 * include/grub/efi/console_control.h: Likewise.
17574 * include/grub/efi/disk.h: Likewise.
17575 * include/grub/efi/efi.h: Likewise.
17576 * include/grub/efi/pe32.h: Likewise.
17577 * include/grub/efi/time.h: Likewise.
17578 * include/grub/i386/linux.h: Likewise.
17579 * include/grub/i386/setjmp.h: Likewise.
17580 * include/grub/i386/types.h: Likewise.
17581 * include/grub/i386/efi/kernel.h: Likewise.
17582 * include/grub/i386/efi/loader.h: Likewise.
17583 * include/grub/i386/efi/time.h: Likewise.
17584 * include/grub/i386/pc/biosdisk.h: Likewise.
17585 * include/grub/i386/pc/boot.h: Likewise.
17586 * include/grub/i386/pc/chainloader.h: Likewise.
17587 * include/grub/i386/pc/console.h: Likewise.
17588 * include/grub/i386/pc/init.h: Likewise.
17589 * include/grub/i386/pc/kernel.h: Likewise.
17590 * include/grub/i386/pc/loader.h: Likewise.
17591 * include/grub/i386/pc/memory.h: Likewise.
17592 * include/grub/i386/pc/multiboot.h: Likewise.
17593 * include/grub/i386/pc/serial.h: Likewise.
17594 * include/grub/i386/pc/time.h: Likewise.
17595 * include/grub/i386/pc/vbe.h: Likewise.
17596 * include/grub/i386/pc/vbeblit.h: Likewise.
17597 * include/grub/i386/pc/vbefill.h: Likewise.
17598 * include/grub/i386/pc/vbeutil.h: Likewise.
17599 * include/grub/i386/pc/vga.h: Likewise.
17600 * include/grub/ieee1275/ieee1275.h: Likewise.
17601 * include/grub/ieee1275/ofdisk.h: Likewise.
17602 * include/grub/powerpc/libgcc.h: Likewise.
17603 * include/grub/powerpc/setjmp.h: Likewise.
17604 * include/grub/powerpc/types.h: Likewise.
17605 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17606 * include/grub/powerpc/ieee1275/console.h: Likewise.
17607 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17608 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17609 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17610 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17611 * include/grub/powerpc/ieee1275/time.h: Likewise.
17612 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17613 * include/grub/sparc64/libgcc.h: Likewise.
17614 * include/grub/sparc64/setjmp.h: Likewise.
17615 * include/grub/sparc64/types.h: Likewise.
17616 * include/grub/sparc64/ieee1275/console.h: Likewise.
17617 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17618 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17619 * include/grub/sparc64/ieee1275/time.h: Likewise.
17620 * include/grub/util/biosdisk.h: Likewise.
17621 * include/grub/util/getroot.h: Likewise.
17622 * include/grub/util/lvm.h: Likewise.
17623 * include/grub/util/misc.h: Likewise.
17624 * include/grub/util/raid.h: Likewise.
17625 * include/grub/util/resolve.h: Likewise.
17626 * io/gzio.c: Likewise.
17627 * kern/device.c: Likewise.
17628 * kern/disk.c: Likewise.
17629 * kern/dl.c: Likewise.
17630 * kern/elf.c: Likewise.
17631 * kern/env.c: Likewise.
17632 * kern/err.c: Likewise.
17633 * kern/file.c: Likewise.
17634 * kern/fs.c: Likewise.
17635 * kern/loader.c: Likewise.
17636 * kern/main.c: Likewise.
17637 * kern/misc.c: Likewise.
17638 * kern/mm.c: Likewise.
17639 * kern/parser.c: Likewise.
17640 * kern/partition.c: Likewise.
17641 * kern/rescue.c: Likewise.
17642 * kern/term.c: Likewise.
17643 * kern/efi/efi.c: Likewise.
17644 * kern/efi/init.c: Likewise.
17645 * kern/efi/mm.c: Likewise.
17646 * kern/i386/dl.c: Likewise.
17647 * kern/i386/efi/init.c: Likewise.
17648 * kern/i386/efi/startup.S: Likewise.
17649 * kern/i386/pc/init.c: Likewise.
17650 * kern/i386/pc/lzo1x.S: Likewise.
17651 * kern/i386/pc/startup.S: Likewise.
17652 * kern/ieee1275/ieee1275.c: Likewise.
17653 * kern/powerpc/cache.S: Likewise.
17654 * kern/powerpc/dl.c: Likewise.
17655 * kern/powerpc/ieee1275/cmain.c: Likewise.
17656 * kern/powerpc/ieee1275/crt0.S: Likewise.
17657 * kern/powerpc/ieee1275/init.c: Likewise.
17658 * kern/powerpc/ieee1275/openfw.c: Likewise.
17659 * kern/sparc64/cache.S: Likewise.
17660 * kern/sparc64/dl.c: Likewise.
17661 * kern/sparc64/ieee1275/init.c: Likewise.
17662 * kern/sparc64/ieee1275/openfw.c: Likewise.
17663 * loader/efi/chainloader.c: Likewise.
17664 * loader/efi/chainloader_normal.c: Likewise.
17665 * loader/i386/efi/linux.c: Likewise.
17666 * loader/i386/efi/linux_normal.c: Likewise.
17667 * loader/i386/pc/chainloader.c: Likewise.
17668 * loader/i386/pc/chainloader_normal.c: Likewise.
17669 * loader/i386/pc/linux.c: Likewise.
17670 * loader/i386/pc/linux_normal.c: Likewise.
17671 * loader/i386/pc/multiboot.c: Likewise.
17672 * loader/i386/pc/multiboot_normal.c: Likewise.
17673 * loader/powerpc/ieee1275/linux.c: Likewise.
17674 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17675 * normal/arg.c: Likewise.
17676 * normal/cmdline.c: Likewise.
17677 * normal/command.c: Likewise.
17678 * normal/completion.c: Likewise.
17679 * normal/execute.c: Likewise.
17680 * normal/function.c: Likewise.
17681 * normal/lexer.c: Likewise.
17682 * normal/main.c: Likewise.
17683 * normal/menu.c: Likewise.
17684 * normal/menu_entry.c: Likewise.
17685 * normal/misc.c: Likewise.
17686 * normal/parser.y: Likewise.
17687 * normal/script.c: Likewise.
17688 * normal/i386/setjmp.S: Likewise.
17689 * normal/powerpc/setjmp.S: Likewise.
17690 * normal/sparc64/setjmp.S: Likewise.
17691 * partmap/acorn.c: Likewise.
17692 * partmap/amiga.c: Likewise.
17693 * partmap/apple.c: Likewise.
17694 * partmap/gpt.c: Likewise.
17695 * partmap/pc.c: Likewise.
17696 * partmap/sun.c: Likewise.
17697 * term/gfxterm.c: Likewise.
17698 * term/terminfo.c: Likewise.
17699 * term/efi/console.c: Likewise.
17700 * term/i386/pc/console.c: Likewise.
17701 * term/i386/pc/serial.c: Likewise.
17702 * term/i386/pc/vesafb.c: Likewise.
17703 * term/i386/pc/vga.c: Likewise.
17704 * term/ieee1275/ofconsole.c: Likewise.
17705 * util/biosdisk.c: Likewise.
17706 * util/console.c: Likewise.
17707 * util/genmoddep.c: Likewise.
17708 * util/getroot.c: Likewise.
17709 * util/grub-emu.c: Likewise.
17710 * util/grub-mkdevicemap.c: Likewise.
17711 * util/grub-probe.c: Likewise.
17712 * util/lvm.c: Likewise.
17713 * util/misc.c: Likewise.
17714 * util/raid.c: Likewise.
17715 * util/resolve.c: Likewise.
17716 * util/update-grub.in: Likewise.
17717 * util/update-grub_lib.in: Likewise.
17718 * util/grub.d/00_header.in: Likewise.
17719 * util/grub.d/10_hurd.in: Likewise.
17720 * util/grub.d/10_linux.in: Likewise.
17721 * util/i386/efi/grub-install.in: Likewise.
17722 * util/i386/efi/grub-mkimage.c: Likewise.
17723 * util/i386/pc/grub-install.in: Likewise.
17724 * util/i386/pc/grub-mkimage.c: Likewise.
17725 * util/i386/pc/grub-mkrescue.in: Likewise.
17726 * util/i386/pc/grub-setup.c: Likewise.
17727 * util/i386/pc/misc.c: Likewise.
17728 * util/powerpc/ieee1275/grub-install.in: Likewise.
17729 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
17730 * util/powerpc/ieee1275/misc.c: Likewise.
17731 * video/bitmap.c: Likewise.
17732 * video/video.c: Likewise.
17733 * video/i386/pc/vbe.c: Likewise.
17734 * video/i386/pc/vbeblit.c: Likewise.
17735 * video/i386/pc/vbefill.c: Likewise.
17736 * video/i386/pc/vbeutil.c: Likewise.
17737 * video/readers/tga.c: Likewise.
17738
3572d015 177392007-07-02 Robert Millan <rmh@aybabtu.com>
17740
17741 * conf/i386-efi.rmk: Replace obsolete reference to
17742 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
17743 with util/getroot.c.
17744 * conf/powerpc-ieee1275.rmk: Likewise.
17745 * conf/sparc64-ieee1275.rmk: Likewise.
17746
17747 * util/grub-emu.c (main): Fix unchecked pointer handling.
17748
2c2a681b 177492007-07-02 Robert Millan <rmh@aybabtu.com>
17750
17751 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
17752 invocation to fail, in order to support partition-less media.
17753
17754 * util/i386/pc/grub-install.in: Likewise.
17755
17756 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
17757 which fs or partmap modules are needed (akin to its sister scripts).
17758
17759 Also use grub-probe to get rid of unportable /proc/mounts check.
17760
17761 Print the same informational message that the other scripts do, before
fe6b695a 17762 exiting.
2c2a681b 17763
6193defe 177642007-06-23 Robert Millan <rmh@aybabtu.com>
17765
fe6b695a 17766 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 17767 a font file can be found and, if so, echo the GRUB path to it.
17768
17769 * util/update-grub.in: Handle multiple terminals depending on user
17770 input, platform availability and font file presence. Propagate
17771 variables of our findings to /etc/grub.d/ children.
17772
17773 * util/grub.d/00_header.in: Handle multiple terminals, based on
17774 environment setup by update-grub.
17775
eface1dc 177762007-06-23 Robert Millan <rmh@aybabtu.com>
17777
ba50d28f 17778 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 17779
bf697e28 177802007-06-21 Robert Millan <rmh@aybabtu.com>
17781
17782 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
17783 indicate end of data section in kernel image.
17784 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
17785 GRUB_KERNEL_MACHINE_DATA_END.
17786
17787 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
17788 space for it.
17789 * kern/i386/efi/startup.S: Likewise.
17790
17791 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
17792 during image generation. Implement --prefix option to override this
17793 patch.
17794 * util/i386/efi/grub-mkimage.c: Likewise.
17795
17796 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
17797 code to make path relative to its root into a separate function.
17798
17799 * util/i386/pc/grub-install.in: Use newly provided
17800 make_system_path_relative_to_its_root() to convert ${grubdir}, then
17801 pass the result to grub-install --prefix.
17802
baa574b4 178032007-06-13 Robert Millan <rmh@aybabtu.com>
17804
17805 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
17806 DEFAULT_DEVICE_MAP.
17807 * util/grub-emu.c: Use above definitions from misc.h instead of
17808 defining them.
17809 * util/grub-mkdevicemap.c: Likewise.
17810 * util/i386/pc/grub-setup.c: Likewise.
17811 * util/grub-probe.c: Likewise.
17812 (probe): Abort with grub_util_error() when either
17813 grub_guess_root_device or grub_util_get_grub_dev fails.
17814
0215dcbf 178152007-06-12 Robert Millan <rmh@aybabtu.com>
17816
17817 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
17818 "pager" assignment.
17819 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
17820 "pcdata".
17821 * util/grub-probe.c (probe): Likewise for "drive_name".
17822
8af2ab7b 178232007-06-11 Robert Millan <rmh@aybabtu.com>
17824
17825 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
17826 not just the cdrom one.
17827
59d31694 178282007-06-11 Robert Millan <rmh@aybabtu.com>
17829
17830 * util/i386/pc/grub-mkrescue.in: Add "set -e".
17831 Add --pkglibdir=DIR option to override pkglibdir.
17832 Mention --image-type=TYPE in help output.
17833 Fix --grub-mkimage (it was a no-op).
fe6b695a 17834 Abort gracefully when no parameter is given.
59d31694 17835
7ee367e4 178362007-06-11 Robert Millan <rmh@aybabtu.com>
17837
17838 * util/i386/pc/grub-mkrescue.in: New file.
17839 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
17840 * Makefile.in: Handle bin_SCRIPTS.
17841
29b0ed46 178422007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
17843
17844 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
17845 list of video modes.
17846
c0f90770 178472007-06-06 Robert Millan <rmh@aybabtu.com>
17848
17849 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
17850 file doesn't exist, or if it is in a filesystem grub can't read.
17851
17852 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17853 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17854 header comment to fit in 80 columns when the variables are resolved.
17855
17856 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
17857 could be identified by update-grub. Remove redundant check for
fe6b695a 17858 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 17859 handles that).
17860
fb36dc26 178612007-06-04 Robert Millan <rmh@aybabtu.com>
17862
17863 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
17864
17865 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
17866
17867 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
17868
0c68c93e 178692007-06-04 Robert Millan <rmh@aybabtu.com>
17870
17871 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
17872
17873 * include/grub/partition.h: Declare grub_apple_partition_map_init and
17874 grub_apple_partition_map_fini.
17875
17876 * util/biosdisk.c
17877 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
17878 to access >2 TiB disks).
17879
17880 Print disk->total_sectors with %llu instead of %lu, since this
17881 variable is always 64-bit (prevents wrong disk size from being displayed
17882 on either >2 TiB disk or big-endian CPU).
17883
17884 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
17885 into a generic case that supports all (sane) partition maps.
17886
17887 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
17888 breaks big-endian.
17889
17890 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
17891 and grub_apple_partition_map_fini() after that.
17892
0f23eb74 178932007-06-01 Robert Millan <rmh@aybabtu.com>
17894
17895 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
17896
17897 * util/grub.d/00_header.in: Only enable gfxterm when
17898 convert_system_path_to_grub_path() succeeds.
17899
42c71976 179002007-05-20 Robert Millan <rmh@aybabtu.com>
17901
17902 * util/update-grub_lib.in: New file.
17903 * DISTLIST: Add update-grub_lib.in.
17904 * conf/common.rmk: Generate update-grub_lib and install it in
17905 $(lib_DATA).
17906 * Makefile.in: Add install routine for $(lib_DATA).
17907
17908 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
17909 function provided by update-grub_lib to support arbitrary paths of
17910 unifont.pff.
17911 * util/update-grub.in: Use convert_system_path_to_grub_path() to
17912 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
17913
5beb2291 179142007-05-19 Robert Millan <rmh@aybabtu.com>
17915
17916 * commands/i386/cpuid.c: New module.
17917 * DISTLIST: Add it.
17918 * conf/i386-efi.rmk: Enable cpuid.mod.
17919 * conf/i386-pc.rmk: Likewise.
17920
7262eca1 179212007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17922
17923 * kern/disk.c (grub_disk_read): Check return value of
17924 grub_realloc().
17925
260ba823 179262007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17927
17928 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
17929 arrays.
17930 * disk/raid.c (grub_raid_open): Likewise.
17931
1ecb6cf2 179322007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17933
17934 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
17935 stack instead of on the heap.
17936
17937 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
17938 before doing a read on it.
17939
17940 * configure.ac: Only use -fno-stack-protector for the target
17941 environment.
f19dbdb7 17942
21c8cbb1 179432007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17944
17945 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
17946 __attribute_ ((unused)) to mode_type argument.
17947
17948 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 17949
21c8cbb1 17950 * kern/misc.c (memcmp): Fix prototype.
17951
17952 * include/grub/partition.h [GRUB_UTIL]
17953 (grub_gpt_partition_map_init): Add prototype.
17954 (grub_gpt_partition_map_fini): Likewise.
17955
17956 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
17957 at the right place.
17958
17959 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
17960 (grub_fat_read_data): Likewise.
17961 (grub_fat_find_dir): Likewise.
17962
17963 * font/manager.c (find_glyph): Make table a const.
17964 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 17965
849d55d3 179662007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
17967
17968 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
17969 code, first search for device in /dev/mapper, then in /dev.
17970 (grub_util_get_grub_dev): New function.
17971 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
17972 prototype.
17973 * util/grub-probe.c (probe): Remove check for RAID, call
17974 grub_util_get_grub_dev() instead of
17975 grub_util_biosdisk_get_grub_dev().
17976 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
17977 grub_util_biosdisk_get_grub_dev().
17978 * util/i386/pc/grub-setup.c (main): Likewise.
17979
8fff7c2f 179802007-05-16 Robert Millan <rmh@aybabtu.com>
17981
17982 * DISTLIST: Update for the latest changes.
17983 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
17984 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
17985 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
17986 grub/util/biosdisk.h.
17987 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
17988 grub/util/biosdisk.h.
17989
48e12b52 179902007-05-16 Robert Millan <rmh@aybabtu.com>
17991
17992 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
17993
46b9d128 179942007-05-16 Robert Millan <rmh@aybabtu.com>
17995
17996 * util/i386/efi/grub-install.in: New.
17997 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
17998 newly added grub-install.
17999 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18000 include.
18001 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18002 grub/util/biosdisk.h.
18003 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18004 grub/util/biosdisk.h.
18005
2d1a40a9 180062007-05-16 Robert Millan <rmh@aybabtu.com>
18007
18008 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18009 * include/grub/util/biosdisk.h: ... here.
18010 * util/i386/pc/biosdisk.c: Moved to ...
18011 * util/biosdisk.c: ... here.
18012 * util/i386/pc/getroot.c: Moved to ...
18013 * util/getroot.c: ... here.
18014 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18015 * util/grub-mkdevicemap.c: ... here.
18016 * util/i386/pc/grub-probe.c: Moved to ...
18017 * util/grub-probe.c: ... here.
18018
9e26e3bc 180192007-05-15 Robert Millan <rmh@aybabtu.com>
18020
18021 * util/update-grub.in: Remove duplicated line in grub.cfg header
18022 message.
18023
57f96397 180242007-05-13 Robert Millan <rmh@aybabtu.com>
18025
18026 * util/update-grub.in: Fix a few assumptions about the devices holding
18027 /, /boot and /boot/grub being the same.
18028 * util/grub.d/00_header.in: Likewise.
18029 * util/grub.d/10_hurd.in: Likewise.
18030 * util/grub.d/10_linux.in: Likewise.
18031
18032 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18033 patterns. Use that to define the `.old' suffix as older than `'.
18034
18035 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18036
18037 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18038 the grub.cfg header message.
18039
2e610d62 180402007-05-11 Robert Millan <rmh@aybabtu.com>
18041
18042 * util/update-grub.in: Create device.map if it doesn't already exist,
18043 before attempting to run grub-probe.
18044 Check for grub-probe and grub-mkdevicemap with the same code
18045 grub-install is using.
18046 Remove test mode.
18047
3f6a10ef 180482007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18049
18050 * Makefile.in: Add the datarootdir autoconf variable.
18051
02e7b75e 180522007-05-09 Robert Millan <rmh@aybabtu.com>
18053
18054 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18055 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18056
75f396cc 180572007-05-07 Robert Millan <rmh@aybabtu.com>
18058
18059 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18060 determine partition map module.
18061 * util/i386/pc/grub-install.in: Use this feature to decide which
18062 partition module to load, instead of hardcoding pc and gpt.
18063
da65cb36 180642007-05-07 Robert Millan <rmh@aybabtu.com>
18065
18066 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18067 source directory differs from build directory.
18068
b57d6a91 180692007-05-05 Robert Millan <rmh@aybabtu.com>
18070
18071 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18072 initialisation.
18073
509d00f1 180742007-05-05 Robert Millan <rmh@aybabtu.com>
18075
18076 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18077
c48f23ef 180782007-05-05 Robert Millan <rmh@aybabtu.com>
18079
18080 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18081 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18082
20b97658 180832007-05-05 Robert Millan <rmh@aybabtu.com>
18084
18085 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18086 (grub_probe_SOURCES): Likewise.
18087 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18088 GPT and initialize dos_part and bsd_part accordingly.
18089 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18090 install_bsd_part.
18091 (main): Activate gpt module for use during partition identification,
18092 and deactivate it afterwards.
18093 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18094 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18095 partition identification, and deactivate it afterwards.
18096
99123174 180972007-05-05 Robert Millan <rmh@aybabtu.com>
18098
18099 * term/i386/pc/console.c (grub_console_fini): Call
18100 grub_term_set_current() before grub_term_unregister().
18101
ebd97f6e 181022007-05-04 Robert Millan <rmh@aybabtu.com>
18103
18104 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18105 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18106 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18107 and update-grub_DATA.
18108 * conf/common.rmk: Build and install update-grub components.
18109 * conf/common.mk: Regenerate.
18110 * util/update-grub.in: New. Core of update-grub.
18111 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18112 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18113 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18114 * util/grub.d/README: New. Document grub.d directory layout.
18115
b06a264d 181162007-05-01 Robert Millan <rmh@aybabtu.com>
18117
18118 * util/grub-emu.c: Move initialization functions
18119 grub_util_biosdisk_init() and grub_init_all() before
18120 grub_util_biosdisk_get_grub_dev(), which relies on them.
18121
41f0050e 181222007-04-19 Robert Millan <rmh@aybabtu.com>
18123
18124 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18125 it is used later.
18126
04582bb3 181272007-04-18 Jerone Young <jerone@gmail.com>
18128
f19dbdb7 18129 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 18130 stanza.
18131
08db4632 181322007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 18133
08db4632 18134 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18135 continue on and look for device node with real device name.
18136
801b76be 181372007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 18138
fe6b695a 18139 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 18140 ability.
18141 * Makefile.in: Add autoconf package transformation code.
18142 * util/i386/pc/grub-install.in: Likewise.
18143 * util/powerpc/ieee1275/grub-install.in: Likewise.
18144
6795c4e1 181452007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18146
18147 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18148 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18149 (EXT2_REVISION): Likewise.
18150 (EXT2_INODE_SIZE): Likewise.
18151 (struct grub_ext2_block_group): Added a missing member
18152 "used_dirs".
18153 (grub_ext2_read_inode): Divide by the inode size in a superblock
18154 instead of 128 to obtain INODES_PER_BLOCK.
18155 Use the macro EXT2_INODE_SIZE instead of directly using
18156 SBLOCK->INODE_SIZE.
18157
d70af616 181582007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18159
18160 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18161 superblock instead of the structure size to compute an
18162 offset. This fixes the problem that GRUB could not read a
18163 filesystem when inode size is different from 128-byte.
18164
3b801603 181652007-03-05 Marco Gerards <marco@gnu.org>
18166
18167 * normal/main.c (read_config_file): When "menu" is not set, create
18168 an initial context.
18169
4785bfe4 181702007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18171
18172 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18173 (HEAP_LIMIT): New macro.
18174 (grub_claim_heap): Claim memory up to `heaplimit'.
18175
a0cbb023 181762007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18177
18178 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
18179 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
18180 (_start): Likewise.
18181 (grub_arch_modules_addr): Return address after `_end'.
18182 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
18183 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
18184 (add_segments): Calculate `_end' from phdr size and location.
18185 (ALIGN_UP): Moved to ...
18186 * include/grub/misc.h: here.
18187 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18188 New macro.
18189 (GRUB_IEEE1275_MODULE_BASE): Removed.
18190
fd7d8eba 181912007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18192
18193 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18194 loop boundary.
18195
9b09e6fc 181962007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18197
18198 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
18199 All users updated.
18200 (grub_elf64_load_hook_t): Likewise.
18201 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
18202 debug output.
18203
3ce27299 182042007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18205
18206 * kern/mm.c: Update copyright.
18207 (grub_mm_debug): Correct syntax error.
18208 (grub_mm_dump_free): New function.
18209 (grub_debug_free): Call `grub_free'.
18210 * include/grub/mm.h: Update copyright.
18211 (grub_mm_dump_free): Add declaration.
18212
077d5fee 182132007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18214
18215 * include/grub/ieee1275/ieee1275.h: Update copyright.
18216 * kern/powerpc/ieee1275/init.c: Likewise.
18217 * kern/powerpc/ieee1275/openfw.c: Likewise.
18218
18219 * loader/powerpc/ieee1275/linux.c: Likewise.
18220 * include/grub/elfload.h: Likewise.
18221 * kern/elf.c: Likewise.
18222 (grub_elf32_load): Pass `base' and `size' parameters. Update all
18223 callers.
18224 (grub_elf64_load): Likewise.
18225 (grub_elf32_load_segment): Move to a nested function.
18226 (grub_elf64_load_segment): Likewise.
18227
dc946850 182282007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18229
18230 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
18231 prototype.
18232 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
18233 (grub_heap_len): Likewise.
18234 (HEAP_SIZE): New macro.
18235 (grub_claim_heap): New function.
18236 (grub_machine_init): Don't claim heap directly. Call
18237 `grub_claim_heap'.
18238 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
18239 (grub_available_iterate): New function.
18240
baa2a121 182412007-02-03 Thomas Schwinge <tschwinge@gnu.org>
18242
18243 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
18244 * configure.ac: Use it for testing the HOST and TARGET compilers.
18245
4fe9862e 182462006-12-13 Thomas Schwinge <tschwinge@gnu.org>
18247
18248 * Makefile.in (enable_grub_emu): New variable.
18249 * configure.ac (--enable-grub-emu): New option.
18250 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
18251 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
18252 * conf/i386-pc.rmk: Likewise.
18253 * conf/powerpc-ieee1275.rmk: Likewise.
18254 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
18255
a8aa5762 182562006-12-12 Marco Gerards <marco@gnu.org>
18257
18258 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
18259
18260 * kern/env.c (grub_env_unset): Don't free the member `value' when
18261 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
18262 pointer.
18263
18264 * normal/main.c (current_menu): Removed.
18265 (free_menu): Unset the `menu' environment variable.
18266 (grub_normal_menu_addentry): Make use of the environment variable
18267 `menu', instead of using the global `current_menu'. Allocate
18268 memory for the sourcecode of this entry.
18269 (read_config_file): New argument `nested', changed all callers.
18270 Only in the case of a new context, initialize a new menu. Set the
18271 `menu' environment variable.
18272 (grub_normal_execute): Don't set and unset the environment
18273 variable `menu' here anymore. Only free the menu when leaving the
18274 context.
18275
18276 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
18277 leak.
18278
957b3a3e 182792006-12-11 Marco Gerards <marco@gnu.org>
18280
18281 * normal/menu_entry.c (run): Fix off by one bug so the last line
18282 is executed. Move the loader check to outside the loop.
18283
ef875714 182842006-12-08 Hollis Blanchard <hollis@penguinppc.org>
18285
18286 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
18287
4e739985 182882006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
18289
18290 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
18291 the number of sectors. Reported by Andrey Shuvikov
18292 <mr_hyro@yahoo.com>.
f19dbdb7 18293
790707f2 182942006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
18295
18296 * kern/disk.c (grub_disk_read): When there is a read error, always
18297 try to read only the necessary data.
f19dbdb7 18298
790707f2 18299 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
18300 disk/raid.c.
18301 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
18302 prototype.
18303 [GRUB_UTIL] (grub_raid_fini): Likewise.
18304 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 18305 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 18306 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
18307 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
18308 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
18309 and grub_raid_fini().
f19dbdb7 18310
03e58196 183112006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
18312
18313 * include/grub/types.h (__unused): Rename to UNUSED.
18314 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
18315 (grub_elf64_size): Likewise.
f19dbdb7 18316
ae4f23bf 183172006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18318
18319 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
18320 grub_error_push and grub_error_pop in the error-handling path.
18321 (grub_elf32_load_segment): Only call grub_file_read with non-zero
18322 length.
18323
2166cc83 183242006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18325
18326 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
18327 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18329 (kernel_elf_SOURCES): Likewise.
18330 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
18331 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
18332 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18333 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18334 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
18335 (elf_mod_SOURCES): New variable.
18336 (elf_mod_CFLAGS): Likewise.
18337 (elf_mod_LDFLAGS): Likewise.
18338 * include/grub/types.h (__unused): New macro.
18339 * include/grub/elfload.h: New file.
18340 * kern/elf.c: Likewise.
18341 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
18342 (ELF32_LOADMASK): New macro.
18343 (ELF64_LOADMASK): Likewise.
18344 (vmlinux): Removed.
18345 (grub_linux_load32): New function.
18346 (grub_linux_load64): Likewise.
18347 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
18348 Use grub_elf_t instead of grub_file_t.
18349
a09d5aa5 183502006-11-02 Hollis Blanchard <hollis@penguinppc.org>
18351
18352 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
18353 `catch_result' to struct set_color_args.
18354
d976fc51 183552006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18356
18357 * normal/menu.c: Include grub/script.h.
18358 * normal/menu_entry.c: Likewise.
18359 * include/grub/normal.h: Do not include grub/script.h.
18360
67507549 183612006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18362
18363 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
18364
69203a99 183652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18366
18367 * kern/disk.c (grub_disk_open): Print debug messages when opening a
18368 disk.
18369 (grub_disk_close): Print debug messages when closing a disk.
18370 (grub_disk_read): Print debug messages when disk read fails.
18371 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
18372 filesystem type.
18373 * kern/partition.c: Include misc.h.
18374 (grub_partition_iterate): Print debug messages when detecting
18375 partition type.
18376
e2b8278c 183772006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18378
18379 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
18380 is negative.
18381 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
18382
97b2f2ff 183832006-10-26 Hollis Blanchard <hollis@penguinppc.org>
18384
18385 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18386 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
18387
6555d655 183882006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
18389
18390 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
18391 instead of sizeof(lv). Patch by Michael Guntsche.
18392
4d42b77f 183932006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
18394
18395 * disk/lvm.c: Rename VGS to VG_LIST.
18396 (grub_lvm_iterate): Change VGS->LV to VG-LV.
18397 (grub_lvm_open): Likewise.
18398 Thanks to Michael Guntsche for finding this bug.
18399
5d74d927 184002006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18401
18402 * configure.ac (AC_INIT): Bumped to 1.95.
18403
a1bb27e4 184042006-10-14 Robert Millan <rmh@aybabtu.com>
18405
18406 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
18407 with "/dev/.static/dev/md".
18408
e0994b8b 184092006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18410
18411 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
18412 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
18413 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
18414 DRIVE_NAME are always freed.
18415
18416 * util/i386/pc/biosdisk.c (make_device_name): Add one into
18417 DOS_PART, as a DOS partition is counted from one instead of zero
18418 now. Reported by Robert Millan.
18419
ddd5cee9 184202006-10-14 Robert Millan <rmh@aybabtu.com>
18421
18422 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
18423 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
18424 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
18425 string returned by grub_guess_root_device.
18426 * util/i386/pc/grub-setup.c: Likewise.
18427 * util/i386/pc/grub-probefs.c: Likewise.
18428
18429 * util/i386/pc/grub-probefs.c: Rename to ...
18430 * util/i386/pc/grub-probe.c: ... this.
18431 * DISTLIST: Remove grub-probefs, add grub-probe.
18432 * conf/i386-efi.rmk: Likewise.
18433 * conf/i386-pc.rmk: Likewise.
18434 * util/i386/pc/grub-install.in: Likewise.
18435
18436 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
18437 choose which information we want to print.
18438
2b002173 184392006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18440
18441 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
18442 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
18443 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
18444 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
18445 video/readers/tga.c and video/i386/pc/vbeutil.c.
18446
184472006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
18448
18449 Added support for RAID and LVM.
f19dbdb7 18450
2b002173 18451 * disk/lvm.c: New file.
18452 * disk/raid.c: Likewise.
18453 * include/grub/lvm.h: Likewise.
f19dbdb7 18454 * include/grub/raid.h: Likewise.
2b002173 18455 * include/grub/util/lvm.h: Likewise.
18456 * include/grub/util/raid.h: Likewise.
18457 * util/lvm.c: Likewise.
18458 * util/raid.c: Likewise.
18459
18460 * include/grub/disk.h (grub_disk_dev_id): Add
18461 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
18462 (grub_disk_get_size): New prototype.
18463 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
18464 returns a partition.
18465 (grub_disk_get_size): New function.
f19dbdb7 18466
2b002173 18467 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18468 verbatim if grub_install_dos_part is -2.
18469
18470 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18471 and LVM devices.
18472
18473 * util/i386/pc/grub-setup.c (setup): New argument
18474 MUST_EMBED. Force embedding of GRUB when the argument is
18475 true. Close FILE before returning.
18476 (main): Add support for RAID and LVM.
f19dbdb7 18477
2b002173 18478 * conf/common.rmk: Add RAID and LVM modules.
18479 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18480 util/lvm.c.
18481 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18482
18483 * kern/misc.c (grub_strstr): New function.
18484 * include/grub/misc.h (grub_strstr): New prototype.
18485
050548d0 184862006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18487
18488 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18489
da849d2d 184902006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18491
18492 * kern/misc.c (grub_strtoull): Guess the base only if not
18493 specified.
18494
97b2f2ff 184952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 18496
18497 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18498 PowerMac support.
18499
97b2f2ff 185002006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 18501
18502 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18503
18504 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18505 Remove `flags' argument. All callers changed.
18506 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18507 (IEEE1275_IHANDLE_INVALID): New variable.
18508 (IEEE1275_CELL_INVALID): New variable.
18509 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18510 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18511 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18512 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18513 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18514 codes from Open Firmware. All callers updated.
18515 (grub_ieee1275_next_property): Directly return Open Firmware return
18516 code.
18517 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18518 Standardize error checking from `grub_ieee1275_get_property'.
18519 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18520 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18521
97b2f2ff 185222006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18523
18524 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18525 `instance_to_package_args' to `instance_to_path_args'.
18526
18527 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18528 `grub_ieee1275_chosen'.
18529
18530 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18531 `grub_ieee1275_interpret'.
18532
97b2f2ff 185332006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18534
18535 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18536
97b2f2ff 185372006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18538
18539 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18540 (__cmpdi): Likewise.
18541
18542 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18543 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18544 `grub_ssize_t'.
18545
02bb8acc 18546 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 18547
18548 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18549 to type `grub_ssize_t'.
18550 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18551
7f9a8531 185522006-09-22 Marco Gerards <marco@gnu.org>
18553
18554 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18555 newlines.
18556
b5ef1102 185572006-09-22 Marco Gerards <marco@gnu.org>
18558
18559 * commands/echo.c: New file.
18560
18561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18562
18563 * conf/common.rmk (echo_mod_SOURCES): New variable.
18564 (echo_mod_CFLAGS): Likewise.
18565 (echo_mod_LDFLAGS): Likewise.
18566
2cff3677 185672006-09-22 Marco Gerards <marco@gnu.org>
18568
18569 * normal/main.c (get_line): Malloc memory instead of using
18570 preallocated memory. Removed the arguments `cmdline' and
18571 `max_len'. Updated all callers.
18572
6ba4688b 185732006-09-22 Marco Gerards <marco@gnu.org>
18574
18575 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18576 (normal_mod_DEPENDENCIES): Likewise.
18577
18578 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18579 (normal_mod_DEPENDENCIES): Likewise.
18580
18581 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18582
e02ac02c 185832006-09-22 Johan Rydberg <jrydberg@gnu.org>
18584
18585 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18586 programs.
18587 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18588 (normal_mod_DEPENDENCIES): Likewise.
18589 * conf/i386-pc.mk: Regenerate.
18590 * conf/i386-efi.mk: Likewise
18591 * conf/common.mk: Likewise.
18592 * conf/powerpc-ieee1275.mk: Likewise.
18593 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18594
8d252e44 185952006-09-22 Robert Millan <rmh@aybabtu.com>
18596
18597 Sync with i386 version.
18598 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18599 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18600
209bf7ac 186012006-09-21 Robert Millan <rmh@aybabtu.com>
18602
18603 Import from GRUB Legacy (lib/device.c):
18604 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18605 (init_device_map) [__linux__]: Add support for I2O devices.
18606
6b146090 186072006-09-14 Marco Gerards <marco@gnu.org>
18608
18609 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18610 `-melf_i386'.
18611
e38600a8 186122006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 18613
18614 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18615 /boot/grub/*.lst.
78fa1790 18616
2952da5d 18617 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 18618
2952da5d 18619 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18620 before adding it to device.map.
18621
01b82a64 186222006-08-15 Johan Rydberg <jrydberg@gnu.org>
18623
fe6b695a 18624 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 18625 compiles a file; using the -MD option.
18626 * conf/common.mk: Regenerate.
18627 * conf/i386-pc.mk: Likewise.
18628 * conf/i386-efi.mk: Likewise.
18629 * conf/powerpc-ieee1275.mk: Likewise.
18630 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18631
1064790d 186322006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18633
18634 Move the prototypes of grub_setjmp and grub_longjmp to
18635 cpu/setjmp.h, so that each architecture may specify different
18636 attributes.
f19dbdb7 18637
1064790d 18638 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
18639 (grub_longjmp): Likewise.
18640 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
18641 (grub_longjmp): Likewise.
18642 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
18643 (grub_longjmp): Likewise.
18644
18645 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
18646 [!GRUB_UTIL] (grub_longjmp): Removed.
18647
29dda3ed 186482006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
18649
18650 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
18651 "color!" method does not return any value.
18652
ad2a06ed 186532006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18654
18655 * include/grub/bitmap.h: New file.
18656
18657 * include/grub/i386/pc/vbeutil.h: Likewise.
18658
18659 * video/bitmap.c: Likewise.
18660
18661 * video/readers/tga.c: Likewise.
18662
18663 * video/i386/pc/vbeutil.c: Likewise.
18664
18665 * commands/videotest.c: Code cleanup and updated to reflect to new
18666 video API.
18667
18668 * term/gfxterm.c: Likewise.
18669
18670 * video/video.c: Likewise.
18671
18672 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18673 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18674 (bitmap_mod_SOURCES): New entry.
18675 (bitmap_mod_CFLAGS): Likewise.
18676 (bitmap_mod_LDFLAGS): Likewise.
18677 (tga_mod_SOURCES): Likewise.
18678 (tga_mod_CFLAGS): Likewise.
18679 (tga_mod_LDFLAGS): Likewise.
18680
18681 * include/grub/video.h (grub_video_blit_operators): New enum type.
18682 (grub_video_render_target): Changed as forward declaration and moved
18683 actual definition to be video driver specific.
18684 (grub_video_adapter.blit_bitmap): Added blitting operator.
18685 (grub_video_adapter.blit_render_target): Likewise.
18686 (grub_video_blit_bitmap): Likewise.
18687 (grub_video_blit_render_target): Likewise.
18688
18689 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18690 driver specific render target definition.
18691 (grub_video_vbe_map_rgba): Added driver internal helper.
18692 (grub_video_vbe_unmap_color): Updated to use
18693 grub_video_i386_vbeblit_info.
18694 (grub_video_vbe_get_video_ptr): Likewise.
18695
18696 * include/grub/i386/pc/vbeblit.h
18697 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18698 grub_video_i386_vbeblit_info.
18699 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18700 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18701 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18702 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18703 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18704 (grub_video_i386_vbeblit_index_index): Likewise.
18705 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18706 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18707 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18708 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18709 operator.
18710 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18711 operator.
18712
18713 * video/i386/pc/vbeblit.c: Updated to reflect changes on
18714 include/grub/i386/pc/vbeblit.h.
18715
18716 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
18717 Updated to use grub_video_i386_vbeblit_info.
18718 (grub_video_i386_vbefill_R8G8B8): Likewise.
18719 (grub_video_i386_vbefill_index): Likewise.
18720 (grub_video_i386_vbefill): Added generic filler.
18721
18722 * video/i386/pc/vbefill.c: Updated to reflect changes on
18723 include/grub/i386/pc/vbefill.h.
18724
18725 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
18726 grub_video_i386_vbeblit_info.
18727 (grub_video_vbe_unmap_color): Likewise.
18728 (grub_video_vbe_blit_glyph): Likewise.
18729 (grub_video_vbe_scroll): Likewise.
18730 (grub_video_vbe_draw_pixel): Removed function.
18731 (grub_video_vbe_get_pixel): Likewise.
18732 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
18733 updated code to use it.
18734 (common_blitter): Added common blitter for render target and bitmap.
18735 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
18736 (grub_video_vbe_blit_render_target): Likewise.
18737
bc8c036d 187382006-07-30 Johan Rydberg <jrydberg@gnu.org>
18739
18740 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
18741 is in text mode if there is no console control protocol instance
18742 available.
18743
684a8eff 187442006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18745
18746 * include/grub/video.h: Code cleanup.
18747
18748 * include/grub/i386/pc/vbe.h: Likewise.
18749
18750 * video/i386/pc/vbe.c: Likewise.
18751
18752 * video/i386/pc/vbeblit.c: Likewise.
18753
18754 * video/i386/pc/vbefill.c: Likewise.
18755
18756 * video/video.c: Likewise. Also added more comments.
18757
5915059b 187582006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18759
18760 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
18761 (struct grub_biosdisk_dap): Likewise.
18762
18763 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
18764 linkage settings for all functions.
18765
90ce5d56 187662006-07-12 Marco Gerards <marco@gnu.org>
18767
18768 * configure.ac (--enable-mm-debug): Fix typo.
18769
18770 * genkernsyms.sh.in: Use proper quoting for `CC'.
18771
43e7f879 187722006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
18773
18774 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
18775 (normal_mod_ASFLAGS): Remove "-m32".
18776
4889bdec 187772006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
18778
18779 * util/misc.c: Include config.h.
18780 [!HAVE_MEMALIGN]: Do not include malloc.h.
18781 (grub_memalign): Use posix_memalign, if present. Then, use
18782 memalign, if present. Otherwise, emit an error.
18783
18784 * util/grub-emu.c: Do not include malloc.h.
18785
18786 * include/grub/util/misc.h: Include unistd.h. This is required for
18787 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
18788 D. Eades III <hde@foobar-qux.org>.
18789
18790 * configure.ac (AC_GNU_SOURCE): Added.
18791 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
18792 type.
18793
fd39d4da 187942006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
18795
18796 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
18797 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
18798
b786f3b5 187992006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
18800
18801 * include/grub/types.h (grub_host_addr_t): Rename to
18802 grub_target_addr_t.
18803 (grub_host_off_t): Rename to grub_target_off_t.
18804 (grub_host_size_t): Rename to grub_target_size_t.
18805 (grub_host_ssize_t): Rename to grub_target_ssize_t.
18806 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
18807
18808 * include/grub/kernel.h (struct grub_module_header): Change type
18809 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
18810 (grub_module_info): Likewise.
f19dbdb7 18811
051988bb 188122006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18813
18814 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
18815 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
18816 Velazquez <jesus.velazquez@gmail.com>.
18817
deae281b 188182006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18819
18820 Count partitions from 1 instead of 0 in the string representation
18821 of partitions. Still use 0-based internally.
f19dbdb7 18822
deae281b 18823 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
18824 (sun_partition_map_iterate): Use grub_partition_t instead of
18825 struct grub_partition *. Cast DESC->START_CYLINDER to
18826 grub_uint64_t after converting the endian.
18827 (sun_partition_map_probe): Subtract 1 for PARTNUM.
18828 (sun_partition_map_get_name): Add 1 to P->INDEX.
18829
18830 * partmap/pc.c (grub_partition_parse): Subtract 1 for
18831 PCDATA->DOS_PART.
18832 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
18833
18834 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
18835 zero instead of one.
18836 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
18837 (gpt_partition_map_get_name): Add 1 into P->INDEX.
18838
18839 * partmap/apple.c (apple_partition_map_iterate): Change the type
18840 of POS to unsigned.
18841 (apple_partition_map_probe): Subtract 1 for PARTNUM.
18842 (apple_partition_map_get_name): Add 1 into P->INDEX.
18843
18844 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
18845 of POS to unsigned.
18846 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
18847 calculate the offset of a partition.
18848 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
18849 (amiga_partition_map_get_name): Add 1 into P->INDEX.
18850
18851 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18852 SECTOR to grub_disk_addr_t.
18853 (acorn_partition_map_iterate): Likewise.
18854 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
18855 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
18856 top.
18857 (acorn_partition_map_get_name): Add 1 into P->INDEX.
18858
18859 * kern/i386/pc/init.c (make_install_device): Add 1 into
18860 GRUB_INSTALL_DOS_PART.
18861
18862 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
18863 conditional.
18864
524a1e6a 188652006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18866
18867 Clean up the code to support 64-bit addressing in disks and
18868 files. This change is not enough for filesystems yet.
f19dbdb7 18869
524a1e6a 18870 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
18871 type of "start" to grub_uint64_t.
18872 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
18873 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
18874 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
18875 convert addresses.
18876
18877 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
18878 to grub_disk_addr_t.
18879
18880 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
18881 string.
18882
18883 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18884
18885 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
18886 to char *.
18887
18888 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
18889
18890 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
18891
18892 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
18893
18894 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
18895 to grub_off_t, to detect an error from grub_file_seek.
18896 (grub_multiboot_load_elf32): Likewise.
18897
18898 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
18899 maximum unsigned long value when an overflow is detected.
18900 (grub_strtoull): New function.
18901 (grub_divmod64): Likewise.
18902 (grub_lltoa): use grub_divmod64.
18903
18904 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
18905 grub_disk_addr_t.
18906 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
18907 the pointer to next character. Use grub_strtoull instead of
18908 grub_strtoul.
18909 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
18910 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
18911 respectively.
18912
fe6b695a 18913 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 18914 return value is signed.
18915 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
18916 test if OFFSET is less than zero, as OFFSET is unsigned now.
18917
18918 * kern/disk.c (struct grub_disk_cache): Change the type of
18919 "sector" to grub_disk_addr_t.
18920 (grub_disk_cache_get_index): Change the type of SECTOR to
18921 grub_disk_addr_t. Calculate the hash with SECTOR casted to
18922 unsigned after shifting.
18923 (grub_disk_cache_invalidate): Change the type of SECTOR to
18924 grub_disk_addr_t.
18925 (grub_disk_cache_unlock): Likewise.
18926 (grub_disk_cache_store): Likewise.
18927 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
18928 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
18929 grub_disk_addr_t and grub_uint64_t, respectively.
18930 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
18931 body, as the value of OFFSET is tweaked by
18932 grub_disk_check_range. Change the types of START_SECTOR, LEN and
18933 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
18934 respectively.
18935 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
18936 body, as the value of OFFSET is tweaked by
18937 grub_disk_check_range. Change the types of LEN and N to
18938 grub_size_t.
18939
18940 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
18941 and "saved_offset" to grub_off_t.
18942 (test_header): Cast BUF to char *.
18943 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
18944 to char *.
18945 (grub_gzio_read): Change the types of OFFSET and SIZE to
18946 grub_off_t and grub_size_t, respectively.
18947
18948 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
18949 Removed.
18950 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
18951 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
18952 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
18953 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
18954 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
18955
18956 * include/grub/types.h (grub_off_t): Unconditionally set to
18957 grub_uint64_t.
18958 (grub_disk_addr_t): Changed to grub_uint64_t.
18959
18960 * include/grub/partition.h (struct grub_partition): Change the
18961 types of "start", "len" and "offset" to grub_disk_addr_t,
18962 grub_uint64_t and grub_disk_addr_t, respectively.
18963 (grub_partition_get_start): Return grub_disk_addr_t.
18964 (grub_partition_get_len): Return grub_uint64_t.
18965
18966 * include/grub/misc.h (grub_strtoull): New prototype.
18967 (grub_divmod64): Likewise.
18968
18969 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
18970 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
18971 grub_off_t, respectively.
18972 All callers and references changed.
18973
18974 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
18975 grub_size_t in "read".
18976 All callers and references changed.
18977
18978 * include/grub/file.h (struct grub_file): Change the types of
18979 "offset" and "size" to grub_off_t and grub_off_t,
18980 respectively. Change the type of SECTOR to grub_disk_addr_t in
18981 "read_hook".
18982 (grub_file_read): Change the type of LEN to grub_size_t.
18983 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
18984 grub_off_t.
18985 (grub_file_size): Return grub_off_t.
18986 (grub_file_tell): Likewise.
18987 All callers and references changed.
18988
18989 * include/grub/disk.h (struct grub_disk_dev): Change the types of
18990 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
18991 "write".
18992 (struct grub_disk): Change the type of "total_sectors" to
18993 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 18994 "read_hook".
524a1e6a 18995 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
18996 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
18997 (grub_disk_write): Likewise.
18998 All callers and references changed.
18999
19000 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19001 char * for grub_strncmp to silence gcc.
19002 (grub_iso9660_mount): Likewise.
19003 (grub_iso9660_mount): Likewise.
19004 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19005 return statement.
19006 (grub_iso9660_iterate_dir): Likewise.
19007 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19008
19009 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19010 LEN to grub_disk_addr_t and grub_size_t, respectively.
19011
19012 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19013
19014 * fs/jfs.c (grub_jfs_read_file): Likewise.
19015
19016 * fs/minix.c (grub_jfs_read_file): Likewise.
19017
19018 * fs/sfs.c (grub_jfs_read_file): Likewise.
19019
19020 * fs/ufs.c (grub_jfs_read_file): Likewise.
19021
19022 * fs/xfs.c (grub_jfs_read_file): Likewise.
19023
19024 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19025 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19026 respectively.
19027
19028 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19029 BLKNR to -1 instead of returning GRUB_ERRNO.
19030 (grub_ext2_read_file): Change the types of SECTOR and
19031 LEN to grub_disk_addr_t and grub_size_t, respectively.
19032
19033 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19034 LEN to grub_disk_addr_t and grub_size_t, respectively.
19035
19036 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19037 grub_file_read.
19038
19039 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19040 string. Do not cast SECTOR explicitly.
19041
19042 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19043 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19044 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19045 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19046 over 2TB and LBA mode is not supported, raise an error.
19047 (get_safe_sectors): New function.
19048 (grub_biosdisk_read): Use get_safe_sectors.
19049 (grub_biosdisk_write): Likewise.
19050
19051 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19052 (grub_efidisk_write): Likewise.
19053
19054 * disk/loopback.c (delete_loopback): Cosmetic changes.
19055 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19056 correctly.
19057 (grub_loopback_open): Likewise.
19058 (grub_loopback_read): Likewise. Also, change the type of POS to
19059 grub_off_t, and fix the usage of grub_memset.
19060
19061 * commands/i386/pc/play.c: Include grub/machine/time.h.
19062
19063 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19064 print FILE->SIZE.
19065
19066 * commands/configfile.c: Include grub/env.h.
19067
19068 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19069 GRUB_ERRNO directly instead. Change the type of POS to
19070 grub_off_t. Follow the coding standard.
19071
19072 * commands/blocklist.c: Include grub/partition.h.
19073 (grub_cmd_blocklist): Return an error if the underlying device is
19074 not a disk. Take the starting sector of a partition into account,
19075 if a partition is used.
19076
19077 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19078 a length field.
19079 (lba_mode): Support 64-bit addresses.
19080 (chs_mode): Likewise.
19081 (copy_buffer): Adapted to the new offsets of a length field and a
19082 segment field.
19083 (blocklist_default_start): Allocate 64-bit space.
19084
19085 * boot/i386/pc/boot.S (force_lba): Removed.
19086 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19087 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19088 space.
19089 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19090 is useless.
19091 (lba_mode): Refactored to support a 64-bit address. More size
19092 optimization.
19093 (setup_sectors): Likewise.
19094
53af98ad 190952006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19096
19097 * DISTLIST: Added include/grub/i386/linux.h. Removed
19098 include/grub/i386/pc/linux.h
19099
19100 * configure.ac (AC_INIT): Bumped to 1.94.
19101
19102 * config.guess: Updated from gnulib.
19103 * config.sub: Likewise.
19104 * install-sh: Likewise.
19105 * mkinstalldirs: Likewise.
19106
b4c1940a 191072006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19108
19109 * conf/common.rmk (grub_modules_init.lst): Depended on
19110 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19111 MODSRCFILES.
19112
19113 * genmk.rb (PModule::rule): Reverted the previous change.
19114
cfca1cfd 191152006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19116
19117 * conf/common.rmk (grub_modules_init.lst): Depends on
19118 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19119 that the target does not exist before producing.
19120 (grub_modules_init.h): Remove the target before generating.
19121 (grub_emu_init.c): Likewise.
19122
19123 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19124
aa6d7826 191252006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19126
19127 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19128 for the target-specific tests. Make sure that we also have the
19129 up-to-date target variables for those tests.
19130
26c607b9 191312006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19132
19133 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19134 (PModule::rule): Likewise.
19135
0162321a 191362006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19137
19138 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19139 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19140 target-specific flags should be prefixed.
19141 (PModule::rule): Likewise.
19142
6c826348 191432006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19144
19145 * configure.ac (CMP): Check if cmp is available explicitly.
19146
b977bf01 191472006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19148
19149 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19150 (target_cpu): New variable.
19151 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 19152
b977bf01 19153 * util/i386/pc/grub-install.in (host_cpu): Removed.
19154 (target_cpu): New variable.
19155 (pkglibdir): Use target_cpu instead of host_cpu.
19156
19157 * util/genmoddep.c: Removed.
f19dbdb7 19158
b977bf01 19159 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19160 instead of GRUB_HOST_SIZEOF_VOID_P.
19161 * kern/dl.c: Likewise.
19162
19163 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19164 ...
19165 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19166 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19167 (GRUB_TARGET_SIZEOF_LONG): ... this.
19168 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19169 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19170 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19171 to ...
19172 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19173 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19174 (GRUB_TARGET_SIZEOF_LONG): ... this.
19175 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19176 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19177 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19178 to ...
19179 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19180 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19181 (GRUB_TARGET_SIZEOF_LONG): ... this.
19182 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19183 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19184
19185 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
19186 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
19187 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
19188 instead of GRUB_HOST_SIZEOF_LONG.
19189 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
19190 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
19191 GRUB_CPU_WORDS_BIGENDIAN.
19192 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19193 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19194 grub_host_ssize_t.
19195
19196 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
19197 (genmoddep_SOURCES): Likewise.
19198 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
19199 (genmoddep_SOURCES): Likewise.
19200 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
19201 (genmoddep_SOURCES): Likewise.
19202 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
19203 Likewise.
19204 (genmoddep_SOURCES): Likewise.
19205
19206 * genmoddep.awk: New file.
19207
19208 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
19209 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
19210 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
19211 (PModule::rule): Likewise.
19212 (Program::rule): Likewise.
19213 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
19214 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
19215 respectively.
19216
19217 * configure.ac: Rewritten intensively to use host and target
19218 instead of build and host, respectively.
19219
19220 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
19221 (host_cpu): Removed.
19222 (target_cpu): New variable.
19223 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
19224 (BUILD_CC): Removed.
19225 (BUILD_CFLAGS): Likewise.
19226 (BUILD_CPPFLAGS): Likewise.
19227 (TARGET_CC): New variable.
19228 (TARGET_CFLAGS): Likewise.
19229 (TARGET_CPPFLAGS): Likewise.
19230 (TARGET_LDFLAGS): Likewise.
19231 (AWK): Likewise.
19232 (include): Use target_cpu instead of host_cpu.
19233 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 19234
b977bf01 19235 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
19236
f09771a1 192372006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
19238
19239 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
19240 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
19241 field 'false' to 'exec_on_false'.
19242 (grub_script_create_cmdif): Renamed argument names to reflect above
19243 changes.
19244
19245 * normal/execute.c (grub_script_execute_cmdif): Likewise.
19246
19247 * normal/script.c (grub_script_create_cmdif): Likewise.
19248
118f4fb3 192492006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
19250
19251 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
19252 top.
19253 (grub_hfsplus_btree_recptr): Likewise.
19254 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
19255 FILEBLOCK both to pass a block number and store next block
19256 number.
19257 (grub_hfsplus_read_block): Rewritten heavily to support an extent
19258 overflow file correctly. Specify errors appropriately, because
19259 fshelp expects that GRUB_ERRNO is set when fails. Reuse
19260 grub_hfsplus_btree_recptr to get the pointer to a found key.
19261 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
19262 is found.
19263
19264 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
19265 linux.mod.
19266 (_linux_mod_SOURCES): New variable.
19267 (_linux_mod_CFLAGS): Likewise.
19268 (_linux_mod_LDFLAGS): Likewise.
19269 (linux_mod_SOURCES): Likewise.
19270 (linux_mod_CFLAGS): Likewise.
19271 (linux_mod_LDFLAGS): Likewise.
19272
19273 * DISTLIST: Added loader/i386/efi/linux.c,
19274 loader/i386/efi/linux_normal.c and
19275 include/grub/i386/efi/loader.h.
19276
19277 * loader/i386/efi/linux.c: New file.
19278 * loader/i386/efi/linux_normal.c: Likewise.
19279 * include/grub/i386/efi/loader.h: Likewise.
19280
89a7d726 192812006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
19282
19283 * commands/blocklist.c: New file.
19284
19285 * DISTLIST: Added commands/blocklist.c.
19286
19287 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 19288 color for the background, and a darker color for the foreground.
89a7d726 19289 (grub_console_checkkey): Return READ_KEY.
19290 (grub_console_cls): Set the background to
19291 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
19292
19293 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
19294
19295 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
19296 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
19297
19298 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
19299 prototype.
19300
19301 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
19302 BG. The spec is wrong again.
19303
19304 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
19305 prototype.
19306 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
19307
19308 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19309 commands/blocklist.c.
19310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 19311
89a7d726 19312 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
19313 (blocklist_mod_SOURCES): New variable.
19314 (blocklist_mod_CFLAGS): Likewise.
19315 (blocklist_mod_LDFLAGS): Likewise.
19316
75c8f258 193172006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
19318
19319 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
19320 duplication.
19321 (lba_mode): Use %eax more intensively to reduce the code size.
19322
da2eb181 193232006-05-20 Marco Gerards <marco@gnu.org>
19324
19325 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
19326
19327 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
19328 for `menuentry'.
19329 (script): Accept leading newlines.
19330 (newlines): New rule to describe 0 or more newlines.
19331 (commands): Accept `command' with trailing newline. Fixed the
19332 order in which arguments were passed to `grub_script_add_cmd'.
19333 Accept commands separated by newlines.
19334 (function): Changed to accept newlines.
19335 (menuentry) Rewritten.
19336
19337 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
19338 front of the list, instead of to the end.
19339
577b4050 193402006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
19341
19342 * util/i386/pc/grub-install.in (bindir): New variable.
19343 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
19344 Shaver <lbgwjl@gmail.com>.
19345
0d6e1189 193462006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
19347
19348 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
19349 grub/machine/linux.h
19350 * loader/i386/pc/linux.c: Likewise.
19351
19352 * include/grub/i386/pc/linux.h: Moved to ...
19353 * include/grub/i386/linux.h: ... here.
19354
19355 * include/grub/i386/linux.h (struct linux_kernel_params): New
19356 struct.
f19dbdb7 19357
31b86e9f 193582006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
19359
19360 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
19361 checking.
19362 (grub_video_vbe_blit_glyph): Likewise.
19363 (grub_video_vbe_blit_bitmap): Likewise.
19364 (grub_video_vbe_blit_render_target): Likewise.
19365
83b984de 193662006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
19367
19368 * configure.ac (--with-platform): Properly quote the square
19369 brackets.
19370
5f0413bd 193712006-05-08 Marco Gerards <marco@gnu.org>
19372
19373 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
19374 this...
19375 (kernel_elf_HEADERS): ...to this. Updated all users.
19376 (grubof_symlist.c): Renamed from this...
19377 (kernel_elf_symlist.c): ...to this. Updated all users.
19378 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19379 (grubof_SOURCES): Renamed from this...
19380 (kernel_elf_SOURCES): ...to this.
19381 (grubof_HEADERS): Renamed from this...
19382 (kernel_elf_HEADERS): ...to this.
19383 (grubof_CFLAGS): Renamed from this...
19384 (kernel_elf_CFLAGS): ...to this.
19385 (grubof_ASFLAGS): Renamed from this...
19386 (kernel_elf_ASFLAGS): ...to this.
19387 (grubof_LDFLAGS): Renamed from this...
19388 (kernel_elf_LDFLAGS): ...to this.
19389
19390 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
19391 this...
19392 (kernel_elf_HEADERS): ...to this. Updated all users.
19393 (grubof_symlist.c): Renamed from this...
19394 (kernel_elf_symlist.c): ...to this. Updated all users.
19395 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19396 (grubof_SOURCES): Renamed from this...
19397 (kernel_elf_SOURCES): ...to this.
19398 (grubof_HEADERS): Renamed from this...
19399 (kernel_elf_HEADERS): ...to this.
19400 (grubof_CFLAGS): Renamed from this...
19401 (kernel_elf_CFLAGS): ...to this.
19402 (grubof_ASFLAGS): Renamed from this...
19403 (kernel_elf_ASFLAGS): ...to this.
19404 (grubof_LDFLAGS): Renamed from this...
19405 (kernel_elf_LDFLAGS): ...to this.
19406
19407 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
19408 `kernel.elf' instead of `grubof'.
19409
05568c2e 194102006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
19411
19412 Add --with-platform to configure. Use pkglibdir instead of
19413 pkgdatadir. This is reported by Roger Leigh.
19414
19415 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
19416 (host_vendor): Likewise.
19417 (host_os): Likewise.
19418 (pkgdatadir): Likewise.
19419 (platform): New variable.
19420 (pkglibdir): Likewise.
19421 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 19422
05568c2e 19423 * util/i386/pc/grub-install.in (datadir): Removed.
19424 (host_vendor): Likewise.
19425 (host_os): Likewise.
19426 (pkgdatadir): Likewise.
19427 (platform): New variable.
19428 (pkglibdir): Likewise.
19429 Use PKGLIBDIR instead of PKGDATADIR.
19430
19431 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
19432 instead of GRUB_DATADIR.
19433 (main): Likewise.
19434 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19435 (main): Likewise.
19436 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19437 (main): Likewise.
19438
19439 * configure.ac (--with-platform): New option.
19440 Use PLATFORM instead of HOST_VENDOR to specify a platform.
19441
19442 * Makefile.in: Include a makefile based on PLATFORM instead of
19443 HOST_VENDOR.
19444 (pkgdatadir): Not appended by the machine type.
19445 (pkglibdir): Appended by the machine type.
19446 (host_vendor): Removed.
19447 (platform): New variable.
19448 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
19449 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
19450 (uninstall): Likewise.
19451
4e93851c 194522006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
19453
19454 Use the environment context in the menu. Remove the commands
19455 "default" and "timeout", and use variables instead.
f19dbdb7 19456
4e93851c 19457 * normal/menu.c: Include grub/env.h.
19458 (print_entry): Cast TITLE to silence gcc.
19459 (get_timeout): New function.
19460 (set_timeout): Likewise.
19461 (get_entry_number): Likewise.
19462 (run_menu): Use a default entry, a fallback entry and a timeout
19463 in the environment variables "default", "fallback" and
19464 "timeout". Also, tweak the default entry if it is not within the
19465 current menu entries.
19466 (grub_menu_run): Use a fallback entry in the environment variable
19467 "fallback".
19468
19469 * normal/main.c (read_config_file): Do not initialize
19470 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19471 NEWMENU->TIMEOUT.
19472 (grub_normal_execute): Use a data slot to store the menu.
19473
19474 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19475 fallback_entry and timeout.
19476 (struct grub_menu_list): Removed.
19477 (grub_menu_list_t): Likewise.
19478 (struct grub_context): Likewise.
19479 (grub_context_t): Likewise.
19480 (grub_context_get): Likewise.
19481 (grub_context_get_current_menu): Likewise.
19482 (grub_context_push_menu): Likewise.
19483 (grub_context_pop_menu): Likewise.
19484 (grub_default_init): Likewise.
19485 (grub_default_fini): Likewise.
19486 (grub_timeout_init): Likewise.
19487 (grub_timeout_fini): Likewise.
19488
19489 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19490 and timeout.mod.
19491 (normal_mod_SOURCES): Removed normal/context.c.
19492
19493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19494 commands/default.c, commands/timeout.c and normal/context.c.
19495 (normal_mod_SOURCES): Removed normal/context.c.
19496
19497 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19498 commands/timeout.c and normal/context.c.
19499 (normal_mod_SOURCES): Removed normal/context.c.
19500
19501 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19502 commands/default.c, commands/timeout.c and normal/context.c.
19503 (normal_mod_SOURCES): Removed normal/context.c.
19504
19505 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19506 timeout.mod.
19507 (default_mod_SOURCES): Removed.
19508 (default_mod_CFLAGS): Likewise.
19509 (default_mod_LDFLAGS): Likewise.
19510 (timeout_mod_SOURCES): Removed.
19511 (timeout_mod_CFLAGS): Likewise.
19512 (timeout_mod_LDFLAGS): Likewise.
19513
19514 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19515 normal/context.c.
19516
19517 * commands/default.c: Removed.
19518 * commands/timeout.c: Likewise.
19519 * normal/context.c: Likewise.
19520
1eb9cc1d 195212006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19522
19523 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19524
385bd9c1 195252006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19526
19527 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19528 "next" to "prev" for readability.
19529 (struct grub_env_sorted_var): New struct.
19530 (grub_env_context): Renamed to ...
19531 (initial_context): ... this.
19532 (grub_env_var_context): Renamed to ...
19533 (current_context): ... this.
19534 (grub_env_find): Look only at CURRENT_CONTEXT.
19535 (grub_env_context_open): Rewritten to copy exported variables from
19536 previous context.
19537 (grub_env_context_close): Rewritten according to the new
19538 scheme. Also, add an assertion to prevent the initial context from
19539 removed.
19540 (grub_env_insert): Removed the code for the sorted list.
19541 (grub_env_remove): Likewise.
19542 (grub_env_export): Simply mark the variable with
19543 GRUB_ENV_VAR_GLOBAL.
19544 (grub_env_set): A cosmetic change for naming consistency.
19545 (grub_env_get): Likewise.
19546 (grub_env_unset): Likewise.
19547 (grub_env_iterate): Rewritten to sort variables within this
19548 function.
19549 (grub_register_variable_hook): Fixed for naming consistency. Call
19550 grub_env_find again, only if NAME is not found at the first time.
19551 (mangle_data_slot_name): New function.
19552 (grub_env_set_data_slot): Likewise.
19553 (grub_env_get_data_slot): Likewise.
19554 (grub_env_unset_data_slot): Likewise.
19555
19556 * include/grub/env.h (grub_env_var_type): New enum.
19557 (GRUB_ENV_VAR_LOCAL): New constant.
19558 (GRUB_ENV_VAR_GLOBAL): Likewise.
19559 (GRUB_ENV_VAR_DATA): Likewise.
19560 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19561 "type".
19562 (grub_env_set): Replace VAR with NAME for consistency.
19563 (grub_register_variable_hook): Likewise.
19564 (grub_env_export): Specify the name of the argument.
19565 (grub_env_set_data_slot): New prototype.
19566 (grub_env_get_data_slot): Likewise.
19567 (grub_env_unset_data_slot): Likewise.
19568
7f362539 195692006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19570
19571 Extend the loader so that GRUB can accept a loader which comes
19572 back to GRUB when a loaded image exits. Also, this change adds
19573 support for a chainloader on EFI.
f19dbdb7 19574
7f362539 19575 * term/efi/console.c: Include grub/misc.h.
19576 (grub_console_checkkey): Display a scan code on the top for
19577 debugging. This will be removed once the EFI port gets stable.
19578 Correct the scan code mapping.
19579
19580 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19581 allocate memory from larger regions, in order to reduce the number
19582 of allocated regions. Otherwise, the MacOSX loader panics.
19583 (filter_memory_map): Avoid less than 1MB for compatibility with
19584 other loaders.
19585 (add_memory_regions): Allocate from the tail of a region, if
19586 possible, to avoid allocating a region near to 1MB, for the MacOSX
19587 loader.
19588
19589 * kern/efi/init.c (grub_efi_set_prefix): Specify
19590 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19591
19592 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19593 argument IMAGE_HANDLE and specify it to get a loaded image.
19594 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19595 grub_efi_get_loaded_image.
fe6b695a 19596 (grub_efi_get_filename): Divide the length by the size of
7f362539 19597 grub_efi_char16_t.
19598 (grub_efi_get_device_path): New function.
19599 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19600 the length by the size of grub_efi_char16_t for a file path device
19601 path node.
19602
19603 * kern/loader.c (grub_loader_noreturn): New variable.
19604 (grub_loader_set): Accept a new argument NORETURN. Set
19605 GRUB_LOADER_NORETURN to NORETURN.
19606 All callers changed.
19607 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19608 grub_machine_fini.
19609
19610 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19611 prototype.
19612 (grub_efi_get_loaded_image): Take an argument to specify an image
19613 handle.
19614
19615 * include/grub/loader.h (grub_loader_set): Added one more argument
19616 NORETURN.
19617
19618 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19619 instead of grub_efi_open_protocol.
19620 (grub_efidisk_get_device_name): Likewise.
19621 (grub_efidisk_close): Print a newline.
19622 (grub_efidisk_get_device_handle): Fixed to use
19623 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19624 GRUB_EFI_DEVICE_PATH_TYPE.
19625
19626 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19627 * kern/efi/efi.c (device_path_guid): ... here.
19628
19629 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19630 chain.mod.
19631 (kernel_mod_HEADERS): Added efi/disk.h.
19632 (_chain_mod_SOURCES): New variable.
19633 (_chain_mod_CFLAGS): Likewise.
19634 (_chain_mod_LDFLAGS): Likewise.
19635 (chain_mod_SOURCES): Likewise.
19636 (chain_mod_CFLAGS): Likewise.
19637 (chain_mod_LDFLAGS): Likewise.
19638
19639 * DISTLIST: Added include/grub/efi/chainloader.h,
19640 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
19641
19642 * include/grub/efi/chainloader.h: New file.
19643 * loader/efi/chainloader.c: Likewise.
19644 * loader/efi/chainloader_normal.c: Likewise.
19645
c0111d6e 196462006-04-30 Marco Gerards <marco@gnu.org>
19647
19648 * commands/configfile.c (grub_cmd_source): New function.
19649 (GRUB_MOD_INIT): Register the commands `source' and `.'.
19650 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
19651
df5341da 196522006-04-30 Marco Gerards <marco@gnu.org>
19653
19654 * normal/execute.c (grub_script_execute_cmd): Change the return
19655 type to `grub_err_t'. Correctly return the error.
19656 (grub_script_execute_cmdline): In case a command line is not a
19657 command or a function, try to interpret it as an assignment.
19658
f85934bd 196592006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19660
19661 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19662 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19663 skip a node whose name is obviously invalid as UTF-16,
19664 i.e. contains a NUL character. Stop the iteration when the last
19665 directory entry is found. Instead of using the return value of
19666 grub_hfsplus_btree_iterate_node, store the value in RET and use
19667 it, because the iterator can be stopped by the last directory
19668 entry.
19669
8f8a2cf8 196702006-04-30 Marco Gerards <marco@gnu.org>
19671
19672 * include/grub/env.h (grub_env_export): New prototype. Reported
19673 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19674
a27e84ce 196752006-04-30 Marco Gerards <marco@gnu.org>
19676
19677 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19678 size of the extents in a catalog file record.
19679
eaef0553 196802006-04-29 Marco Gerards <marco@gnu.org>
19681
19682 * commands/configfile.c (grub_cmd_configfile): Execute the
19683 configfile within its own context.
19684
19685 * include/grub/env.h (grub_env_context_open): New prototype.
19686 (grub_env_context_close): Likewise.
19687
19688 * kern/env.c (grub_env): Removed.
19689 (grub_env_sorted): Likewise.
19690 (grub_env_context): New variable.
19691 (grub_env_var_context): Likewise.
19692 (grub_env_find): Search both the active context and the global
19693 context.
19694 (grub_env_context_open): New function.
19695 (grub_env_context_close): Likewise.
19696 (grub_env_insert): Likewise.
19697 (grub_env_remove): Likewise.
19698 (grub_env_export): Likewise.
19699 (grub_env_set): Changed to use helper functions to avoid code
19700 duplication.
19701 (grub_env_iterate): Rewritten so both the current context and the
19702 global context are being used.
19703
19704 * normal/command.c (export_command): New function.
19705 (grub_command_init): Register the `export' function.
19706
7b455f4d 197072006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19708
19709 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19710 explicitly to suppress gcc's warnings.
19711 * fs/fat.c (grub_fat_find_dir): Likewise.
19712 (grub_fat_label): Likewise.
19713 * fs/xfs.c (grub_xfs_read_inode): Likewise.
19714 (grub_xfs_mount): Likewise.
19715 (grub_xfs_label): Likewise.
19716 * fs/affs.c (grub_affs_mount): Likewise.
19717 (grub_affs_label): Likewise.
19718 (grub_affs_iterate_dir): Likewise.
19719 * fs/sfs.c (grub_sfs_mount): Likewise.
19720 (grub_sfs_iterate_dir): Likewise.
19721 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
19722 * fs/hfs.c (grub_hfs_mount): Likewise.
19723 (grub_hfs_cmp_catkeys): Likewise.
19724 (grub_hfs_find_dir): Likewise.
19725 (grub_hfs_dir): Likewise.
19726 (grub_hfs_label): Likewise.
19727 * fs/jfs.c (grub_jfs_mount): Likewise.
19728 (grub_jfs_opendir): Likewise.
19729 (grub_jfs_getent): Likewise.
19730 (grub_jfs_lookup_symlink): Likewise.
19731 (grub_jfs_label): Likewise.
19732 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
19733 (grub_hfsplus_iterate_dir): Likewise.
19734 (grub_hfsplus_btree_iterate_node): Made static.
19735
19736 * util/grub-emu.c (prefix): New variable.
19737 (grub_machine_set_prefix): New function.
19738 (main): Do not set the environment variable "prefix" here. Only
19739 set PREFIX, which is used later by grub_machine_set_prefix.
19740
19741 * include/grub/video.h: Do not include grub/symbol.h.
19742 (grub_video_register): Not exported. This symbol is not defined in
19743 the kernel.
19744 (grub_video_unregister): Likewise.
19745 (grub_video_iterate): Likewise.
19746 (grub_video_setup): Likewise.
19747 (grub_video_restore): Likewise.
19748 (grub_video_get_info): Likewise.
19749 (grub_video_get_blit_format): Likewise.
19750 (grub_video_set_palette): Likewise.
19751 (grub_video_get_palette): Likewise.
19752 (grub_video_set_viewport): Likewise.
19753 (grub_video_get_viewport): Likewise.
19754 (grub_video_map_color): Likewise.
19755 (grub_video_map_rgb): Likewise.
19756 (grub_video_map_rgba): Likewise.
19757 (grub_video_fill_rect): Likewise.
19758 (grub_video_blit_glyph): Likewise.
19759 (grub_video_blit_bitmap): Likewise.
19760 (grub_video_blit_render_target): Likewise.
19761 (grub_video_scroll): Likewise.
19762 (grub_video_swap_buffers): Likewise.
19763 (grub_video_create_render_target): Likewise.
19764 (grub_video_delete_render_target): Likewise.
19765 (grub_video_set_active_render_target): Likewise.
19766
19767 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
19768 Undefined.
19769 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
19770
19771 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
19772 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19773 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19774 instead of $(srcdir)/genkernsyms.sh.
19775
19776 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
19777 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19778 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19779 instead of $(srcdir)/genkernsyms.sh.
19780
19781 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
19782 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19783 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19784 instead of $(srcdir)/genkernsyms.sh.
19785
19786 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
19787 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19788 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19789 instead of $(srcdir)/genkernsyms.sh.
19790
19791 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
19792 genkernsyms.sh.
19793
19794 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
19795 genkernsyms.sh.
19796 (gensymlist.sh): New target.
19797 (genkernsyms.sh): Likewise.
19798
19799 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
19800 genkernsyms.sh.in and gensymlist.sh.in.
19801
19802 * genkernsyms.sh: Removed.
19803 * gensymlist.sh: Likewise.
f19dbdb7 19804
7b455f4d 19805 * genkernsyms.sh.in: New file.
19806 * gensymlist.sh.in: Likewise.
19807
1885bb27 198082006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19809
19810 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
19811 clobber "prefix", since we may have already set it manually.
19812
71538dff 198132006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19814
19815 * kern/misc.c (abort): New alias for grub_abort.
19816
2965c7cc 198172006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
19818
19819 A new machine-specific function "grub_machine_set_prefix" is
19820 defined. This is called after loading modules, so that a prefix
19821 initialization can use modules. Also, this change adds an
19822 intensive debugging feature for the memory manager via the
19823 configure option "--enable-mm-debug".
f19dbdb7 19824
2965c7cc 19825 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
19826 PART.LEN.
19827
19828 * kern/sparc64/ieee1275/init.c (abort): Removed.
19829 (grub_stop): Likewise.
19830 (grub_exit): New function.
19831 (grub_set_prefix): Renamed to ...
19832 (grub_machine_set_prefix): ... this.
19833 (grub_machine_init): Do not call grub_set_prefix.
19834
19835 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
19836 (grub_machine_set_prefix): ... this.
19837 (grub_machine_init): Do not call grub_set_prefix.
19838
19839 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
19840 (grub_machine_init): Do not set the prefix here.
19841
19842 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
19843
19844 * kern/efi/init.c: Include grub/mm.h.
19845 (grub_efi_set_prefix): New function.
19846
19847 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
19848 (grub_efi_get_filename): New function.
19849 (grub_print_device_path): Renamed to ...
19850 (grub_efi_print_device_path): ... this.
19851
19852 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19853 [MM_DEBUG] (grub_realloc): Likewise.
19854 [MM_DEBUG] (grub_free): Likewise.
19855 [MM_DEBUG] (grub_memalign): Likewise.
19856 [MM_DEBUG] (grub_mm_debug): New variable.
19857 [MM_DEBUG] (grub_debug_malloc): New function.
19858 [MM_DEBUG] (grub_debug_free): New function.
19859 [MM_DEBUG] (grub_debug_realloc): New function.
19860 [MM_DEBUG] (grub_debug_memalign): New function.
19861
19862 * kern/misc.c (grub_abort): Print a newline to distinguish
19863 the message.
19864
19865 * kern/main.c (grub_main): Call grub_machine_set_prefix and
19866 grub_set_root_dev after loading modules. This is necessary when
19867 setting a prefix depends on modules.
19868
19869 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
19870 (grub_efi_print_device_path): ... this.
19871 (grub_efi_get_filename): New prototype.
19872 (grub_efi_set_prefix): Likewise.
19873
19874 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
19875 and grub/disk.h.
19876 (grub_efidisk_get_device_handle): New prototype.
19877 (grub_efidisk_get_device_name): Likewise.
19878
19879 * include/grub/mm.h: Include config.h.
19880 (MM_DEBUG): Removed.
19881 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
19882 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
19883 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
19884 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
19885 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
19886 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
19887 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
19888 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
19889 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
19890
19891 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
19892
19893 * disk/efi/efidisk.c: Include grub/partition.h.
19894 (iterate_child_devices): New function.
19895 (add_device): First, compare only last device path nodes, so that
19896 devices are sorted by the types.
19897 (grub_efidisk_get_device_handle): New function.
19898 (grub_efidisk_get_device_name): Likewise.
19899
19900 * configure.ac (--enable-mm-debug): New option to enable the
19901 memory manager debugging feature. This makes the binary much
19902 bigger, so is disabled by default.
19903
9cacaa17 199042006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
19905
19906 Use grub_abort instead of grub_stop, and grub_exit must be
19907 define in each architecture now. Also, this change adds support
19908 for EFI disks.
f19dbdb7 19909
9cacaa17 19910 * util/i386/pc/grub-probefs.c: Include grub/term.h.
19911 (grub_getkey): New function.
19912 (grub_term_get_current): Likewise.
19913
19914 * util/i386/pc/grub-setup.c: Include grub/term.h.
19915 (grub_getkey): New function.
19916 (grub_term_get_current): Likewise.
19917
19918 * util/misc.c (grub_stop): Renamed to ...
19919 (grub_exit): ... this.
19920
19921 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
19922 (grub_exit): ... this.
19923 (grub_machine_init): Use grub_abort instead of abort.
19924 (grub_stop): Removed.
19925
19926 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
19927 abort.
19928
19929 * kern/i386/pc/startup.S (grub_exit): New function.
19930 (cold_reboot): New label.
19931
19932 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
19933 (grub_efi_init): Call grub_efidisk_init.
19934 (grub_efi_fini): Call grub_efidisk_fini.
19935
19936 * kern/efi/efi.c: Include grub/mm.h.
19937 (grub_efi_console_control_guid): Renamed to ...
19938 (console_control_guid): ... this.
19939 (grub_efi_loaded_image_guid): Renamed to ...
19940 (loaded_image_guid): ... this.
19941 (grub_efi_locate_handle): New function.
19942 (grub_efi_open_protocol): Likewise.
19943 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
19944 GRUB_EFI_CONSOLE_CONTROL_GUID.
19945 (grub_efi_exit): Removed.
19946 (grub_stop): Likewise.
19947 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
19948 (grub_exit): New function.
19949 (grub_print_device_path): Likewise.
19950
19951 * kern/rescue.c (grub_rescue_cmd_exit): New function.
19952 (grub_enter_rescue_mode): Register "exit".
19953
19954 * kern/misc.c (grub_real_dprintf): A cosmetic change.
19955 (grub_abort): New function.
19956
19957 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
19958
19959 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
19960
19961 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
19962
19963 * include/grub/efi/efi.h (grub_efi_exit): Removed.
19964 (grub_print_device_path): New prototype.
19965 (grub_efi_locate_handle): Likewise.
19966 (grub_efi_open_protocol): Likewise.
19967
19968 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
19969 * disk/efi/efidisk.c: Likewise.
19970
19971 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
19972
19973 * include/grub/efi/console_control.h
19974 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
19975
19976 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
19977 last 8 bytes as an array.
19978 (GRUB_EFI_DISK_IO_GUID): New macro.
19979 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
19980 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
19981 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
19982 grub_uint8_t.
19983 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
19984 (struct grub_efi_device_path): Rename the member "sub_type" to
19985 "subtype".
19986 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
19987 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
19988 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
19989 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
19990 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
19991 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
19992 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
19993 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
19994 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
19995 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
19996 (struct grub_efi_pci_device_path): New structure.
19997 (grub_efi_pci_device_path_t): New type.
19998 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
19999 (struct grub_efi_pccard_device_path): New structure.
20000 (grub_efi_pccard_device_path_t): New type.
20001 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20002 (struct grub_efi_memory_mapped_device_path): New structure.
20003 (grub_efi_memory_mapped_device_path_t): New type.
20004 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20005 (struct grub_efi_vendor_device_path): New structure.
20006 (grub_efi_vendor_device_path_t): New type.
20007 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20008 (struct grub_efi_controller_device_path): New structure.
20009 (grub_efi_controller_device_path_t): New type.
20010 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20011 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20012 (struct grub_efi_acpi_device_path): New structure.
20013 (grub_efi_acpi_device_path_t): New type.
20014 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20015 (struct grub_efi_expanded_acpi_device_path): New structure.
20016 (grub_efi_expanded_acpi_device_path_t): New type.
20017 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20018 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20019 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20020 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20021 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20022 (struct grub_efi_atapi_device_path): New structure.
20023 (grub_efi_atapi_device_path_t): New type.
20024 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20025 (struct grub_efi_fibre_channel_device_path): New structure.
20026 (grub_efi_fibre_channel_device_path_t): New type.
20027 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20028 (struct grub_efi_1394_device_path): New structure.
20029 (grub_efi_1394_device_path_t): New type.
20030 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20031 (struct grub_efi_usb_device_path): New structure.
20032 (grub_efi_usb_device_path_t): New type.
20033 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20034 (struct grub_efi_usb_class_device_path): New structure.
20035 (grub_efi_usb_class_device_path_t): New type.
20036 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20037 (struct grub_efi_i2o_device_path): New structure.
20038 (grub_efi_i2o_device_path_t): New type.
20039 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20040 (struct grub_efi_mac_address_device_path): New structure.
20041 (grub_efi_mac_address_device_path_t): New type.
20042 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20043 (struct grub_efi_ipv4_device_path): New structure.
20044 (grub_efi_ipv4_device_path_t): New type.
20045 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20046 (struct grub_efi_ipv6_device_path): New structure.
20047 (grub_efi_ipv6_device_path_t): New type.
20048 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20049 (struct grub_efi_infiniband_device_path): New structure.
20050 (grub_efi_infiniband_device_path_t): New type.
20051 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20052 (struct grub_efi_uart_device_path): New structure.
20053 (grub_efi_uart_device_path_t): New type.
20054 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20055 (struct grub_efi_vendor_messaging_device_path): New structure.
20056 (grub_efi_vendor_messaging_device_path_t): New type.
20057 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20058 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20059 (struct grub_efi_hard_drive_device_path): New structure.
20060 (grub_efi_hard_drive_device_path_t): New type.
20061 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20062 (struct grub_efi_cdrom_device_path): New structure.
20063 (grub_efi_cdrom_device_path_t): New type.
20064 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20065 (struct grub_efi_vendor_media_device_path): New structure.
20066 (grub_efi_vendor_media_device_path_t): New type.
20067 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20068 (struct grub_efi_file_path_device_path): New structure.
20069 (grub_efi_file_path_device_path_t): New type.
20070 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20071 (struct grub_efi_protocol_device_path): New structure.
20072 (grub_efi_protocol_device_path_t): New type.
20073 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20074 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20075 (struct grub_efi_bios_device_path): New structure.
20076 (grub_efi_bios_device_path_t): New type.
20077 (struct grub_efi_disk_io): New structure.
20078 (grub_efi_disk_io_t): New type.
20079 (struct grub_efi_block_io_media): New structure.
20080 (grub_efi_block_io_media_t): New type.
20081 (struct grub_efi_block_io): New structure.
20082 (grub_efi_block_io_t): New type.
20083
20084 * include/grub/misc.h (grub_stop): Removed.
20085 (grub_exit): New prototype.
20086 (grub_abort): Likewise.
20087
20088 * include/grub/disk.h (enum grub_disk_dev_id): Added
20089 GRUB_DISK_DEVICE_EFIDISK_ID.
20090
20091 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20092 disk/efi/efidisk.c.
20093 (kernel_syms.lst): Remove the target if an error occurs.
20094
49986a9f 200952006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20096
20097 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20098 as it was simply too buggy.
20099
970d3b8a 201002006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20101
20102 * kern/misc.c (grub_lltoa): New function.
20103 (grub_vsprintf): Added support for the long long suffix,
20104 i.e. "ll".
20105
ff04ec24 201062006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20107
20108 * Makefile.in (LDFLAGS): Add variable.
20109 (LD): Remove variable.
20110 * configure.ac: Add -m32 to LDFLAGS.
20111 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20112 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20113 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20114 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20115 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20116 variables.
20117 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20118 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20119 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20120
37e5e1a4 201212006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20122
20123 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20124 length for unknown glyph.
20125
c352d8dd 201262006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20127
2eab1c0d 20128 Add support for pre-loaded modules into the EFI port.
f19dbdb7 20129
2eab1c0d 20130 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20131 completely. Accept one more argument DIR. The caller has changed.
20132
20133 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20134
20135 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20136 (grub_efi_loaded_image_guid): New variable.
20137 (grub_efi_get_loaded_image): New function.
20138 (grub_arch_modules_addr): Likewise.
20139
20140 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20141 prototype.
20142
20143 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20144 (struct grub_efi_loaded_image): New structure.
20145 (grub_efi_loaded_image_t): New type.
20146
201472006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20148
c352d8dd 20149 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20150 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20151 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20152
6d01d6b4 201532006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20154
20155 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20156
976a4ea0 201572006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20158
20159 * DISTLIST: Added include/grub/efi/console.h,
20160 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20161 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20162
20163 * include/grub/efi/console.h: New file.
20164 * include/grub/efi/time.h: Likewise.
20165 * include/grub/i386/efi/kernel.h: Likewise.
20166 * kern/efi/init.c: Likewise.
20167 * kern/efi/mm.c: Likewise.
20168 * term/efi/console.c: Likewise.
f19dbdb7 20169
976a4ea0 20170 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20171 (grub_stop): Removed.
20172 (grub_get_rtc): Likewise.
20173 (grub_machine_init): Simply call grub_efi_init.
20174 (grub_machine_fini): Call grub_efi_fini.
20175
20176 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
20177 (grub_efi_output_string): Removed.
20178 (grub_efi_stall): New function.
20179 (grub_stop): Likewise.
20180 (grub_get_rtc): Likewise.
20181
20182 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
20183 (grub_efi_stall): New prototype.
20184 (grub_efi_allocate_pages): Likewise.
20185 (grub_efi_free_pages): Likewise.
20186 (grub_efi_get_memory_map): Likewise.
20187 (grub_efi_mm_init): Likewise.
20188 (grub_efi_mm_fini): Likewise.
20189 (grub_efi_init): Likewise.
20190 (grub_efi_fini): Likewise.
20191
20192 * include/grub/i386/efi/time.h: Do not include
20193 grub/symbol.h. Include grub/efi/time.h.
20194 (GRUB_TICKS_PER_SECOND): Removed.
20195 (grub_get_rtc): Likewise.
20196
20197 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
20198 Added padding. The EFI spec is buggy.
20199 (GRUB_EFI_BLACK): New macro.
20200 (GRUB_EFI_BLUE): Likewise.
20201 (GRUB_EFI_GREEN): Likewise.
20202 (GRUB_EFI_CYAN): Likewise.
20203 (GRUB_EFI_RED): Likewise.
20204 (GRUB_EFI_MAGENTA): Likewise.
20205 (GRUB_EFI_BROWN): Likewise.
20206 (GRUB_EFI_LIGHTGRAY): Likewise.
20207 (GRUB_EFI_BRIGHT): Likewise.
20208 (GRUB_EFI_DARKGRAY): Likewise.
20209 (GRUB_EFI_LIGHTBLUE): Likewise.
20210 (GRUB_EFI_LIGHTGREEN): Likewise.
20211 (GRUB_EFI_LIGHTCYAN): Likewise.
20212 (GRUB_EFI_LIGHTRED): Likewise.
20213 (GRUB_EFI_LIGHTMAGENTA): Likewise.
20214 (GRUB_EFI_YELLOW): Likewise.
20215 (GRUB_EFI_WHITE): Likewise.
20216 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
20217 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
20218 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
20219 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
20220 (GRUB_EFI_BACKGROUND_RED): Likewise.
20221 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
20222 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
20223 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
20224 (GRUB_EFI_TEXT_ATTR): Likewise.
20225
20226 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
20227 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20228 (kernel_mod_HEADERS): Added efi/time.h.
20229
83709125 202302006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
20231
20232 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
20233 include/grub/efi/api.h, include/grub/efi/console_control.h,
20234 include/grub/efi/efi.h, include/grub/efi/pe32.h,
20235 include/grub/i386/efi/time.h, kern/efi/efi.c,
20236 kern/i386/efi/init.c, kern/i386/efi/startup.S,
20237 and util/i386/efi/grub-mkimage.c.
20238
20239 * Makefile.in (RMKFILES): Added i386-efi.rmk.
20240
20241 * genmk.rb (PModule#rule): Do not export symbols if
20242 #{prefix}_EXPORTS is set to "no".
20243
20244 * conf/i386-efi.mk: New file.
20245 * conf/i386-efi.rmk: Likewise.
20246 * include/grub/efi/api.h: Likewise.
20247 * include/grub/efi/console_control.h: Likewise.
20248 * include/grub/efi/efi.h: Likewise.
20249 * include/grub/efi/pe32.h: Likewise.
20250 * include/grub/i386/efi/time.h: Likewise.
20251 * kern/efi/efi.c: Likewise.
20252 * kern/i386/efi/init.c: Likewise.
20253 * kern/i386/efi/startup.S: Likewise.
20254 * util/i386/efi/grub-mkimage.c: Likewise.
20255
202562006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 20257
20258 * include/grub/script.h: Include <grub/parser.h> and
20259 "grub_script.tab.h".
20260 (struct grub_lexer_param): New struct.
20261 (struct grub_parser_param): Likewise.
20262 (grub_script_create_arglist): Pass the state in an argument.
20263 (grub_script_add_arglist): Likewise.
20264 (grub_script_create_cmdline): Likewise.
20265 (grub_script_create_cmdblock): Likewise.
20266 (grub_script_create_cmdif): Likewise.
20267 (grub_script_create_cmdmenu): Likewise.
20268 (grub_script_add_cmd): Likewise.
20269 (grub_script_arg_add): Likewise.
20270 (grub_script_lexer_ref): Likewise.
20271 (grub_script_lexer_deref): Likewise.
20272 (grub_script_lexer_record_start): Likewise.
20273 (grub_script_lexer_record_stop): Likewise.
20274 (grub_script_mem_record): Likewise.
20275 (grub_script_mem_record_stop): Likewise.
20276 (grub_script_malloc): Likewise.
20277 (grub_script_yylex): Likewise.
20278 (grub_script_yyparse): Likewise.
20279 (grub_script_yyerror): Likewise.
20280 (grub_script_yylex): Likewise.
20281 (grub_script_lexer_init): Return the state.
20282
20283 * normal/lexer.c (grub_script_lexer_state): Removed variable.
20284 (grub_script_lexer_done): Likewise.
20285 (grub_script_lexer_getline): Likewise.
20286 (grub_script_lexer_refs): Likewise.
20287 (script): Likewise.
20288 (newscript): Likewise.
20289 (record): Likewise.
20290 (recording): Likewise.
20291 (recordpos): Likewise.
20292 (recordlen): Likewise.
20293 (grub_script_lexer_init): Return the state instead of setting
20294 global variables.
20295 (grub_script_lexer_ref): Use the newly added argument for state
20296 instead of globals.
20297 (grub_script_lexer_deref): Likewise.
20298 (grub_script_lexer_record_start): Likewise.
20299 (grub_script_lexer_record_stop): Likewise.
20300 (recordchar): Likewise.
20301 (nextchar): Likewise.
20302 (grub_script_yylex2): Likewise.
20303 (grub_script_yylex): Likewise.
20304 (grub_script_yyerror): Likewise.
20305
20306 * normal/parser.y (func_mem): Removed variable.
20307 (menu_entry): Likewise.
20308 (err): Likewise.
20309 (%lex-param): New parser option.
20310 (%parse-param): Likewise.
20311 (script): Always return the AST.
20312 (argument): Pass the state around.
20313 (arguments): Likewise.
20314 (grubcmd): Likewise.
20315 (commands): Likewise.
20316 (function): Likewise.
20317 (menuentry): Likewise.
20318 (if_statement): Likewise.
20319 (if): Likewise.
20320
20321 * normal/script.c (grub_script_memused): Removed variable.
20322 (grub_script_parsed): Likewise.
20323 (grub_script_malloc): Added a state argument. Use that instead of
20324 global variables.
20325 (grub_script_mem_record): Likewise.
20326 (grub_script_mem_record_stop): Likewise.
20327 (grub_script_arg_add): Likewise.
20328 (grub_script_add_arglist): Likewise.
20329 (grub_script_create_cmdline): Likewise.
20330 (grub_script_create_cmdif): Likewise.
20331 (grub_script_create_cmdmenu): Likewise.
20332 (grub_script_add_cmd): Likewise.
20333 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 20334
e2a8c904 203352006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 20336
20337 * normal/command.c (grub_command_init): Remove the title command.
20338
20339 * normal/lexer.c (grub_script_yylex): Renamed from this...
20340 (grub_script_yylex2): ... to this.
20341 (grub_script_yylex): New function. Temporary
20342 introduced to filter some tokens.
20343 (grub_script_yyerror): Print a newline.
20344
20345 * normal/main.c (read_config_file): Output information about the
20346 lines that contain errors. Wait for a key after all lines have
20347 been processed. Don't return an empty menu.
20348
20349 * normal/parser.y (func_mem): Don't initialize.
20350 (menu_entry): Likewise.
20351 (err): New variable.
20352 (script): Don't return anything when an error was encountered.
20353 (ws, returns): Removed rules.
20354 (argument): Disabled concatenated variable support.
20355 (arguments): Remove explicit separators.
20356 (grubcmd): Likewise.
20357 (function): Likewise.
20358 (menuentry): Likewise.
20359 (if): Likewise.
20360 (commands): Likewise. Add error handling.
20361
20362 * normal/script.c (grub_script_create_cmdline): If
20363 `grub_script_parsed' is 0, assume the parser encountered an error.
20364
c9a86192 203652006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
20366
20367 * configure.ac: Add support for EFI. Fix the typo
20368 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
20369
70f3b243 203702006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20371
20372 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
20373 foreign multibyte characters should be shown correctly.
20374
65f201ad 203752006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20376
20377 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
20378 calculation.
20379 (read_config_file): Made it to close file before returning.
20380
b4b93674 203812006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
20382
20383 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
20384 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
20385 video/i386/pc/vbefill.c.
20386
20387 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
20388 video/i386/pc/vbefill.c.
20389
20390 * include/grub/video.h (grub_video_blit_format): New enum.
20391 (grub_video_mode_info): Added new member blit_format.
20392 (grub_video_get_blit_format): New function prototype.
20393
20394 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
20395 function prototype.
20396 (grub_video_vbe_map_rgb): Likewise.
20397 (grub_video_vbe_unmap_color): Likewise.
20398
20399 * include/grub/i386/pc/vbeblit.h: New file.
20400
20401 * include/grub/i386/pc/vbefill.h: New file.
20402
20403 * video/video.c (grub_video_get_blit_format): New function.
20404 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
20405 (grub_video_vbe_map_rgb): Likewise.
20406 (grub_video_vbe_unmap_color): Likewise.
20407
20408 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
20409 optimized fills.
20410 (grub_video_vbe_blit_render_target): Changed to use more optimized
20411 blits.
20412 (grub_video_vbe_setup): Added detection for optimized settings.
20413 (grub_video_vbe_create_render_target): Likewise.
20414
20415 * video/i386/pc/vbeblit.c: New file.
20416
20417 * video/i386/pc/vbefill.c: New file.
20418
c2379b9c 204192006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
20420
20421 * font/manager.c (grub_font_get_glyph): Removed font fixup from
20422 here...
20423
20424 * util/unifont2pff.rb: ... and moved it to here. Improved argument
20425 parsing to support both hex and dec ranges. If filename was missing
20426 show usage information.
20427
bd0d7896 204282006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
20429
20430 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
20431 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
20432
20433 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
20434 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
20435 (video_mod_SOURCES): Added.
20436 (video_mod_CFLAGS): Likewise.
20437 (video_mod_LDFLAGS): Likewise.
20438 (gfxterm_mod_SOURCES): Likewise.
20439 (gfxterm_mod_CFLAGS): Likewise.
20440 (gfxterm_mod_LDFLAGS): Likewise.
20441 (videotest_mod_SOURCES): Likewise.
20442 (videotest_mod_CFLAGS): Likewise.
20443 (videotest_mod_LDFLAGS): Likewise.
20444 (vesafb_mod_SOURCES): Removed.
20445 (vesafb_mod_CFLAGS): Likewise.
20446 (vesafb_mod_LDFLAGS): Likewise.
20447 (vga_mod_SOURCES): Likewise.
20448 (vga_mod_CFLAGS): Likewise.
20449 (vga_mod_LDFLAGS): Likewise.
20450
20451 * commands/videotest.c: New file.
20452
20453 * font/manager.c (fill_with_default_glyph): Modified to use
20454 grub_font_glyph.
20455 (grub_font_get_glyph): Likewise.
20456 (fontmanager): Renamed from this...
20457 (font_manager): ... to this.
20458
20459 * include/grub/font.h (grub_font_glyph): Added new structure.
20460 (grub_font_get_glyph): Modified to use grub_font_glyph.
20461
20462 * include/grub/misc.h (grub_abs): Added as inline function.
20463
20464 * include/grub/video.h: New file.
20465
20466 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20467 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20468 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20469 (grub_vbe_get_controller_info): Renamed from this...
20470 (grub_vbe_bios_get_controller_info): ... to this.
20471 (grub_vbe_get_mode_info): Renamed from this...
20472 (grub_vbe_bios_get_mode_info): ... to this.
20473 (grub_vbe_set_mode): Renamed from this...
20474 (grub_vbe_bios_set_mode): ... to this.
20475 (grub_vbe_get_mode): Renamed from this...
20476 (grub_vbe_bios_get_mode): ... to this.
20477 (grub_vbe_set_memory_window): Renamed from this...
20478 (grub_vbe_bios_set_memory_window): ... to this.
20479 (grub_vbe_get_memory_window): Renamed from this...
20480 (grub_vbe_bios_get_memory_window): ... to this.
20481 (grub_vbe_set_scanline_length): Renamed from this...
20482 (grub_vbe_set_scanline_length): ... to this.
20483 (grub_vbe_get_scanline_length): Renamed from this...
20484 (grub_vbe_bios_get_scanline_length): ... to this.
20485 (grub_vbe_set_display_start): Renamed from this...
20486 (grub_vbe_bios_set_display_start): ... to this.
20487 (grub_vbe_get_display_start): Renamed from this...
20488 (grub_vbe_bios_get_display_start): ... to this.
20489 (grub_vbe_set_palette_data): Renamed from this...
20490 (grub_vbe_bios_set_palette_data): ... to this.
20491 (grub_vbe_set_pixel_rgb): Removed.
20492 (grub_vbe_set_pixel_index): Likewise.
20493
20494 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20495 from this...
20496 (grub_vbe_bios_get_controller_info): ... to this.
20497 (grub_vbe_get_mode_info): Renamed from this...
20498 (grub_vbe_bios_get_mode_info): ... to this.
20499 (grub_vbe_set_mode): Renamed from this...
20500 (grub_vbe_bios_set_mode): ... to this.
20501 (grub_vbe_get_mode): Renamed from this...
20502 (grub_vbe_bios_get_mode): ... to this.
20503 (grub_vbe_set_memory_window): Renamed from this...
20504 (grub_vbe_bios_set_memory_window): ... to this.
20505 (grub_vbe_get_memory_window): Renamed from this...
20506 (grub_vbe_bios_get_memory_window): ... to this.
20507 (grub_vbe_set_scanline_length): Renamed from this...
20508 (grub_vbe_set_scanline_length): ... to this.
20509 (grub_vbe_get_scanline_length): Renamed from this...
20510 (grub_vbe_bios_get_scanline_length): ... to this.
20511 (grub_vbe_set_display_start): Renamed from this...
20512 (grub_vbe_bios_set_display_start): ... to this.
20513 (grub_vbe_get_display_start): Renamed from this...
20514 (grub_vbe_bios_get_display_start): ... to this.
20515 (grub_vbe_set_palette_data): Renamed from this...
20516 (grub_vbe_bios_set_palette_data): ... to this.
20517 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20518 getting corrupted after calling it. Added more pushes and pops.
20519 (grub_vbe_bios_set_mode): Likewise.
20520 (grub_vbe_bios_get_mode): Likewise.
20521 (grub_vbe_bios_get_memory_window): Likewise.
20522 (grub_vbe_bios_set_scanline_length): Likewise.
20523 (grub_vbe_bios_get_scanline_length): Likewise.
20524 (grub_vbe_bios_get_display_start): Likewise.
20525 (grub_vbe_bios_set_palette_data): Likewise.
20526
20527 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20528 (cl_insert): Likewise.
20529 (cl_delete): Likewise.
20530
20531 * term/gfxterm.c: New file.
20532
20533 * term/i386/pc/vesafb.c: Removed file.
20534
20535 * video/video.c: New file.
20536
20537 * video/i386/pc/vbe.c (real2pm): Added new function.
20538 (grub_video_vbe_draw_pixel): Likewise.
20539 (grub_video_vbe_get_video_ptr): Likewise.
20540 (grub_video_vbe_get_pixel): Likewise
20541 (grub_video_vbe_init): Likewise.
20542 (grub_video_vbe_fini): Likewise.
20543 (grub_video_vbe_setup): Likewise.
20544 (grub_video_vbe_get_info): Likewise.
20545 (grub_video_vbe_set_palette): Likewise.
20546 (grub_video_vbe_get_palette): Likewise.
20547 (grub_video_vbe_set_viewport): Likewise.
20548 (grub_video_vbe_get_viewport): Likewise.
20549 (grub_video_vbe_map_color): Likewise.
20550 (grub_video_vbe_map_rgb): Likewise.
20551 (grub_video_vbe_map_rgba): Likewise.
20552 (grub_video_vbe_unmap_color): Likewise.
20553 (grub_video_vbe_fill_rect): Likewise.
20554 (grub_video_vbe_blit_glyph): Likewise.
20555 (grub_video_vbe_blit_bitmap): Likewise.
20556 (grub_video_vbe_blit_render_target): Likewise.
20557 (grub_video_vbe_scroll): Likewise.
20558 (grub_video_vbe_swap_buffers): Likewise.
20559 (grub_video_vbe_create_render_target): Likewise.
20560 (grub_video_vbe_delete_render_target): Likewise.
20561 (grub_video_vbe_set_active_render_target): Likewise.
20562 (grub_vbe_set_pixel_rgb): Remove function.
20563 (grub_vbe_set_pixel_index): Likewise.
20564 (index_color_mode): Remove static variable.
20565 (active_mode): Likewise.
20566 (framebuffer): Likewise.
20567 (bytes_per_scan_line): Likewise.
20568 (grub_video_vbe_adapter): Added new static variable.
20569 (framebuffer): Likewise.
20570 (render_target): Likewise.
20571 (initial_mode): Likewise.
20572 (mode_in_use): Likewise.
20573 (mode_list): Likewise.
20574
5f97350b 205752006-03-10 Marco Gerards <marco@gnu.org>
20576
20577 * configure.ac (AC_INIT): Bumped to 1.93.
20578
20579 * DISTLIST: Added `include/grub/hfs.h'.
20580
a3c5c6f8 205812006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20582
20583 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20584 18H, which might help the BIOS falling back to next boot media.
20585
6de53d26 205862006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20587
20588 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20589 Poe Chen <poe.poechen@gmail.com>.
20590
77c4a393 205912006-01-17 Marco Gerards <marco@gnu.org>
20592
20593 * include/grub/normal.h: Include <grub/script.h>.
20594 (grub_command_list): Removed struct.
20595 (grub_command_list_t): Removed type.
20596 (grub_menu_entry): Remove members `num' and `command_list'. Add
20597 members `commands' and `sourcecode'.
20598 * include/grub/script.h: Add inclusion guards.
20599 (grub_script_cmd_menuentry): New struct.
20600 (grub_script_execute_menuentry): New prototype.
20601 (grub_script_lexer_record_start): Likewise.
20602 (grub_script_lexer_record_stop): Likewise.
20603 * normal/execute.c (grub_script_execute_menuentry): New function.
20604 * normal/lexer.c (record, recording, recordpos, recordlen): New
20605 variables.
20606 (grub_script_lexer_record_start): New function.
20607 (grub_script_lexer_record_stop): Likewise.
20608 (recordchar): Likewise.
20609 (nextchar): Likewise.
20610 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20611 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20612 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20613 (current_menu): New variable.
20614 (free_menu): Mainly rewritten.
20615 (grub_normal_menu_addentry): New function.
20616 (read_config_file): Rewritten.
20617 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 20618 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 20619 the menu entry.
20620 (run): Mainly rewritten.
20621 * normal/parser.y (menu_entry): New variable.
20622 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20623 (menuentry): New rule.
20624 (command): Add `menuentry'.
20625 (if_statement): Allow additional returns before `fi'.
20626 * normal/script.c (grub_script_create_cmdmenu): New function.
20627
144f1f98 206282006-01-03 Marco Gerards <marco@gnu.org>
20629
20630 * INSTALL: GNU Bison is required.
20631 * configure.ac: Rewritten the test to detect Bison.
20632 * Makefile.in (YACC): New variable. Reported by Xun Sun
20633 <xun.sun.cn@gmail.com>.
20634
af4b2d89 206352006-01-03 Marco Gerards <marco@gnu.org>
20636
20637 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
20638 the HFS+ filesystem to filesystem blocks.
20639 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
20640 GCC warning is silenced.
20641
15643b71 206422006-01-03 Marco Gerards <marco@gnu.org>
20643
20644 * partmap/apple.c (apple_partition_map_iterate): Convert the data
20645 read from disk from big endian to host byte order.
20646
00905879 206472006-01-03 Hollis Blanchard <hollis@penguinppc.org>
20648
20649 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
20650 documentation.
20651 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
20652 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
20653 embedded HFS+ filesystem.
20654 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20655 (grub_hfs_sblock): Move from here...
20656 * include/grub/hfs.h: To here... New file.
20657 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20658 documentation.
20659 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20660 New macros.
20661 (grub_hfsplus_volheader): Change type of member `magic' to
20662 `grub_uint16_t'.
20663 (grub_hfsplus_data): Add new member `embedded_offset'.
20664 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20665 returned block.
20666 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20667 Calculate the offset.
20668
8899bc3e 206692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20670
20671 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20672 Removed.
20673 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20674
ae8c0277 206752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20676
20677 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20678 ENV->NAME is NULL after allocating ENV->VALUE.
20679
07084456 206802005-12-25 Marco Gerards <marco@gnu.org>
20681
20682 * kern/env.c (grub_env_set): Rewritten the error handling code.
20683
4750f5f1 206842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20685
20686 * geninit.sh: Made more robust, and more portable.
20687
50214199 206882005-12-25 Marco Gerards <marco@gnu.org>
20689
20690 Add support for Apple HFS+ filesystems.
f19dbdb7 20691
50214199 20692 * fs/hfsplus.c: New file.
20693
20694 * DISTLIST: Added `fs/hfsplus.c'.
20695
20696 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20697 (hfsplus_mod_SOURCES): New variable.
20698 (hfsplus_mod_CFLAGS): Likewise.
20699 (hfsplus_mod_LDFLAGS): Likewise.
20700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20701 (grub_setup_SOURCES): Likewise.
20702 (grub_mkdevicemap_SOURCES): Likewise.
20703 (grub_emu_SOURCES): Likewise.
20704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20705
20706 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20707
20708 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20709
befaed6c 207102005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20711
20712 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20713 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
20714 include/grub/parser.h, include/grub/script.h, kern/parser.c,
20715 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
20716 normal/lexer.c, normal/parser.y, normal/script.c, and
20717 partmap/gpt.c.
20718 Removed kern/sparc64/cache.c.
20719
20720 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
20721 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
20722 grub_emu_init.c.
20723
20724 * configure.ac (AC_INIT): Bumped to 1.92.
20725
6a124103 207262005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
20727
20728 * kern/err.c (grub_error_push): Added new function to support error
20729 stacks.
20730 (grub_error_pop): Likewise.
20731 (grub_error_stack_items): New local variable to support error stacks.
20732 (grub_error_stack_pos): Likewise.
20733 (grub_error_stack_assert): Likewise.
20734 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
20735 stack depth.
20736 (grub_print_error): Added support to print errors from error stack.
20737
20738 * include/grub/err.h (grub_error_push): Added function prototype.
20739 (grub_error_pop): Likewise.
20740
be973c1b 207412005-12-09 Hollis Blanchard <hollis@penguinppc.org>
20742
20743 * configure.ac: Accept `powerpc64' as host_cpu.
20744 (amd64): Rename to `biarch32'.
20745
20746 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
20747 non-cacheline-aligned addresses.
20748
20749 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
20750 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
20751 if `size' is non-zero.
20752
b04216ab 207532005-12-03 Marco Gerards <mgerards@xs4all.nl>
20754
20755 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
20756 and `cd' to make sure the filename is not prefixed with a
20757 directory name.
20758 (pkgdata_MODULES): Add `gpt.mod'.
20759 (gpt_mod_SOURCES): New variable.
20760 (gpt_mod_CFLAGS): Likewise.
20761 (gpt_mod_LDFLAGS): Likewise.
20762
20763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
20764
20765 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
20766 New macro.
20767
20768 * partmap/gpt.c: New file.
20769
20770 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
20771 GPT partition map is detected.
20772
41730ed9 207732005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
20774
20775 * commands/i386/pc/play.c: New file.
20776 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
20777 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
20778 macros.
f19dbdb7 20779
95dc3643 207802005-11-27 Marco Gerards <mgerards@xs4all.nl>
20781
20782 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
20783 ((unused))' to silence gcc warning.
20784
1569ec51 207852005-11-26 Hollis Blanchard <hollis@penguinppc.org>
20786
20787 * configure.ac: Correct `AC_PROG_YACC' test.
20788
9abde152 207892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20790
20791 * util/powerpc/ieee1275/grub-install.in: Run the mount point
20792 check before installing files.
20793
44b83271 207942005-11-22 Mike Small <smallm@panix.com>
20795
20796 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
20797 number regex so multidigit numbers are recognized correctly.
20798
207992005-11-22 Mike Small <smallm@panix.com>
20800
20801 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
20802 debugging message before attempting to claim memory.
20803 (grub_rescue_cmd_initrd): Add a claim debugging message and try
20804 multiple addresses in case of failure.
20805
9c12956b 208062005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20807
20808 * term/tparm.c (get_space): Remove empty `if' statement.
20809
20810 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
20811
20812 * kern/parser.c (check_varstate): Rename `state' to 's'.
20813
aeaf81d9 208142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20815
20816 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
20817 variable definitions to the beginning of each function. Sort stack
20818 variables by size.
20819 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
20820 `buf' argument to `char *'.
20821
79bbb63f 208222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20823
20824 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
20825 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20826 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 20827 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20828 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20829 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20830 configfile.mod, search.mod, gzio.mod and test.mod.
20831 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20832 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20833 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20834 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20835 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20836 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20837 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20838 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20839 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20840 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20841 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20842 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20843 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20844 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20845 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20846 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20847 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20848 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20849 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20850 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20851 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20852 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20853 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20854
20855 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
20856 `grep --include'.
20857 (pkgdata_MODULES): Add test.mod.
20858
233b1628 208592005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20860
20861 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
20862 appending to variables with "+=".
20863 (PModule): Use full pathname to generate *.lst filenames.
20864
20865 * Makefile.in: Fixed list rules moved from genmk.rb.
20866 (.DELETE_ON_ERROR): New special target.
20867 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
20868
20869 * conf/i386-pc.rmk: Include conf/common.mk.
20870 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20871 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 20872 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20873 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20874 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20875 configfile.mod, search.mod, gzio.mod and test.mod.
20876 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20877 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20878 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20879 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20880 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20881 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20882 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20883 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20884 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20885 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20886 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20887 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20888 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20889 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20890 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20891 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20892 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20893 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20894 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20895 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20896 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20897 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20898 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
20899 here...
20900 * conf/common.rmk: ... to here. New file.
20901
20902 * conf/common.mk: New file.
20903
16f820c8 209042005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
20905
20906 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
20907 (grub_script.tab.c): ... here.
20908
20909 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
20910 (grub_script.tab.c): ... here.
20911
20912 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
20913 (grub_script.tab.c): ... here.
20914
20915 * normal/command.c (grub_command_find): Fixed a memory leak of
20916 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
20917
63ba1554 209182005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20919
20920 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
20921 "@" which marks the start of a comment on ARM.
20922 (VARIABLE): Likewise.
20923
7f67dc13 209242005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20925
79bbb63f 20926 Add support for Linux/ADFS partition tables.
7f67dc13 20927
20928 * partmap/acorn.c: New file.
20929
20930 * include/grub/acorn_filecore.h: Likewise.
20931
20932 * DISTLIST: Added `partmap/acorn.c' and
20933 `include/grub/acorn_filecore.h'.
f19dbdb7 20934
7f67dc13 20935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20936 `partmap/acorn.c'.
20937 (pkgdata_MODULES): Add `acorn.mod'.
20938 (acorn_mod_SOURCES): New variable.
20939 (acorn_mod_CFLAGS): Likewise.
20940
20941 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20942 `partmap/acorn.c'.
20943 (pkgdata_MODULES): Add `acorn.mod'.
20944 (acorn_mod_SOURCES): New variable.
20945 (acorn_mod_CFLAGS): Likewise.
20946
20947 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
20948 (pkgdata_MODULES): Add `acorn.mod'.
20949 (acorn_mod_SOURCES): New variable.
20950 (acorn_mod_CFLAGS): Likewise.
20951 (acorn_mod_LDFLAGS): Likewise.
20952
20953 * include/types.h (grub_disk_addr_t): New typedef.
20954
6d099807 209552005-11-13 Marco Gerards <mgerards@xs4all.nl>
20956
20957 * geninit.sh: New file.
20958
20959 * geninitheader.sh: Likewise.
20960
20961 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
20962 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
20963 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
20964 * commands/configfile.c (grub_configfile_init)
20965 (grub_configfile_fini): Likewise.
20966 * commands/default.c (grub_default_init, grub_default_fini):
20967 Likewise.
20968 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
20969 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
20970 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
20971 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
20972 Likewise.
20973 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
20974 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
20975 Likewise.
20976 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 20977 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 20978 Likewise.
20979 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
20980 Likewise.
fe6b695a 20981 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 20982 Likewise.
20983 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
20984 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
20985 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
20986 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
20987 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
20988 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
20989 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
20990 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
20991 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
20992 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
20993 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
20994 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
20995 * partmap/amiga.c (grub_amiga_partition_map_init)
20996 (grub_amiga_partition_map_fini): Likewise.
20997 * partmap/apple.c (grub_apple_partition_map_init)
20998 (grub_apple_partition_map_fini): Likewise.
20999 * partmap/pc.c (grub_pc_partition_map_init)
21000 (grub_pc_partition_map_fini): Likewise.
21001 * partmap/sun.c (grub_sun_partition_map_init,
21002 grub_sun_partition_map_fini): Likewise.
21003 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21004 Likewise.
21005
21006 * util/grub-emu.c: Include <grub_modules_init.h>.
21007 (main): Don't initialize and de-initialize any modules directly,
21008 use `grub_init_all' and `grub_fini_all' instead.
21009
21010 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21011 `grub_vesafb_mod_init'.
21012 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21013 all users.
21014 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21015 `grub_vga_mod_init'. Updated all users.
21016 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21017
6d099807 21018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21019 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21020 rules.
21021
21022 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21023 Generate a function to initialize the module in utilities.
21024 Updated all callers.
21025 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21026 initialize the module in utilities. Updated all callers.
21027
9046bcf0 210282005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21029
21030 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21031 escape sequence and a literal ^L to clear the screen.
21032
21033 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21034 when returning from Open Firmware.
21035
d13ea639 210362005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21037
21038 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21039 (grub_ofconsole_height): Likewise.
21040 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21041 manually insert a '\n'.
21042 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21043 `grub_ofconsole_height'. Return early if these are already set.
21044
a8fcf206 210452005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21046
21047 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21048 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21049 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21050 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21051 and `normal/script.c'.
21052 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21053 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21054 (test_mod_SOURCES): New variable.
21055 (test_mod_CFLAGS): Likewise.
21056 (test_mod_LDFLAGS): Likewise.
21057 (pkgdata_MODULES): Add `test.mod'.
21058 (grub_script.tab.c): New rule.
21059 (grub_script.tab.h): Likewise.
21060
b6b32745 210612005-11-07 Marco Gerards <mgerards@xs4all.nl>
21062
21063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21064 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21065 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21066 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21067 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21068 (test_mod_SOURCES): New variable.
21069 (test_mod_CFLAGS): Likewise.
21070 (pkgdata_MODULES): Add `test.mod'.
21071 (grub_script.tab.c): New rule.
21072 (grub_script.tab.h): Likewise.
21073
daac212a 210742005-11-06 Marco Gerards <mgerards@xs4all.nl>
21075
21076 Add initial scripting support.
21077
21078 * commands/test.c: New file.
21079 * include/grub/script.h: Likewise.
21080 * normal/execute.c: Likewise.
21081 * normal/function.c: Likewise.
21082 * normal/lexer.c: Likewise.
21083 * normal/parser.y: Likewise.
21084 * normal/script.c: Likewise.
21085
21086 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21087
daac212a 21088 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21089 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21090 `normal/function.c' and `normal/script.c'.
21091 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21092 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21093 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21094 variables.
daac212a 21095 (pkgdata_MODULES): Add `test.mod'.
21096 (grub_script.tab.c): New rule.
21097 (grub_script.tab.h): Likewise.
21098
21099 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21100
21101 * include/grub/normal.h (grub_test_init): New prototype.
21102 (grub_test_fini): Likewise.
f19dbdb7 21103
daac212a 21104 * normal/command.c: Include <grub/script.h>.
21105 (grub_command_execute): Rewritten.
f19dbdb7 21106
daac212a 21107 * util/grub-emu.c (main): Call `grub_test_init' and
21108 `grub_test_fini'.
21109
77500b2b 211102005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21111
21112 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21113 to 0.
21114 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21115 there are no pending characters.
21116
e45deb9e 211172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21118
21119 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21120 `grub_strndup' to drop device arguments. Replace unnecessary
21121 `grub_strndup' with `grub_strdup'.
21122
4ce32619 211232005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21124
21125 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21126 `debug' environment variable has been set.
21127
211282005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21129
4ce32619 21130 * Makefile.in (install-local): Use $(DATA).
21131 (uninstall): Likewise.
21132 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21133 (sbin_UTILITIES): ... to here.
21134 (sbin_SCRIPTS): New variable.
21135 (grub_install_SOURCES): New variable.
21136 * util/powerpc/ieee1275/grub-install.in: New file.
21137 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21138 variable.
21139 (add_segments): Call `grub_util_get_path'.
21140
25fe6f03 211412005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21142
21143 From Timothy Baldwin:
21144 * commands/ls.c (grub_ls_list_files): Close FILE with
21145 grub_file_close.
21146 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21147
04ccf3ec 211482005-10-24 Marco Gerards <mgerards@xs4all.nl>
21149
21150 * include/grub/parser.h: New file.
21151
21152 * kern/parser.c: Likewise.
21153
21154 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21155 (grub_setup_SOURCES): Likewise.
21156 (grub_probefs_SOURCES): Likewise.
21157 (grub_emu_SOURCES): Likewise.
21158 (kernel_img_HEADERS): Add `parser.h'.
21159
21160 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21161 (grub_emu_SOURCES): Add `kern/parser.c'.
21162 (grubof_SOURCES): Likewise.
21163
21164 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21165 (grubof_SOURCES): Add `kern/parser.c'.
21166
21167 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21168
21169 * kern/misc.c (grub_split_cmdline): Removed function.
21170
21171 * kern/rescue.c: Include <grub/parser.h>.
21172 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21173 of `grub_split_cmdline'.
21174
21175 * normal/command.c: Include <grub/parser.h>.
21176 (grub_command_execute): Use `grub_parser_split_cmdline' instead
21177 of `grub_split_cmdline'.
21178
21179 * normal/completion.c: Include <grub/parser.h>.
21180 (cmdline_state): New variable.
21181 (iterate_dir): End the filename with a quote depending on the
21182 command line state.
21183 (get_state): new function.
21184 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
21185 split the arguments and determine the current argument. When the
21186 argument string is not quoted, escape all spaces.
21187
6d8f4b0e 211882005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21189
21190 * normal/sparc64/setjmp.S: New file.
21191
15cf03ed 211922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21193
21194 * include/grub/sparc64/libgcc.h: New file.
21195 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
21196 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
21197 normal/sparc64/setjmp.c.
21198
03e8661a 211992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21200
21201 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
21202 * kern/sparc64/cache.S: New file.
21203 * kern/sparc64/cache.c: Removed.
21204 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
21205 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
21206 -mtune=ultrasparc.
21207 (COMMON_LDFLAGS): Add -melf64_sparc.
21208 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
21209 (grubof_SOURCES): Use cache.S instead of cache.c.
21210 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
21211 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
21212 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
21213 commented though.
21214 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
21215 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
21216 (linux_mod_CFLAGS): Commented out.
21217 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
21218 out because module isn't built.
21219 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
21220 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
21221 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
21222 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
21223 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
21224 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21225 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21226 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
21227 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
21228 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
21229 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21230 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21231 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
21232 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
21233
34eeec8a 212342005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
21235
21236 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
21237 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
21238 longer, because HFS should not be used on PC.
21239
708367a3 212402005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21241
21242 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
21243 consistently within the loop.
21244
6fa1251a 212452005-10-15 Marco Gerards <mgerards@xs4all.nl>
21246
21247 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
21248 directory can not be read.
21249
4801580b 212502005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21251
21252 * configure.ac (AC_INIT): Increase the version number to 1.91.
21253
21254 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
21255 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
21256 term/i386/pc/serial.c.
21257
219ad426 212582005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21259
21260 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
21261 file size must be permitted.
21262
21263 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
21264 between %ah and %al.
21265
688e5699 212662005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21267
21268 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
21269 grub_uint64_t.
21270 Call the hook with a NUL-terminated filename.
21271 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
21272 grub_cpu_to_be32.
21273
21274 * kern/term.c (cursor_state): New variable.
21275 (grub_term_set_current): Reset the cursor state on a new
21276 terminal.
21277 (grub_setcursor): Rewritten to use CURSOR_STATE.
21278 (grub_getcursor): New function.
21279
21280 * include/grub/term.h (grub_getcursor): New prototype.
21281
21282 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
21283 integers on ARM. Reported by Timothy Baldwin
21284 <T.E.Baldwin99@members.leeds.ac.uk>.
21285
bb34586c 212862005-10-11 Marco Gerards <mgerards@xs4all.nl>
21287
21288 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
21289 allocated.
21290 (grub_sfs_dir): Likewise.
21291
9a909877 212922005-10-09 Marco Gerards <mgerards@xs4all.nl>
21293
21294 Add support for the SFS filesystem.
21295
21296 * fs/sfs.c: New file.
21297
21298 * DISTLIST: Added `fs/sfs.c'.
21299
21300 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
21301 (grub_probefs_SOURCES): Likewise.
21302 (grub_emu_SOURCES): Likewise.
21303 (pkgdata_MODULES): Add `sfs.mod'.
21304 (sfs_mod_SOURCES): New variable.
21305 (sfs_mod_CFLAGS): Likewise.
21306 (sfs_mod_LDFLAGS): Likewise.
21307
21308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
21309 (pkgdata_MODULES): Add `sfs.mod'.
21310 (sfs_mod_SOURCES): New variable.
21311 (sfs_mod_CFLAGS): Likewise.
21312
21313 * util/grub-emu.c (main): Call `grub_sfs_init' and
21314 `grub_sfs_fini'.
21315
21316 * include/grub/fs.h (grub_sfs_init): New prototype.
21317 (grub_sfs_fini): Likewise.
21318
57bdbde3 213192005-10-07 Marco Gerards <mgerards@xs4all.nl>
21320
21321 Add support for the AFFS filesystem.
21322
21323 * fs/affs.c: New file.
21324
21325 * DISTLIST: Added `fs/affs.c'.
21326
21327 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
21328 (grub_probefs_SOURCES): Likewise.
21329 (grub_emu_SOURCES): Likewise.
21330 (pkgdata_MODULES): Add `affs.mod'.
21331 (affs_mod_SOURCES): New variable.
21332 (affs_mod_CFLAGS): Likewise.
21333 (affs_mod_LDFLAGS): Likewise.
21334
21335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
21336 (pkgdata_MODULES): Add `affs.mod'.
21337 (affs_mod_SOURCES): New variable.
21338 (affs_mod_CFLAGS): Likewise.
21339
21340 * util/grub-emu.c (main): Call `grub_affs_init' and
21341 `grub_affs_fini'.
21342
21343 * include/grub/fs.h (grub_affs_init): New prototype.
21344 (grub_affs_fini): Likewise.
21345
047b67e0 213462005-10-01 Marco Gerards <mgerards@xs4all.nl>
21347
21348 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
21349
59b8208a 213502005-10-01 Marco Gerards <mgerards@xs4all.nl>
21351
21352 * configure.ac: Accept `x86_64' as host_cpu. In that case add
21353 `-m32' to CFLAGS.
21354
21355 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
21356 linking.
f19dbdb7 21357
59b8208a 21358 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
21359 (COMMON_LDFLAGS): New variable.
21360 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
21361 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
21362 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
21363 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
21364 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
21365 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
21366 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
21367 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
21368 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
21369 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
21370 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21371 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21372 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
21373 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
21374 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
21375 variables.
21376 (normal_mod_ASFLAGS): Add `-m32'.
21377
21378 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
21379 (grub_host_size_t, grub_host_ssize_t): New types.
21380 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 21381 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 21382 `GRUB_HOST_SIZEOF_VOID_P'.
21383
21384 * include/grub/kernel.h (struct grub_module_header): Type of
21385 member offset changed to `grub_host_off_t'. Type of member size
21386 changed to `grub_host_size_t'.
21387 (struct grub_module_info): Type of member offset changed to
21388 `grub_host_off_t'. Type of member size changed to
21389 `grub_host_size_t'.
21390
b4093103 213912005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
21392
21393 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 21394
b4093103 21395 * kern/i386/pc/startup.S (multiboot_header): New label.
21396 (multiboot_entry): Likewise.
21397 (multiboot_trampoline): Likewise.
21398
21399 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21400 Increased to 0x4A0.
21401
21402 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
21403 put parentheses after a question mark.
21404 [!GRUB_UTIL] (my_mod): New variable.
21405
21406 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
21407
b2499b29 214082005-09-28 Marco Gerards <mgerards@xs4all.nl>
21409
21410 Adds support for the XFS filesystem. Btrees are not supported
21411 yet.
21412
21413 * fs/xfs.c: New file.
21414
21415 * DISTLIST: Added `fs/xfs.c'.
21416
21417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
21418 (grub_probefs_SOURCES): Likewise.
21419 (grub_emu_SOURCES): Likewise.
21420 (pkgdata_MODULES): Add `xfs.mod'.
21421 (xfs_mod_SOURCES): New variable.
21422 (xfs_mod_CFLAGS): Likewise.
21423
21424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
21425 (pkgdata_MODULES): Add `xfs.mod'.
21426 (xfs_mod_SOURCES): New variable.
21427 (xfs_mod_CFLAGS): Likewise.
21428
21429 * util/grub-emu.c (main): Call `grub_xfs_init' and
21430 `grub_xfs_fini'.
21431
21432 * include/grub/fs.h (grub_xfs_init): New prototype.
21433 (grub_xfs_fini): Likewise.
21434
f19dbdb7 21435
83d37a62 214362005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
21437
21438 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
21439 color modes, allow greater than 16 colors to be configured as
21440 a default palette.
21441
47d2d65e 214422005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21443
21444 * normal/completion.c (complete_arguments): Add the qualifier
21445 const into OPTIONS.
21446
21447 From Omniflux <omniflux+lists@omniflux.com>:
21448 * include/grub/terminfo.h: New file.
21449 * include/grub/tparm.h: Likewise.
21450 * include/grub/i386/pc/serial.h: Likewise.
21451 * term/terminfo.c: Likewise.
21452 * term/tparm.c: Likewise.
21453 * term/i386/pc/serial.c: Likewise.
21454 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
21455 serial.mod.
21456 (terminfo_mod_SOURCES): New variable.
21457 (terminfo_mod_CFLAGS): Likewise.
21458 (serial_mod_SOURCES): Likewise.
21459 (serial_mod_CFLAGS): Likewise.
21460
48b671ff 214612005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
21462
21463 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
21464 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
21465 and kern/powerpc/ieee1275/cmain.c, respectively.
21466
21467 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21468 * kern/powerpc/ieee1275/crt0.S: ... here.
21469
21470 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21471 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 21472
48b671ff 21473 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21474 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21475 instead of boot/powerpc/ieee1275/crt0.S and
21476 boot/powerpc/ieee1275/cmain.c, respectively.
21477
21478 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21479 sectors. It was not used anyway.
21480
09fc77a7 214812005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21482
21483 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21484 `unused parameter' warning.
21485
003789c7 214862005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21487
21488 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21489 function.
21490 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21491 getcharwidth.
21492
67f44c86 214932005-08-28 Marco Gerards <metgerards@student.han.nl>
21494
21495 * include/grub/normal.h (enum grub_completion_type): Added
21496 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21497
21498 * normal/cmdline.c (print_completion): Handle
21499 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21500 * normal/menu_entry.c (store_completion): Likewise.
21501
21502 * normal/completion.c (complete_arguments): New function.
21503 (grub_normal_do_completion): Call `complete_arguments' when the
21504 current words start with a dash.
21505
0b5abe02 215062005-08-27 Marco Gerards <metgerards@student.han.nl>
21507
21508 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21509 `gzio.mod' instead of `io.mod').
21510
d9864ee1 215112005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21512
21513 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21514 (DISTDIRS): Added io and video.
21515 Rewrite the search routine to make an output consistently.
21516
21517 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21518 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21519 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21520 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21521 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21522 util/powerpc/ieee1275/misc.c.
f19dbdb7 21523
d9864ee1 21524 * include/grub/gzio.h: New file.
21525 * io/gzio.c: Likewise.
f19dbdb7 21526
d9864ee1 21527 * kern/file.c (grub_file_close): Call grub_device_close only if
21528 FILE->DEVICE is not NULL.
21529
21530 * include/grub/mm.h [!NULL] (NULL): New macro.
21531
21532 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21533
21534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21535 (pkgdata_MODULES): Added gzio.mod.
21536 (gzio_mod_SOURCES): New variable.
21537 (gzio_mod_CFLAGS): Likewise.
21538
21539 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21540 (pkgdata_MODULES): Added gzio.mod.
21541 (gzio_mod_SOURCES): New variable.
21542 (gzio_mod_CFLAGS): Likewise.
21543
21544 * commands/cat.c: Include grub/gzio.h.
21545 (grub_cmd_cat): Use grub_gzfile_open instead of
21546 grub_file_open.
f19dbdb7 21547
d9864ee1 21548 * commands/cmp.c: Include grub/gzio.h.
21549 (grub_cmd_cmp): Use grub_gzfile_open instead of
21550 grub_file_open.
21551
21552 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21553 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21554 grub_file_open.
21555 (grub_rescue_cmd_module): Likewise.
21556
fa46f4b5 215572005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21558
21559 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21560 kern/sparc64/ieee1275/init.c because it contains _start.
21561 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21562
e9211b5d 215632005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21564
21565 * configure.ac: Add support for sparc64 host with ieee1275
21566 firmware.
21567 * configure: Generated from configure.ac.
21568 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21569 instead of int.
21570 (grub_ofdisk_read): Likewise.
21571 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21572 pointers as (void *) to remove a warning.
21573 (grub_ofdisk_close): Likewise.
21574 (grub_ofdisk_read): Likewise.
21575 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21576 returns, so make it return void to remove a warning.
21577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21578 Corresponding prototype change.
21579 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21580 values, and cast the pointers as (void *) to remove a warning.
21581 (grub_mm_dump): Likewise.
21582 * conf/sparc64-ieee1275.mk: New file.
21583 * conf/sparc64-ieee1275.rmk: Likewise.
21584 * include/grub/sparc64/setjmp.h: Likewise.
21585 * include/grub/sparc64/types.h: Likewise.
21586 * include/grub/sparc64/ieee1275/console.h: Likewise.
21587 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21588 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21589 * include/grub/sparc64/ieee1275/time.h: Likewise.
21590 * kern/sparc64/cache.c: Likewise.
21591 * kern/sparc64/dl.c: Likewise.
21592 * kern/sparc64/ieee1275/init.c: Likewise.
21593 * kern/sparc64/ieee1275/openfw.c: Likewise.
21594
385c6a92 215952005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21596
21597 * util/console.c (grub_ncurses_putchar): If C is greater than
21598 0x7f, set C to a question mark.
21599 (grub_ncurses_getcharwidth): New function.
21600 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21601 getcharwidth.
21602
21603 * normal/menu.c (print_entry): Made aware of Unicode. First,
21604 convert TITLE to UCS-4, and predict the cursor position by
21605 grub_getcharwidth.
21606
21607 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21608 const to SRC.
21609 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21610
16ccb8b1 216112005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21612
21613 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21614 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21615 grub_strcat.
21616
21617 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21618 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21619 grub_strcpy and grub_strlen. Take it into account that a space
21620 character is inserted as a delimiter.
21621
6a85ce79 216222005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21623
21624 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 21625 invalid magic in the error.
6a85ce79 21626
21627 * commands/search.c: New file.
f19dbdb7 21628
6a85ce79 21629 * util/grub-emu.c (main): Call grub_search_init and
21630 grub_search_fini.
21631
21632 * kern/rescue.c (grub_rescue_print_disks): Removed.
21633 (grub_rescue_print_devices): New function.
21634 (grub_rescue_cmd_ls): Use grub_device_iterate with
21635 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21636 grub_rescue_print_disks.
21637
21638 * kern/partition.c (grub_partition_iterate): Return the result of
21639 PARTMAP->ITERATE instead of GRUB_ERRNO.
21640
21641 * kern/device.c: Include grub/partition.h.
21642 (grub_device_iterate): New function.
21643
21644 * include/grub/partition.h (grub_partition_iterate): Return int
21645 instead of grub_err_t.
21646
21647 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
21648 prototype.
21649 [GRUB_UTIL] (grub_search_fini): Likewise.
21650
21651 * include/grub/device.h (grub_device_iterate): New prototype.
21652
21653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21654 commands/search.c.
21655 (pkgdata_MODULES): Added search.mod.
21656 (search_mod_SOURCES): New variable.
21657 (search_mod_CFLAGS): Likewise.
21658
21659 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21660 (pkgdata_MODULES): Added search.mod.
21661 (search_mod_SOURCES): New variable.
21662 (search_mod_CFLAGS): Likewise.
21663
21664 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21665 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21666 All callers changed.
21667
21668 * DISTLIST: Added commands/search.c.
21669
ef095434 216702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21671
21672 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21673 conversion.
21674 (grub_getcharwidth): New function.
21675
21676 * kern/misc.c (grub_utf8_to_ucs4): New function.
21677
21678 * include/grub/term.h (struct grub_term): Added a new member
21679 "getcharwidth".
21680 (grub_getcharwidth): New prototype.
21681
21682 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21683
21684 * term/i386/pc/console.c (map_char): New function. Segregated from
21685 grub_console_putchar.
21686 (grub_console_putchar): Use map_char.
21687 (grub_console_getcharwidth): New function.
21688 (grub_console_term): Specified grub_console_getcharwidth as
21689 getcharwidth.
21690
21691 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21692 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21693
21694 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21695 GRUB_ERRNO.
21696 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21697 on grub_strtoul completely.
21698 (write_char): Declare local variables in the beginning of the
21699 function.
21700 (grub_vesafb_getcharwidth): New function.
21701 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21702 getcharwidth.
21703
1f0a95e4 217042005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21705
21706 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21707 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21708 commands/i386/pc/vbetest.c.
21709
21710 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21711 call grub_vbe_get_controller_info again, because the returned
21712 information is volatile.
21713 (grub_vbe_set_video_mode): Mostly rewritten.
21714 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
21715 grub_vbe_status_t correctly.
21716 (grub_vbe_get_video_mode_info): Likewise.
21717 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
21718 several if statements.
21719
21720 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
21721 * commands/i386/pc/vbeinfo.c: ... this.
21722
21723 * commands/i386/pc/vbe_test.c: Renamed to ...
21724 * commands/i386/pc/vbetest.c: ... this.
21725
21726 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
21727 ...
21728 (grub_cmd_vbeinfo): ... this. Save video modes before
21729 iterating. Skip a video mode, if it is not available, not enough
21730 information is given or it is monochrome. Show the memory
21731 model. Leave the interpretation of MODEVAR to grub_strtoul
21732 completely.
21733 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
21734 (GRUB_MOD_FINI): Likewise.
21735
21736 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
21737 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
21738 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
21739 duplicated grub_env_get. Leave the interpretation of MODEVAR to
21740 grub_strtoul completely.
21741 (real2pm): Removed.
21742 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
21743 (GRUB_MOD_FINI): Likewise.
21744
21745 * normal/misc.c: Include grub/mm.h.
21746
21747 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
21748 vbe_list_modes with vbetest.mod and vbeinfo.mod.
21749 (vbe_list_modes_mod_SOURCES): Removed.
21750 (vbe_list_modes_mod_CFLAGS): Likewise.
21751 (vbe_test_mod_SOURCES): Likewise.
21752 (vbe_test_mod_CFLAGS): Likewise.
21753 (vbeinfo_mod_SOURCES): New variable.
21754 (vbeinfo_mod_CFLAGS): Likewise.
21755 (vbetest_mod_SOURCES): Likewise.
21756 (vbetest_mod_CFLAGS): Likewise.
21757
992ffbbe 217582005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
21759
21760 * normal/misc.c: New file.
21761
21762 * DISTLIST: Added normal/misc.c.
f19dbdb7 21763
992ffbbe 21764 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
21765 DISK to HOOK. Call HOOK with DISK.
21766 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21767 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21768 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21769
21770 * normal/menu_entry.c (struct screen): Added a new member
21771 "completion_shown".
21772 (completion_buffer): New global variable.
21773 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
21774 (store_completion): New function.
21775 (complete): Likewise.
21776 (clear_completions): Likewise.
21777 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
21778 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
21779 a tab, call complete.
21780
21781 * normal/completion.c (disk_dev): Removed.
21782 (print_simple_completion): Likewise.
21783 (print_partition_completion): Likewise.
21784 (print_func): New global variable.
21785 (add_completion): Do not take the arguments WHAT or PRINT any
21786 longer. Added a new argument TYPE. Instead of printing directly,
21787 call PRINT_FUNC if not NULL.
21788 All callers changed.
21789 (complete_device): Use a local variable DEV instead of
21790 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
21791 (grub_normal_do_completion): Take a new argument HOOK. Do not
21792 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
21793 empty string, return NULL instead.
21794 All callers changed.
21795
21796 * normal/cmdline.c (print_completion): New function.
21797
21798 * kern/partition.c (grub_partition_iterate): Add an argument DISK
21799 to HOOK.
21800 All callers changed.
21801
21802 * kern/disk.c (grub_print_partinfo): Removed.
21803
21804 * include/grub/partition.h (struct grub_partition_map): Add a new
21805 argument DISK into HOOK of ITERATE.
21806 (grub_partition_iterate): Add a new argument DISK to HOOK.
21807
21808 * include/grub/normal.h (enum grub_completion_type): New enum.
21809 (grub_completion_type_t): New type.
21810 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
21811 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
21812 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
21813 (GRUB_COMPLETION_TYPE_FILE): Likewise.
21814 (grub_normal_do_completion): Added a new argument HOOK.
21815 (grub_normal_print_device_info): New prototype.
21816
21817 * include/grub/disk.h (grub_print_partinfo): Removed.
21818
21819 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
21820 (normal_mod_SOURCES): Likewise.
21821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21822 (normal_mod_SOURCES): Likewise.
21823
21824 * commands/ls.c (grub_ls_list_disks): Use
21825 grub_normal_print_device_info instead of grub_print_partinfo. Free
21826 PNAME.
21827 (grub_ls_list_files): Use grub_normal_print_device_info instead of
21828 duplicating the code.
21829
0bd41162 218302005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21831
21832 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 21833 follow GCS more precisely.
21834 * commands/i386/pc/vbe_test.c: Likewise.
21835 * include/grub/i386/pc/vbe.h: Likewise.
21836 * term/i386/pc/vesafb.c: Likewise.
21837 * video/i386/pc/vbe.c: Likewise.
0bd41162 21838
6323696a 218392005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21840
21841 * DISTLIST: Added term/i386/pc/vesafb.c
21842 DISTLIST: Added video/i386/pc/vbe.c
21843 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
21844 DISTLIST: Added commands/i386/pc/vbe_test.c.
21845 * commands/i386/pc/vbe_list_modes.c: New file.
21846 * commands/i386/pc/vbe_test.c: Likewise.
21847 * term/i386/pc/vesafb.c: Likewise.
21848 * video/i386/pc/vbe.c: Likewise.
21849 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
21850 (grub_vbe_probe) Added prototype.
21851 (grub_vbe_set_video_mode) Likewise.
21852 (grub_vbe_get_video_mode) Likewise.
21853 (grub_vbe_get_video_mode_info) Likewise.
21854 (grub_vbe_set_pixel_rgb) Likewise.
21855 (grub_vbe_set_pixel_index) Likewise.
21856 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
21857 (pkgdata_MODULES): Added vesafb.mod.
21858 (pkgdata_MODULES): Added vbe_list_modes.mod.
21859 (pkgdata_MODULES): Added vbe_test.mod.
21860 (vbe_mod_SOURCES): Added.
21861 (vbe_mod_CFLAGS): Likewise.
21862 (vesafb_mod_SOURCES): Likewise.
21863 (vesafb_mod_CFLAGS): Likewise.
21864 (vbe_list_modes_mod_SOURCES): Likewise.
21865 (vbe_list_modes_mod_CFLAGS): Likewise.
21866 (vbe_test_mod_SOURCES): Likewise.
21867 (vbe_test_mod_CFLAGS): Likewise.
21868
0a74e62f 218692005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
21870
0a74e62f 21871 * normal/command.c (grub_command_execute): If INTERACTIVE is
21872 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
21873 CMDLINE. Disable the pager if INTERACTIVE is true.
21874 All callers are changed.
21875
21876 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
21877 before reading a config file.
21878 * normal/main.c (read_config_file): Even if a command is not
21879 found, register it if it is within an entry.
21880
21881 * util/grub-emu.c: Include sys/types.h and unistd.h.
21882 (options): Added --hold.
21883 (struct arguments): Added a new member "hold".
21884 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
21885 missing.
21886 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
21887 cleared by a debugger, if it is not zero.
21888
21889 * include/grub/normal.h (grub_command_execute): Add an argument
21890 INTERACTIVE.
21891
e51f85ae 218922005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
21893
21894 * DISTLIST: Added include/grub/i386/pc/vbe.h.
21895
e9c6f39b 218962005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
21897
21898 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
21899 program with another one, because the old one didn't detect a bug
21900 in gcc-3.4. Always use regparm 2, because the new test is still
21901 not enough for gcc-4.0. Someone must investigate a simple test
21902 case which detects a bug in gcc-4.0.
21903
8de3495c 219042005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
21905
21906 * DISTLIST: Added normal/completion.c.
21907
21908 * normal/completion.c: New file.
f19dbdb7 21909
8de3495c 21910 * term/i386/pc/console.c (grub_console_getwh): New function.
21911 (grub_console_term): Assign grub_console_getwh to getwh.
21912
21913 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
21914 function is defined in normal/completion.c as
21915 grub_normal_do_completion.
21916 (grub_cmdline_get): Use grub_normal_do_completion instead of
21917 grub_tab_complete.
21918
21919 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
21920 returns non-zero, otherwise return 0.
21921 (grub_partition_iterate): First, probe the partition map. Then,
21922 call ITERATE only for this partition map.
21923
21924 * kern/misc.c (grub_strncmp): Rewritten.
21925
21926 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
21927 returns non-zero. Otherwise return 0.
21928
21929 * include/grub/partition.h (grub_partition_map_iterate): Return
21930 int instead of void.
21931
21932 * include/grub/normal.h (grub_normal_do_completion): New prototype.
21933
21934 * include/grub/misc.h (grub_strncmp): Change the type of N to
21935 grub_size_t.
21936
21937 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
21938 of void.
21939
21940 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 21941 unsigned explicitly before comparing it with I.
8de3495c 21942
21943 * kern/main.c (grub_env_write_root): Add the attribute unused into
21944 VAR.
21945
21946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21947 normal/completion.c.
21948 (normal_mod_SOURCES): Likewise.
21949 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21950 (normal_mod_SOURCES): Likewise.
21951
21952 * normal/command.c (grub_iterate_commands): If ITERATE returns
21953 non-zero, return one immediately.
21954
e85e144b 219552005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
21956
21957 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
21958 * kern/i386/pc/startup.S: Updated Global Descriptor table's
21959 descriptions.
21960 (grub_vbe_get_controller_info): New function.
21961 (grub_vbe_get_mode_info): Likewise.
21962 (grub_vbe_set_mode): Likewise.
21963 (grub_vbe_get_mode): Likewise.
21964 (grub_vbe_set_memory_window): Likewise.
21965 (grub_vbe_get_memory_window): Likewise.
21966 (grub_vbe_set_scanline_length): Likewise.
21967 (grub_vbe_get_scanline_length): Likewise.
21968 (grub_vbe_set_display_start): Likewise.
21969 (grub_vbe_get_display_start): Likewise.
21970 (grub_vbe_set_palette_data): Likewise.
21971 * include/grub/i386/pc/vbe.h: New file.
21972
c46153d2 219732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21974
21975 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21976 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
21977 * DISTLIST: Likewise.
21978 * kern/ieee1275/of.c: Moved to ...
21979 * kern/ieee1275/ieee1275.c: ... here.
21980
0cb90c45 219812005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21982
21983 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
21984 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
21985 Pass 0 as `end' parameter to grub_strtoul().
21986
a19fb360 219872005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21988
21989 * include/grub/powerpc/ieee1275/console.h: Do not include
21990 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
21991 ifdef.
21992 (grub_console_cur_color): Remove i386-specific prototype.
21993 (grub_console_real_putchar): Likewise.
21994 (grub_console_checkkey): Likewise.
21995 (grub_console_getkey): Likewise.
21996 (grub_console_getxy): Likewise.
21997 (grub_console_gotoxy): Likewise.
21998 (grub_console_cls): Likewise.
21999 (grub_console_setcursor): Likewise.
22000 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22001 Include <grub/machine/console.h>.
22002 * term/ieee1275/ofconsole.c: Likewise.
22003
4ac9bd04 220042005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22005
22006 * Makefile.in (LIBLZO): New variable.
22007
22008 * configure.ac: Check for LZO version 2.
22009
22010 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22011 lzo/lzo1x.h instead of lzo1x.h.
22012
22013 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22014 of -llzo.
22015
22016 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22017 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22018
22019 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22020 copying the data from PARTITION to P.
22021
f4917dfd 220222005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22023
22024 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22025 negative, unload the module.
22026
22027 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22028 map is "pc_partition_map" but not "pc".
22029 (usage): Fix the description. The options are --boot-image and
22030 --core-image but not --boot-file or --core-file.
22031 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22032 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22033 DEFAULT_DIRECTORY.
22034
22035 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22036 --core-file. Specify INSTALL_DEVICE as an argument.
22037
22038 * util/console.c: Include config.h.
22039 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22040 [HAVE_NCURSES_H]: Include ncurses.h.
22041 [HAVE_CURSES_H]: Include curses.h.
22042 [!A_NORMAL] (A_NORMAL): Defined as zero.
22043 [!A_STANDOUT] (A_STANDOUT): Likewise.
22044
22045 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22046 -lncurses.
22047 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22048
22049 * configure.ac: Check for curses libraries and headers.
22050
22051 * Makefile.in (LIBCURSES): New variable.
22052
22053 * genmk.rb (Script::rule): Set the executable bits.
22054
22055 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22056 name of the PC partition map is "pc_partition_map" but not "pc".
22057
0e143073 220582005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22059
22060 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22061 (modules): Likewise.
22062 (usage): Added descriptions for --modules and --grub-probefs.
22063 Handle --modules and --grub-probefs. Save the arguments in MODULES
22064 and GRUB_PROBEFS, respectively.
22065 Auto-detect a filesystem module against GRUBDIR. If the result is
22066 empty and modules are not specified explicitly, abort the
22067 installation. Add the result to MODULES.
22068
22069 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22070 disk/powerpc/ieee1275/ofdisk.c,
22071 include/grub/powerpc/ieee1275/init.h and
22072 term/powerpc/ieee1275/ofconsole.c.
22073 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22074 term/ieee1275/ofconsole.c.
22075
22076 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22077
22078 * COPYING: Upgraded to the latest version. Only the address of the
22079 FSF office has changed.
f19dbdb7 22080
efd6e6d5 220812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22082
22083 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22084 kern/ieee1275.c with kern/ieee1275/of.c.
22085
22086 * kern/ieee1275.c: Moved to ...
22087 * kern/ieee1275/of.c: ... here.
22088
8ceafda2 220892005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22090
22091 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22092 readability.
8ceafda2 22093
22094 * config.guess: Updated to the latest version from gnulib.
22095 * config.sub: Likewise.
22096 * install.sh: Likewise.
22097 * mkinstalldirs: Likewise.
22098
22099 * include/grub/console.h: Removed. This file is arch-specific. Do
22100 not put this in include/grub.
22101
22102 * include/grub/i386/pc/console.h: Resurrected.
22103
22104 * util/console.c: Include grub/machine/console.h instead of
22105 grub/console.h.
22106 * util/grub-emu.c: Likewise.
22107
267f6cd9 221082005-08-04 Marco Gerards <metgerards@student.han.nl>
22109
22110 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22111 hardcoded value.
f19dbdb7 22112
267f6cd9 22113 From Vincent Pelletier <subdino2004@yahoo.fr>
22114 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22115 Redefined to use grub_getwh.
22116 (grub_term): New member named getwh.
22117 (grub_getwh): New prototype.
22118 * kern/term.c (grub_getwh): New function.
22119 * term/i386/pc/console.c (grub_console_getwh): New function.
22120 (grub_console_term): New member `getwh'.
22121 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22122 (grub_vga_term): New member `getwh'.
0b5abe02 22123 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22124 grub_ssize_t.
22125 (grub_ofconsole_getw): New function.
22126 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22127 (grub_ofconsole_term): New field named getwh and new initial
22128 value.
22129
3be7266d 221302005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22131
22132 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22133 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22134 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22135 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22136 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22137 of <grub/machine/ieee1275.h>.
22138 * commands/ieee1275/reboot.c: Likewise.
22139 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22140 * kern/ieee1275.c: ... to here. All users updated. Change all
22141 parameter structs to use new type `grub_ieee1275_cell_t'.
22142 * term/powerpc/ieee1275/ofconsole.c: Move ...
22143 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22144 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22145 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22146 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22147 to return int.
22148 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22149 Remove unused prototypes. All users updated.
22150 * include/grub/powerpc/ieee1275/console.h: Removed.
22151 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22152 `grub_ieee1275_cell_t'.
22153 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22154 Cast comparisons with -1 to the correct type.
22155 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22156 type to match `grub_ieee1275_entry_fn'.
22157
8b5f3938 221582005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22159
22160 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22161
22162 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22163 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22164 partmap/sun.c.
22165 (grub_probefs_SOURCES): New variable.
22166
22167 * util/i386/pc/grub-probefs.c: New file.
22168
22169 * util/i386/pc/grub-setup.c (main): Call
22170 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22171 grub_hfs_init and grub_jfs_init to initialize the system. Call
22172 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22173 grub_pc_partition_map_fini to finish the system.
22174
ea409713 221752005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
22176
22177 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
22178 function.
22179 (grub_multiboot_load_elf32): Likewise.
22180 (grub_multiboot_is_elf64): Likewise.
22181 (grub_multiboot_load_elf64): Likewise.
22182 (grub_multiboot_load_elf): Likewise.
22183 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
22184 an ELF32 or ELF64 file.
22185 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
22186
22187 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
22188 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
22189 NULL before calling FS->LABEL.
22190 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
22191 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
22192 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22193 before calling FS->LABEL.
22194
141a288b 221952005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
22196
22197 * util/i386/pc/grub-install.in (datadir): New variable.
22198 (libdir): Removed.
22199 (pkgdatadir): New variable.
22200 (pkglibdir): Removed.
22201
0d5f8a54 222022005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
22203
22204 * DISTLIST: Added util/i386/pc/grub-install.in.
22205
22206 * util/i386/pc/grub-install.in: New file.
22207
22208 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
22209 (grub_install_SOURCES): Likewise.
22210
22211 * genmk.rb: Added support for scripts.
22212 (Script): New class.
22213 (scripts): New variable.
22214
22215 * Makefile.in (install-local): Install sbin_SCRIPTS by
22216 INSTALL_SCRIPT.
22217 (uninstall): Remove sbin_SCRIPTS.
22218
22219 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
22220 device, try to get a GRUB device by
22221 grub_util_biosdisk_get_grub_dev.
22222 Free DEST_DEV.
22223
22224 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
22225 description for --device-map.
22226
5f968e1e 222272005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22228
22229 Change the semantics of variable hooks. They now return strings
22230 instead of error values.
f19dbdb7 22231
5f968e1e 22232 * util/i386/pc/grub-setup.c: Include grub/env.h.
22233 (setup): Use grub_device_set_root instead of grub_env_set.
22234
22235 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
22236 grub_env_get instead of grub_device_set_root and
22237 grub_device_get_root, respectively.
22238
22239 * kern/main.c (grub_env_write_root): New function.
22240 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
22241 grub_env_set instead of grub_device_set_root.
22242
22243 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
22244 many variables.
22245 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
22246 rather than calling ENV->WRITE_HOOK afterwards.
22247 (grub_env_get): Return the result of ENV->READ_HOOK rather than
22248 passing a pointer of a pointer.
22249 (grub_register_variable_hook): Change the types of "read_hook" and
22250 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
22251 respectively.
22252 Allocate the default empty string on the heap, because this string
22253 may be freed later.
22254
22255 * kern/device.c: Include grub/env.h.
22256 (grub_device_set_root): Removed.
22257 (grub_device_get_root): Likewise.
22258 (grub_device_open): Use grub_env_get instead of
22259 grub_device_get_root.
22260
22261 * include/grub/env.h (grub_env_read_hook_t): New type.
22262 (grub_env_write_hook_t): Likewise.
22263 (grub_env_var): Change the types of "read_hook" and "write_hook"
22264 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
22265 (grub_register_variable_hook): Likewise.
22266
22267 * include/grub/device.h (grub_device_set_root): Removed.
22268 (grub_device_set_root): Likewise.
22269
22270 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
22271 make sure that DIRNAME terminates with '/', so that
22272 grub_fat_find_dir will fail if PATH is not a directory.
22273
22274 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
22275 from DIRNAME.
22276 Use the qualifier auto for print_files and print_files_long.
22277 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
22278 as a regular file.
22279 Put a newline only if there is no error.
22280 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
22281 used.
22282
896f0afd 222832005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22284
22285 * kern/partition.c (grub_partition_probe): Initialize PART to
22286 NULL. Otherwise, when no partition map is registered, this returns
22287 a garbage.
22288
b28b81b2 222892005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
22290
22291 * partmap/apple.c (apple_partition_map_iterate): Check if POS
22292 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
22293 valid.
22294
5f3607e0 222952005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
22296
22297 * commands/ls.c (grub_ls_list_disks): Print the filesystem
22298 information on each device, if it does not have partitions. Print
22299 "Device" instead of "Disk", because this function is not specific
22300 to disk devices.
22301
22302 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
22303 static to ensure that it is put on the memory rather than a
22304 register.
22305
502c87e8 223062005-07-17 Yoshinori Okuji <okuji@enbug.org>
22307
22308 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
22309 (grub_cat_init): Likewise.
22310 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
22311 (options): Likewise.
22312 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22313 (grub_configfile_init): Likewise.
22314 * font/manager.c (GRUB_MOD_INIT): Likewise.
22315 * commands/help.c (GRUB_MOD_INIT): Likewise.
22316 (grub_help_init): Likewise.
22317 * normal/command.c (grub_command_init): Likewise.
22318 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
22319 * disk/loopback.c (grub_loop_init): Likewise.
22320 (GRUB_MOD_INIT): Likewise.
22321 * commands/ls.c (grub_ls_init): Likewise.
22322 (GRUB_MOD_INIT): Likewise.
22323 (options): Likewise.
22324 * commands/boot.c (grub_boot_init): Likewise.
22325 (GRUB_MOD_INIT): Likewise.
22326 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
22327 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
22328 (GRUB_MOD_INIT): Likewise.
22329 * commands/cmp.c (grub_cmp_init): Likewise.
22330 (GRUB_MOD_INIT): Likewise.
22331
22332 * normal/arg.c: Use <> instead of "" to include header files.
22333 (SHORT_ARG_HELP): New macro.
22334 (SHORT_ARG_USAGE): Likewise.
22335 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
22336 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
22337 descriptions.
22338 (find_short): Check if C is 'h' or 'u' explicitly.
22339 (grub_arg_show_help): Use space characters instead of tabs. Treat
22340 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
22341 are shown with --help and --usage only if they are not used for
22342 the command itself.
22343 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
22344 'h' and 'u'.
22345
22346 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
22347 const into "longarg". Change the type of "shortarg" to int.
22348
f806d18e 223492005-07-17 Yoshinori Okuji <okuji@enbug.org>
22350
22351 * boot/i386/pc/boot.S (boot_drive_check): New label.
22352
22353 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
22354 macro.
22355
22356 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
22357 which do not pass a boot drive correctly. Copied from GRUB Legacy.
22358
e293232b 223592005-07-17 Yoshinori Okuji <okuji@enbug.org>
22360
22361 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
22362 When turning off Gate A20, skip the check and return immediately,
22363 because this is not fatal usually.
22364
ebedfd00 223652005-07-17 Yoshinori Okuji <okuji@enbug.org>
22366
22367 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
22368 be 0x7C00 instead of 0x8000.
22369
22370 * boot/i386/pc/pxeboot.S: Rewritten.
22371
22372 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
22373 EXT_C.
22374 (gate_a20_check_state): Read a byte from 0x108000. Invert the
22375 result.
22376
654fc59f 223772005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
22378
22379 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
22380 robustness. This routine now supports a BIOS call and System
22381 Control Port A to modify the gate A20.
22382
22383 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22384 Increased to 0x440.
22385
09f9923f 223862005-07-12 Hollis Blanchard <hollis@penguinppc.org>
22387
22388 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
22389 device path and resulting ihandle.
22390 (grub_ofdisk_close): dprintf the ihandle being closed.
22391 (grub_ofdisk_read): dprintf function parameters.
22392 * kern/mm.c (grub_mm_init_region): Likewise.
22393 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
22394 (grub_linux_boot): dprintf the Linux entry point, initrd address and
22395 size, and boot arguments.
22396 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
22397 before loading into memory.
22398 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
22399 before loading into memory.
22400
7ef504d8 224012005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
22402
22403 * kern/mm.c: Added much documentation.
22404 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
22405 8, set to 5 instead of 8.
22406
e0f050c2 224072005-07-10 Yoshinori Okuji <okuji@enbug.org>
22408
22409 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
22410
22411 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
22412 (grub_mkdevicemap_SOURCES): New variable.
22413
22414 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
22415 lib/device.c of GRUB Legacy.
22416
7224189a 224172005-07-10 Yoshinori Okuji <okuji@enbug.org>
22418
22419 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
22420 instead of PATH is NULL.
22421
68c864eb 224222005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
22423
22424 * commands/cmp.c (BUFFER_SIZE): New macro.
22425 (grub_cmd_cmp): Close the right file at the right time. Compare
22426 only data just read. Don't report files of different size as
22427 identical. Dynamically allocate buffers. Move variable
22428 declarations at the beginning of function.
22429
e6f3e614 224302005-07-09 Yoshinori Okuji <okuji@enbug.org>
22431
22432 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
22433 reverse.
22434
f8f1559a 224352004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
22436
22437 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
22438 when backspace is pressed at beginning of line.
22439
39c9d41d 224402005-07-03 Yoshinori Okuji <okuji@enbug.org>
22441
22442 * DISTLIST: Added genfslist.sh.
22443
22444 * normal/main.c (fs_module_list): New variable.
22445 (autoload_fs_module): New function.
22446 (read_fs_list): Likewise.
22447 (grub_normal_execute): Call read_fs_list.
22448
22449 * kern/fs.c (grub_fs_autoload_hook): New variable.
22450 (grub_fs_probe): Added support for auto-loading.
22451
22452 * include/grub/normal.h (struct grub_fs_module_list): New struct.
22453 (grub_fs_module_list_t): New type.
22454
22455 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
22456 (grub_fs_autoload_hook): New prototype.
22457
22458 * genfslist.sh: New file.
f19dbdb7 22459
39c9d41d 22460 * genmk.rb: Added a rule to generate a filesystem list.
22461
121c1d83 224622005-06-30 Marco Gerards <metgerards@student.han.nl>
22463
22464 * configure.ac: Fix the test for cross-compiling.
22465
22466 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22467 define GRUB_UTIL anymore.
22468
22469 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22470 so this function works on other systems than just big endian.
22471 (load_modules): Likewise.
22472 (add_segments): Likewise.
22473
e75d76e1 224742005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22475
22476 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22477 contains `l' modifier, get a long from va_arg().
22478
50b5a0a7 224792005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22480
22481 * kern/mm.c (grub_free): If the next free block which is being
22482 merged is the first free block, set the first block to the block
22483 being freed.
22484 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22485
89371b20 224862005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22487
22488 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22489 `grub_ieee1275_chosen'.
22490
168d6e58 224912005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22492
22493 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22494 (grub_ieee1275_chosen): New variable.
22495 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22496 `chosen'.
22497 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22498 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22499 Rename first argument to `phandle' for consistency.
22500 (grub_ieee1275_get_property_length): Likewise.
22501 (grub_ieee1275_next_property): Likewise. Change type of first argument
22502 to grub_ieee1275_phandle_t.
22503 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22504 Move export next to declaration.
22505 (grub_ieee1275_chosen): New variable.
22506 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22507 Correct cosmetic typo.
22508 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22509 `grub_ieee1275_chosen'.
22510 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22511 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22512 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22513 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22514 `grub_ieee1275_chosen'.
22515
ca5baa3f 225162005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22517
22518 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22519 /chosen/bootargs.
22520 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22521 /chosen/bootargs as "variable=value" pairs.
22522
708b345f 225232005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22524
22525 * include/grub/misc.h (grub_dprintf): New macro.
22526 (grub_real_dprintf): New prototype.
22527 (grub_strword): Likewise.
22528 (grub_iswordseparator): Likewise.
22529 * kern/misc.c (grub_real_dprintf): New function.
22530 (grub_strword): Likewise.
22531 (grub_iswordseparator): Likewise.
22532
f4c5e67c 225332005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22534
22535 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22536 (roundup): Remove macro.
22537 (grub_ieee1275_flags): Make static.
22538 (grub_ieee1275_realmode): Remove.
22539 (grub_ieee1275_test_flag): New function.
22540 (grub_ieee1275_set_flag): Likewise.
22541 (find_options): Rename to `grub_ieee1275_find_options'; update
22542 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22543 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22544 (cmain): New prototype.
22545 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22546 `grub_ieee1275_flags' directly.
22547 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22548 machine/biosdisk.h.
22549 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22550 Don't include grub/machine/init.h.
22551 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22552 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22553 Remove prototype.
22554 (grub_ieee1275_realmode): Likewise.
22555 (grub_ieee1275_flag): New enum.
22556 (grub_ieee1275_test_flag): New prototype.
22557 (grub_ieee1275_set_flag): New prototype.
22558 * include/grub/powerpc/ieee1275/init.h: Remove file.
22559 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22560 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22561 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22562 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22563 comment.
22564 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22565 `grub_ieee1275_test_flag'.
22566 (grub_ieee1275_encode_devname): Likewise.
22567
ed16607e 225682005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22569
22570 * include/grub/powerpc/ieee1275/ieee1275.h
22571 (grub_ieee1275_encode_devname): New prototype.
22572 (grub_ieee1275_get_filename): Likewise.
22573 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22574 function.
22575 (grub_set_prefix): Likewise.
22576 (grub_machine_init): Call grub_set_prefix.
22577 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22578 (grub_parse_type): New enum.
22579 (grub_ieee1275_get_devargs): New function.
22580 (grub_ieee1275_get_devname): Likewise.
22581 (grub_ieee1275_parse_args): Likewise.
22582 (grub_ieee1275_get_filename): Likewise.
22583 (grub_ieee1275_encode_devname): Likewise.
22584
be369920 225852005-03-30 Marco Gerards <metgerards@student.han.nl>
22586
22587 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22588 `grub_loader_unset'.
22589
a5ce3a4a 225902005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22591
22592 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22593 instead of grub_ieee1275_interpret.
22594 (grub_halt_init): New function.
22595 (grub_halt_fini): Likewise.
22596 (GRUB_MOD_INIT): Correct message grammar.
22597 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22598 instead of grub_ieee1275_interpret.
22599 (grub_reboot_init): New function.
22600 (grub_reboot_fini): Likewise.
22601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22602 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22603 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22604 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22605 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22606 function.
22607 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22608 Add prototype.
22609 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22610 prototype.
22611 (grub_halt): Likewise.
22612 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22613 (cmain): Remove __attribute__((unused)).
22614 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22615 (grub_heap_len): Likewise.
22616 (grub_machine_fini): New function.
22617 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22618 (grub_halt): Likewise.
22619 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22620 function.
22621 * util/powerpc/ieee1275/misc.c: New file.
22622
0058f771 226232005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22624
22625 * DISTLIST: New file.
22626 * gendistlist.sh: Likewise.
f19dbdb7 22627
0058f771 22628 * Makefile.in (COMMON_DISTFILES): Removed.
22629 (BOOT_DISTFILES): Likewise.
22630 (CONF_DISTFILES): Likewise.
22631 (DISK_DISTFILES): Likewise.
22632 (FS_DISTFILES): Likewise.
22633 (INCLUDE_DISTFILES): Likewise.
22634 (KERN_DISTFILES): Likewise.
22635 (LOADER_DISTFILES): Likewise.
22636 (TERM_DISTFILES): Likewise.
22637 (UTIL_DISTFILES): Likewise.
22638 (DISTFILES): Likewise.
22639 (uninstall): Uninstall files in $(pkgdata_DATA).
22640 (DISTLIST): New target.
22641 (distdir): Use the contents of the file DISTLIST to get a list of
22642 distributed files.
22643
46b3b8a5 226442005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22645
22646 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
22647 descriptor. This is ported from GRUB Legacy.
22648
22649 * gencmdlist.sh: Added an extra semicolon to make it work with
22650 old sed versions. Reported by Robert Bihlmeyer
22651 <robbe@orcus.priv.at>.
22652
5822ff87 226532005-03-08 Yoshinori Okuji <okuji@enbug.org>
22654
22655 Automatic loading of commands is supported.
f19dbdb7 22656
5822ff87 22657 * normal/main.c (read_command_list): New function.
22658 (grub_normal_execute): Call read_command_list.
22659
22660 * normal/command.c (grub_register_command): Return zero or CMD.
22661 Allocate CMD->NAME from the heap.
22662 Initialize CMD->MODULE_NAME to zero.
22663 Find the same name as well. If the same command is found and it is
22664 a dummy command, overwrite members. If it is not a dummy command,
22665 return zero.
22666 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22667 (grub_command_find): If a dummy command is found, load a module
22668 and retry to find a command only once.
22669
22670 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22671 make sure that each command is loaded.
22672
22673 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22674 macro.
22675 (struct grub_command): Remove const from the member `name'.
22676 Add a new member `module_name'.
22677 (grub_register_command): Return grub_command_t.
22678
22679 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22680 sure that each command is loaded.
22681
22682 * genmk.rb (PModule::rule): Specify a module name without the
22683 suffix ".mod" to gencmdlist.sh.
22684
7b1f4b57 226852005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22686
22687 * gencmdlist.sh: New file.
f19dbdb7 22688
7b1f4b57 22689 * genmk.rb (PModule::rule): Generate a rule for a command list.
22690 Clean command.lst.
22691 Generate command.lst from $(COMMANDFILES).
22692
22693 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22694 (DATA): Added $(pkgdata_DATA).
22695 (install-local): Install files in $(pkgdata_DATA).
22696
062aaf39 226972005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22698
22699 * term/i386/pc/vga.c (debug_command): Removed.
22700 (GRUB_MOD_INIT): Do not register the command "debug".
22701
22702 From Hollis Blanchard:
22703 * commands/configfile.c: New file.
22704 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22705 commands/configfile.c.
22706 (pkgdata_MODULES): Added configfile.mod.
22707 (configfile_mod_SOURCES): New variable.
22708 (configfile_mod_CFLAGS): Likewise.
22709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22710 commands/configfile.c.
22711 (pkgdata_MODULES): Added configfile.mod.
22712 (configfile_mod_SOURCES): New variable.
22713 (configfile_mod_CFLAGS): Likewise.
22714 * util/grub-emu.c (main): Call grub_configfile_init and
22715 grub_configfile_fini.
22716 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
22717 prototype.
22718 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 22719
cee01aa6 227202005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22721
22722 * normal/arg.c (grub_arg_show_help): Do not show the bug report
22723 address.
22724
22725 * commands/help.c (grub_cmd_help): Do not print newlines after
22726 the last command in print_command_help.
22727
93f3a1d8 227282005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22729
22730 * commands/default.h: New file.
22731 * commands/timeout.h: Likewise.
22732 * normal/context.c: Likewise.
f19dbdb7 22733
93f3a1d8 22734 * util/misc.c: Do not include sys/times.h.
22735 Include sys/time.h and grub/machine/time.h.
22736 (grub_get_rtc): Rewritten with gettimeofday.
22737
22738 * util/grub-emu.c (main): Call grub_default_init and
22739 grub_timeout_init before grub_normal_init, and call
22740 grub_timeout_fini and grub_default_fini after grub_main.
22741
22742 * util/console.c (grub_ncurses_checkkey): Return the read
22743 character or -1.
22744
22745 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
22746 timeouts.
22747
22748 * normal/main.c (read_config_file): Push MENU. If this fails,
22749 print an error and wait for a user input.
22750 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
22751 If a menu is empty or an error occurs, pop MENU.
22752 (grub_normal_execute): Pop and free MENU after grub_menu_run
22753 returns.
22754
22755 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
22756
22757 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
22758 include time.h.
22759 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22760 without GRUB_UTIL.
22761 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
22762 time.h.
22763 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22764 without GRUB_UTIL.
22765
22766 * include/grub/normal.h (struct grub_menu_list): New struct.
22767 (grub_menu_list_t): New type.
22768 (struct grub_context): New struct.
22769 (grub_context_t): New type.
22770 (grub_register_command): Got rid of EXPORT_FUNC.
22771 (grub_unregister_command): Likewise.
22772 (grub_context_get): New prototype.
22773 (grub_context_get_current_menu): Likewise.
22774 (grub_context_push_menu): Likewise.
22775 (grub_context_pop_menu): Likewise.
22776 [GRUB_UTIL] (grub_default_init): Likewise.
22777 [GRUB_UTIL] (grub_default_fini): Likewise.
22778 [GRUB_UTIL] (grub_timeout_init): Likewise.
22779 [GRUB_UTIL] (grub_timeout_fini): Likewise.
22780
22781 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
22782 commands/timeout.c and normal/context.c.
22783 (pkgdata_MODULES): Added default.mod and timeout.mod.
22784 (normal_mod_SOURCES): Added normal/context.c.
22785 (default_mod_SOURCES): New variable.
22786 (default_mod_CFLAGS): Likewise.
22787 (timeout_mod_SOURCES): Likewise.
22788 (timeout_mod_CFLAGS): Likewise.
22789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
22790 conf/i386-pc.rmk.
22791 (pkgdata_MODULES): Added default.mod and timeout.mod.
22792 (normal_mod_SOURCES): Added normal/context.c.
22793 (default_mod_SOURCES): New variable.
22794 (default_mod_CFLAGS): Likewise.
22795 (timeout_mod_SOURCES): Likewise.
22796 (timeout_mod_CFLAGS): Likewise.
22797
22798 * Makefile.in (all-local): Added $(MKFILES).
22799
4ed2e1dd 228002005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
22801
22802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
22803 (grub_emu_SOURCES): Likewise.
22804 (pkgdata_MODULES): Add `sun.mod'.
22805 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22807 `partmap/sun.c'.
22808 (pkgdata_MODULES): Add `sun.mod'.
22809 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22810 * include/grub/partition.h (grub_sun_partition_map_init): New
22811 prototype.
22812 (grub_sun_partition_map_fini): Likewise.
22813 * partmap/sun.c: New file.
22814 * util/grub-emu.c (main): Initialize and de-initialize the sun
22815 partitionmap support.
22816
4d4e372e 228172005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
22818
22819 This implements an Emacs-like menu entry editor.
f19dbdb7 22820
4d4e372e 22821 * normal/menu_entry.c: New file.
f19dbdb7 22822
4d4e372e 22823 * util/console.c (grub_ncurses_putchar): Translate some Unicode
22824 characters to ASCII.
22825 (saved_char): New variable.
22826 (grub_ncurses_checkkey): Rewritten completely.
22827 (grub_ncurses_getkey): Likewise.
22828 (grub_ncurses_init): Call raw instead of cbreak.
22829
22830 * normal/menu.c (print_entry): Do not put a space.
22831 (init_page): Renamed to ...
22832 (grub_menu_init_page): ... this. All callers changed.
22833 (edit_menu_entry): Removed.
22834 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
22835
22836 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
22837
22838 * kern/misc.c (grub_vprintf): Call grub_refresh.
22839
22840 * normal/menu.c (DISP_LEFT): Renamed to ...
22841 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
22842 * normal/menu.c (DISP_UP): Renamed to ...
22843 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
22844 * normal/menu.c (DISP_RIGHT): Renamed to ...
22845 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
22846 * normal/menu.c (DISP_DOWN): Renamed to ...
22847 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
22848 * normal/menu.c (DISP_HLINE): Renamed to ...
22849 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
22850 * normal/menu.c (DISP_VLINE): Renamed to ...
22851 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22852 * normal/menu.c (DISP_UL): Renamed to ...
22853 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22854 * normal/menu.c (DISP_UR): Renamed to ...
22855 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
22856 * normal/menu.c (DISP_LL): Renamed to ...
22857 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
22858 * normal/menu.c (DISP_LR): Renamed to ...
22859 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
22860 * normal/menu.c (TERM_WIDTH): Renamed to ...
22861 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
22862 * normal/menu.c (TERM_HEIGHT): Renamed to ...
22863 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
22864 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
22865 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
22866 * normal/menu.c (TERM_MARGIN): Renamed to ...
22867 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
22868 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
22869 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
22870 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
22871 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
22872 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
22873 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
22874 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
22875 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
22876 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
22877 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
22878 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
22879 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
22880 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
22881 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
22882 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
22883 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
22884 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
22885 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
22886 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
22887 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
22888 All callers changed.
22889
22890 * include/grub/normal.h: New prototype.
22891
22892 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22893 normal/menu_entry.c.
22894 (normal_mod_SOURCES): Likewise.
22895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22896 (normal_mod_SOURCES): Likewise.
22897
e6b92c8a 228982005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
22899
22900 * include/grub/normal.h (grub_halt_init): New prototype.
22901 (grub_halt_fini): Likewise.
22902 (grub_reboot_init): Likewise.
22903 (grub_reboot_fini): Likewise.
22904
22905 * util/grub-emu.c: Include signal.h.
22906 (main_env): New global variable.
22907 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
22908 catch C-c.
22909 (grub_machine_fini): New function.
22910 (main): Call grub_halt_init and grub_reboot_init before
22911 grub_main, and grub_reboot_fini and grub_halt_fini after it.
22912 Call setjmp with MAIN_ENV to go back afterwards.
22913 Call grub_machine_fini right before return.
22914
22915 * include/grub/util/misc.h: Include setjmp.h.
22916 (main_env): New prototype.
22917
22918 * include/grub/kernel.h (grub_machine_fini): New prototype.
22919 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
22920 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
22921
22922 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
22923 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
22924 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 22925
e6b92c8a 22926 * util/i386/pc/misc.c: New file.
f19dbdb7 22927
e6b92c8a 22928 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22929 util/i386/pc/misc.c, commands/i386/pc/halt.c and
22930 commands/i386/pc/reboot.c.
22931
c642636f 229322005-02-14 Guillem Jover <guillem@hadrons.org>
22933
22934 * include/grub/dl.h (grub_dl_check_header): New prototype.
22935 (grub_arch_dl_check_header): Change return type to grub_err_t,
22936 remove size parameter and export function. Update all callers.
22937 * kern/dl.c (grub_dl_check_header): New function.
22938 (grub_dl_load_core): Use `grub_dl_check_header' instead of
22939 `grub_arch_dl_check_header'. Check ELF type. Check if sections
22940 are inside the core.
22941 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
22942 independent ELF header checks.
22943 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22944 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
22945 `grub_dl_check_header' instead of explicit checks. Check for the
22946 ELF type.
22947 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
22948 `grub_dl_check_header' instead of explicit checks. Remove arch
22949 specific ELF header checks.
22950
e6b92c8a 22951 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
22952 argument SIZE.
22953
5eabe94b 229542005-02-13 Hollis Blanchard <hollis@penguinppc.org>
22955
22956 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
22957 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
22958
1b14a681 229592005-02-12 Hollis Blanchard <hollis@penguinppc.org>
22960
22961 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 22962 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 22963 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 22964 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 22965 * partmap/amiga.c (amiga_partition_map_iterate): Return
22966 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
22967 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22968
aca108aa 229692005-02-01 Guillem Jover <guillem@hadrons.org>
22970
22971 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
22972 help info.
22973
c9f9c556 229742005-01-31 Marco Gerards <metgerards@student.han.nl>
22975
22976 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
22977 Removed prototype.
22978 (grub_rescue_cmd_linux): New prototype.
22979 (grub_rescue_cmd_initrd): Likewise.
22980 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
22981 `bi_rec'.
22982 (grub_linux_release_mem): Release the memory for the initrd.
22983 (grub_load_linux): Renamed from this...
22984 (grub_rescue_cmd_linux): ...To this. Changed all callers.
22985 Changed `entry' not to be static. Loop over memory regions to
22986 find another one when the default fails.
22987 (grub_rescue_cmd_initrd): New function.
22988 (grub_linux_init): Remove function.
22989 (grub_linux_fini): Likewise.
22990 (GRUB_MOD_INIT): Register `initrd'.
22991 (GRUB_MOD_FINI): Unregister `initrd'.
22992 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
22993 Function removed.
22994 (grub_linux_normal_fini): Likewise.
22995 (GRUB_MOD_INIT): Register `initrd'.
22996 (GRUB_MOD_FINI): Unregister `initrd'.
22997
990cf3aa 229982005-01-31 Marco Gerards <metgerards@student.han.nl>
22999
23000 * commands/help.c: New file.
23001 * normal/arg.c (show_help): Renamed to...
23002 (grub_arg_show_help): ... this.
23003 * commands/i386/pc/halt.c: New file.
23004 * commands/i386/pc/reboot.c: Likewise.
23005 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23006 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23007 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23008 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23009 variables.
23010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23011 `commands/help.c'.
23012 (pkgdata_MODULES): Add `help.mod'.
23013 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23014 * grub/i386/pc/init.h (grub_reboot): New prototype.
23015 (grub_halt): Likewise.
23016 * include/grub/normal.h (grub_arg_show_help): New prototype.
23017 (grub_help_init): Likewise.
23018 (grub_help_fini): Likewise.
23019 * util/grub-emu.c (main): Initialize and deinitialize the help
23020 command.
23021
23022 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23023
23024 * normal/command.c (grub_command_init): Fixed the description of
23025 the `set' and `unset' commands.
23026
230272005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23028
23029 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23030 function.
23031 * commands/ieee1275/halt.c: New file.
23032 * commands/ieee1275/reboot.c: Likewise.
23033 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23034 `__attribute__ ((unused))'. Some GCS related fixed.
23035 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23036 (grub_suspend_fini): Likewise.
23037 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23038 and `halt.mod'.
23039 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23040 (halt_mod_CFLAGS): New variables.
23041 * include/grub/powerpc/ieee1275/ieee1275.h
23042 (grub_ieee1275_interpret): New prototype.
23043
1ab09cc7 230442005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23045
23046 * include/grub/misc.h (memmove): New prototype.
23047 (memcpy): Likewise.
23048
8b8cbdb2 230492005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23050
23051 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23052 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23053
e3741a27 230542005-01-22 Marco Gerards <metgerards@student.han.nl>
23055
23056 * kern/misc.c (grub_strndup): Function rewritten.
23057
776bd780 230582005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23059
23060 * normal/menu.c (TERM_WIDTH): Macro redefined.
23061 (TERM_TOP_BORDER_Y): Likewise.
23062 (draw_border): Replaced while-loop by a for-loop. Make the number
23063 of lines consistent with the number of lines displayed in
23064 print_entries. Added a margin below the rectangle.
23065 (print_entry): Make the entry fit in the rectangle.
23066 (print_entries): Display the scroll arrows next to the right
23067 border.
23068
78026bce 230692005-01-21 Marco Gerards <metgerards@student.han.nl>
23070
23071 * fs/minix.c (grub_minix_find_file): Reserve more space for
23072 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23073 `grub_strncpy' to copy `path' into it.
23074
67bbaf0f 230752005-01-21 Marco Gerards <metgerards@student.han.nl>
23076
23077 Add the loopback device, a device via which files can be accessed
23078 as devices.
f19dbdb7 23079
67bbaf0f 23080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23081 (pkgdata_MODULES): Add loopback.mod.
23082 (loopback_mod_SOURCES): New variable.
23083 (loopback_mod_CFLAGS): Likewise.
23084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23085 `disk/loopback.c'.
23086 (pkgdata_MODULES): Add loopback.mod.
23087 (loopback_mod_SOURCES): New variable.
23088 (loopback_mod_CFLAGS): Likewise.
23089 * disk/loopback.c: new file.
23090 * include/grub/normal.h (grub_loop_init): New prototype.
23091 (grub_loop_fini): New prototype.
23092 * util/grub-emu.c (main): Initialize and de-initialize loopback
23093 support.
23094 * include/grub/disk.h (grub_disk_dev_id): Add
23095 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23096
6f1c18bd 230972005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23098
23099 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23100 function.
23101 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23102 (suspend_mod_SOURCES): New variable.
23103 (suspend_mod_CFLAGS): Likewise.
23104 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23105 New prototype.
23106 * commands/ieee1275/suspend.c: New file.
23107
b38551da 231082005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23109
23110 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23111 ((unused))' to `__attribute__ ((used))'.
b38551da 23112 (GRUB_MOD_FINI): Likewise.
23113 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23114 * genmk.rb (PModule): Assign space to common symbols when linking
23115 modules.
23116
777aff39 231172005-01-20 Marco Gerards <metgerards@student.han.nl>
23118
23119 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23120 `unsigned' arguments to `grub_size_t'.
23121 (grub_malloc): Likewise.
23122 (grub_realloc): Likewise.
23123 (grub_memalign): Likewise.
23124 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23125 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23126 * util/misc.c (grub_malloc): Likewise.
23127 (grub_realloc): Likewise.
23128 * kern/mm.c (get_header_from_pointer): Change the casts to
23129 `unsigned' into a cast to `grub_size_t'.
23130
23131 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23132 point to `currnode' when `currnode' is changed.
23133
23134 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23135 Schottelius <nico-linux@schottelius.org>.
23136
d0ff18e1 231372005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23138
23139 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23140 (note_path): Remove variable.
23141 (GRUB_IEEE1275_NOTE_NAME): New macro.
23142 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23143 (grub_ieee1275_note_hdr): New structure.
23144 (grub_ieee1275_note_desc): Likewise.
23145 (grub_ieee1275_note): Likewise.
23146 (load_note): Remove `dir' argument. All callers updated. Remove
23147 `note_img' and `path'. Do not load a file from `note_path'.
23148 Initialize a struct grub_ieee1275_note and write that to `out'.
23149 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23150
4ca7004c 231512005-01-05 Marco Gerards <metgerards@student.han.nl>
23152
23153 * util/misc.c (grub_util_read_image): Revert last change. It
23154 called `grub_util_read_at', which seeks from the beginning of the
23155 file.
23156
0b412211 231572005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23158
23159 * TODO: Add note about endianness in grub-mkimage.
23160 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23161 section.
23162 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23163 (grub_mkimage_SOURCES): New target.
23164 * include/grub/kernel.h (grub_start_addr): Remove variable.
23165 (grub_end_addr): Likewise.
23166 (grub_total_module_size): Likewise.
23167 (grub_kernel_image_size): Likewise.
23168 (GRUB_MODULE_MAGIC): New constant.
23169 (grub_module_info): New structure.
23170 (grub_arch_modules_addr): New prototype.
23171 (grub_get_end_addr): Remove prototype.
23172 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23173 * include/grub/powerpc/ieee1275/kernel.h: New file.
23174 * include/grub/util/misc.h (grub_util_get_fp_size): New
23175 prototype.
23176 (grub_util_read_at): Likewise.
23177 (grub_util_write_image_at): Likewise.
23178 * kern/main.c (grub_get_end_addr): Remove function.
23179 (grub_load_modules): Call grub_arch_modules_addr instead of using
23180 grub_end_addr. Look for a grub_module_info struct in memory. Use
23181 the grub_module_info fields instead of calling grub_get_end_addr
23182 as loop conditions. Move grub_add_unused_region code here.
23183 (grub_add_unused_region): Remove function.
23184 * kern/i386/pc/init.c: Include grub/cache.h.
23185 (grub_machine_init): Remove call to grub_get_end_addr. Remove
23186 one call to add_mem_region.
23187 (grub_arch_modules_addr): New function.
23188 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
23189 (grub_total_module_size): Likewise.
23190 Include grub/machine/kernel.h.
23191 (grub_arch_modules_addr): New function.
23192 * util/grub-emu.c (grub_end_addr): Remove variable.
23193 (grub_total_module_size): Likewise.
23194 (grub_arch_modules_addr): New function.
23195 * util/misc.c: Include unistd.h.
23196 (grub_util_get_fp_size): New function.
23197 (grub_util_read_at): Likewise.
23198 (grub_util_write_image_at): Likewise.
23199 (grub_util_read_image): Call grub_util_read_at.
23200 (grub_util_write_image): Call grub_util_write_image_at.
23201 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
23202 additional memory in kernel_img for a struct grub_module_info.
23203 Fill in that grub_module_info.
23204 * util/powerpc/ieee1275/grub-mkimage.c: New file.
23205
458786f8 232062005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23207
23208 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
23209 New function.
23210 * include/grub/powerpc/ieee1275/ieee1275.h
23211 (grub_ieee1275_milliseconds): New prototype.
23212 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
23213 Change to 1000.
23214 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
23215 grub_ieee1275_milliseconds.
23216
ac507d1b 232172005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23218
23219 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
23220 variable.
23221 (find_options): New function.
23222 (cmain): Call find_options.
23223 * include/grub/powerpc/ieee1275/ieee1275.h
23224 (grub_ieee1275_realmode): New extern variable.
23225 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
23226 grub_map if grub_ieee1275_realmode is false.
23227
6b8fd1c4 232282004-12-29 Marco Gerards <metgerards@student.han.nl>
23229
23230 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
23231 lines are inserted and make it work like readline. Reported by
23232 Vincent Pelletier <subdino2004@yahoo.fr>.
23233
8514a1e0 232342004-12-28 Marco Gerards <metgerards@student.han.nl>
23235
23236 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
23237
23238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
23239 `kern/powerpc/cache.S'.
23240
924b6140 232412004-12-27 Marco Gerards <metgerards@student.han.nl>
23242
23243 * genmk.rb: Handle the `Program' class in the main loop. Written
23244 by Johan Rydberg <jrydberg@gnu.org>.
23245 (Program): New class.
23246 (programs): New variable.
23247 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
23248 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
23249 instead of "grub/kernel.h". Include <grub/machine/init.h>.
23250 (help_arch): Function removed.
23251 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
23252 `powerpc/libgcc.h' and `loader.h'.
23253 (pkgdata_PROGRAMS): New variable.
23254 (sbin_UTILITIES): Variable removed.
23255 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
23256 (grubof_SOURCES): Variable re-defined so it only includes the
23257 core functionality.
23258 (grubof_CFLAGS): Remove `-DGRUBOF'.
23259 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
23260 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
23261 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
23262 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
23263 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
23264 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
23265 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
23266 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
23267 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
23268 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
23269 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23270 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
23271 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
23272 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
23273 (pc_mod_CFLAGS): New variables.
23274 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
23275 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
23276 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
23277 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
23278 Moved from here...
23279 * include/grub/i386/pc/init.h (grub_os_area_addr)
23280 (rub_os_area_size): ... to here.
23281 * include/grub/powerpc/ieee1275/ieee1275.h
23282 (grub_ieee1275_entry_fn): Export symbol.
23283 * include/grub/powerpc/ieee1275/init.h: New file.
23284 * include/grub/powerpc/libgcc.h: Likewise.
23285 * include/grub/cache.h: Likewise.
23286 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
23287 <hollis@penguinppc.org>.
23288 * kern/dl.c: Include <grub/cache.h>.
23289 (grub_dl_flush_cache): New function.
23290 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
23291 for this module.
23292 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
23293 (grub_console_init): Removed prototypes.
23294 (grub_machine_init): Don't initialize the modules anymore.
23295 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
23296 static.
23297 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
23298 Macro undef removed.
23299 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
23300 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
23301 relocation `R_PPC_REL32'. Return an error when the relocation is
23302 unknown.
23303 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
23304 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
23305 * util/misc.c (grub_arch_sync_caches): Likewise.
23306
e4b47e0c 233072004-12-19 Marco Gerards <metgerards@student.han.nl>
23308
23309 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
23310 `symlist.c', add `grubof_symlist.c'.
23311 (symlist.c): Variable removed.
23312 (grubof_HEADERS): Variable added.
23313 (grubof_symlist.c): New target.
23314 (kernel_syms.lst): Use `grubof_HEADERS' instead of
23315 `kernel_img_HEADERS'.
23316 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
23317 * kern/powerpc/dl.c: New file.
23318 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
23319 Function removed.
23320 (grub_arch_dl_relocate_symbols): Likewise.
23321 (grub_register_exported_symbols): Likewise.
23322
4ceb3636 233232004-12-13 Marco Gerards <metgerards@student.han.nl>
23324
23325 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
23326 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
23327 to fail instead. Reported by Vincent Pelletier
23328 <subdino2004@yahoo.fr>.
23329
23330 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
23331 it is not allocated. Reported by Vincent Pelletier
23332 <subdino2004@yahoo.fr>.
23333
23334 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
23335 output so the output looks better.
f19dbdb7 23336
3f1578fe 233372004-12-04 Marco Gerards <metgerards@student.han.nl>
23338
23339 Modulize the partition map support and add support for the amiga
23340 partition map.
f19dbdb7 23341
3f1578fe 23342 * commands/ls.c: Include <grub/partition.h> instead of
23343 <grub/machine/partition.h>.
23344 * kern/disk.c: Likewise.
23345 * kern/rescue.c: Likewise.
23346 * loader/i386/pc/chainloader.c: Likewise.
23347 * normal/cmdline.c: Likewise.
23348 * kern/powerpc/ieee1275/init.c: Likewise.
23349 (grub_machine_init): Call `grub_pc_partition_map_init',
23350 `grub_amiga_partition_map_init' and
23351 `grub_apple_partition_map_init'.
23352 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
23353 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
23354 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
23355 `partition.h' and `pc_partition.h'.
23356 (grub_setup_SOURCES): Remove
23357 `disk/i386/pc/partition.c'. Add `kern/partition.c',
23358 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23359 (grub_emu_SOURCES): Likewise.
23360 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
23361 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
23362 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
23363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23364 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
23365 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23366 (grubof_SOURCES): Likewise.
23367 * disk/i386/pc/partition.c: File removed.
23368 * disk/powerpc/ieee1275/partition.c: Likewise.
23369 * include/grub/powerpc/ieee1275/partition.h: Likewise.
23370 * include/grub/i386/pc/partition.h: Likewise.
23371 * kern/partition.c: New file.
23372 * partmap/amiga.c: Likewise.
23373 * partmap/apple.c: Likewise.
23374 * partmap/pc.c: Likewise.
23375 * include/grub/partition.h: Likewise..
23376 * include/grub/pc_partition.h: Likewise.
23377 * util/grub-emu.c: Include <grub/partition.h> instead of
23378 <grub/machine/partition.h>.
23379 (main): Call `grub_pc_partition_map_init',
23380 `grub_amiga_partition_map_init' and
23381 `grub_apple_partition_map_init' and deinitialize afterwards.
23382 * util/i386/pc/biosdisk.c: Include `#include
23383 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23384 `<grub/machine/partition.h>'.
23385 * util/i386/pc/grub-setup.c: Likewise.
23386 * util/i386/pc/biosdisk.c: Likewise.
23387 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
23388 partition information in case of a PC partition.
23389 * util/i386/pc/grub-setup.c: Include `#include
23390 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23391 `<grub/machine/partition.h>'.
23392 (setup): Only access the PC specific partition information in case
23393 of a PC partition.
23394
0ef4ced9 233952004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 23396
0ef4ced9 23397 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
23398 (grub_longjmp): Likewise.
23399 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
23400 20.
23401 * normal/powerpc/setjmp.S: New file.
23402 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23403 `normal/powerpc/setjmp.S'.
23404 (grubof_CFLAGS): Add `-DGRUBOF'.
23405 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
23406 [GRUB_UTIL && !GRUBOF].
f19dbdb7 23407
19950e29 234082004-11-16 Marco Gerards <metgerards@student.han.nl>
23409
23410 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
23411 property named `name'. Correctly handle the error returned by
23412 `grub_ieee1275_finddevice' if a device can not be opened.
23413
a2fea427 234142004-11-02 Hollis Blanchard <hollis@penguinppc.org>
23415
23416 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
23417 `actual' for negativity.
23418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23419 kern/fshelp.c.
23420
41ea0ea3 234212004-11-01 Marco Gerards <metgerards@student.han.nl>
23422
23423 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
23424 (PAGE_OFFSET): New macro.
23425 (CRTC_ADDR_PORT): Likewise.
23426 (CRTC_DATA_PORT): Likewise.
23427 (START_ADDR_HIGH_REGISTER): Likewise.
23428 (START_ADDR_LOW_REGISTER): Likewise.
23429 (GRAPHICS_ADDR_PORT): Likewise.
23430 (GRAPHICS_DATA_PORT): Likewise.
23431 (READ_MAP_REGISTER): Likewise.
23432 (INPUT_STATUS1_REGISTER): Likewise.
23433 (INPUT_STATUS1_VERTR_BIT): Likewise.
23434 (page): New variable.
23435 (wait_vretrace): New function.
23436 (set_read_map): Likewise.
23437 (set_start_address): Likewise.
23438 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
23439 the right page.
23440 (check_vga_mem): Take the page into account.
23441 (write_char): Likewise.
23442 (write_cursor): Likewise.
23443 (scroll_up): Likewise. Copy the page to the page that is not
23444 shown and switch between both pages.
23445 (grub_vga_putchar): Fix off by one error.
23446 (grub_vga_cls): Wait for the vertical retrace. Take the page into
23447 account.
23448
ad0bd20b 234492004-11-01 Marco Gerards <metgerards@student.han.nl>
23450
23451 Add support for iso9660 (including rockridge).
f19dbdb7 23452
ad0bd20b 23453 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23454 (iso9660_mod_SOURCES): New variable.
23455 (iso9660_mod_CFLAGS): Likewise.
23456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23457 * include/grub/fs.h (grub_iso9660_init): New prototype.
23458 * util/grub-emu.c (main): Call `grub_iso9660_init'.
23459 * fs/iso9660.c: New file.
23460
23461 * include/grub/misc.h (grub_strncat): New prototype.
23462 * kern/misc.c (grub_strncat): New function.
f19dbdb7 23463
ad0bd20b 23464 * fs/hfs.c (grub_hfs_mount): Translate the error
23465 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23466 * fs/jfs.c (grub_jfs_mount): Likewise.
23467 * fs/ufs.c (grub_ufs_mount): Likewise.
23468
a5477a59 234692004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23470
23471 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23472 which initialized BAT registers.
23473 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23474 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23475 Move from here...
23476 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23477 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23478 ... to here.
23479 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23480 (grub_mapclaim): Likewise.
23481 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23482 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23483 hand.
23484
9304c1f8 234852004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23486
23487 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23488 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23489 -ffreestanding and -msoft-float.
23490
86f4ae25 234912004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23492
23493 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23494 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23495 set in grub_ieee1275_flags.
23496
38912228 234972004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23498
23499 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23500 prototype.
23501 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23502 grub_console_init first.
23503 Change the memory range used for grub_ieee1275_claim and
23504 grub_mm_init_region.
23505 Print an error message if the claim fails.
23506 Include <grub/misc.h>.
23507
d1923dc8 235082004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23509
23510 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23511 Call grub_children_iterate for device nodes of type `scsi',
23512 `ide', or `ata'.
23513 (grub_ofdisk_open): Remove manual device alias resolution.
23514 Fix memory leak when device cannot be opened.
f19dbdb7 23515 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23516 (grub_children_iterate): New prototype.
23517 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23518 New function.
23519 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23520 Return -1 if args.size was -1.
23521
4512e4f3 235222004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23523
23524 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23525 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23526 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23527 Open Firmware's memory for it; claim memory from _start to _end.
23528 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23529 (_end): New extern.
23530 (_start): Zero BSS from __bss_start to _end.
23531 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23532 New extern.
23533 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23534
4d61feb0 235352004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23536
ad0bd20b 23537 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23538 -1 if args.base was -1.
4d61feb0 23539
026fa2f9 235402004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23541
23542 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23543 escape sequence instead of a literal ^L. Also call
23544 grub_ofconsole_gotoxy.
23545
9f2220ef 235462004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23547
23548 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23549 void * arguments to grub_addr_t. All callers updated. Also make
23550 the `result' argument optional.
23551 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23552 All callers updated.
23553
8a572cd7 235542004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23555
23556 * commands/ls.c (grub_ls_list_files): Use the string following the
23557 initial ')', if present, as the filesystem path.
23558 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23559
23560 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23561
18aa81f2 235622004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23563
23564 Make the source code of the menu interface more readable.
f19dbdb7 23565
18aa81f2 23566 * normal/menu.c: Include grub/mm.h.
23567 (TERM_WIDTH): New macro.
23568 (TERM_HEIGHT): Likewise.
23569 (TERM_INFO_HEIGHT): Likewise.
23570 (TERM_MARGIN): Likewise.
23571 (TERM_SCROLL_WIDTH): Likewise.
23572 (TERM_TOP_BORDER_Y): Likewise.
23573 (TERM_LEFT_BORDER_X): Likewise.
23574 (TERM_BORDER_WIDTH): Likewise.
23575 (TERM_MESSAGE_HEIGHT): Likewise.
23576 (TERM_BORDER_HEIGHT): Likewise.
23577 (TERM_NUM_ENTRIES): Likewise.
23578 (TERM_FIRST_ENTRY_Y): Likewise.
23579 (TERM_ENTRY_WIDTH): Likewise.
23580 (TERM_CURSOR_X): Likewise.
23581 (draw_border): Use macros instead of magic numbers.
23582 (print_entry): Likewise.
23583 (print_entries): Likewise.
23584 (run_menu): Likewise. Also, handle the key 'e'.
23585 (run_menu_entry): Ignore empty command lines.
23586 (print_message): Added a new argument EDIT. If EDIT is true,
23587 print a different message.
23588 (init_page): Likewise.
23589 (edit_menu_entry): New function. Not implemented yet.
23590
b47efe30 235912004-09-17 Marco Gerards <metgerards@student.han.nl>
23592
23593 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23594 can be loaded from normal mode.
f19dbdb7 23595
b47efe30 23596 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23597 `multiboot.mod'.
23598 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23599 (multiboot_mod_CFLAGS): New variables.
23600 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 23601 * loader/i386/pc/multiboot_normal.c: Likewise.
23602
b47efe30 23603 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23604 attribute `unused'.
f19dbdb7 23605
b47efe30 23606 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23607 `fdiro' to read the mode information from instead of `diro'.
23608
23609 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23610 looking up a symlink.
23611
23612 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23613 macro.
23614 * normal/command.c (grub_command_execute): Don't parse the
23615 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23616 flags of the command.
23617
23618 * normal/menu.c (grub_menu_run): Fix typo.
23619
da75ac71 236202004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23621
23622 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23623
23624 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23625 `y + 1' instead of `y - 1'.
23626
23627 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 23628
062b24c2 236292004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23630
23631 From Hollis Blanchard <hollis@penguinppc.org>:
23632 * kern/misc.c (memmove): New alias for grub_memmove.
23633 (memcmp): New alias for grub_memcmp.
23634 (memset): New alias for grub_memset.
f19dbdb7 23635 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 23636 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 23637 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 23638 (grub_ieee1275_get_property): Likewise.
f19dbdb7 23639
8ddad845 236402004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
23641
23642 Added normal mode command `chainloader' as module chain.mod, which
23643 depends on normal.mod and _chain.mod.
f19dbdb7 23644
8ddad845 23645 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
23646 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
23647 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
23648 Deleted prototype.
23649 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
23650 but arguments parsing moved to ...
23651 (grub_chainloader_cmd): ... here. New function.
23652 * include/grub/i386/pc/chainloader.h: New file.
23653 * loader/i386/pc/chainloader_normal.c: Likewise.
23654
2c1f4ce3 236552004-09-11 Marco Gerards <metgerards@student.han.nl>
23656
23657 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23658 (grub_mkimage_LDFLAGS): Likewise.
23659 (grub_emu_SOURCES): Likewise.
23660 (kernel_img_HEADERS): Added fshelp.h.
23661 * fs/ext2.c: Include <grub/fshelp.h>.
23662 (FILETYPE_REG): New macro.
23663 (FILETYPE_INO_REG): Likewise.
23664 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23665 Changed all users.
23666 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23667 all users.
23668 (grub_fshelp_node): New struct.
23669 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23670 to a pointer.
23671 (grub_ext2_get_file_block): Removed function.
23672 (grub_ext2_read_block): New function.
23673 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23674 This function was written.
23675 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23676 (grub_ext2_find_file): Removed function.
23677 (grub_ext2_read_symlink): New function.
23678 (grub_ext2_iterate_dir): Likewise.
23679 (grub_ext2_open): Rewritten.
23680 (grub_ext2_dir): Rewritten.
23681 * include/grub/fshelp.h: New file.
23682 * fs/fshelp.c: Likewise.
23683
3c52136a 236842004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23685
23686 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23687 (print_message): Add a missing newline.
23688 (run_menu): Added timeout support.
23689 (run_menu_entry): New local function.
23690 (grub_menu_run): Added support for booting.
23691
23692 * kern/loader.c (grub_loader_is_loaded): New function.
23693
23694 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23695 (grub_get_rtc): Exported.
23696
23697 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23698 (grub_get_rtc): Exported.
23699
23700 * include/grub/normal.h (struct grub_command_list): Remove
23701 constant from the member `command'.
23702
23703 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23704
23705 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23706
23707 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23708
aa033560 237092004-08-28 Marco Gerards <metgerards@student.han.nl>
23710
23711 Add support for the JFS filesystem.
23712
23713 * fs/jfs.c: New file.
23714 * include/grub/fs.h (grub_jfs_init): New prototype.
23715 (grub_jfs_fini): New prototype.
23716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
23717 (grub_emu_SOURCES): Likewise.
23718 (pkgdata_MODULES): Add jfs.mod.
23719 (jfs_mod_SOURCES): New variable.
23720 (jfs_mod_CFLAGS): Likewise.
23721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
23722 (grubof_SOURCES): Likewise.
23723 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
23724
23725 * fs/fat.c (grub_fat_find_dir): Convert the filename little
23726 endian to the host endian.
23727 (grub_fat_utf16_to_utf8): Move function from there...
23728 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 23729 the endianness of the source string anymore.
aa033560 23730 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
23731
94bc45af 237322004-08-24 Marco Gerards <metgerards@student.han.nl>
23733
23734 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
23735 (grub_boot_fini) [GRUB_UTIL]: Likewise.
23736 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
23737 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 23738
94bc45af 23739 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
23740 (grub_hfs_iterate_dir): Make the function static. Add prototypes
23741 for `node_found' and `it_dir'.
23742 (grub_hfs_dir): Add prototype for `dir_hook'.
23743
23744 * fs/minix.c (grub_minix_get_file_block): Add prototype for
23745 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
23746 and `indir32' to silence a gcc warning.
23747
23748 * include/grub/fs.h (grub_hfs_init): New prototype.
23749 (grub_hfs_fini): Likewise.
f19dbdb7 23750
23751
97543f08 237522004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23753
23754 Each disk device has its own id now. This is useful to make use
23755 of multiple disk devices.
f19dbdb7 23756
97543f08 23757 * include/grub/disk.h (grub_disk_dev_id): New enum.
23758 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
23759 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
23760
23761 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
23762 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23763
23764 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
23765 GRUB_DISK_DEVICE_OFDISK_ID as an id.
23766
23767 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
23768 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23769
23770 * include/grub/disk.h (struct grub_disk_dev): Added a new member
23771 "id" which is used by the cache manager.
23772
23773 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
23774 of just "GRUB".
23775
64372eb4 237762004-08-18 Marco Gerards <metgerards@student.han.nl>
23777
23778 * fs/hfs.c: New file.
23779 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
23780 (grub_emu_SOURCES): Likewise.
23781 (pkgdata_MODULES): Add hfs.mod.
23782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
23783 (grubof_SOURCES): Likewise.
23784 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
23785
23786 * include/grub/misc.h (grub_strncasecmp): Add prototype.
23787 * kern/misc.c (grub_strncasecmp): Add function.
23788
cc61b58f 237892004-08-14 Marco Gerards <metgerards@student.han.nl>
23790
23791 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
23792 with parentheses.
23793
23794 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
23795 (grub_ext2_dir): In case the directory entry type is unknown, read
23796 it from the inode.
23797
0ef123f6 237982004-08-02 Peter Bruin <pjbruin@dds.nl>
23799
23800 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
23801 grub_load_linux instead of grub_rescue_cmd_linux as second
23802 argument of grub_rescue_register_command.
23803
23804 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
23805
a447c5df 238062004-07-27 Marco Gerards <metgerards@student.han.nl>
23807
23808 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
23809 function.
23810 * commands/boot.c: Remove the check for `GRUB_UTIL'.
23811 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23812 `loader/powerpc/ieee1275/linux.c',
23813 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
23814 * include/grub/powerpc/ieee1275/ieee1275.h
23815 (grub_ieee1275_release): New prototype.
23816 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
23817 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
23818 normal, boot, linux and linux_normal.
23819 * loader/powerpc/ieee1275/linux.c: New file.
23820 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23821
5a9e3546 238222004-07-12 Marco Gerards <metgerards@student.han.nl>
23823
23824 * normal/arg.c (grub_arg_parse): Correct error handling after
23825 reallocating the argumentlist (check if `argl' is not null instead
23826 of checking if `args' is not null).
23827 * kern/mm.c (grub_realloc): Return the same pointer when using the
23828 same region, instead of returning the header address.
23829
e15199cb 238302004-07-11 Marco Gerards <metgerards@student.han.nl>
23831
23832 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
23833 one block instead of two when looking for the initial partition.
23834 (grub_partition_probe): Initialize the local variable `p' with 0.
23835 Use base 10 for the grub_strtoul call.
23836 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
23837 need for one local variable.
23838 (grub_strtoul): Don't add the new value to `num', instead of that
23839 just assign it.
23840
020616c2 238412004-07-11 Marco Gerards <metgerards@student.han.nl>
23842
23843 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
23844 (pxeboot_img_SOURCES): New variable.
23845 (pxeboot_img_ASFLAGS): Likewise.
23846 (pxeboot_img_LDFLAGS): Likewise.
23847 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
23848 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
23849 <lode_leroy@hotmail.com>.
23850
6c51eb64 238512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23852
23853 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23854 there was no input.
23855
cfb12aff 238562004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23857
23858 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
23859 the history buffer logic.
23860
6eabba74 238612004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23862
23863 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
23864 (FILETYPE_INO_SYMLINK): New macros.
23865 (grub_ext2_find_file): Check if the node is a directory using the
23866 inode stat information instead of using the filetype in the
23867 dirent. Exclude the first character of an absolute symlink.
23868 (grub_ext2_dir): Mask out the filetype part of the mode member of
23869 the inode.
23870
66e19ef8 238712004-05-24 Marco Gerards <metgerards@student.han.nl>
23872
23873 Add support for UFS version 1 and 2. Add support for the minix
23874 filesystem version 1 and 2, both the variants with 14 and 30 long
23875 filenames.
f19dbdb7 23876
66e19ef8 23877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
23878 fs/minix.c.
23879 (grub_emu_SOURCES): Likewise.
23880 (pkgdata_MODULES): Add ufs.mod and minix.mod.
23881 (ufs_mod_SOURCES): New variable.
23882 (ufs_mod_CFLAGS): Likewise.
23883 (minix_mod_SOURCES): Likewise.
23884 (minix_mod_CFLAGS): Likewise.
23885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
23886 fs/minix.c.
23887 (grubof_SOURCES): Likewise.
23888 * fs/ufs.c: New file.
23889 * fs/minix.c: New file.
23890 * include/grub/fs.h (grub_ufs_init): New prototype.
23891 (grub_ufs_fini): Likewise.
23892 (grub_minix_init): Likewise.
23893 (grub_minix_fini): Likewise.
23894 * util/grub-emu.c (main): Initialize and deinitialize UFS and
23895 minix fs.
23896
cc2e748a 238972004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
23898
23899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
23900 commands/ls.c, commands/terminal.c, commands/boot.c,
23901 commands/cmp.c and commands/cat.c.
23902 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
23903
23904 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
23905 "env.h"
23906
4b13b216 239072004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23908
23909 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
23910 and grub_, respectively. Because the conversion is trivial and
23911 mechanical, I omit the details here. Please refer to the CVS
23912 if you need more information.
23913
6a142551 239142004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23915
23916 * include/pupa: Renamed to ...
23917 * include/grub: ... this.
23918 * util/i386/pc/pupa-mkimage.c: Renamed to ...
23919 * util/i386/pc/grub-mkimage.c: ... this.
23920 * util/i386/pc/pupa-setup.c: Renamed to ...
23921 * util/i386/pc/grub-setup.c: ... this.
23922 * util/pupa-emu.c: Renamed to ...
23923 * util/grub-emu.c: ... this.
23924
e56cdf21 239252004-03-29 Marco Gerards <metgerards@student.han.nl>
23926
23927 Add support for the newworld apple macintosh (PPC). This has been
23928 tested on the powerbook 2000 only. It only adds support for
23929 generic ieee1275 functions, console and disk support. This should
23930 be easy to port to other architectures with support for Open
23931 Firmware.
f19dbdb7 23932
e56cdf21 23933 * configure.ac: Accept the powerpc as host_cpu. In the case of
23934 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
23935 specific tests are only executed while building for the i386.
23936 Inverse test for crosscompile.
23937 * genmk.rb (Utility): Allow assembler files.
23938 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
23939 * conf/powerpc-ieee1275.rmk: New file.
23940 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
23941 * disk/powerpc/ieee1275/partition.c: Likewise.
23942 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
23943 * include/pupa/powerpc/ieee1275/console.h: Likewise.
23944 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
23945 * include/pupa/powerpc/ieee1275/time.h: Likewise.
23946 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
23947 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
23948 * include/pupa/powerpc/ieee1275/loader.h
23949 * include/pupa/powerpc/setjmp.h: Likewise.
23950 * include/pupa/powerpc/types.h: Likewise.
23951 * kern/powerpc/ieee1275/init.c: Likewise.
23952 * kern/powerpc/ieee1275/openfw.c: Likewise.
23953 * term/powerpc/ieee1275/ofconsole.c: Likewise.
23954
23955 These files were written by Johan Rydberg
23956 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 23957
e56cdf21 23958 * boot/powerpc/ieee1275/cmain.c: New file.
23959 * boot/powerpc/ieee1275/crt0.S: Likewise.
23960 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
23961 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
23962
8c8cc205 239632004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
23964
23965 * Makefile.in: Update copyright.
23966 * genmodsrc.sh: Likewise.
23967 * gensymlist.sh: Likewise.
23968 * term/i386/pc/vga.c: Indent correctly.
23969
23970 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
23971 bugreporting address.
23972 * util/i386/pc/pupa-setup.c (usage): Likewise,
23973 (main): Call pupa_ext2_init and pupa_ext2_fini.
23974
f19dbdb7 23975 * fs/fat.c (log2): Renamed to ...
8c8cc205 23976 (fat_log2): ... this.
23977 All callers changed.
23978 * kern/misc.c (memcpy): Alias to pupa_memmove.
23979 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
23980 lvalue cast.
23981 * util/console.c (pupa_ncurses_fini): Return 0.
23982
23983 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
23984 Move fail label here.
23985 [__GNU__]: Don't warn when using stat.
23986 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
23987 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
23988 long int. Use strtol instead of strtoul.
f19dbdb7 23989
db1771cf 239902004-03-14 Marco Gerards <metgerards@student.han.nl>
23991
23992 * commands/boot.c: New file.
23993 * commands/cat.c: Likewise.
23994 * commands/cmp.c: Likewise.
23995 * commands/ls.c: Likewise.
23996 * commands/terminal.c: Likewise.
23997 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
23998 (pupa_register_command): Changed interface to match the new
23999 argument parser.
24000 (pupa_command_execute): Changed (almost rewritten) so it uses
24001 pupa_split_command. Added support for setting variables using the
24002 syntax `foo=bar'.
24003 (rescue_command): Changed to work with the new argument parser.
24004 (terminal_command): Moved from here to commands/terminal.c.
24005 (set_command): New function.
24006 (unset_command): New function.
24007 (insmod_command): New function.
24008 (rmmod_command): New function.
24009 (lsmod_command): New function.
24010 (pupa_command_init): Don't initialize the command terminal
24011 anymore. Initialize the commands set, unset, insmod, rmmod and
24012 lsmod.
24013 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24014 (kernel_img_HEADERS): Add arg.h and env.h.
24015 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24016 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24017 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24018 normal/arg.c.
24019 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24020 terminal.mod.
24021 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24022 (boot_mod_SOURCES): New variable.
24023 (terminal_mod_SOURCES): Likewise.
24024 (ls_mod_SOURCES): Likewise.
24025 (cmp_mod_SOURCES): Likewise.
24026 (cat_mod_SOURCES): Likewise.
24027
24028 * normal/arg.c: New file.
24029 * kern/env.c: Likewise.
24030 * include/pupa/arg.h: Likewise.
24031 * include/pupa/env.h: Likewise.
24032 * font/manager.c (font_command): Changed to match argument parsing
24033 interface changes.
24034 (PUPA_MOD_INIT): Likewise.
24035 * hello/hello.c (pupa_cmd_hello): Likewise.
24036 (PUPA_MOD_INIT): Likewise.
24037 * include/pupa/disk.h: Include <pupa/device.h>.
24038 (pupa_print_partinfo): New prototype.
24039 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24040 (pupa_dl_get_prefix): Likewise.
24041 * include/pupa/misc.h: Include <pupa/err.h>.
24042 (pupa_isgraph): New prototype.
24043 (pupa_isdigit): Likewise.
24044 (pupa_split_cmdline): Likewise.
24045 * include/pupa/normal.h: Include <pupa/arg.h>.
24046 (pupa_command): Changed the prototype of the member `func' to
24047 match the argument parsing interface. Added member `options'.
24048 (pupa_register_command): Updated to match function.
24049 (pupa_arg_parse): New prototype.
24050 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24051 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24052 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24053 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24054 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24055 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24056 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24057 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24058 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24059 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24060 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24061 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24062 * kern/disk.c: Include <pupa/file.h>.
24063 (pupa_print_partinfo): New function.
24064 * kern/dl.c: Include <pupa/env.h>.
24065 (pupa_dl_dir): Variable removed.
24066 (pupa_dl_load): Use the environment variable `prefix' instead of
24067 the variable pupa_dl_dir.
24068 (pupa_dl_set_prefix): Function removed.
24069 (pupa_dl_get_prefix): Likewise.
24070 * kern/i386/pc/init.c: Include <pupa/env.h>.
24071 (pupa_machine_init): Use the environment variable `prefix' instead of
24072 using pupa_dl_set_prefix to set the prefix.
24073 * kern/main.c: Include <pupa/env.h>.
24074 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24075 using pupa_dl_get_prefix to get the prefix.
24076 * kern/misc.c: Include <pupa/env.h>.
24077 (pupa_isdigit): New function.
24078 (pupa_isgraph): Likewise.
24079 (pupa_ftoa): Likewise.
24080 (pupa_vsprintf): Added support for printing values of the type
24081 `double'. Make it possible to format variable output when using
24082 formatting like `%1.2%f'.
24083 (pupa_split_cmdline): New function.
24084 * kern/rescue.c: Include <pupa/env.h>.
24085 (next_word): Removed function.
24086 (pupa_rescue_cmd_prefix): Likewise.
24087 (pupa_rescue_cmd_set): New function.
24088 (pupa_rescue_cmd_unset): New function.
24089 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24090 split the command line instead of splitting it here. Added
24091 support for setting variables using the syntax `foo=bar'. Don't
24092 initialize the prefix command anymore. Initialized the set and
24093 unset commands.
24094 * normal/cmdline.c: Include <pupa/env.h>.
24095 (pupa_tab_complete): Added prototypes for print_simple_completion,
24096 print_partition_completion, add_completion, iterate_commands,
24097 iterate_dev, iterate_part and iterate_dir. Moved code to print
24098 partition information from here to kern/disk.c.
fe6b695a 24099 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24100 * normal/main.c: Include <pupa/env.h>.
24101 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24102 instead of using pupa_dl_get_prefix to get the prefix.
24103 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24104 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24105 warning.
24106 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24107 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24108 ((unused))' to silence a gcc warning.
24109 (pupa_vga_setcolor): Likewise.
24110 (debug_command): Changed to match argument parsing
24111 interface changes.
24112 * util/pupa-emu.c: Include <pupa/env.h>.
24113 (options): Added 0's for unused fields to silence a gcc warning.
24114 (argp): Likewise.
24115 (main): Use the environment variable `prefix' instead of using
24116 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24117 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24118 and terminal.
24119
24120 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24121 * util/misc.c: Include <malloc.h>.
24122 (pupa_malloc): Rewritten so errors are correctly reported.
24123 (pupa_realloc): Likewise.
24124 (pupa_memalign): Likewise.
24125 (pupa_mm_init_region): Declare unused variables with
24126 `__attribute__ ((unused))' to silence a gcc warning.
24127 * normal/i386/setjmp.S: Remove tab at the end of the file to
24128 silence a gcc warning.
24129 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24130 variables with `__attribute__ ((unused))' to silence a gcc
24131 warning.
24132 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24133 local variable i unsigned to silence a gcc warning.
24134
24135 * kern/term.c: Include <pupa/misc.h>.
24136 (pupa_more_lines): New variable.
24137 (pupa_more): Likewise.
24138 (pupa_putcode): When the pager is active pause at the end of every
24139 screen.
24140 (pupa_set_more): New function.
24141 * include/pupa/term.h (pupa_set_more): New prototype.
24142
24143
3b1139cb 241442004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24145
24146 Now this project is GRUB 2 rather than PUPA. The location of
24147 the CVS repository was moved to GRUB's.
f19dbdb7 24148
3b1139cb 24149 * configure.ac: Use bug-grub as the reporting address.
24150 Use GRUB instead of PUPA.
24151 Change the version number to 1.90.
24152
8367695c 241532004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24154
24155 * genkernsyms.sh: Updated copyright information.
24156 * genmk.rb: Likewise.
24157 * genmodsrc.sh: Likewise.
24158 * gensymlist.sh: Likewise.
24159 * boot/i386/pc/boot.S: Likewise.
24160 * boot/i386/pc/diskboot.S: Likewise.
24161 * disk/i386/pc/biosdisk.c: Likewise.
24162 * disk/i386/pc/partition.c: Likewise.
24163 * font/manager.c: Likewise.
24164 * fs/ext2.c: Likewise.
24165 * fs/fat.c: Likewise.
24166 * include/pupa/boot.h: Likewise.
24167 * include/pupa/device.h: Likewise.
24168 * include/pupa/disk.h: Likewise.
24169 * include/pupa/dl.h: Likewise.
24170 * include/pupa/elf.h: Likewise.
24171 * include/pupa/err.h: Likewise.
24172 * include/pupa/file.h: Likewise.
24173 * include/pupa/font.h: Likewise.
24174 * include/pupa/fs.h: Likewise.
24175 * include/pupa/kernel.h: Likewise.
24176 * include/pupa/loader.h: Likewise.
24177 * include/pupa/misc.h: Likewise.
24178 * include/pupa/mm.h: Likewise.
24179 * include/pupa/net.h: Likewise.
24180 * include/pupa/normal.h: Likewise.
24181 * include/pupa/rescue.h: Likewise.
24182 * include/pupa/setjmp.h: Likewise.
24183 * include/pupa/symbol.h: Likewise.
24184 * include/pupa/term.h: Likewise.
24185 * include/pupa/types.h: Likewise.
24186 * include/pupa/i386/setjmp.h: Likewise.
24187 * include/pupa/i386/types.h: Likewise.
24188 * include/pupa/i386/pc/biosdisk.h: Likewise.
24189 * include/pupa/i386/pc/boot.h: Likewise.
24190 * include/pupa/i386/pc/console.h: Likewise.
24191 * include/pupa/i386/pc/init.h: Likewise.
24192 * include/pupa/i386/pc/kernel.h: Likewise.
24193 * include/pupa/i386/pc/linux.h: Likewise.
24194 * include/pupa/i386/pc/loader.h: Likewise.
24195 * include/pupa/i386/pc/memory.h: Likewise.
24196 * include/pupa/i386/pc/multiboot.h: Likewise.
24197 * include/pupa/i386/pc/partition.h: Likewise.
24198 * include/pupa/i386/pc/time.h: Likewise.
24199 * include/pupa/i386/pc/vga.h: Likewise.
24200 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
24201 * include/pupa/util/getroot.h: Likewise.
24202 * include/pupa/util/misc.h: Likewise.
24203 * include/pupa/util/resolve.h: Likewise.
24204 * kern/device.c: Likewise.
24205 * kern/disk.c: Likewise.
24206 * kern/dl.c: Likewise.
24207 * kern/err.c: Likewise.
24208 * kern/file.c: Likewise.
24209 * kern/fs.c: Likewise.
24210 * kern/loader.c: Likewise.
24211 * kern/main.c: Likewise.
24212 * kern/misc.c: Likewise.
24213 * kern/mm.c: Likewise.
24214 * kern/rescue.c: Likewise.
24215 * kern/term.c: Likewise.
24216 * kern/i386/dl.c: Likewise.
24217 * kern/i386/pc/init.c: Likewise.
24218 * kern/i386/pc/lzo1x.S: Likewise.
24219 * kern/i386/pc/startup.S: Likewise.
24220 * loader/i386/pc/chainloader.c: Likewise.
24221 * loader/i386/pc/linux.c: Likewise.
24222 * loader/i386/pc/multiboot.c: Likewise.
24223 * normal/cmdline.c: Likewise.
24224 * normal/command.c: Likewise.
24225 * normal/main.c: Likewise.
24226 * normal/menu.c: Likewise.
24227 * normal/i386/setjmp.S: Likewise.
24228 * term/i386/pc/console.c: Likewise.
24229 * term/i386/pc/vga.c: Likewise.
24230 * util/console.c: Likewise.
24231 * util/genmoddep.c: Likewise.
24232 * util/misc.c: Likewise.
24233 * util/pupa-emu.c: Likewise.
24234 * util/resolve.c: Likewise.
24235 * util/unifont2pff.rb: Likewise.
24236 * util/i386/pc/biosdisk.c: Likewise.
24237 * util/i386/pc/getroot.c: Likewise.
24238 * util/i386/pc/pupa-mkimage.c: Likewise.
24239 * util/i386/pc/pupa-setup.c: Likewise.
24240
e6eced71 242412004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
24242
24243 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
24244 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
24245 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
24246 reading and reset it after reading.
24247 (pupa_ext2_close): Return PUPA_ERR_NONE.
24248
24249 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
24250 Correct value.
24251 (struct linux_kernel_header): Add kernel_version and
24252 initrd_addr_max.
24253 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
24254 pupa_file_read succeeds.
24255 (pupa_rescue_cmd_initrd): Implement.
24256
5aded270 242572003-12-03 Marco Gerards <metgerards@student.han.nl>
24258
24259 * fs/ext2.c (pupa_ext2_label): New function.
24260 (pupa_ext2_fs): Added label.
24261 * fs/fat.c (pupa_fat_label): New function.
24262 (pupa_fat_fs): Added label.
24263 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
24264
24265 * kern/misc.c (pupa_strndup): New function.
24266 * include/pupa/misc.h (pupa_strndup): New prototype.
24267
24268 * include/pupa/normal.h: Include <pupa/err.h>.
24269 (pupa_set_history): New prototype.
24270 (pupa_iterate_commands): New prototype.
24271 * normal/cmdline.c: Include <pupa/machine/partition.h>,
24272 <pupa/disk.h>, <pupa/file.h>.
24273 (hist_size): New variable.
24274 (hist_lines): Likewise.
24275 (hist_end): Likewise.
24276 (hist_used): Likewise.
24277 (pupa_set_history): New function.
24278 (pupa_history_get): Likewise.
24279 (pupa_history_add): Likewise.
24280 (pupa_history_replace): Likewise.
24281 (pupa_tab_complete): Likewise.
24282 (pupa_cmdline_run): Added tab completion and history buffer. Tab
24283 completion shows partitionnames while completing partitions, this
24284 feature was suggested by Jeff Bailey.
24285 * normal/command.c (pupa_iterate_commands): New function.
24286 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
24287 (pupa_normal_init): Initialize history buffer.
24288 (PUPA_MOD_INIT): Likewise.
24289 (pupa_normal_fini): Free the history buffer.
24290 (PUPA_MOD_FINI): Likewise.
24291
24292 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
24293 key.
24294
24295 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
24296 * configure.ac [i386]: Check for regparam bug.
24297 (NESTED_FUNC_ATTR) [! i386]: Defined.
24298
1f7315a3 242992003-11-17 Marco Gerards <metgerards@student.han.nl>
24300
24301 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
24302 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
24303 (pupa_emu_SOURCES): New variable.
24304 (pupa_emu_LDFLAGS): Likewise.
24305 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
24306 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
24307 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
24308 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24309 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
24310 (pupa_jmp_buf): New typedef.
24311 (pupa_setjmp) [PUPA_UTIL]: New macro.
24312 (pupa_longjmp) [PUPA_UTIL]: Likewise.
24313 * include/pupa/term.h (struct pupa_term): New member `refresh'.
24314 (pupa_refresh): New prototype.
24315 * include/pupa/util/getroot.h: New file.
24316 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
24317 it.
24318 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
24319 (pupa_rescue_cmd_cat): Likewise.
24320 (pupa_rescue_cmd_ls): Likewise.
24321 (pupa_rescue_cmd_testload): Likewise.
24322 (pupa_rescue_cmd_lsmod): Likewise.
24323 * normal/cmdline.c (pupa_cmdline_get): Likewise.
24324 * normal/menu.c (run_menu): Likewise.
24325 * kern/term.c (pupa_cls): Likewise.
24326 (pupa_refresh): New function.
24327 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
24328 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24329 * util/console.c: New file.
f19dbdb7 24330
1f7315a3 24331 * util/i386/pc/getroot.c: New file.
24332 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
24333 (pupa_putchar): New function.
24334 (pupa_refresh): Likewise.
24335 (xgetcwd): Function moved to ...
24336 (strip_extra_slashes): Likewise.
24337 (get_prefix): Likewise.
f19dbdb7 24338 * util/i386/pc/getroot.c: ... here.
1f7315a3 24339 (find_root_device): Function moved and renamed to...
24340 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
24341 Changed all callers.
24342 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
24343 and renamed to...
24344 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
24345 Changed all callers.
24346 * util/misc.c (pupa_memalign): New function.
24347 (pupa_mm_init_region): Likewise.
24348 (pupa_register_exported_symbols): Likewise.
24349 (pupa_putchar): Function removed.
24350 * util/pupa-emu.c: New file.
24351
9a5c1ade 243522003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
24353
24354 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
24355 (_multiboot_mod_SOURCES): New variable.
24356 (_multiboot_mod_CFLAGS): Likewise.
24357 * loader/i386/pc/multiboot.c: New file.
24358 * include/pupa/i386/pc/multiboot.h: Likewise.
24359 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
24360 (pupa_multiboot_real_boot): New function.
24361 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
24362 (pupa_multiboot_real_boot): New prototype.
24363 (pupa_rescue_cmd_multiboot): Likewise
24364 (pupa_rescue_cmd_module): Likewise.
24365
24366 * kern/loader.c (pupa_loader_set): Continue when
24367 pupa_loader_unload_func() fails.
24368 (pupa_loader_unset): New function.
24369 * include/pupa/loader.h (pupa_loader_unset): New prototype.
24370
24371 * kern/misc.c (pupa_stpcpy): New function.
24372 * include/pupa/misc.h (pupa_stpcpy): New prototype.
24373
8e72a9c0 243742003-11-12 Marco Gerards <metgerards@student.han.nl>
24375
24376 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
24377 for available extensions.
24378
24379 * include/pupa/i386/pc/time.h: New file.
24380 * kern/disk.c: Include <pupa/machine/time.h>.
24381 (PUPA_CACHE_TIMEOUT): New macro.
24382 (pupa_last_time): New variable.
24383 (pupa_disk_open): Flush the cache when there was a timeout.
24384 (pupa_disk_close): Reset the timer.
24385 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
24386 pupa_currticks.
24387 * util/misc.c: Include <sys/times.h>
24388 (pupa_get_rtc): New function.
24389
c4adbd32 243902003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24391
24392 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
24393 as blocks.
24394 (pupa_ext2_get_file_block): Use blocks member.
24395
24396 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
24397 first block. Return -1 instead of pupa_errno on error.
24398
bfd30f06 243992003-10-27 Marco Gerards <metgerards@student.han.nl>
24400
24401 * README: In the pupa-mkimage example use _chain instead of chain
24402 and ext2 instead of fat.
24403 * TODO: Replace ext2fs with jfs as an example. Add an item for
24404 adding journal playback for ext2fs.
24405 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
24406 (pkgdata_MODULES): Added ext2.mod.
24407 (ext2_mod_SOURCES): New variable.
24408 (ext2_mod_CFLAGS): Likewise.
24409 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
24410 * include/pupa/misc.h (pupa_strncpy): New prototype.
24411 (pupa_strcat): Likewise.
24412 (pupa_strncmp): Likewise.
24413 * kern/misc.c (pupa_strcat): Enable function.
24414 (pupa_strncpy): New function.
24415 (pupa_strncmp): Likewise.
24416 * fs/ext2.c: New file.
f19dbdb7 24417
bfd30f06 24418 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
24419 when the read failed before retrying.
24420 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
24421 (_FILE_OFFSET_BITS): Likewise.
24422 * configure.ac: Added AC_SYS_LARGEFILE.
24423
98d15063 244242003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24425
24426 * genmk.rb (PModule#rule): Make sure to get only symbol names
24427 from the output of nm.
59cad637 24428 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 24429
18d9c7cd 244302003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24431
24432 I forgot to check in these changes for a long time. This adds
24433 incomplete support for VGA console, and this is still very
24434 buggy. Also, a lot of consideration is required for I18N,
24435 UNICODE, and VGA font issues. Therefore, assume that this is
24436 such that "better than nothing".
f19dbdb7 24437
18d9c7cd 24438 * font/manager.c: New file.
24439 * include/pupa/font.h: Likewise.
24440 * include/pupa/i386/pc/vga.h: Likewise.
24441 * term/i386/pc/vga.c: Likewise.
24442 * util/unifont2pff.rb: Likewise.
24443
24444 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
24445 (pkgdata_MODULES): Added vga.mod and font.mod.
24446 (vga_mod_SOURCES): New variables.
24447 (vga_mod_CFLAGS): Likewise.
24448 (font_mod_SOURCES): Likewise.
24449 (font_mod_CFLAGS): Likewise.
24450
24451 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
24452
24453 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 24454 (struct pupa_term): Added init and fini.
18d9c7cd 24455 Changed the argument of putchar to pupa_uint32_t.
24456
24457 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
24458 (pupa_console_real_putchar): New prototype.
24459 (pupa_console_putchar): Removed.
24460 (pupa_console_checkkey): Exported.
24461 (pupa_console_getkey): Likewise.
24462
24463 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
24464 characters.
24465
24466 * kern/term.c (pupa_term_set_current): Rewritten.
24467 (pupa_putchar): Likewise.
24468 (pupa_putcode): New function.
24469
24470 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24471 (pupa_console_real_putchar): ... this.
24472 (pupa_vga_set_mode): New function.
24473 (pupa_vga_get_font): Likewise.
24474
24475 * normal/command.c: Include pupa/term.h.
24476 (terminal_command): New function.
24477 (pupa_command_init): Register the command "terminal".
24478
24479 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24480 (DISP_UP): Likewise.
24481 (DISP_RIGHT): Likewise.
24482 (DISP_DOWN): Likewise.
24483 (DISP_HLINE): Likewise.
24484 (DISP_VLINE): Likewise.
24485 (DISP_UL): Likewise.
24486 (DISP_UR): Likewise.
24487 (DISP_LL): Likewise.
24488 (DISP_LR): Likewise.
24489
24490 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 24491
977329f5 244922003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24493
24494 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24495 FIX. Reverse the path_list.
24496
24497 * include/pupa/normal.h: Export pupa_register_command and
24498 pupa_unregister_command.
24499
24500 * hello/hello.c (pupa_cmd_hello): New module.
24501 * conf/i386-pc.rmk: Added hello.mod.
24502
1f5ab428 245032003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24504
24505 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 24506
1f5ab428 24507 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24508 (compress_kernel): New variable.
24509 (generate_image): Heavily modified to support compressing a
24510 large part of the core image.
24511
24512 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24513 leak.
24514 (pupa_util_load_image): New function.
24515
24516 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24517 (pupa_compressed_size): New variable.
24518 (codestart): Enable Gate A20 here.
24519 Decompress the compressed part of the core image.
24520 Rearrange the code to put functions and variables which are
24521 required for initialization in the non-compressed part.
24522 Include lzo1x.S.
24523
24524 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24525 here.
24526
24527 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24528
f19dbdb7 24529 * include/pupa/i386/pc/kernel.h
1f5ab428 24530 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24531 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24532 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24533 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24534 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24535
24536 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24537
24538 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24539 (Utility#rule): Likewise.
24540
24541 * configure.ac: Check if LZO is available.
24542
ce5bf700 245432003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24544
24545 * include/pupa/normal.h: New file.
24546 * include/pupa/setjmp.h: Likewise.
24547 * include/pupa/i386/setjmp.h: Likewise.
24548 * normal/cmdline.c: Likewise.
24549 * normal/command.c: Likewise.
24550 * normal/main.c: Likewise.
24551 * normal/menu.c: Likewise.
24552 * normal/i386/setjmp.S: Likewise.
f19dbdb7 24553
ce5bf700 24554 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24555 (pupa_rescue_cmd_initrd): Likewise.
24556
24557 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24558 Likewise.
24559
24560 * kern/i386/pc/startup.S (translation_table): New variable.
24561 (translate_keycode): New function.
24562 (pupa_console_getkey): Call translate_keycode.
24563
24564 * kern/rescue.c (attempt_normal_mode): New function.
24565 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24566 it failed, print a message.
24567
24568 * kern/mm.c (pupa_real_malloc): Print more information when a
24569 free magic is broken.
24570 (pupa_free): If the first free header is not free actually, set
24571 it to P.
24572
24573 * kern/main.c (pupa_load_normal_mode): Just load the module
24574 "normal".
24575 (pupa_main): Don't print the message
24576 "Entering into rescue mode..." here.
24577
24578 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24579 Declared.
24580 (pupa_rescue_cmd_initrd): Likewise.
24581 (pupa_rescue_cmd_initrd): Likewise.
24582
24583 * include/pupa/symbol.h (FUNCTION): Specify the type.
24584 (VARIABLE): Likewise.
24585
24586 * include/pupa/err.h (pupa_err_t): Added
24587 PUPA_ERR_UNKNOWN_COMMAND.
24588
24589 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24590 (pupa_dl_get_prefix): Likewise.
24591
24592 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24593 Added _chain.mod and _linux.mod instead of chain.mod and
24594 linux.mod.
24595 (chain_mod_SOURCES): Renamed to ...
24596 (_chain_mod_SOURCES): ... this.
24597 (chain_mod_CFLAGS): Renamed to ...
24598 (_chain_mod_CFLAGS): ... this.
24599 (linux_mod_SOURCES): Renamed to ...
24600 (_linux_mod_SOURCES): ... this.
24601 (linux_mod_CFLAGS): Renamed to ...
24602 (_linux_mod_CFLAGS): ... this.
24603 (normal_mod_SOURCES): New variable.
24604 (normal_mod_CFLAGS): Likewise.
24605 (normal_mod_ASFLAGS): Likewise.
24606
246072003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24608
24609 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24610 possible.
24611
fe6b695a 24612 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 24613 recursively.
24614 (pupa_dl_unref): Unrefer depending modules recursively.
24615 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24616 a module is unloaded before one depending on that module is
24617 unloaded.
24618 (pupa_dl_unload): Unload depending modules explicitly,
24619 if possible.
24620
c04da074 246212003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24622
24623 * include/pupa/i386/pc/linux.h: New file.
24624 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 24625
c04da074 24626 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24627 Removed.
24628 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24629 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24630 of PUPA_CHAINLOADER_BOOT_SECTOR.
24631
24632 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24633 (pupa_linux_prot_size): New variable.
24634 (pupa_linux_tmp_addr): Likewise.
24635 (pupa_linux_real_addr): Likewise.
24636 (pupa_linux_boot_zimage): New function.
24637 (pupa_linux_boot_bzimage): Likewise.
24638
24639 * kern/i386/pc/init.c (struct mem_region): New structure.
24640 (MAX_REGIONS): New macro.
24641 (mem_regions): New variable.
24642 (num_regions): Likewise.
24643 (pupa_os_area_addr): Likewise.
24644 (pupa_os_area_size): Likewise.
24645 (pupa_lower_mem): Likewise.
24646 (pupa_upper_mem): Likewise.
24647 (add_mem_region): New function.
24648 (compact_mem_regions): Likewise.
24649 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
24650 the size of the conventional memory and that of so-called upper
24651 memory (before the first memory hole).
24652 Instead of adding each found region to free memory, use
24653 add_mem_region and add them after removing overlaps.
24654 Also, add only 1/4 of the upper memory to free memory. The rest
24655 is used for loading OS images. Maybe this is ad hoc, but this
24656 makes it much easier to relocate OS images when booting.
24657
24658 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24659 (pupa_enter_rescue_mode): Don't register initrd and module.
24660
24661 * kern/mm.c: Include pupa/dl.h.
24662
24663 * kern/main.c: Include pupa/file.h and pupa/device.h.
24664
24665 * kern/loader.c (pupa_loader_load_module_func): Removed.
24666 (pupa_loader_load_module): Likewise.
24667
24668 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24669 ``.o''.
24670
24671 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24672 (pupa_linux_tmp_addr): Likewise.
24673 (pupa_linux_real_addr): Likewise.
24674 (pupa_linux_boot_zimage): Likewise.
24675 (pupa_linux_boot_bzimage): Likewise.
24676
24677 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24678 (pupa_upper_mem): Likewise.
24679 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24680 module is too dangerous.
24681
24682 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24683 (pupa_os_area_size): Likewise.
24684 (pupa_loader_set): Remove the first argument. Loader doesn't
24685 manage modules or initrd any longer.
24686 (pupa_loader_load_module): Removed.
24687
24688 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24689 (linux_mod_SOURCES): New variable.
24690 (linux_mod_CFLAGS): Likewise.
24691
a13f9237 246922003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24693
24694 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24695 the length of a blocklist correctly.
24696
24697 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24698 Use ioctl only if the OS file is a block device.
24699 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24700 not very useful for normal files.
24701
24702 * kern/main.c (pupa_set_root_dev): New function.
24703 (pupa_load_normal_mode): Likewise.
24704 (pupa_main): Call those above.
24705
24706 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24707 pupa_uint16_t.
24708
24709 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24710
a5ffe966 247112003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24712
24713 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
24714 (setup): Configure the installed partition information and the
24715 dl prefix.
24716
24717 * loader/i386/pc/chainloader.c (my_mod): New variable.
24718 (pupa_chainloader_unload): New function.
24719 (pupa_rescue_cmd_chainloader): Refer itself.
24720 (PUPA_MOD_INIT): Save its own module in MY_MOD.
24721
24722 * kern/i386/pc/startup.S (install_partition): Removed.
24723 (version_string): Likewise.
24724 (config_file): Likewise.
24725 (pupa_install_dos_part): New variable.
24726 (pupa_install_bsd_part): Likewise.
24727 (pupa_prefix): Likewise.
24728 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
24729
24730 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
24731 and pupa/misc.h.
24732 (make_install_device): New function.
24733 (pupa_machine_init): Set the dl prefix.
24734
24735 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
24736 (buf): Renamed to ...
24737 (linebuf): ... this.
24738 (pupa_rescue_cmd_prefix): New function.
24739 (pupa_rescue_cmd_insmod): Likewise.
24740 (pupa_rescue_cmd_rmmod): Likewise.
24741 (pupa_rescue_cmd_lsmod): Likewise.
24742 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
24743 rmmod and lsmod.
24744
24745 * kern/mm.c (pupa_memalign): If failed even after invalidating
24746 disk caches, unload unneeded modules and retry.
24747
24748 * kern/misc.c (pupa_memmove): New function.
24749 (pupa_memcpy): Removed.
24750 (pupa_strcpy): New function.
24751 (pupa_itoa): Made static.
24752
24753 * kern/dl.c (pupa_dl_iterate): New function.
24754 (pupa_dl_ref): Likewise.
24755 (pupa_dl_unref): Likewise.
24756 (pupa_dl_unload): Return if succeeded or not.
24757 (pupa_dl_unload_unneeded): New function.
24758 (pupa_dl_unload_all): Likewise.
24759 (pupa_dl_init): Renamed to ...
24760 (pupa_dl_set_prefix): ... this.
24761 (pupa_dl_get_prefix): New function.
24762
24763 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
24764 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
24765 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24766 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24767 (pupa_install_dos_part): Declared.
24768 (pupa_install_bsd_part): Likewise.
24769 (pupa_prefix): Likewise.
24770 (pupa_boot_drive): Likewise.
24771
24772 * include/pupa/types.h: Fix a typo.
24773
24774 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
24775 pupa_memmove.
24776 (pupa_memmove): Declared.
24777 (pupa_strcpy): Likewise.
24778
24779 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
24780 pupa_mod_init takes one argument, its own module.
24781 (pupa_dl_unload_unneeded): Declared.
24782 (pupa_dl_unload_all): Likewise.
24783 (pupa_dl_ref): Likewise.
24784 (pupa_dl_unref): Likewise.
24785 (pupa_dl_iterate): Likewise.
24786 (pupa_dl_init): Renamed to ...
24787 (pupa_dl_set_prefix): ... this.
24788 (pupa_dl_get_prefix): Declared.
24789
24790 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 24791 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 24792 unloaded.
24793 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
24794 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
24795
24796 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
24797 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
24798
012d7999 247992003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24800
24801 * util/i386/pc/pupa-setup.c (setup): Define the internal
24802 function find_first_partition_start at the top level, because GCC
24803 3.0.x cannot compile internal functions in deeper scopes
24804 correctly.
24805 (find_root_device): Use lstat instead of stat.
24806 Don't follow symbolic links.
24807 Fix the path-constructing code.
24808
24809 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
24810 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
24811 by a BLKGETSIZE ioctl first, because block devices don't fill
24812 the member st_mode of the structure stat on Linux.
24813 [__linux__] (linux_find_partition): Use a temporary buffer
24814 REAL_DEV for the working space. Copy it to DEV before returning.
24815 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
24816 buffer cache consistent.
24817 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
24818 strncmp. The previous value was merely wrong.
24819 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
24820
24821 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
24822 FAT size is 12. The previous value was merely wrong.
24823
24824 * kern/main.c (pupa_main): Don't split the starting message from
24825 newlines.
24826
24827 * kern/term.c (pupa_putchar): Put CR after LF instead of before
24828 LF, because BIOS goes crazy about character attributes in this
24829 case.
24830
1cc73a62 248312003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24832
24833 * include/i386/pc/util/biosdisk.h: New file.
24834 * util/i386/pc/biosdisk.c: Likewise.
24835 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 24836
1cc73a62 24837 * Makefile.in (INCLUDE_DISTFILES): Added
24838 include/pupa/i386/pc/util/biosdisk.h.
24839 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
24840 directory util/i386/pc.
24841 (install-local): Added a rule for sbin_UTILITIES.
24842 (uninstall): Likewise.
24843
24844 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
24845
24846 * util/misc.c (xrealloc): New function.
24847 (pupa_malloc): Likewise.
24848 (pupa_free): Likewise.
24849 (pupa_realloc): Likewise.
24850 (pupa_stop): Likewise.
24851 (pupa_putchar): Likewise.
24852
24853 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24854
24855 * include/pupa/util/misc.h (xrealloc): Declared.
24856
24857 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
24858 macro.
24859 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
24860 (PUPA_BOOT_MACHINE_BPB_END): ... this.
24861
24862 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
24863 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24864
24865 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
24866 way should be implemented.
24867 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24868
24869 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
24870 the size of NAME for safety.
24871 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
24872 0x88.
24873
24874 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
24875 (pupa_setup_SOURCES): Likewise.
24876
24877 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
24878
08b70fe8 248792002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24880
24881 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
24882 bunch of pushl's from pusha, because this destroys the return
24883 value.
24884
62ddcc8f 248852002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24886
24887 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
24888 This means that any missing prototypes could be fatal. Also, you
24889 must take care when writing assembly code. See the comments at
24890 the beginning of startup.S, for more details.
f19dbdb7 24891
62ddcc8f 24892 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
24893 compilation mechanism.
24894 (pupa_chainloader_real_boot): Likewise.
24895 (pupa_biosdisk_rw_int13_extensions): Likewise.
24896 (pupa_biosdisk_rw_standard): Likewise.
24897 (pupa_biosdisk_check_int13_extensions): Likewise.
24898 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
24899 (pupa_biosdisk_get_diskinfo_standard): Likewise.
24900 (pupa_get_memsize): Likewise.
24901 (pupa_get_mmap_entry): Likewise.
24902 (pupa_console_putchar): Likewise.
24903 (pupa_console_setcursor): Likewise.
24904 (pupa_getrtsecs): Use pushl instead of push.
24905
24906 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
24907 memory instead of the stack for a mmap entry, because some
24908 BIOSes may ignore the maximum size and overflow.
24909
24910 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
24911
24912 * genmk.rb (PModule#rule): Compile automatically generated
24913 sources with module-specific CFLAGS as well as other sources.
24914
9962ed99 249152002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24916
24917 * configure.ac: Check ld.
24918 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
24919 respectively, before checking endianness and sizes.
24920
24921 * Makefile.in (LD): New variable.
f19dbdb7 24922
abdfc3c5 249232002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24924
24925 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
24926
6a161fa9 249272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24928
24929 * Changelog: New file.
24930