]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
b6c0d9c2
VS
12010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4 by non-valid ones.
5 * kern/term.c (grub_putchar): Likewise.
6
f51a90d0
VS
72010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10 buggy hook call and memory leak.
11
6846cec5
VS
122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15
468d69fe
VS
162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19
51906b8c
VS
202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
23 modevar.
24 Return grub_errno on allocation error.
25
09706ce5
VS
262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29
911df80c
YB
302010-02-06 Yves Blusseau <blusseau@zetam.org>
31
32 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
33 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
34
3746a6bc
VS
352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
38 non-pxe disk.
39 (grub_pxefs_open): Likewise.
40
09706ce5
VS
412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
42
43 * util/grub.d/10_hurd.in: Add --class information to menuentries.
44 * util/grub.d/10_kfreebsd.in: Likewise.
45 * util/grub.d/10_linux.in: Likewise.
46
7cc192d9
VS
472010-02-06 Colin D Bennett <colin@gibibit.com>
48
49 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
50 (gfxmenu_mod_SOURCES): New variable.
51 (gfxmenu_mod_CFLAGS): Likewise.
52 (gfxmenu_mod_LDFLAGS): Likewise.
53 * include/grub/term.h (grub_term_set_current_output): Declare
54 argument as const.
55 * docs/gfxmenu-theme-example.txt: New file.
56 * gfxmenu/gfxmenu.c: Likewise.
57 * gfxmenu/gui_box.c: Likewise.
58 * gfxmenu/gui_canvas.c: Likewise.
59 * gfxmenu/gui_circular_progress.c: Likewise.
60 * gfxmenu/gui_image.c: Likewise.
61 * gfxmenu/gui_label.c: Likewise.
62 * gfxmenu/gui_list.c: Likewise.
63 * gfxmenu/gui_progress_bar.c: Likewise.
64 * gfxmenu/gui_string_util.c: Likewise.
65 * gfxmenu/gui_util.c: Likewise.
66 * gfxmenu/icon_manager.c: Likewise.
67 * gfxmenu/model.c: Likewise.
68 * gfxmenu/named_colors.c: Likewise.
69 * gfxmenu/theme_loader.c: Likewise.
70 * gfxmenu/view.c: Likewise.
71 * gfxmenu/widget-box.c: Likewise.
72 * include/grub/gfxmenu_model.h: Likewise.
73 * include/grub/gfxmenu_view.h: Likewise.
74 * include/grub/gfxwidgets.h: Likewise.
75 * include/grub/gui.h: Likewise.
76 * include/grub/gui_string_util.h: Likewise.
77 * include/grub/icon_manager.h: Likewise.
78
792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Agglomerate scrolling in gfxterm.
82
83 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
84 (grub_virtual_screen_setup): Initialise 'total_screen'.
85 (write_char): Split to ...
86 (paint_char): ... this ...
87 (write_char): ... and this.
88 (paint_char): Handle delayed scrolling.
89 (draw_cursor): Likewise.
90 (scroll_up): Split to ...
91 (real_scroll): ... this ...
92 (scroll_up): ... and this.
93 (real_scroll): Handle multi-line scroll and draw below-the-bottom
94 characters.
95 (grub_gfxterm_refresh): Call real_scroll.
96
972010-02-06 Colin D Bennett <colin@gibibit.com>
98
99 * include/grub/misc.h (grub_iscntrl): New inline function.
100 (grub_isalnum): Likewise.
101 (grub_strtol): Likewise.
102
1032010-02-06 Colin D Bennett <colin@gibibit.com>
104
105 * normal/menu_text.c (get_entry_number): Move from here ...
106 * normal/menu.c (get_entry_number): ... moved here.
107 * include/grub/menu.h (grub_menu_get_default_entry_index):
108 New prototype.
109 * normal/menu.c (grub_menu_get_default_entry_index): New function.
110 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
111 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
112 (grub_menu_viewer_should_return): Likewise.
113 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
114 * normal/menu_text.c (run_menu): Enable menu switching.
115 * normal/menu_viewer.c (should_return): New variable.
116 (menu_viewer_changed): Likewise.
117 (grub_menu_viewer_show_menu): Handle menu viewer changes.
118 (grub_menu_viewer_should_return): New function.
119 (menuviewer_write_hook): Likewise.
120 (grub_menu_viewer_init): Likewise.
121
1222010-02-06 Colin D Bennet <colin@gibibit.com>
1232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Support for gfxterm in a window.
126
127 * include/grub/gfxterm.h: New file.
128 * include/grub/video.h (struct grub_video_rect): New declaration.
129 (grub_video_rect_t): Likewise.
130 * term/gfxterm.c (struct grub_gfxterm_window): New type.
131 (refcount): New variable.
132 (render_target): Likewise.
133 (window): Likewise.
134 (repaint_callback): Likewise.
135 (grub_virtual_screen_setup): Use 'render_target'.
136 (init_window): New function.
137 (grub_gfxterm_init_window): Likewise.
138 (grub_gfxterm_init): Check reference counter.
139 Use init_window.
140 (destroy_window): New function.
141 (grub_gfxterm_destroy_window): Likewise.
142 (grub_gfxterm_fini): Check reference counter.
143 Use destroy_window.
144 (redraw_screen_rect): Restore viewport.
145 Use 'render_target' and 'window'.
146 Call 'repaint_callback'.
147 (write_char): Use 'render_target'.
148 (draw_cursor): Likewise.
149 (scroll_up): Restore viewport.
150 Use 'render_target' and 'window'.
151 Call 'repaint_callback'.
152 (grub_gfxterm_cls): Likewise.
153 (grub_gfxterm_refresh): Use 'window'.
154 (grub_gfxterm_set_repaint_callback): New function.
155 (grub_gfxterm_background_image_cmd): Use 'window'.
156 (grub_gfxterm_get_term): New function.
157 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
158
1592010-02-06 Colin D Bennett <colin@gibibit.com>
160
161 Bitmap scaling support.
162
163 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
164 (bitmap_scale_mod_SOURCES): New variable.
165 (bitmap_scale_mod_CFLAGS): Likewise.
166 (bitmap_scale_mod_LDFLAGS): Likewise.
167 * include/grub/bitmap_scale.h: New file.
168 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
169 (background_image_cmd_options): New variable.
170 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
171 (cmd): Rename and change type to ...
172 (background_image_cmd_handle): ... this. All users updated.
173 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
174 * video/bitmap_scale.c: New file.
175
1762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
177
178 SDL support.
179
180 * Makefile.in (LIBSDL): New variable.
181 (enable_grub_emu_sdl): Likewise.
182 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
183 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
184 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
185 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
186 * util/sdl.c: New file.
187
1882010-02-06 Colin D Bennett <colin@gibibit.com>
1892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
190
191 Double buffering support.
192
193 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
194 * include/grub/video.h: Update comment.
195 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
196 New type.
197 (grub_video_fb_doublebuf_blit_init): New prototype.
198 * term/gfxterm.c (scroll_up): Support double buffering.
199 (grub_gfxterm_refresh): Likewise.
200 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
201 (grub_video_fb_doublebuf_blit_init): Likewise.
202 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
203 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
204 'displayed_page', 'render_page' and 'update_screen'.
205 (grub_video_vbe_fini): Free offscreen buffer.
206 (doublebuf_pageflipping_commit): New function.
207 (doublebuf_pageflipping_update_screen): Likewise.
208 (doublebuf_pageflipping_init): Likewise.
209 (double_buffering_init): Likewise.
210 (grub_video_vbe_setup): Enable doublebuffering.
211 (grub_video_vbe_swap_buffers): Implement.
212 (grub_video_vbe_set_active_render_target): Handle double buffering.
213 (grub_video_vbe_get_active_render_target): Likewise.
214 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
215 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
216 (grub_video_vbe_enable_double_buffering): Likewise.
217 (grub_video_vbe_swap_buffers): Use update_screen.
218 (grub_video_set_mode): Use double buffering.
219
2202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
221
222 * maintainance/gentrigtables.py: Remove.
223 * lib/trig.c: Likewise.
224
225 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
226
227 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
228 `trigtables.c'.
229 (trigtables.c): New rule.
230 (gentrigtables): Likewise.
231 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
232
2332010-02-06 Robert Millan <rmh.grub@aybabtu.com>
234
235 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
236 integer constants.
237
2382010-02-06 Colin D Bennet <colin@gibibit.com>
239
240 Trigonometry support.
241
242 * include/grub/trig.h: New file.
243 * lib/trig.c: Likewise.
244 * maintainance/gentrigtables.py: Likewise.
245 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
246 (trig_mod_SOURCES): New variable.
247 (trig_mod_CFLAGS): Likewise.
248 (trig_mod_LDFLAGS): Likewise.
249
5562834e
VS
2502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
253 disk devices.
254
4f8528fc
VS
2552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
258 error.
259
2b4068e9
VS
2602010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * util/hostdisk.c (open_device): Don't use partition device when reading
263 before the partition.
264 (grub_util_biosdisk_read): Don't read from partition and before the
265 partition in single operation.
266 (grub_util_biosdisk_write): Don't write to partition and before the
267 partition in single operation.
268
399f6e4d
TL
2692010-02-03 Torsten Landschoff <torsten@debian.org>
270
271 * kern/disk.c (grub_disk_read): Fix offset computation when reading
272 last sectors.
273
996649b0
VS
2742010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
277 CDROM reads.
278 (grub_biosdisk_write): Refuse to write to CDROM.
279
3b205d4d
VS
2802010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
283
61e89d9d
VS
2842010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * font/font.c (find_glyph): Check that bmp_idx is available before
287 using it.
288 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
289 with (font == NULL).
290
bf7fcba2
CS
2912010-01-28 Christian Schmitt <chris@ilovelinux.de>
292
293 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
294
f45d2663
BC
2952010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
296
297 * include/grub/script_sh.h (sourcecode): Add const qualifier.
298 * util/grub-script-check.c (getline): Fix empty lines case.
299
ec1444e6
RM
3002010-01-28 Robert Millan <rmh.grub@aybabtu.com>
301
302 * Makefile.in (check): Exit with fail status when one of the tests
303 fails.
304 * tests/example_functional_test.c (example_test): Fix reversed assert.
305 * tests/example_unit_test.c (example_test): Likewise.
306
2e1cb9bb
CW
3072010-01-28 Colin Watson <cjwatson@ubuntu.com>
308
309 * util/grub.d/10_linux.in: This script does not use any of the
310 contents of gettext.sh, only the external command `gettext', so stop
311 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
312 the same prefix as GRUB.)
313 * util/grub.d/10_kfreebsd.in: Likewise.
314
63533ab0
VS
3152010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
318 of the line.
319
989e1f93
VS
3202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * kern/disk.c (grub_disk_read): Fix offset computation when reading
323 last sectors.
324
e709ebe2
VS
3252010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
328 having a 4KiB and not 32KiB buffer size.
329
27dea7ed
RM
3302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
331
332 * util/hostfs.c: Include `<errno.h>'.
333 (grub_hostfs_read): Handle errors from fseeko() and fread().
334
67667b9c
RM
3352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
336
337 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
338 loop when using read hooks on files whose size isn't sector-aligned.
339
c294d9d8
RM
3402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
341
342 Remove unused parameter.
343
344 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
345 (grub_iso9660_open): Remove initialization of `data->length'.
346
af75a9f1
RM
3472010-01-27 Robert Millan <rmh.grub@aybabtu.com>
348
349 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
350 memleak conditions.
351
254e2ce5 3522010-01-27 Carles Pina i Estany <carles@pina.cat>
353
354 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
355 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
356
b510928c 3572010-01-26 Carles Pina i Estany <carles@pina.cat>
358
359 * util/bin2h.c (usage): Fix warning (space after backslash).
360
aa2f9dd2 3612010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 362
363 * font/font.c: Include `grub/fontformat.h.
364 Remove font file format constants.
365 (grub_font_load): Use the new macros.
366 * include/grub/fontformat.h: New file.
367 * util/grub-mkfont.c: Include `grub/fontformat.c'.
368 (write_font_pf2): Use the new macros.
369
94e7e712
RM
3702010-01-26 Robert Millan <rmh.grub@aybabtu.com>
371
372 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
373 does.
374
3973a59a
RM
3752010-01-26 Robert Millan <rmh.grub@aybabtu.com>
376
377 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
378
379 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
380 (_start): Macroify `0x7F'.
381
382 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
383 (make_install_device): Use "(pxe)" as fallback prefix when booting
384 via PXE.
385
42e0cba3
GS
3862010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * configure.ac: Reset LIBS after check for libgcc symbols.
389
847effd8
CW
3902010-01-25 Colin Watson <cjwatson@ubuntu.com>
391
392 * util/hostdisk.c (open_device): Add trailing newline to debug
393 message.
394
ea4a7e35
GS
3952010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
396
397 * configure.ac: Check for `limits.h'.
398 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
399
67951a53
RM
4002010-01-24 Robert Millan <rmh.grub@aybabtu.com>
401
402 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
403 capitalize error strings.
404
c273d4ce
ST
4052010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
406
407 * util/grub.d/10_hurd.in: Add a recovery mode.
408
69be5b74
VS
4092010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * configure.ac: Check for libgcc symbols with -nostdlib.
412
fc9e5810
BC
4132010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
414
415 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
416
4b358c0a
VS
4172010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
420 stack since heap may be unavailable at that point.
421 (grub_ofconsole_gotoxy): Likewise.
422
454fcd1c
VS
4232010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * configure.ac: Check for _restgpr_14_x.
426 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
427 and _savegpr_* prototypes.
428
566863ca
RM
4292010-01-22 Robert Millan <rmh.grub@aybabtu.com>
430
431 Use generic grub_reboot() for i386-efi.
432
433 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
434 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
435 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
436
bf86e59a
VS
4372010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
440 presence of "prefix" variable as it breaks when normal.mod is
441 embedded.
442
d645e0f8
VS
4432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
446 stack since heap is unavailable at that point.
447
f9ab2e25
VS
4482010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
451 (grub_freebsd_bootinfo): Rewritten.
452 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
453
01fc7054
VS
4542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
457
caab4fd6
RM
4582010-01-21 Robert Millan <rmh.grub@aybabtu.com>
459
460 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
461 domain now.
462
67eb1427
FZ
4632010-01-20 Felix Zielcke <fzielcke@z-51.de>
464
465 * util/misc.c (make_system_path_relative_to_its_root): Change the work
466 around for handling "/" to the correct fix. Fix a memory leak. Use
467 xstrdup instead of strdup.
468
a9ed4ff3
VS
4692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
472
4732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
474
475 Optimise glyph lookup by Basic Multilingual Plane lookup array.
476
477 * font/font.c (struct grub_font): New member 'bmp_idx'.
478 (font_init): Initialise 'bmp_idx'.
479 (load_font_index): Fill 'bmp_idx'.
480 (find_glyph): Make inline. Use bmp_idx for BMP characters.
481
48209f4f
VS
4822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
485 unnecessary calls.
486
9f0a4bb7
VS
4872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
488
489 Move context handling out of the kernel.
490
491 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
492 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
493 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
494 * conf/i386-efi.rmk: Likewise.
495 * conf/i386-ieee1275.rmk: Likewise.
496 * conf/i386-pc.rmk: Likewise.
497 * conf/powerpc-ieee1275.rmk: Likewise.
498 * conf/sparc64-ieee1275.rmk: Likewise.
499 * conf/x86_64-efi.rmk: Likewise.
500 * include/grub/env.h: Include grub/menu.h.
501 (grub_env_var_type): Removed.
502 (grub_env_var): Replaced field 'type' with 'global'.
503 (grub_env_find): New prototype.
504 (grub_env_context_open): Remove EXPORT_FUNC.
505 (grub_env_context_close): Likewise.
506 (grub_env_export): Likewise.
507 (grub_env_set_data_slot): Removed.
508 (grub_env_get_data_slot): Likewise.
509 (grub_env_unset_data_slot): Likewise.
510 (grub_env_unset_menu): New prototype.
511 (grub_env_set_menu): Likewise.
512 (grub_env_get_menu): Likewise.
513 * include/grub/env_private.h: New file.
514 * include/grub/normal.h (grub_context_init): New prototype.
515 (grub_context_fini): Likewise.
516 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
517 * normal/context.c (grub_cmd_export): ... to here.
518 * kern/env.c: Include env_private.h.
519 (HASHSZ): Moved to include/grub/env_private.h.
520 (grub_env_context): Likewise.
521 (grub_env_sorted_var): Likewise.
522 (current_context): Renamed from this ...
523 (grub_current_context): ...to this. 'static' removed. All users updated.
524 (grub_env_find): Removed 'static'.
525 (grub_env_context_open): Moved to normal/context.c.
526 (grub_env_context_close): Likewise.
527 (grub_env_export): Likewise.
528 (mangle_data_slot_name): Removed.
529 (grub_env_set_data_slot): Likewise.
530 (grub_env_get_data_slot): Likewise.
531 (grub_env_unset_data_slot): Likewise.
532 * kern/main.c (grub_set_root_dev): Don't export root.
533 It will be done later.
534 (grub_main): Don't export prefix.
535 It will be done later.
536 * normal/context.c: New file.
537 * normal/main.c (free_menu): Use grub_env_unset_menu.
538 (grub_normal_add_menu_entry): Use grub_env_get_menu.
539 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
540 (GRUB_MOD_INIT(normal)): Call grub_context_init.
541 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
542
8dd35b8c
VS
5432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
544
545 setpci support.
546
547 * commands/setpci.c: New file.
548 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
549 (setpci_mod_SOURCES): New variable.
550 (setpci_mod_CFLAGS): Likewise.
551 (setpci_mod_LDFLAGS): Likewise.
552
449193d5
VS
5532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Byte-addressable PCI configuration space.
556
557 * bus/pci.c (grub_pci_make_address): Use byte address instead of
558 dword address.
559 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
560 GRUB_PCI_REG_CACHELINE.
561 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
562 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
563 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
564 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
565 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
566 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
567 grub_pci_make_address.
568 (lock_rom_area): Likewise.
569 * commands/lspci.c (grub_lspci_iter): Use macroses
570 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
571 of grub_pci_make_address.
572 * disk/ata.c (grub_ata_pciinit): Likewise.
573 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
574 (GRUB_PCI_REG_VENDOR): Likewise.
575 (GRUB_PCI_REG_DEVICE): Likewise.
576 (GRUB_PCI_REG_COMMAND): Likewise.
577 (GRUB_PCI_REG_STATUS): Likewise.
578 (GRUB_PCI_REG_REVISION): Likewise.
579 (GRUB_PCI_REG_CLASS): Likewise.
580 (GRUB_PCI_REG_CACHELINE): Likewise.
581 (GRUB_PCI_REG_LAT_TIMER): Likewise.
582 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
583 (GRUB_PCI_REG_BIST): Likewise.
584 (GRUB_PCI_REG_ADDRESSES): Likewise.
585 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
586 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
587 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
588 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
589 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
590 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
591 (GRUB_PCI_REG_CIS_POINTER): Likewise.
592 (GRUB_PCI_REG_SUBVENDOR): Likewise.
593 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
594 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
595 (GRUB_PCI_REG_CAP_POINTER): Likewise.
596 (GRUB_PCI_REG_IRQ_LINE): Likewise.
597 (GRUB_PCI_REG_IRQ_PIN): Likewise.
598 (GRUB_PCI_REG_MIN_GNT): Likewise.
599 (GRUB_PCI_REG_MAX_LAT): Likewise.
600 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
601 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
602 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 603 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
604 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
605 space.
606
96d73208
RM
6072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
608
609 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
610 can be reliably determined to be supported.
611
d4484482
RM
6122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
613
614 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
615 that VESA is supported.
616 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
617 supported.
618
00308ecf
VS
6192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
622
f66924a4
RM
6232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
624
625 * util/misc.c (make_system_path_relative_to_its_root): Work around
626 special-casing of "/", as previous incarnation of this routine did.
627
cbca0ada
VS
6282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
629
630 Fix any-emu compilation.
631
632 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
633 * grub_bin2h_SOURCES: New variable.
634
34a66d99
RM
6352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
636
637 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
638
94fabf58
RM
6392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
640
641 * util/grub.d/00_header.in: Fix handling of locale_dir.
642
02cf98ca
VS
6432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
646 as possible unifont location (Gentoo).
647 Reported by: Alexander Brüning
648
327dbcd7
VS
6492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
650
651 Don't try to generate lists for kernel.img.
652
653 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
654 (pkglib_MODULES): Remove kernel.img.
655 (kernel_img_EXPORTS): Removed.
656 (kernel_img_RELOCATABLE): New variable.
657 * conf/x86_64-efi.rmk: Likewise.
658 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
659
ca467290
VS
6602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
663 grub_xasprintf or grub_snprintf.
664 (grub_vsprintf): Likewise.
665 (grub_snprintf): New proto.
666 (grub_vsnprintf): Likewise.
667 (grub_xasprintf): Likewise.
668 (grub_xvasprintf): Likewise.
669 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
670 (grub_sprintf): Removed.
671 (grub_vsnprintf): New function.
672 (grub_snprintf): Likewise.
673 (grub_xvasprintf): Likewise.
674 (grub_xasprintf): Likewise.
675 (grub_vsprintf): Renamed to ...
676 (grub_vsnprintf_real): ...this. New argument max_len.
677
aca655fd
BC
6782010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
679
680 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
681 fix grub-script-check warning.
682
7ee92c32
VS
6832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * include/grub/font.h (grub_font_load): Fix prototype.
686
f80927ca
VS
6872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
690
119c50ea
VS
6912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * include/grub/x86_64/at_keyboard.h: New file.
694
47d5f3c1
VS
6952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * loader/mips/linux.c: Include missing grub/i18n.h.
698
55ff5266
RM
6992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
700
701 * normal/menu.c (notify_execution_failure): Clarify error message.
702
c893cc87
RM
7032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
704
705 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
706 return value (and revert all return statements). Update users.
707
917dd370
CW
7082010-01-20 Dan Merillat <debian@dan.merillat.org>
709
710 * kern/device.c (grub_device_iterate): Allocate new part_ent
711 structure based on sizeof (*p) rather than sizeof (p->next), to
712 account for structure padding.
713
714 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
715 disk is NULL, which might happen for LVM physical volumes with no
716 LVM signature.
717
d4a4ee57
RM
7182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
719
720 * loader/mips/linux.c (grub_cmd_initrd)
721 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
722
7232009-12-20 Robert Millan <rmh.grub@aybabtu.com>
724
725 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
726 (grub_video_video_init, grub_video_bitmap_init)
727 (grub_font_manager_init, grub_term_gfxterm_init)
728 (grub_at_keyboard_init): New extern declarations.
729 (grub_machine_init): Initialize gfxterm and at_keyboard.
730
731 * kern/main.c (grub_main): Revert grub_printf delay kludge.
732
733 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
734 `gfxterm.mod' into core image.
735
736 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
737 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
738 (kernel_img_FORMAT): Copy to ...
739
740 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
741 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
742 (kernel_img_FORMAT): ... here, and ...
743
744 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
745 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
746 (kernel_img_FORMAT): ... here.
747
748 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
749 and input (at_keyboard) terminals in kernel.
750 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
751
752 (pkglib_MODULES): Remove `pci.mod'.
753 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
754 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
755 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
756 (at_keyboard_mod_LDFLAGS): Remove variables.
757
7582010-01-11 Felix Zielcke <fzielcke@z-51.de>
759
760 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
761
7622009-12-10 Robert Millan <rmh.grub@aybabtu.com>
763
764 * include/grub/mips/libgcc.h: Only export symbols for functions
765 that libgcc provides.
766
7672009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
768
769 MIPS support.
770
771 * bus/bonito.c: New file.
772 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
773 GRUB_PCI_NUM_DEVICES.
774 * term/i386/pc/serial.c: Move to ...
775 * term/serial.c: ... here. All users updated.
776 * util/i386/pc/grub-mkimage.c: Move to ...
777 * util/grub-mkrawimage.c: ... here. All users updated.
778 * term/i386/pc/at_keyboard.c: Move to ...
779 * term/at_keyboard.c: ... here. All users updated.
780 * conf/mips-qemu-mips.rmk: New file.
781 * conf/mips-yeeloong.rmk: Likewise.
782 * conf/mips.rmk: Likewise.
783 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
784 mipsel-qemu-mips.
785 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
786 to port addresses.
787 (grub_ata_pciinit): Support CS5536.
788 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
789 * font/font_cmd.c (loadfont_command): Open file before passing it to
790 grub_font_load.
791 (pseudo_file_read): New function.
792 (pseudo_file_close): Likewise.
793 (pseudo_fs): New structure.
794 (load_font_module): New function.
795 (GRUB_MOD_INIT(font_manager)): Load embedded font.
796 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
797 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
798 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
799 * include/grub/i386/at_keyboard.h: Split into ...
800 * include/grub/at_keyboard.h: ... this ...
801 * include/grub/i386/at_keyboard.h: ... and this.
802 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
803 New prototype.
804 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
805 updated.
806 (grub_elf64_size): Likewise.
807 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
808 filename.
809 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
810 * include/grub/i386/coreboot/serial.h: Rewritten.
811 * include/grub/i386/ieee1275/serial.h: Include
812 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
813 * include/grub/i386/pc/serial.h: Moved from here ...
814 * include/grub/serial.h: ... to here. All users updated.
815 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
816 (GRUB_PCI_NUM_BUS): Likewise.
817 (GRUB_PCI_NUM_DEVICES): Likewise.
818 (grub_pci_device_map_range): Add missing volatile keyword.
819 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
820 * include/grub/mips/at_keyboard.h: New file.
821 * include/grub/mips/cache.h: Likewise.
822 * include/grub/mips/io.h: Likewise.
823 * include/grub/mips/kernel.h: Likewise.
824 * include/grub/mips/libgcc.h: Likewise.
825 * include/grub/mips/pci.h: Likewise.
826 * include/grub/mips/qemu-mips/boot.h: Likewise.
827 * include/grub/mips/qemu-mips/kernel.h: Likewise.
828 * include/grub/mips/qemu-mips/loader.h: Likewise.
829 * include/grub/mips/qemu-mips/memory.h: Likewise.
830 * include/grub/mips/qemu-mips/serial.h: Likewise.
831 * include/grub/mips/qemu-mips/time.h: Likewise.
832 * include/grub/mips/relocator.h: Likewise.
833 * include/grub/mips/time.h: Likewise.
834 * include/grub/mips/types.h: Likewise.
835 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
836 * include/grub/mips/yeeloong/boot.h: Likewise.
837 * include/grub/mips/yeeloong/kernel.h: Likewise.
838 * include/grub/mips/yeeloong/loader.h: Likewise.
839 * include/grub/mips/yeeloong/memory.h: Likewise.
840 * include/grub/mips/yeeloong/pci.h: Likewise.
841 * include/grub/mips/yeeloong/serial.h: Likewise.
842 * include/grub/mips/yeeloong/time.h: Likewise.
843 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
844 * kern/elf.c (grub_elf32_size): New parameter. All users
845 updated.
846 (grub_elf64_size): Likewise.
847 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
848 Load modules before saying "Welcome to GRUB!".
849 Call grub_refresh after saying "Welcome to GRUB!".
850 * kern/mips/cache.S: New file.
851 * kern/mips/cache_flush.S: Likewise.
852 * kern/mips/dl.c: Likewise.
853 * kern/mips/init.c: Likewise.
854 * kern/mips/qemu-mips/init.c: Likewise.
855 * kern/mips/startup.S: Likewise.
856 * kern/mips/yeeloong/init.c: Likewise.
857 * kern/term.c (grub_putcode): Handle NULL terminal.
858 (grub_getcharwidth): Likewise.
859 (grub_getkey): Likewise.
860 (grub_checkkey): Likewise.
861 (grub_getkeystatus): Likewise.
862 (grub_getxy): Likewise.
863 (grub_getwh): Likewise.
864 (grub_gotoxy): Likewise.
865 (grub_cls): Likewise.
866 (grub_setcolorstate): Likewise.
867 (grub_setcolor): Likewise.
868 (grub_getcolor): Likewise.
869 (grub_refresh): Likewise.
870 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
871 (write_jump): Add hatch nop.
872 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
873 * lib/mips/setjmp.S: New file.
874 * loader/mips/linux.c: Likewise.
875 * term/i386/pc/at_keyboard.c: Move from here ...
876 * term/at_keyboard.c: ... to here.
877 * term/i386/pc/serial.c: Moved from here ...
878 * term/serial.c: ... to here. All users updated.
879 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
880 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
881 (serial_translate_key_sequence): Avoid deadlock.
882 (grub_serial_getkey): Handle backspace.
883 (grub_serial_putchar): Fix newline handling.
884 * util/i386/pc/grub-mkimage.c: Move from here ...
885 * util/grub-mkrawimage.c: ... to here. All users updated.
886 (generate_image): New parameters 'font_path' and 'format'.
887 Support embedding font.
888 Use grub_host_to_target* instead of grub_cpu_to_le*.
889 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
890 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
891 (options): New option "--font".
892 (usage): Likewise.
893 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
894 (main): Handle "--font".
895 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
896 (grub_virtual_screen_setup): Set bg_color_display.
897 (redraw_screen_rect): Use bg_color_display instead of incorrect
898 bg_color.
899 (grub_gfxterm_cls): Likewise.
900 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
901 Support embedding config file.
902 (add_segments): Likewise.
903 (options): New option "--config".
904 (main): Handle "--config".
905 * video/sm712.c: New file.
906
25c2b5b3
RM
9072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
908
909 Fix parallel builds.
910
911 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
912 font.c depend on ascii.h).
913
9142010-01-12 Carles Pina i Estany <carles@pina.cat>
915
916 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
917
9182010-01-11 Carles Pina i Estany <carles@pina.cat>
919
920 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
921 By default: disabled.
922 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
923 parameter.
924
9252010-01-10 Carles Pina i Estany <carles@pina.cat>
926
927 * font/font.c: Update copyright years.
928 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
929
9302010-01-10 Carles Pina i Estany <carles@pina.cat>
931
932 * font/font.c: Include `ascii.h'.
933 (ASCII_BITMAP_SIZE): New macro.
934 (ascii_font_glyph): Define.
935 (ascii_glyph_lookup): New function.
936 (grub_font_get_string_width): Change comment. If glyph not found, use
937 ascii_glyph_lookup.
938 (grub_font_get_glyph_with_fallback): If glyph not available returns
939 ascii_glyph_lookup.
940 * util/grub-mkfont.c (file_formats): New enum.
941 (options): Add `ascii-bitmaps' new option.
942 (usage): Add `asii-bitmaps' new option.
943 (write_font_ascii_bitmap): New function.
944 (write_font): Rename to ...
945 (write_font_p2): ... this. Remove print_glyphs call.
946 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
947 used. Call print_glyphs.
948 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
949
9502010-01-14 Robert Millan <rmh.grub@aybabtu.com>
951
952 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
953 (grub_bin2h_SOURCES): New variable.
954 * util/bin2h.c: New file.
955
915fc1b8
VS
9562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * include/multiboot.h: Resynced with spec.
959 * include/multiboot2.h: Likewise.
960 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
961 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
962
9444b678
RM
9632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
964
965 * include/grub/term.h (grub_term_register_input,
966 grub_term_register_output): Check return of terminal init()
967 routines, and abort if errors are raised.
968
969 * commands/terminal.c: Update copyright year.
970
cba98e8d
RM
9712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
972
973 * commands/terminal.c (grub_cmd_terminal_input)
974 (grub_cmd_terminal_output): Check return of terminal init()
975 routines, and abort if errors are raised.
976
6f7db5d6
VS
9772010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * include/grub/i386/bsd.h: Fix include pathes.
980
262bff8d
VS
9812010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
982
983 Add missing *BSD copyright headers.
984
985 * include/grub/aout.h: Add BSD licence.
986 * include/grub/i386/bsd.h: Parts under different licences moved to ...
987 * include/grub/i386/freebsd_linker.h: ... here,
988 * include/grub/i386/freebsd_reboot.h: ... here,
989 * include/grub/i386/netbsd_bootinfo.h: ... here,
990 * include/grub/i386/netbsd_reboot.h: ... here,
991 * include/grub/i386/openbsd_bootarg.h: ... here,
992 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
993 licence to each file.
994
b2cab848
RM
9952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
996
997 * acinclude.m4: Remove `nop' assembly instruction; it's not
998 implemented by all architectures.
999
2cb6be4b
RM
10002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1001
1002 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
1003 ELILO. This is no longer necessary.
1004
a2eaee15
BC
10052010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
1006
1007 Added new tool, grub-scrit-check to verify grub.cfg syntax.
1008
1009 * util/grub-script-check.c: grub-script-check tool.
1010 * conf/common.rmk: Make rules for grub-script-check.
1011
88d17012
RM
10122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1013
1014 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
1015 spotting it back in 2008. Shame on me for forgetting he did.
1016
1017 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
1018
8040619d
RM
10192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1020
1021 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
1022 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
1023 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
1024 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
1025 (GRUB_VIDEO_TYPE_EFI): Rename to ...
1026 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
1027
a0c2a0f6
RM
10282010-01-17 Robert Millan <rmh.grub@aybabtu.com>
1029
1030 * include/grub/test.h: Add license header.
1031 * tests/example_functional_test.c: Likewise.
1032 * tests/example_unit_test.c: Likewise.
1033 * tests/lib/functional_test.c: Likewise.
1034 * tests/lib/test.c: Likewise.
1035 * tests/lib/unit_test.c: Likewise.
1036
b0b13907
VS
10372010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 Use flag-based instead of hook-based video mode selection and "auto"
1040 keyword.
1041
1042 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
1043 (grub_video_set_mode): Changed prototype. All users updated.
1044 (grub_video_check_mode_flag): New inline function.
1045 * video/video.c (parse_modespec): New function.
1046 (grub_video_set_mode): Parse flags and keywords.
1047
ea379330 10482010-01-17 Carles Pina i Estany <carles@pina.cat>
1049
1050 * util/misc.c (grub_util_info): Fix the order of the parameters in a
1051 fprintf call.
1052
e15c215e
FZ
10532010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1054
1055 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
1056
409ae1c9 10572010-01-16 Carles Pina i Estany <carles@pina.cat>
1058
1059 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
1060 string.
1061 * util/grub-emu.c (usage): Likewise.
1062 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
1063 * util/i386/efi/grub-mkimage.c (usage): Likewise.
1064 * util/i386/pc/grub-mkimage.c (usage): Likewise.
1065 * util/i386/pc/grub-setup.c (usage): Likewise.
1066
70a14d3d 10672010-01-16 Carles Pina i Estany <carles@pina.cat>
1068
1069 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
1070 the message.
1071 (grub_util_info): Likewise.
1072 (grub_util_error): Likewise.
1073 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
1074 and/or new lines in `grub_util_warna', `grub_util_info',
1075 `grub_util_error' calls.
1076 * util/getroot.c: Likewise.
1077 * util/grub-editenv.c: Likewise.
1078 * util/grub-emu.c: Likewise.
1079 * util/grub-fstest.c: Likewise.
1080 * util/grub-mkdevicemap.c: Likewise.
1081 * util/grub-mkfont.c: Likewise.
1082 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1083 * util/grub-mkrelpath.c: Likewise.
1084 * util/grub-pe2elf.c: Likewise.
1085 * util/grub-probe.c: Likewise.
1086 * util/hostdisk.c: Likewise.
1087 * util/i386/efi/grub-mkimage.c: Likewise.
1088 * util/i386/pc/grub-mkimage.c: Likewise.
1089 * util/i386/pc/grub-setup.c: Likewise.
1090 * util/ieee1275/ofpath.c: Likewise.
1091 * util/mkisofs/eltorito.c: Likewise.
1092 * util/mkisofs/rock.c: Likewise.
1093 * util/mkisofs/write.c: Likewise.
1094 * util/raid.c: Likewise.
1095 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1096 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1097
a0b766fc
VS
10982010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 Enable multiboot on non-pc.
1101
1102 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
1103 multiboot.mod and multiboot2.mod to ...
1104 * conf/i386.rmk (pkglib_MODULES): ... here.
1105 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
1106 Moved to ...
1107 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
1108 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
1109 Moved to ...
1110 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
1111 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
1112 Moved to ...
1113 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
1114 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
1115 Moved to ...
1116 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
1117 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
1118 relocator.mod.
1119 (ata_mod_SOURCES): Removed.
1120 (ata_mod_CFLAGS): Likewise.
1121 (ata_mod_LDFLAGS): Likewise.
1122 (relocator_mod_SOURCES): Removed.
1123 (relocator_mod_CFLAGS): Likewise.
1124 (relocator_mod_ASFLAGS): Likewise.
1125 (relocator_mod_LDFLAGS): Likewise.
1126 Include i386.mk.
1127 * include/grub/x86_64/multiboot.h: New file.
1128 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
1129 Terminate EFI.
1130
884ade56
VS
11312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Video multiboot support.
1134
1135 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
1136 New prototype.
1137 * include/multiboot.h: Resynced with multiboot specification.
1138 * include/multiboot2.h: Likewise.
1139 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
1140 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
1141 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
1142 (HAS_VGA_TEXT): Likewise.
1143 (accepts_video): New variable.
1144 (grub_multiboot_set_accepts_video): New function.
1145 (grub_multiboot_get_mbi_size): Account for video structures.
1146 (set_video_mode): New function.
1147 (retrieve_video_parameters): Likewise.
1148 (grub_multiboot_make_mbi): Fill video fields.
1149
0d90e8a6
VS
11502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 Video driver ids.
1153
1154 * include/grub/video.h (grub_video_driver_id): New type.
1155 (grub_video_adapter): New member 'id'. All users updated.
1156 (grub_video_get_driver_id): New proto.
1157 * video/video.c (grub_video_get_driver_id): New function.
1158
5c71db1b 11592010-01-14 Carles Pina i Estany <carles@pina.cat>
1160
1161 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
1162 `var=val'.
1163
cca15b52 11642010-01-14 Carles Pina i Estany <carles@pina.cat>
1165
1166 * normal/cmdline.c (print_completion): Gettextizze.
1167
c586fbb2 11682001-01-14 Carles Pina i Estany <carles@pina.cat>
1169
1170 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
1171
ba2f6848 11722010-01-14 Carles Pina i Estany <carles@pina.cat>
1173
1174 * gettext/gettext.c (grub_gettext_translate): Push and pop
1175 grub_errno.
1176 (grub_gettext_delete_list): Change comment style.
1177 * kern/err.c (grub_error): Gettextizze.
1178 (grub_fatal): Gettextizze.
1179
0a46429a
RM
11802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1181
1182 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
1183 (grub_linux16_real_boot): ... this.
1184 * kern/i386/loader.S: Likewise.
1185 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
1186 (grub_linux16_boot): New function. Switches to text mode and calls
1187 grub_linux16_real_boot().
1188
1189 * loader/i386/bsd.c: Include `<grub/video.h>'.
1190 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
1191 text mode before calling grub_unix_real_boot().
1192
1193 * loader/i386/multiboot.c: Include `<grub/video.h>'.
1194 (grub_multiboot_boot): Switch to text mode before calling
1195 grub_relocator32_boot().
1196
1197 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
1198 (grub_chainloader_boot): Switch to text mode before calling
1199 grub_chainloader_real_boot().
1200
d6f93a66
RM
12012010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
12022010-01-05 Colin Watson <cjwatson@ubuntu.com>
1203
1204 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
1205 non-empty value.
1206
12072010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
12082010-01-05 Colin Watson <cjwatson@ubuntu.com>
1209
1210 * util/grub.d/00_header.in: Define a "savedefault" function for use
1211 in menu entries.
1212 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
1213
12142010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
12152010-01-05 Colin Watson <cjwatson@ubuntu.com>
1216
1217 * util/grub-mkconfig_lib.in (save_default_entry): Only set
1218 saved_entry if boot_once is unset.
1219 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
1220 previous saved entry (i.e. grub-reboot).
1221
12222009-12-08 Colin Watson <cjwatson@ubuntu.com>
1223
1224 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
1225
12262009-12-08 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * util/grub.d/00_header.in: Use `set var=val' rather than plain
1229 `var=val'.
1230 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
1231
12322009-12-08 Colin Watson <cjwatson@ubuntu.com>
1233
1234 * util/grub-reboot.in: Fix --version output.
1235 * util/grub-set-default.in: Likewise.
1236
12372009-12-08 Colin Watson <cjwatson@ubuntu.com>
1238
1239 * util/grub.d/00_header.in: Silently ignore zero-sized environment
1240 blocks.
1241
12422009-12-08 Colin Watson <cjwatson@ubuntu.com>
1243
1244 * util/grub.d/00_header.in: Quote the value assigned to `default',
1245 in case it contains spaces.
1246
12472009-12-08 Colin Watson <cjwatson@ubuntu.com>
1248
1249 * util/grub.d/30_os-prober.in: Fix merge error that moved a
1250 `save_default_entry' call from the macosx case to the linux case.
1251
12522009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12532009-10-25 Colin Watson <cjwatson@ubuntu.com>
1254
1255 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
1256 in `chosen' environment variable.
1257 * normal/menu_text.c (get_entry_number): Check if the variable
1258 matches the title of a menu entry.
1259 (run_menu): Pass menu to get_entry_number.
1260
1261 * util/grub-reboot.in: New file.
1262 * util/grub-set-default.in: New file.
1263 * conf/common.rmk (grub-reboot): New utility.
1264 (grub-set-default): New utility.
1265
1266 * util/grub-mkconfig_lib.in (save_default_entry): New function.
1267 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
1268 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
1269 move it to `saved_entry' for the next boot. Load environment on
1270 initialisation.
1271 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
1272 * util/grub.d/10_hurd.in: Likewise.
1273 * util/grub.d/10_linux.in (linux_entry): Likewise.
1274 * util/grub.d/10_windows.in: Likewise.
1275 * util/grub.d/30_os-prober.in: Likewise.
1276
1277 * util/grub-install.in: Create environment block.
1278 * util/i386/efi/grub-install.in: Likewise.
1279 * util/ieee1275/grub-install.in: Likewise.
1280 * util/sparc64/ieee1275/grub-install.in: Likewise.
1281
0934d184
BC
12822010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1283
1284 Unit testing framework for GRUB.
1285
1286 * Makefile.in: Test framework build rules for 'make check'.
1287 * conf/tests.rmk: Build rules for individual tests and framework.
1288
1289 * include/grub/test.h: Header file for whitebox tests.
1290 * tests/lib/functional_test.c: Framework support for whitebox
1291 functional tests.
1292 * tests/lib/test.c: Common whitebox testing code for unit and
1293 functional tests.
1294 * tests/lib/unit_test.c: Framework support for whitebox unit
1295 tests.
1296
1297 * tests/util/grub-shell-tester.in: Support utility for grub-script
1298 tests.
1299 * tests/util/grub-shell.in: Utility to execute grub-script
1300 commands in a Qemu instance.
1301
1302 * tests/example_functional_test.c: Example whitebox functional
1303 test.
1304 * tests/example_grub_script_test.in: Example grub-script test.
1305 * tests/example_scripted_test.in: Example scripted test.
1306 * tests/example_unit_test.c: Example whitebox unit test.
1307
9c4ffeeb
VS
13082010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1311 Add loader/i386/multiboot_mbi.c.
1312 (multiboot2_mod_SOURCES): Likewise.
1313 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1314 (multiboot2_mod_SOURCES): Likewise.
1315 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1316 (grub_multiboot_make_mbi): Likewise.
1317 (grub_multiboot_free_mbi): Likewise.
1318 (grub_multiboot_init_mbi): Likewise.
1319 (grub_multiboot_add_module): Likewise.
1320 (grub_multiboot_set_bootdev): Likewise.
1321 * loader/i386/multiboot.c (mbi): Removed.
1322 (mbi_dest): Likewise.
1323 (alloc_mbi): New variable.
1324 (grub_multiboot_payload_size): Removed. All users updated.
1325 (grub_multiboot_pure_size): New variable.
1326 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1327 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1328 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1329 (grub_fill_multiboot_mmap): Likewise.
1330 (grub_multiboot_get_bootdev): Likewise.
1331 (grub_multiboot): Use multiboot_mbi functions.
1332 * loader/i386/multiboot_mbi.c: New file.
1333
17383dfe
VS
13342010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1337 it would result in module crash.
1338
c1f28820
VS
13392010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1342 (grub_ofconsole_getwh): Split to ...
1343 (grub_ofconsole_getwh): ... this.
1344 (grub_ofconsole_dimensions): ...and this.
1345 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1346
58655a16
RM
13472010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1348
1349 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1350
10891398
VS
13512010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * loader/i386/pc/multiboot2.c: Removed stalled file.
1354
0b8a223c
VS
13552010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1358 Reported by: Grégoire Sutre
1359
92ab12b0
RM
13602010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1361
1362 * util/misc.c (canonicalize_file_name): New function.
1363 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1364 instead of realpath().
1365
a788afb6
CW
13662010-01-11 Colin Watson <cjwatson@ubuntu.com>
1367
1368 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1369 and make it clearer that it's optional. Based on confusion
1370 witnessed on IRC.
1371
ffa8e3d2
VS
13722010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1375 in premature implicit newline.
1376
e9060a9d
VS
13772010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1380 which resulted in garbled command line at the end of screen.
1381
f0d0c0b7
RM
13822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1383
1384 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1385 initialization with similar approach as with other Linux loaders.
1386
0e60bae7
RM
13872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1388
1389 Fix i386-ieee1275 build.
1390
1391 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1392 and grub_term_height() for video_{width,height} initialization.
1393
13942010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
1395
1396 Fix grub-emu build.
1397
1398 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1399
cdb3f378
RM
14002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14012010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1402
1403 Support for multiple terminals.
1404
1405 * Makefile.in (pkglib_DATA): terminal.lst.
1406 (terminal.lst): New target.
1407 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1408 (GRUB_MOD_INIT(handler)): Likewise.
1409 (GRUB_MOD_FINI(handler)): Likewise.
1410 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1411 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1412 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1413 (grub_cmd_sleep): Use grub_term_save_pos.
1414 * commands/terminal.c: New file.
1415 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1416 commands/terminal.c and lib/charset.c.
1417 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1418 (pkglib_MODULES): Add terminal.mod.
1419 (terminal_mod_SOURCES): New variable.
1420 (terminal_mod_CFLAGS): Likewise.
1421 (terminal_mod_LDFLAGS): Likewise.
1422 * genhandlerlist.sh: Don't handle terminals.
1423 * genmk.rb: Generate terminal-*.lst.
1424 * genterminallist.sh: New file.
1425 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1426 (grub_is_valid_utf8): Likewise.
1427 (grub_utf8_to_ucs4_alloc): Likewise.
1428 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1429 (grub_menu_register_viewer): Changed argument.
1430 (grub_menu_try_text): New proto.
1431 (grub_gfxmenu_try_hook): New declaration.
1432 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1433 (grub_menu_init_page): Additional argument term.
1434 (grub_normal_init_page): Likewise.
1435 (grub_cmdline_get): Arguments simplified.
1436 (grub_utf8_to_ucs4_alloc): Removed.
1437 (grub_print_ucs4): Additional argument term.
1438 (grub_getstringwidth): Likewise.
1439 (grub_print_message_indented): Likewise.
1440 (grub_menu_text_register_instances): New proto.
1441 (grub_show_menu): Likewise.
1442 (read_terminal_list): Likewise.
1443 (grub_set_more): Likewise.
1444 * include/grub/parser.h: Include handler.h.
1445 * include/grub/reader.h: Rewritten.
1446 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
1447 (GRUB_TERM_WIDTH): Changed to function.
1448 (GRUB_TERM_HEIGHT): Likewise.
1449 (GRUB_TERM_BORDER_WIDTH): Likewise.
1450 (GRUB_TERM_BORDER_HEIGHT): Likewise.
1451 (GRUB_TERM_NUM_ENTRIES): Likewise.
1452 (GRUB_TERM_ENTRY_WIDTH): Likewise.
1453 (GRUB_TERM_CURSOR_X): Likewise.
1454 (grub_term_input_class): Likewise.
1455 (grub_term_output_class): Likewise.
1456 (grub_term_outputs_disabled): New declaration.
1457 (grub_term_inputs_disabled): Likewise.
1458 (grub_term_outputs): Likewise.
1459 (grub_term_inputs): Likewise.
1460 (grub_term_register_input): Rewritten.
1461 (grub_term_register_output): Likewise.
1462 (grub_term_unregister_input): Likewise.
1463 (grub_term_unregister_output): Likewise.
1464 (FOR_ACTIVE_TERM_INPUTS): New macro.
1465 (FOR_DISABLED_TERM_INPUTS): Likewise.
1466 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1467 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1468 * include/grub/terminfo.h: Add oterm argument to all protypes.
1469 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1470 Use grub_rescue_run.
1471 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1472 All users updated.
1473 * kern/reader.c: Removed. All users updated.
1474 * kern/rescue_reader.c (grub_rescue_init): Removed.
1475 (grub_rescue_reader): Likewise.
1476 (grub_register_rescue_reader): Likewise.
1477 (grub_rescue_run): New function based on kern/reader.c.
1478 * kern/term.c: Adapted for multiterm.
1479 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1480 (grub_is_valid_utf8): Likewise.
1481 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1482 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1483 right terminal.
1484 * loader/i386/linux.c (grub_linux_boot): Likewise.
1485 * normal/auth.c (grub_username_get): New function.
1486 (grub_auth_check_authentication): Use grub_username_get.
1487 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1488 * normal/color.c: Adapt for multiterm.
1489 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1490 (grub_normal_init_page): Additional argument term.
1491 (read_lists): Call read_terminal_lists.
1492 (grub_enter_normal_mode): Call grub_cmdline_run.
1493 Handle grub_normal_exit_level.
1494 (grub_cmd_normal): Make reentrant.
1495 (grub_cmd_normal_exit): New function.
1496 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1497 * normal/menu.c: Adapt for multiterm.
1498 * normal/menu_entry.c: Likewise.
1499 * normal/menu_text.c: Likewise.
1500 * normal/menu_viewer.c: Removed. All users updated.
1501 * normal/term.c: New file.
1502 * util/console.c: Change order of includes to workaround a bug in
1503 ncurses headers.
1504 * term/terminfo.c: New argument oterm on all exported functions.
1505 All users updated.
1506 * util/grub-editenv.c (grub_term_input_class): Removed.
1507 (grub_term_output_class): Likewise.
1508
1a064917
RM
15092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1510
1511 Make loader output a bit more user-friendly.
1512
1513 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1514 is being loaded. Likewise for the Hurd.
1515
1516 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1517 that kernel of FreeBSD ${version} is being loaded.
1518
1519 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1520 grub_dprintf().
1521 (grub_cmd_initrd): Likewise.
1522 * util/grub.d/10_linux.in (linux_entry): Print message indicating
1523 that Linux ${version} is being loaded. Likewise for initrd.
1524
5ce0a83a 15252010-01-09 Carles Pina i Estany <carles@pina.cat>
1526
1527 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
1528
809bbfeb 15292010-01-08 Carles Pina i Estany <carles@pina.cat>
1530
1531 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
1532 (GRUB_MOD_INIT): Gettextizze.
1533 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
1534 (GRUB_MOD_INIT): Gettextizze.
1535 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
1536 (grub_cmd_linux): Capitalise Linux.
1537 (GRUB_MOD_INIT): Gettextizze.
1538 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
1539 (grub_cmd_linux): Capitalise Linux.
1540 (GRUB_MOD_INIT): Gettextizze.
1541 * loader/i386/linux.c: Include `<grub/i18n.h>'.
1542 (grub_cmd_linux): Capitalise Linux.
1543 (GRUB_MOD_INIT): Gettextizze.
1544 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
1545 (GRUB_MOD_INIT): Gettextizze.
1546 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
1547 (grub_cmd_linux): Capitalise Linux.
1548 (GRUB_MOD_INIT): Gettextizze.
1549 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
1550 (grub_cpu_xnu_init): Gettextizze.
1551 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
1552 (GRUB_MOD_INIT): Gettextizze.
1553 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
1554 (GRUB_MOD_INIT): Gettextizze.
1555 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
1556 (grub_linux_load64): Capitalise Linux.
1557 (GRUB_MOD_INIT): Gettextizze.
1558 * loader/xnu.c: Include `<grub/i18n.h>'.
1559 (GRUB_MOD_INIT): Gettextizze.
1560 * po/POTFILES: Add `loader/efi/appleloader.c',
1561 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
1562 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
1563 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
1564 `loader/i386/xnu.c', `loader/multiboot_loader.c',
1565 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
1566 and `loader/xnu.c'.
1567
b394b2ca
RM
15682010-01-08 Robert Millan <rmh.grub@aybabtu.com>
1569
1570 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
1571
15722010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
1573
1574 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
1575 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
1576 * util/mkisofs/mkisofs.c (main): Readjust --version output.
1577
bc8b32b3
RM
15782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1579
1580 Reset Multiboot 2 support. New loader implements the draft in
1581 /branches/multiboot2 and shares as much code as possible with the
1582 production Multiboot 1 implementation.
1583
1584 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
1585 * loader/multiboot2.c: Likewise.
1586 * loader/i386/multiboot_helper.S: Likewise.
1587 * include/multiboot2.h: Replace with latest version from the draft
1588 in /branches/multiboot2.
1589
1590 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
1591 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
1592 and `loader/multiboot2.c'.
1593 (pkglib_MODULES): Add `multiboot2.mod'.
1594 (multiboot2_mod_SOURCES): New variable.
1595 (multiboot2_mod_LDFLAGS): Likewise.
1596 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
1597
1598 * conf/i386-pc.rmk: Likewise.
1599
1600 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1601 (multiboot_mod_SOURCES): Remove variable.
1602 (multiboot_mod_LDFLAGS): Likewise.
1603 (multiboot_mod_CFLAGS): Likewise.
1604
1605 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
1606 `<multiboot2.h>' instead of `<multiboot.h>'.
1607 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
1608 (MULTIBOOT_HEADER_MAGIC): New macros.
1609
1610 * loader/multiboot_loader.c (module_version_status): Remove variable.
1611 (find_multi_boot2_header): Remove function.
1612 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
1613 logic. Always check for the Multiboot version we're compiling for.
1614 (grub_cmd_module_loader): Likewise.
1615 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
1616 command instead of `multiboot'.
1617
5d2c52b8
RM
16182010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1619
1620 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
1621 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
1622 all users.
1623
53108d92
RM
16242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 Fix breakage introduced with previous commit.
1628
1629 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
1630 commands.
1631 * normal/handler.c (read_handler_list): Revert part of previous commit
1632 affecting this file.
1633 * normal/main.c (read_lists): Move read_handler_list() call back to ...
1634 (grub_normal_execute): ... here.
1635
e2e936b2
RM
16362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1637
1638 Merge prefix-redefinition-fix branch.
1639
1640 * normal/autofs.c (read_fs_list): Make function capable of being
1641 run multiple times, gracefuly replacing the previous data
1642 structures.
1643 * normal/dyncmd.c (read_command_list): Likewise.
1644 * normal/handler.c (read_handler_list): Likewise.
1645 * normal/main.c (read_lists): New function. Calls all the
1646 list reading functions.
1647 (grub_normal_execute): Use read_lists() instead of calling all
1648 list reading functions explicitly. Register read_lists() as a
1649 variable hook attached to ${prefix}.
1650
607a3701
VS
16512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 Merge crypto branch.
1654
1655 * Makefile.in (pkglib_DATA): Add crypto.lst.
1656 (crypto.lst): New target.
1657 * commands/hashsum.c: New file.
1658 * commands/password.c (check_password): Use grub_crypto_memcmp.
1659 * commands/password_pbkdf2.c: New file.
1660 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1661 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
1662 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
1663 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
1664 -I$(srcdir)/lib/libgcrypt_wrap.
1665 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
1666 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
1667 password_pbkdf2.mod.
1668 (crypto_mod_SOURCES): New variable.
1669 (crypto_mod_CFLAGS): Likewise.
1670 (crypto_mod_LDFLAGS): Likewise.
1671 (hashsum_mod_SOURCES): New variable.
1672 (hashsum_mod_CFLAGS): Likewise.
1673 (hashsum_mod_LDFLAGS): Likewise.
1674 (pbkdf2_mod_SOURCES): New variable.
1675 (pbkdf2_mod_CFLAGS): Likewise.
1676 (pbkdf2_mod_LDFLAGS): Likewise.
1677 (password_pbkdf2_mod_SOURCES): New variable.
1678 (password_pbkdf2_mod_CFLAGS): Likewise.
1679 (password_pbkdf2_mod_LDFLAGS): Likewise.
1680 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
1681 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
1682 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
1683 Include conf/gcry.rmk.
1684 * include/grub/auth.h: Rewritten.
1685 * include/grub/crypto.h: New file.
1686 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
1687 * include/grub/normal.h (read_crypto_list): New prototype.
1688 * lib/crypto.c: New file.
1689 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1690 * lib/pbkdf2.c: Likewise.
1691 * normal/auth.c (grub_auth_strcmp): Removed.
1692 (grub_iswordseparator): Likewise.
1693 (grub_auth_strword): Likewise.
1694 (is_authenticated): Use grub_strword.
1695 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
1696 and grub_strword. Pass entered password to authentication callback.
1697 * normal/crypto.c: New file.
1698 * normal/main.c: Call read_crypto_list.
1699 * util/grub-mkpasswd-pbkdf2.c: New file.
1700 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
1701
42841caa
VS
17022010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 Fix descent and ascent calculation.
1705
1706 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
1707 (options): New option "asce".
1708 (usage): Likewise.
1709 (add_char): Ignore invalid glyphs for descent calculation.
1710 Calculate ascent from actual content.
1711 (print_glyphs): Use 'asce'.
1712 (write_font): Likewise. Allow ascent override.
1713 (main): Handle "asce" option.
1714
e7730de7 17152010-01-06 Carles Pina i Estany <carles@pina.cat>
1716
1717 * kern/err.c: Include `<grub/i18n.h>'.
1718 (grub_print_error): Add full stop. Gettextizze.
1719 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
1720 (grub_bsd_load_elf): Capitalise ELF.
1721 (grub_cmd_freebsd_loadenv): Add `s' in error string.
1722 (grub_cmd_freebsd_module): Likewise.
1723 (grub_cmd_freebsd_module_elf): Likewise.
1724 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
1725
40e3a41f 17262010-01-06 Carles Pina i Estany <carles@pina.cat>
1727
1728 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
1729 * commands/search_file.c (HELP_MESSAGE): New macro.
1730 * commands/search_label.c (HELP_MESSAGE): Likewise.
1731 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
1732 * po/POTFILES: Add `commands/search_file.c',
1733 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
1734 `commands/search.c'.
1735
83507e68
RM
17362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1737
1738 * config.rpath: Update from Gnulib.
1739
465c787b
YB
17402010-01-05 Yves Blusseau <blusseau@zetam.org>
1741
1742 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
1743
6581dd3a
YB
17442010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
1745
1746 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
1747
3bff18c5
CW
17482010-01-05 Colin Watson <cjwatson@ubuntu.com>
1749
1750 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
1751 arguments to fread so that we get a return value in bytes, rather
1752 than something that will normally be rounded down to 0.
1753 Adjust error handling to avoid producing garbage when size_t is not
1754 the same size as long long.
1755
a1368118
CW
17562010-01-05 Colin Watson <cjwatson@ubuntu.com>
1757
1758 * util/mkisofs/write.c (padblock_write): Check return value of
1759 fread.
1760
7c302978
RM
17612010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1762
1763 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
1764 floppy images now.
1765
1766 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
1767
e33ace06
RM
17682010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1769
1770 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
1771 instead of manual alignment.
1772 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
1773 verbose). Avoid attempts to read past end of the device
1774 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
1775 but GRUB_DISK_CACHE_SIZE may exceed that).
1776
4b856776
RM
17772010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1778
1779 * commands/crc.c (grub_cmd_crc): Abort on read errors.
1780 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
1781 it to upper layer.
1782
52c2d97f
VS
17832010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
1786 New constant.
1787 (grub_efi_piwg_device_path): New structure
1788 (grub_efi_piwg_device_path_t): New type.
1789 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
1790 (devpath_1): Transform to a structure. All users updated.
1791 (devpath_2): Likewise.
1792 (devpath_3): Likewise.
1793 (devpath_4): Likewise.
1794 (devpath_5): Likewise.
1795
98ff6a54
VS
17962010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * loader/efi/appleloader.c: Restored. Update all users.
1799
3a73dcb6
RM
18002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1801
1802 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
1803
1804 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
1805 (struct boot_blocklist): Move from here ...
1806 * include/grub/i386/pc/boot.h [ASM_FILE]
1807 (struct grub_boot_blocklist): ... to here. Update all users.
1808 (setup): Only initialize `start' member of `first_block'
1809 structure. Add assert() calls to verify the other members.
1810
1811 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
1812 (generate_image): Fix broken blocklist length initialization.
1813 Add assert() call to verify blocklist `segment' field.
1814
ab0eeb0c
RM
18152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1816
1817 * loader/efi/appleloader.c: Remove. Update all users.
1818
58bc8bd5
RM
18192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1820
1821 * boot/i386/pc/boot.S: Update copyright year.
1822 * boot/i386/pc/cdboot.S: Likewise.
1823 * boot/i386/pc/diskboot.S: Likewise.
1824 * boot/i386/pc/lnxboot.S: Likewise.
1825 * boot/i386/pc/pxeboot.S: Likewise.
1826 * bus/pci.c: Likewise.
1827 * commands/cmp.c: Likewise.
1828 * commands/help.c: Likewise.
1829 * commands/hexdump.c: Likewise.
1830 * commands/i386/pc/halt.c: Likewise.
1831 * commands/i386/pc/play.c: Likewise.
1832 * commands/i386/pc/vbeinfo.c: Likewise.
1833 * commands/ls.c: Likewise.
1834 * commands/test.c: Likewise.
1835 * disk/dmraid_nvidia.c: Likewise.
1836 * disk/i386/pc/biosdisk.c: Likewise.
1837 * disk/ieee1275/nand.c: Likewise.
1838 * disk/ieee1275/ofdisk.c: Likewise.
1839 * disk/lvm.c: Likewise.
1840 * disk/raid.c: Likewise.
1841 * disk/raid6_recover.c: Likewise.
1842 * disk/scsi.c: Likewise.
1843 * fs/affs.c: Likewise.
1844 * fs/cpio.c: Likewise.
1845 * fs/ext2.c: Likewise.
1846 * fs/hfs.c: Likewise.
1847 * fs/iso9660.c: Likewise.
1848 * fs/ntfs.c: Likewise.
1849 * fs/sfs.c: Likewise.
1850 * fs/udf.c: Likewise.
1851 * fs/ufs.c: Likewise.
1852 * fs/xfs.c: Likewise.
1853 * gencmdlist.sh: Likewise.
1854 * genmk.rb: Likewise.
1855 * include/grub/disk.h: Likewise.
1856 * include/grub/efi/api.h: Likewise.
1857 * include/grub/efi/efi.h: Likewise.
1858 * include/grub/efi/pe32.h: Likewise.
1859 * include/grub/elf.h: Likewise.
1860 * include/grub/fs.h: Likewise.
1861 * include/grub/i386/at_keyboard.h: Likewise.
1862 * include/grub/i386/pc/memory.h: Likewise.
1863 * include/grub/i386/pc/vbe.h: Likewise.
1864 * include/grub/i386/pci.h: Likewise.
1865 * include/grub/i386/tsc.h: Likewise.
1866 * include/grub/ieee1275/ieee1275.h: Likewise.
1867 * include/grub/ntfs.h: Likewise.
1868 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
1869 * include/grub/sparc64/libgcc.h: Likewise.
1870 * include/grub/symbol.h: Likewise.
1871 * include/grub/types.h: Likewise.
1872 * include/multiboot2.h: Likewise.
1873 * io/gzio.c: Likewise.
1874 * kern/device.c: Likewise.
1875 * kern/disk.c: Likewise.
1876 * kern/efi/efi.c: Likewise.
1877 * kern/efi/mm.c: Likewise.
1878 * kern/elf.c: Likewise.
1879 * kern/file.c: Likewise.
1880 * kern/i386/dl.c: Likewise.
1881 * kern/i386/pc/init.c: Likewise.
1882 * kern/i386/pc/startup.S: Likewise.
1883 * kern/ieee1275/ieee1275.c: Likewise.
1884 * kern/ieee1275/init.c: Likewise.
1885 * kern/main.c: Likewise.
1886 * kern/mm.c: Likewise.
1887 * kern/powerpc/dl.c: Likewise.
1888 * kern/sparc64/dl.c: Likewise.
1889 * kern/x86_64/dl.c: Likewise.
1890 * lib/hexdump.c: Likewise.
1891 * loader/efi/appleloader.c: Likewise.
1892 * loader/i386/ieee1275/linux.c: Likewise.
1893 * loader/i386/pc/chainloader.c: Likewise.
1894 * loader/i386/pc/linux.c: Likewise.
1895 * loader/i386/pc/multiboot2.c: Likewise.
1896 * loader/ieee1275/multiboot2.c: Likewise.
1897 * loader/multiboot2.c: Likewise.
1898 * loader/multiboot_loader.c: Likewise.
1899 * loader/powerpc/ieee1275/linux.c: Likewise.
1900 * normal/completion.c: Likewise.
1901 * normal/menu_entry.c: Likewise.
1902 * partmap/apple.c: Likewise.
1903 * util/grub.d/10_hurd.in: Likewise.
1904 * util/hostfs.c: Likewise.
1905 * video/readers/png.c: Likewise.
1906
e2d70b5c
CW
19072010-01-03 Colin Watson <cjwatson@ubuntu.com>
1908
1909 * include/grub/misc.h (GNUC_PREREQ): New macro.
1910 (ATTRIBUTE_ERROR): New macro.
1911 * include/grub/list.h (grub_bad_type_cast_real): Use
1912 ATTRIBUTE_ERROR.
1913
a173283f 19142010-01-03 Carles Pina i Estany <carles@pina.cat>
1915
1916 * normal/menu_text.c (print_message): Change messages.
1917
7fa7ff74 19182010-01-03 Carles Pina i Estany <carles@pina.cat>
1919
1920 * normal/menu_entry.c (store_completion): Gettextizze.
1921
136d24f6 19222010-01-03 Carles Pina i Estany <carles@pina.cat>
1923
1924 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
1925
f936862e 19262010-01-03 Carles Pina i Estany <carles@pina.cat>
1927
1928 * po/POTFILES: Sort correctly.
1929
29c44ad1 19302010-01-03 Carles Pina i Estany <carles@pina.cat>
1931
1932 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
1933 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
1934 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
1935 full stop.
1936 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
1937 summary. Gettextizze the strings.
1938 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
1939 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
1940 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
1941 full stop.
1942 (GRUB_MOD_INIT): Remove command name from summary.
1943 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
1944 summary.
1945 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
1946 * term/i386/pc/serial.c (options): Add full stops.
1947 (GRUB_MOD_INIT): Remove command name from the summary.
1948
77a79592 19492010-01-03 Carles Pina i Estany <carles@pina.cat>
1950
1951 * commands/acpi.c: Gettextizze help strings and/or options. Include
1952 `grub/i18n.h' if needed.
1953 * commands/blocklist.c: Likewise.
1954 * commands/boot.c: Likewise.
1955 * commands/cat.c: Likewise.
1956 * commands/cmp.c: Likewise.
1957 * commands/configfile.c: Likewise.
1958 * commands/crc.c: Likewise.
1959 * commands/date.c: Likewise.
1960 * commands/echo.c: Likewise.
1961 * commands/efi/fixvideo.c: Likewise.
1962 * commands/efi/loadbios.c: Likewise.
1963 * commands/gptsync.c: Likewise.
1964 * commands/halt.c: Likewise.
1965 * commands/handler.c: Likewise.
1966 * commands/hdparm.c: Likewise.
1967 * commands/hexdump.c: Likewise.
1968 * commands/i386/cpuid.c: Likewise.
1969 * commands/i386/pc/drivemap.c: Likewise.
1970 * commands/i386/pc/halt.c: Likewise.
1971 * commands/i386/pc/pxecmd.c: Likewise.
1972 * commands/i386/pc/vbeinfo.c: Likewise.
1973 * commands/i386/pc/vbetest.c: Likewise.
1974 * commands/ieee1275/suspend.c: Likewise.
1975 * commands/keystatus.c: Likewise.
1976 * commands/loadenv.c: Likewise.
1977 * commands/ls.c: Likewise.
1978 * commands/lsmmap.c: Likewise.
1979 * commands/lspci.c: Likewise.
1980 * commands/memrw.c: Likewise.
1981 * commands/minicmd.c: Likewise.
1982 * commands/parttool.c: Likewise.
1983 * commands/password.c: Likewise.
1984 * commands/probe.c: Likewise.
1985 * commands/read.c: Likewise.
1986 * commands/reboot.c: Likewise.
1987 * commands/search.c: Likewise.
1988 * commands/sleep.c: Likewise.
1989 * commands/test.c: Likewise.
1990 * commands/true.c: Likewise.
1991 * commands/usbtest.c: Likewise.
1992 * commands/videotest.c: Likewise.
1993 * commands/xnu_uuid.c: Likewise.
1994 * disk/loopback.c: Likewise.
1995 * hello/hello.c: Likewise.
1996 * loader/i386/bsd.c: Likewise.
1997 * term/i386/pc/serial.c: Likewise.
1998 * po/POTFILES: Add new files.
1999
da8d5c53
CW
20002010-01-02 Colin Watson <cjwatson@ubuntu.com>
2001
2002 * term/i386/pc/at_keyboard.c
2003 (keyboard_controller_wait_untill_ready): Rename to ...
2004 (keyboard_controller_wait_until_ready): ... this. Update all users.
2005
33937904 20062010-01-01 Carles Pina i Estany <carles@pina.cat>
2007
2008 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
2009 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
2010 string using string width.
2011 * normal/menu_text.c (grub_print_message_indented): Use
2012 grub_print_spaces and not print_spaces.
2013 (print_timeout): Likewise.
2014 (print_spaces): Move to...
2015 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
2016
3fd3b8d8
RM
20172010-01-01 Robert Millan <rmh.grub@aybabtu.com>
2018
2019 Import from Gnulib.
2020
2021 * gnulib/getdelim.c: New file.
2022 * gnulib/getline.c: Likewise.
2023
33433555
VS
20242009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
2025
2026 * include/grub/list.h (grub_assert_fail): Removed.
2027 (grub_bad_type_cast_real): New function.
2028 (grub_bad_type_cast): New macro.
2029 (GRUB_AS_LIST): Use grub_bad_type_cast.
2030 (GRUB_AS_LIST_P): Likewise.
e44721e8 2031 (GRUB_AS_NAMED_LIST): Likewise.
33433555 2032 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 2033 (GRUB_AS_PRIO_LIST): Likewise.
33433555 2034 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 2035 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 2036
f5a51306
VS
20372009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
2040 Fix syntax error.
2041
90d1e879
RM
20422009-12-29 Robert Millan <rmh.grub@aybabtu.com>
2043
2044 * configure.ac: Check for TARGET_CFLAGS initialization before we
2045 initialize it ourselves (sigh).
2046 Move a few modifications to TARGET_CFLAGS to be unconditional
2047 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
2048 eh_frame)
2049
2050 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
2051 * term/i386/pc/at_keyboard.c
2052 (keyboard_controller_wait_untill_ready): Likewise.
2053 (keyboard_controller_led): Rename `led_status' paramter to avoid
2054 name conflict.
2055
465b5a81 20562009-12-28 Carles Pina i Estany <carles@pina.cat>
2057
2058 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
2059 quotes.
2060
c181849b
VS
20612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2064
9c8739a4
VS
20652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * normal/menu_text.c (grub_print_message_indented): Prevent
2068 past-the-end-of-array dereference.
2069
3e74249c
VS
20702009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
2073 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
2074
64fd18ed 20752009-12-27 Carles Pina i Estany <carles@pina.cat>
2076
2077 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
2078 * normal/main.c (grub_normal_read_line): Remove a space from the
2079 default prompt.
2080
714af9b9 20812009-12-27 Carles Pina i Estany <carles@pina.cat>
2082
2083 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
2084 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2085 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2086 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2087 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2088 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2089 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2090
82f3e412 20912009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 2092
2093 * video/readers/jpeg.c (cmd): Declare.
2094 (grub_cmd_jpegtest): Use `grub_command_t' type.
2095 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2096 Assign to `cmd'.
2097 (GRUB_MOD_FINI): Use `cmd' to unregister.
2098 * video/readers/png.c (cmd): Declare.
2099 (grub_cmd_pngtest): Use `grub_command_t' type.
2100 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2101 Assign to `cmd'.
2102 (GRUB_MOD_FINI): Use `cmd' to unregister.
2103 * video/readers/tga.c (cmd): Declare.
2104 (grub_cmd_tgatest): Use `grub_command_t' type.
2105 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2106 Assign to `cmd'.
2107 (GRUB_MOD_FINI): Use `cmd' to unregister.
2108
82f3e412 21092009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 2110
2111 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
2112 stops.
2113 * kern/corecmd.c (grub_register_core_commands): Likewise.
2114 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
2115 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2116 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
2117 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2118 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2119 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
2120 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2121 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
2122 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2123 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2124 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2125 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2126 * normal/handler.c (insert_handler): Likewise.
2127 * normal/main.c (GRUB_MOD_INIT): Likewise.
2128 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2129
fdcdbb66 21302009-12-26 Carles Pina i Estany <carles@pina.cat>
2131
2132 * commands/help.c (grub_cmd_help): Print the command name before the
2133 summary.
2134 (GRUB_MOD_INIT): Remove command name from the summary.
2135 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 2136 string as summary.
fdcdbb66 2137 * lib/arg.c (find_long): Print the command name before the summary.
2138 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
2139 summary.
2140 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
2141 * commands/cat.c (GRUB_MOD_INIT): Likewise.
2142 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
2143 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
2144 * commands/crc.c (GRUB_MOD_INIT): Likewise.
2145 * commands/date.c (GRUB_MOD_INIT): Likewise.
2146 * commands/echo.c (GRUB_MOD_INIT): Likewise.
2147 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
2148 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2149 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2150 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
2151 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
2152 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
2153 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
2154 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2155 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
2156 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
2157 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
2158 * commands/ls.c (GRUB_MOD_INIT): Likewise.
2159 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2160 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2161 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2162 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
2163 * commands/password.c (GRUB_MOD_INIT): Likewise.
2164 * commands/probe.c (GRUB_MOD_INIT): Likewise.
2165 * commands/read.c (GRUB_MOD_INIT): Likewise.
2166 * commands/search.c (GRUB_MOD_INIT): Likewise.
2167 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
2168 * commands/test.c (GRUB_MOD_INIT): Likewise.
2169 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
2170 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2171 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2172 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
2173 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2174 * lib/arg.c (GRUB_MOD_INIT): Likewise.
2175 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
2176 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2177 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2178 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2179 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2180 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
2181 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
2182 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2183
9c288be2
VS
21842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Use search command for preliminar UUID search.
2187
2188 * commands/search.c: Split into ...
2189 * commands/search_wrap.c: ...this
2190 * commands/search.c: ...and this.
2191 * commands/search_file.c: New file.
2192 * commands/search_label.c: New file.
2193 * commands/search_uuid.c: New file.
2194 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
2195 Add commands/search_wrap.c, commands/search_file.c,
2196 commands/search_label.c and commands/search_uuid.c.
2197 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
2198 (search_mod_SOURCES): Set to commands/search_wrap.c.
2199 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
2200 search_label.mod.
2201 (search_fs_file_mod_SOURCES): New variable.
2202 (search_fs_file_mod_CFLAGS): Likewise.
2203 (search_fs_file_mod_LDFLAGS): Likewise.
2204 (search_label_mod_SOURCES): Likewise.
2205 (search_label_mod_CFLAGS): Likewise.
2206 (search_label_mod_LDFLAGS): Likewise.
2207 (search_fs_uuid_mod_SOURCES): New variable.
2208 (search_fs_uuid_mod_CFLAGS): Likewise.
2209 (search_fs_uuid_mod_LDFLAGS): Likewise.
2210 (fs_file_mod_SOURCES): Removed.
2211 (fs_file_mod_CFLAGS): Likewise.
2212 (fs_file_mod_LDFLAGS): Likewise.
2213 (fs_uuid_mod_SOURCES): Removed.
2214 (fs_uuid_mod_CFLAGS): Likewise.
2215 (fs_uuid_mod_LDFLAGS): Likewise.
2216 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
2217 Set to util/grub-install.in.
2218 * disk/fs_file.c: Removed.
2219 * disk/fs_uuid.c: Likewise.
2220 * include/grub/search.h: New file.
2221 * util/grub-install.in: Handle sparc64.
2222 Create and use load.cfg.
2223 * util/sparc64/ieee1275/grub-install.in: Removed.
2224
db943399
VS
22252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
2228 Ignore return status if CF is cleared.
2229 (grub_biosdisk_get_diskinfo_standard): Likewise.
2230
3fdae612
RM
22312009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2232
2233 * term/i386/pc/at_keyboard.c
2234 (keyboard_controller_wait_untill_ready): New function.
2235 (grub_keyboard_controller_write, grub_keyboard_controller_read)
2236 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
2237 for keyboard polling, rather than duplicate the same loop. This
2238 saves a few bytes in code size.
2239
7ebaa2b4
VS
22402009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 Support for (pxe[:server[:gateway]]) syntax and
2243 use environment variable for PXE.
2244
2245 * commands/i386/pc/pxecmd.c (options): Removed.
2246 (print_ip): Removed.
2247 (grub_cmd_pxe): Removed
2248 (grub_cmd_pxe_unload): New function.
2249 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
2250 (grub_pxe_your_ip): Made static.
2251 (grub_pxe_default_server_ip): Likewise.
2252 (grub_pxe_default_gateway_ip): Likewise.
2253 (grub_pxe_blksize): Likewise.
2254 (parse_ip): New function.
2255 (grub_pxe_open): Support server and gateway specification.
2256 (grub_pxe_close): Free disk->data.
2257 (grub_pxefs_open): Use disk->data.
2258 (grub_pxefs_read): Likewise.
2259 (grub_env_write_readonly): New function.
2260 (set_mac_env): Likewise.
2261 (set_env_limn_ro): Likewise.
2262 (parse_dhcp_vendor): Likewise.
2263 (grub_pxe_detect): Set the environment variables.
2264 (set_ip_env): New function.
2265 (write_ip_env): Likewise.
2266 (grub_env_write_pxe_default_server): Likewise.
2267 (grub_env_write_pxe_default_gateway): Likewise.
2268 (grub_env_write_pxe_blocksize): Likewise.
2269 (GRUB_MOD_INIT(pxe)): Set environment variables.
2270 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
2271 (grub_pxe_mac_addr_t): ... this. All users updated.
2272 (grub_pxe_your_ip): Removed.
2273 (grub_pxe_server_ip): Likewise.
2274 (grub_pxe_gateway_ip): Likewise.
2275 (grub_pxe_blksize): Likewise.
2276
ec5f98ab 22772009-12-25 Carles Pina i Estany <carles@pina.cat>
2278
2279 * commands/help.c: Include `<grub/i18n.h>'.
2280 (grub_cmd_help): Gettextizze.
2281 (GRUB_MOD_INIT): Likewise.
2282 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2283 (GRUB_MOD_INIT): Gettextizze.
2284 * commands/search.c: Include `<grub/i18n.h>'.
2285 (options): Gettextizze.
2286 (GRUB_MOD_INIT): Gettextizze.
2287 * lib/arg.c: Include `<grub/i18n.h>'.
2288 (help_options): Gettextizze.
2289 (find_long): Likewise.
2290 (grub_arg_show_help): Likewise.
2291 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2292 (read_command_list): Gettextizze.
2293 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 2294 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 2295
22815526
RM
22962009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2297
2298 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2299 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2300 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2301 (led_status): New variable.
2302 (keyboard_controller_led): New function.
2303 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2304 update led status for caps lock, num lock and scroll lock.
2305
0ad46fd7
FZ
23062009-12-25 Felix Zielcke <fzielcke@z-51.de>
2307
2308 * util/hostdisk.c (open_device): Fix a comment.
2309
d0e158c2
RM
23102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2311
2312 * util/grub-install.in (host_os): New variable.
2313 * util/i386/efi/grub-install.in (host_os): Likewise.
2314
401c0ad6
RM
23152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2316
2317 * util/mkisofs/write.c (padblock_write): Abort when given an
2318 excedingly large embed image, instead of silently truncating it.
2319
d14d3370
RM
23202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2321
2322 * include/multiboot.h: Indentation fixes.
2323
eeed10b4
RM
23242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2325
2326 * include/multiboot.h (struct multiboot_aout_symbol_table)
2327 (struct multiboot_elf_section_header_table): New structure
2328 declarations (stolen from GRUB Legacy).
2329 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2330 table information.
2331
2332 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2333 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2334 type aliases.
2335
681c70ab
RM
23362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2337
2338 * include/multiboot.h: Make comments src2texi-friendly.
2339
e4d47d8d
RM
23402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2341
2342 For consistency with [multiboot]/docs/boot.S.
2343
2344 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2345 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2346 (MULTIBOOT_MAGIC2): Rename from this ...
2347 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2348
a0b70bda
RM
23492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2350
2351 * include/multiboot.h: Remove `<grub/types.h>'.
2352 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2353 types. Update all users.
2354
61ba42be 23552009-12-25 Carles Pina i Estany <carles@pina.cat>
2356
2357 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2358 `couldn't' and `can not' by `cannot'.
2359 * commands/i386/pc/drivemap.c: Likewise.
2360 * disk/ata.c: Likewise.
2361 * disk/ieee1275/nand.c: Likewise.
2362 * fs/affs.c: Likewise.
2363 * fs/fat.c: Likewise.
2364 * fs/hfs.c: Likewise.
2365 * fs/hfsplus.c: Likewise.
2366 * fs/iso9660.c: Likewise.
2367 * fs/jfs.c: Likewise.
2368 * fs/minix.c: Likewise.
2369 * fs/reiserfs.c: Likewise.
2370 * fs/sfs.c: Likewise.
2371 * fs/udf.c: Likewise.
2372 * fs/ufs.c: Likewise.
2373 * fs/xfs.c: Likewise.
2374 * loader/powerpc/ieee1275/linux.c: Likewise.
2375 * loader/sparc64/ieee1275/linux.c: Likewise.
2376 * util/grub-probe.c: Likewise.
2377 * util/misc.c: Likewise.
2378
7fd0baee 23792009-12-24 Carles Pina i Estany <carles@pina.cat>
2380
2381 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2382 grub_errno calls.
2383 * commands/acpi.c: Likewise.
2384 * commands/blocklist.c: Likewise.
2385 * commands/efi/loadbios.c: Likewise.
2386 * commands/i386/pc/drivemap.c: Likewise.
2387 * commands/loadenv.c: Likewise.
2388 * commands/memrw.c: Likewise.
2389 * commands/password.c: Likewise.
2390 * commands/videotest.c: Likewise.
2391 * disk/ata.c: Likewise.
2392 * disk/ata_pthru.c: Likewise.
2393 * disk/dmraid_nvidia.c: Likewise.
2394 * disk/ieee1275/nand.c: Likewise.
2395 * disk/ieee1275/ofdisk.c: Likewise.
2396 * disk/loopback.c: Likewise.
2397 * disk/lvm.c: Likewise.
2398 * disk/mdraid_linux.c: Likewise.
2399 * disk/raid.c: Likewise.
2400 * disk/raid6_recover.c: Likewise.
2401 * disk/scsi.c: Likewise.
2402 * efiemu/main.c: Likewise.
2403 * efiemu/mm.c: Likewise.
2404 * efiemu/pnvram.c: Likewise.
2405 * efiemu/symbols.c: Likewise.
2406 * font/font.c: Likewise.
2407 * fs/cpio.c: Likewise.
2408 * fs/hfsplus.c: Likewise.
2409 * fs/iso9660.c: Likewise.
2410 * fs/jfs.c: Likewise.
2411 * fs/minix.c: Likewise.
2412 * fs/ntfs.c: Likewise.
2413 * fs/ntfscomp.c: Likewise.
2414 * fs/reiserfs.c: Likewise.
2415 * fs/ufs.c: Likewise.
2416 * fs/xfs.c: Likewise.
2417 * gettext/gettext.c: Likewise.
2418 * include/grub/auth.h: Likewise.
2419 * kern/elf.c: Likewise.
2420 * kern/file.c: Likewise.
2421 * kern/ieee1275/init.c: Likewise.
2422 * kern/ieee1275/mmap.c: Likewise.
2423 * kern/ieee1275/openfw.c: Likewise.
2424 * kern/powerpc/dl.c: Likewise.
2425 * kern/sparc64/dl.c: Likewise.
2426 * lib/arg.c: Likewise.
2427 * loader/i386/bsd.c: Likewise.
2428 * loader/i386/bsdXX.c: Likewise.
2429 * loader/i386/efi/linux.c: Likewise.
2430 * loader/i386/efi/xnu.c: Likewise.
2431 * loader/i386/ieee1275/linux.c: Likewise.
2432 * loader/i386/linux.c: Likewise.
2433 * loader/i386/multiboot.c: Likewise.
2434 * loader/i386/pc/linux.c: Likewise.
2435 * loader/i386/pc/multiboot2.c: Likewise.
2436 * loader/i386/xnu.c: Likewise.
2437 * loader/ieee1275/multiboot2.c: Likewise.
2438 * loader/macho.c: Likewise.
2439 * loader/machoXX.c: Likewise.
2440 * loader/multiboot2.c: Likewise.
2441 * loader/multiboot_loader.c: Likewise.
2442 * loader/powerpc/ieee1275/linux.c: Likewise.
2443 * loader/sparc64/ieee1275/linux.c: Likewise.
2444 * loader/xnu.c: Likewise.
2445 * loader/xnu_resume.c: Likewise.
2446 * mmap/i386/pc/mmap.c: Likewise.
2447 * normal/menu_viewer.c: Likewise.
2448 * partmap/acorn.c: Likewise.
2449 * partmap/amiga.c: Likewise.
2450 * partmap/apple.c: Likewise.
2451 * script/lexer.c: Likewise.
2452 * term/gfxterm.c: Likewise.
2453 * term/i386/pc/serial.c: Likewise.
2454 * term/i386/pc/vga.c: Likewise.
2455 * term/ieee1275/ofconsole.c: Likewise.
2456 * term/terminfo.c: Likewise.
2457 * video/bitmap.c: Likewise.
2458 * video/efi_gop.c: Likewise.
2459 * video/efi_uga.c: Likewise.
2460 * video/fb/video_fb.c: Likewise.
2461 * video/i386/pc/vbe.c: Likewise.
2462 * video/readers/tga.c: Likewise.
2463 * video/video.c: Likewise.
2464
0ad46fd7 24652009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2466
2467 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2468 * commands/lspci.c: Likewise.
2469 * commands/probe.c: Likewise.
2470 * commands/xnu_uuid.c: Likewise.
2471 * conf/i386-coreboot.rmk: Likewise.
2472 * conf/i386-efi.rmk: Likewise.
2473 * conf/i386-ieee1275.rmk: Likewise.
2474 * conf/i386-pc.rmk: Likewise.
2475 * conf/powerpc-ieee1275.rmk: Likewise.
2476 * conf/sparc64-ieee1275.rmk: Likewise.
2477 * conf/x86_64-efi.rmk: Likewise.
2478 * fs/i386/pc/pxe.c: Likewise.
2479 * gettext/gettext.c: Likewise.
2480 * include/grub/efi/graphics_output.h: Likewise.
2481 * include/grub/i386/pc/memory.h: Likewise.
2482 * kern/env.c: Likewise.
2483 * kern/i386/qemu/startup.S: Likewise.
2484 * lib/i386/pc/biosnum.c: Likewise.
2485 * lib/i386/relocator.c: Likewise.
2486 * lib/i386/relocator_asm.S: Likewise.
2487 * lib/relocator.c: Likewise.
2488 * loader/i386/bsd.c: Likewise.
2489 * loader/i386/multiboot.c: Likewise.
2490 * loader/i386/pc/chainloader.c: Likewise.
2491 * loader/i386/xnu.c: Likewise.
2492 * loader/xnu.c: Likewise.
2493 * normal/main.c: Likewise.
2494 * normal/menu_text.c: Likewise.
2495 * util/getroot.c: Likewise.
2496 * util/grub-mkconfig_lib.in: Likewise.
2497 * util/grub.d/00_header.in: Likewise.
2498 * util/i386/pc/grub-mkimage.c: Likewise.
2499 * util/mkisofs/eltorito.c: Likewise.
2500 * util/mkisofs/exclude.h: Likewise.
2501 * util/mkisofs/hash.c: Likewise.
2502 * util/mkisofs/iso9660.h: Likewise.
2503 * util/mkisofs/joliet.c: Likewise.
2504 * util/mkisofs/mkisofs.c: Likewise.
2505 * util/mkisofs/mkisofs.h: Likewise.
2506 * util/mkisofs/multi.c: Likewise.
2507 * util/mkisofs/name.c: Likewise.
2508 * util/mkisofs/rock.c: Likewise.
2509 * util/mkisofs/tree.c: Likewise.
2510 * util/mkisofs/write.c: Likewise.
2511 * video/efi_gop.c: Likewise.
2512
009ec743
VS
25132009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2516 size counting.
2517
0ad46fd7 25182009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2519
2520 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
2521 * genmk.rb (class SCRIPT): Modify the target file instead of source.
2522
d3d30ea0
VS
25232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
2526 (GRUB_MOD_INIT(memrw)): Update help line.
2527
a34f5c70
VS
25282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
2531 Use grub_extcmd_t. All users updated.
2532 (options): New variable.
2533 (grub_cmd_read): Restructure for readability. Support "-v" option.
2534 (grub_cmd_write): Restructure for readability.
2535
0ad46fd7 25362009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
2537
2538 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
2539
0ad46fd7 25402009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
2541
2542 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
2543 with the actual contents of the correspondending make variable.
2544 * util/grub-mkrescue.in (pkglib_DATA): New variable.
2545 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
2546 specifying `*.lst' and `efiemu??.o'
2547
0ad46fd7 25482009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
2549
2550 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
2551 after function name.
2552 Noticed by Rene Engelhard <rene@debian.org>.
2553
dc77a799
VS
25542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
2557 (options): New variable.
2558 (iospace): Likewise.
2559 (grub_lspci_iter): List IO spaces if "-i" was given.
2560 (grub_cmd_lspci): Parse options.
2561 (GRUB_MOD_INIT(lspci)): Use extcmd.
2562 (GRUB_MOD_FINI(lspci)): Likewise.
2563
0ad46fd7 25642009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
2565
2566 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
2567 `function' keyword.
2568 Patch by Tony Mancill <tmancill@debian.org>.
2569
b5d5993b
VS
25702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
2573 (grub_uhci_portstatus): Likewise.
2574 (grub_uhci_portstatus): Add necessary delay.
11d18281 2575 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 2576
941903f2 25772009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 2578
941903f2 2579 * commands/acpi.c (options): Fix capitalizations and/or full stops.
2580 (GRUB_MOD_INIT): Likewise.
2581 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 2582 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
2583 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 2584 * commands/efi/loadbios.c (enable_rom_area): Likewise.
2585 (enable_rom_area): Likewise.
2586 (GRUB_MOD_INIT): Likewise.
2587 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2588 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
2589 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2590 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
2591 * commands/hexdump.c (options): Likewise.
2592 * commands/i386/cpuid.c (options): Likewise.
2593 (GRUB_MOD_INIT): Likewise.
2594 * commands/i386/pc/drivemap.c (options): Likewise.
2595 (GRUB_MOD_INIT): Likewise.
2596 * commands/i386/pc/halt (options): Likewise.
2597 (GRUB_MOD_INIT): Likewise.
2598 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2599 * commands/i386/pc/pxecmd.c (options): Likewise.
2600 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
2601 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
2602 * commands/keystatus.c (options): Likewise.
2603 (GRUB_MOD_INIT): Likewise.
2604 * commands/loadenv.c (options): Likewise.
2605 * commands/ls.c (options): Likewise.
2606 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2607 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2608 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2609 * commands/parttool.c (helpmsg): Likewise.
2610 * commands/probe.c (options): Likewise.
2611 * commands/read.c (GRUB_MOD_INIT): Likewise.
2612 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
2613 * commands/search.c (options): Likewise.
2614 * commands/sleep.c (options): Likewise.
2615 * commands/test.c (GRUB_MOD_INIT): Likewise.
2616 * commands/true.c (GRUB_MOD_INIT): Likewise.
2617 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
2618 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
2619 * lib/arg.c (help_options): Likewise.
e9bbb4e7 2620 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
2621 `$(XGETTEXT)'.
98a50553 2622 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 2623
0ad46fd7 26242009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 2625
ef3c2c3a 2626 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
2627 instead of specifying them explicit.
2628
7922f68b
RM
26292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2630
2631 * NEWS: Add grub-probe support for GNU/Hurd.
2632
537ce47f
RM
26332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2634
2635 * NEWS: gettext was added after 1.97.
2636
9b214e3a
RM
26372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2638
2639 * util/mkisofs/msdos_partition.h: New file (based on
2640 include/grub/msdos_partition.h).
2641 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
2642 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
2643 (ld_options, main): Recognize --protective-msdos-label.
2644 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
2645 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
2646 (padblock_write): If `use_protective_msdos_label' is set, patch a
2647 protective DOS-style label in the output image.
2648
2649 * util/grub-mkrescue.in: Use --protective-msdos-label.
2650
e9309813
RM
26512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2652
2653 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
2654 boot.
2655
0ae56929
RM
26562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2657
2658 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2659 variables.
2660 (ld_options, main): Recognize `--embedded-boot'.
2661 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
2662 declarations.
2663 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
2664 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
2665 (padblock_write): Likewise. Rewrite to support embedded boot image.
2666
2667 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
2668 for BIOS-based disk boot instead of only ElTorito.
2669
b15937b1
RM
26702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2671
2672 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
2673 build (not needed for bootstrap).
2674
52cc3ce0
RM
26752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2676
2677 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
2678 from i386-pc build (not needed for bootstrap).
2679 Rewrite a pair of strings.
2680
36f5ff04
RM
26812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2682
2683 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2684
973c6c85 26852009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
2686
2687 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2688
05d21547
AB
26892009-12-21 Andreas Born <futur.andy@googlemail.com>
2690
2691 * kern/env.c (grub_env_context_open): Mark exported variable for
2692 reexport.
2693
0175d51f
AB
26942009-12-21 Andreas Born <futur.andy@googlemail.com>
2695
2696 * kern/env.c (grub_env_export): Create nonexistent variables before
2697 exporting.
2698
7f39d92f 26992009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 2700
7f39d92f 2701 * include/grub/auth.h: Include `<grub/i18n.h>'.
2702 (GRUB_GET_PASSWORD): Gettextizze string.
2703 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
2704 menu_text.c.
2705 (grub_utf8_to_ucs4_alloc): Fix indentation.
2706 (grub_print_ucs4): Likewise.
2707 (grub_getstringwidth): Likewise.
2708 (print_message_indented): New declaration.
2709 * normal/auth.c: Include `<grub/i18n.h>'.
2710 (grub_auth_check_authentication): Gettexttize string.
2711 * normal/cmdline.c: Include `<grub/i18n.h>'.
2712 (grub_cmdline_get): Gettextizze.
2713 * normal/color.c: Include `<grub/i18n.h>'.
2714 (grub_parse_color_name_pair): Gettexttize strings.
2715 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
2716 string (use `print_message_indented').
2717 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
2718 `include/grub/normal.h'.
2719 (print_message_indented): Renamed to ...
2720 (grub_print_message_indented): ... this. Remove `static' qualifer (now
2721 used in normal/main.c).
2722 (print_message): Use `grub_print_message_indented' instead of
2723 `print_message_indented'.
2724 (print_timeout): Likewise.
2725 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
2726 (grub_normal_print_device_info): Gettexttize strings.
2727 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2728
3041d898
VS
27292009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
2732 of arguments. Return number of tokens and not arguments. All users
2733 updated.
2734
de15bf8e
VS
27352009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
2738 non-MSDOS paritions.
2739
e0a6ca52
VS
27402009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * include/grub/types.h (UNUSED): Removed since it conflicts with
2743 NetBSD headers. All users changed to direct __attribute__ ((unused)).
2744 Reported by Grégoire Sutre.
2745
b99518d1 27462009-12-19 Carles Pina i Estany <carles@pina.cat>
2747
2748 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
2749 (grub_print_ucs4_alloc): Likewise.
2750 (grub_getstringwidth): Likewise.
2751 * normal/main.c (grub_normal_init_page): Gettextize version string.
2752 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
2753 (getstringwidth): Renamed to ...
2754 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
2755 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
2756 (grub_print_ucs4): Remove `static' qualifer (now used in
2757 normal/main.c).
2758 * po/POTFILES: Add normal/main.c.
2759
bfd5e52b 27602009-12-19 Carles Pina i Estany <carles@pina.cat>
2761
2762 * normal/menu_text.c (STANDARD_MARGIN): New macro.
2763 (print_message_indented): Add `margin_left' and `margin_right'
2764 parameters.
2765 (print_message): Update `print_message_indented' calls. Adds '\n' to the
2766 strings.
2767 (print_timeout): Use `print_message_indented' to print the message.
2768 Deletes `second_stage' parameter.
2769 (run_menu): Update `print_timeout' calls.
2770
5a1ad2b9
VS
27712009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Fix console palette on OpenFirmware.
2774
2775 * term/ieee1275/ofconsole.c (MAX): Removed.
2776 (colors): Redone based on VGA palette.
2777 (grub_ofconsole_setcolor): Discard brightness bit since only 8
2778 colors are supported.
2779 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2780
b045f00a
VS
27812009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 Fix potential EfiEmu double prepare.
2784
2785 * efiemu/main.c (prepared): New variable
2786 (grub_efiemu_unload): Set prepare to '0'.
2787 (grub_efiemu_prepare): Return if already prepared. Set prepared.
2788
2789 set_virtual_address_map support.
2790
2791 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
2792 prototype.
2793 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
2794 prototype.
2795 (grub_efiemu_crc32): Likewise.
2796 (grub_efiemu_crc64): Likewise.
2797 (grub_efiemu_set_virtual_address_map): Likewise.
2798 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
2799 New definition.
2800 (grub_autoefi_set_virtual_address_map): Likewise.
2801 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
2802 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
2803 Restructure flow to accomodate it.
2804 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
2805 (grub_efiemu_crc): Recompute CRC32.
2806 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
2807 (efiemu_ptv_relocated): ... this. Made global. All users updated.
2808 * efiemu/symbols.c (relocated_handle): New variable.
2809 (grub_efiemu_free_syms): Free relocated_handle.
2810 (grub_efiemu_alloc_syms): Allocate relocated_handle.
2811 (grub_efiemu_write_sym_markers): New function.
2812 (grub_efiemu_set_virtual_address_map): Likewise.
2813
2814 Newer XNU parameters.
2815
2816 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
2817 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
2818 (grub_xnu_fill_devicetree): New prototype.
2819 (grub_xnu_heap_real_start): New variable.
2820 * loader/xnu.c (get_name_ptr): New function.
2821 (grub_xnu_load_driver): Fill namelen and name.
2822
2823 64-bit xnu support.
2824
2825 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
2826 and 'loader/macho64.c'.
2827 * conf/i386-pc.rmk: Likewise.
2828 * conf/x86_64-efi.rmk: Likewise.
2829 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
2830 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
2831 * include/grub/macho.h (grub_macho_segment64): New structure.
2832 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
2833 (grub_macho_size32): ... to this.
2834 (grub_macho32_get_entry_point): Renamed from ...
2835 (grub_macho_get_entry_point32): ... to this.
2836 (grub_macho_contains_macho64): New prototype.
2837 (grub_macho_size64): Likewise.
2838 (grub_macho_get_entry_point64): Likewise.
2839 (grub_macho32_load): Renamed from ...
2840 (grub_macho_load32): ... to this.
2841 (grub_macho32_filesize): Renamed from ...
2842 (grub_macho_filesize32): ... to this.
2843 (grub_macho32_readfile): Renamed from ...
2844 (grub_macho_readfile32): ... to this.
2845 (grub_macho_filesize64): New prototype.
2846 (grub_macho_readfile64): Likewise.
2847 (grub_macho_parse32): Likewise.
2848 (grub_macho_parse64): Likewise.
2849 * loader/macho.c: Split into ...
2850 * loader/machoXX.c: ... and this. Replace 32 with XX.
2851 * loader/macho32.c: New file.
2852 * loader/macho64.c: Likewise.
2853 * loader/xnu.c (grub_xnu_is_64bit): New variable.
2854 (grub_cmd_xnu_kernel): Make 32-bit only.
2855 (grub_cmd_xnu_kernel64): New function.
2856 (grub_xnu_load_driver): Support Mach-O 64.
2857 (grub_cmd_xnu_mkext): Likewise.
2858 * util/grub.d/30_os-prober.in (osx_entry): New function.
2859 Generate entries for 64-bit boot too.
2860
2861 Eliminate ad-hoc tree format in XNU and EfiEmu.
2862
2863 * efiemu/main.c (grub_efiemu_prepare): Update comment.
2864 * efiemu/pnvram.c: Rewritten to use environment variables.
2865 All users updated.
2866
2867 Inline utf16_to_utf8.
2868
2869 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
2870 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
2871 All users updated.
2872 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
2873
2874 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
2875 * commands/usbtest.c (grub_usb_get_string): ... move here.
2876 (usb_print_str): Fix error handling.
2877 * include/grub/usb.h (grub_usb_get_string): Remove.
2878
2879 UTF-8 to UTF-16 transformation.
2880
2881 * conf/common.rmk (pkglib_MODULES): Add charset.mod
2882 (charset_mod_SOURCES): New variable.
2883 (charset_mod_CFLAGS): Likewise.
2884 (charset_mod_LDFLAGS): Likewise.
2885 * include/grub/utf.h: New file.
2886 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
2887
2888 Support for device properties.
2889
2890 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
2891 (grub_xnu_devprop_device_header): Likewise.
2892 (grub_xnu_devprop_device_descriptor): Likewise.
2893 (grub_xnu_devprop_add_device): New prototype.
2894 (grub_xnu_devprop_remove_device): Likewise.
2895 (grub_xnu_devprop_remove_property): Likewise.
2896 (grub_xnu_devprop_add_property_utf8): Likewise.
2897 (grub_xnu_devprop_add_property_utf16): Likewise.
2898 (grub_cpu_xnu_init): Likewise.
2899 (grub_cpu_xnu_fini): Likewise.
2900 (grub_cpu_xnu_unload): Likewise.
2901 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
2902 (property_descriptor): Likewise.
2903 (devices): New variable.
2904 (grub_xnu_devprop_remove_property): New function.
2905 (grub_xnu_devprop_add_device): Likewise.
2906 (grub_xnu_devprop_remove_device): Likewise.
2907 (grub_xnu_devprop_add_property): Likewise.
2908 (grub_xnu_devprop_add_property_utf8): Likewise.
2909 (grub_xnu_devprop_add_property_utf16): Likewise.
2910 (hextoval): Likewise.
2911 (grub_cpu_xnu_fill_devprop): Likewise.
2912 (grub_cmd_devprop_load): Likewise.
2913 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
2914 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
2915 (cmd_devprop_load): New variable.
2916 (grub_cpu_xnu_init): New function.
2917 (grub_cpu_xnu_fini): Likewise.
2918 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
2919 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
2920 (grub_cmd_xnu_devtree): Likewise.
2921 (hextoval): New function.
2922 (unescape): Likewise.
2923 (grub_xnu_fill_devicetree): Likewise.
2924
2925 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
2926 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2927
0945f181
VS
29282009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 Workaround for broken ATI VBE.
2931
2932 * video/i386/pc/vbe.c (last_set_mode): New variable.
2933 (grub_vbe_set_video_mode): Set 'last_set_mode'.
2934 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
2935 (grub_video_vbe_setup): Don't check for reserved flag.
2936
0ad46fd7 29372009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
2938
2939 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
2940 the `find' command.
2941
c179ebe4
VS
29422009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 UUID support for HFS.
2945
2946 * fs/hfs.c (grub_hfs_uuid): New function.
2947 (grub_hfs_fs): New value .uuid.
2948 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2949
0ad46fd7 29502009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
2951
2952 Fix a segfault with parsing unknown long options.
2953
2954 * util/grub-mkrelpath.c (options): Zero terminate it.
2955
c4a3e41a
CPE
29562009-12-13 Carles Pina i Estany <carles@pina.cat>
2957
2958 * include/grub/misc.h (grub_puts): New declaration.
2959 (grub_puts_): Likewise.
a22008a6 2960 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
2961 (grub_puts_): Likewise.
2962
2e8a7602
RM
29632009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2964
2965 * util/grub-probe.c (probe): Improve error message.
2966
b50b77b9
RM
29672009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2968
2969 * loader/i386/multiboot_elfxx.c
2970 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
2971 initialization.
2972
29732009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Relocator framework
2976
2977 * loader/i386/xnu_helper.S: Removed. All users updated.
2978 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
2979 (relocator_mod_SOURCES): New variable.
2980 (relocator_mod_CFLAGS): Likewise.
2981 (relocator_mod_LDFLAGS): Likewise.
2982 (relocator_mod_ASFLAGS): Likewise.
2983 * conf/x86_64.rmk: Likewise.
2984 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
2985 (grub_multiboot_payload_entry_offset): Likewise.
2986 (grub_multiboot_forward_relocator): Likewise.
2987 (grub_multiboot_forward_relocator_end): Likewise.
2988 (grub_multiboot_backward_relocator): Likewise.
2989 (grub_multiboot_backward_relocator_end): Likewise.
2990 (grub_multiboot_payload_eip): New variable.
2991 (grub_multiboot_payload_orig): Likewise.
2992 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
2993 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
2994 * include/grub/i386/memory.h
2995 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
2996 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
2997 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
2998 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
2999 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3000 * include/grub/i386/relocator.h: New file.
3001 * include/grub/x86_64/relocator.h: Likewise.
3002 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
3003 (XNU_RELOCATOR): New macro.
3004 (grub_xnu_launcher_start): Remove.
3005 (grub_xnu_launcher_end): Likewise.
3006 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
3007 (grub_xnu_heap_real_start): Remove.
3008 (grub_xnu_heap_start): Change to void *. All users updated.
3009 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
3010 * lib/i386/relocator.c: New file.
3011 * lib/i386/relocator_asm.S: Likewise.
3012 * lib/i386/relocator_backward.S: Likewise.
3013 * lib/mips/relocator.c: Likewise.
3014 * lib/mips/relocator_asm.S: Likewise.
3015 * lib/relocator.c: Likewise.
3016 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
3017 (entry): Removed.
3018 (playground): Likewise.
3019 (grub_multiboot_payload_orig): New variable.
3020 (grub_multiboot_payload_dest): Likewise.
3021 (grub_multiboot_payload_size): Likewise.
3022 (grub_multiboot_payload_eip): Likewise.
3023 (grub_multiboot_payload_esp): Likewise.
3024 (grub_multiboot_boot): Use grub_relocator32_boot.
3025 (grub_multiboot_unload): Free relocators.
3026 (grub_multiboot): Setup stack. Use relocators.
3027 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
3028 (grub_multiboot_load_elfXX): Use relocators.
3029 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
3030 (grub_multiboot_payload_size): Likewise.
3031 (grub_multiboot_payload_dest): Likewise.
3032 (grub_multiboot_payload_entry_offset): Likewise.
3033 (grub_multiboot_forward_relocator): Likewise.
3034 (grub_multiboot_backward_relocator): Likewise.
3035 (grub_multiboot_real_boot): Likewise.
3036 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
3037 (grub_xnu_entry_point): Likewise.
3038 (grub_xnu_arg1): Likewise.
3039 (grub_xnu_stack): Likewise.
3040 (grub_xnu_launch): Removed.
3041 (grub_xnu_boot_resume): New function.
3042 (grub_xnu_boot): Use relocators.
3043 * loader/i386/xnu_helper.S: Removed.
3044 * loader/xnu.c (grub_xnu_heap_start): New variable.
3045 (grub_xnu_heap_size): Likewise.
3046 (grub_xnu_heap_malloc): Use relocators.
3047 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
3048
29eb90c6
VS
30492009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
3052 anything.
3053
31027430
CPE
30542009-12-13 Carles Pina i Estany <carles@pina.cat>
3055
3056 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
3057 GRUB_ERR_NONE before calling grub_env_set.
3058
dc0c71d9
RM
30592009-12-12 Robert Millan <rmh@aybabtu.com>
3060
3061 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
3062 * genmk.rb (video): New variable.
3063 (CLEANFILES, VIDEOFILES): Add #{video}.
3064 (#{video}): New target rule.
3065 * genvideolist.sh: New file.
3066 * Makefile.in (pkglib_DATA): Add video.lst.
3067 (video.lst): New target rule.
3068 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
3069 `video.lst'.
3070 * util/grub.d/30_os-prober.in: Replace `vbe' with
3071 ${GRUB_VIDEO_BACKEND}.
3072
2a4bfcf0
RM
30732009-12-11 Robert Millan <rmh.grub@aybabtu.com>
3074
3075 * THANKS: Add David Miller.
3076
2a3aa4d5
RM
30772009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 libpciaccess support.
3080
3081 * Makefile.in (LIBPCIACCESS): New variable.
3082 (enable_grub_emu_pci): Likewise.
3083 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
3084 util/pci.c and commands/lspci.c.
3085 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
3086 * configure.ac (grub-emu-pci): New option.
3087 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
3088 (grub_pci_device_unmap_range): Likewise.
3089 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
3090 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
3091 (grub_pci_address_t) [!GRUB_UTIL]: New type.
3092 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
3093 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
3094 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
3095 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
3096 * include/grub/pciutils.h: New file.
3097 * util/pci.c: Likewise.
3098
0ad46fd7 30992009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
3100
3101 * util/misc.c: Don't include <errno.h> twice.
3102
0ad46fd7 31032009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
3104
3105 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
3106 name in an error message.
3107 (grub_biosdisk_rw): Likewise.
3108
2e59983c
VS
31092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 Eliminate NTFS 4Gib barrier.
3112
3113 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
3114 (read_run_data): Likewise.
3115 (grub_ntfs_read_run_list): Likewise.
3116 (grub_ntfs_read_block): Likewise.
3117 (grub_ntfs_iterate_dir): Likewise.
3118 (read_mft): Likewise.
3119 (read_data): Likewise.
3120 Use COM_LOG_LEN.
3121 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
3122 to avoid 64-bit division
3123 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
3124 (grub_ntfs_rlst): Use grub_disk_addr_t.
3125
71ee178a
VS
31262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Eliminate grub-fstest 4Gib barrier.
3129
3130 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
3131 (read_file): Fix error reporting.
3132
2520d4b8
VS
31332009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 Eliminate hexdump 4Gib barrier.
3136
3137 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
3138 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
3139
e1f27065
VS
31402009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
3143 Fixes amarsh bug.
3144
1a0f7f45
RM
31452009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
3146
3147 Remove miscellaneous files in distclean target.
3148
3149 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
3150
c631d9fb
CW
31512009-12-09 Colin Watson <cjwatson@ubuntu.com>
3152
3153 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
3154 if they're already set. This resolves the conflict between my
3155 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
3156 fixing the --grub-probe option again.
3157 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
3158 change on 2009-10-06, so that we now once again source
3159 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3160
7c7b6106
RM
31612009-12-08 Robert Millan <rmh.grub@aybabtu.com>
3162
3163 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
3164 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
3165 `util/devicemap.c'.
3166
e3069ec1
CPE
31672009-12-08 Carles Pina i Estany <carles@pina.cat>
3168
3169 * include/grub/misc.h (grub_printf_): New declaration.
3170 * kern/misc.c (grub_printf_): New definition.
3171 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
3172 instead of `grub_printf' and `_'.
3173 * normal/menu_entry.c (store_completion): Likewise.
3174 (run): Likewise.
3175 (grub_menu_entry_run): Likewise.
3176 * normal/menu_text.c (grub_wait_after_message): Likewise.
3177 (notify_booting): Likewise.
3178 (notify_fallback): Likewise.
3179 (notify_execution_failure): Likewise.
3180
d6ceebf1
CW
31812009-12-07 Colin Watson <cjwatson@ubuntu.com>
3182
3183 * configure.ac: Check for vasprintf.
3184 * util/misc.c (asprintf): Move allocation from here ...
3185 (vasprintf): ... to here. New function.
3186 (xasprintf): New function.
3187 * include/grub/util/misc.h (vasprintf, xasprintf): Add
3188 prototypes.
3189 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3190 * util/grub-mkfont.c (write_font): Likewise.
3191 * util/grub-probe.c (probe): Likewise.
3192 * util/hostdisk.c (make_device_name): Likewise.
3193
de6daa8b
DM
31942009-12-06 David S. Miller <davem@sunset.davemloft.net>
3195
3196 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
3197 anything even prefixed with 'cdrom' as a cdrom.
3198
0ad46fd7 31992009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
3200
3201 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
3202 mount points.
3203
98d3dc02
CPE
32042009-12-05 Carles Pina i Estany <carles@pina.cat>
3205
3206 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
3207 grub_gettext_msg_list.
3208 (grub_gettext_gettranslation_from_position): Return const char *
3209 and not char *.
a2c1332b 3210 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
3211 returns from the list if existing there.
3212 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
3213 (grub_gettext_delete_list): Delete the list.
3214 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
3215 lang environment variable is changed.
3216 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
3217
b283f108
VS
32182009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 Rename kernel.mod to kernel.img.
3221
3222 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
3223 (kernel_mod_EXPORTS): Rename to ...
3224 (kernel_img_EXPORTS): ... this.
3225 (kernel_mod_SOURCES): Rename to ...
3226 (kernel_img_SOURCES): ... this.
3227 (kernel_mod_HEADERS): Rename to ...
3228 (kernel_img_HEADERS): ... this. All users updated.
3229 (kernel_mod_CFLAGS): Rename to ...
3230 (kernel_img_CFLAGS): ... this.
3231 (kernel_mod_ASFLAGS): Rename to ...
3232 (kernel_img_ASFLAGS): ... this.
3233 (kernel_mod_LDFLAGS): Rename to ...
3234 (kernel_img_LDFLAGS): ... this.
3235 * conf/x86_64-efi.rmk: Likewise.
3236 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
3237 (read_kernel_image): ... this. All users updated.
3238 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
3239
69055f8a
CPE
32402009-12-05 Carles Pina i Estany <carles@pina.cat>
3241
3242 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
3243 (print_spaces): New function.
3244 (grub_print_ucs4): New function.
3245 (getstringwidth): New function.
3246 (print_message_indented): New function.
3247 (print_message): Gettexttize strings using print_message_indented.
3248 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
3249 width.
3250 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 3251 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
3252 Gettextize.
3253 * normal/menu_entry.c (store_completion): Cleanup the gettextized
3254 string.
3255 (run): Likewise.
3256 (grub_menu_entry_run): Likewise.
3257 * PO/POTFILES: Add normal/menu_entry.c.
3258
f616f51c
VS
32592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
3262
57bbe3be
CPE
32632009-12-05 Carles Pina i Estany <carles@pina.cat>
3264
3265 * util/grub-install.in: Install gettext .mo files.
3266 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
3267
013d67a1
CPE
32682009-12-05 Carles Pina i Estany <carles@pina.cat>
3269
3270 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
3271 grub_dprintf.
3272
fb954db0
RM
32732009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3274
3275 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3276 non-firmware-dependant one in realmode.S takes precedence.
3277
6b8474f8
RM
32782009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3279
3280 * commands/halt.c: Replace misc arch-specific headers with
3281 `<grub/misc.h>'.
3282 * commands/reboot.c: Likewise.
3283 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3284 `<grub/misc.h>'.
3285 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3286 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3287 (kernel_img_SOURCES): ... to here.
3288
3289 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3290 * include/grub/i386/pc/init.h: Likewise.
3291 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3292 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3293
3294 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3295
3296 * include/grub/i386/halt.h: Remove.
3297 * include/grub/i386/reboot.h: Likewise.
3298
3299 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3300
4b2e6ca2
DM
33012009-12-03 David S. Miller <davem@sunset.davemloft.net>
3302
3303 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3304 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3305 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3306 "progname.h"
3307 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3308 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3309 (usage): Add missing comma in printf.
3310
5239348f
RM
33112009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3312
3313 Use the same reboot approach on i386 coreboot and qemu as we do on
3314 BIOS.
3315
3316 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3317 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3318 * kern/i386/reboot.c: Remove.
3319 * include/grub/i386/reboot.h (grub_reboot): Export function.
3320 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3321 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3322 0xf000:0xfff0 instead of 0xffff:0x0000.
3323 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3324 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3325
ef34cbd4
RM
33262009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3327
3328 Fix $srcdir != $objdir build.
3329
3330 * Makefile.in (po/%.po): Rewrite as ...
3331 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3332
dc9837ea
ST
33332009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3334
3335 Fix GNU/Hurd grub-install crash.
3336 * util/grub-probe.c (probe): Try to access `path' only when it is not
3337 NULL.
3338
2f857f98
VS
33392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 Correct module naming.
3342
3343 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3344 (GRUB_MOD_INIT(efi_uga)): ... to this
3345 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3346 (GRUB_MOD_FINI(efi_uga)): ... to this
3347 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3348 (GRUB_MOD_INIT(efi_gop)): ... to this
3349 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3350 (GRUB_MOD_FINI(efi_gop)): ... to this
3351
c5448046
RM
33522009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3353
3354 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3355 translatable.
3356 (usage): Translate `arg' strings using gettext().
3357 Thanks to Jordi Mallach for the suggestion.
3358
c85184ad
VS
33592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 GOP support. Based on patch from Bean
3362 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3363
3364 * video/efi_gop.c: New file.
3365 * include/grub/efi/graphics_output.h: Likewise.
3366 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3367 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3368 variables.
3369 * conf/x86_64-efi.rmk: Likewise.
3370
8a4c48d8
VS
33712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 Rename efi_fb to efi_uga.
3374
3375 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3376 'efi_uga.mod'.
3377 (efi_fb_mod_SOURCES): Rename this ...
3378 (efi_uga_mod_SOURCES): ... to this.
3379 (efi_fb_mod_CFLAGS): Rename this ...
3380 (efi_uga_mod_CFLAGS): ... to this.
3381 (efi_fb_mod_LDFLAGS): Rename this ...
3382 (efi_uga_mod_LDFLAGS): ... to this.
3383 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3384 'efi_uga.mod'.
3385 (efi_fb_mod_SOURCES): Rename this ...
3386 (efi_uga_mod_SOURCES): ... to this.
3387 (efi_fb_mod_CFLAGS): Rename this ...
3388 (efi_uga_mod_CFLAGS): ... to this.
3389 (efi_fb_mod_LDFLAGS): Rename this ...
3390 (efi_uga_mod_LDFLAGS): ... to this.
3391 * video/efi_fb.c: Move this ...
3392 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3393
fb6c1a7b
RM
33942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3395
3396 * po/README: New file. Explain our PO file workflow.
3397
3bc7896c
RM
33982009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3399
3400 * po/ChangeLog: Remove. Move relevant entries back to ...
3401 * ChangeLog: ... here.
3402 * po/ca.po: Remove (now handled by TLP).
3403 * po/id.po: Likewise.
3404 * po/zh_CN.po: Likewise.
3405 * Makefile.in (LINGUAS): Initialize in a way that supports
3406 empty set.
3407
9ed4841d
RM
34082009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3409
3410 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3411 reliing on po/LINGUAS.
3412 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3413 (po/%.po): ... this.
3414
0ad46fd7 34152009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
3416
3417 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3418 (main): Use `program_name' instead of nonexistent `progname'.
3419
e30dd392
FZ
34202009-11-26 Felix Zielcke <fzielcke@z-51.de>
3421
3422 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3423 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3424
7656de4f
RM
34252009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3426
3427 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3428 commit.
3429 * conf/i386-efi.rmk: Likewise.
3430 * conf/i386-ieee1275.rmk: Likewise.
3431 * conf/powerpc-ieee1275.rmk: Likewise.
3432 * conf/sparc64-ieee1275.rmk: Likewise.
3433 * conf/x86_64-efi.rmk: Likewise.
3434
db77c4d4
FZ
34352009-11-26 Felix Zielcke <fzielcke@z-51.de>
3436
3437 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3438
a755bb04
FZ
34392009-11-26 Felix Zielcke <fzielcke@z-51.de>
3440
3441 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3442
8a4c07fd
RM
34432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3444
3445 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
3446 (grub_mkdevicemap_SOURCES): New variable.
3447 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
3448 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
3449 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
3450 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
3451 (grub_mkdevicemap_SOURCES): Remove.
3452 * conf/i386-efi.rmk: Likewise.
3453 * conf/i386-ieee1275.rmk: Likewise.
3454 * conf/i386-pc.rmk: Likewise.
3455 * conf/powerpc-ieee1275.rmk: Likewise.
3456 * conf/sparc64-ieee1275.rmk: Likewise.
3457 * conf/x86_64-efi.rmk: Likewise.
3458 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
3459 (usage): Fix strings to use `program_name'.
3460 (main): Initialize gettext.
3461 * util/grub-editenv.c: Likewise.
3462 * util/grub-emu.c: Likewise.
3463 * util/grub-fstest.c: Likewise.
3464 * util/grub-mkdevicemap.c: Likewise.
3465 * util/grub-mkfont.c: Likewise.
3466 * util/grub-mkrelpath.c: Likewise.
3467 * util/grub-pe2elf.c: Likewise.
3468 * util/grub-probe.c: Likewise.
3469 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3470 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3471 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3472
3473 * util/misc.c: Include `"progname.h"'.
3474 (progname): Remove variable.
3475 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3476
6f61ed55
FZ
34772009-11-25 Felix Zielcke <fzielcke@z-51.de>
3478
3479 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3480 printf and print a newline after the menuentry header line.
3481 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3482
f022876b
FZ
34832009-11-25 Felix Zielcke <fzielcke@z-51.de>
3484
3485 autoconf >= 2.60 support $(localedir).
3486
3487 * INSTALL: Note that autoconf 2.60 is required.
3488 * configure.ac (AC_PREREQ): Bump to 2.60.
3489 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3490 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3491
6717926e
YB
34922009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3493
3494 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3495 aclocal is run.
3496
08806a54
RM
34972009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3498
3499 * normal/main.c (grub_normal_read_line): Fix off-by-one
3500 buffer overflow.
3501
13b33fba
RM
35022009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3503
3504 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3505 "parser.grub" in grub_command_execute() call.
3506
4a8572e9
CPE
35072009-11-24 Carles Pina i Estany <carles@pina.cat>
3508
3509 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3510 * conf/i386-efi.rmk: Likewise.
3511 * conf/i386-ieee1275.rmk: Likewise.
3512 * conf/i386-pc.rmk: Likewise.
3513 * conf/powerpc-ieee1275.rmk: Likewise.
3514 * conf/sparc64-ieee1275.rmk: Likewise.
3515 * conf/x86_64-efi.rmk: Likewise.
3516 * gettext/gettex.c: Include <grub/i18n.h>.
3517 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3518 here ...
3519 * include/grub/i18n.h: ... to here
3520 * include/grub/i18n.h: ... to here.
3521 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 3522 (grub_gettext_dummy): Move above user.
4a8572e9 3523
bee48093
FZ
35242009-11-24 Felix Zielcke <fzielcke@z-51.de>
3525
3526 * util/Makefile.in (install-local): Convert a `for' into a normal
3527 shell expansion.
3528
a031e91c
RM
35292009-11-24 Robert Millan <rmh.grub@aybabtu.com>
3530
3531 * autogen.sh: Add automake call.
3532 * config.guess: Remove.
3533 * config.sub: Likewise.
3534 * install-sh: Likewise.
3535
26bec39d
FZ
35362009-11-24 Felix Zielcke <fzielcke@z-51.de>
3537
3538 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
3539
8e2532fd
FZ
35402009-11-24 Felix Zielcke <fzielcke@z-51.de>
3541
3542 * util/Makefile.in (install-local): Convert a make `$(foreach)'
3543 function to a normal shell `for'.
3544
fefa1b7d
FZ
35452009-11-24 Felix Zielcke <fzielcke@z-51.de>
3546
3547 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3548
4501250b
FZ
35492009-11-24 Felix Zielcke <fzielcke@z-51.de>
3550
3551 * util/grub-mkrelpath.c: New file.
3552 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
3553 (grub_mkrelpath_SOURCES): New variable.
3554 * include/grub/util/misc.h: New function prototype.
3555 * util/misc.c (make_system_path_relative_to_its_root): New function.
3556
3557 * util/grub-mkconfig_lib.in (bindir): New variable.
3558 (grub_mkrelpath): Likewise.
3559 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
3560
3561 * util/probe.c (probe): Make the file path relative to its root.
3562 Change a info message to use the GRUB path. Enable again the
3563 check if we can read the file with GRUB facilities.
3564
3565 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
3566 to its root.
3567
11d9778b
FZ
35682009-11-24 Felix Zielcke <fzielcke@z-51.de>
3569
3570 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
3571 platform.
3572
4465287d
FZ
35732009-11-24 Felix Zielcke <fzielcke@z-51.de>
3574
3575 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
3576 strncmp().
3577
62b47f22
FZ
35782009-11-24 Felix Zielcke <fzielcke@z-51.de>
3579
3580 * util/getroot.c (grub_util_is_dmraid): New function.
3581 (grub_util_get_dev_abstraction): Treat dmraid and multipath
3582 devices as normal ones, not as LVM.
3583
1eafb9b9 35842009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
3585
3586 * conf/common.rmk: Add grub-gettext_lib target and updates
3587 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
3588 LDFLAGS.
3589 * gettext/gettext.c: New file. (Reads mo files).
3590 * include/grub/file.h (grub_file_pread): New prototype.
3591 * include/grub/i18n.h (_): New prototype.
3592 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
3593 prototypes.
3594 * kern/misc.c (grub_gettext_dummy): New function.
3595 * normal/menu_text.c: Include <grub/i18n.h>.
3596 * normal/menu_text.c (print_timeout): Gettexttize string.
3597 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
3598 * po/POTFILES: Add `normal/menu_text.c'.
3599 * po/ca.po: Add new translations.
c3ea6bd4
CPE
3600 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
3601 gettext module and defines locale_dir and lang in grub.cfg.
3602 * NEWS: Add gettext support.
3603
0fdb2568
RM
36042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3605
3606 * util/hostdisk.c: Include `<grub/i18n.h>'.
3607 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
3608 (make_device_name): Rewrite using asprintf.
3609 (convert_system_partition_to_system_disk): Replace 0 with NULL.
3610 (find_system_device): If a device is not found, generate one just
3611 by reusing the OS path name.
3612 (read_device_map): Make it permissible for device.map not to exist.
3613
f515aa62
RM
36142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3615
3616 * script/sh/execute.c: Move from here ...
3617 * script/execute.c: ... to here. Update all users.
3618 * script/sh/function.c: Move from here ...
3619 * script/function.c: ... to here. Update all users.
3620 * script/sh/lexer.c: Move from here ...
3621 * script/lexer.c: ... to here. Update all users.
3622 * script/sh/main.c: Move from here ...
3623 * script/main.c: ... to here. Update all users.
3624 * script/sh/parser.y: Move from here ...
3625 * script/parser.y: ... to here. Update all users.
3626 * script/sh/script.c: Move from here ...
3627 * script/script.c: ... to here. Update all users.
3628
f84b481b
RM
36292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3630
3631 * configure.ac: Detect all `emu' platforms. Define
3632 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
3633 --enable-grub-emu logic. Disable include/grub/machine
3634 symlink on `emu' platforms.
3635
3636 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
3637 * gensymlist.sh.in: Likewise.
3638
3639 * include/grub/i386/coreboot/machine.h: Remove file.
3640 * include/grub/i386/efi/machine.h: Likewise.
3641 * include/grub/i386/ieee1275/machine.h: Likewise.
3642 * include/grub/i386/pc/machine.h: Likewise.
3643 * include/grub/i386/qemu/machine.h: Likewise.
3644 * include/grub/powerpc/ieee1275/machine.h: Likewise.
3645 * include/grub/sparc64/ieee1275/machine.h: Likewise.
3646 * include/grub/x86_64/efi/machine.h: Likewise.
3647
3648 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
3649 * commands/halt.c: Likewise.
3650 * commands/reboot.c: Likewise.
3651 * include/grub/autoefi.h: Likewise.
3652 * include/grub/i386/at_keyboard.h: Likewise.
3653 * include/grub/i386/kernel.h: Likewise.
3654 * include/grub/i386/loader.h: Likewise.
3655 * include/grub/i386/pc/memory.h: Likewise.
3656 * kern/dl.c: Likewise.
3657 * kern/i386/coreboot/init.c: Likewise.
3658 * loader/i386/bsd.c: Likewise.
3659 * loader/i386/linux.c: Likewise.
3660 * loader/multiboot_loader.c: Likewise.
3661 * term/i386/pc/serial.c: Likewise.
3662 * term/usb_keyboard.c: Likewise.
3663
3664 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
3665 `<grub/machine/machine.h>'
3666 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
3667 * util/misc.c: Remove `<grub/machine/machine.h>' and
3668 `<grub/machine/time.h>'.
3669
3670 * Makefile.in (enable_grub_emu): Remove variable.
3671 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
3672
3673 * conf/any-emu.rmk: New file.
3674 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
3675 (grub_emu_init.c): Move from here ...
3676 * conf/any-emu.rmk: ... to here.
3677
3678 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
3679 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
3680 * conf/any-emu.rmk: ... to here.
3681
4efeab03
RM
36822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3683
3684 * include/grub/parser.h (grub_parser_register): Document need
3685 of `name' parameter.
3686 * normal/main.c (grub_normal_read_line): Simplify prompt string.
3687 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
3688 "sh" to "grub".
3689
ea1dd8bf
RM
36902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3691
3692 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
3693 `$(XGETTEXT)'.
3694 * include/grub/i18n.h (N_): New macro.
3695 * util/mkisofs/mkisofs.h: Likewise.
3696 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
3697 around N_().
3698 (usage): Use gettext() to translate help strings when printing them.
3699
0c140626
RM
37002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3701
3702 Based on patch from Bean
3703 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3704
3705 * video/efi_fb.c: New file.
3706 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
3707 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3708 variables.
3709 * conf/x86_64-efi.rmk: Likewise.
3710
87d58298
RM
37112009-11-22 Robert Millan <rmh.grub@aybabtu.com>
3712
3713 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
3714 * util/i386/pc/grub-setup.c: Likewise.
3715
994cc3a3
ST
37162009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3717
3718 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
3719 <hurd/fs.h>
3720 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
3721 file_get_storage_info to implement grub_guess_root_device.
3722
26a61d6a
FZ
37232009-11-21 Felix Zielcke <fzielcke@z-51.de>
3724
3725 * Makefile.in (target): Use make's builtin $(shell) function
3726 instead of calling directly $(SHELL) to create the locale directories,
3727 inside the $(foreach) function.
3728
74ff1dd5
FZ
37292009-11-21 Felix Zielcke <fzielcke@z-51.de>
3730
3731 * util/grub-mkrescue.in: Print an error and usage if output option
3732 has not been given.
3733
0b787d0e
FZ
37342009-11-21 Felix Zielcke <fzielcke@z-51.de>
3735
3736 Patch from Loïc Minier <loic.minier@ubuntu.com>.
3737 * util/grub.d/30_os-prober.in: Cope with Linux entries where
3738 root and /boot are on different devices.
3739
1164b270
RM
37402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3741
3742 Fix build for srcdir != objdir.
3743
3744 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
3745 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
3746 $(srcdir).
3747 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
3748 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
3749 reference for input.
3750
13774a2f
RM
37512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3752
3753 * util/grub-mkrescue.in: Use source directory direcly (without copiing
3754 or hardlinking it). Remove -J option, Joliet is not compatible with
3755 multiple source directories.
3756
efda854e
RM
37572009-11-21 Carles Pina i Estany <carles@pina.cat>
37582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3759
3760 * util/grub-mkrescue.in: Recognize `--override-directory' option.
3761 (process_input_dir): New function. Process an arbitrary input
3762 directory.
3763 Misc adjustments to support both "override mode" and system-wide mode.
3764
6c09890c
FZ
37652009-11-20 Felix Zielcke <fzielcke@z-51.de>
3766
3767 * configure.ac (UNIFONT_BDF): Rename to ...
3768 (FONT_SOURCE): ... this. Update all users.
3769
a797824f
FZ
37702009-11-20 Felix Zielcke <fzielcke@z-51.de>
3771
3772 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
3773 to the list of unifont files to look for.
3774
cd4f42b0
RM
37752009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3776
3777 Patch from Joe Auricchio <jauricchio@gmail.com>
3778 * commands/minicmd.c (grub_mini_cmd_clear): New function.
3779 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
3780 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
3781
393c783d
FZ
37822009-11-19 Felix Zielcke <fzielcke@z-51.de>
3783
3784 * Makefile.in (install-local): Add a missing backslash.
3785
b2f1e327
FZ
37862009-11-19 Felix Zielcke <fzielcke@z-51.de>
3787
3788 * include/grub/x86_64/io.h: New file.
3789
f577f7a0
RM
37902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3791
3792 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
3793 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
3794 Include `"progname.h"'.
3795 (main): Initialize gettext.
3796 * util/i386/pc/grub-setup.c: Gettexttize.
3797 * util/i386/pc/grub-mkimage.c: Likewise.
3798
3799 * Makefile.in (po/*.po): Redefine as ...
3800 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
3801
3bc7896c
RM
3802 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
3803
c37943b6
RM
38042009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3805
3806 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
3807 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
3808 (program_name): Remove.
3809 (main): Initialize gettext support.
6323f705
RM
3810 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
3811 Include `<libintl.h>'.
3812 (_): New macro.
c37943b6
RM
3813
3814 * util/mkisofs/eltorito.c: Gettexttize.
3815 * util/mkisofs/joliet.c: Likewise.
3816 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
3817 * util/mkisofs/multi.c: Likewise.
3818 * util/mkisofs/rock.c: Likewise.
3819 * util/mkisofs/tree.c: Likewise.
3820 * util/mkisofs/write.c: Likewise.
3821
3bc7896c
RM
3822 * po/POTFILES: Update with new files.
3823
5ce77c6e
RM
38242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3825
3826 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
3827 * util/mkisofs/iso9660.h: Likewise.
3828 * util/mkisofs/joliet.c: Likewise.
3829 * util/mkisofs/mkisofs.c: Likewise.
3830 * util/mkisofs/mkisofs.h: Likewise.
3831 * util/mkisofs/rock.c: Likewise.
3832 * util/mkisofs/tree.c: Likewise.
3833 * util/mkisofs/write.c: Likewise.
3834
3835 * util/mkisofs/eltorito.c (rcsid): Remove.
3836 * util/mkisofs/hash.c: Likewise.
3837 * util/mkisofs/joliet.c: Likewise.
3838 * util/mkisofs/name.c: Likewise.
3839 * util/mkisofs/rock.c: Likewise.
3840 * util/mkisofs/tree.c: Likewise.
3841 * util/mkisofs/write.c: Likewise.
3842
1dabbc77
RM
38432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3844
3845 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
3846 instead of static allocation.
3847 * util/mkisofs/match.h: Likewise.
3848
633877cb
RM
38492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3850
3bc7896c
RM
3851 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
3852 and `util/grub.d/10_linux.in'.
633877cb
RM
3853 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
3854 translatable Shell files.
3855
af1c0c85
RM
38562009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3857
3858 * Makefile.in ($(srcdir)/aclocal.m4): New target.
3859
769ae37b
RM
38602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3861
3862 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 3863 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
3864 * util/grub.d/10_kfreebsd.in (bindir): New variable.
3865 Add gettext initialization.
3866 (kfreebsd_entry): Make menuentry output translatable.
3867
38682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3869
3870 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
3871 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
3872 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
3873 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
3874 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 3875 * po/LINGUAS: New file.
769ae37b
RM
3876
38772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3878
3879 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
3880 other things).
3881 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
3882 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
3883 bindtextdomain() calls for gettext initialization.
3884
38852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3886
3887 * gnulib/progname.c: New file (imported from Gnulib).
3888 * gnulib/progname.h: Likewise.
3889 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3890 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
3891 (usage): Replace `progname' with `program_name'.
3892 (main): Use set_program_name() for program name initialization.
3893
38942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3895
3896 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
3897 from here ...
3898 * Makefile.in (CPPFLAGS): ... to here.
3899
39002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3901
3902 * aclocal.m4: Move from here ...
3903 * acinclude.m4: ... to here.
3904 * autogen.sh: Add call to `aclocal'.
3905 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
3906
39072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3908
3909 * Makefile.in (CLEANFILES): Add `po/*.mo'.
3910 (LINGUAS): New variable.
3911 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
3912 (install-local): Install MO files.
3913 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
3914 * include/grub/i18n.h: New file.
3bc7896c
RM
3915 * po/POTFILES: New file.
3916 * po/ca.po: New file.
769ae37b
RM
3917 * util/grub.d/10_linux.in (bindir): New variable.
3918 Add gettext initialization.
3919 (linux_entry): Make menuentry output translatable.
3920 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
3921 (usage): Make --help output translatable.
3922 (main): Initialize gettext.
3923
02c0a6ad
RM
39242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3925
3926 * import_gcry.py: New file (written by Vladimir with minor
3927 adjustments).
3928 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
3929 ciphers.
3930 * INSTALL: Document that Python is required for bootstrap.
3931
39322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3933
3934 Import ciphers from libgcrypt 1.4.4.
3935
3936 * lib/libgcrypt/cipher/ChangeLog
3937 * lib/libgcrypt/cipher/ac.c
3938 * lib/libgcrypt/cipher/arcfour.c
3939 * lib/libgcrypt/cipher/bithelp.h
3940 * lib/libgcrypt/cipher/blowfish.c
3941 * lib/libgcrypt/cipher/camellia-glue.c
3942 * lib/libgcrypt/cipher/camellia.c
3943 * lib/libgcrypt/cipher/camellia.h
3944 * lib/libgcrypt/cipher/cast5.c
3945 * lib/libgcrypt/cipher/cipher.c
3946 * lib/libgcrypt/cipher/crc.c
3947 * lib/libgcrypt/cipher/des.c
3948 * lib/libgcrypt/cipher/dsa.c
3949 * lib/libgcrypt/cipher/ecc.c
3950 * lib/libgcrypt/cipher/elgamal.c
3951 * lib/libgcrypt/cipher/hash-common.c
3952 * lib/libgcrypt/cipher/hash-common.h
3953 * lib/libgcrypt/cipher/hmac-tests.c
3954 * lib/libgcrypt/cipher/md.c
3955 * lib/libgcrypt/cipher/md4.c
3956 * lib/libgcrypt/cipher/md5.c
3957 * lib/libgcrypt/cipher/primegen.c
3958 * lib/libgcrypt/cipher/pubkey.c
3959 * lib/libgcrypt/cipher/rfc2268.c
3960 * lib/libgcrypt/cipher/rijndael-tables.h
3961 * lib/libgcrypt/cipher/rijndael.c
3962 * lib/libgcrypt/cipher/rmd.h
3963 * lib/libgcrypt/cipher/rmd160.c
3964 * lib/libgcrypt/cipher/rsa.c
3965 * lib/libgcrypt/cipher/seed.c
3966 * lib/libgcrypt/cipher/serpent.c
3967 * lib/libgcrypt/cipher/sha1.c
3968 * lib/libgcrypt/cipher/sha256.c
3969 * lib/libgcrypt/cipher/sha512.c
3970 * lib/libgcrypt/cipher/tiger.c
3971 * lib/libgcrypt/cipher/twofish.c
3972 * lib/libgcrypt/cipher/whirlpool.c
3973
af2f93ac
RM
39742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3975
3976 Fix build for systems without error().
3977
3978 * gnulib/error.c: New file (imported from Gnulib).
3979 * gnulib/error.h: Likewise.
3980 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
3981 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
3982 (this variable is now used by error()).
3983
73fb3dd5
FZ
39842009-11-16 Felix Zielcke <fzielcke@z-51.de>
3985
814f5e96
FZ
3986 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
3987 instead of relying that char is signed.
73fb3dd5 3988
a691ca33
VS
39892009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
3992 blocksize different from specified.
3993 (grub_pxefs_read): Likewise.
3994
2af8f0f4
FZ
39952009-11-16 Felix Zielcke <fzielcke@z-51.de>
3996
3997 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
3998
3999 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4000 (grub_ata_readwrite): Likewise. Update 2 format strings.
4001 (grub_atapi_read): Likewise.
4002
4003 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
4004 * conf/i386.rmk (pkglib_MODULES): ... to here ...
4005 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
4006 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
4007 (ata_mod_LDFLAGS): Move from here ...
4008 * conf/i386.rmk: ... to here ...
4009 * conf/x86_64-efi.rmk: ... and here.
4010 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
4011 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
4012
83bdecaf
RM
40132009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4014
4015 Relicense multiboot.h, with RMS' blessing.
4016
4017 * include/multiboot.h: Change to X11 license.
4018
fd6fd3d7
RM
40192009-11-15 Robert Millan <rmh.grub@aybabtu.com>
4020
4021 Support --version in grub-mkisofs.
4022
4023 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
4024 (OPTION_VERSION): New macro.
4025 (ld_options): Recognize --version.
4026 (usage): Move `program_name' from here ...
4027 (program_name): ... to here. Add `static' qualifier.
4028 (main): Recognize `OPTION_VERSION'.
4029
16a88c49
FZ
40302009-11-15 Felix Zielcke <fzielcke@z-51.de>
4031
4032 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
4033 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
4034
a4158476
RM
40352009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4036
4037 Fix help2man generation for mkisofs.
4038
4039 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
4040 (usage): Send output to stdout (rather than stderr).
4041
fc2208b0
RM
40422009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4043
4044 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
4045 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4046 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
4047 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4048 (bin_SCRIPTS): Add `grub-mkfloppy'.
4049 (grub_mkfloppy_SOURCES): New variable.
4050
4051 * util/grub-mkrescue.in: New file.
4052 * util/i386/pc/grub-mkfloppy.in: New file.
4053
4054 * util/i386/coreboot/grub-mkrescue.in: Remove.
4055 * util/i386/pc/grub-mkrescue.in: Remove.
4056
8d0edf4a
RM
40572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4058
4059 * include/grub/multiboot.h (struct grub_multiboot_header): Move
4060 from here ...
4061 * include/multiboot.h (struct multiboot_header): ... to here. Update
4062 all users.
4063 * include/grub/multiboot.h (struct grub_multiboot_info): Move
4064 from here ...
4065 * include/multiboot.h (struct multiboot_info): ... to here. Update
4066 all users.
4067 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
4068 from here ...
4069 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
4070 Update all users.
4071 * include/grub/multiboot.h (struct grub_mod_list): Move
4072 from here ...
4073 * include/multiboot.h (struct multiboot_mod_list): ... to here.
4074 Update all users.
4075
a73f5969
RM
40762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4077
4078 * include/multiboot2.h (multiboot_word): Rename from this ...
4079 (multiboot2_word): ... to this. Update all users.
4080 (multiboot_header): Rename from this ...
4081 (multiboot2_header): ... to this. Update all users.
4082 (multiboot_tag_header): Rename from this ...
4083 (multiboot2_tag_header): ... to this. Update all users.
4084 (multiboot_tag_start): Rename from this ...
4085 (multiboot2_tag_start): ... to this. Update all users.
4086 (multiboot_tag_name): Rename from this ...
4087 (multiboot2_tag_name): ... to this. Update all users.
4088 (multiboot_tag_module): Rename from this ...
4089 (multiboot2_tag_module): ... to this. Update all users.
4090 (multiboot_tag_memory): Rename from this ...
4091 (multiboot2_tag_memory): ... to this. Update all users.
4092 (multiboot_tag_unused): Rename from this ...
4093 (multiboot2_tag_unused): ... to this. Update all users.
4094 (multiboot_tag_end): Rename from this ...
4095 (multiboot2_tag_end): ... to this. Update all users.
4096
1c8927f0
RM
40972009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4098
4099 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
4100 this platform we should support Multiboot1 first.
4101
4102 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4103 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
4104 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
4105
6e1e0d89
RM
41062009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4107
4108 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
4109 of write calls (converting them to fwrite() if they aren't already).
4110 (get_torito_desc): Likewise.
4111 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
4112
7f2b34d8
RM
41132009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4114
4115 * util/i386/pc/grub-install.in: Move from here ...
4116 * util/grub-install.in: ... to here. Update all users.
4117
c0ef3311
CW
41182009-11-11 Colin Watson <cjwatson@ubuntu.com>
4119
4120 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
4121
e1f240ff
RM
41222009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4123
4124 Support for El Torito without floppy emulation.
4125
4126 * util/mkisofs/eltorito.c: Include `<errno.h>'.
4127 (init_boot_catalog): Improve error handling.
4128 (get_torito_desc): Don't use floppy emulation unless requested by
4129 user. Patch boot information table when requested via
4130 `-boot-info-table'.
4131 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
4132 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
4133 (use_boot_info_table): New variables.
4134 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
4135 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
4136 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
4137 `--eltorito-emul-floppy'.
4138 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
4139 and `OPTION_ELTORITO_EMUL_FLOPPY'.
4140 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
4141 (use_boot_info_table, get_731): New prototypes.
4142 * util/mkisofs/write.c (get_731): New function.
4143
af7d4de5
FZ
41442009-11-11 Felix Zielcke <fzielcke@z-51.de>
4145
4146 Fix the generation of the man page.
4147
4148 * util/pc/i386/grub-install.in: Source
4149 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4150
2c55dbc0
RM
41512009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4152
4153 Large file support for grub-mkisofs.
4154
4155 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
4156 * util/mkisofs/mkisofs.c (next_extent, last_extent)
4157 (session_start): Upgrade type to `uint64_t'. Update all users.
4158 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
4159 (struct directory_entry): Upgrade type of `starting_block' and
4160 `size' to `uint64_t'. Update all users.
4161 (struct deferred): Remove unused structure.
4162 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
4163 Update all users.
4164 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
4165 file is larger than `UINT32_MAX'.
4166 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
4167 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
4168 return value.
4169 (struct deferred_write): Upgrade type of `extent' and `size' to
4170 `uint64_t'. Update all users.
4171 (last_extent_written): Upgrade type to `uint64_t'. Update all
4172 users.
4173 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
4174 Update all users. Upgrade type of `remain' to `int64_t' and
4175 `use' to `size_t'. Use error() to handle fread() errors.
4176 (write_files): Rely on write_one_file() rather than calling
4177 xfwrite() directly.
4178
6a9cead5
FZ
41792009-11-09 Felix Zielcke <fzielcke@z-51.de>
4180
4181 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
4182
4825d790
RM
41832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4184
4185 * util/mkisofs/fnmatch.c: Remove.
4186 * util/mkisofs/getopt1.c: Likewise.
4187 * util/mkisofs/getopt.c: Likewise.
4188 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
4189 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
4190 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
4191 `gnulib/getopt1.c' and `gnulib/getopt.c'.
4192 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
4193
4194 * configure.ac: Detect `mingw32msvc' host_os.
4195 Check for lstat(), getuid() and getgid().
4196
4197 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
4198 instances of `u_char' with `uint8_t'.
4199
4200 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
4201 [!HAVE_GETUID] (getuid): New function (stub).
4202 [!HAVE_GETGID] (getgid): Likewise.
4203 [!HAVE_LSTAT] (lstat): Likewise.
4204 [!S_IROTH] (S_IROTH): New macro (dummy).
4205 [!S_IRGRP] (S_IRGRP): Likewise.
4206
84b860d8
RM
42072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4208
4209 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
4210 conditional expression).
4211
66e9b712
RM
42122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4213
4214 Import from Gnulib.
4215
4216 * gnulib/fnmatch.c: New file.
4217 * gnulib/fnmatch.h: Likewise.
4218 * gnulib/fnmatch_loop.c: Likewise.
4219 * gnulib/getopt.c: Likewise.
4220 * gnulib/getopt.h: Likewise.
4221 * gnulib/getopt1.c: Likewise.
4222 * gnulib/getopt_int.h: Likewise.
4223 * gnulib/gettext.h: Likewise.
4224
34f4a5b0
RM
42252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4226
4227 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
4228 * normal/handler.c (read_handler_list): Likewise.
4229
ac451143
RM
42302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4231
4232 Misc cleanup.
4233
4234 * kern/command.c (grub_register_command_prio): Use
4235 grub_zalloc() instead of explicitly zeroing data.
4236 * kern/list.c: Include `<grub/mm.h>'.
4237 (grub_named_list_find): Replace `0' with `NULL'.
4238 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
4239 (fs_module_list): Change type to `grub_named_list_t'. Update all
4240 users.
4241 * normal/dyncmd.c (read_command_list): Add space between function
4242 call and parenthesis.
4243 * normal/handler.c (read_handler_list): Likewise.
4244
4089b167
RM
42452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4246
4247 * normal/auth.c (punishment_delay): Moved from here ...
4248 (grub_auth_strcmp): ... to here (inside function).
4249
325f5037
RM
42502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4251
4252 * include/grub/list.h (struct grub_named_list): Remove `const'
4253 qualifier from `name'.
4254 (struct grub_prio_list): Likewise.
4255
7aea29a3
RM
42562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4257
4258 * normal/auth.c: Include `<grub/time.h>'.
4259 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
4260
3fd6f044
RM
42612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4262
4263 * normal/auth.c (punishment_delay): New variable.
4264 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
4265 (grub_auth_check_authentication): Punish failed login attempts with
4266 an incremental (2^N) delay.
4267
a4cd68e4
RM
42682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4269
4270 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
4271 path with $(srcdir).
4272
7ad12f43
VS
42732009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4276
c1129f03
RM
42772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4278
4279 * util/i386/coreboot/grub-mkrescue.in: New file.
4280 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4281 variables.
4282
4283 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4284 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4285 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4286 requirements.
4287 * util/mkisofs/defaults.h: New file.
4288 * util/mkisofs/eltorito.c: Likewise.
4289 * util/mkisofs/exclude.h: Likewise.
4290 * util/mkisofs/fnmatch.c: Likewise.
4291 * util/mkisofs/getopt.c: Likewise.
4292 * util/mkisofs/getopt1.c: Likewise.
4293 * util/mkisofs/hash.c: Likewise.
4294 * util/mkisofs/include/fctldefs.h: Likewise.
4295 * util/mkisofs/include/mconfig.h: Likewise.
4296 * util/mkisofs/include/prototyp.h: Likewise.
4297 * util/mkisofs/include/statdefs.h: Likewise.
4298 * util/mkisofs/iso9660.h: Likewise.
4299 * util/mkisofs/joliet.c: Likewise.
4300 * util/mkisofs/match.c: Likewise.
4301 * util/mkisofs/match.h: Likewise.
4302 * util/mkisofs/mkisofs.c: Likewise.
4303 * util/mkisofs/mkisofs.h: Likewise.
4304 * util/mkisofs/multi.c: Likewise.
4305 * util/mkisofs/name.c: Likewise.
4306 * util/mkisofs/rock.c: Likewise.
4307 * util/mkisofs/tree.c: Likewise.
4308 * util/mkisofs/write.c: Likewise.
4309
ec8bb77d
VS
43102009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4313 being insecure.
4314
3716b12c
RM
43152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4316
4317 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4318 `grub-mkimage' (and use $0 when possible).
4319
b97b7b91
RM
43202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4321
4322 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4323 error message for excessively large memory map.
4324
04114812
RM
43252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4326
4327 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4328 executable bit.
4329
e4eb2373
RM
43302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4331
4332 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4333 message for coreboot users.
4334
c926e1d5 43352009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4336
4337 Fix build with GNU gold.
4338
4339 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4340 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4341 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4342 link addresses.
4343 * aclocal.m4: Likewise.
4344
86e5b1db 43452009-11-04 Felix Zielcke <fzielcke@z-51.de>
4346
4347 * configure.ac (AC_PREREQ): Bump to 2.59d.
4348 * INSTALL: Make it more clear when Autoconf and Ruby are
4349 needed and when to run `./autogen.sh'.
4350
246cd78f 43512009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4352
4353 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4354 OSes.
4355
4f9dfb37 43562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4357
4358 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4359
b82bd5e1 43602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4361
4362 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4363 giving it to GNU Mach.
4364
ff1a9bca 43652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4366
4367 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4368 GNU partition number to get internal GRUB partition number.
4369
61697d9c 43702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4371
4372 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4373 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4374
a50569e1 43752009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4376
4377 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4378 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4379 case.
4380
5b153867 43812009-11-01 Felix Zielcke <fzielcke@z-51.de>
4382
4383 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4384
d9e2cd70 43852009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4386
4387 Fix build problem.
4388
4389 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4390 `-isystem=$(srcdir)/include'.
4391
805111a4 43922009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4393
4394 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4395 checked (grub-install doesn't currently rely on it).
4396
fa6e945f 43972009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4398
4399 Revert SVN r2660.
4400
4401 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4402 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4403 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4404 * conf/i386-ieee1275.rmk: Likewise.
4405 * conf/i386-pc.rmk: Likewise.
4406 * conf/powerpc-ieee1275.rmk: Likewise.
4407 * conf/sparc64-ieee1275.rmk: Likewise.
4408 * conf/x86_64-efi.rmk: Likewise.
4409
cee15086 44102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4411
4412 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4413
95b9239e 44142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4415
4416 * include/grub/misc.h: Stop checking for APPLE_CC.
4417
2ed19dfd 44182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4419
4420 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4421 doesn't cause an infinite call loop.
4422
fdcdde19 44232009-10-28 Felix Zielcke <fzielcke@z-51.de>
4424
4425 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4426 strings.
4427
cefabfe1 44282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4429
4430 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4431 variable.
4432 * Makefile.in: Likewise.
4433
ed96ab6d 44342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4435
4436 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4437
0579b753 44382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4439
4440 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4441
478df409 44422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4443
4444 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
4445
083d1679 44462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4447
4448 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
4449 from here ...
4450 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
4451
5947ae32 44522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4453
4454 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
4455 in $(MAKEINFO) invocation. This makes it clear in output that
4456 errors are being ignored.
4457
94180ff6 44582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4459
4460 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
4461 from here ...
4462 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4463 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4464 * conf/i386-ieee1275.rmk: Likewise.
4465 * conf/i386-pc.rmk: Likewise.
4466 * conf/powerpc-ieee1275.rmk: Likewise.
4467 * conf/sparc64-ieee1275.rmk: Likewise.
4468 * conf/x86_64-efi.rmk: Likewise.
4469
9031b03a 44702009-10-26 Colin Watson <cjwatson@ubuntu.com>
4471
4472 * util/grub-editenv.c (main): If only a command is given, use
4473 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4474 (usage): FILENAME is now optional and has a default.
4475
e4f6809b 44762009-10-26 Colin Watson <cjwatson@ubuntu.com>
4477
4478 Improve grub-mkconfig performance when there are several menu
4479 entries on a single filesystem.
4480
4481 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4482 prepare_grub_to_access_device.
4483 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4484 * util/grub.d/30_os-prober.in: Likewise.
4485
67937d4d 44862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4487
4488 * util/grub.d/10_freebsd.in: Remove.
4489 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4490 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4491
ee3756cc 44922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4493
5c35048e 4494 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4495
4dea1c6f 44962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4497
4498 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4499 grub_util_error() call.
4500
042484d7 45012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4502
4503 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4504 `reserved_first_sector' member.
4505 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4506 `reserved_first_sector' to 1.
4507 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4508 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4509 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4510 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4511 filesystems which begin at first sector.
4512 (options): New option --skip-fs-probe.
4513 (main): Handle --skip-fs-probe and pass it to setup().
4514
d64448a7 45152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4516
4517 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4518 (memset): Fix function prototype.
4519
508d42ec 45202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
45212009-10-25 Vasily Averin <vvs@parallels.com>
4522
4523 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
4524 `dirent.direntlen == 0'.
4525
b240e30c 45262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4527
4528 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
4529 `cpio'.
4530 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
4531
346e7fbe 45322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4533
4534 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
4535 `__trampoline_setup' and `__ucmpdi2'.
4536 * include/grub/powerpc/libgcc.h: Only export symbols for functions
4537 that libgcc provides.
4538
cdb308b0 45392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4540
4541 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
4542 * include/grub/sparc64/libgcc.h (memset): Likewise.
4543 * include/grub/misc.h (memset, memcmp): New function prototypes.
4544
fb26abc2 45452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4546
4547 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
4548 `cpio'.
4549 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
4550
f6693890 45512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4552
4553 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
4554 * docs/grub.cfg: Compensate for recent change in multiboot
4555 loader (since 2009-08-14 it won't pass filename to payload).
4556 * util/grub.d/10_hurd.in: Likewise.
4557
0933cdc0 45582009-10-21 Felix Zielcke <fzielcke@z-51.de>
4559
4560 * config.guess: Update to latest version from config git
4561 repository.
4562 * config.sub: Likewise.
4563
3b2fe8c2 45642009-10-20 Robert Millan <rmh.grub@aybabtu.com>
4565
4566 Fix build on sparc64.
4567
4568 * configure.ac: Perform checks for libgcc symbols before
4569 adding `-nostdlib' to LDFLAGS.
4570
46695a62 45712009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Let user specify OpenBSD root device.
4574
4575 * loader/i386/bsd.c (openbsd_root): New variable.
4576 (openbsd_opts): New option 'root'.
4577 (OPENBSD_ROOT_ARG): New macro.
4578 (grub_openbsd_boot): Use 'openbsd_root'.
4579 (grub_cmd_openbsd): Fill 'openbsd_root'.
4580
d2b6b7fc 45812009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4582
4583 * NEWS: Misc adjustments.
4584
421bd7ac 45852009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
4588
f1d29d87 45892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4590
4591 * configure.ac: Bump version to 1.97.
4592
6f3cd880 45932009-10-16 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
4596 -mno-3dnow on x86 architectures. Some toolchains enable these
4597 features by default, but they rely on registers that aren't enabled
4598 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
4599
035f7122 46002009-10-15 Robert Millan <rmh.grub@aybabtu.com>
4601
4602 Make entry text a bit more readable.
4603
4604 * util/grub.d/10_linux.in: Add `with' before `Linux'.
4605
44998e58 46062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
4609
cd2851b3 46102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
4613 operations.
4614
c6f3b249 46152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * configure.ac: Add missing dollar.
4618
6b5886ba 46192009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
4622
4623 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
4624 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
4625 exports.
4626 * include/grub/sparc64/libgcc.h: Likewise. Use
4627 preprocessor conditionals.
4628
e9d66f6d 46292009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4630
4631 * conf/common.rmk (grub-dumpbios): Remove rule.
4632 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
4633 * util/grub-dumpbios.in: Remove file.
4634
9155bc17 46352009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4636
4637 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
4638 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
4639
4640 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
4641 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
4642 users.
4643
4644 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
4645 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
4646 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
4647 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
4648 users.
4649
bf7f7a18 46502009-10-12 Robert Millan <rmh.grub@aybabtu.com>
4651
4652 * term/tparm.c: Switch to GPLv3.
4653
86564c26 46542009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4655
4656 * include/grub/i386/cpuid.h: Add header protection.
4657
5c936493 46582009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4659
4660 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4661
4662 * include/grub/i386/cpuid.h: New file.
4663 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
4664 (has_longmode): Rename to ...
4665 (grub_cpuid_has_longmode): ... this. Update all users. Remove
4666 `static' attribute.
4667 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
4668 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
4669 on a CPU that doesn't implement AMD64 instruction set.
4670
186e7cf2 46712009-10-06 Colin Watson <cjwatson@ubuntu.com>
4672
4673 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
4674 that version.texi is rebuilt on version number changes.
4675
83b65c4a 46762009-10-06 Colin Watson <cjwatson@ubuntu.com>
4677
4678 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
4679 Fixes bug #27602.
4680
d244281c 46812009-10-06 Colin Watson <cjwatson@ubuntu.com>
4682
4683 * util/i386/pc/grub-install.in: Source
4684 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
4685 that the --grub-probe option will work.
4686 * util/sparc64/ieee1275/grub-install.in: Likewise.
4687
da25306d 46882009-10-05 Robert Millan <rmh.grub@aybabtu.com>
4689
4690 * configure.ac: Bump version to 1.97~beta4.
4691
e8ee83c0 46922009-10-03 Robert Millan <rmh.grub@aybabtu.com>
4693
4694 Resync grub-mkdevicemap in x86_64-efi.
4695
4696 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
4697 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
4698 `util/devicemap.c'.
4699
50dcabcf 47002009-10-01 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * util/grub-editenv.c (create_envblk_file): Write new block with a
4703 .new suffix and then rename it into place, to ensure atomic
4704 creation.
4705
0e51c3a7 47062009-09-28 Robert Millan <rmh.grub@aybabtu.com>
4707
4708 Do not automatically install headers.
4709
4710 * Makefile.in (include_DATA): Remove. Update all users.
4711
31299a95 47122009-09-26 Robert Millan <rmh.grub@aybabtu.com>
4713
4714 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
4715 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
4716
4717 * util/osdetect.lua: Remove.
4718 * script/lua/lauxlib.c: Likewise.
4719 * script/lua/ldebug.c: Likewise.
4720 * script/lua/grub_main.c: Likewise.
4721 * script/lua/lauxlib.h: Likewise.
4722 * script/lua/ldebug.h: Likewise.
4723 * script/lua/ltablib.c: Likewise.
4724 * script/lua/liolib.c: Likewise.
4725 * script/lua/lstrlib.c: Likewise.
4726 * script/lua/lualib.h: Likewise.
4727 * script/lua/ldo.c: Likewise.
4728 * script/lua/ldump.c: Likewise.
4729 * script/lua/ldo.h: Likewise.
4730 * script/lua/loslib.c: Likewise.
4731 * script/lua/lundump.c: Likewise.
4732 * script/lua/grub_lib.c: Likewise.
4733 * script/lua/ldblib.c: Likewise.
4734 * script/lua/lundump.h: Likewise.
4735 * script/lua/lmem.c: Likewise.
4736 * script/lua/grub_lib.h: Likewise.
4737 * script/lua/lmathlib.c: Likewise.
4738 * script/lua/lstate.c: Likewise.
4739 * script/lua/ltm.c: Likewise.
4740 * script/lua/lvm.c: Likewise.
4741 * script/lua/lmem.h: Likewise.
4742 * script/lua/lstate.h: Likewise.
4743 * script/lua/ltm.h: Likewise.
4744 * script/lua/ltable.c: Likewise.
4745 * script/lua/lvm.h: Likewise.
4746 * script/lua/llex.c: Likewise.
4747 * script/lua/lgc.c: Likewise.
4748 * script/lua/grub_lua.h: Likewise.
4749 * script/lua/loadlib.c: Likewise.
4750 * script/lua/lfunc.c: Likewise.
4751 * script/lua/lopcodes.c: Likewise.
4752 * script/lua/lparser.c: Likewise.
4753 * script/lua/ltable.h: Likewise.
4754 * script/lua/llex.h: Likewise.
4755 * script/lua/lgc.h: Likewise.
4756 * script/lua/lfunc.h: Likewise.
4757 * script/lua/lbaselib.c: Likewise.
4758 * script/lua/lopcodes.h: Likewise.
4759 * script/lua/lparser.h: Likewise.
4760 * script/lua/lzio.c: Likewise.
4761 * script/lua/linit.c: Likewise.
4762 * script/lua/lobject.c: Likewise.
4763 * script/lua/llimits.h: Likewise.
4764 * script/lua/lstring.c: Likewise.
4765 * script/lua/lzio.h: Likewise.
4766 * script/lua/lapi.c: Likewise.
4767 * script/lua/lcode.c: Likewise.
4768 * script/lua/lua.h: Likewise.
4769 * script/lua/lobject.h: Likewise.
4770 * script/lua/lstring.h: Likewise.
4771 * script/lua/lapi.h: Likewise.
4772 * script/lua/lcode.h: Likewise.
4773 * script/lua/luaconf.h: Likewise.
4774
cb8a2c38 47752009-09-26 Colin Watson <cjwatson@ubuntu.com>
4776
4777 * docs/grub.texi (Command-line and menu entry commands): Document
4778 date and echo commands.
4779
6b9b6276 47802009-09-24 Pavel Roskin <proski@gnu.org>
4781
4782 * include/grub/kernel.h (struct grub_module_header): Remove
4783 `grub_module_header_types'. Make `type' unsigned. Make `size'
4784 32-bit on all platforms.
4785 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
4786 8-bit field. Use grub_host_to_target32() for `size'.
4787 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
4788 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
4789 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
4790
4e5a02a7 47912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4792
4793 Fix "lost keypress" bug in at_keyboard.
4794
4795 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
4796 Checks for readyness of input buffer (without flushing it).
4797 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
4798 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
4799
c6dcedf6 48002009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4801
4802 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
4803 size check within GRUB_MACHINE_PCBIOS section.
4804
74c958b1 48052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4806
4807 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
4808 return value.
4809 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
4810 KEYBOARD_ISREADY check.
4811 (grub_at_keyboard_checkkey): Rename to ...
4812 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
4813 Remove gratuitous cast.
4814
ff420223 48152009-09-23 Colin Watson <cjwatson@ubuntu.com>
4816
4817 * configure.ac: Call AC_PROG_MKDIR_P.
4818 * Makefile.in (docs/stamp-vti): Create docs directory. Create
4819 version.texi in $(builddir) rather than $(srcdir).
4820 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
4821 to makeinfo's @include search path.
4822
d96875df 48232009-09-23 Felix Zielcke <fzielcke@z-51.de>
4824
4825 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
4826
9b3f8365 48272009-09-23 Felix Zielcke <fzielcke@z-51.de>
4828
4829 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
4830 for `*.dpkg-new'.
4831
c44c90db 48322009-09-21 Colin Watson <cjwatson@ubuntu.com>
4833
4834 Build info documentation. Some code borrowed from Automake.
4835
4836 * configure.ac: Check for makeinfo.
4837 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
4838 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
4839 docs/version.texi.
4840 (MOSTLYCLEANFILES): Add vti.tmp.
4841 (docs/version.texi, docs/stamp-vti): Update automatically.
4842 (docs/grub.info): Build info documentation. Use --force and ignore
4843 errors for now.
4844 (all-local): Add $(INFOS).
4845 (install-local): Install info files.
4846 (uninstall): Uninstall info files.
4847 * docs/version.texi: Remove from revision control. This file is
4848 automatically generated on build now.
4849 * gendistlist.sh: Add `*.info'.
4850
e0b37bb5 48512009-09-21 Felix Zielcke <fzielcke@z-51.de>
4852
4853 * kern/term.c: Fix indentation.
4854
5a78865b 48552009-09-21 Felix Zielcke <fzielcke@z-51.de>
4856
4857 * util/hostdisk.c: Fix a comment.
4858
dace7e8a 48592009-09-20 Robert Millan <rmh.grub@aybabtu.com>
4860
4861 Fix regression introduced in r2539.
4862
4863 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
4864 to 0xA1.
4865
a83d079b 48662009-09-19 Colin Watson <cjwatson@ubuntu.com>
4867
4868 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 4869 os-prober. Under normal operation, it does not print anything to
4870 stderr; if it does, we need to debug it, and throwing away stderr
4871 makes that excessively difficult.
a83d079b 4872
be94a509 48732009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
4876
63f745e8 48772009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4878
4879 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
4880 AC_LANG_PROGRAM from autoconf.
4881 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
4882 prototypes (fixes warning).
4883
4884 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
4885 `--disable-werror' was used.
4886
bbb2a70f 48872009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4888
4889 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
4890 uninitialized `lastaddr'.
4891
77c24f1d 48922009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4893
0f0b8c87 4894 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 4895
07197f23 48962009-09-14 Colin Watson <cjwatson@ubuntu.com>
4897
4898 * commands/test.c (get_fileinfo): Return immediately if
4899 grub_fs_probe fails.
4900
dabf1798 49012009-09-14 José Martínez <xosemp@gmail.com>
4902
4903 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
4904
d52109a7 49052009-09-14 Colin Watson <cjwatson@ubuntu.com>
4906
4907 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
4908 output.
4909
56532179 49102009-09-13 Robert Millan <rmh.grub@aybabtu.com>
4911
4912 * configure.ac: Remove --enable-grub-pe2elf. Only build
4913 grub-pe2elf when needed by the build system itself.
4914 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
4915
8ef070f5 49162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4917
4918 * configure.ac: Bump version to 1.97~beta3.
4919 * docs/version.texi: Likewise.
4920
61229557 49212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4922
4923 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
4924 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
4925 from here ...
4926 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
4927 (grub_linux_setup_video): ... to here (with some adjustments).
4928
5c9f8d84 49292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4930
4931 Fix memory corruption issue (spotted by Colin Watson).
4932
4933 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
4934 causing returned size to be stored in an incorrect memory location.
4935 Fix use of uninitialized value when storing the returned size.
4936
e8f5d6e9 49372009-09-12 Yves Blusseau <blusseau@zetam.org>
4938
4939 Change clean rules to properly remove files
4940
4941 * genmk.rb: add new clean rules
4942 * Makefile.in (clean): add the new targets
4943 (mostlyclean): likewise
4944
cda2a409 49452009-09-11 Colin Watson <cjwatson@ubuntu.com>
4946
4947 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
4948 to grub_uint64_t.
4949 * fs/ntfs.c (init_file): Understand 64-bit sizes for
4950 non-resident files.
4951
86695375 49522009-09-11 Colin Watson <cjwatson@ubuntu.com>
4953
4954 * configure.ac: Don't look for help2man when cross-compiling. Fixes
4955 part of bug #27349.
4956
8aa1541a 49572009-09-10 Felix Zielcke <fzielcke@z-51.de>
4958
4959 * util/grub-mkconfig.in: Make the created config mode 400 and
4960 print a warning if it fails.
4961
48d9bb0a 49622009-09-10 Robert Millan <rmh.grub@aybabtu.com>
4963
4964 * util/grub.d/40_custom.in: Ask user to type custom entries below
4965 comment, rather than below 'exec tail' line.
4966
3b0521be 49672009-09-10 Colin Watson <cjwatson@ubuntu.com>
4968
4969 * util/grub.d/40_custom.in: Make sure that the explanatory text is
4970 visible in grub.cfg.
4971
50051d55 49722009-09-10 Colin Watson <cjwatson@ubuntu.com>
4973
4974 * util/grub.d/40_custom.in: Make it a little clearer how to use this
4975 file.
4976
c0d34387 49772009-09-10 Felix Zielcke <fzielcke@z-51.de>
4978
4979 * docs/grub.cfg: Add an example menu entry for memtest86+.
4980
80a608f3 49812009-09-09 Felix Zielcke <fzielcke@z-51.de>
4982
a2094832 4983 * config.guess: Update to latest version from config git.
80a608f3 4984 * config.sub: Likewise.
4985
99423078 49862009-09-08 Colin Watson <cjwatson@ubuntu.com>
4987
4988 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
4989 unknown-command case. Fixes bug #27320.
4990
44454e4c 49912009-09-08 Felix Zielcke <fzielcke@z-51.de>
4992
4993 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
4994 `help' if the command exists.
4995
e30d87ad 49962009-09-06 Robert Millan <rmh.grub@aybabtu.com>
4997
4998 * INSTALL: Require GCC 4.1.3 or later.
4999
9a86f1ec 50002009-09-06 Yves Blusseau <blusseau@zetam.org>
5001
5002 * Makefile.in (RMKFILES): add i386-qemu.rmk
5003 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
5004 $(srcdir)/stamp-h.in
5005
7f26d466 50062009-09-05 Robert Millan <rmh.grub@aybabtu.com>
5007
5008 * util/grub-probe.c (probe): Comment out buggy codepath, which
5009 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
5010 should be re-enabled after 1.97.
5011
3a613259 50122009-09-05 Felix Zielcke <fzielcke@z-51.de>
5013
5014 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
5015 find searches for.
5016
197f76c7 50172009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
5020 unnecessary calls to grub_error.
5021
70ba68ce 50222009-09-04 Colin Watson <cjwatson@ubuntu.com>
5023
5024 * NEWS: Mention `keystatus' and Unicode fonts.
5025
4ff0d7a4 50262009-09-04 Robert Millan <rmh.grub@aybabtu.com>
5027
5028 * configure.ac: Bump version to 1.97~beta2.
5029 * docs/version.texi: Likewise.
5030
77c55a87 50312009-09-03 Colin Watson <cjwatson@ubuntu.com>
5032
5033 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
5034 containing unwind information in some cases where it previously did
5035 not. Use -fno-dwarf2-cfi-asm if available to restore the old
5036 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
5037 discussion.
5038
f79572cd 50392009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
5040
5041 Embedding loadenv module into grub-emu
5042
5043 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
5044 commands/loadenv.c
5045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
5046 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
5047 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
5048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
5049 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
5050 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
5051
93a81088 50522009-09-03 Magnus Granberg <zorry@ume.nu>
5053
5054 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
5055 include -fPIE in the default specs.
5056 * configure.ac: Check if pie_possible is yes and add -fno-PIE
5057 to TARGET_CFLAGS.
5058
160034b2 50592009-09-03 Felix Zielcke <fzielcke@z-51.de>
5060
5061 * INSTALL: Note that GNU Bison 2.3 or later is required.
5062
087c07c4 50632009-09-03 Colin Watson <cjwatson@ubuntu.com>
5064
5065 * kern/i386/pc/startup.S: Fix typo.
5066
cbf978c0 50672009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
5070 according to GCS.
5071
50722009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 5073
5074 * docs/grub.texi (Naming convention): Describe one-based partition
5075 numbering.
5076 (Device syntax): Likewise.
5077 (File name syntax): Likewise.
5078 (Block list syntax): Likewise.
5079 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
5080 menu.lst.
5081 (File name syntax): Likewise.
5082 (Command-line and menu entry commands): Document acpi, blocklist,
5083 crc, export, insmod, keystatus, ls, set, and unset commands.
5084
f3e8cdfd 50852009-09-02 Colin Watson <cjwatson@ubuntu.com>
5086
5087 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
5088 to avoid implying that only one of --shift, --ctrl, or --alt may be
5089 used.
5090
c0bc232b 50912009-09-02 Colin Watson <cjwatson@ubuntu.com>
5092
5093 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
5094 rather than comparing against S_IFREG, which will almost never work.
5095
aa0f752d 50962009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
5099 (write_blocklists): Likewise.
5100
ecb3166a 51012009-09-01 Colin Watson <cjwatson@ubuntu.com>
5102
5103 * script/lua/grub_lua.h (fputs): Supply a format string as the first
5104 argument to grub_printf.
5105
c403a125 51062009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 5107
5108 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 5109 non GNU test.
31aba781 5110
b5e7312c 51112009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * kern/file.c (grub_file_read): Spelling fix
5114
fe00f472 51152009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
5118 loading of headers in some cases.
5119
cc55302e 51202009-08-30 Robert Millan <rmh.grub@aybabtu.com>
5121
5122 * configure.ac: Bump version to 1.97~beta1.
5123 * docs/version.texi: Likewise.
5124
5c90cdd2 51252009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 5126
5127 * include/grub/i386/xnu.h: Add license header.
5128 include grub/err.h explicitly.
5129
c90edae4 51302009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5131
5132 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
5133 to `ufs' in the vfs.root.mountfrom kernel parameter.
5134
d8888b5c 51352009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5136
5137 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
5138
5139 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
5140 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
5141
5142 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
5143 `ARRAY_SIZE' macro.
5144
6f07b921 51452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * kern/file.c (grub_file_read): Check offset.
5148 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
5149 * fs/jfs.c (grub_jfs_read_file): Likewise.
5150 * fs/ntfs.c (grub_ntfs_read): Likewise.
5151 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
5152 * fs/minix.c (grub_minix_read_file): Correct offset check.
5153 * fs/ufs.c (grub_ufs_read_file): Likewise.
5154
b4f34077 51552009-08-28 Colin Watson <cjwatson@ubuntu.com>
5156
5157 * term/i386/pc/console.c (bios_data_area): Cast
5158 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
5159
e7c69859 51602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 1-bit optimised blitters.
5163
5164 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
5165 prototype.
5166 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5167 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5168 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5169 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5170 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5171 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5172 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
5173 function.
5174 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5175 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5176 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5177 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5178 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5179 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5180 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
5181 when possible.
5182 * video/video.c (grub_video_get_blit_format): Return
5183 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
5184
a57da43f 51852009-08-28 Colin Watson <cjwatson@ubuntu.com>
5186
5187 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
5188 the first argument to grub_printf.
5189
4cbe67e5 51902009-08-28 Colin Watson <cjwatson@ubuntu.com>
51912009-08-28 Robert Millan <rmh.grub@aybabtu.com>
5192
5193 Add `getkeystatus' terminal method. Add a new `keystatus' command
5194 to query it.
5195
5196 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
5197 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
5198 modifier key bitmasks.
5199 (struct grub_term_input): Add `getkeystatus' member.
5200 (grub_getkeystatus): Add prototype.
5201 * kern/term.c (grub_getkeystatus): New function.
5202
5203 * include/grub/i386/pc/memory.h
5204 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
5205 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
5206 Data Area layout.
5207 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
5208 (grub_console_term_input): Set `getkeystatus' member.
5209 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
5210 constants.
5211 (grub_usb_keyboard_getreport): Likewise.
5212 (grub_usb_keyboard_checkkey): Likewise.
5213 (grub_usb_keyboard_getkeystatus): New function.
5214 (grub_usb_keyboard_term): Set `getkeystatus' member.
5215
5216 * commands/keystatus.c: New file.
5217 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
5218 (keystatus_mod_SOURCES): New variable.
5219 (keystatus_mod_CFLAGS): Likewise.
5220 (keystatus_mod_LDFLAGS): Likewise.
5221 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
5222 commands/keystatus.c.
5223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5225 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5228 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 5229
6e2a9085 52302009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 Split befs.mod and afs.mod into *_be.mod and *.mod
5233
5234 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
5235 (grub_fstest_SOURCES): Likewise.
5236 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
5237 (afs_be_mod_SOURCES): New variable.
5238 (afs_be_mod_CFLAGS): Likewise.
5239 (afs_be_mod_LDFLAGS): Likewise.
5240 (befs_be_mod_SOURCES): Likewise.
5241 (befs_be_mod_CFLAGS): Likewise.
5242 (befs_be_mod_LDFLAGS): Likewise.
5243 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
5244 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5245 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5246 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5247 (grub_emu_SOURCES): Likewise.
5248 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5249 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5250 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5251 * fs/afs_be.c: New file.
5252 * fs/befs_be.c: New file.
5253 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
5254 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
5255 (U16): Replaced with ...
5256 (grub_afs_to_cpu16): ...this. All users updated.
5257 (U32): Replaced with ...
5258 (grub_afs_to_cpu32): ...this. All users updated.
5259 (U64): Replaced with ...
5260 (grub_afs_to_cpu64): ...this. All users updated.
5261 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
5262 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 5263 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 5264 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5265 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5266 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5267 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5268 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5269 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5270 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5271 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5272
32a71655 52732009-08-26 Bean <bean123ch@gmail.com>
5274
5275 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5276 64-bit number.
5277 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5278 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5279 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5280
552bf6c5 52812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 NetBSD memory map support.
5284
5285 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5286 (grub_netbsd_btinfo_mmap_header): New structure.
5287 (grub_netbsd_btinfo_mmap_entry): Likewise.
5288 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5289
1ae2078c 52902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 Enable bsd.mod on coreboot.
5293
5294 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5295 (bsd_mod_SOURCES): New variable.
5296 (bsd_mod_CFLAGS): Likewise.
5297 (bsd_mod_LDFLAGS): Likewise.
5298 (bsd_mod_ASFLAGS): Likewise.
5299 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5300 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5301
beefc598 53022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 Cleanup NetBSD root support.
5305
5306 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5307 grub_bsd_get_device.
5308 Fix typo.
5309
3b76e68b 53102009-08-25 Felix Zielcke <fzielcke@z-51.de>
5311
5312 * util/grub.d/00_header.in: Move check for the video backend of
5313 gfxterm from here ...
5314 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5315 a suitable video backend.
5316
aea664ea 53172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 Fix breakage in grub-setup.
5320
5321 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5322 "msdos_partition_map".
5323
ff747d50 53242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 Fix breakage in normal/auth.c.
5327
5328 * normal/auth.c (grub_iswordseparator): New function.
5329
e7e1f93f 53302009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 Authentication support.
5333
5334 * commands/password.c: New file.
5335 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5336 (password_mod_SOURCES): New variable.
5337 (password_mod_CFLAGS): Likewise.
5338 (password_mod_LDFLAGS): Likewise.
5339 (normal_mod_SOURCES): Add normal/auth.c.
5340 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5341 normal/auth.c.
5342 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5343 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5344 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5346 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5347 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5348 * include/grub/auth.h: New file.
5349 * include/grub/err.h (grub_err_t): New enum value
5350 GRUB_ERR_ACCESS_DENIED.
5351 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5352 'users'.
5353 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5354 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5355 users updated.
5356 * normal/auth.c: New file.
5357 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5358 (grub_cmdline_run): Don't allow to go to command line without
5359 authentication.
5360 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5361 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5362 menuentry without superuser rights.
5363 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5364 user isn't a superuser.
5365
70f1161d 53662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 Save space by inlining misc.c functions.
5369
5370 * kern/misc.c (grub_iswordseparator): Made static.
5371 * kern/misc.c (grub_strcat): Moved from here ...
5372 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5373 * kern/misc.c (grub_strncat): Moved from here ...
5374 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5375 * kern/misc.c (grub_strcasecmp): Moved from here ...
5376 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5377 * kern/misc.c (grub_strncasecmp): Moved from here ...
5378 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5379 * kern/misc.c (grub_isalpha): Moved from here ...
5380 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5381 * kern/misc.c (grub_isdigit): Moved from here ...
5382 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5383 * kern/misc.c (grub_isgraph): Moved from here ...
5384 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5385 * kern/misc.c (grub_tolower): Moved from here ...
5386 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5387
48e40bff 53882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * script/sh/function.c (grub_script_function_find): Cut error message
5391 not to flood terminal.
5392 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5393 limit.
5394 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5395
c385bfc3 53962009-08-24 Colin Watson <cjwatson@ubuntu.com>
5397
5398 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5399 `report' grub_uint8_t *.
5400 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5401 Use a 50-millisecond timeout rather than just repeating
5402 grub_usb_keyboard_getreport 50 times.
5403 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5404
2d21e3e8 54052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 Rename *_partition_map to part_*
5408
5409 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5410 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5411 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5412 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5413 All users updated.
5414 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5415 All users updated.
5416 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5417 * util/grub-probe.c (probe_partmap): Don't transform partition name
5418 to get module name.
5419
dd103c4e 54202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 Fix OpenBSD and NetBSD support.
5423
5424 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5425 memory address conflict.
5426 (OPENBSD_MMAP_ACPI): New definition.
5427 (OPENBSD_MMAP_NVS): Likewise.
5428 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5429 and OPENBSD_MMAP_NVS.
5430 Add memory map terminator
5431 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 5432 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 5433
16c84d74 54342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 Let user specify NetBSD root device.
5437
5438 * loader/i386/bsd.c (netbsd_root): New variable.
5439 (netbsd_opts): New option 'root'.
5440 (NETBSD_ROOT_ARG): New macro.
5441 (grub_netbsd_boot): Use 'netbsd_root'.
5442 (grub_bsd_unload): Free 'netbsd_root'.
5443 (grub_cmd_netbsd): Fill 'netbsd_root'.
5444
adb29902 54452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 Support for 64-bit NetBSD.
5448
5449 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
5450 point when booting non-FreeBSD.
5451
f5ae9f74 54522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 Support --no-smp and --no-acpi for NetBSD.
5455
5456 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
5457 (NETBSD_AB_NOACPI): Likewise.
5458 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
5459 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
5460
de74f136 54612009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5464 errors.
5465 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5466 errors. Call grub_error when needed.
5467
e9a925da 54682009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * commands/search.c (search_fs): Try searching without autoload first.
5471 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5472 filesystem module explicitly for faster booting.
5473
5174302b 54742009-08-23 Colin Watson <cjwatson@ubuntu.com>
5475
5476 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5477
c8c80635 54782009-08-23 Colin Watson <cjwatson@ubuntu.com>
5479
5480 * util/grub.d/30_os-prober.in: Disable os-prober if
5481 `GRUB_DISABLE_OS_PROBER' was set to true.
5482
71acf5e5 54832009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5484
5485 * partmap/pc.c: Rename to ...
5486 * partmap/msdos.c: ... this. Update all users.
5487 (grub_pc_partition_map): Rename to ...
5488 (grub_msdos_partition_map): ... this. Update all users.
5489
5490 * parttool/pcpart.c: Rename to ...
5491 * parttool/msdospart.c: ... this. Update all users.
5492
5493 * include/grub/pc_partition.h: Rename to ...
5494 * include/grub/msdos_partition.h: ... this. Update all users.
5495 (grub_pc_partition_bsd_entry): Rename to ...
5496 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5497 (grub_pc_partition_disk_label): Rename to ...
5498 (grub_msdos_partition_disk_label): ... this. Update all users.
5499 (grub_pc_partition_entry): Rename to ...
5500 (grub_msdos_partition_entry): ... this. Update all users.
5501 (grub_pc_partition_mbr): Rename to ...
5502 (grub_msdos_partition_mbr): ... this. Update all users.
5503 (grub_pc_partition): Rename to ...
5504 (grub_msdos_partition): ... this. Update all users.
5505 (grub_pc_partition_is_empty): Rename to ...
5506 (grub_msdos_partition_is_empty): ... this. Update all users.
5507 (grub_pc_partition_is_extended): Rename to ...
5508 (grub_msdos_partition_is_extended): ... this. Update all users.
5509 (grub_pc_partition_is_bsd): Rename to ...
5510 (grub_msdos_partition_is_bsd): ... this. Update all users.
5511
5512 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5513 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5514 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5515 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5516 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5517 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5518 (gpt_mod_LDFLAGS): Rename to ...
5519 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5520 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
5521 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
5522 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
5523 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
5524 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
5525 (part_gpt_mod_LDFLAGS): ... this.
5526 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
5527 `pcpart.mod' to `msdospart.mod'.
5528 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
5529 to ...
5530 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
5531 (msdospart_mod_LDFLAGS): ... this.
5532
c11fded5 55332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
5536 (openbsd_opts): Likewise.
5537 (netbsd_opts): Likewise.
5538 (freebsd_flags): Added 0 terminator.
5539 (openbsd_flags): Likewise.
5540 (netbsd_flags): Likewise.
5541 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
5542 (grub_cmd_freebsd): Transformed into extended command.
5543 (grub_cmd_openbsd): Likewise.
5544 (grub_cmd_netbsd): Likewise.
5545 (cmd_freebsd): Changed type to grub_extcmd_t.
5546 (cmd_openbsd): Likewise.
5547 (cmd_netbsd): Likewise.
5548 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
5549 grub_cmd_openbsd as extended commands.
5550 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
5551 cmd_netbsd and cmd_openbsd
5552
11d1c769 55532009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
5556
7a9094e5 55572009-08-21 Pavel Roskin <proski@gnu.org>
5558
5496c37e 5559 * Makefile.in (install-local): When checking if a file is in the
5560 build directory, use "test -e" to detect symlinks.
5561
7a9094e5 5562 * Makefile.in (install-local): Remove all files in
5563 $(DESTDIR)$(pkglibdir) before installing new files there.
5564
e53cea11 55652009-08-18 Felix Zielcke <fzielcke@z-51.de>
5566
5567 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
5568 grub-mkelfimage.
5569
9aced544 55702009-08-18 Felix Zielcke <fzielcke@z-51.de>
5571
5572 * util/grub-mkconfig.in: Don't use gfxterm by default if not
5573 explicitly specified by the user.
5574
b7da6bab 55752009-08-18 Pavel Roskin <proski@gnu.org>
5576
5577 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
5578 grub_uint8_t pointer for data.
5579 * include/grub/fbutil.h (struct grub_video_fbblit_info):
5580 Likewise.
5581 * video/fb/fbutil.c: Remove unnecessary casts.
5582
19f1b335 55832009-08-17 Michal Suchanek <hramrach@centrum.cz>
5584
5585 VBE cleanup.
5586
5587 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
5588 (grub_vbe_set_video_mode): Save active mode info
5589 only after setting the mode.
5590 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
5591 second argument.
5592
2f467aa9 55932009-08-17 Michal Suchanek <hramrach@centrum.cz>
5594
5595 Rename variables for clarity.
5596
5597 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
5598 (active_vbe_mode_info): ... this. All users updated.
5599 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
5600 All users updated.
5601 (initial_mode): Rename to ...
5602 (initial_vbe_mode): ... this. All users updated.
5603 (mode_in_use): Rename to ..
5604 (vbe_mode_in_use): ... this. All users updated.
5605 (mode_list): Rename to ..
5606 (vbe_mode_list): ... this. All users updated.
5607 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
5608 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
5609 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
5610 'mode_list_size' to 'vbe_mode_list_size'.
5611 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
5612 'best_mode_info' to 'best_vbe_mode_info' and
5613 'best_mode' to 'best_vbe_mode'
5614
6025fcd7 56152009-08-17 Michal Suchanek <hramrach@centrum.cz>
5616
5617 Remove duplicate grub_video_fb_get_video_ptr.
5618
5619 * include/grub/fbutil.h (get_data_ptr): Rename to ...
5620 (grub_video_fb_get_video_ptr): ... this.
5621 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
5622 * video/fb/fbutil.c: Add comment about addressing.
5623 (get_data_ptr): Rename to ...
5624 (grub_video_fb_get_video_ptr): ... this. All users updated.
5625 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
5626
cc8c6faf 56272009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5628
5629 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
5630 grub_dprintf() that was just added.
5631
08aa61f0 56322009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5633
5634 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
5635 (DEFAULT_VIDEO_MODE): Remove macros.
5636 (grub_linux_boot): Remove assumption that Linux has FB support,
5637 and use "text" as default video mode.
5638
7cef4f75 56392009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
5642 grub_dprintf.
5643 * fs/fat.c (grub_fat_read_data): Likewise.
5644
e1f39873 56452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
5648 payload.
5649 (grub_module): Likewise.
5650
c166d79e 56512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
5654 mbi->cmdline but free playground.
5655
c60cee8e 56562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 Handle group offset on UFS1.
5659
5660 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5661 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
5662
c0d8b5d4 56632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 Split ufs.mod into ufs1.mod and ufs2.mod.
5666
5667 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
5668 (grub_fstest_SOURCES): Likewise.
5669 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
5670 (ufs_mod_SOURCES): Remove.
5671 (ufs_mod_CFLAGS): Likewise.
5672 (ufs_mod_LDFLAGS): Likewise.
5673 (ufs1_mod_SOURCES): New variable.
5674 (ufs1_mod_CFLAGS): Likewise.
5675 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 5676 (ufs2_mod_SOURCES): New variable.
5677 (ufs2_mod_CFLAGS): Likewise.
5678 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 5679 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
5680 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5681 Likewise.
5682 (grub_emu_SOURCES): Likewise.
5683 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5684 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5685 (grub_setup_SOURCES): Likewise.
5686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5687 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
5688 (grub_setup_SOURCES): Likewise.
5689 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5690 Likewise.
5691 * fs/ufs2.c: New file.
5692 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
5693
d3539132 56942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Framebuffer split.
5697
5698 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
5699 subsystem at the end.
5700 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
5701 (video_fb_mod_SOURCES): New variable.
5702 (video_fb_mod_CFLAGS): Likewise.
5703 (video_fb_mod_LDFLAGS): Likewise.
5704 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
5705 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
5706 * video/i386/pc/vbeblit.c: Moved from here ...
5707 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
5708 * video/i386/pc/vbefill.c: Moved from here ...
5709 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
5710 * video/i386/pc/vbeutil.c: Moved from here ...
5711 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
5712 * include/grub/i386/pc/vbeblit.h: Moved from here ...
5713 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
5714 * include/grub/i386/pc/vbefill.h: Moved from here ...
5715 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
5716 * include/grub/i386/pc/vbeutil.h: Moved from here ...
5717 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
5718 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
5719 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
5720 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
5721 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
5722 (grub_video_adapter): Added 'get_info_and_fini'.
5723 (grub_video_get_info_and_fini): New prototype.
5724 (grub_video_set_mode): make modestring const char *.
5725 * loader/i386/linux.c (grub_linux_setup_video): Use
5726 grub_video_get_info_and_fini.
5727 (grub_linux_boot): Move modesetting just before booting.
5728 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
5729 grub_video_get_info_and_fini.
5730 * video/i386/pc/vbe.c: Moved framebuffer part ...
5731 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
5732 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
5733 grub_video_fbstd_colors and grub_video_fb_set_palette.
5734 (grub_video_vbe_init): Clear 'framebuffer' variable and use
5735 grub_video_fb_init.
5736 (grub_video_vbe_fini): Use grub_video_fb_fini.
5737 (grub_video_vbe_setup): Use framebuffer.render_target instead of
5738 render_target and use grub_video_fb_set_active_render_target and
5739 grub_video_fb_set_palette.
5740 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
5741 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
5742 (grub_video_vbe_adapter): Use framebuffer.
5743 * video/video.c (grub_video_get_info_and_fini): New function.
5744 (grub_video_set_mode): Make modestring const char *.
5745 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
5746 values are already initialised.
5747
d404ee56 57482009-08-14 Pavel Roskin <proski@gnu.org>
5749
5750 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
5751 ABS and APPLE_CC.
5752 * boot/i386/pc/diskboot.S: Likewise.
5753 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
5754 sectors allow compilation on MacOSX.
5755 * conf/i386-pc.rmk: Enable unconditional compilation of
5756 lnxboot.img.
5757
9a10df16 57582009-08-13 Colin Watson <cjwatson@ubuntu.com>
5759
5760 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
5761 * util/grub.d/00_header.in: Enter interruptible sleep if
5762 GRUB_HIDDEN_TIMEOUT is set.
5763
be3c9ca7 57642009-08-13 Yves Blusseau <blusseau@zetam.org>
5765
5766 * include/grub/symbol.h: Add the LOCAL macro.
5767 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
5768 starting with "L_".
5769
1f9e557e 57702009-08-13 Pavel Roskin <proski@gnu.org>
5771
9ca62843 5772 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
5773 any modern compilers we support.
5774
1f9e557e 5775 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
5776 Use local labels starting with "L_" so that Apple assembler
5777 knows they are local.
5778
81623db6 57792009-08-10 Robert Millan <rmh.grub@aybabtu.com>
5780
5781 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
5782 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
5783 (bsd_kernel_types): ... this enum.
5784
5785 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
5786 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
5787 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
5788
5789 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
5790 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
5791 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
5792 messages.
5793
f5d35e7a 57942009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5795
5796 * util/grub-dumpdevtree: Moved from here ...
5797 * util/i386/efi/grub-dumpdevtree: ... to here.
5798 (hexify): New function. Converts a string to its hex version.
5799 Generate hex versions of "efi" and "device-properties" by calling
5800 hexify() on the ASCII strings rather than by hardcoding numbers.
5801
d1e1d527 58022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5803
5804 * fs/jfs.c: Update copyright year.
5805
1ebbe064 58062009-08-08 Felix Zielcke <fzielcke@z-51.de>
5807
5808 * util/grub.d/00_header.in: Fix a comment.
5809 * util/grub.d/10_linux.in: Likewise.
5810 * util/grub.d/10_windows.in: Likewise.
5811 * util/grub.d/10_hurd.in: Likewise.
5812
a78c8d24 58132009-08-08 Felix Zielcke <fzielcke@z-51.de>
5814
5815 * util/grub-mkconfig.in: Allow the user to specify the used font
5816 with GRUB_FONT.
5817
29a6b9e8 58182009-08-08 Pavel Roskin <proski@gnu.org>
5819
b5f16cc4 5820 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
5821 available, xfs.mod needs it now.
5822
2f5cb827 5823 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
5824 the "g" modifier in sed when the intention is to strip something
5825 once. This fixes comparison of kernels with multiple dashes.
5826
29a6b9e8 5827 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
5828 on it. Add missing space before closing bracket. Fix
5829 misleading formatting.
5830
892a3d98 58312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5832
5833 * docs/grub.texi: Major overhaul. Remove all sections that are
5834 specific to GRUB Legacy, or mostly composed of Legacy-specific
5835 information.
5836
ed94253f 58372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5838
5839 * docs/version.texi: New file. Provides version information for
5840 grub.texi.
5841
126d6628 58422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5843
5844 * docs/grub.texi: Update CVS information to SVN.
5845 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
5846
998b5aa9 58472009-08-07 Felix Zielcke <fzielcke@z-51.de>
5848
5849 * util/grub-mkconfig.in: Remove a wrong `fi'.
5850
818e094a 58512009-08-07 Felix Zielcke <fzielcke@z-51.de>
5852
5853 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
5854 (grub_jfs_uuid): New function.
5855 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
5856
b969c52f 58572009-08-07 Felix Zielcke <fzielcke@z-51.de>
5858
5859 * util/grub-mkconfig_lib.in (font_path): Move the functionality
5860 of it to ...
5861 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
5862 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
5863
7a4894cc 58642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5865
5866 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
5867 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
5868 Update all users.
5869
5870 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
5871 not just "vmlinu[zx]".
5872 Moved from here ...
5873 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
5874 all users.
5875
5876 * util/grub.d/10_linux.in (find_latest): Moved from here ...
5877 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
5878 all users.
5879
4e2171f8 58802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5881
5882 * util/grub.d/10_freebsd.in: Use an absolute device path for
5883 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
5884
6dcfcb32 58852009-08-06 Felix Zielcke <fzielcke@z-51.de>
5886
5887 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5888 handling of multiple abstraction modules.
5889
f56a8756 58902009-08-04 Robert Millan <rmh.grub@aybabtu.com>
5891
5892 Fix a bug resulting in black screen when loading Linux using a
5893 packed video mode.
5894
5895 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
5896 function.
5897
5898 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
5899 (grub_vbe_bios_getset_dac_palette_width): New function.
5900 (grub_vbe_bios_get_dac_palette_width)
5901 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
5902 grub_vbe_bios_getset_dac_palette_width()).
5903
5904 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
5905 check for return status.
5906 (grub_vbe_get_video_mode_info): When getting information for a packed
5907 mode (<= 8 bpp), obtain DAC palette width using
5908 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
5909 {red,green,blue}_mark_size.
5910
222671b2 59112009-08-04 Felix Zielcke <fzielcke@z-51.de>
5912
ecb1a6d9 5913 * commands/search.c (options): Fix help output to match actual code.
222671b2 5914
f84114f5 59152009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
5918 of homegrown code.
5919
bd288a20 59202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 5921
5922 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
5923 on XFS or ReiserFS.
5924
8aab5e25 59252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Support Apple partition map with sector size different from 512 bytes.
5928
5929 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
5930 (apple_partition_map_iterate): Respect 'aheader.blocksize'
5931 and 'apart.partmap_size'.
5932
6ad6258a 59332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
59342009-08-01 Robert Millan <rmh.grub@aybabtu.com>
5935
5936 Fix cpuid command.
5937
5938 * commands/i386/cpuid.c (options): New variable.
5939 (grub_cmd_cpuid): Return real error.
5940 (GRUB_MOD_INIT(cpuid)): Declare options.
5941
67459bc6 59422009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
5945 valid.
5946
fbc6ab54 59472009-07-31 Bean <bean123ch@gmail.com>
5948
5949 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
5950 log2_inode.
5951 (grub_fshelp_node): Move inode field to the end.
5952 (grub_xfs_data): Remove inode field.
5953 (grub_xfs_inode_block): Calculate inode size using sblock.
5954 (grub_xfs_inode_offset): Likewise.
5955 (grub_xfs_read_inode): Calculate inode size using sblock.
5956 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
5957 (grub_xfs_iterate_dir): Calculate inode size using sblock.
5958 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
5959 to match inode size.
5960 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
5961 not accessible when data is null.
5962 (grub_xfs_open): Likewise.
5963
f45d6cfc 59642009-07-31 Bean <bean123ch@gmail.com>
5965
5966 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
5967 Don't change pv->disk if it's already set.
5968
5969 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
5970 (grub_raid_register): ... here.
5971 (grub_raid_rescan): Removed.
5972
5973 * include/grub/raid.h (grub_raid_rescan): Removed.
5974
5975 * util/grub-fstest.c: Remove include file <grub/raid.h>.
5976 (fstest): Replace grub_raid_rescan with module fini function followed
5977 by init function.
5978
5979 * util/grub-probe.c: Add include file <grub/raid.h>.
5980 (probe_raid_level): New function.
5981 (probe): Detect abstraction by walking the disk device, support two
5982 level of abstraction (LVM on RAID) when detecting partition map.
5983
24443b5a 59842009-07-31 Pavel Roskin <proski@gnu.org>
5985
5986 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
5987 to grub_zalloc(), it was erroneous.
5988 Reported by Bean <bean123ch@gmail.com>
5989
a275d9e7 59902009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 5993 embedding zone, not only the first one.
a275d9e7 5994
56c5a47f 59952009-07-29 Joe Auricchio <jauricchio@gmail.com>
5996
5997 * term/gfxterm.c (clear_char): New function.
5998 (grub_virtual_screen_setup): Use clear_char.
5999 (scroll_up): Likewise.
6000 (grub_virtual_screen_cls): Likewise.
6001
67bb323a 60022009-07-29 Felix Zielcke <fzielcke@z-51.de>
6003
6004 * util/deviceiter.c (get_acceleraid_disk_name): New static
6005 function.
6006 (grub_util_iterate_devices): Handle Accelraid devices.
6007 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
6008
388a7c75 60092009-07-28 Robert Millan <rmh.grub@aybabtu.com>
6010
6011 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
6012 separator for the suggested gfxpayload string (';' collides with the
6013 parser and needs escaping).
6014
3bb7abcf 60152009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
6018 Clear direction flag before jumping to OS.
6019 (grub_multiboot2_real_boot): Likewise.
6020
2ddd36d7 60212009-07-28 Felix Zielcke <fzielcke@z-51.de>
6022
6023 * util/i386/pc/grub-install: Fix parsing of --disk-module
6024 option.
6025
c521b62b 60262009-07-28 Felix Zielcke <fzielcke@z-51.de>
6027
6028 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
6029 when embedding.
6030
880e0a0c 60312009-07-26 Felix Zielcke <fzielcke@z-51.de>
6032
6033 * util/grub-mkconfig.in (package_version): New variable.
6034 Use it do display the version.
6035
2366e356 60362009-07-25 Felix Zielcke <fzielcke@z-51.de>
6037
6038 * kern/file.c (grub_file_open): Revert to previous check with
6039 grub_errno.
6040
7ad8c80e 60412009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
6044 from help line. It's out of sync with code.
6045
72b9658b 60462009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
6049 entries on failed boot.
6050
77435277 60512009-07-25 Felix Zielcke <fzielcke@z-51.de>
6052
6053 * kern/file.c (grub_file_open): Fix an error check.
6054
fcaa8b21 60552009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
6056
35d16c74 6057 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
6058 partition map couldn't be identified.
fcaa8b21 6059
48904cd1 60602009-07-23 Pavel Roskin <proski@gnu.org>
6061
ef3c317f 6062 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
6063 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
6064 case of little endian words becomes just an optimization.
6065 Respect const modifier.
ad8ea1f4 6066 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 6067
48904cd1 6068 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
6069 to avoid loss of upper bits if align is unsigned and shorter
6070 than addr.
6071
260c9a89 60722009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 UUID support for UFS
6075
6076 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
6077 (grub_ufs_uuid): New function.
6078 (grub_ufs_fs): add .uuid
6079
f76ce889 60802009-07-21 Pavel Roskin <proski@gnu.org>
6081
6082 * kern/dl.c (grub_dl_check_header): Make static.
6083
6a6cbcaf 60842009-07-21 Felix Zielcke <fzielcke@z-51.de>
6085
6086 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
6087 add drivemap for Vista. It breaks Windows 7.
6088
cffcddb2 60892009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
6092 128 bytes
6093
1ef44b80 60942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 Add BFS support
6097
6098 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
6099 (grub_fstest_SOURCES): Likewise.
6100 (pkglib_MODULES): Add befs.mod.
6101 (befs_mod_SOURCES): New variable.
6102 (befs_mod_CFLAGS): Likewise.
6103 (befs_mod_LDFLAGS): Likewise.
6104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6105 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6107 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6108 (grub_setup_SOURCES): Likewise.
6109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6111 (grub_setup_SOURCES): Likewise.
6112 * fs/befs.c: New file.
6113 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
6114 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
6115 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
6116 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
6117 (B_KEY_INDEX_ALIGN): New declaration.
6118 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
6119 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
6120 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
6121 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
6122 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
6123 (grub_afs_mount) [MODE_BFS]: Likewise.
6124 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
6125 (grub_afs_fs): Use GRUB_AFS_FSNAME
6126 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
6127 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
6128 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
6129 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
6130
4f253044 61312009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
6132
6133 * util/getroot.c (find_root_device): Add support for MacOSX.
6134 * util/hostdisk.c: Likewise.
6135
57a55913 61362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * font/font.c (find_glyph): Check whether a font is present to avoid
6139 segmentation fault.
75421ca9 6140
61412009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 6142
6143 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
6144
e98cd0c2 61452009-07-20 Pavel Roskin <proski@gnu.org>
6146
6147 * configure.ac: Trim excessively wordy excuses.
6148
1d2d169a 61492009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Add symlink, mtime and label support to AtheFS.
6152
6153 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
6154 (grub_afs_iterate_dir): Handle symlinks.
6155 (grub_afs_open): Use grub_afs_read_symlink.
6156 (grub_afs_dir): Likewise.
6157 Pass mtime.
6158 (grub_afs_label): New function.
6159 (grub_afs_fs): Add grub_afs_label.
6160 (grub_afs_read_symlink): New function.
6161
186f3189 61622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 Fix AtheFS support.
6165
6166 * fs/afs.c: Fix comments style.
6167 (grub_afs_blockrun): Declare as packed.
6168 (grub_afs_datastream): Likewise.
6169 (grub_afs_bnode): Likewise.
6170 (grub_afs_btree): Likewise.
6171 (grub_afs_sblock): Likewise.
6172 Declare `name' as char.
6173 (grub_afs_inode): Declare as packed.
6174 Change void *vnode to grub_uint32_t unused.
6175 (grub_afs_iterate_dir): Check that key_size is positive.
6176 (grub_afs_mount): Don't read superblock twice.
75421ca9 6177 (grub_afs_dir): Don't free node in case of error,
186f3189 6178 grub_fshelp_find_file already handles this.
6179 (grub_afs_open): Likewise.
6180
5680109e 61812009-07-19 Pavel Roskin <proski@gnu.org>
6182
6183 * Makefile.in: Remove LIBLZO and enable_lzo.
6184 * conf/i386-pc.rmk: Remove lzo support.
6185 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
6186 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
6187 support.
6188 * kern/i386/pc/lzo1x.S: Remove.
6189 * kern/i386/pc/startup.S: Remove lzo support.
6190 * util/i386/pc/grub-mkimage.c: Likewise.
6191
ac70fa32 61922009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
6195 * fs/xfs.c (grub_xfs_dir): Likewise.
6196 * fs/afs.c (grub_afs_dir): Likewise.
6197 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6198 (grub_iso9660_open): Likewise.
6199 * fs/jfs.c (grub_jfs_open): Likewise.
6200 * fs/ext2.c (grub_ext2_dir): Likewise.
6201 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
6202 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 6203
eab58da2 62042009-07-16 Pavel Roskin <proski@gnu.org>
6205
d2838156 6206 * configure.ac: Never add "-c" to CFLAGS.
6207
55c70904 6208 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
6209
43e6200c 6210 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
6211 grub_cv_cc_efiemu should be used.
6212
ce7a733d 6213 * configure.ac: Typo fixes.
6214
eab58da2 6215 * kern/mm.c (grub_zalloc): New function.
6216 (grub_debug_zalloc): Likewise.
6217 * include/grub/mm.h: Declare grub_zalloc() and
6218 grub_debug_zalloc().
6219 * util/misc.c (grub_zalloc): New function.
6220 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
6221 instead of grub_malloc(), remove unneeded initializations.
6222 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
6223 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
6224 * commands/parttool.c (grub_cmd_parttool): Likewise.
6225 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6226 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
6227 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
6228 * disk/usbms.c (grub_usbms_finddevs): Likewise.
6229 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
6230 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
6231 (grub_cmd_efiemu_pnvram): Likewise.
6232 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
6233 * fs/iso9660.c (grub_iso9660_mount): Likewise.
6234 (grub_iso9660_iterate_dir): Likewise.
6235 * fs/jfs.c (grub_jfs_opendir): Likewise.
6236 * fs/ntfs.c (list_file): Likewise.
6237 (grub_ntfs_mount): Likewise.
6238 * kern/disk.c (grub_disk_open): Likewise.
6239 * kern/dl.c (grub_dl_load_core): Likewise.
6240 * kern/elf.c (grub_elf_file): Likewise.
6241 * kern/env.c (grub_env_context_open): Likewise.
6242 (grub_env_set): Likewise.
6243 (grub_env_set_data_slot): Likewise.
6244 * kern/file.c (grub_file_open): Likewise.
6245 * kern/fs.c (grub_fs_blocklist_open): Likewise.
6246 * loader/i386/multiboot.c (grub_module): Likewise.
6247 * loader/xnu.c (grub_xnu_create_key): Likewise.
6248 (grub_xnu_create_value): Likewise.
6249 * normal/main.c (grub_normal_add_menu_entry): Likewise.
6250 (read_config_file): Likewise.
6251 * normal/menu_entry.c (make_screen): Likewise.
6252 * partmap/sun.c (sun_partition_map_iterate): Likewise.
6253 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
6254 * script/sh/script.c (grub_script_parse): Likewise.
6255 * video/bitmap.c (grub_video_bitmap_create): Likewise.
6256 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6257 * video/readers/png.c (grub_png_output_byte): Likewise.
6258 (grub_video_reader_png): Likewise.
6259
830afef7 62602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 6261
6262 Enable all targets that can be built by default
6263
830afef7 6264 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 6265 grub-mkfont and grub-fstest if they can be built
6266
ee293aee 62672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Fix hang and segmentation fault in grub-emu-usb
6270
6271 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
6272 * util/usb.c (grub_libusb_devices): likewise
6273 (grub_libusb_init): rename to ...
6274 (GRUB_MOD_INIT (libusb)):...this
6275 (grub_libusb_fini): rename to ..
6276 (GRUB_MOD_FINI (libusb)):...this
6277 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6278 * include/grub/disk.h (grub_raid_init): removed, it's useless
6279 (grub_raid_fini): likewise
6280 (grub_lvm_init): likewise
6281 (grub_lvm_fini): likewise
6282 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6283 by grub_init_all
6284
94414221 62852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 Fix libusb
6288
6289 * Makefile.in (LIBUSB): new macro
6290 * genmk.rb (Utility/print_tail): new method
6291 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6292 (top level): call util.print_tail at the end.
6293
59ade63d 62942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 Make FreeBSD accept zpool.cache
6297
6298 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6299 type is /boot/zfs/zpool.cache
6300
a58da8c7 63012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 Fix 64-bit efiemu
6304
6305 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6306 correct wrong typedef
6307 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6308
20591577 63092009-07-15 Pavel Roskin <proski@gnu.org>
6310
560ca572 6311 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6312 * kern/disk.c (struct grub_disk_cache): Likewise.
6313
e8e8e4fd 6314 * commands/probe.c (options): Typo fix.
6315
fde24e10 6316 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6317 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6318 accordingly.
6319 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6320
379c54c1 6321 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6322 the end of "Error" to make the message more readable.
6323
7bd8f5bf 6324 * boot/i386/pc/boot.S (kernel_segment): Remove.
6325 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6326 for destination.
6327
40b132c5 6328 * boot/i386/pc/boot.S (boot_version): Remove.
6329 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6330 Remove.
6331
20591577 6332 * include/grub/i386/pc/boot.h: Sort all offsets.
6333 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6334 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6335 * boot/i386/pc/boot.S: Assert location of every offset listed in
6336 include/grub/i386/pc/boot.h.
6337
2df32b2c 63382009-07-13 Pavel Roskin <proski@gnu.org>
6339
44b5d879 6340 * include/grub/i386/coreboot/machine.h: Rename
6341 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6342 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6343 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6344
17dc3751 6345 * kern/dl.c: Force native word size to suppress warnings when
6346 compiling grub-emu.
6347
2df32b2c 6348 * kern/device.c (grub_device_iterate): Change struct part_ent to
6349 hold the name, not a pointer to it. Use one grub_malloc() per
6350 partition, not two. Free partition_name if grub_malloc() fails.
6351 Set ents to NULL only before grub_partition_iterate() is called.
6352
75c59f59 63532009-07-11 Bean <bean123ch@gmail.com>
6354
6355 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6356 childname.
6357
0ae1bf88 63582009-07-10 Bean <bean123ch@gmail.com>
63592009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6360
6361 * kern/ieee1275/openfw.c (grub_children_iterate)
6362 (grub_devalias_iterate): Fix size evaluation for property or path
6363 strings, which was broken since r2132.
6364
8279cade 63652009-07-07 Pavel Roskin <proski@gnu.org>
6366
7d8a52d3 6367 * commands/search.c (search_file): Merge into ...
6368 (search_fs): ... this. Accept search type as argument.
6369 (grub_cmd_search): Pass search type to search_fs().
6370
25f9a05a 6371 * include/grub/util/console.h: New file.
6372 * util/console.c: Use it instead of grub/machine/console.h.
6373 * util/grub-emu.c: Likewise.
6374
8279cade 6375 * lib/arg.c (find_long_option): Remove.
6376 (find_long): Add `len' argument, make `s' const char *.
6377 (grub_arg_parse): Parse long options in place, not in a
6378 temporary buffer.
6379
4a11b60f 63802009-07-06 Pavel Roskin <proski@gnu.org>
6381
99f68041 6382 * commands/search.c (search_fs): Fix potential NULL pointer
6383 dereference.
6384
4a11b60f 6385 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6386 function pointer.
6387
e110f4de 63882009-07-06 Daniel Mierswa <impulze@impulze.org>
6389
6390 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6391 comparison.
6392
46eeb6a2 63932009-07-05 Pavel Roskin <proski@gnu.org>
6394
bab74958 6395 * include/grub/i386/linux.h (struct linux_kernel_params):
6396 Restore padding3, it's still needed.
6397
46eeb6a2 6398 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6399 FreeBSD.
6400 * util/osdetect.lua: Likewise.
6401
b4a1dc79 64022009-07-05 Bean <bean123ch@gmail.com>
6403
6404 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6405
6406 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6407 (grub_lua_getenv): Likewise.
6408 (grub_lua_setenv): Likewise.
6409 (save_errno): New function.
6410 (push_result): Likewise.
6411 (grub_lua_enum_device): Likewise.
6412 (grub_lua_enum_file): Likewise.
6413 (grub_lua_file_open): Likewise.
6414 (grub_lua_file_close): Likewise.
6415 (grub_lua_file_seek): Likewise.
6416 (grub_lua_file_read): Likewise.
6417 (grub_lua_file_getline): Likewise.
6418 (grub_lua_file_getsize): Likewise.
6419 (grub_lua_file_getpos): Likewise.
6420 (grub_lua_file_eof): Likewise.
6421 (grub_lua_file_exist): Likewise.
6422 (grub_lua_add_menu): Likewise.
6423
6424 * script/lua/grub_lua.h (isupper): New inline function.
6425 (islower): Likewise.
6426 (ispunct): Likewise.
6427 (isxdigit): Likewise.
6428 (strcspn): Change to normal function.
6429 (strpbkr): New function declaration.
6430 (memchr): Likewise.
6431
6432 * script/lua/grub_main.c (scan_str): New function.
6433 (strcspn): Likewise.
6434 (strpbrk): Likewise.
6435 (memchr): Likewise.
6436
6437 * script/lua/linit.c (lualibs): Enable the string library.
6438
6439 * util/osdetect.lua: New file.
6440
2da92295 64412009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6442
6443 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6444 `capabilities' member.
6445
b2582ec9 64462009-07-02 Pavel Roskin <proski@gnu.org>
6447
6448 * genparttoollist.sh: Add missing newline at the end.
6449
32622956 64502009-07-01 Pavel Roskin <proski@gnu.org>
6451
87a7339e 6452 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
6453
d23af54e 6454 * util/hostdisk.c (open_device): Remove `const' from
6455 `sysctl_size', as sysctlbyname() can change it (in this case it
6456 doesn't actually happen).
6457
c94b18a9 6458 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
6459 using signed long int constants.
6460
c6cd3ef0 6461 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6462 constant to avoid a warning on FreeBSD.
6463
0df63420 6464 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6465 where it's needed.
6466
999577f1 6467 * Makefile.in: Install include/grub/machine symlink.
6468
6f41557f 6469 * Makefile.in: When installing symlinks, use "cp -fR", which
6470 works on FreeBSD and MacOSX.
6471 From Yves Blusseau <cl7m42e02@sneakemail.com>
6472
c8d22988 6473 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6474 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6475
1b96e952 6476 * util/misc.c: Move grub_reboot() and grub_halt() ...
6477 * util/grub-emu.c: ... here. Make main_env static.
6478 * include/grub/util/misc.h: Remove main_env.
6479
2ef0084d 6480 * kern/mm.c: Use correct format to print size_t.
6481
32622956 6482 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6483 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6484 * kern/powerpc/dl.c: Likewise.
6485 * kern/sparc64/dl.c: Likewise.
6486 * kern/x86_64/dl.c: Likewise.
6487
3f7f0cd0 64882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6489
6490 Fix grub-emu build on sparc64-ieee1275.
6491
75421ca9 6492 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6494
211d06b5 64952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6496
6497 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6498 (grub_reboot, grub_halt): New functions.
6499
6500 * util/i386/pc/misc.c: Delete. Update all users.
6501 * util/sparc64/ieee1275/misc.c: Likewise.
6502 * util/powerpc/ieee1275/misc.c: Likewise.
6503
aaf53e3c 65042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6505
6506 * conf/i386.rmk (setjmp_mod_SOURCES)
6507 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6508 * conf/common.rmk (setjmp_mod_SOURCES)
6509 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6510 to use $(target_cpu).
6511 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6512 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6513 * conf/powerpc-ieee1275.rmk: Likewise.
6514 * conf/sparc64-ieee1275.rmk: Likewise.
6515
6516 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6517 $(target_cpu) for kern/$(target_cpu)/dl.c.
6518 * conf/i386-efi.rmk: Likewise.
6519 * conf/i386-ieee1275.rmk: Likewise.
6520 * conf/x86_64-efi.rmk: Likewise.
6521 * conf/i386-coreboot.rmk: Likewise.
6522 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
6523 $(target_cpu) for kern/$(target_cpu)/dl.c and for
6524 kern/$(target_cpu)/cache.S.
6525 * conf/sparc64-ieee1275.rmk: Likewise.
6526
a337130b 65272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6528
6529 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
6530 type to `grub_uint8_t', and adjust `padding9' accordingly.
6531
c6fe4d53 65322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6533
b09db61d 6534 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
6535
c6fe4d53 6536 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
6537 assembly in final jump, using register constraints.
6538
b09db61d 6539 (grub_linux_boot): For text mode, initialize `have_vga' using
6540 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
6541
6542 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
6543 right before the final jump.
6544
6545 Set `video_mode' to 0x3.
6546
6547 Document initialization of `video_page', `video_mode' and
6548 `video_ega_bx'.
6549
28333ad0 65502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6551
6552 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
6553 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 6554 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 6555
02164e1b 65562009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6557
6558 Fix build on Debian / sparc.
6559
6560 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
6561
18b6c557 65622009-06-28 Pavel Roskin <proski@gnu.org>
6563
85f2aab6 6564 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
6565 fix a warning.
6566
18b6c557 6567 * util/grub.d/10_linux.in: Match SUSE style initrd names.
6568
ad760f81 65692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6570
6571 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
6572 `err'.
6573
87a4623b 65742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6575
6576 Revert r2338.
6577
6578 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
6579 file can't be opened. grub_file_open() is already supposed to set
75421ca9 6580 grub_errno / grub_errmsg appropriately.
87a4623b 6581 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6582
8231fb77 65832009-06-27 Pavel Roskin <proski@gnu.org>
65842009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6585
6586 * include/grub/dl.h: Include grub/elf.h.
6587 (struct grub_dl): Add symtab field.
6588 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
6589 GRUB_MODULES_MACHINE_READONLY.
6590 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
6591 of the header for read-only modules.
6592 (grub_dl_unload): Free mod->symtab for read-only modules.
6593 * kern/i386/dl.c: Use mod->symtab.
6594 * kern/powerpc/dl.c: Likewise.
6595 * kern/sparc64/dl.c: Likewise.
6596 * kern/x86_64/dl.c: Likewise.
6597
6598 * conf/i386-qemu.rmk: New file.
6599 * kern/i386/qemu/startup.S: Likewise.
6600 * kern/i386/qemu/mmap.c: Likewise.
6601 * boot/i386/qemu/boot.S: Likewise.
6602 * include/grub/i386/qemu/time.h: Likewise.
6603 * include/grub/i386/qemu/serial.h: Likewise.
6604 * include/grub/i386/qemu/kernel.h: Likewise.
6605 * include/grub/i386/qemu/console.h: Likewise.
6606 * include/grub/i386/qemu/boot.h: Likewise.
6607 * include/grub/i386/qemu/init.h: Likewise.
6608 * include/grub/i386/qemu/machine.h: Likewise.
6609 * include/grub/i386/qemu/loader.h: Likewise.
6610 * include/grub/i386/qemu/memory.h: Likewise.
6611
6612 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
6613 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
6614 [qemu] (pkglib_IMAGES): Add `boot.img'.
6615 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
6616 [qemu] (boot_img_FORMAT): New variables.
6617 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
6618 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
6619 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
6620 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6621 [qemu] (kernel_img_FORMAT): New variables.
6622
6623 * configure.ac: Recognise `i386-qemu'.
6624
6625 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
6626 (for no compression).
6627 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
6628 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
6629 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
6630 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
6631 ifdefs).
6632
97fe384e 66332009-06-27 Pavel Roskin <proski@gnu.org>
6634
6635 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
6636 read.
6637 * efiemu/prepare32.c: Likewise.
6638 * efiemu/prepare64.c: Likewise.
6639
c402ab17 66402009-06-26 Pavel Roskin <proski@gnu.org>
6641
6642 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
6643 * include/grub/elf.h: Define symbols without "32" or "64" based
6644 on GRUB_TARGET_WORDSIZE.
6645 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
6646 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
6647 ELF definitions.
6648 * efiemu/loadcore64.c: Likewise.
6649 * loader/i386/bsd32.c: Likewise.
6650 * loader/i386/bsd64.c: Likewise.
6651 * kern/dl.c: Remove own ELF definitions.
6652 * util/i386/efi/grub-mkimage.c: Likewise.
6653
9bbdfd4d 66542009-06-23 Robert Millan <rmh.grub@aybabtu.com>
6655
6656 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
6657 segment 0x0 unconditionally, because the reference generated by
6658 GAS is an absolute address.
6659
a42ce6e9 66602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6661
6662 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
6663 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
6664
c952cf92 66652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6666
6667 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
6668 indexes. Check for -f explicitly.
cc3752ad 6669 (search_file): Improve error message.
6670 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 6671
132a0a59 66722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6673
6674 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
6675 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
6676
387a140c 66772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6678
6679 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
6680 * conf/i386-ieee1275.rmk: Likewise.
6681 * conf/i386-coreboot.rmk: Likewise.
6682
6683 * kern/i386/pc/startup.S (grub_stop): Remove function.
6684 * kern/i386/ieee1275/startup.S: Likewise.
6685 * kern/i386/coreboot/startup.S: Likewise.
6686 * kern/i386/misc.S (grub_stop): New function.
6687
41da9665 66882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6689
6690 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
6691 * kern/i386/realmode.S (real_to_prot): ... to here.
6692
bf337234 66932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6694
6695 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
6696 with `kernel.img'.
6697 (kernel_elf_SOURCES): Rename to ...
6698 (kernel_img_SOURCES): ... this.
6699 (kernel_elf_HEADERS): Rename to ...
6700 (kernel_img_HEADERS): ... this. Update all users.
6701 (kernel_elf_ASFLAGS): Rename to ...
6702 (kernel_img_ASFLAGS): ... this.
6703 (kernel_elf_CFLAGS): Rename to ...
6704 (kernel_img_CFLAGS): ... this.
6705 (kernel_elf_LDFLAGS): Rename to ...
6706 (kernel_img_LDFLAGS): ... this.
6707 * conf/i386-coreboot.rmk: Likewise.
6708 * conf/powerpc-ieee1275.rmk: Likewise.
6709
6710 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
6711 with "kernel.img".
6712
f52196ff 67132009-06-21 Pavel Roskin <proski@gnu.org>
6714
c3cee413 6715 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
6716 to match nested functions.
6717 * loader/sparc64/ieee1275/linux.c: Likewise.
6718
f52196ff 6719 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
6720
58750afc 67212009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6722
6723 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
6724 all i386 platforms.
6725
15355c7d 67262009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6727
6728 Fix asm file handling on ELF, and remove workarounds.
6729
6730 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 6731 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 6732 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
6733 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
6734
3f3ec72b 67352009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 Load BSD ELF modules
6738
6739 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
6740 and loader/i386/bsd64.c
6741 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
6742 (FREEBSD_MODTYPE_ELF_MODULE): New definition
6743 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
6744 (grub_freebsd_load_elfmodule32): New declaration
6745 (grub_freebsd_load_elfmoduleobj64): Likewise
6746 (grub_freebsd_load_elf_meta32): Likewise
6747 (grub_freebsd_load_elf_meta64): Likewise
6748 (grub_freebsd_add_meta): Likewise
6749 (grub_freebsd_add_meta_module): Likewise
6750 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
6751 (grub_freebsd_add_meta_module): Likewise and move module-specific
6752 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
6753 (grub_cmd_freebsd): Add elf-kernel specific parts
6754 based on grub_freebsd_add_meta_module
6755 (grub_cmd_freebsd_module): Add type parsing moved from
6756 grub_freebsd_add_meta_module
6757 (grub_cmd_freebsd_module_elf): New function
6758 (cmd_freebsd_module_elf): New variable
6759 (GRUB_MOD_INIT): Register freebsd_module_elf
6760 * loader/i386/bsd32.c: New file
6761 * loader/i386/bsd64.c: Likewise
6762 * loader/i386/bsdXX.c: Likewise
6763 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
6764 (grub_elf64_load): Likewise
6765 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
6766 All users updated
6767 (grub_elf64_load_hook_t): Likewise
6768
0db15301 67692009-06-21 Colin Watson <cjwatson@ubuntu.com>
6770
6771 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
6772 variable.
6773 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
6774 don't write a menu entry for recovery mode.
6775
546796c1 67762009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6777
6778 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
6779 after it's no longer needed.
6780
cd7310d5 67812009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6782
6783 * include/grub/i386/loader.h (grub_linux_prot_size)
6784 (grub_linux_tmp_addr, grub_linux_real_addr)
6785 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
6786 GRUB_MACHINE_PCBIOS.
6787 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
6788 common grub_util_info() call to ...
6789 (generate_image): ... here.
6790 Fix use of uninitialized memory, comparison of signed with
6791 unsigned integers and memory leak.
6792 Remove bogus module address message.
6793
ab32d3b5 67942009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
6797 grub_raid_register
6798 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
6799
024ef597 68002009-06-19 Pavel Roskin <proski@gnu.org>
6801
6802 * configure.ac: Remove stray AC_MSG_CHECKING.
6803
3ac72b51 68042009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 6807
e14cd814 68082009-06-18 Pavel Roskin <proski@gnu.org>
6809
6810 * conf/common.rmk: Add fs_file.mod.
6811 * disk/fs_file.c: New file.
6812 * include/grub/disk.h (enum grub_disk_dev_id): Add
6813 GRUB_DISK_DEVICE_FILE_ID.
6814
26586d98 68152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 Fix build with Apple's toolchain. Part 2
6818
6819 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
6820 a fake start
6821
26de2bcd 68222009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 Fix build with Apple's toolchain. Part 1
6825
6826 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
6827 for long calls
6828 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 6829 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 6830 Apple's toolchain
6831
09b3490b 68322009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 Fix warnings
6835
6836 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
6837 (decomp_block): initialize ch
6838 use grub_memcpy instead of memcpy
6839
c22a006a 68402009-06-17 Pavel Roskin <proski@gnu.org>
6841
d3638678 6842 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
6843 version, use declarations needed to use vga_text as the startup
6844 console.
6845
c22a006a 6846 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
6847 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
6848 the kernel.
6849 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
6850 and grub_at_keyboard_fini(), it's done on module load and
6851 unload.
6852
05b129e0 68532009-06-17 Felix Zielcke <fzielcke@z-51.de>
6854
6855 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
6856 file can't be found.
6857 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6858
cf24ed9e 68592009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 Fix newline handling
6862
6863 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 6864 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 6865 (grub_script_yylex): don't segfault on unterminated script
6866 newline terminates command and variable
6867
74aa8e4b 68682009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 avoid double grub_adjust_range call. Bug reported by David Simner
6871
6872 * kern/disk.c (grub_disk_write): change to raw disk access before
6873 calling disk_read
6874
1bd265f3 68752009-06-17 Colin Watson <cjwatson@ubuntu.com>
6876
6877 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
6878 spaces, for the benefit of help2man.
6879 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6880
a2d08c06 68812009-06-16 Pavel Roskin <proski@gnu.org>
6882
6883 * kern/i386/halt.c: Include grub/machine/init.h.
6884 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
6885
b97bcb19 68862009-06-16 Felix Zielcke <fzielcke@z-51.de>
6887
6888 * util/grub.d/30_os-prober.in: Use ${root} in the generated
6889 drivemap menuentry.
6890
0644f96c 68912009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
6892
6893 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
6894 `echo' command.
6895
3ef17a2e 68962009-06-16 Pavel Roskin <proski@gnu.org>
6897
6898 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
6899 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
6900 save %dx, we only need %dl and we never change it.
6901 * boot/i386/pc/cdboot.S: Don't set the root drive.
6902 * boot/i386/pc/pxeboot.S: Likewise.
6903 * include/grub/i386/pc/boot.h: Remove
6904 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
6905 GRUB_BOOT_MACHINE_DRIVE_CHECK.
6906 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
6907 * kern/i386/pc/init.c (make_install_device): Remove references
6908 to grub_root_drive.
6909 * kern/i386/pc/startup.S: Likewise.
6910 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
6911
693fe637 69122009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 xnu_uuid command
6915
6916 * commands/xnu_uuid.c: new file
6917 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
6918 (xnu_uuid_mod_SOURCES): new variable
6919 (xnu_uuid_mod_CFLAGS): likewise
6920 (xnu_uuid_mod_LDFLAGS): likewise
6921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6922 * conf/i386-ieee1275.rmk: likewise
6923 * conf/i386-pc.rmk: likewise
6924 * conf/powerpc-ieee1275.rmk: likewise
6925 * conf/sparc64-ieee1275.rmk: likewise
6926 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
6927
c9da87d0 69282009-06-16 Pavel Roskin <proski@gnu.org>
6929
6930 * configure.ac: Avoid '==' in test command, it's not portable.
6931
9c6f4596 69322009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 Probe command
6935
6936 * commands/probe.c: new file
6937 * conf/common.rmk (pkglib_MODULES): add probe.mod
6938 (probe_mod_SOURCES): new variable
6939 (probe_mod_CFLAGS): likewise
6940 (probe_mod_LDFLAGS): likewise
6941 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6942 * conf/i386-ieee1275.rmk: likewise
6943 * conf/i386-pc.rmk: likewise
6944 * conf/powerpc-ieee1275.rmk: likewise
6945 * conf/sparc64-ieee1275.rmk: likewise
6946
70b7f9fd 69472009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 Fix handling of string like \"hello\" and "a
6950 b"
6951
6952 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
6953 (grub_script_yylex): fix parsing of quoting, escaping and newline
6954
71c79a6b 69552009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6956
dd74360c 6957 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 6958 handling
dd74360c 6959
0644f96c 69602009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 6961
6962 * util/grub-mkconfig.in: Fix parsing of --output option.
6963
e40893c3 69642009-06-12 Pavel Roskin <proski@gnu.org>
6965
6966 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
6967 genmk.rb don't need to be generated or installed.
6968
3a1acfe2 69692009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * commands/i386/pc/drivemap_int13h.S: add more comments
6972
3a4575d4 69732009-06-11 Pavel Roskin <proski@gnu.org>
6974
0658e928 6975 * Makefile.in (uninstall): Uninstall manuals.
6976
ca0388f0 6977 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
6978 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
6979 and update-grub_lib in two places.
6980 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
6981
e3b27c39 6982 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
6983 a compiler warning.
6984
3a4575d4 6985 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
6986 `entry_lo' to fix variable shadowing.
6987
af1f4f55 69882009-06-11 Christian Franke <franke@computer.org>
6989
6990 * kern/misc.c (__enable_execute_stack): Add missing return type
6991 to prevent gcc warning.
6992
5225e649 69932009-06-11 Felix Zielcke <fzielcke@z-51.de>
6994
6995 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
6996
7d83bd47 69972009-06-11 Pavel Roskin <proski@gnu.org>
6998
c1cb63ba 6999 * Makefile.in: Don't rely on any scripts being executable.
7000 Always use $(SHELL) to run shell scripts.
7001
7d83bd47 7002 * configure.ac: Always define ___main if using -nostdlib. This
7003 fixes tests on Cygwin.
7004
948f48e7 70052009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
7006
7007 UDF fix
7008
7d83bd47 7009 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 7010 is in bytes and not in blocks
7d83bd47 7011
8ada9bc1 70122009-06-11 Pavel Roskin <proski@gnu.org>
7013
7014 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
7015 warning.
7016
25ad2323 70172009-06-11 Felix Zielcke <fzielcke@z-51.de>
7018
7019 * util/grub.d/30_os-prober.in: Fix a comment. Source
7020 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
7021 to set the root device. Place drivemap command in the generated
7022 chain entry.
7023
e65acb0c 70242009-06-11 Pavel Roskin <proski@gnu.org>
7025
7026 * configure.ac: Remove host_m32. Issues with 64-bit utilities
7027 have long been resolved.
7028
f285fe2d 70292009-06-11 Colin Watson <cjwatson@ubuntu.com>
7030
bd47b0b5 7031 * util/grub.d/10_linux.in: Capitalise "Linux".
7032
f285fe2d 7033 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
7034
a0c62e4e 70352009-06-11 Pavel Roskin <proski@gnu.org>
7036
b6783cb2 7037 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
7038 fix a gcc warning and ensure that the function won't ever exit.
7039
dde032e8 7040 * kern/i386/ieee1275/init.c: Add missing prototype for
7041 grub_stop_floppy().
7042
22cd079d 7043 * loader/ieee1275/multiboot2.c [__i386__]: Include
7044 grub/cpu/multiboot.h.
7045
a0c62e4e 7046 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
7047 casts to short - they are not portable and cause warnings. Fix
7048 use of uninitialized values in input_buf. Use ARRAY_SIZE.
7049
63963d17 70502009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 Drivemap fixes
7053
7054 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
7055 new function
7056 (grub_get_root_biosnumber_saved): new variable
7057 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
7058 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 7059 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 7060 %dx after the call if necessary
7061 * conf/common.rmk (pkglib_MODULES): remove boot.mod
7062 (boot_mod_SOURCES): remove
7063 (boot_mod_CFLAGS): remove
7064 (boot_mod_LDFLAGS): remove
7065 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
7066 (boot_mod_SOURCES): new variable
7067 (boot_mod_CFLAGS): likewise
7068 (boot_mod_LDFLAGS): likewise
7069 * conf/i386-efi.rmk: likewise
7070 * conf/i386-ieee1275.rmk: likewise
7071 * conf/i386-pc.rmk: likewise
7072 * conf/powerpc-ieee1275.rmk: likewise
7073 * conf/sparc64-ieee1275.rmk: likewise
7074 * conf/x86_64-efi.rmk: likewise
7075 * include/grub/i386/pc/biosnum.h: new file
7076 * lib/i386/pc/biosnum.c: likewise
7077 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
7078 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
7079 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 7080
33abf7ae 70812009-06-10 Pavel Roskin <proski@gnu.org>
7082
5ac35b35 7083 * io/gzio.c (test_header): Don't reuse one buffer for all data.
7084 Use separate variables. Read only the file size at the end, but
7085 not the checksum that we don't use.
7086
5c5215d5 7087 * kern/file.c (grub_file_read): Use void pointer for the buffer.
7088 Adjust all callers.
7089
27d5fef7 7090 * kern/ieee1275/openfw.c: Remove libc includes.
7091 * kern/ieee1275/cmain.c: Likewise.
7092 * include/grub/ieee1275/ieee1275.h: Likewise.
7093
33abf7ae 7094 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
7095 compiler warnings.
7096
19d50c2b 70972009-06-10 Felix Zielcke <fzielcke@z-51.de>
7098
7099 * Makefile.in: Remove all trailing whitespace.
7100 * conf/i386-pc.rmk: Likewise.
7101 * conf/powerpc-ieee1275.rmk: Likewise.
7102 * conf/sparc64-ieee1275.rmk: Likewise.
7103 * docs/grub.texi: Likewise.
7104 * docs/texinfo.tex: Likewise.
7105 * disk/fs_uuid.c: Likewise.
7106 * disk/lvm.c: Likewise.
7107 * disk/scsi.c: Likewise.
7108 * disk/ata.c: Likewise.
7109 * disk/ieee1275/ofdisk.c: Likewise.
7110 * disk/i386/pc/biosdisk.c: Likewise.
7111 * disk/host.c: Likewise.
7112 * disk/raid.c: Likewise.
7113 * disk/efi/efidisk.c: Likewise.
7114 * disk/usbms.c: Likewise.
7115 * disk/memdisk.c: Likewise.
7116 * disk/loopback.c: Likewise.
7117 * kern/powerpc/dl.c: Likewise.
7118 * kern/device.c: Likewise.
7119 * kern/dl.c: Likewise.
7120 * kern/sparc64/dl.c: Likewise.
7121 * kern/ieee1275/ieee1275.c: Likewise.
7122 * kern/term.c: Likewise.
7123 * kern/fs.c: Likewise.
7124 * kern/i386/dl.c: Likewise.
7125 * kern/i386/pc/startup.S: Likewise.
7126 * kern/i386/pc/init.c: Likewise.
7127 * kern/i386/pc/mmap.c: Likewise.
7128 * kern/i386/pc/lzo1x.S: Likewise.
7129 * kern/i386/ieee1275/init.c: Likewise.
7130 * kern/i386/realmode.S: Likewise.
7131 * kern/i386/tsc.c: Likewise.
7132 * kern/partition.c: Likewise.
7133 * kern/corecmd.c: Likewise.
7134 * kern/file.c: Likewise.
7135 * kern/efi/efi.c: Likewise.
7136 * kern/efi/init.c: Likewise.
7137 * kern/efi/mm.c: Likewise.
7138 * kern/main.c: Likewise.
7139 * kern/err.c: Likewise.
7140 * kern/env.c: Likewise.
7141 * kern/disk.c: Likewise.
7142 * kern/generic/millisleep.c: Likewise.
7143 * kern/generic/rtc_get_time_ms.c: Likewise.
7144 * kern/misc.c: Likewise.
7145 * kern/parser.c: Likewise.
7146 * genmk.rb: Likewise.
7147 * configure.ac: Likewise.
7148 * boot/i386/pc/diskboot.S: Likewise.
7149 * boot/i386/pc/pxeboot.S: Likewise.
7150 * boot/i386/pc/boot.S: Likewise.
7151 * boot/i386/pc/lnxboot.S: Likewise.
7152 * boot/i386/pc/cdboot.S: Likewise.
7153 * parttool/pcpart.c: Likewise.
7154 * video/readers/tga.c: Likewise.
7155 * video/video.c: Likewise.
7156 * video/bitmap.c: Likewise.
7157 * lib/envblk.c: Likewise.
7158 * lib/i386/setjmp.S: Likewise.
7159 * fs/xfs.c: Likewise.
7160 * fs/afs.c: Likewise.
7161 * fs/fat.c: Likewise.
7162 * fs/ntfs.c: Likewise.
7163 * fs/udf.c: Likewise.
7164 * fs/affs.c: Likewise.
7165 * fs/iso9660.c: Likewise.
7166 * fs/hfs.c: Likewise.
7167 * fs/fshelp.c: Likewise.
7168 * fs/ext2.c: Likewise.
7169 * fs/jfs.c: Likewise.
7170 * fs/reiserfs.c: Likewise.
7171 * fs/hfsplus.c: Likewise.
7172 * fs/minix.c: Likewise.
7173 * fs/cpio.c: Likewise.
7174 * fs/sfs.c: Likewise.
7175 * fs/ufs.c: Likewise.
7176 * efiemu/prepare.c: Likewise.
7177 * efiemu/loadcore_common.c: Likewise.
7178 * efiemu/runtime/efiemu.sh: Likewise.
7179 * efiemu/runtime/efiemu.S: Likewise.
7180 * efiemu/runtime/efiemu.c: Likewise.
7181 * efiemu/pnvram.c: Likewise.
7182 * efiemu/main.c: Likewise.
7183 * efiemu/i386/pc/cfgtables.c: Likewise.
7184 * efiemu/i386/loadcore64.c: Likewise.
7185 * efiemu/i386/loadcore32.c: Likewise.
7186 * efiemu/loadcore.c: Likewise.
7187 * efiemu/symbols.c: Likewise.
7188 * efiemu/mm.c: Likewise.
7189 * include/grub/autoefi.h: Likewise.
7190 * include/grub/datetime.h: Likewise.
7191 * include/grub/term.h: Likewise.
7192 * include/grub/hfs.h: Likewise.
7193 * include/grub/lvm.h: Likewise.
7194 * include/grub/i386/tsc.h: Likewise.
7195 * include/grub/i386/linux.h: Likewise.
7196 * include/grub/i386/xnu.h: Likewise.
7197 * include/grub/i386/efiemu.h: Likewise.
7198 * include/grub/i386/pc/biosdisk.h: Likewise.
7199 * include/grub/i386/pc/memory.h: Likewise.
7200 * include/grub/i386/pc/vbe.h: Likewise.
7201 * include/grub/parttool.h: Likewise.
7202 * include/grub/video.h: Likewise.
7203 * include/grub/memory.h: Likewise.
7204 * include/grub/fs.h: Likewise.
7205 * include/grub/partition.h: Likewise.
7206 * include/grub/xnu.h: Likewise.
7207 * include/grub/efi/api.h: Likewise.
7208 * include/grub/efi/pe32.h: Likewise.
7209 * include/grub/efi/memory.h: Likewise.
7210 * include/grub/multiboot.h: Likewise.
7211 * include/grub/usbdesc.h: Likewise.
7212 * include/grub/multiboot2.h: Likewise.
7213 * include/grub/acpi.h: Likewise.
7214 * include/grub/efiemu/efiemu.h: Likewise.
7215 * include/grub/disk.h: Likewise.
7216 * include/grub/ieee1275/ieee1275.h: Likewise.
7217 * include/grub/net.h: Likewise.
7218 * include/grub/machoload.h: Likewise.
7219 * include/grub/macho.h: Likewise.
7220 * include/multiboot.h: Likewise.
7221 * genmoddep.awk: Likewise.
7222 * normal/main.c: Likewise.
7223 * normal/menu_entry.c: Likewise.
7224 * normal/menu_viewer.c: Likewise.
7225 * normal/completion.c: Likewise.
7226 * normal/cmdline.c: Likewise.
7227 * normal/misc.c: Likewise.
7228 * normal/datetime.c: Likewise.
7229 * bus/usb/usbtrans.c: Likewise.
7230 * bus/usb/ohci.c: Likewise.
7231 * bus/usb/uhci.c: Likewise.
7232 * bus/usb/usb.c: Likewise.
7233 * mmap/efi/mmap.c: Likewise.
7234 * mmap/i386/pc/mmap_helper.S: Likewise.
7235 * mmap/i386/pc/mmap.c: Likewise.
7236 * mmap/i386/mmap.c: Likewise.
7237 * mmap/i386/uppermem.c: Likewise.
7238 * mmap/mmap.c: Likewise.
7239 * commands/acpi.c: Likewise.
7240 * commands/echo.c: Likewise.
7241 * commands/blocklist.c: Likewise.
7242 * commands/loadenv.c: Likewise.
7243 * commands/usbtest.c: Likewise.
7244 * commands/boot.c: Likewise.
7245 * commands/parttool.c: Likewise.
7246 * commands/search.c: Likewise.
7247 * commands/cat.c: Likewise.
7248 * commands/i386/pc/play.c: Likewise.
7249 * commands/i386/pc/drivemap.c: Likewise.
7250 * commands/i386/pc/vbeinfo.c: Likewise.
7251 * commands/i386/pc/acpi.c: Likewise.
7252 * commands/i386/pc/vbetest.c: Likewise.
7253 * commands/ls.c: Likewise.
7254 * commands/cmp.c: Likewise.
7255 * commands/test.c: Likewise.
7256 * commands/efi/acpi.c: Likewise.
7257 * commands/gptsync.c: Likewise.
7258 * commands/help.c: Likewise.
7259 * partmap/amiga.c: Likewise.
7260 * partmap/apple.c: Likewise.
7261 * partmap/acorn.c: Likewise.
7262 * partmap/pc.c: Likewise.
7263 * partmap/sun.c: Likewise.
7264 * partmap/gpt.c: Likewise.
7265 * script/sh/lexer.c: Likewise.
7266 * script/sh/function.c: Likewise.
7267 * font/font.c: Likewise.
7268 * font/font_cmd.c: Likewise.
7269 * loader/powerpc/ieee1275/linux.c: Likewise.
7270 * loader/efi/chainloader.c: Likewise.
7271 * loader/multiboot_loader.c: Likewise.
7272 * loader/macho.c: Likewise.
7273 * loader/i386/multiboot.c: Likewise.
7274 * loader/i386/linux.c: Likewise.
7275 * loader/i386/pc/linux.c: Likewise.
7276 * loader/i386/pc/multiboot2.c: Likewise.
7277 * loader/i386/pc/chainloader.c: Likewise.
7278 * loader/i386/pc/xnu.c: Likewise.
7279 * loader/i386/bsd_trampoline.S: Likewise.
7280 * loader/i386/efi/linux.c: Likewise.
7281 * loader/i386/multiboot_elfxx.c: Likewise.
7282 * loader/i386/bsd_helper.S: Likewise.
7283 * loader/i386/bsd.c: Likewise.
7284 * loader/i386/linux_trampoline.S: Likewise.
7285 * loader/i386/xnu_helper.S: Likewise.
7286 * loader/i386/xnu.c: Likewise.
7287 * loader/i386/bsd_pagetable.c: Likewise.
7288 * loader/i386/multiboot_helper.S: Likewise.
7289 * loader/xnu.c: Likewise.
7290 * loader/xnu_resume.c: Likewise.
7291 * io/gzio.c: Likewise.
7292 * term/efi/console.c: Likewise.
7293 * term/terminfo.c: Likewise.
7294 * term/ieee1275/ofconsole.c: Likewise.
7295 * term/i386/pc/serial.c: Likewise.
7296 * term/i386/pc/vesafb.c: Likewise.
7297 * term/i386/pc/vga.c: Likewise.
7298 * term/usb_keyboard.c: Likewise.
7299 * term/gfxterm.c: Likewise.
7300 * aclocal.m4: Likewise.
7301 * util/lvm.c: Likewise.
7302 * util/grub.d/30_os-prober.in: Likewise.
7303 * util/grub.d/10_hurd.in: Likewise.
7304 * util/console.c: Likewise.
7305 * util/grub-macho2img.c: Likewise.
7306 * util/grub-probe.c: Likewise.
7307 * util/hostfs.c: Likewise.
7308 * util/i386/pc/grub-mkimage.c: Likewise.
7309 * util/i386/pc/grub-setup.c: Likewise.
7310 * util/i386/efi/grub-mkimage.c: Likewise.
7311 * util/grub-mkconfig.in: Likewise.
7312 * util/raid.c: Likewise.
7313 * util/resolve.c: Likewise.
7314 * util/grub-mkdevicemap.c: Likewise.
7315 * util/grub-emu.c: Likewise.
7316 * util/getroot.c: Likewise.
7317 * util/hostdisk.c: Likewise.
7318 * util/usb.c: Likewise.
7319 * util/grub-editenv.c: Likewise.
7320 * util/misc.c: Likewise.
7321
d2d49665 73222009-06-10 Felix Zielcke <fzielcke@z-51.de>
7323
7324 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7325 `genparttoollist.sh'.
7326 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7327 Add `*.sh' to the list find searches for and change `mdate.sh'
7328 to `mdate-sh'.
7329
fe052e37 73302009-06-10 Pavel Roskin <proski@gnu.org>
7331
2763ac18 7332 * include/grub/multiboot2.h: Provide compatibility defines for
7333 multiboot2.h.
7334 * include/multiboot2.h: Include stdint.h only if needed, using
7335 angle brackets.
7336 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7337 grub/multiboot2.h.
7338 * loader/ieee1275/multiboot2.c: Likewise.
7339 * loader/multiboot2.c: Likewise.
7340 * loader/multiboot_loader.c: Likewise.
7341
437e6adc 7342 * configure.ac: Use -nostdlib when probing for the target. It
7343 should not be required to have libc for the target.
7344
06a6836c 7345 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7346 they fail without libc headers for the target.
7347 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7348 exports.
7349 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7350 preprocessor conditionals.
7351
fe052e37 7352 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7353 build system doesn't need to be aware of the tar.c internals.
7354
afd22553 73552009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 7356
afd22553 7357 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 7358
6b787c4f 73592009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7360
7361 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7362 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7363
73642009-06-09 Felix Zielcke <fzielcke@z-51.de>
7365
7366 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 7367 aren't available if ata.mod gets used.
6b787c4f 7368
473d1e45 73692009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 7370
473d1e45 7371 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 7372 initialising controller.
473d1e45 7373 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 7374
255a27d4 73752009-06-08 Felix Zielcke <fzielcke@z-51.de>
7376
7377 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7378 to choose between ata and biosdisk module on i386-pc.
7379
473d1e45 73802009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 7381
d55842d8 7382 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7383 Subclass and Programming Interface fields in terms of the 3 byte
7384 Class Code register.
7385 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7386
fa5db0b1 7387 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7388 interface is OHCI. Add grub_dprintf for symmetry with
7389 bus/usb/uhci.c.
7390 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7391 interface is UHCI. Add interf variable for programming
7392 interface. Print interface with class/subclass.
7393
c0947beb 7394 * bus/usb/ohci.c: Set interf with correct field.
7395
69da8877 7396 * bus/usb/uhci.c: Remove unneeded doubled lines.
7397 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7398 Remove whitespace inside comment.
7399
9e172e30 74002009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7401
7402 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7403 as fallback an equivalent option without depth.
7404
de65ee2b 74052009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Not fail if unable to retrieve C/H/S on LBA disks
7408
473d1e45 7409 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 7410 if unable to retrieve C/H/S on LBA disks
7411
b57ea2c9 74122009-06-08 Pavel Roskin <proski@gnu.org>
7413
7414 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7415 about aliasing.
7416
af361263 74172009-06-08 Felix Zielcke <fzielcke@z-51.de>
7418
7419 * Makefile.in (uninstall): Remove all $lib_DATA files.
7420
4c9ec6b3 74212009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 Bugfix: install on partitionless device
7424
7425 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7426 is a whole disk
7427
e76fc924 74282009-06-08 Felix Zielcke <fzielcke@z-51.de>
7429
7430 * Makefile.in (uninstall): Remove all $include_DATA files.
7431
ba5a0d05 74322009-06-08 Felix Zielcke <fzielcke@z-51.de>
7433
7434 * commands/true.c: New file. Implement the true and false commands.
7435 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7436 (true_mod_SOURCES): New variable.
7437 (true_mod_CFLAGS): Likewise.
7438 (true_mod_LDFLAGS): Likewise.
7439
c8048e32 74402009-06-05 Colin D Bennett <colin@gibibit.com>
7441
7442 Optimized font character lookup using binary search instead of linear
7443 search. Fonts now are required to have the character index ordered by
7444 code point.
7445
7446 * font/font.c (load_font_index): Verify that fonts have ordered
7447 character indices.
7448 (find_glyph): Use binary search instead of linear search to find a
7449 character in a font.
7450
408305be 74512009-06-05 Michael Scherer <misc@mandriva.org>
7452
7453 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
7454 uses case sensitive btree.
7455 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
7456 only for case insensitive filesystems.
7457
8ee1e0d9 74582009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
7461 * conf/common.rmk (search_mod_CFLAGS): likewise
7462
a9966eb1 74632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7464
473d1e45 7465 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7466 compensate a compiler bug
7467
9e7100fb 74682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7469
473d1e45 7470 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7471 instead of '\b'
473d1e45 7472
ede21d71 74732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Definitions for creating asm symbols with Apple's CC
7476
7477 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7478 [APPLE_CC] (VARIABLE): likewise
7479
9dbf7653 74802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 Disable lnxboot.img when compiled
7483 with Apple's CC
7484
7485 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7486 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7487 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7488 [! APPLE_CC] (CODE_LENG): skip
7489 [! APPLE_CC] (setup_sects): likewise
7490 [! APPLE_CC]: skip filling
473d1e45 7491
e93cdc3d 74922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 Address in trampolines based on 32-bit registers when compiled
7495 with Apple's CC
7496
473d1e45 7497 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7498 for addresses
7499 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7500
6c688477 75012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7504
7505 * kern/misc.c [APPLE_CC] (memcpy): new function
7506 [APPLE_CC] (memmove): likewise
7507 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7508 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7509 (memset): likewise
7510 (abort): likewise
7511 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7512 APPLE_CC are defined
7513 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7514 (grub_assert_fail): make prototype conditional
7515
e37ffc5c 75162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7519
473d1e45 7520 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
7521 grub-macho2img
e37ffc5c 7522 (CLEANFILES): add grub-macho2img
7523 (grub_macho2img_SOURCES): new variable
7524 * kern/i386/pc/startup.S (bss_start): new variable
7525 (bss_end): likewise
7526 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
7527 * util/grub-macho2img.c: new file
7528
cf00df31 75292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 Use objconv when compiling with Apple's CC
7532
7533 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
7534 (efiemu64.o): likewise
7535 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
7536 when compiling with Apple's CC
7537 (efiemu64_s.o): likewise
7538 * configure.ac: check for objconv when compiling with Apple's CC
7539 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 7540
d119a20c 75412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 Define segment as well as section when compiling with
7544 Apple's CC
7545
7546 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
7547 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
7548 (efiemu_convert_pointer): likewise
7549 (efiemu_set_virtual_address_map): likewise
7550 (efiemu_convert_pointer): likewise
7551 (efiemu_getcrc32): likewise
7552 (init_crc32_table): likewise
7553 (reflect): likewise
7554 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
7555 (GRUB_MOD_DEP): likewise
473d1e45 7556
c8600122 75572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 Allow a compilation without -mcmodel=large
7560
7561 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
7562 when compiled without -mcmodel=large
473d1e45 7563 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 7564 without -mcmodel=large
473d1e45 7565 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 7566 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 7567
e8df1d4e 75682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 Remove nested functions in efiemu core
7571
7572 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 7573
cc6c3ac1 75742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
7577
7578 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
7579 temporary storage
473d1e45 7580 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
7581 using Apple's CC
cc6c3ac1 7582 (grub_cpu_is_tsc_supported): likewise
7583 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 7584
3e325901 75852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 Absolute addressing through constant with Apple's cc
7588
7589 * kern/i386/pc/startup.S: Define necessary constants
7590 and address through it when using ABS with Apple's CC
7591 * boot/i386/pc/diskboot.S: likewise
7592 * boot/i386/pc/boot.S: likewise
7593 * boot/i386/pc/lnxboot.S: likewise
7594 * boot/i386/pc/cdboot.S: likewise
7595 * mmap/i386/pc/mmap_helper.S: likewise
7596 * commands/i386/pc/drivemap_int13h.S: likewise
7597
2b167a72 75982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 Check if compiler is apple cc
7601
7602 * Makefile.in (ASFLAGS): new variable
7603 (TARGET_ASFLAGS): likewise
7604 (TARGET_MODULE_FORMAT): likewise
7605 (TARGET_APPLE_CC): likewise
7606 (OBJCONV): likewise
7607 (TARGET_IMG_CFLAGS): likewise
7608 (TARGET_CPPFLAGS): add includedir
7609 * configure.ac: call grub_apple_cc and grub_apple_target_cc
7610 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
7611 Check for linker script only if compiler isn't Apple's CC
7612 (TARGET_MODULE_FORMAT): set
7613 (TARGET_APPLE_CC): likewise
7614 (TARGET_ASFLAGS): likewise
7615 (ASFLAGS): likewise
7616 Check for objcopy only if compiler isn't Apple's CC
7617 Check for BSS symbol only if compiler isn't Apple's CC
7618 * genmk.rb: adapt nm options if we use Apple's utils
7619 * aclocal.m4 (grub_apple_cc): new test
7620 (grub_apple_target_cc): likewise
473d1e45 7621
fb14123e 76222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 Simplify sed expressions and improve awk
7625
7626 * Makefile.in (install-local): simplify sed expression
7627 * gencmdlist.sh: likewise
7628 * genmoddep.awk: avoid adding module as a dependency of itself
7629
5b889789 76302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 Add missing start symbols
7633
7634 * boot/i386/pc/boot.S: add start
fb14123e 7635 * boot/i386/pc/pxeboot.S: likewise
473d1e45 7636
fd2bf2e3 76372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 7640
7641 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 7642 (relocate_addresses): consider both r_addend and value at offset
7643 (make_mods_section): zerofill modinfo and header
7644 (convert_elf): write prefix here
473d1e45 7645
5389763d 76462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 Use .asciz instead of .string
7649
7650 * i386/pc/diskboot.S: use .asciz instead of .string
7651 * i386/pc/boot.S: likewise
7652 * include/grub/dl.h (GRUB_MOD_DEP): likewise
7653 (GRUB_MOD_NAME): likewise
473d1e45 7654
3eb5ed4e 76552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 gfxpayload support
7658
7659 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7660 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7661 (grub_video_setup): remove
7662 (grub_video_set_mode): new prototype
7663 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
7664 (vid_mode): remove
7665 (linux_vesafb_res): compile only on PCBIOS
7666 (grub_linux_boot): support gfxpayload
7667 * loader/i386/pc/xnu.c (video_hook): new function
7668 (grub_xnu_set_video): support gfxpayload
7669 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
7670 (DEFAULT_VIDEO_HEIGHT): likewise
7671 (DEFAULT_VIDEO_FLAGS): likewise
7672 (DEFAULT_VIDEO_MODE): new definition
7673 (video_hook): new function
7674 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 7675 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 7676 loading xnu
7677 * video/video.c (grub_video_setup): removed
473d1e45 7678 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 7679 grub_video_setup
7680
4b0e1143 76812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 Avoid calling biosdisk in drivemap
7684
7685 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
7686 (revparse_biosdisk): likewise
7687 (list_mappings): derive name from id directly
7688 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 7689
fda6cb98 76902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 Script fixes
7693
7694 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
7695 (grub_lexer_param): add tokenonhold
7696 (grub_script_create_cmdline): remove cmdline. All callers updated
7697 (grub_script_function_create): make functionname
7698 grub_script_arg. All callers updated
7699 (grub_script_execute_argument_to_string): new prototype
7700 * kern/parser.c (state_transitions): reorder
7701 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 7702 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 7703 make global
7704 (grub_script_execute_cmdline): use new format
7705 * script/sh/function.c (grub_script_function_create): make functionname
7706 grub_script_arg. All callers updated
473d1e45 7707 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 7708 (grub_script_yylex): remove
7709 (grub_script_yylex2): renamed to ...
7710 (grub_script_yylex): ...renamed
7711 parse the expressions like a${b}c
7712 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
7713 (GRUB_PARSER_TOKEN_VAR): remove
7714 (GRUB_PARSER_TOKEN_NAME): likewise
7715 ("if"): declare as typeless
7716 ("while"): likewise
7717 ("function"): likewise
7718 ("else"): likewise
7719 ("then"): likewise
7720 ("fi"): likewise
7721 (text): remove
7722 (argument): likewise
7723 (script): accept empty scripts and make exit on error
7724 (arguments): use GRUB_PARSER_TOKEN_ARG
7725 (function): likewise
7726 (command): move error handling to script
7727 (menuentry): move grub_script_lexer_ref before
473d1e45 7728 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 7729 argument. All callers updated
7730
f4448a07 77312009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7732
7733 Prevent GRUB from probing floppies during boot.
7734
7735 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
7736 * commands/search.c (options): Add --no-floppy.
7737 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
7738 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
7739 --no-floppy when searching for UUIDs.
7740
2bf5885a 77412009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7742
7743 Simplify the code duplication in commands/search.c.
7744
7745 * commands/search.c (search_label, search_fs_uuid): Merge into ...
7746 (search_fs): ... this. Update all users.
7747
f6fd460a 77482009-06-03 Felix Zielcke <fzielcke@z-51.de>
7749
7750 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
7751
cbb3c83e 77522009-05-28 Pavel Roskin <proski@gnu.org>
7753
57788cfd 7754 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
7755 Remove the original symlink explicitly.
7756
cbb3c83e 7757 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
7758 just one slash. That's how grub_fshelp_find_file() does it.
7759
cd0d5e30 77602009-05-26 Pavel Roskin <proski@gnu.org>
7761
f0f8bbe2 7762 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
7763 to `str'.
7764
cd0d5e30 7765 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
7766 possibly unused.
7767
8c2cab51 77682009-05-25 Christian Franke <franke@computer.org>
7769
7770 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
7771 register.
7772 (grub_atapi_identify): Add wait after drive select.
7773 (grub_ata_identify): Do more strict status register check before
7774 calling grub_atapi_identify (). Suppress error message if status
7775 register is 0x00 after command failure. Add status register
7776 check after PIO read to avoid bogus identify due to stuck DRQ.
7777 Thanks to Pavel Roskin for testing.
7778 (grub_device_initialize): Remove unsafe status register check.
7779 Thanks to 'phcoder' for problem report and patch.
7780 Prevent sign extension in debug message.
7781
230c0ad6 77822009-05-23 Colin D Bennett <colin@gibibit.com>
7783
7784 Cleaned up `include/grub/normal.h'. Grouped prototypes by
7785 definition file, and functions defined in `normal/menu.c' have had
7786 their prototypes moved to `include/grub/menu.h' for consistency.
7787
7788 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
7789 from normal.h.
7790 (grub_menu_get_entry): Likewise.
7791 (grub_menu_get_timeout): Likewise.
7792 (grub_menu_set_timeout): Likewise.
7793 (grub_menu_execute_entry): Likewise.
7794 (grub_menu_execute_with_fallback): Likewise.
7795 (grub_menu_entry_run): Likewise.
7796
7797 * include/grub/normal.h: Re-ordered and grouped function
7798 prototypes by file that the function is defined in.
7799 (grub_menu_execute_callback): Removed; moved to menu.h.
7800 (grub_menu_get_entry): Likewise.
7801 (grub_menu_get_timeout): Likewise.
7802 (grub_menu_set_timeout): Likewise.
7803 (grub_menu_execute_entry): Likewise.
7804 (grub_menu_execute_with_fallback): Likewise.
7805 (grub_menu_entry_run): Likewise.
7806 (grub_menu_addentry): Renamed from this ...
7807 (grub_normal_add_menu_entry): ... to this.
7808
7809 * normal/main.c (grub_menu_addentry): Renamed from this ...
7810 (grub_normal_add_menu_entry): ... to this.
7811
7812 * script/sh/execute.c (grub_script_execute_menuentry): Update
7813 reference to renamed grub_menu_addentry function.
7814
861f03a5 78152009-05-23 Felix Zielcke <fzielcke@z-51.de>
7816
7817 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
7818
96b1619a 78192009-05-22 Pavel Roskin <proski@gnu.org>
7820
bf6a5fb2 7821 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
7822 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
7823 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
7824 compiling for the i386 targets, but not for the utilities.
7825
96b1619a 7826 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
7827 to grub_uint8_t.
7828 (grub_root_drive): Likewise.
7829 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
7830 remove alignment.
7831 (grub_root_drive): Change size to byte.
7832 (grub_start_addr): Remove.
7833 (grub_end_addr): Likewise.
7834 (grub_apm_bios_info): Likewise.
7835
b729776b 78362009-05-21 Felix Zielcke <fzielcke@z-51.de>
7837
7838 * normal/i386: Remove.
7839 * normal/powerpc: Likewise.
7840 * normal/sparc64: Likewise.
7841 * normal/x86_64: Likewise.
7842
0a15ce80 78432009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 7846 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 7847 * loader/i386/xnu_helper.S: Likewise
d6da58e6 7848
33db9015 78492009-05-18 Colin D Bennett <colin@gibibit.com>
7850
d6da58e6 7851 Display error messages when parsing a Lua statement fails.
7852 Previously, executing a syntactically invalid statement like
7853 ")foo" or "bar;" would silently fail.
33db9015 7854
7855 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 7856 (grub_lua_parse_line): Improved reporting of Lua parser and
7857 execution errors.
33db9015 7858
46422c89 78592009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 Remove -Werror which causes build to fail on some systems
7862
7863 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
7864 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
7865 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 7866
22f53a96 78672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 trampoline for linux on 64-bit platform
7870
18f547ad 7871 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
7872 loader/i386/efi/linux_trampoline.S
7873 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 7874 declaration
d6da58e6 7875 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
7876 here
22f53a96 7877 * loader/i386/linux_trampoline.S: moved here
d6da58e6 7878 * loader/i386/efi/linux.c (allocate_pages): reserve space for
7879 trampoline
22f53a96 7880 (jumpvector): removed
7881 (grub_linux_trampoline_start): new declaration
7882 (grub_linux_trampoline_end): likewise
7883 (grub_linux_boot): use trampoline when on 64-bit platform
7884 * loader/i386/linux.c: likewise
7885
cb5a0f40 78862009-05-16 Pavel Roskin <proski@gnu.org>
7887
7888 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
7889 const to avoid a warning.
7890 (grub_lua_setenv): Likewise.
7891 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
7892 lmsg to fix a warning.
7893
334f2c28 78942009-05-16 Felix Zielcke <fzielcke@z-51.de>
7895
7896 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 7897 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7898 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
7899 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7900 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7901 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7902 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7903 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 7904
59e5d3ec 79052009-05-16 Felix Zielcke <fzielcke@z-51.de>
7906
7907 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
7908
9d87a1ba 79092009-05-16 Bean <bean123ch@gmail.com>
7910
7911 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
7912 (lua_mod_SOURCES): New variable.
7913 (lua_mod_CFLAGS): Likewise.
7914 (lua_mod_LDFLAGS): Likewise.
7915
7916 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
7917 (setjmp_mod_SOURCES): New variable.
7918 (setjmp_mod_CFLAGS): Likewise.
7919 (setjmp_LDFLAGS): Likewise.
7920
7921 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
7922 (setjmp_mod_SOURCES): New variable.
7923 (setjmp_mod_CFLAGS): Likewise.
7924 (setjmp_LDFLAGS): Likewise.
7925
7926 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7927 (setjmp_mod_SOURCES): New variable.
7928 (setjmp_mod_CFLAGS): Likewise.
7929 (setjmp_LDFLAGS): Likewise.
7930
7931 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7932 (setjmp_mod_SOURCES): New variable.
7933 (setjmp_mod_CFLAGS): Likewise.
7934 (setjmp_LDFLAGS): Likewise.
7935
7936 * normal/i386/setjmp.S: Moved from here ...
7937 * lib/i386/setjmp.S: ... Moved here
7938 * normal/x86_64/setjmp.S: Moved from here ...
7939 * lib/x86_64/setjmp.S: ... Moved here
7940 * normal/powerpc/setjmp.S: Moved from here ...
7941 * lib/powerpc/setjmp.S: ... Moved here
7942 * normal/sparc64/setjmp.S: Moved from here ...
7943 * lib/sparc64/setjmp.S: ... Moved here
7944
7945 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
7946 returns_twice in mingw.
7947
7948 * script/lua/grub_lib.c: New file.
7949 * script/lua/grub_lib.h: Likewise.
7950 * script/lua/grub_lua.h: Likewise.
7951 * script/lua/grub_main.c: Likewise.
7952 * script/lua/lapi.c: Likewise.
7953 * script/lua/lapi.h: Likewise.
7954 * script/lua/lauxlib.c: Likewise.
7955 * script/lua/lauxlib.h: Likewise.
7956 * script/lua/lbaselib.c: Likewise.
7957 * script/lua/lcode.c: Likewise.
7958 * script/lua/lcode.h: Likewise.
7959 * script/lua/ldblib.c: Likewise.
7960 * script/lua/ldebug.c: Likewise.
7961 * script/lua/ldebug.h: Likewise.
7962 * script/lua/ldo.c: Likewise.
7963 * script/lua/ldo.h: Likewise.
7964 * script/lua/ldump.c: Likewise.
7965 * script/lua/lfunc.c: Likewise.
7966 * script/lua/lfunc.h: Likewise.
7967 * script/lua/lgc.c: Likewise.
7968 * script/lua/lgc.h: Likewise.
7969 * script/lua/linit.c: Likewise.
7970 * script/lua/liolib.c: Likewise.
7971 * script/lua/llex.c: Likewise.
7972 * script/lua/llex.h: Likewise.
7973 * script/lua/llimits.h: Likewise.
7974 * script/lua/lmathlib.c: Likewise.
7975 * script/lua/lmem.c: Likewise.
7976 * script/lua/lmem.h: Likewise.
7977 * script/lua/loadlib.c: Likewise.
7978 * script/lua/lobject.c: Likewise.
7979 * script/lua/lobject.h: Likewise.
7980 * script/lua/lopcodes.c: Likewise.
7981 * script/lua/lopcodes.h: Likewise.
7982 * script/lua/loslib.c: Likewise.
7983 * script/lua/lparser.c: Likewise.
7984 * script/lua/lparser.h: Likewise.
7985 * script/lua/lstate.c: Likewise.
7986 * script/lua/lstate.h: Likewise.
7987 * script/lua/lstring.c: Likewise.
7988 * script/lua/lstring.h: Likewise.
7989 * script/lua/lstrlib.c: Likewise.
7990 * script/lua/ltable.c: Likewise.
7991 * script/lua/ltable.h: Likewise.
7992 * script/lua/ltablib.c: Likewise.
7993 * script/lua/ltm.c: Likewise.
7994 * script/lua/ltm.h: Likewise.
7995 * script/lua/lua.h: Likewise.
7996 * script/lua/luaconf.h: Likewise.
7997 * script/lua/lualib.h: Likewise.
7998 * script/lua/lundump.c: Likewise.
7999 * script/lua/lundump.h: Likewise.
8000 * script/lua/lvm.c: Likewise.
8001 * script/lua/lvm.h: Likewise.
8002 * script/lua/lzio.c: Likewise.
8003 * script/lua/lzio.h: Likewise.
8004
5e898c9d 80052009-05-16 Bean <bean123ch@gmail.com>
8006
8007 * include/grub/kernel.h (grub_module_header_types): Add type
8008 OBJ_TYPE_CONFIG.
8009
8010 * kern/main.c (grub_load_config): New function.
8011 (grub_main): Call grub_load_config to read boot config.
8012
8013 * grub-mkimage (generate_image): New parameter config_path.
8014 (options): New option --config.
8015 (main): Parse --config option, and pass it to generate_image.
8016
cf353a47 80172009-05-14 Christian Franke <franke@computer.org>
8018
8019 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
8020 This fixes build on Cygwin.
8021
3834887f 80222009-05-14 Pavel Roskin <proski@gnu.org>
8023
8024 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
8025 jump. This saves two bytes, so the typical case of 2 swapped
8026 drives would fit 32 bytes.
8027
8090fc01 80282009-05-13 Pavel Roskin <proski@gnu.org>
8029
ac963883 8030 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
8031 grub_uint32_t to avoid a warning.
8032
8090fc01 8033 * loader/i386/linux.c (allocate_pages): When assigning
8034 real_mode_mem, cast through grub_size_t to fix a warning. The
8035 code already makes sure that the value would fit a pointer.
8036 (grub_linux_setup_video): Cast render_target->data to
8037 grub_size_t to fix a warning.
8038
18f547ad 80392009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 8040
8041 * commands/i386/pc/drivemap.c: New file - implement drivemap
8042 command.
8043 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
8044 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
8045
6f6a8b28 80462009-05-13 Pavel Roskin <proski@gnu.org>
8047
8048 * util/i386/pc/grub-setup.c (setup): Remove unused variable
8049 embedding_area_exists.
8050
15fbf4c4 80512009-05-13 Robert Millan <rmh.grub@aybabtu.com>
8052
8053 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
8054 it easier to understand / work with.
59978c8a 8055 Improve warning messages for cases where there's no embedding area,
8056 or when it is too small (or core.img too large).
15fbf4c4 8057
238e871f 80582009-05-13 Pavel Roskin <proski@gnu.org>
8059
0ab3a9a4 8060 * loader/i386/pc/multiboot2.c: Add necessary includes for
8061 grub_multiboot2_real_boot().
8062
a2c8c5f8 8063 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
8064 PX record is always little-endian. We only need the lower 2
8065 bytes of the mode.
8066
faec96af 8067 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
8068 facilitate code reuse.
8069 (grub_cpio_mount): Use "struct head", not a char buffer. This
8070 fixes a warning reported by gcc 4.4.
8071
238e871f 8072 * kernel/disk.c (grub_disk_read): Use void pointer for the
8073 buffer.
8074 (grub_disk_write): Use const void pointer for the buffer.
8075 Adjust all callers. Remove unnecessary casts.
8076
901d2f0c 80772009-05-10 Robert Millan <rmh.grub@aybabtu.com>
8078
8079 * util/i386/pc/grub-install.in: Update copyright year.
8080
18f547ad 80812009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 8082
8083 gptsync
8084
8085 * commands/gptsync.c: new file
8086 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
8087 (gptsync_mod_SOURCES): new variable
8088 (gptsync_mod_CFLAGS): likewise
8089 (gptsync_mod_LDFLAGS): likewise
18f547ad 8090 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 8091 new definition
8092 (GRUB_PC_PARTITION_TYPE_HFS): likewise
8093 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
8094 * conf/i386-ieee1275.rmk: likewise
8095 * conf/i386-pc.rmk: likewise
8096 * conf/powerpc-ieee1275.rmk: likewise
8097
b4ba690a 80982009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 Fixed grub-emu
8101
8102 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
8103 (grub_dl_ref): likewise
8104
317e1a44 81052009-05-08 Robert Millan <rmh.grub@aybabtu.com>
8106
8107 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
8108 split in two functions (one for msdos and one for gpt).
8109
041b8094 81102009-05-08 Pavel Roskin <proski@gnu.org>
8111
752473c2 8112 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
8113 not modified.
8114
041b8094 8115 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
8116 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
8117 Initialize them with -1. Add sanity check for bad1. Eliminate
8118 nerr variable.
8119
172800ce 81202009-05-08 David S. Miller <davem@davemloft.net>
8121
8122 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
8123
29aa5e81 81242009-05-06 Robert Millan <rmh.grub@aybabtu.com>
8125
8126 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 8127 existence.
29aa5e81 8128
96613b62 81292009-05-05 Felix Zielcke <fzielcke@z-51.de>
8130
8131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 8132 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 8133
eef73c8a 81342009-05-05 David S. Miller <davem@davemloft.net>
8135
8136 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
8137
119494b5 81382009-05-05 Pavel Roskin <proski@gnu.org>
8139
8140 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
8141 of grub_dl_ref() and grub_dl_unref().
8142 * commands/parttool.c: Remove preprocessor conditionals around
8143 grub_dl_ref() and grub_dl_unref().
8144 * fs/affs.c: Likewise.
8145 * fs/afs.c: Likewise.
8146 * fs/cpio.c: Likewise.
8147 * fs/ext2.c: Likewise.
8148 * fs/fat.c: Likewise.
8149 * fs/hfs.c: Likewise.
8150 * fs/hfsplus.c: Likewise.
8151 * fs/iso9660.c: Likewise.
8152 * fs/jfs.c: Likewise.
8153 * fs/minix.c: Likewise.
8154 * fs/ntfs.c: Likewise.
8155 * fs/reiserfs.c: Likewise.
8156 * fs/sfs.c: Likewise.
8157 * fs/udf.c: Likewise.
8158 * fs/ufs.c: Likewise.
8159 * fs/xfs.c: Likewise.
8160 * include/grub/dl.h: Likewise.
8161 * loader/xnu.c: Likewise.
8162
de5fd76e 81632009-05-04 Pavel Roskin <proski@gnu.org>
8164
8165 * commands/acpi.c: Remove unused variable my_mod.
8166 * partmap/amiga.c: Likewise.
8167 * partmap/apple.c: Likewise.
8168 * partmap/gpt.c: Likewise.
8169 * partmap/pc.c: Likewise.
8170 * partmap/sun.c: Likewise.
8171 * term/gfxterm.c: Likewise.
8172 * term/i386/pc/vesafb.c: Likewise.
8173 * term/i386/pc/vga.c: Likewise.
8174
983598ad 81752009-05-04 David S. Miller <davem@davemloft.net>
8176
8177 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
8178 pointer args to grub_ieee1275_get_property().
8179
8aadec43 8180 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
8181
9554b15e 8182 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
8183 devices, and do not traverse down under controller nodes.
8184
67e23c90 8185 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
8186 (grub_ofdisk_open): Use it to un-escape "," characters.
8187 * kern/disk.c (find_part_sep): New.
8188 (grub_disk_open): Use it to find the first non-escaped ','
8189 character in the disk name.
8190 * util/ieee1275/devicemap.c (escape_of_path): New.
8191 (grub_util_emit_devicemap_entry): Use it.
8192 * util/sparc64/ieee1275/grub-install.in: Update script to
8193 strip partition specifiers properly by not triggering on
8194 '\' escaped ',' characters.
8195
74bfdd2f 81962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8197
8198 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
8199 to 0x300.
8200 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
8201 resolutions.
8202 (linux_vesafb_modes): Add a lot of additional modes to the list (based
8203 on documentation from Wikipedia).
8204
4241d2b1 82052009-05-04 Pavel Roskin <proski@gnu.org>
8206
8207 * disk/ata.c: Spelling fixes.
8208 * disk/raid.c: Likewise.
8209 * disk/usbms.c: Likewise.
8210 * disk/dmraid_nvidia.c: Likewise.
8211 * kern/ieee1275/openfw.c: Likewise.
8212 * kern/ieee1275/init.c: Likewise.
8213 * kern/ieee1275/cmain.c: Likewise.
8214 * boot/i386/pc/cdboot.S: Likewise.
8215 * video/readers/png.c: Likewise.
8216 * video/i386/pc/vbe.c: Likewise.
8217 * fs/udf.c: Likewise.
8218 * fs/hfs.c: Likewise.
8219 * fs/reiserfs.c: Likewise.
8220 * efiemu/runtime/efiemu.c: Likewise.
8221 * efiemu/main.c: Likewise.
8222 * efiemu/mm.c: Likewise.
8223 * include/grub/elf.h: Likewise.
8224 * include/grub/xnu.h: Likewise.
8225 * include/grub/usbdesc.h: Likewise.
8226 * include/grub/usb.h: Likewise.
8227 * include/grub/script_sh.h: Likewise.
8228 * include/grub/lib/LzmaEnc.h: Likewise.
8229 * include/grub/efiemu/efiemu.h: Likewise.
8230 * include/grub/command.h: Likewise.
8231 * normal/menu.c: Likewise.
8232 * normal/main.c: Likewise.
8233 * normal/datetime.c: Likewise.
8234 * bus/usb/uhci.c: Likewise.
8235 * mmap/i386/uppermem.c: Likewise.
8236 * mmap/mmap.c: Likewise.
8237 * commands/acpi.c: Likewise.
8238 * commands/test.c: Likewise.
8239 * partmap/apple.c: Likewise.
8240 * font/font.c: Likewise.
8241 * loader/sparc64/ieee1275/linux.c: Likewise.
8242 * loader/macho.c: Likewise.
8243 * loader/i386/bsd_trampoline.S: Likewise.
8244 * loader/i386/bsd.c: Likewise.
8245 * loader/xnu.c: Likewise.
8246 * term/i386/pc/vesafb.c: Likewise.
8247 * term/usb_keyboard.c: Likewise.
8248 * util/resolve.c: Likewise.
8249 * util/getroot.c: Likewise.
8250
0cfc0083 82512009-05-04 Felix Zielcke <fzielcke@z-51.de>
8252
8253 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
8254
7c1d00cd 82552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8256
8257 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
8258 build error.
8259
b01f0548 82602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8261
8262 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
8263 parameter only available on BIOS.
8264
ecc3eb22 82652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 Removed wrong semicolon in declaration
8268
8269 * grub/misc.h (grub_dprintf): remove semicolon
8270
112972a9 82712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8272
8273 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8274 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8275 is done by grub_cmd_linux() now).
8276 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8277 restore video to text mode.
8278 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8279 indicates lack of "vga=" parameter. "vga=0" is mapped to
8280 `GRUB_LINUX_VID_MODE_NORMAL'.
8281
afd5c115 82822009-05-04 Felix Zielcke <fzielcke@z-51.de>
8283
8284 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8285 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8286 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 8287 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 8288 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8289 `grub_script.tab.c'.
8290
8291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8296
faa517ce 8297 * Makefile.in: Remove duplicated 2008 in Copyright line.
8298
ae0c0bdc 82992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8300
473d1e45 8301 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 8302 unconditionally.
8303 * include/grub/util/misc.h (grub_util_warn): New declaration.
8304
8305 * util/i386/pc/grub-install.in: Understand --force and pass it down
8306 to grub-setup.
8307
8308 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8309 down to setup().
8310 (setup): Improve error messages and add warnings when requested to
8311 install in odd layouts. Refuse to install using blocklists unless
8312 --force was set.
8313
18f547ad 83142009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8315
8316 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8317
6d260daa 83182009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 Updated copyright year
8321
8322 * fs/hfsplus.c: updated copyright year
18f547ad 8323
69f853f8 83242009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 HFS+ UUID
8327
18f547ad 8328 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8329 in the space previously used by unused3
8330 (grub_hfsplus_uuid): new function
8331 (grub_hfsplus_fs): added uuid field
8332
4c402e73 83332009-05-03 Pavel Roskin <proski@gnu.org>
8334
8335 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8336 suppress warnings. It's no longer needed.
8337 * disk/host.c: Likewise.
8338 * disk/ata_pthru.c: Likewise.
8339 * disk/loopback.c: Likewise.
8340 * hook/datehook.c: Likewise.
8341 * parttool/pcpart.c: Likewise.
8342 * fs/i386/pc/pxe.c: Likewise.
8343 * fs/ntfscomp.c: Likewise.
8344 * efiemu/main.c: Likewise.
8345 * mmap/mmap.c: Likewise.
8346 * commands/crc.c: Likewise.
8347 * commands/hexdump.c: Likewise.
8348 * commands/hdparm.c: Likewise.
8349 * commands/acpi.c: Likewise.
8350 * commands/echo.c: Likewise.
8351 * commands/minicmd.c: Likewise.
8352 * commands/blocklist.c: Likewise.
8353 * commands/memrw.c: Likewise.
8354 * commands/loadenv.c: Likewise.
8355 * commands/usbtest.c: Likewise.
8356 * commands/lsmmap.c: Likewise.
8357 * commands/boot.c: Likewise.
8358 * commands/parttool.c: Likewise.
8359 * commands/configfile.c: Likewise.
8360 * commands/search.c: Likewise.
8361 * commands/ieee1275/suspend.c: Likewise.
8362 * commands/cat.c: Likewise.
8363 * commands/i386/pc/pxecmd.c: Likewise.
8364 * commands/i386/pc/play.c: Likewise.
8365 * commands/i386/pc/halt.c: Likewise.
8366 * commands/i386/pc/vbeinfo.c: Likewise.
8367 * commands/i386/pc/vbetest.c: Likewise.
8368 * commands/lspci.c: Likewise.
8369 * commands/date.c: Likewise.
8370 * commands/handler.c: Likewise.
8371 * commands/ls.c: Likewise.
8372 * commands/test.c: Likewise.
8373 * commands/cmp.c: Likewise.
8374 * commands/efi/loadbios.c: Likewise.
8375 * commands/efi/fixvideo.c: Likewise.
8376 * commands/halt.c: Likewise.
8377 * commands/help.c: Likewise.
8378 * commands/reboot.c: Likewise.
8379 * hello/hello.c: Likewise.
8380 * script/sh/main.c: Likewise.
8381 * loader/xnu.c: Likewise.
8382 * term/terminfo.c: Likewise.
8383 * term/i386/pc/serial.c: Likewise.
8384 * term/usb_keyboard.c: Likewise.
8385
515b5079 83862009-05-03 David S. Miller <davem@davemloft.net>
8387
8388 * normal/menu.c: Include grub/parser.h
8389
dfc31a22 83902009-05-03 Pavel Roskin <proski@gnu.org>
8391
2fee74f1 8392 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8393 not char*.
8394 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8395 Suggested by Javier Martín <lordhabbit@gmail.com>
8396
dfc31a22 8397 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8398 efiemu??.o doesn't exist.
8399 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8400 copying.
8401
18f547ad 84022009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 8403
8404 FreeBSD 64-bit support
8405
18f547ad 8406 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 8407 and loader/i386/bsd_trampoline.S
8408 (bsd_mod_ASFLAGS): new variable
8409 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8410 (FREEBSD_MODTYPE_KERNEL64): likewise
8411 (grub_bsd64_trampoline_start): likewise
8412 (grub_bsd64_trampoline_end): likewise
8413 (grub_bsd64_trampoline_selfjump): likewise
8414 (grub_bsd64_trampoline_gdt): likewise
8415 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8416 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8417 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8418 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 8419 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 8420 of "attrib" member
8421 * loader/i386/bsd_pagetable.c: new file
8422 * loader/i386/bsd_trampoline.S: likewise
8423 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8424 (ALIGN_VAR): likewise
8425 (entry_hi): new variable
8426 (kern_end_mdofs): likewise
8427 (is_64bit): likewise
8428 (grub_freebsd_add_meta): use ALIGN_VAR
8429 (grub_e820_mmap): new declaration
8430 (grub_freebsd_add_mmap): new function
8431 (grub_freebsd_add_meta_module): support 64 bit kernels
8432 (grub_freebsd_list_modules): use ALIGN_VAR
8433 (gdt_descriptor): new declaration
8434 (grub_freebsd_boot): support 64 bit kernels
8435 (grub_bsd_elf64_hook): new function
8436 (grub_bsd_load_elf): support elf64
8437
038c5720 84382009-05-03 Bean <bean123ch@gmail.com>
8439
8440 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8441 after we get the result of if statement.
8442
fc45fb58 84432009-05-03 Bean <bean123ch@gmail.com>
8444
8445 * Makefile.in (enable_efiemu): New variable.
8446
8447 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
8448 set.
8449 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
8450 path.
8451 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
8452 path, add -mno-red-zone option.
8453 (efiemu64_s.o): Likewise.
8454 (efiemu64.o): Use macro $^ for source file.
8455
8456 * configure.ac (--enable-efiemu): New option.
8457
bbee0f2b 84582009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 xnu support
8461
8462 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8463 (pkglib_MODULES): add xnu.mod
8464 (xnu_mod_SOURCES): new variable
8465 (xnu_mod_CFLAGS): likewise
8466 (xnu_mod_LDFLAGS): likewise
8467 (xnu_mod_ASFLAGS): likewise
8468 * conf/i386-pc.rmk: likewise
8469 * conf/x86_64-efi.rmk: likewise
7dd4a573 8470 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8471 new declaration
8472 * include/grub/i386/macho.h: new file
8473 * include/grub/i386/xnu.h: likewise
8474 * include/grub/macho.h: likewise
8475 * include/grub/machoload.h: likewise
8476 * include/grub/x86_64/macho.h: likewise
8477 * include/grub/x86_64/xnu.h: likewise
8478 * include/grub/xnu.h: likewise
8479 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8480 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8481 * loader/i386/efi/xnu.c: new file
8482 * loader/i386/pc/xnu.c: likewise
8483 * loader/i386/xnu.c: likewise
8484 * loader/i386/xnu_helper.S: likewise
8485 * loader/macho.c: likewise
8486 * loader/xnu.c: likewise
8487 * loader/xnu_resume.c: likewise
8488 * util/grub-dumpdevtree: likewise
8489 * include/grub/i386/pit.h: include grub/err.h
8490 (grub_pit_wait): export
8491 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8492
5caf964d 84932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 Efiemu
7dd4a573 8496
5caf964d 8497 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8498 _linux_efi, linux_efi.
8499 new files in grub-emu
5caf964d 8500 new targets efiemu32.o and efiemu64.o
8501 * loader/linux_normal_efiemu.c: likewise
8502 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8503 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8504 files to copy
8505 * include/grub/autoefi.h: new file
7dd4a573 8506 * include/grub/i386/efiemu.h: likewise
5caf964d 8507 * include/grub/i386/pc/efiemu.h: likewise
8508 * include/grub/efi/api.h: add LL suffix when necessary
8509 new definitions relating to tables
8510 * include/grub/efiemu/efiemu.h: new file
8511 * include/grub/efiemu/runtime.h: likewise
8512 * efiemu/prepare.c: likewise
8513 * efiemu/loadcore_common.c: likewise
8514 * efiemu/loadcore64.c: likewise
8515 * efiemu/runtime/efiemu.sh: likewise
8516 * efiemu/runtime/efiemu.S: likewise
8517 * efiemu/runtime/efiemu.c: likewise
8518 * efiemu/runtime/config.h: likewise
8519 * efiemu/prepare32.c: likewise
8520 * efiemu/main.c: likewise
8521 * efiemu/modules/pnvram.c: likewise
8522 * efiemu/modules/i386: likewise
8523 * efiemu/modules/i386/pc: likewise
8524 * efiemu/modules/acpi.c: likewise
8525 * efiemu/i386/pc/cfgtables.c: likewise
8526 * efiemu/i386/loadcore64.c: likewise
8527 * efiemu/i386/loadcore32.c: likewise
8528 * efiemu/prepare64.c: likewise
8529 * efiemu/loadcore.c: likewise
8530 * efiemu/symbols.c: likewise
8531 * efiemu/mm.c: likewise
8532 * efiemu/loadcore32.c: likewise
7dd4a573 8533
85342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 8535
8536 ACPI spoofing
8537
8538 * commands/acpi.c: new file
8539 * commands/i386/pc/acpi.c: likewise
8540 * commands/efi/acpi.c: likewise
8541 * include/grub/acpi.h: likewise
8542 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
8543 (acpi_mod_SOURCES): new variable
8544 (acpi_mod_CFLAGS): likewise
8545 (acpi_mod_LDFLAGS): likewise
8546 * conf/i386-efi.rmk: likewise
8547 * conf/x86_64-efi.rmk: likewise
8548
7dd4a573 85492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 8550
8551 Missing part from mmap patch
8552
8553 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
8554 (grub_mmap_unregister)
8555 (grub_mmap_free_and_unregister): use grub_mmap_register
8556
7dd4a573 85572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 8558
8559 Mmap services
8560
8561 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
8562 * loader/i386/linux.c (find_mmap_size): likewise
8563 (allocate_pages): likewise
8564 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
8565 (grub_fill_multiboot_mmap): likewise
8566 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
8567 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
8568 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
8569 (OPENBSD_MMAP_RESERVED): likewise
8570 * include/grub/i386/pc/memory.h: include grub/memory.h
8571 (grub_lower_mem): removed
8572 (grub_upper_mem): likewise
8573 (GRUB_MACHINE_MEMORY_ACPI): new definition
8574 (GRUB_MACHINE_MEMORY_NVS): likewise
8575 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
8576 (GRUB_MACHINE_MEMORY_HOLE): likewise
8577 (grub_machine_mmap_register): likewise
8578 (grub_machine_mmap_unregister): likewise
8579 (grub_machine_get_upper): likewise
8580 (grub_machine_get_lower): likewise
8581 (grub_machine_get_post64): likewise
8582 * include/grub/i386/efi/memory.h: new file
8583 * include/grub/x86_64/efi/memory.h: likewise
8584 * include/grub/efi/memory.h: likewise
8585 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
8586 (mmap_mod_SOURCES): new variable
8587 (mmap_mod_LDFLAGS): likewise
8588 (mmap_mod_ASFLAGS): likewise
8589 * conf/i386-coreboot.rmk: likewise
8590 * conf/i386-ieee1275.rmk: likewise
8591 * conf/i386-efi.rmk: likewise
8592 * conf/x86_64-efi.rmk: likewise
8593 * include/grub/types.h (UINT_TO_PTR): new macro
8594 (PTR_TO_UINT32): likewise
8595 (PTR_TO_UINT64): likewise
8596 * include/grub/memory.h: new file
8597 * mmap/i386/pc/mmap.c: likewise
8598 * mmap/i386/pc/mmap_helper.S: likewise
8599 * mmap/i386/uppermem.c: likewise
8600 * mmap/mmap.c: likewise
8601 * mmap/efi/mmap.c: likewise
7dd4a573 8602 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 8603 grub_upper_mem
8604 * kern/i386/pc/init.c (grub_lower_mem): removed variable
8605 (grub_upper_mem): likewise
8606 (grub_machine_init): don't use grub_upper_mem,
8607 make grub_lower_mem local
8608 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
8609 grub_mmap_iterate and grub_mmap_get_upper
8610 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
8611
d558e6b5 86122009-05-02 Bean <bean123ch@gmail.com>
8613
8614 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
8615 script/sh/parser.y.
8616 (pkglib_MODULES): Add normal.mod and sh.mod.
8617 (normal_SOURCES): New variable.
8618 (normal_mod_CFLAGS): Likewise.
8619 (normal_mod_LDFLAGS): Likewise.
8620 (sh_mod_SOURCES): Likewise.
8621 (sh_mod_CFLAGS): Likewise.
8622 (sh_mod_LDFLAGS): Likewise.
8623
8624 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
8625 script/sh/lexer.c_DEPENDENCIES.
8626 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
8627 kern/rescue_reader.c and kern/rescue_parser.c.
8628 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
8629 (grub_emu_SOURCES): Change source files.
8630 (pkglib_MODULES): Remove normal.mod.
8631 (normal_SOURCES): Removed.
8632 (normal_mod_CFLAGS): Likewise.
8633 (normal_mod_LDFLAGS): Likewise.
8634 * conf/i386-coreboot.rmk: Likewise.
8635 * conf/i386-efi.rmk: Likewise.
8636 * conf/i386-ieee1276.rmk: Likewise.
8637 * conf/powerpc-ieee1275.rmk: Likewise.
8638 * conf/sparc64-ieee1275.rmk: Likewise.
8639 * conf/x86_64-efi.rmk: Likewise.
8640
8641 * include/grub/command.h (grub_command_execute): New inline function.
8642
8643 * include/grub/menu.h (grub_menu_entry): Removed commands field.
8644
8645 * include/grub/normal.h: Remove <grub/setjmp.h>.
8646 (grub_fs_module_list): Moved to normal/autofs.c.
8647 (grub_exit_env): Removed.
8648 (grub_command_execute): Likewise.
8649 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
8650 parameter script.
8651 (read_command_list): New function declaration.
8652 (read_fs_list): Likewise.
8653
8654 * include/parser.h: Include <grub/reader.h>.
8655 (grub_parser_split_cmdline): Change type of getline parameter.
8656 (grub_parser): New structure.
8657 (grub_parser_class): New variable.
8658 (grub_parser_execute): New function declaration.
8659 (grub_register_rescue_parser): Likewise.
8660 (grub_parser_register): New inline function.
8661 (grub_parser_unregister): Likewise.
8662 (grub_parser_get_current): Likewise.
8663 (grub_parser_set_current): Likewise.
8664
8665 * include/grub/reader.h: New file.
8666 * kern/reader.c: Likewise.
8667 * kern/rescue_parser.c: Likewise.
8668 * kern/rescue_reader.c: Likewise.
8669 * normal/autofs.c: Likewise.
8670 * normal/dyncmd.c: Likewise.
8671
8672 * include/grub/rescue.h: Removed.
8673 * normal/command.h: Likewise.
8674
8675 * include/grub/script.h: Moved to ...
8676 * include/grub/script_sh.h: ... Moved here.
8677 * normal/execute.c: Moved to ...
8678 * script/sh/execute.c: ... Moved here.
8679 * normal/function.c: Moved to ...
8680 * script/sh/function.c: ... Moved here.
8681 * normal/lexer.c: Moved to ...
8682 * script/sh/lexer.c: ... Moved here.
8683 * normal/parser.y: Moved to ...
8684 * script/sh/parser.y: ... Moved here.
8685 * normal/script.c: Moved to ...
8686 * script/sh/script.c: ... Moved here.
8687
8688 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
8689 <grub/reader.h>.
8690 (grub_exit_env): Removed.
8691 (fs_module_list): Moved to normal/autofs.c.
8692 (grub_file_getline): Don't handle comment here.
8693 (free_menu): Skip removed field entry->commands.
8694 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
8695 script parameter.
8696 (read_config_file): Removed nested parameter, change getline function.
8697 (grub_enter_normal_mode): Removed.
8698 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
8699 (read_command_list): Likewise.
8700 (autoload_fs_module): Moved to normal/autofs.c.
8701 (read_fs_list): Likewise.
8702 (reader_nested): New variable.
8703 (grub_normal_execute): Run parser.sh to switch to sh parser.
8704 (grub_cmd_rescue): Removed.
8705 (cmd_normal): Removed.
8706 (grub_cmd_normal): Unregister itself at the beginning. Don't register
8707 rescue command.
8708 (grub_cmdline_run): New function.
8709 (grub_normal_reader_init): Likewise.
8710 (grub_normal_read_line): Likewise.
8711 (grub_env_write_pager): Likewise.
8712 (cmdline): New variable.
8713 (grub_normal_reader): Likewise.
8714 (GRUB_MOD_INIT): Register normal reader and set as current, register
8715 pager hook, register normal command with grub_register_command_prio,
8716 so that it won't show up in command.lst.
8717 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
8718 grub_fs_autoload_hook.
8719
8720 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
8721 (grub_menu_execute_entry): Replace grub_script_execute with
8722 grub_parser_execute, change parameter to grub_command_execute.
8723
8724 * normal/menu_text.c: Remove <grub/script.h>.
8725
8726 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
8727 and <grub/parser.h>.
8728 (run): Change editor_getline to use new parser interface. Change
8729 parameter to grub_command_execute.
8730
8731 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
8732 <grub/reader.h> and <grub/parser.h>.
8733 (grub_load_normal_mode): Execute normal command.
8734 (grub_main): Call grub_register_core_commands,
8735 grub_register_rescue_parser and grub_register_rescue_reader, use
8736 grub_reader_loop to enter input loop.
8737
7dd4a573 8738 * kern/parser.c (grub_parser_split_cmdline): Change type of
8739 getline parameter.
d558e6b5 8740 (grub_parser_class): New variable.
8741 (grub_parser_execute): New function.
8742
8743 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
8744 * loader/multiboot2.c: Likewise.
8745 * loader/sparc64/ieee1275/linux.c: Likewise.
8746
8747 * util/grub-emu.c (read_command_list): New dummy function.
8748
18db813d 87492009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8750
8751 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
8752 count to 16 for CCISS and IDA.
8753
6c67de15 87542009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8755
8756 * normal/menu_text.c (grub_wait_after_message): Print a newline
8757 after waiting for user input.
8758
8759 * loader/i386/linux.c: Include `<grub/normal.h>'.
8760 (grub_cmd_linux): Improve the error message about `ask' mode, by
8761 waiting for user input so it's not missed (we can do this, since
8762 user requested interaction).
8763
d9dc87b0 87642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 Added missing lst to grub-mkrescue
8767
8768 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
8769 and ${input_dir}/parttool.lst
8770
ac8a2baa 87712009-04-30 David S. Miller <davem@davemloft.net>
8772
ad22a610 8773 * util/hostdisk.c (device_is_wholedisk): New function.
8774 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
8775 zero only if device_is_wholedisk() returns true.
8776
6966215d 8777 * util/hostdisk.c (convert_system_partition_to_system_disk):
8778 Handle virtual disk devices named /dev/vdiskX as found on sparc
8779 and powerpc.
8780
ac8a2baa 8781 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
8782 lettered partition specifier is found, convert to numbered.
8783
979b4fb4 87842009-04-29 David S. Miller <davem@davemloft.net>
8785
e2bf39b2 8786 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
8787 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8788
3c64e104 8789 * normal/command.c: Add missing newline at end of file.
8790
979b4fb4 8791 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
8792 warnings.
8793 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
8794 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
8795 grub_ofdisk_read): Likewise, and deal similarly with the fact that
8796 ihandles have a 32-bit type but need to be stored in a "void *".
8797
136d9f82 87982009-04-28 Pavel Roskin <proski@gnu.org>
8799
9459c306 8800 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
8801 not disk. Adjust all dependencies.
2e08a26a 8802 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 8803 grub_disk_close().
8804
136d9f82 8805 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
8806 parent's partition, don't copy it by reference, as it gets freed
8807 on close.
8808
7dd4a573 88092009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 8810
8811 Preboot hooks support
8812
8813 * commands/boot.c (struct grub_preboot_t): new declaration
8814 (preboots_head): new variable
8815 (preboots_tail): likewise
8816 (grub_loader_register_preboot_hook): new function
8817 (grub_loader_unregister_preboot_hook): likewise
8818 (grub_loader_set): launch preboot hooks
8819 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
8820 (grub_loader_register_preboot_hook): new declaration
8821 (grub_loader_unregister_preboot_hook): likewise
8822
5af922b5 88232009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 Warning fix
8826
7dd4a573 8827 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 8828 calling grub_dprintf
8829
a5562c30 88302009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 Bug and warning fixes
8833
7dd4a573 8834 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 8835 declaration
8836 * commands/test.c (test_parse): fixed bug with file tests and corrected
8837 declaration of find_file
8838
4006f85c 88392009-04-26 Pavel Roskin <proski@gnu.org>
8840
8841 * Makefile.in: Don't install empty manual pages if help2man is
8842 missing. Use help2man option for output, not shell redirection.
8843
5c77c3de 88442009-04-26 David S. Miller <davem@davemloft.net>
8845
8846 * util/grub-mkdevicemap.c (make_device_map): Add missing
8847 NESTED_FUNC_ATTR to process_device().
8848
033b10a8 88492009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 Test command
8852
8853 * commands/test.c: rewritten to use bash-like test
8854
e4343593 88552009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Parttool autoloading and improvements
8858
7dd4a573 8859 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 8860 (parttool.lst): new target
8861 * genmk.rb: generate parttool-*
8862 (CLEANFILES): add #{parttool}
8863 (PARTTOOLFILES): new variable
8864 * genparttoollist.sh: new file
7dd4a573 8865 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 8866 (grub_pcpart_type): likewise
8867 * commands/parttool.c (helpmsg): new variable
8868 (grub_cmd_parttool): output help if not enough arguments are supplied
8869 autoload modules
8870 (GRUB_MOD_INIT(parttool)): use helpmsg
8871
0d312500 88722009-04-24 David S. Miller <davem@davemloft.net>
8873
7dd4a573 8874 Avoiding opening same device multiple times in device iterator.
0d312500 8875
8876 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 8877 and use it to build a list of partitions in iterate_disk() and
0d312500 8878 iterate_partition().
8879
ac20caff 8880 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
8881 on disk->data.
8882
0dcf7495 8883 * disk/ieee1275/nand.c (grub_nand_iterate): Return
8884 grub_devalias_iterate() result instead of unconditional 0.
8885 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
8886 Also, capture hook return value, either directly or via
8887 grub_children_iterate(), and propagate to caller.
8888 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
8889 grub_children_iterate): Return value is now 'int' instead of
8890 'grub_err_t'.
8891 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
8892 like a proper iterator, stopping when hooks return non-zero.
8893 (grub_devalias_iterate): Likewise.
8894
c8c08833 88952009-04-23 David S. Miller <davem@davemloft.net>
8896
8897 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
8898
f01005a8 88992009-04-22 David S. Miller <davem@davemloft.net>
8900
8901 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
8902 is larger than address_cells, use that value for address_cells too.
8903
4e8269da 8904 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
8905 IEEE1275_MAX_PATH_LEN): Define.
8906 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
8907 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
8908 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
8909 'devtype'. Explicitly NULL terminate devalias expansion.
8910
a1447506 8911 * util/sparc64/ieee1275/misc.c: New file.
8912 * util/sparc64/ieee1275/grub-setup.c: New file.
8913 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
8914 * util/sparc64/ieee1275/grub-mkimage.c: New file.
8915 * util/sparc64/ieee1275/grub-install.in: New file.
8916 * util/ieee1275/ofpath.c: New file.
8917 * util/ieee1275/devicemap.c: New file.
8918 * util/devicemap.c: New file.
8919 * util/deviceiter.c: New file.
8920 * kern/sparc64/ieee1275/init.c: New file.
8921 * include/grub/util/ofpath.h: New file.
8922 * include/grub/util/deviceiter.h: New file.
8923 * util/grub-mkdevicemap.c: Include deviceiter.h.
8924 Implement using grub_util_emit_devicemap_entry and
8925 grub_util_iterate_devices.
8926 * conf/i386-corebook.rmk: Build util/deviceiter.c and
8927 util/devicemap.c into grub-mkdevicemap
8928 * conf/i386-efi.rmk: Likewise.
8929 * conf/i386-ieee1275.rmk: Likewise.
8930 * conf/i386-pc.rmk: Likewise.
8931 * conf/powerpc-ieee1275.rmk: Likewise.
8932 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
8933 images and installation utilities. Build kernel as image
8934 instead of as elf binary. Use common rules as much as possible.
8935
7dd4a573 89362009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 8937
8938 Correct GPT definition
8939
7dd4a573 8940 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 8941 of "attrib" member
8942
c6c5219f 89432009-04-19 Felix Zielcke <fzielcke@z-51.de>
8944
8945 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
8946
0552ff9f 89472009-04-19 David S. Miller <davem@davemloft.net>
8948
8949 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
8950 (grub_rescue_cmd_linux): Rename to...
8951 (grub_cmd_linux): and fix prototype.
8952 (grub_rescue_cmd_initrd): Rename to...
8953 (grub_cmd_initrd): and fix prototype.
8954 (cmd_linux, cmd_initrd): New.
8955 (GRUB_MOD_INIT(linux)): Use grub_register_command().
8956 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
8957
d1a282fc 89582009-04-17 Pavel Roskin <proski@gnu.org>
8959
07c5039f 8960 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
8961 format.
8962 (grub_ohci_transfer): Likewise.
8963
b012002d 8964 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
8965
1bc09c35 8966 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
8967 return without a value. Fix inconsistent indentation.
8968
e0ff9126 8969 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
8970 match struct grub_fs.
8971
d1a282fc 8972 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
8973 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
8974 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8975 * commands/lspci.c (grub_lspci_iter): Likewise.
8976
a96df3f2 89772009-04-16 Bean <bean123ch@gmail.com>
8978
8979 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
8980 value.
8981
41bb0fe9 89822009-04-15 Pavel Roskin <proski@gnu.org>
8983
8984 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
8985 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
8986 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
8987 definitions.
8988
596c6970 89892009-04-15 Felix Zielcke <fzielcke@z-51.de>
8990
8991 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 8992 that no multiple data or metadata areas are supported and `Unknown
596c6970 8993 metadata header'.
8994
7dd4a573 89952009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 8996
8997 Move loader out of the kernel
8998
8999 * kern/loader.c: moved to ...
9000 * commands/boot.c: ... moved here
9001 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9002 * commands/boot.c (grub_cmd_boot): moved here. All users updated
9003 * include/grub/kernel.h (grub_machine_fini): export
9004 * include/grub/loader.h (grub_loader_is_loaded): update declaration
9005 (grub_loader_set): likewise
9006 (grub_loader_unset): likewise
9007 (grub_loader_boot): likewise
9008 * conf/common.rmk: new module boot.mod
9009 (pkglib_MODULES): add boot.mod
9010 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
9011 (grub_emu_SOURCES): likewise
9012 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
9013 (grub_emu_SOURCES): likewise
9014 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
9015 (grub_emu_SOURCES): likewise
9016 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
9017 (grub_emu_SOURCES): likewise
9018 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
9019 (grub_emu_SOURCES): likewise
7dd4a573 9020 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
9021 (grub_emu_SOURCES): likewise
0d5d5653 9022 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 9023 (grub_emu_SOURCES): likewise
0d5d5653 9024
7dd4a573 90252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 9026
9027 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 9028
5999d619 9029 * kern/misc.c (grub_itoa): Removed function
9030 (grub_ltoa): likewise
9031 (grub_vsprintf): use grub_lltoa
9032
7dd4a573 90332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 9034
9035 Restore grub-emu
9036
9037 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
9038 * conf/i386-coreboot.rmk: likewise
9039 * conf/i386-ieee1275.rmk: likewise
9040 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9041
20318222 90422009-04-15 Felix Zielcke <fzielcke@z-51.de>
9043
9044 * INSTALL: Add that `./autogen.sh' needs to be run before
9045 `./configure.'.
9046
d05f0df3 90472009-04-14 Bean <bean123ch@gmail.com>
9048
9049 * Makefile.in (pkglib_DATA): Add handler.lst.
9050 (handler.lst): New rule.
9051
9052 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
9053 * conf/i386-coreboot.rmk: Likewise.
9054 * conf/i386-ieee1275.rmk: Likewise.
9055 * conf/i386-efi.rmk: Likewise.
9056 * conf/x86_64-efi.rmk: Likewise.
9057 * conf/powerpc-ieee1275.rmk: Likewise.
9058 * conf/sparc64-ieee1275.rmk: Likewise.
9059
9060 * genhandlerlist.sh: New file.
9061
9062 * genmk.rb: Add rules to generate handler.lst.
9063
9064 * include/grub/normal.h (grub_file_getline): New function definition.
9065 (read_handler_list): Likewise.
9066 (free_handler_list): Likewise.
9067
9068 * include/grub/term.h (grub_term_register_input): Add name parameter
9069 for auto generation of handler.lst.
9070 (grub_term_register_output): Likewise.
9071
9072 * normal/handler.c: New file.
9073
9074 * normal/main.c (get_line): Renamed to grub_file_getline.
9075 (read_config_file): Use the newly renamed grub_file_getline.
9076 (read_command_list): Likewise.
9077 (read_fs_list): Likewise.
9078 (grub_normal_execute): Call read_handler_list to parse handler.lst.
9079 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
9080
9081 * term/efi/console.c (grub_console_init): Add name parameter for auto
9082 generation of handler.lst.
9083 * term/gfxterm.c: Likewise.
9084 * term/i386/pc/at_keyboard.c: Likewise.
9085 * term/i386/pc/console.c: Likewise.
9086 * term/i386/pc/serial.c: Likewise.
9087 * term/i386/pc/vesafb.c: Likewise.
9088 * term/i386/pc/vga.c: Likewise.
9089 * term/i386/pc/vga_text.c: Likewise.
9090 * term/ieee1275/ofconsole.c: Likewise.
9091 * term/usb_keyboard.c: Likewise.
9092
33c846be 90932009-04-14 Bean <bean123ch@gmail.com>
9094
9095 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
9096 properly with null character.
9097
4484e01e 90982009-04-14 Felix Zielcke <fzielcke@z-51.de>
9099
9100 * configure: Remove.
9101 * config.h.in: Likewise.
f93d668e 9102 * stamp-h.in: Likewise.
4484e01e 9103 * DISTLIST: Likewise.
9104 * conf/common.mk: Likewise.
9105 * conf/i386-coreboot.mk: Likewise.
9106 * conf/i386-efi.mk: Likewise.
9107 * conf/i386-ieee1275.mk: Likewise.
9108 * conf/i386.mk: Likewise.
9109 * conf/i386-pc.mk: Likewise.
9110 * conf/powerpc-ieee1275.mk: Likewise.
9111 * conf/sparc64-ieee1275.mk: Likewise.
9112 * conf/x86_64-efi.mk: Likewise.
9113
9114 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
9115 develop on GRUB.
9116
7dd4a573 91172009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 9118 David S. Miller <davem@davemloft.net>
9119
9120 * util/hostdisk.c (make_device_name): Fix buffer length
9121 calculations.
9122
e25b5a8c 91232009-04-14 Felix Zielcke <fzielcke@z-51.de>
9124
9125 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
9126 <sys/param.h> and <sys/sysctl.h>.
9127 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
9128 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
9129 opening the device and reset them afterwards.
9130
1f1f580c 91312009-04-13 Pavel Roskin <proski@gnu.org>
9132
9133 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
9134 Reported by John Stanley <jpsinthemix@verizon.net>
9135
7ebc2d6b 91362009-04-13 Robert Millan <rmh@aybabtu.com>
9137
9138 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 9139 that name for menuentries when appropriate.
7ebc2d6b 9140
d8ba3667 91412009-04-13 Felix Zielcke <fzielcke@z-51.de>
9142
9143 * util/grub.d/10_freebsd.in: Add a missing `fi'.
9144
cba416eb 91452009-04-13 Robert Millan <rmh@aybabtu.com>
9146
9147 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
9148 to Linux, simply abort telling the user it's no longer supported.
9149
a547a745 91502009-04-13 Felix Zielcke <fzielcke@z-51.de>
9151
9152 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 9153 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 9154 `freebsd_loadenv' only when devices.hints exist.
9155
232a769c 91562009-04-13 Pavel Roskin <proski@gnu.org>
9157
9158 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
9159
c3012039 91602009-04-13 Felix Zielcke <fzielcke@z-51.de>
9161
9162 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
9163 partition number.
9164 (grub_drive): Likewise.
9165
234022fe 91662009-04-13 David S. Miller <davem@davemloft.net>
9167
9168 * kern/sparc64/ieee1275/ieee1275.c: New file.
9169 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
9170 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
9171 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
9172 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
9173 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
9174 grub_ieee1275_alloc_physmem): Declare new exported functions.
9175
d8e1836c 9176 * include/grub/sparc64/ieee1275/loader.h: New file.
9177 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9178 * include/grub/sparc64/kernel.h: Likewise.
9179 * loader/sparc64/ieee1275/linux.c: Likewise.
9180
96bd81ec 9181 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
9182 (grub_fstest_SOURCES): Likewise.
9183
6a4737e5 9184 * util/hostdisk.c (make_device_name): Do not make any assumptions
9185 about the length of drive names.
9186
1d7a72fd 9187 * kern/dl.c (grub_dl_load_file): Close file immediately when
9188 we are done using it.
9189
56bc2471 91902009-04-12 David S. Miller <davem@davemloft.net>
9191
9192 * kern/misc.c (grub_ltoa): Fix cast when handling negative
9193 values. Noticed by Pavel Roskin.
9194
df38d0bb 9195 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
9196 target compiler.
7dd4a573 9197
e382e93a 9198 * genmk.rb: Add more flexible image type specification, also
9199 pass --strip-unneeded to objcopy.
9200 * conf/i386-pc.rmk: Use *_FORMAT.
9201 * conf/i386-pc.mk: Rebuilt.
9202
f5dbbca9 9203 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
9204 (OFDISK_HASH_SZ): Define.
9205 (ofdisk_hash): New hash table.
9206 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
9207 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
9208 instead of device phandle which is not unique.
9209
91c88b12 9210 * kern/sparc64/ieee1275/init.c: Delete, replace with...
9211 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
9212 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
9213 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
9214 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
9215 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
9216 GRUB_KERNEL_MACHINE_DATA_END): Define.
9217 (grub_kernel_image_size, grub_total_module_size): Declare.
9218
5b5d4aa5 92192009-04-12 Pavel Roskin <proski@gnu.org>
9220
7dd4a573 9221 * configure.ac: Change the logic when we check for target tools.
9222 Do it when the target is specified and it's different from the
9223 specified value of the host.
5b5d4aa5 9224
c91e1793 92252009-04-11 Felix Zielcke <fzielcke@z-51.de>
9226
9227 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
9228 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
9229 GNU/kFreeBSD. Check if a device is a character device. Use
9230 DIOCGMEDIASIZE to get the size.
9231 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
9232 support for GNU/kFreeBSD.
9233 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
9234 is a character device instead of a block device. Add support for
9235 FreeBSD device names.
9236
9237 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
9238 is a character device instead of a block device.
9239
9240 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
9241 is a character device instead of a block device.
9242
b1ac8644 92432009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
9244
9245 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
9246 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
9247 FreeBSD. Check if a device is a character device. Use
9248 DIOCGMEDIASIZE to get the size.
9249 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
9250 support for FreeBSD.
9251 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
9252 is a character device instead of a block device. Add support for
9253 FreeBSD device names.
9254
9255 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
9256 a character device instead of a block device.
9257 (grub_util_check_char_device): New function.
9258
9259 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
9260 a character device instead of a block device.
9261
9262 * include/grub/util/getroot.h (grub_util_check_char_device): New
9263 prototype.
9264
a3f7515a 92652009-04-11 David S. Miller <davem@davemloft.net>
9266
9267 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
9268 static libgcc.
9269 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
9270 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
9271 function, if present.
9272 (__bswapdi2): Likewise.
9273
0d44993d 9274 * include/grub/sparc64/ieee1275/boot.h: New file.
9275 * boot/sparc64/ieee1275/boot.S: Likewise.
9276 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9277
ed3d2bc2 9278 * kern/misc.c (grub_ltoa): New function.
9279 (grub_vsprintf): Use it to format 'long' integers.
9280
d3bfb59c 92812009-04-10 David S. Miller <davem@davemloft.net>
9282
9283 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9284 slots are of type grub_ieee1275_cell_t.
9285 (grub_nand_read): Likewise.
9286 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9287 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9288 macros are used to compare values in arg/ret block of the call.
9289 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9290 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9291 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9292 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9293 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9294 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9295 grub_ieee1275_close, grub_ieee1275_set_property,
9296 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9297 grub_ieee1275_cell_t.
9298 * kern/ieee1275/openfw.c (grub_map): Likewise.
9299 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9300 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9301
450e2238 9302 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9303 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9304 (grub_devalias_iterate): Likewise.
9305
7dd4a573 93062009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 9307
9308 UFS improvements
9309
9310 * fs/ufs.c (INODE_NBLOCKS): new definition
9311 (struct grub_ufs_dirent): added fields for non-BSD dirents
9312 (grub_ufs_get_file_block): fixed double indirect handling
9313 (grub_ufs_lookup_symlink): use more robust way to determine whether
9314 symlink is inline
9315 (grub_ufs_find_file): support for non-BSD dirents
9316 (grub_ufs_dir): support for non-BSD dirents
9317
e7e6862a 93182009-04-10 Bean <bean123ch@gnail.com>
9319
9320 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9321 attribute, otherwise the size would be wrong for i386 platform.
9322
9323 * include/grub/pci.h (grub_pci_read_word): New inline function.
9324 (grub_pci_read_byte): Likewise.
9325 (grub_pci_write): Likewise.
9326 (grub_pci_write_word): Likewise.
9327 (grub_pci_write_byte): Likewise.
9328
9329 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9330
9331 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9332 (find_framebuf): Scan pci to locate the frame buffer address.
9333
9334 * commands/efi/fixvideo.c: New file.
9335
9336 * commands/efi/loadbios.c: Likewise.
9337
9338 * commands/memrw.c: Likewise.
9339
9340 * util/grub-dumpbios.in: Likewise.
9341
9342 * conf/common.rmk (grub-dumpbios): New utility.
9343 (pkglib_MODULES): New module memrw.mod.
9344 (memrw_mod_SOURCE): New macro.
9345 (memrw_mod_CFLAGS): Likewise.
9346 (memrw_mod_LDFLAGS): Likewise.
9347
7dd4a573 9348 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9349 fixvideo.mod.
9350 (loadbios_mod_SOURCE): New macro.
9351 (loadbios_mod_CFLAGS): Likewise.
9352 (loadbios_mod_LDFLAGS): Likewise.
9353 (fixvideo_mod_SOURCE): Likewise.
9354 (fixvideo_mod_CFLAGS): Likewise.
9355 (fixvideo_mod_LDFLAGS): Likewise.
9356
7dd4a573 9357 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9358 fixvideo.mod.
9359 (loadbios_mod_SOURCE): New macro.
9360 (loadbios_mod_CFLAGS): Likewise.
9361 (loadbios_mod_LDFLAGS): Likewise.
9362 (fixvideo_mod_SOURCE): Likewise.
9363 (fixvideo_mod_CFLAGS): Likewise.
9364 (fixvideo_mod_LDFLAGS): Likewise.
9365
af63ada2 93662009-04-08 Felix Zielcke <fzielcke@z-51.de>
9367
9368 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9369
c2cdde70 93702009-04-07 David S. Miller <davem@davemloft.net>
9371
9372 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9373 support for R_SPARC_OLO10 relocations. Fix compile warning for
9374 R_SPARC_WDISP30 case.
ea3f72cf 9375 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 9376
761319cf 93772009-04-06 Pavel Roskin <proski@gnu.org>
9378
1007d1f5 9379 * include/grub/misc.h (ARRAY_SIZE): New macro.
9380 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9381 New macro.
9382 * loader/i386/linux.c (allocate_pages): Use free_pages().
9383 (grub_linux_unload): Don't use free_pages().
9384 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9385 wrong index. Treat all other modes as text modes.
9386 (grub_cmd_linux): Initialize vid_mode unconditionally to
9387 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9388
761319cf 9389 * commands/help.c (print_command_help): Use cmd->prio, not
9390 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9391
ea761d40 93922009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 9393
ea761d40 9394 Parttool
9395
9396 * parttool/pcpart.c: new file
9397 * commands/parttool.c: likewise
9398 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9399 (parttool_mod_SOURCES): new variable
9400 (parttool_mod_CFLAGS): likewise
9401 (parttool_mod_LDFLAGS): likewise
9402 (pcpart_mod_SOURCES): likewise
9403 (pcpart_mod_CFLAGS): likewise
9404 (pcpart_mod_LDFLAGS): likewise
7dd4a573 9405 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 9406 and parttool/pcpart.c
9407 * conf/i386-efi.rmk: likewise
9408 * conf/i386-ieee1275.rmk: likewise
9409 * conf/i386-pc.rmk: likewise
9410 * conf/powerpc-ieee1275.rmk: likewise
9411 * conf/sparc64-ieee1275.rmk: likewise
9412 * conf/x86_64-ieee1275.rmk: likewise
9413
05aaebfb 94142009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 Support for mtime and further expandability of dir command
9417
9418 * include/grub/lib/datetime.h: moved to ...
7dd4a573 9419 * include/grub/datetime.h: ... moved here and added
05aaebfb 9420 declaration of grub_unixtime2datetime. All users updated
7dd4a573 9421 * include/grub/fs.h: new syntax for dir and mtime functions in
9422 struct grub_fs
05aaebfb 9423 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9424 and GRUB_FSHELP_FLAGS_MASK
9425 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9426 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9427 (grub_ext2_mtime): new function
9428 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9429 (grub_hfsplus_mtime): new function
9430 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9431 (GRUB_UFS_ATTR_FILE): likewise
9432 (GRUB_UFS_ATTR_LNK): likewise
9433 (struct grub_ufs_sblock): new fields mtime
9434 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9435 all users updated
9436 (grub_ufs_dir): mtime support
9437 (grub_ufs_mtime): new function
9438 * fs/affs.c (grub_affs_dir): use new dir syntax
9439 * fs/afs.c (grub_afs_dir): likewise
9440 * fs/cpio.c (grub_cpio_dir): likewise
9441 * fs/fat.c (grub_fat_find_dir): likewise
9442 * fs/hfs.c (grub_hfs_dir): likewise
9443 * fs/iso9660.c (grub_iso9660_dir): likewise
9444 * fs/jfs.c (grub_jfs_dir): likewise
9445 * fs/minix.c (grub_minix_dir): likewise
9446 * fs/ntfs.c (grub_ntfs_dir): likewise
9447 * fs/reiserfs.c (grub_reiserfs_dir): likewise
9448 * fs/sfs.c (grub_sfs_dir): likewise
9449 * fs/xfs.c (grub_xfs_dir): likewise
9450 * util/hostfs.c (grub_hostfs_dir): likewise
9451 * lib/datetime.c: moved to ...
9452 * normal/datetime.c: ... moved here
9453 (grub_unixtime2datetime): new function
9454 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 9455 * normal/completion.c (iterate_dir): use new dir syntax
9456 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 9457 last modification time of a volume
7dd4a573 9458 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 9459 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 9460 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 9461 (normal_mod_SOURCES): likewise
9462 (datetime_mod_SOURCES): Removed lib/datetime.c
9463 * conf/i386-efi.rmk: likewise
7dd4a573 9464 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9465 * conf/i386-pc.rmk: likewise
9466 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9467 * conf/sparc64-ieee1275.rmk: likewise
9468 * conf/x86_64-efi.rmk: likewise
05aaebfb 9469
8a7e1a14 94702009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9473
9474 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9475 on grub_fat_find_dir
9476 (grub_fat_find_dir): use grub_fat_iterate_dir
9477 (grub_fat_label): likewise
9478
04186a9c 94792009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9480
7dd4a573 9481 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9482 and command.h
9483 remove extraneous kernel_elf_HEADERS
9484
da4c0bb6 94852009-04-04 Bean <bean123ch@gnail.com>
9486
9487 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9488
9489 * util/misc.c: Likewise.
9490
54ad9555 94912009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9492
9493 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9494 instead of grub_printf.
9495
7a6bf9f2 94962009-04-03 Robert Millan <rmh@aybabtu.com>
9497
9498 * loader/i386/linux.c (grub_linux_setup_video): Fill
9499 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9500 values from `mode info' structure instead of hardcoded
9501 values.
9502
3fcc2083 95032009-04-01 Pavel Roskin <proski@gnu.org>
9504
9505 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9506 unused now.
9507 * genmk.rb: Likewise.
9508 * configure.ac: Likewise.
9509
5ec9740b 95102009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9511
9512 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9513 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9514
5270cec8 95152009-04-01 David S. Miller <davem@davemloft.net>
9516
9517 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9518 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9519 (grub_setjmp): Mark with 'returns_twice' attribute.
9520 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
9521 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
9522 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
9523
9c3dd854 95242009-04-01 Robert Millan <rmh@aybabtu.com>
9525
9526 Reapply fix from 2008-07-28 which was accidentally reverted; also
9527 perform the same fix to a similar check in same function.
9528
9529 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9530 with the same number are found, just use issue a warning with
9531 grub_dprintf(), as this error has been reported to be non-fatal.
9532
0d818b7e 95332009-03-31 Pavel Roskin <proski@gnu.org>
9534
9535 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
9536 for cross-compilation.
9537
95646d92 95382009-03-30 Robert Millan <rmh@aybabtu.com>
9539
9540 Fix i386-ieee1275 build.
9541
9542 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
9543 Remove declaration.
9544
6a003ed1 95452009-03-30 Pavel Roskin <proski@gnu.org>
9546
9547 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
9548 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
9549 zero-terminated, rely only on the strlen value. Fix comparison
9550 of strings differing in length.
9551
92f33540 95522009-03-30 Robert Millan <rmh@aybabtu.com>
9553
9554 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
9555 checking for abi version. Improve error messages on BIOS to notify
9556 user about `linux16' command.
9557
a8c48fd5 95582009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9559
f968172e 9560 Leak fixes
a8c48fd5 9561
f968172e 9562 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
9563 in case of collision
9564 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 9565
9c323f09 95662009-03-29 Robert Millan <rmh@aybabtu.com>
9567
9568 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
9569 set `vid_mode' accordingly.
9570 (grub_linux_boot): Process `vid_mode' and set video mode.
9571
ae68f423 95722009-03-29 Robert Millan <rmh@aybabtu.com>
9573
9574 * util/grub.d/10_linux.in (linux_entry): New function.
9575 Factorize generation of Linux boot entries.
9576
5709cfc4 95772009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
9578
9579 Make the format of Environment Block plain text. The boot loader
9580 part is not tested well yet.
7dd4a573 9581
5709cfc4 9582 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
9583 (buffer): Removed.
9584 (envblk): Likewise.
9585 (usage): Remove "info" and "clear". Add "unset". Update the
9586 description of "set", as this does not delete variables any
9587 longer.
9588 (create_envblk_file): Complete rewrite.
9589 (open_envblk_file): Likewise.
9590 (cmd_info): Removed.
9591 (cmd_list): Likewise.
9592 (cmd_set): Likewise.
9593 (cmd_clear): Likewise.
9594 (list_variables): New function.
9595 (write_envblk): Likewise.
9596 (set_variables): Likewise.
9597 (unset_variables): Likewise.
9598 (main): Complete rewrite.
9599
9600 * commands/loadenv.c (buffer): Removed.
9601 (envblk): Likewise.
9602 (open_envblk_file): New function.
9603 (read_envblk_file): Complete rewrite.
9604 (grub_cmd_load_env): Likewise.
9605 (grub_cmd_list_env): Likewise.
9606 (struct blocklist): New struct.
9607 (free_blocklists): New function.
9608 (check_blocklists): Likewise.
9609 (write_blocklists): Likewise.
9610 (grub_cmd_save_env): Complete rewrite.
9611
9612 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
9613 a plain text signature.
9614 (GRUB_ENVBLK_MAXLEN): Removed.
9615 (struct grub_envblk): Complete rewrite.
9616 (grub_envblk_find): Removed.
9617 (grub_envblk_insert): Likewise.
9618 (grub_envblk_open): New prototype.
9619 (grub_envblk_set): Likewise.
9620 (grub_envblk_delete): Put const to VALUE.
9621 (grub_envblk_iterate): Put const to NAME and VALUE.
9622 (grub_envblk_close): New prototype.
9623 (grub_envblk_buffer): New inline function.
9624 (grub_envblk_size): Likewise.
9625
9626 * lib/envblk.c: Include grub/mm.h.
9627 (grub_env_find): Removed.
9628 (grub_envblk_open): New function.
9629 (grub_envblk_close): Likewise.
9630 (escaped_value_len): Likewise.
9631 (find_next_line): Likewise.
9632 (grub_envblk_insert): Removed.
9633 (grub_envblk_set): New function.
9634 (grub_envblk_delete): Complete rewrite.
9635 (grub_envblk_iterate): Likewise.
9636
a9368fd3 96372009-03-28 Robert Millan <rmh@aybabtu.com>
9638
9639 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
9640 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
9641 variables. Use 16-bit loader.
9642 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
9643 loader.
9644 * kern/i386/loader.S (grub_linux_boot): Rename to ...
9645 (grub_linux16_boot): ... this. Update all users.
9646 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
9647 (grub_linux_boot): ... this. Update all users.
9648
9649 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
9650 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
9651 commands to `linux16' and `initrd16'.
9652 (GRUB_MOD_FINI(linux)): Rename to ...
9653 (GRUB_MOD_FINI(linux16)): ... this.
9654
e4dd5a7e 96552009-03-24 Pavel Roskin <proski@gnu.org>
9656
9657 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
9658 not just for compilation.
9659
c04d6e05 96602009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 Move multiboot helper out of kernel
9663
9664 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
9665 `loader/i386/multiboot_helper.S'.
9666 * conf/i386-coreboot.rmk: Likewise
9667 * conf/i386-ieee1275.rmk: Likewise
9668
9669 * kern/i386/loader.S: Move multiboot helpers from here...
9670 * loader/i386/multiboot_helper.S: ...moved here
9671 * include/grub/i386/loader.h: Move declarations of multiboot
9672 helpers from here...
9673 * include/grub/i386/multiboot.h: ...moved here
9674 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
9675
42a5b3fc 96762009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9677
9678 * kern/env.c (grub_env_context_open): Added an argument to specify
9679 whether a new context inherits exported variables from current
9680 one. This is useful when making a sandbox to interpret a config
9681 file.
9682 All callers updated.
9683
9684 * include/grub/env.h (grub_env_context_open): Updated the prototype.
9685
b28bbc4e 96862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9687
9688 * kern/env.c (grub_env_context_close): Fix memory leaks.
9689
f04f02e4 96902009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9691
9692 * normal/main.c (grub_normal_execute): Added an argument
9693 BATCH to specify if an interactive interface should be provided
9694 after reading a config file.
9695 All callers updated.
9696 (read_command_list): Prevent being executed twice.
9697 (read_fs_list): Likewise.
9698
42a5b3fc 9699 * include/grub/normal.h (grub_normal_execute): Updated the
9700 prototype.
f04f02e4 9701
41473ac2 97022009-03-22 Pavel Roskin <proski@gno.org>
9703
fbc00b0c 9704 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
9705 _start.
9706 * kern/i386/pc/startup.S: Likewise.
9707 * kern/i386/efi/startup.S: Likewise.
9708 * kern/i386/ieee1275/startup.S: Likewise.
9709 * kern/i386/coreboot/startup.S: Likewise.
9710 * kern/x86_64/efi/startup.S: Likewise.
9711
41473ac2 9712 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
9713 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
9714 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
9715
2274cc8f 97162009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 Bugfixes in multiboot for bugs uncovered by solaris kernel.
9719
9720 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
9721 limit detection.
9722 Use vaddr of correct segment for entry_point.
9723
b1b797cb 97242009-03-21 Bean <bean123ch@gmail.com>
9725
9726 * commands/blocklist.c: Add include file <grub/command.h>, remove
9727 <grub/normal.h> and <grub/arg.h>.
9728 (grub_cmd_blocklist): Use the new command interface.
9729 (GRUB_MOD_INIT): Likewise.
9730 (GRUB_MOD_FINI): Likewise.
9731 * commands/boot.c: Likewise.
9732 * commands/cat.c: Likewise.
9733 * commands/cmp.c: Likewise.
9734 * commands/configfile.c: Likewise.
9735 * commands/crc.c: Likewise.
9736 * commands/echo.c: Likewise.
9737 * commands/halt.c: Likewise.
9738 * commands/handler.c: Likewise.
9739 * commands/hdparm.c: Likewise.
9740 * commands/help.c: Likewise.
9741 * commands/hexdump.c: Likewise.
9742 * commands/loadenv.c: Likewise.
9743 * commands/ls.c: Likewise.
9744 * commands/lsmmap.c: Likewise.
9745 * commands/lspci.c: Likewise.
9746 * commands/loadenv.c: Likewise.
9747 * commands/read.c: Likewise.
9748 * commands/reboot.c: Likewise.
9749 * commands/search.c: Likewise.
9750 * commands/sleep.c: Likewise.
9751 * commands/test.c: Likewise.
9752 * commands/usbtest.c: Likewise.
9753 * commands/videotest.c: Likewise.
9754 * commands/i386/cpuid.c: Likewise.
9755 * commands/i386/pc/halt.c: Likewise.
9756 * commands/i386/pc/play.c: Likewise.
9757 * commands/i386/pc/pxecmd.c: Likewise.
9758 * commands/i386/pc/vbeinfo.c: Likewise.
9759 * commands/i386/pc/vbetest.c: Likewise.
9760 * commands/ieee1275/suspend.c: Likewise.
9761 * disk/loopback.c: Likewise.
9762 * font/font_cmd.c: Likewise.
9763 * hello/hello.c: Likewise.
9764 * loader/efi/appleloader.c: Likewise.
9765 * loader/efi/chainloader.c: Likewise.
9766 * loader/i386/bsd.c: Likewise.
9767 * loader/i386/efi/linux.c: Likewise.
9768 * loader/i386/ieee1275/linux.c: Likewise.
9769 * loader/i386/linux.c: Likewise.
9770 * loader/i386/pc/chainloader.c: Likewise.
9771 * loader/i386/pc/linux.c: Likewise.
9772 * loader/powerpc/ieee1275/linux.c: Likewise.
9773 * loader/multiboot_loader.c: Likewise.
9774 * term/gfxterm.c: Likewise.
9775 * term/i386/pc/serial.c: Likewise.
9776 * term/terminfo.c: Likewise.
9777
9778 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
9779 * term/i386/pc/vga.c: Likewise.
9780 * video/readers/jpeg.c: Likewise.
9781 * video/readers/png.c: Likewise.
9782 * video/readers/tga.c: Likewise.
9783
9784 * util/grub-fstest (cmd_loopback): Removed.
9785 (cmd_blocklist): Likewise.
9786 (cmd_ls): Likewise.
9787 (grub_register_command): Likewise.
9788 (grub_unregister_command): Likewise.
9789 (execute_command): Use grub_command_find to locate command and execute
9790 it.
9791
9792 * include/grub/efi/chainloader.h: Removed.
9793 * loader/efi/chainloader_normal.c: Likewise.
9794 * loader/i386/bsd_normal.c: Likewise.
9795 * loader/i386/pc/chainloader_normal.c: Likewise.
9796 * loader/i386/pc/multiboot_normal.c: Likewise.
9797 * loader/linux_normal.c: Likewise.
9798 * loader/multiboot_loader_normal.c: Likewise.
9799 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
9800
9801 * gencmdlist.sh: Scan new registration command grub_register_extcmd
9802 and grub_register_command_p1.
9803
9804 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
9805 kern/command.c, lib/arg.c and commands/extcmd.c.
9806 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
9807 (minicmd_mod_SOURCES): New variable.
9808 (minicmd_mod_CFLAGS): Likewise.
9809 (minicmd_mod_LDFLAGS): Likewise.
9810 (extcmd_mod_SOURCES): Likewise.
9811 (extcmd_mod_CFLAGS): Likewise.
9812 (extcmd_mod_LDFLAGS): Likewise.
9813 (boot_mod_SOURCES): Removed.
9814 (boot_mod_CFLAGS): Likewise.
9815 (boot_mod_LDFLAGS): Likewise.
9816
9817 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
9818 kern/corecmd.c.
9819 (kernel_img_HEADERS): Add command.h.
9820 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
9821 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
9822 and lib/arg.c.
9823 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
9824 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
9825 remove the corresponding normal mode command.
9826 (normal_mod_SOURCES): Remove normal/arg.c.
9827 * conf/i386-coreboot.rmk: Likewise.
9828 * conf/i386-efi.rmk: Likewise.
9829 * conf/i386-ieee1275.rmk: Likewise.
9830 * conf/powerpc-ieee1275.rmk: Likewise.
9831 * conf/x86_64-efi.rmk: Likewise.
9832
9833 * include/grub/arg.h: Move from here ...
9834 * include/grub/lib/arg.h: ... to here.
9835
9836 * normal/arg.c: Move from here ...
9837 * lib/arg.c: ... to here.
9838
9839 * commands/extcmd.c: New file.
9840 * commands/minicmd.c: Likewise.
9841 * include/grub/command.h: Likewise.
9842 * include/grub/extcmd.h: Likewise.
9843 * kern/command.c: Likewise.
9844 * kern/corecmd.c: Likewise.
9845
9846 * kern/list.c (grub_list_iterate): Return int instead of void.
9847 (grub_list_insert): New function.
9848 (grub_prio_list_insert): Likewise.
9849
9850 * kern/rescue.c (grub_rescue_command): Removed.
9851 (grub_rescue_command_list): Likewise.
9852 (grub_rescue_register_command): Likewise.
9853 (grub_rescue_unregister_command): Likewise.
9854 (grub_rescue_cmd_boot): Move to minicmd.c
9855 (grub_rescue_cmd_help): Likewise.
9856 (grub_rescue_cmd_info): Likewise.
9857 (grub_rescue_cmd_boot): Likewise.
9858 (grub_rescue_cmd_testload): Likewise.
9859 (grub_rescue_cmd_dump): Likewise.
9860 (grub_rescue_cmd_rmmod): Likewise.
9861 (grub_rescue_cmd_lsmod): Likewise.
9862 (grub_rescue_cmd_exit): Likewise.
9863 (grub_rescue_print_devices): Moved to corecmd.c.
9864 (grub_rescue_print_files): Likewise.
9865 (grub_rescue_cmd_ls): Likewise.
9866 (grub_rescue_cmd_insmod): Likewise.
9867 (grub_rescue_cmd_set): Likewise.
9868 (grub_rescue_cmd_unset): Likewise.
7d074e3c 9869 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 9870 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 9871 commands, remove grub_rescue_register_command calls.
b1b797cb 9872
7d074e3c 9873 * normal/command.c (grub_register_command): Removed.
b1b797cb 9874 (grub_unregister_command): Likewise.
9875 (grub_command_find): Likewise.
9876 (grub_iterate_commands): Likewise.
9877 (rescue_command): Likewise.
9878 (export_command): Moved to corecmd.c.
9879 (set_command): Removed.
9880 (unset_command): Likewise.
9881 (insmod_command): Likewise.
9882 (rmmod_command): Likewise.
9883 (lsmod_command): Likewise.
9884 (grub_command_init): Likewise.
9885
9886 * normal/completion.c (iterate_command): Use cmd->prio to check for
9887 active command.
9888 (complete_arguments): Use grub_extcmd_t structure to find options.
9889 (grub_normal_do_completion): Change function grub_iterate_commands to
9890 grub_command_iterate.
9891
9892 * normal/execute.c (grub_script_execute_cmd): No need to parse
9893 argument here.
9894
9895 * normal/main.c (grub_dyncmd_dispatcher): New function.
9896 (read_command_list): Register unload commands as dyncmd.
9897 (grub_cmd_normal): Use new command interface, register rescue,
9898 unregister normal at entry, register normal, unregister rescue at exit.
9899
9900 * include/grub/list.h (grub_list_test_t): New type.
9901 (grub_list_iterate): Return int instead of void.
9902 (grub_list_insert): New function.
9903 (GRUB_AS_NAMED_LIST_P): New macro.
9904 (GRUB_AS_PRIO_LIST): Likewise.
9905 (GRUB_AS_PRIO_LIST_P): Likewise.
9906 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
9907 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
9908 (grub_prio_list): New structure.
9909 (grub_prio_list_insert): New function.
9910 (grub_prio_list_remove): New inline function.
9911
9912 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
9913 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
9914 (GRUB_COMMAND_FLAG_MENU): Likewise.
9915 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9916 (GRUB_COMMAND_FLAG_TITLE): Likewise.
9917 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9918 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
9919 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
9920 (grub_command): Likewise.
9921 (grub_register_command): Likewise.
9922 (grub_command_find): Likewise.
9923 (grub_iterate_commands): Likewise.
9924 (grub_command_init): Likewise.
9925 (grub_arg_parse): Likewise.
9926 (grub_arg_show_help): Likewise.
9927
9928 * include/grub/rescue.h (grub_rescue_register_command): Removed.
9929 (grub_rescue_unregister_command): Likewise.
9930
9931 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
9932 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
9933 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
9934
9935 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
9936 grub_rescue_cmd_initrd.
9937 * include/grub/i386/loader.h: Likewise.
9938 * include/grub/x86_64/loader.h: Likewise.
9939
9940 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
9941
1f4147aa 99422009-03-21 Bean <bean123ch@gmail.com>
9943
9944 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
9945 instead of stat in mingw environment.
9946
9947 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
9948
9949 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
9950
9951 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
9952 AC_CONFIG_LINKS.
9953
2156d5ba 99542009-03-21 Bean <bean123ch@gmail.com>
9955
9956 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
9957 out of range error.
9958
177b82ca 99592009-03-18 Michel Dänzer <michel@daenzer.net>
9960
9961 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
9962 checking inode flags for EXT4_EXTENTS_FLAG.
9963
14aad807 99642009-03-18 Robert Millan <rmh@aybabtu.com>
9965
9966 * loader/i386/linux.c: Include `<grub/video.h>' and
9967 `<grub/i386/pc/vbe.h>'..
9968 (grub_linux_setup_video): New function. Loosely based on the EFI one.
9969 (grub_linux32_boot): Attempt to configure video settings with
9970 grub_linux_setup_video().
9971 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
9972 to avoid grub_console_fini() which would step out of graphical mode
9973 unconditionally.
9974
8cf83a27 99752009-03-14 Robert Millan <rmh@aybabtu.com>
9976
9977 Fix build on powerpc.
9978 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
9979
40164e75 99802009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
9983 background image command.
9984
c58bc32a 99852009-03-12 Colin D Bennett <colin@gibibit.com>
9986
9987 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
9988 (grub_gfxterm_putchar): Extract pairs of identical calls to
9989 draw_cursor out of conditional blocks.
9990
5415144a 99912009-03-11 Pavel Roskin <proski@gnu.org>
9992
9993 * fs/hfs.c (grub_hfs_strncasecmp): New function.
9994 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
9995
6394042e 99962009-03-11 Robert Millan <rmh@aybabtu.com>
9997
9998 * loader/i386/multiboot_elfxx.c
9999 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10000
b7b50e5f 100012009-03-11 Felix Zielcke <fzielcke@z-51.de>
10002
10003 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
10004 `kern/handler.c'.
10005
1ca7fc96 100062009-03-11 Robert Millan <rmh@aybabtu.com>
10007
10008 * loader/i386/multiboot.c (code_size): New variable.
10009 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 10010 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 10011 4-byte alignment to MBI and others by increasing
7d074e3c 10012 `boot_loader_name_length' appropriately.
1ca7fc96 10013
10014 * loader/i386/multiboot_elfxx.c
10015 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
10016
a83ea1d2 100172009-03-09 Felix Zielcke <fzielcke@z-51.de>
10018
10019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
10020 `fs/ext2.c'.
10021
aa9f3bff 100222009-03-08 Robert Millan <rmh@aybabtu.com>
10023
10024 Make loader/i386/linux.c usable on i386-pc again.
10025
10026 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
10027 memory to heap.
10028 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
10029 `#error' stanza.
10030
d8b3b60e 100312009-03-07 Bean <bean123ch@gmail.com>
10032
10033 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
10034 allocation.
10035
b362c9e9 100362009-03-06 Robert Millan <rmh@aybabtu.com>
10037
10038 Fix display issue on terminals with screen size other than 80x25
10039 (e.g. gfxterm with resolution higher than 640x480).
10040
10041 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 10042 position relative to the center of the terminal instead of relying
b362c9e9 10043 on a hardcoded offset.
10044
9304eef1 100452009-03-04 Robert Millan <rmh@aybabtu.com>
10046
10047 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
10048 installed.
10049
10050 * Makefile.in (host_kernel): New variable.
10051 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
10052 scripts instead of just the windows one.
10053 * configure.ac: Initialize and AC_SUBST `host_kernel'.
10054
eabc95fb 100552009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 10056
10057 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
10058 `kern/handler.c'.
10059 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10060 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10061 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10063 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10064 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10065
ceb1223c 100662009-03-04 Felix Zielcke <fzielcke@z-51.de>
10067
10068 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
10069 or if there's no space for the disk label and print the partition number on a
10070 invalid magic.
10071
4910684a 100722009-03-04 Felix Zielcke <fzielcke@z-51.de>
10073
10074 * util/misc.c: Include <time.h>.
10075 (grub_millisleep): New function.
10076
7e9ca17a 100772009-03-04 Bean <bean123ch@gmail.com>
10078
10079 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
10080 another option -mno-red-zone.
10081
10082 * commands/handler.c: Change module description.
10083
10084 * kern/handler.c: Add missing space at the end of description line.
10085
10086 * kern/list.c: Likewise.
10087
f501677c 100882009-03-03 Robert Millan <rmh@aybabtu.com>
10089
10090 Move more components to the relocation area, and fix mbi pointer
10091 handling to use the destination rather than the origin (thanks to
10092 Vladimir Serbinenko for spotting).
10093
10094 * loader/i386/multiboot.c (mbi_dest): New variable.
10095 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
10096 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
10097 relocation area.
10098
9902d047 100992009-03-01 Bean <bean123ch@gmail.com>
10100
50fb7002 10101 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 10102 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
10103 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
10104 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
10105
10106 * loader/i386/efi/linux.c (acpi_guid): New variable.
10107 (acpi_guid): Likewise.
10108 (EBDA_SEG_ADDR): New constant.
10109 (LOW_MEM_ADDR): Likewise.
10110 (FAKE_EBDA_SEG): Likewise.
10111 (fake_bios_data): New function.
10112 (grub_linux_boot): Call fake_bios_data.
10113
71b9f361 101142009-03-01 Bean <bean123ch@gmail.com>
10115
10116 * commands/terminal.c: Removed.
10117
10118 * commands/handler.c: New file.
10119
10120 * include/grub/list.h: Likewise.
10121
10122 * include/grub/handler.h: Likewise.
10123
10124 * kern/list.c: Likewise.
10125
10126 * kern/handler.c: Likewise.
10127
10128 * kern/term.h: Include header file <grub/handler.h>.
10129 (grub_term_input): Move next field to the beginning.
10130 (grub_term_output): Likewise.
10131 (grub_term_input_class): New variable.
10132 (grub_term_output_class): Likewise.
10133 (grub_term_register_input): Changed to inline function.
10134 (grub_term_register_output): Likewise.
10135 (grub_term_unregister_input): Likewise.
10136 (grub_term_unregister_output): Likewise.
10137 (grub_term_set_current_input): Likewise.
10138 (grub_term_set_current_output): Likewise.
10139 (grub_term_get_current_input): Likewise.
10140 (grub_term_get_current_output): Likewise.
10141 (grub_term_iterate_input): Removed.
10142 (grub_term_iterate_output): Likewise.
10143
10144 * kern/term.c (grub_term_list_input): Removed.
10145 (grub_term_list_output): Likewise.
10146 (grub_term_input_class): New variable.
10147 (grub_term_output_class): Likewise.
50fb7002 10148 (grub_cur_term_input): Change variable as macro.
71b9f361 10149 (grub_cur_term_output): Likewise.
10150 (grub_term_register_input): Removed.
10151 (grub_term_register_output): Likewise.
10152 (grub_term_unregister_input): Likewise.
10153 (grub_term_unregister_output): Likewise.
10154 (grub_term_set_current_input): Likewise.
10155 (grub_term_set_current_output): Likewise.
10156 (grub_term_iterate_input): Likewise.
10157 (grub_term_iterate_output): Likewise.
10158 (grub_term_get_current_input): Likewise.
10159 (grub_term_get_current_output): Likewise.
10160
10161 * util/grub-editenv.c: Include header file <grub/handler.h>.
10162 (grub_term_get_current_input): Removed.
10163 (grub_term_get_current_output): Likewise.
10164 (grub_term_input_class): New variable.
50fb7002 10165 (grub_term_output_class): Likewise.
71b9f361 10166
10167 * util/grub-fstest.c (grub_term_get_current_input): Removed.
10168 (grub_term_get_current_output): Likewise.
10169 (grub_term_input_class): New variable.
50fb7002 10170 (grub_term_output_class): Likewise.
71b9f361 10171
10172 * util/grub-probe.c (grub_term_get_current_input): Removed.
10173 (grub_term_get_current_output): Likewise.
10174 (grub_term_input_class): New variable.
50fb7002 10175 (grub_term_output_class): Likewise.
71b9f361 10176
10177 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
10178 (grub_term_get_current_output): Likewise.
10179 (grub_term_input_class): New variable.
50fb7002 10180 (grub_term_output_class): Likewise.
71b9f361 10181
10182 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
10183 (terminal_mod_SOURCES): Likewise.
10184 (terminal_mod_CFLAGS): Likewise.
10185 (terminal_mod_LDFLAGS): Likewise.
10186
10187 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
10188 handler.c.
10189 (kernel_img_SOURCES): Add list.c and handler.c.
10190 (kernel_img_HEADERS): Add list.h and handler.h.
10191
10192 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10193 handler.c.
10194 (kernel_mod_SOURCES): Add list.c and handler.c.
10195 (kernel_mod_HEADERS): Add list.h and handler.h.
10196
10197 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
10198 handler.c.
10199 (kernel_elf_SOURCES): Add list.c and handler.c.
10200 (kernel_elf_HEADERS): Add list.h and handler.h.
10201
10202 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10203 handler.c.
10204 (kernel_elf_SOURCES): Add list.c and handler.c.
10205 (kernel_elf_HEADERS): Add list.h and handler.h.
10206
10207 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10208 handler.c.
10209 (kernel_mod_SOURCES): Add list.c and handler.c.
10210 (kernel_mod_HEADERS): Add list.h and handler.h.
10211
10212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10213 handler.c.
10214 (kernel_elf_SOURCES): Add list.c and handler.c.
10215 (kernel_elf_HEADERS): Add list.h and handler.h.
10216
8a31787f 102172009-02-27 Robert Millan <rmh@aybabtu.com>
10218
10219 Factorize elf32 / elf64 code in Multiboot loader. This will
10220 prevent it from getting out of sync again.
10221
10222 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
10223 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
10224 grub_multiboot_load_elf64): Move from here ...
10225 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
10226 grub_multiboot_load_elf): ... to here (new file).
10227
51cd3dfc 102282009-02-27 Robert Millan <rmh@aybabtu.com>
10229
10230 * util/grub.d/10_linux.in: Rename "single-user mode" to
10231 "recovery mode".
10232
6e8c9c3a 102332009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 Don't leak in SCSI code.
10236 * disk/scsi.c (grub_scsi_close): free `scsi'.
10237
4b6bf4f9 102382009-02-27 Robert Millan <rmh@aybabtu.com>
10239
10240 * loader/i386/pc/multiboot.c: Move from here ...
10241 * loader/i386/multiboot.c: ... to here. Update all users.
10242
b9413424 102432009-02-27 Robert Millan <rmh@aybabtu.com>
10244
10245 Patch from Alexandre Bique <bique.alexandre@gmail.com>
10246 * util/i386/pc/grub-setup.c (setup): Fix directory path.
10247
50fb7002 102482009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 10249
10250 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
10251 b-tree.
10252
8cc50345 102532009-02-27 Robert Millan <rmh@aybabtu.com>
10254
10255 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
10256 `0x' qualifier as 0 when base is specified as parameter).
10257
6e09b8b7 102582009-02-24 Bean <bean123ch@gmail.com>
10259
10260 * configure.ac: Check for -mcmodel=large in x86_64 target.
10261
10262 * include/grub/efi/api.h (efi_call_10): New macro.
10263 (efi_wrap_10): New function.
10264
10265 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
10266 (GRUB_PE32_REL_BASED_HIGH): Likewise.
10267 (GRUB_PE32_REL_BASED_LOW): Likewise.
10268 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
10269 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
10270 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
10271 (GRUB_PE32_REL_BASED_SECTION): Likewise.
10272 (GRUB_PE32_REL_BASED_REL): Likewise.
10273 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10274 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10275 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10276
10277 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10278 issue.
10279
10280 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10281 (efi_wrap_10): New function.
10282
10283 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10284
10285 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10286 MB/MBP model (NV chipset).
10287 (devdata_devs): Add devpath_5 to the list.
10288
10289 * load/i386/efi/linux.c (video_base): Remove variable.
10290 (RGB_MASK): New macro.
10291 (RGB_MAGIC): Likewise.
10292 (LINE_MIN): Likewise.
10293 (LINE_MAX): Likewise.
10294 (FBTEST_STEP): Likewise.
10295 (FBTEST_COUNT): Likewise.
10296 (fb_list): New variable.
10297 (grub_find_video_card): Remove function.
10298 (find_framebuf): New function.
10299 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10300 line length.
10301
10302 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10303 problem for x86_64.
10304
74b21bee 103052009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10306
10307 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10308
10309 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10310 coding tool name.
10311
a455f472 103122009-02-22 Robert Millan <rmh@aybabtu.com>
10313
10314 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10315 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10316 in our relocation, instead of using it directly from heap. Also
10317 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10318
6374daf3 103192009-02-21 Robert Millan <rmh@aybabtu.com>
10320
10321 Implement USB keyboard support (based on patch by Marco Gerards)
10322
10323 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10324 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10325 (usb_keyboard_mod_LDFLAGS): New variables.
10326
10327 * term/usb_keyboard.c: New file.
10328
8fa4ea70 103292009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 Corrected wrong declaration
10332
10333 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10334
353976ac 103352009-02-14 Christian Franke <franke@computer.org>
10336
10337 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10338 (grub_lspci_iter): Print class code and programming interface byte.
10339
6aa1169b 103402009-02-14 Christian Franke <franke@computer.org>
10341
10342 * gendistlist.sh: Ignore `.svn' directories.
10343
265372ca 103442009-02-14 Felix Zielcke <fzielcke@z-51.de>
10345
10346 * fs/fat.c: Add 2009 to Copyright line.
10347
9ff516f3 103482009-02-14 Christian Franke <franke@computer.org>
10349
10350 * commands/hdparm.c: New file. Provides `hdparm' command
10351 which sends ATA commands via grub_disk_ata_pass_through ().
10352
10353 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10354
10355 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10356 and <grub/cpu/io.h> to include/grub/ata.h.
10357 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10358 (GRUB_CDROM_SECTOR_SIZE): Remove.
10359 (GRUB_ATA_*): Move to include/grub/ata.h.
10360 (GRUB_ATAPI_*): Likewise.
10361 (enum grub_ata_commands): Likewise.
10362 (enum grub_ata_timeout_milliseconds): Likewise.
10363 (struct grub_ata_device): Likewise.
10364 (grub_ata_regset): Likewise.
10365 (grub_ata_regget): Likewise.
10366 (grub_ata_regset2): Likewise.
10367 (grub_ata_regget2): Likewise.
10368 (grub_ata_check_ready): Likewise.
10369 (grub_ata_wait_not_busy): Remove static, exported in
10370 include/grub/ata.h.
10371 (grub_ata_wait_drq): Likewise.
10372 (grub_ata_pio_read): Likewise.
10373
10374 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10375 function for hdparm.mod.
10376
10377 * include/grub/ata.h: New file, contains declarations from
10378 disk/ata.c.
10379 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10380
10381 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10382 (grub_disk_ata_pass_through): New exported variable.
10383
10384 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10385
772e23da 103862009-02-13 Colin D Bennett <colin@gibibit.com>
10387
10388 Support multiple fallback entries, and provide an API to support
10389 executing default+fallback menu entries. Renamed the `terminal' menu
10390 viewer to `text'.
10391
10392 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10393 variable declaration.
10394 (grub_menu_execute_callback): New structure declaration.
10395 (grub_menu_execute_callback_t): New typedef.
10396 (grub_menu_execute_with_fallback): New function declaration.
10397 (grub_menu_get_entry): Likewise.
10398 (grub_menu_get_timeout): Likewise.
10399 (grub_menu_set_timeout): Likewise.
10400
10401 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10402
10403 * normal/menu.c (grub_wait_after_message): Moved to
10404 `normal/menu_text.c'.
10405 (draw_border): Likewise.
10406 (print_message): Likewise.
10407 (print_entry): Likewise.
10408 (print_entries): Likewise.
10409 (grub_menu_init_page): Likewise.
10410 (get_entry_number): Likewise.
10411 (print_timeout): Likewise.
10412 (run_menu): Likewise.
10413 (grub_menu_execute_entry): Likewise.
10414 (show_text_menu): Likewise.
10415 (get_and_remove_first_entry_number): New function.
10416 (grub_menu_execute_with_fallback): Likewise.
10417 (get_entry): Renamed to ...
10418 (grub_menu_get_entry): .. this and made it global.
10419 (get_timeout): Renamed to ...
10420 (grub_menu_get_timeout): ... this and made it global.
10421 (set_timeout): Renamed to ...
10422 (grub_menu_set_timeout): ... this and made it global.
10423 (grub_normal_terminal_menu_viewer): Renamed to ...
10424 (grub_normal_text_menu_viewer): ... this.
10425
10426 * normal/menu_text.c: New file. Extracted text-menu-specific code
10427 from normal/menu.c.
10428
10429 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10430 (normal_mod_SOURCES): Likewise.
10431
10432 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10433 (normal_mod_SOURCES): Likewise.
10434
10435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10436 (normal_mod_SOURCES): Likewise.
10437
10438 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10439 (normal_mod_SOURCES): Likewise.
10440
10441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10442 (normal_mod_SOURCES): Likewise.
10443
10444 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10445 (normal_mod_SOURCES): Likewise.
10446
10447 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10448 (normal_mod_SOURCES): Likewise.
10449
16ac430e 104502009-02-11 Robert Millan <rmh@aybabtu.com>
10451
10452 * util/grub.d/00_header.in: Update old reference to `font' command.
10453
06ff20fc 104542009-02-10 Felix Zielcke <fzielcke@z-51.de>
10455
10456 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
10457
10458 Based on patch from Javier Martín.
10459
96da9407 104602009-02-09 Felix Zielcke <fzielcke@z-51.de>
10461
10462 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10463 to avoid false positives with FAT.
96da9407 10464 (grub_fstest_SOURCES): Likewise.
10465 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10466 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10468 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10469 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10470 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10471
6dca6fe4 104722009-02-09 Felix Zielcke <fzielcke@z-51.de>
10473
06ff20fc 10474 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10475 bpb.version_specific.fat12_or_fat16.fstype and
10476 bpb.version_specific.fat32.fstype.
10477
2550c62f 104782009-02-08 Robert Millan <rmh@aybabtu.com>
10479
be110b30 10480 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10481
56978920 104822009-02-08 Robert Millan <rmh@aybabtu.com>
10483
10484 * Makefile.in (host_os, host_cpu): New variables.
10485 (target_os): Remove. Update all users.
10486
d64399b5 104872009-02-08 Marco Gerards <marco@gnu.org>
10488
10489 * Makefile.in (enable_grub_emu_usb): New variable.
10490 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10491 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10492 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10493 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10494 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10495 `usbtest.mod' and `usbms.mod'.
10496 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10497 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10498 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10499 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10500 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10501 variables.
10502
10503 * disk/usbms.c: New file.
10504
10505 * include/grub/usb.h: Likewise.
10506
10507 * include/grub/usbtrans.h: Likewise.
10508
10509 * include/grub/usbdesc.h: Likewise.
10510
10511 * bus/usb/usbtrans.c: Likewise.
10512
10513 * bus/usb/ohci.c: Likewise.
10514
10515 * bus/usb/uhci.c: Likewise.
10516
10517 * bus/usb/usbhub.c: Likewise.
10518
10519 * bus/usb/usb.c: Likewise.
10520
10521 * commands/usbtest.c: Likewise.
10522
10523 * util/usb.c: Likewise.
50fb7002 10524
d64399b5 10525 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
10526
10527 * configure.ac: Test for libusb presence.
50fb7002 10528
d64399b5 10529 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
10530
2b40d6bb 105312009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
10532
10533 * kern/mm.c: Add more comments.
10534
73a4ce81 105352009-02-08 Robert Millan <rmh@aybabtu.com>
10536
10537 Patch from Javier Martín.
10538 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
10539 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
10540
f821ce59 105412009-02-08 Robert Millan <rmh@aybabtu.com>
10542
10543 * fs/cpio.c: Split tar functionality to ...
10544 * fs/tar.c: ... here (new file). Update all users.
10545
aebfc4b0 105462009-02-07 Robert Millan <rmh@aybabtu.com>
10547
10548 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
10549 backward-incompatible features.
10550
10551 Based on patch from Javier Martín, with some adjustments.
10552
50fb7002 105532009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 10554
10555 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
10556
0bb5115e 105572009-02-07 Robert Millan <rmh@aybabtu.com>
10558
10559 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
10560 position of `disk/lvm.c' to ensure grub_init_all() always picks it
10561 after the RAID stuff.
10562
38a0f8e7 105632009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
10564
50fb7002 10565 Fixes problem when running vbetest command as reported by
38a0f8e7 10566 Vladimir Serbinenko <phcoder@gmail.com>.
10567
10568 * (grub_vbe_set_video_mode): Fixed problem with text modes.
10569
3143cc1c 105702009-02-04 Felix Zielcke <fzielcke@z-51.de>
10571
10572 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
10573 /dev/md/NpN style mdraid devices.
10574
9cba6fce 105752009-02-03 Felix Zielcke <fzielcke@z-51.de>
10576
10577 * util/unifont2pff.rb: Remove.
10578
e507a2c1 105792009-02-03 Felix Zielcke <fzielcke@z-51.de>
10580
10581 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
10582 `#'.
10583
d2c2b4cd 105842009-02-03 Felix Zielcke <fzielcke@z-51.de>
10585
10586 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
10587 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10588 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10591 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10592 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10593
b4315fb0 105942009-02-02 Christian Franke <franke@computer.org>
10595
10596 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
10597
de3aa260 105982009-02-01 Felix Zielcke <fzielcke@z-51.de>
10599
7c3ff286 10600 * INSTALL: Note that we now require at least autoconf 2.59 and
10601 that LZO is optional.
de3aa260 10602
825a182b 106032009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10604
10605 Base on patch on bug #24154 created by Tomas Tintera
10606 <trosos@seznam.cz>.
10607
10608 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
10609
a69ef770 106102009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10611
7c3ff286 10612 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 10613 <bero@arklinux.org>.
10614
10615 * normal/parser.y (script_init): Add missing semicolon.
10616
6fa42fa6 106172009-01-31 Colin D Bennett <colin@gibibit.com>
10618
7c3ff286 10619 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 10620 (free_menu_entry_classes): Added.
10621 (grub_normal_menu_addentry): Added class property handling.
10622 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
10623 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
10624
10625 * normal/menu_viewer.c: New file.
10626
10627 * normal/menu.c (run_menu_entry): Renamed to ...
10628 (grub_menu_execute_entry): ... this and made it as global.
10629 (grub_menu_run): Renamed to ...
10630 (show_text_menu): ... this and made it local.
10631 (show_text_menu): Adapt to new function names.
10632 (grub_normal_terminal_menu_viewer): New global variable.
10633
10634 * include/grub/menu.h: New file.
10635
10636 * include/grub/menu_viewer.h: New file.
10637
10638 * include/grub/normal.h: Added include to grub/menu.h.
10639 (grub_menu_entry): Moved to include/grub/menu.h.
10640 (grub_menu_entry_t): Likewise.
10641 (grub_menu): Likewise.
10642 (grub_menu_t): Likewise.
10643 (grub_normal_terminal_menu_viewer): Added.
10644 (grub_menu_execute_entry): Likewise.
10645 (grub_menu_run): Removed.
10646
10647 * DISTLIST: Added include/grub/menu.h.
10648 Added include/grub/menu_viewer.h.
10649 Added normal/menu_viewer.c.
10650
106512009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
10652
10653 * normal/execute.c (grub_script_execute_menuentry): Changed to use
10654 arglist for menutitle arguments.
10655
10656 * normal/main.c (grub_normal_menu_addentry): Likewise.
10657
10658 * normal/parser.y (menuentry): Likewise.
10659
10660 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10661
10662 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
10663 (grub_script_create_cmdmenu): Likewise.
10664
10665 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
10666
10667 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
10668 changes.
10669
10670 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
10671
10672 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
10673
10674 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
10675
10676 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10677
10678 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10679
10680 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10681
56192c23 106822009-01-30 Christian Franke <franke@computer.org>
10683
10684 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
10685 in option help text.
10686
d72521b3 106872009-01-27 Pavel Roskin <proski@gnu.org>
10688
10689 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
10690
994b5e84 106912009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10692
10693 * commands/lsmmap.c: Add include to grub/machine/memory.h.
10694
10695 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
10696
10697 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
10698 unregister function.
10699
6a7eab2c 107002009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10701
10702 * disk/scsi.c (grub_scsi_read): Fix sign problem.
10703
10704 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
10705
10706 * util/grub-mkfont.c (usage): Fix typo.
10707
10708 * util/elf/grub-mkimage.c (load_modules): Fix warning.
10709
1806b56e 107102009-01-26 Daniel Mierswa <impulze@impulze.org>
10711
3fb18f09 10712 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
10713
336e1fb9 10714 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
10715
1806b56e 10716 * kern/misc.c (grub_strcasecmp): New function.
10717 (grub_strcasecmp): Use grub_size_t instead of int for length.
10718 Fix return value.
10719 * include/grub/misc.h: Update function prototypes.
10720
580b2a0f 107212009-01-26 Robert Millan <rmh@aybabtu.com>
10722
10723 * configure.ac: Fix cross-compilation check.
ef257b36 10724
d31c24f1 107252009-01-22 Christian Franke <franke@computer.org>
10726
10727 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
10728 (precision) digit string. Allow `.format2' without `format1' (width).
10729 Limit input chars for `%s' output to `format2' if specified. This is
10730 compatible with standard printf ().
10731
3138b44c 107322009-01-22 Christian Franke <franke@computer.org>
10733
10734 * disk/ata.c (grub_ata_wait_status): Replace by ...
10735 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
10736 other status bits may be invalid while BSY is asserted.
10737 (grub_ata_check_ready): New function.
10738 (grub_ata_cmd): Removed.
10739 (grub_ata_wait_drq): New function.
10740 (grub_ata_strncpy): Remove inline.
10741 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
10742 and error check now done by grub_ata_wait_drq ().
10743 (grub_ata_pio_write): Likewise.
10744 (grub_atapi_identify): Set DEV before check for !BSY. Use
10745 grub_ata_wait_drq () to wait for data.
10746 (grub_ata_device_initialize): Add status register check to
10747 detect missing SATA slave devices. Add debug messages.
10748 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
10749 (grub_atapi_packet): Set DEV before check for !BSY. Replace
10750 transfer loop by grub_ata_pio_write ().
10751 (grub_ata_identify): Set DEV before check for !BSY. Use
10752 grub_ata_wait_drq () to wait for data.
ef257b36 10753 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 10754 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
10755 read/write in one loop. Fix invalid command on write. Fix incomplete
10756 command on (size % batch) == 0. Add missing error check after write of
10757 last block. Add debug messages.
10758 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
10759
59a64ef6 107602009-01-19 Christian Franke <franke@computer.org>
10761
10762 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
10763 (GRUB_ATAPI_IREASON_*): Likewise.
10764 (grub_ata_pio_write): Fix timeout error return.
10765 (grub_atapi_identify): Add grub_ata_wait () after cmd.
10766 (grub_atapi_wait_drq): New function.
10767 (grub_atapi_packet): New parameter `size'.
10768 Use grub_atapi_wait_drq () and direct write instead of
10769 grub_ata_pio_write ().
10770 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
10771 reads the number of bytes requested by the device for each DRQ
10772 assertion.
10773 (grub_atapi_write): Remove old implementation, return not
10774 implemented instead.
10775
1cfe20b3 107762009-01-19 Christian Franke <franke@computer.org>
10777
10778 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
10779 of 512 to calculate data size.
10780 (grub_scsi_read12): Likewise.
10781 (grub_scsi_write10): Likewise.
10782 (grub_scsi_write12): Likewise.
10783 (grub_scsi_read): Adjust size according to blocksize.
10784 Add checks for invalid blocksize and unaligned transfer.
10785
bee5fe5d 107862009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
10787
10788 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
10789
ef257b36 10790 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 10791 width glyphs.
10792
3e643f8c 107932009-01-19 Robert Millan <rmh@aybabtu.com>
10794
10795 * config.guess: Update to latest version from config git.
10796 * config.sub: Likewise.
10797
4fa80998 107982009-01-17 Felix Zielcke <fzielcke@z-51.de>
10799
10800 * Makefile.in: Change font compilation to use new grub-mkfont instead
10801 of java version.
10802
10803 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
10804 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
10805 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10806 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10807 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
10808 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
10809 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
10810 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
10811 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10812
7086085b 108132009-01-16 Christian Franke <franke@computer.org>
10814
10815 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
10816 (enum grub_ata_timeout_milliseconds): New enum.
10817 (grub_ata_wait_status): Add parameter milliseconds.
10818 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
10819 recovery from timed-out commands.
10820 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
10821 return grub_errno instead of REG_ERROR.
10822 (grub_ata_pio_write): Add parameter milliseconds.
10823 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
10824 Pass milliseconds to grub_ata_wait_status () and
10825 grub_ata_pio_read ().
10826 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
10827 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
10828 grub_ata_wait_status (). Fix IDENTIFY timeout check.
10829 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
10830 It is not suitable for device detection, because DEV bit is ignored,
10831 the command may run too long, and not all devices set the signature
10832 properly.
10833 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
10834 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
10835 Fix device selection, DEV bit must be set first to address the registers
10836 of the correct device.
10837 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
10838 grub_ata_pio_read/write ().
10839 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
10840 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
10841
4a412913 108422009-01-13 Carles Pina i Estany <carles@pina.cat>
10843
10844 * util/grub-editenv.c (main): Use fseeko(), not fseek().
10845
7795c55e 108462009-01-13 Bean <bean123ch@gmail.com>
d913988c 10847
10848 * util/grub-mkfont.c (write_font): forget to remove some debug code.
10849
7795c55e 108502009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 10851
10852 * Makefile.in: (enable_grub_mkfont): New variable.
10853 (freetype_cflags): Likewise.
10854 (freetype_libs): Likewise.
10855
10856 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
10857 (grub_mkfont_SOURCES): New variable.
10858 (grub_mkfont_CFLAGS): Likewise.
10859 (grub_mkfont_LDFLAGS): Likewise.
10860
10861 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
10862 library if `--enable-grub-mkfont' is requested.
10863 (enable_grub_mkfont): New variable.
10864 (freetype_cflags): Likewise.
10865 (freetype_libs): Likewise.
10866
10867 * util/grub-mkfont.c: New file.
10868
093af1fe 108692009-01-12 Christian Franke <franke@computer.org>
10870
10871 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
10872 mode check. Fix setting of compat_use[].
10873
f36cc108 108742009-01-10 Robert Millan <rmh@aybabtu.com>
10875
10876 Update a few copyright years which we forgot to do in 2008 (only for
10877 files whose changes made in 2008 were copyright-significant)
10878
10879 * Makefile.in: Add 2008 to Copyright line.
10880 * disk/ieee1275/ofdisk.c: Likewise.
10881 * disk/efi/efidisk.c: Likewise.
10882 * kern/dl.c: Likewise.
10883 * kern/sparc64/ieee1275/init.c: Likewise.
10884 * kern/mm.c: Likewise.
10885 * kern/efi/mm.c: Likewise.
10886 * boot/i386/pc/boot.S: Likewise.
10887 * genfslist.sh: Likewise.
10888 * fs/iso9660.c: Likewise.
10889 * fs/hfs.c: Likewise.
10890 * fs/jfs.c: Likewise.
10891 * fs/minix.c: Likewise.
10892 * fs/ufs.c: Likewise.
10893 * gensymlist.sh.in: Likewise.
10894 * genkernsyms.sh.in: Likewise.
10895 * include/grub/misc.h: Likewise.
10896 * include/grub/types.h: Likewise.
10897 * include/grub/symbol.h: Likewise.
10898 * include/grub/elf.h: Likewise.
10899 * include/grub/kernel.h: Likewise.
10900 * include/grub/disk.h: Likewise.
10901 * include/grub/dl.h: Likewise.
10902 * include/grub/i386/linux.h: Likewise.
10903 * include/grub/i386/pc/biosdisk.h: Likewise.
10904 * include/grub/efi/api.h: Likewise.
10905 * include/grub/efi/pe32.h: Likewise.
10906 * include/grub/util/misc.h: Likewise.
10907 * normal/execute.c: Likewise.
10908 * normal/arg.c: Likewise.
10909 * normal/completion.c: Likewise.
10910 * normal/lexer.c: Likewise.
10911 * normal/parser.y: Likewise.
10912 * normal/misc.c: Likewise.
10913 * commands/i386/pc/vbeinfo.c: Likewise.
10914 * commands/hexdump.c: Likewise.
10915 * commands/terminal.c: Likewise.
10916 * commands/ls.c: Likewise.
10917 * commands/help.c: Likewise.
10918 * partmap/pc.c: Likewise.
10919 * loader/efi/chainloader.c: Likewise.
10920 * loader/multiboot_loader.c: Likewise.
10921 * loader/i386/pc/multiboot2.c: Likewise.
10922 * term/efi/console.c: Likewise.
10923 * term/i386/pc/serial.c: Likewise.
10924 * util/lvm.c: Likewise.
10925 * util/console.c: Likewise.
10926 * util/i386/efi/grub-mkimage.c: Likewise.
10927 * util/raid.c: Likewise.
10928
7f02114b 109292009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
10930
10931 * commands/videotest.c: Removed include to grub/machine/memory.h.
10932
10933 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
10934 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
10935 (video_mod_SOURCES): Removed.
10936 (video_mod_CFLAGS): Likewise.
10937 (video_mod_LDFLAGS): Likewise.
10938 (gfxterm_mod_SOURCES): Likewise.
10939 (gfxterm_mod_CFLAGS): Likewise.
10940 (gfxterm_mod_LDFLAGS): Likewise.
10941 (videotest_mod_SOURCES): Likewise.
10942 (videotest_mod_CFLAGS): Likewise.
10943 (videotest_mod_LDFLAGS): Likewise.
10944 (bitmap_mod_SOURCES): Likewise.
10945 (bitmap_mod_CFLAGS): Likewise.
10946 (bitmap_mod_LDFLAGS): Likewise.
10947 (tga_mod_SOURCES): Likewise.
10948 (tga_mod_CFLAGS): Likewise.
10949 (tga_mod_LDFLAGS): Likewise.
10950 (jpeg_mod_SOURCES): Likewise.
10951 (jpeg_mod_CFLAGS): Likewise.
10952 (jpeg_mod_LDFLAGS): Likewise.
10953 (png_mod_SOURCES): Likewise.
10954 (png_mod_CFLAGS): Likewise.
10955 (png_mod_LDFLAGS): Likewise.
10956
10957 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
10958 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
10959 (video_mod_SOURCES): Added.
10960 (video_mod_CFLAGS): Likewise.
10961 (video_mod_LDFLAGS): Likewise.
10962 (videotest_mod_SOURCES): Likewise.
10963 (videotest_mod_CFLAGS): Likewise.
10964 (videotest_mod_LDFLAGS): Likewise.
10965 (bitmap_mod_SOURCES): Likewise.
10966 (bitmap_mod_CFLAGS): Likewise.
10967 (bitmap_mod_LDFLAGS): Likewise.
10968 (tga_mod_SOURCES): Likewise.
10969 (tga_mod_CFLAGS): Likewise.
10970 (tga_mod_LDFLAGS): Likewise.
10971 (jpeg_mod_SOURCES): Likewise.
10972 (jpeg_mod_CFLAGS): Likewise.
10973 (jpeg_mod_LDFLAGS): Likewise.
10974 (png_mod_SOURCES): Likewise.
10975 (png_mod_CFLAGS): Likewise.
10976 (png_mod_LDFLAGS): Likewise.
10977 (gfxterm_mod_SOURCES): Likewise.
10978 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 10979 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 10980
10981 * term/gfxterm.c: Removed include to grub/machine/memory.h,
10982 grub/machine/console.h.
10983
644fff97 109842009-01-04 Jerone Young <jerone@gmail.com>
10985
10986 Make on screen instructions clearer
10987
10988 Based on patch created by Jidanni <jidanni@jidanni.org>
10989
10990 * normal/menu.c: print clearer instructions on the screen
10991
1e901a75 109922009-01-02 Colin D Bennett <colin@gibibit.com>
10993
10994 New font engine.
34c44600 10995
1e901a75 10996 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
10997 build system and fixed gfxterm.c to work with different sized fonts.
10998
10999 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 11000
1e901a75 11001 * configure: Re-generated.
34c44600 11002
1e901a75 11003 * DISTLIST: Removed font/manager.c.
11004 Added font/font.c.
11005 Added font/font_cmd.c.
34c44600 11006
1e901a75 11007 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
11008 compilation.
34c44600 11009
1e901a75 11010 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 11011
11012 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 11013
11014 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 11015
1e901a75 11016 * normal/menu.c: Likewise.
34c44600 11017
1e901a75 11018 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
11019 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 11020
1e901a75 11021 * include/grub/font.h: Replaced with new file.
34c44600 11022
1e901a75 11023 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
11024 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
11025 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
11026 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
11027 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 11028 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 11029 fg_red, fg_green, fg_blue, fg_alpha.
11030 (grub_video_adapter): Removed blit_glyph.
34c44600 11031 (grub_video_blit_glyph): Removed.
11032
1e901a75 11033 * font/manager.c: Removed file.
34c44600 11034
11035 * font/font.c: New file.
11036
1e901a75 11037 * font/font_cmd.c: Likewise.
34c44600 11038
1e901a75 11039 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 11040
1e901a75 11041 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
11042 (grub_video_vbe_map_rgba): Likewise.
11043 (grub_video_vbe_unmap_color_int): Likewise.
11044 (grub_video_vbe_blit_glyph): Removed.
11045 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 11046
1e901a75 11047 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
11048 (get_pixel): Likewise.
34c44600 11049 (set_pixel): Likewise.
11050
1e901a75 11051 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 11052
1e901a75 11053 * term/gfxterm.c: Adapted to new font engine.
34c44600 11054
1e901a75 11055 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 11056
1e901a75 11057 * term/i386/pc/vga.c: Likewise.
34c44600 11058
1e901a75 11059 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 11060
1e901a75 11061 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 11062
1e901a75 11063 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11064
1e901a75 11065 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11066
1e901a75 11067 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 11068
1e901a75 11069 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 11070
1e901a75 11071 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 11072
1e901a75 11073 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 11074
1e901a75 11075 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11076
11077 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 11078
1e901a75 11079 * util/grub-mkconfig_lib.in: Changed font extension.
11080
278922e8 110812008-12-28 Felix Zielcke <fzielcke@z-51.de>
11082
11083 * util/getroot.c (grub_util_get_grub_dev): Add support for
11084 /dev/md/dNNpNN style partitionable mdraid devices.
11085
3ced05cf 110862008-12-12 Alex Smith <alex@alex-smith.me.uk>
11087
11088 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
11089 at a time limit of the PXE TFTP API correctly.
11090 (grub_pxefs_close): Likewise.
11091
7fd0ee30 110922008-11-29 Robert Millan <rmh@aybabtu.com>
11093
34c44600 11094 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 11095 grub_ata_device_initialize() calls.
11096
34c44600 110972008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 11098
11099 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
11100 iteration failed.
11101 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
11102
89313780 111032008-11-28 Robert Millan <rmh@aybabtu.com>
11104
11105 Fix build on powerpc-ieee1275. Based on patch created by
11106 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
11107 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11108 `kern/ieee1275/mmap.c'.
11109 * include/grub/powerpc/ieee1275/memory.h: New file.
11110
15257703 11111 Provide grub-install on coreboot.
11112 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
11113 (grub_install_SOURCES): New variable.
11114 * util/i386/pc/grub-install.in: Add a few condition checks to make it
11115 usable on coreboot.
11116
9fc5388a 111172008-11-25 Felix Zielcke <fzielcke@z-51.de>
11118
11119 * util/grub-fstest.c (grub_term_get_current_input): Change return type
11120 to `grub_term_input_t'.
11121 (grub_term_get_current_output): Change return type to
11122 `grub_term_output_t'.
11123
bc3a2f31 111242008-11-22 Robert Millan <rmh@aybabtu.com>
11125
34c44600 11126 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 11127 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
11128 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
11129 grub_vga_text_cls().
11130
80fc88f2 11131 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 11132 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 11133
cbf36fd3 11134 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
11135 to 0x200000 (avoids trouble with some OFW implementations, and matches
11136 with the one in Yaboot).
11137 Reported by Manoel Abranches
11138
73e8e268 111392008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 11140
11141 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
11142 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
11143
73e8e268 11144 * util/grub-mkconfig_lib.in (grub_warn): New function.
11145 (convert_system_path_to_grub_path): Use grub_warn() when issuing
11146 warnings, to obtain consistent formatting.
11147 * util/grub.d/00_header.in: Likewise.
11148 * util/update-grub_lib.in: Likewise.
11149
e94045a1 11150 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 11151 Move comment text to `#error' stanza.
e94045a1 11152
79d29fd7 11153 Harmonize ieee1275's grub_available_iterate() with the generic
11154 grub_machine_mmap_iterate() interface (fixes a recently-introduced
11155 build problem on i386-ieee1275):
11156 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
11157 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
11158 parameter `type'. Update all users of this function.
11159 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11160 `kern/ieee1275/mmap.c'.
11161 * kern/ieee1275/init.c
11162 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
11163 with ...
11164 (grub_machine_mmap_iterate): ... this.
11165 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
11166 return type to `grub_err_t'. Update all implementations of this
11167 function prototype.
11168 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
11169 Likewise.
11170
60d6b16e 11171 Add `lsmmap' command (lists firmware-provided memory map):
11172 * commands/lsmmap.c: New file.
11173 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
11174 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
11175 variables.
11176 * conf/powerpc-ieee1275.rmk: Likewise.
11177 * conf/i386-coreboot.rmk: Likewise.
11178 * conf/i386-ieee1275.rmk: Likewise.
11179
ebaaf49b 111802008-11-19 Robert Millan <rmh@aybabtu.com>
11181
11182 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 11183 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
11184 constraints to initrd allocation (based on code from
11185 loader/i386/pc/linux.c). Without them, initrd was allocated too high
11186 for Linux to find it.
ebaaf49b 11187
dfab719f 111882008-11-14 Robert Millan <rmh@aybabtu.com>
11189
11190 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
11191 order to cope with duplicate slashes.
11192
10fc3eb9 111932008-11-14 Robert Millan <rmh@aybabtu.com>
11194
11195 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
11196 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
11197 don't want to mess with lower memory, because it is used in the Linux
11198 loader.
11199
11200 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 11201 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 11202 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
11203 is in our heap (probably as a result of it being corrupted during
2f2a3442 11204 decompression). Add #error instance with comment to explain why this
11205 loader isn't currently usable on PC/BIOS.
10fc3eb9 11206
e2e07847 112072008-11-14 Robert Millan <rmh@aybabtu.com>
11208
11209 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 11210 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 11211
fe8e8d69 112122008-11-12 Robert Millan <rmh@aybabtu.com>
11213
11214 Make loader/i386/linux.c buildable on i386-pc (although disabled).
11215
11216 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
11217 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
11218 from here ...
11219 * include/grub/i386/pc/memory.h: ... to here.
11220
976b07d0 112212008-11-12 Robert Millan <rmh@aybabtu.com>
11222
11223 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
11224 split).
11225
11226 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
11227 (grub_console_cur_color, grub_console_real_putchar)
11228 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11229 (grub_console_setcolorstate, grub_console_setcolor)
11230 (grub_console_getcolor): Move from here ...
11231 * include/grub/i386/vga_common.h: ... to here (new file).
11232
11233 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
11234 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
11235 `<grub/i386/io.h>'.
11236 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
11237 `<grub/i386/vga_common.h>'.
11238
76679cd3 112392008-11-12 Robert Millan <rmh@aybabtu.com>
11240
11241 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
11242 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
11243 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
11244 variables.
11245 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11246 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
11247
11248 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
11249 grub_console_init() with call to grub_vga_text_init().
11250 (grub_machine_fini): Replace call to
11251 grub_console_fini() with call to grub_vga_text_fini() and
11252 grub_at_keyboard_fini().
11253
11254 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
11255 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11256 (grub_console_setcolorstate, grub_console_setcolor)
11257 (grub_console_getcolor): New function prototypes.
11258
11259 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
11260 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
11261 (grub_vga_text_setcursor): Static-ize.
11262 (grub_vga_text_term): New structure.
11263 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
11264
11265 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
11266 (grub_console_cur_color, grub_console_standard_color)
11267 (grub_console_normal_color, grub_console_highlight_color)
11268 (map_char, grub_console_putchar, grub_console_getcharwidth)
11269 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
11270 (grub_console_getcolor): Move from here ...
11271 * term/i386/vga_common.c: ... to here (same function names).
11272
95b841d3 112732008-11-12 Robert Millan <rmh@aybabtu.com>
11274
11275 Use newly-added Multiboot support in coreboot.
11276
11277 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11278 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11279
11280 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11281 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11282 (codestart): Store the MBI in `startup_multiboot_info' when we're
11283 being loaded using Multiboot.
11284
11285 * kern/i386/coreboot/init.c (grub_machine_init): Move
11286 grub_at_keyboard_init() call to beginning of function (useful for
11287 debugging). Call grub_machine_mmap_init() before attempting to use
11288 grub_machine_mmap_iterate().
11289 (grub_lower_mem, grub_upper_mem): Move from here ...
11290 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11291 here (new file).
11292
11293 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11294 function prototype.
11295
761ca975 112962008-11-12 Robert Millan <rmh@aybabtu.com>
11297
11298 Fix a regression introduced by the at_keyboard.mod split. Because
11299 some terminals are default on some platforms and non-default on
11300 others, the first terminal being registered determines which is
11301 going to be default.
11302
11303 * kern/term.c (grub_term_register_input): If this is the first
11304 terminal being registered, set it as the current one.
11305 (grub_term_register_output): Likewise.
11306
11307 * term/efi/console.c (grub_console_init): Do not call
11308 grub_term_set_current_output() or grub_term_set_current_input().
11309 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11310 * term/i386/pc/console.c (grub_console_init): Likewise.
11311 (grub_console_fini): Do not call grub_term_set_current_input()
11312 (but leave grub_term_set_current_output() to restore text mode).
11313
6c529df7 113142008-11-10 Robert Millan <rmh@aybabtu.com>
11315
11316 * util/grub.d/00_header.in: Add backward compatibility check for
11317 versions of terminal.mod that don't understand `terminal_input' or
11318 `terminal_output'.
11319
132e4113 113202008-11-09 Robert Millan <rmh@aybabtu.com>
11321
11322 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11323 `terminal_input' / `terminal_output', not `terminal'.
11324
ac293d50 113252008-11-08 Robert Millan <rmh@aybabtu.com>
11326
11327 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11328 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11329
0025933a 113302008-11-08 Robert Millan <rmh@aybabtu.com>
11331
11332 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11333 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11334 members. Update all users.
11335 * util/console.c (grub_ncurses_term): Split in ...
11336 (grub_ncurses_term_input): ... this, and ...
11337 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11338 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11339
37c86336 113402008-11-08 Robert Millan <rmh@aybabtu.com>
11341
11342 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11343 (PKGDATA): Add $(pkgdata_SRCDIR).
11344 (pkglib_BUILDDIR): New variable.
11345 (pkgdata_SRCDIR): New variable.
11346 (build_env.mk): New target.
11347 (include_DATA): New variable.
11348 (install-local): Install $(include_DATA) files in $(includedir).
11349
b6c15a2d 113502008-11-07 Pavel Roskin <proski@gnu.org>
11351
d99d46f1 11352 * gendistlist.sh: Use C locale for sorting to ensure consistent
11353 output on all systems.
11354
b6c15a2d 11355 * util/grub.d/00_header.in: Remove incorrect space before
11356 "serial".
11357
c32ee8c9 113582008-11-07 Robert Millan <rmh@aybabtu.com>
11359
11360 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11361 per specification.
11362 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11363 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11364 (based on find_multi_boot1_header).
11365 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11366 using find_multi_boot2_header(), and abort if neither Multiboot or
11367 Multiboot headers were found.
11368
651c29b7 113692008-11-07 Robert Millan <rmh@aybabtu.com>
11370
11371 Modularize at_keyboard.mod:
11372
11373 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11374 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11375 (at_keyboard_mod_LDFLAGS): New variables.
11376
11377 Actual terminal split:
11378
11379 * include/grub/term.h (struct grub_term): Split in ...
11380 (struct grub_term_input): ... this, and ...
11381 (struct grub_term_output): ... this. Update all users.
11382 (grub_term_set_current): Split in ...
11383 (grub_term_set_current_input): ... this, and ...
11384 (grub_term_set_current_output): ... this.
11385 (grub_term_get_current): Split in ...
11386 (grub_term_get_current_input): ... this, and ...
11387 (grub_term_get_current_output): ... this.
11388 (grub_term_register): Split in ...
11389 (grub_term_register_input): ... this, and ...
11390 (grub_term_register_output): ... this.
11391 (grub_term_unregister): Split in ...
11392 (grub_term_unregister_input): ... this, and ...
11393 (grub_term_unregister_output): ... this.
11394 (grub_term_iterate): Split in ...
11395 (grub_term_iterate_input): ... this, and ...
11396 (grub_term_iterate_output): ... this.
11397
11398 * kern/term.c (grub_term_list): Split in ...
11399 (grub_term_list_input): ... this, and ...
11400 (grub_term_list_output): ... this. Update all users.
11401 (grub_cur_term): Split in ...
11402 (grub_cur_term_input): ... this, and ...
11403 (grub_cur_term_output): ... this. Update all users.
11404 (grub_term_set_current): Split in ...
11405 (grub_term_set_current_input): ... this, and ...
11406 (grub_term_set_current_output): ... this.
11407 (grub_term_get_current): Split in ...
11408 (grub_term_get_current_input): ... this, and ...
11409 (grub_term_get_current_output): ... this.
11410 (grub_term_register): Split in ...
11411 (grub_term_register_input): ... this, and ...
11412 (grub_term_register_output): ... this.
11413 (grub_term_unregister): Split in ...
11414 (grub_term_unregister_input): ... this, and ...
11415 (grub_term_unregister_output): ... this.
11416 (grub_term_iterate): Split in ...
11417 (grub_term_iterate_input): ... this, and ...
11418 (grub_term_iterate_output): ... this.
11419
11420 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11421 a check for input and one for output (and only attempt to get keys
11422 from user when input works).
11423
11424 * util/grub-probe.c (grub_term_get_current): Split in ...
11425 (grub_term_get_current_input): ... this, and ...
11426 (grub_term_get_current_output): ... this.
11427 * util/grub-fstest.c: Likewise.
11428 * util/i386/pc/grub-setup.c: Likewise.
11429 * util/grub-editenv.c: Likewise.
11430
11431 Portability adjustments:
11432
11433 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11434 `term/i386/pc/at_keyboard.c'.
11435 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11436 grub_keyboard_controller_init() (now handled by terminal .init).
11437 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11438 grub_at_keyboard_init().
11439 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11440 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11441 at_keyboard.mod via input terminal interface).
11442 * include/grub/i386/coreboot/console.h: Convert into a stub for
11443 `<grub/i386/pc/console.h>'.
11444
11445 Migrate full terminals to new API:
11446
11447 * term/efi/console.c (grub_console_term): Split into ...
11448 (grub_console_term_input): ... this, and ...
11449 (grub_console_term_output): ... this. Update all users.
11450 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
11451 (grub_ofconsole_init): Split into ...
11452 (grub_ofconsole_init_input): ... this, and ...
11453 (grub_ofconsole_init_output): ... this.
11454 (grub_ofconsole_term): Split into ...
11455 (grub_ofconsole_term_input): ... this, and ...
11456 (grub_ofconsole_term_output): ... this. Update all users.
11457 * term/i386/pc/serial.c (grub_serial_term): Split into ...
11458 (grub_serial_term_input): ... this, and ...
11459 (grub_serial_term_output): ... this. Update all users.
11460 * term/i386/pc/console.c (grub_console_term): Split into ...
11461 (grub_console_term_input): ... this, and ...
11462 (grub_console_term_output): ... this. Update all users.
11463 (grub_console_term_input): Only enable it on PC/BIOS platform.
11464 (grub_console_init): Remove grub_keyboard_controller_init() call.
11465
11466 Migrate input terminals to new API:
11467
11468 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11469 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11470 i386-specific anyway).
11471 (grub_console_checkkey): Rename to ...
11472 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11473 users.
11474 (grub_keyboard_controller_orig): New variable.
11475 (grub_console_getkey): Rename to ...
11476 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11477 users.
11478 (grub_keyboard_controller_init): Static-ize. Save original
11479 controller value so that it can be restored ...
11480 (grub_keyboard_controller_fini): ... here (new function).
11481 (grub_at_keyboard_term): New structure.
11482 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11483 functions.
11484
11485 Migrate output terminals to new API:
11486
11487 * term/i386/pc/vga.c (grub_vga_term): Change type to
11488 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11489 members. Update all users.
11490 * term/gfxterm.c (grub_video_term): Change type to
11491 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11492 members. Update all users.
11493 * include/grub/i386/pc/console.h (grub_console_checkkey)
11494 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11495 etc).
11496
11497 Migrate `terminal' command and userland tools to new API:
11498
11499 * commands/terminal.c (grub_cmd_terminal): Split into ...
11500 (grub_cmd_terminal_input): ... this, and ...
11501 (grub_cmd_terminal_output): ... this.
11502 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11503 `terminal_input' and `terminal_output'.
11504 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11505 `terminal_input' / `terminal_output' API.
11506 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11507 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11508 provided ${GRUB_TERMINAL}, convert it).
11509
96e5d876 115102008-11-04 Robert Millan <rmh@aybabtu.com>
11511
11512 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11513 for FreeBSD.
11514 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11515
556f3775 115162008-11-03 Bean <bean123ch@gmail.com>
11517
11518 * kern/elf.c (grub_elf32_load): Revert to previous code.
11519 (grub_elf64_load): Likewise.
11520
11521 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
11522
926b9823 115232008-11-01 Robert Millan <rmh@aybabtu.com>
11524
11525 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
11526 (TARGET_CPPFLAGS): Likewise.
11527 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
11528
1432e958 115292008-11-01 Carles Pina i Estany <carles@pina.cat>
11530
11531 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
11532
dba3f844 115332008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 11534
11535 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
11536 addition of objects until the code is not going to be able to fail.
11537
dba3f844 115382008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 11539
11540 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
11541 (add a missing NULL check, and correct them by moving the pointer
11542 operations after the actual check).
11543
7ab28c21 115442008-10-29 Robert Millan <rmh@aybabtu.com>
11545
11546 * util/i386/pc/grub-install.in: Handle empty string as output from
11547 make_system_path_relative_to_its_root().
11548
1b7748eb 115492008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
11550
11551 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
11552 circular metadata worst case scenario. If the metadata is circular
11553 then copy the wrap in place.
11554 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
11555 project lib/format_text/layout.h
11556 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
11557
c9618ab2 115582008-10-03 Felix Zielcke <fzielcke@z-51.de>
11559
7a36edca 11560 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 11561
bf981c62 115622008-10-03 Felix Zielcke <fzielcke@z-51.de>
11563
11564 * util/update-grub_lib.in: Mention filename in warning message.
11565
6d994591 115662008-09-29 Felix Zielcke <fzielcke@z-51.de>
11567
11568 * NEWS: Update for rename of update-grub to grub-mkconfig.
11569
18ade780 115702008-09-29 Felix Zielcke <fzielcke@z-51.de>
11571
11572 * util/update-grub_lib.in: Copy to ...
11573 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 11574 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 11575 * util/update-grub.in: Rename to ...
11576 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
11577 option. Add `--output' option to allow users to specify the generated
11578 configuration file. Default to stdout.
11579 (update_grub_dir): Rename to ...
11580 (grub_mkconfig_dir): ... this.
11581 (grub_cfg): Default to an empty string.
11582 * conf/common.rmk (update-grub): Rename to ...
11583 (grub-mkconfig): ... this.
11584 (update-grub_lib): Copy to ...
11585 (grub-mkconfig_lib): ... this.
11586 (update-grub_SCRIPTS): Copy to ...
11587 (grub-mkconfig_SCRIPTS): ... this. Update all users.
11588 (update-grub_DATA): Rename to ...
11589 (grub-mkconfig_DATA): ... this.
11590
556ce6ac 115912008-09-28 Robert Millan <rmh@aybabtu.com>
11592
11593 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
11594 to `modified'. Add the real `created' field.
11595 (grub_iso9660_uuid): Use `modified' rather than `created' for
11596 constructing the UUID.
11597
115982008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 11599
11600 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
11601 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
11602
92274e85 116032008-09-28 Bean <bean123ch@gmail.com>
11604
11605 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
11606 Thanks to Christian Franke for finding this bug.
11607
add6f17a 116082008-09-25 Robert Millan <rmh@aybabtu.com>
11609
11610 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
11611 instances of grub_util_get_disk_name() (see previous commit).
11612
d2a367b8 116132008-09-25 Robert Millan <rmh@aybabtu.com>
11614
11615 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
11616 `util/i386/get_disk_name.c'.
11617 * conf/i386-efi.rmk: Likewise.
11618 * conf/x86_64-efi.rmk: Likewise.
11619 * conf/i386-coreboot.rmk: Likewise.
11620 * conf/i386-ieee1275.rmk: Likewise.
11621 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
11622 `util/ieee1275/get_disk_name.c'.
11623 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
11624 * util/ieee1275/get_disk_name.c: Remove file.
11625 * util/i386/get_disk_name.c: Remove file.
11626 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
11627 "hd%d" for device.map entries, rather than using
11628 grub_util_get_disk_name().
11629
81a06771 116302008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 11631
11632 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
11633 warning.
11634 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
11635
5a004279 116362008-09-24 Carles Pina i Estany <carles@pina.cat>
11637
11638 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
11639 Changed to 0x5100.
11640 (GRUB_TERM_PPAGE): Changed to 0x4900.
11641
397093d3 116422008-09-24 Robert Millan <rmh@aybabtu.com>
11643
11644 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
11645 macros (they were i386-pc specific).
11646 * include/grub/sparc64/ieee1275/console.h: Likewise.
11647 * include/grub/efi/console.h: Likewise.
11648
a91b6c7c 116492008-09-22 Bean <bean123ch@gmail.com>
11650
11651 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
11652 resident and in attribute list.
11653
11654 * include/grub/ntfs.h (BMP_LEN): Removed.
11655
c40fd116 116562008-09-22 Bean <bean123ch@gmail.com>
11657
81a06771 11658 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11659 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11660
11661 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
11662 error occurs, as grub_disk_open will call grub_disk_close, which will
11663 call p->close (scsi).
11664
81a06771 116652008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 11666
11667 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
11668 (AC_PREREQ): Bumped to 2.59.
11669 (AC_TRY_COMPILE): Replace obsolete macro with ...
11670 (AC_COMPILE_IFELSE): ... this.
11671 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
11672 (AC_LINK_IFELSE): ... this.
11673
5dc43410 116742008-09-21 Felix Zielcke <fzielcke@z-51.de>
11675
11676 * autogen.sh: Add a call to `gendistlist.sh'.
11677
9035dce4 116782008-09-19 Christian Franke <franke@computer.org>
11679
11680 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
11681 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
11682 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
11683 Export __enable_execute_stack() to modules.
11684 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
11685 New function.
11686
7fd75377 116872008-09-09 Felix Zielcke <fzielcke@z-51.de>
11688
040030b3 11689 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
11690 Sort the list.
11691
116922008-09-09 Felix Zielcke <fzielcke@z-51.de>
11693
11694 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 11695 #include <grub/util/hostdisk.h>.
11696
89d5ffcf 116972008-09-08 Robert Millan <rmh@aybabtu.com>
11698
11699 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
11700 segments when their filesz is zero (grub_file_read() interprets
81a06771 11701 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 11702 Use `lowest_segment' rather than 0 for calculating the current
11703 segment load address.
11704
40da438f 117052008-09-08 Robert Millan <rmh@aybabtu.com>
11706
11707 * util/hostdisk.c (open_device): Replace a grub_util_info() call
11708 with grub_dprintf("hostdisk", ...), as it was so verbose that it
11709 clobbered useful information.
11710
ddbf5556 117112008-09-08 Robert Millan <rmh@aybabtu.com>
11712
11713 * include/grub/util/biosdisk.h: Move to ...
11714 * include/grub/util/hostdisk.h: ... here. Update all users.
11715 * util/biosdisk.c: Move to ...
11716 * util/hostdisk.c: ... here. Update all users.
11717
783d0f48 117182008-09-07 Robert Millan <rmh@aybabtu.com>
11719
11720 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
11721 variables.
11722 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
11723 and length can be stored directly in the `mbi->mmap_addr' and
11724 `mbi->mmap_length' struct fields.
11725
548e2ea5 117262008-09-07 Robert Millan <rmh@aybabtu.com>
11727
11728 * conf/i386.rmk: New file. Provides declaration for building
11729 `cpuid.mod'.
11730 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
11731 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
11732 variables.
11733 Include `conf/i386.mk'.
11734 * conf/i386-efi.rmk: Likewise.
11735 * conf/x86_64-efi.rmk: Likewise.
11736 * conf/i386-coreboot.rmk: Likewise.
11737 * conf/i386-ieee1275.rmk: Likewise.
11738
0ea85a37 117392008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
11740
11741 Based on patch created by Colin D Bennett <colin@gibibit.com>.
11742 Adds optimization support for BGR based modes.
11743
11744 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
11745 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11746 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11747 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11748 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11749 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11750 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11751 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11752 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11753 (grub_video_i386_vbeblit_index_index): Likewise.
11754 (grub_video_i386_vbeblit_replace_directN): Added.
11755 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11756 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11757 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11758 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11759 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11760 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 11761 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 11762 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11763 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11764 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11765 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11766 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11767 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
11768
11769 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
11770 (grub_video_i386_vbefill_R8G8B8): Likewise.
11771 (grub_video_i386_vbefill_index): Likewise.
11772 (grub_video_i386_vbefill_direct32): Added.
11773 (grub_video_i386_vbefill_direct24): Likewise.
11774 (grub_video_i386_vbefill_direct16): Likewise.
11775 (grub_video_i386_vbefill_direct8): Likewise.
11776
81a06771 11777 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 11778 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
11779 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
11780 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
11781 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
11782 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 11783
0ea85a37 11784 * video/video.c (grub_video_get_blit_format): Updated to use new
11785 blit formats. Added handling for 16 bit color modes.
81a06771 11786
11787 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 11788 fillers.
11789 (common_blitter): Updated to use new blitters.
11790
11791 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
11792 Removed.
11793 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11794 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11795 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11796 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11797 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11798 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11799 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11800 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11801 (grub_video_i386_vbeblit_index_index): Likewise.
11802 (grub_video_i386_vbeblit_replace_directN): Added.
11803 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11804 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11805 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11806 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11807 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11808 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
11809 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
11810 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11811 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11812 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11813 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11814 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11815 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 11816
0ea85a37 11817 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
11818 (grub_video_i386_vbefill_R8G8B8): Likewise.
11819 (grub_video_i386_vbefill_index): Likewise.
11820 (grub_video_i386_vbefill_direct32): Added.
11821 (grub_video_i386_vbefill_direct24): Likewise.
11822 (grub_video_i386_vbefill_direct16): Likewise.
11823 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 11824
0ea85a37 11825 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
11826 types.
81a06771 11827
0ea85a37 11828 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
11829 types.
81a06771 11830
0ea85a37 11831 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
11832 blitter types.
81a06771 11833
0ea85a37 11834 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
11835 types.
11836
e8a83df6 118372008-09-06 Felix Zielcke <fzielcke@z-51.de>
11838
11839 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
11840 RAID level 1.
11841
6bcd8ee5 118422008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 11843
6bcd8ee5 11844 * fs/iso9660.c (grub_iso9660_date): New structure.
11845 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
11846 (grub_iso9660_uuid): New function.
c375ae58 11847
59261157 118482008-09-05 Bean <bean123ch@gmail.com>
11849
11850 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
11851
11852 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
11853 insensitive bit for names in Win32 and Win32 & DOS namespace.
11854
11855 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
11856
11857 * include/grub/types.h (LONG_MAX): Likewise.
11858
58b6645a 118592008-09-04 Felix Zielcke <fzielcke@z-51.de>
11860
4ee55921 11861 * util/getroot.c: Include <config.h>.
11862 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
11863 add support for /dev/md/N devices and handle LVM double dash escaping.
11864
118652008-09-04 Felix Zielcke <fzielcke@z-51.de>
11866
11867 * config.guess: Update to latest version from config git.
11868 * config.sub: Likewise.
58b6645a 11869
9124f65d 118702008-09-03 Robert Millan <rmh@aybabtu.com>
11871
11872 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
11873 `disk->total_sectors'.
11874
81a06771 118752008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 11876
11877 * include/grub/normal.h: Fixed incorrect comment for
11878 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
11879
81a06771 118802008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 11881
11882 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
11883 values with defines.
11884
11885 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
11886 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
11887 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
11888 (GRUB_VBE_MODEATTR_COLOR): Likewise.
11889 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
11890 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
11891 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
11892 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
11893 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
11894 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
11895 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
11896 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
11897 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
11898 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
11899 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
11900 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
11901 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
11902 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
11903 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
11904
93d5cbf8 119052008-08-31 Robert Millan <rmh@aybabtu.com>
11906
11907 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
11908 declaration.
11909 (grub_multiboot): Fix a few warnings.
11910
21751d50 119112008-08-31 Robert Millan <rmh@aybabtu.com>
11912
11913 * loader/i386/pc/multiboot.c: Update comment not to say that
11914 boot_device support is unimplemented.
11915
e27a75c5 119162008-08-31 Robert Millan <rmh@aybabtu.com>
11917
11918 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
11919 or memory map support are unimplemented.
11920
81a06771 119212008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 11922
11923 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
11924
81a06771 119252008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 11926
11927 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
11928 total video memory in 'vbeinfo' output; show color format details for
11929 each video mode.
11930
7c5d8d95 119312008-08-30 Pavel Roskin <proski@gnu.org>
11932
11933 * util/genmoddep.c: Remove for real this time.
11934 * DISTLIST: Remove util/genmoddep.c.
11935
4cebd25a 119362008-08-30 Robert Millan <rmh@aybabtu.com>
11937
11938 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
11939 as required by Multiboot spec (it was already 4-byte aligned, but
11940 only by chance).
11941
b497a269 119422008-08-29 Pavel Roskin <proski@gnu.org>
11943
e3925185 11944 * kern/powerpc/ieee1275/crt0.S: Rename to ...
11945 * kern/powerpc/ieee1275/startup.S: ... this.
11946 * conf/powerpc-ieee1275.rmk: Adjust for the above.
11947 * DISTLIST: Likewise.
11948
b497a269 11949 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
11950 grub/cpu/kernel.h. Add start label for consistency with other
11951 platforms. Add grub_prefix immediately after start. Add jump
11952 to the code after grub_prefix.
11953 * include/grub/powerpc/kernel.h: Provide valid values for
11954 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
11955
6e5a42fe 119562008-08-29 Bean <bean123ch@gmail.com>
11957
11958 * configure.ac: Change host_os to cygwin for mingw.
11959 (asprintf): New check for function.
11960
11961 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
11962 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
11963
11964 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 11965 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 11966 sync, sleep and grub_util_get_disk_size for mingw.
11967
11968 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
11969 to get size in mingw.
11970 (open_device): Use flag O_BINARY if it's defined.
11971 (find_root_device): Add dummy code for mingw.
11972
11973 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
11974 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
11975 (get_scsi_disk_name): Return 0 for mingw.
11976
11977 * util/hostfs.c: #include <grub/util/misc.h>.
11978 (grub_hostfs_open): Use "rb" flag to open file, use
11979 grub_util_get_disk_size to get disk size for mingw.
11980
11981 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
11982 (asprintf): New function if HAVE_ASPRINTF is not set.
11983 (sync): New function for mingw.
11984 (sleep): Likewise.
11985 (grub_util_get_disk_size): Likewise.
11986
ab3f2673 119872008-08-28 Pavel Roskin <proski@gnu.org>
11988
11989 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11990 kern/time.c.
11991
1c282483 119922008-08-28 Robert Millan <rmh@aybabtu.com>
11993
11994 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
11995
678e849c 119962008-08-28 Robert Millan <rmh@aybabtu.com>
11997
11998 Change find_grub_drive() syntax so it doesn't prevent it from
11999 detecting NULL names as errors.
12000
12001 * util/biosdisk.c (find_grub_drive): Move free slot search code
12002 from here ...
12003 (find_free_slot): ... to here.
12004 (read_device_map): Use find_free_slot() to search for free slots.
12005
965c75ca 120062008-08-27 Marco Gerards <marco@gnu.org>
12007
12008 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
12009 (scsi_mod_SOURCES): New variable.
12010 (scsi_mod_CFLAGS): Likewise
12011 (scsi_mod_LDFLAGS): Likewise.
12012
12013 * disk/scsi.c: New file.
12014
12015 * include/grub/scsi.h: Likewise.
12016
12017 * include/grub/scsicmd.h: Likewise.
12018
12019 * disk/ata.c: Include <grub/scsi.h>.
12020 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
12021 instead.
12022 (grub_ata_iterate): Skip ATAPI devices.
12023 (grub_ata_open): Only handle ATAPI devices.
12024 (struct grub_atapi_read): Removed.
12025 (grub_atapi_readsector): Likewise.
12026 (grub_ata_read): No longer handle ATAPI devices.
12027 (grub_ata_write): Likewise.
12028 (grub_atapi_iterate): New function.
12029 (grub_atapi_read): Likewise.
12030 (grub_atapi_write): Likewise.
12031 (grub_atapi_open): Likewise.
12032 (grub_atapi_close): Likewise.
12033 (grub_atapi_dev): New variable.
12034 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
12035 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
12036
12037 * include/grub/disk.h (enum grub_disk_dev_id): Add
12038 `GRUB_DISK_DEVICE_SCSI_ID'.
12039
c07ae501 120402008-08-26 Robert Millan <rmh@aybabtu.com>
12041
12042 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
12043 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
12044 descriptive.
12045
5ed20adc 120462008-08-23 Bean <bean123ch@gmail.com>
12047
12048 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
12049 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12050 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
12051 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
12052 dm_nv.mod.
12053 (raid5rec_mod_SOURCES): New macro.
12054 (raid5rec_mod_CFLAGS): Likewise.
12055 (raid5rec_mod_LDFLAGS): Likewise.
12056 (raid6rec_mod_SOURCES): Likewise.
12057 (raid6rec_mod_CFLAGS): Likewise.
12058 (raid6rec_mod_LDFLAGS): Likewise.
12059 (mdraid_mod_SOURCES): Likewise.
12060 (mdraid_mod_CFLAGS): Likewise.
12061 (mdraid_mod_LDFLAGS): Likewise.
12062 (dm_nv_mod_SOURCES): Likewise.
12063 (dm_nv_mod_CFLAGS): Likewise.
12064 (dm_nv_mod_LDFLAGS): Likewise.
12065
12066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
12067 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12068 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12069
12070 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
12071 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12072
12073 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12074
12075 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12076
12077 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12078
12079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12080
12081 * disk/raid5_recover.c: New file.
12082
12083 * disk/raid6_recover.c: Likewise.
12084
12085 * disk/mdraid_linux.c: Likewise.
12086
12087 * disk/dmraid_nvidia.c: Likewise.
12088
12089 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
12090 ULONG_MAX.
12091
12092 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
12093 calculate the size of raid device.
12094 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
12095 different layout of raid5.
12096 (grub_raid_scan_device): Remove code specific to mdraid.
12097 (grub_raid_list): New variable.
12098 (free_array): New function.
12099 (grub_raid_register): Likewise.
12100 (grub_raid_unregister): Likewise.
12101 (grub_raid_rescan): Likewise.
12102 (GRUB_MOD_INIT): Don't iterate device here.
12103 (GRUB_MOD_FINI): Use free_array to release resource.
12104
12105 * include/grub/raid.h: Remove macro and structure specific to mdraid.
12106 (grub_raid5_recover_func_t): New function variable type.
12107 (grub_raid6_recover_func_t): Likewise.
12108 (grub_raid5_recover_func): New variable.
12109 (grub_raid6_recover_func): Likewise.
12110 (grub_raid_register): New function.
12111 (grub_raid_unregister): Likewise.
12112 (grub_raid_rescan): Likewise.
12113 (grub_raid_block_xor): Likewise.
12114
12115 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
12116 (CMD_CRC): New macro.
12117 (part): Removed.
12118 (read_file): Handle device as well as file.
12119 (cmd_crc): New function.
12120 (fstest): Handle multiple disks.
12121 (options): Remove part, raw and long, add root and diskcount.
12122 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 12123 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 12124 add handling for the new options, support multiple disks.
12125
12126 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
12127
29c18915 121282008-08-23 Bean <bean123ch@gmail.com>
12129
12130 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
12131
12132 * genfslist.sh: Ignore kernel.mod.
12133
12134 * genpartmaplist.sh: Likewise.
12135
8415f261 121362008-08-23 Robert Millan <rmh@aybabtu.com>
12137
12138 * util/getroot.c (find_root_device): Skip anything that starts with
12139 a dot, not just directories. This avoids things like /dev/.tmp.md0.
12140
d5a7dc5b 121412008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 12142
d5a7dc5b 12143 * util/update-grub.in (GRUB_GFXMODE): Export variable.
12144 * util/grub.d/00_header.in: Allow the administrator to change default
12145 gfxmode via ${GRUB_GFXMODE}.
12146
380cfbb4 121472008-08-21 Felix Zielcke <fzielcke@z-51.de>
12148
12149 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
12150
c9baafe7 121512008-08-21 Robert Millan <rmh@aybabtu.com>
12152
12153 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
12154 loader.
12155 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
12156 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
12157
e290bef2 121582008-08-20 Carles Pina i Estany <carles@pina.cat>
12159
12160 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
12161 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
12162
f9dbfc96 121632008-08-19 Robert Millan <rmh@aybabtu.com>
12164
12165 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
12166 (struct grub_virtual_screen): Remove `cursor_color'.
12167 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
12168 initialization.
12169 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
12170
dd6bd6ab 121712008-08-18 Robert Millan <rmh@aybabtu.com>
12172
12173 Unify (identical) linux_normal.c files.
12174 * loader/i386/efi/linux_normal.c: Move from here ...
12175 * loader/linux_normal.c: ... to here. Update all users.
12176 * loader/i386/pc/linux_normal.c: Delete. Update all users.
12177 * loader/i386/ieee1275/linux_normal.c: Likewise.
12178
7f42f83e 121792008-08-18 Robert Millan <rmh@aybabtu.com>
12180
12181 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
12182 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
12183 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
12184 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
12185 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
12186 New macros.
12187 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
12188 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
12189 (GRUB_LINUX_CL_END_OFFSET): ... to here.
12190 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
12191 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
12192 (GRUB_EFI_CL_END_OFFSET): Rename to ...
12193 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
12194 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
12195 Initialize `params->video_cursor_x' and `params->video_cursor_y'
12196 portably using grub_getxy().
12197 Replace `-EFI' with `-bzImage' in boot message.
12198
38487ddb 121992008-08-17 Robert Millan <rmh@aybabtu.com>
12200
12201 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
12202
deceb3ec 122032008-08-17 Robert Millan <rmh@aybabtu.com>
12204
12205 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
12206
12207 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
12208 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
12209 (grub_machine_mmap_iterate): New function declaration.
12210 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
12211 structure.
12212 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
12213 macros.
12214
12215 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
12216 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
12217 Move e820 parsing from here ...
12218 * kern/i386/pc/mmap.c: New file.
12219 (grub_machine_mmap_iterate): ... to here.
12220
12221 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
12222 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
12223 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
12224 (grub_available_iterate): Redeclare to return `void', and redeclare
12225 its hook to use grub_uint64_t as addr and size parameters, and rename
12226 to ...
12227 (grub_machine_mmap_iterate): ... this. Update all users.
12228
12229 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
12230 to make it more readable. Rename to ...
12231 (grub_machine_mmap_iterate): ... this.
12232
12233 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
12234 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
12235 (grub_multiboot): Allocate an extra region after the payload, and fill
12236 it with a Multiboot memory map. Adjust a.out loader to calculate size
12237 with the extra space.
12238 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
12239 with the extra space.
12240
f8aa0f43 122412008-08-17 Carles Pina i Estany <carles@pina.cat>
12242
9807deb9 12243 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 12244
605f5bb6 122452008-08-17 Felix Zielcke <fzielcke@z-51.de>
12246
12247 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
12248 mdate-sh to the list `find' searches for.
12249 * DISTLIST: Regenerated.
12250
210db6c6 122512008-08-16 Felix Zielcke <fzielcke@z-51.de>
12252
12253 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
12254 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 12255 genmoddep.awk, gensymlist.sh.in.
12256 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 12257 * DISTLIST: Regenerated.
48cdbfd4 12258 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 12259
1082b929 122602008-08-16 Robert Millan <rmh@aybabtu.com>
12261
12262 * disk/raid.c (grub_raid_init): Handle/report errors set by
12263 grub_device_iterate().
12264 * disk/lvm.c (grub_lvm_init): Likewise.
12265
42ce5170 122662008-08-15 Bean <bean123ch@gmail.com>
12267
12268 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12269 and datehook.mod.
12270 (datetime_mod_SOURCES): New macro.
12271 (datetime_mod_CFLAGS): Likewise.
12272 (datetime_mod_LDFLAGS): Likewise.
12273 (date_mod_SOURCES): Likewise.
12274 (date_mod_CFLAGS): Likewise.
12275 (date_mod_LDFLAGS): Likewise.
12276 (datehook_mod_SOURCES): Likewise.
12277 (datehook_mod_CFLAGS): Likewise.
12278 (datehook_mod_LDFLAGS): Likewise.
12279
12280 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12281 and datehook.mod.
12282 (datetime_mod_SOURCES): New macro.
12283 (datetime_mod_CFLAGS): Likewise.
12284 (datetime_mod_LDFLAGS): Likewise.
12285 (date_mod_SOURCES): Likewise.
12286 (date_mod_CFLAGS): Likewise.
12287 (date_mod_LDFLAGS): Likewise.
12288 (datehook_mod_SOURCES): Likewise.
12289 (datehook_mod_CFLAGS): Likewise.
12290 (datehook_mod_LDFLAGS): Likewise.
12291
12292 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12293 and datehook.mod.
12294 (datetime_mod_SOURCES): New macro.
12295 (datetime_mod_CFLAGS): Likewise.
12296 (datetime_mod_LDFLAGS): Likewise.
12297 (date_mod_SOURCES): Likewise.
12298 (date_mod_CFLAGS): Likewise.
12299 (date_mod_LDFLAGS): Likewise.
12300 (datehook_mod_SOURCES): Likewise.
12301 (datehook_mod_CFLAGS): Likewise.
12302 (datehook_mod_LDFLAGS): Likewise.
12303
12304 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12305 and datehook.mod.
12306 (datetime_mod_SOURCES): New macro.
12307 (datetime_mod_CFLAGS): Likewise.
12308 (datetime_mod_LDFLAGS): Likewise.
12309 (date_mod_SOURCES): Likewise.
12310 (date_mod_CFLAGS): Likewise.
12311 (date_mod_LDFLAGS): Likewise.
12312 (datehook_mod_SOURCES): Likewise.
12313 (datehook_mod_CFLAGS): Likewise.
12314 (datehook_mod_LDFLAGS): Likewise.
12315
12316 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12317 and datehook.mod.
12318 (datetime_mod_SOURCES): New macro.
12319 (datetime_mod_CFLAGS): Likewise.
12320 (datetime_mod_LDFLAGS): Likewise.
12321 (date_mod_SOURCES): Likewise.
12322 (date_mod_CFLAGS): Likewise.
12323 (date_mod_LDFLAGS): Likewise.
12324 (datehook_mod_SOURCES): Likewise.
12325 (datehook_mod_CFLAGS): Likewise.
12326 (datehook_mod_LDFLAGS): Likewise.
12327
12328 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12329
12330 * commands/date.c: New file.
12331
12332 * hook/datehook.c: Likewise.
12333
12334 * include/grub/lib/datetime.h: Likewise.
12335
12336 * include/grub/i386/cmos.h: Likewise.
12337
12338 * lib/datetime.c: Likewise.
12339
12340 * lib/i386/datetime.c: Likewise.
12341
12342 * lib/efi/datetime.c: Likewise.
12343
0e9242da 123442008-08-14 Robert Millan <rmh@aybabtu.com>
12345
12346 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12347 (grub_mkelfimage_SOURCES): New variable.
12348 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12349
12350 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12351 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12352 * conf/powerpc-ieee1275.rmk: Likewise.
12353 * conf/i386-ieee1275.rmk: Likewise.
12354
12355 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12356 * kern/i386/coreboot/init.c: Likewise.
12357
12358 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12359 with `<grub/cpu/kernel.h>'.
12360 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12361 to ...
12362 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12363 * kern/i386/coreboot/startup.S: Likewise.
12364
12365 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12366 (GRUB_MOD_GAP): Remove.
12367 * include/grub/powerpc/kernel.h: New file.
12368 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12369 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12370 * include/grub/i386/kernel.h: New file.
12371 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12372 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12373 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12374
12375 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12376 `grub-mkelfimage'.
12377 Use --directory when invoking grub_mkimage.
12378
12379 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12380 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12381 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12382 and GRUB_KERNEL_CPU_PREFIX.
12383
b86408f8 123842008-08-14 Felix Zielcke <fzielcke@z-51.de>
12385
d5e619ca 12386 * include/grub/err.h (grub_err_printf): New function prototype.
12387 * util/misc.c (grub_err_printf): New function.
12388 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12389 grub_printf.
12390 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 12391
7161f0e0 123922008-08-13 Robert Millan <rmh@aybabtu.com>
12393
12394 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12395
a1967522 123962008-08-13 Robert Millan <rmh@aybabtu.com>
12397
12398 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12399 boot entry.
12400
371458b5 124012008-08-12 Robert Millan <rmh@aybabtu.com>
12402
12403 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12404 of the relocation code from here ...
12405 (grub_multiboot): ... to here.
12406 (forward_relocator, backward_relocator): Move from here ...
12407 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12408 (grub_multiboot_backward_relocator): ... to here.
12409 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12410 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12411 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12412 (grub_multiboot_forward_relocator_end)
12413 (grub_multiboot_backward_relocator)
12414 (grub_multiboot_backward_relocator_end): New variables.
12415
05f9452b 124162008-08-12 Bean <bean123ch@gmail.com>
12417
12418 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12419
20024ab0 124202008-08-11 Robert Millan <rmh@aybabtu.com>
12421
12422 * kern/i386/linuxbios/startup.S: Move from here ...
12423 * kern/i386/coreboot/startup.S: ... to here.
12424
12425 * kern/i386/linuxbios/init.c: Move from here ...
12426 * kern/i386/coreboot/init.c: ... to here.
12427
12428 * kern/i386/linuxbios/table.c: Move from here ...
12429 * kern/i386/coreboot/mmap.c: ... to here.
12430
12431 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12432
e352e9cd 124332008-08-11 Robert Millan <rmh@aybabtu.com>
12434
12435 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12436 errors. Leave it to the upper layer to handle them.
12437
2d05bc6a 124382008-08-09 Christian Franke <franke@computer.org>
12439
12440 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12441 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12442 Install `grub.d/10_windows' only on Cygwin.
12443 * configure.ac: Add subst of `target_os'.
12444 Check `target_os' also before setting TARGET_OBJ2ELF.
12445 Add `--enable-grub-pe2elf'.
12446
042bd419 124472008-08-08 Robert Millan <rmh@aybabtu.com>
12448
12449 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12450 (grub_last_time): Change type to grub_uint64_t.
12451 (grub_disk_open): Migrate code from to using grub_get_time_ms().
12452 (grub_disk_close): Likewise.
12453
12454 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12455 (run_menu): Migrate code from to using grub_get_time_ms().
12456
12457 * util/misc.c (grub_get_time_ms): New function.
12458
7f280db5 124592008-08-08 Marco Gerards <marco@gnu.org>
12460
12461 * disk/ata.c (grub_ata_regget): Change return type to
12462 `grub_uint8_t'.
12463 (grub_ata_regget2): Likewise.
12464 (grub_ata_wait_status): New function.
12465 (grub_ata_wait_busy): Removed function, updated all users to use
12466 `grub_ata_wait_status'.
12467 (grub_ata_wait_drq): Likewise.
12468 (grub_ata_cmd): New function.
12469 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12470 error handling.
12471 (grub_ata_pio_write): Add error handling.
12472 (grub_atapi_identify): Likewise.
12473 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12474 handling.
12475 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12476 handling. Actually use the detected registers. Reorder the
12477 detection logic such that it is easier to read.
12478 (grub_ata_pciinit): Do not assign the same ID to each controller.
12479 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12480 handling.
12481 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12482
12483 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12484
1fbc5e66 124852008-08-08 Marco Gerards <marco@gnu.org>
12486
12487 * NEWS: Update.
12488
819ce6c0 124892008-08-07 Bean <bean123ch@gmail.com>
12490
12491 * include/grub/x86_64/pci.h: New file.
12492
5c41d44d 124932008-08-07 Christian Franke <franke@computer.org>
12494
12495 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12496 (TIMER2_GATE): Likewise.
12497 (grub_pit_wait): Add enable/disable of the timer2 gate
12498 bit of port 0x61. This fixes a possible infinite loop.
12499
5ebc275d 125002008-08-07 Bean <bean123ch@gmail.com>
12501
12502 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12503 kern/i386/tsc.c and kern/i386/pit.c.
12504
12505 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12506 x86_64 platform.
12507
12508 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12509 <grub/i386/tsc.h>.
12510
12511 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12512
e383b3d0 125132008-08-07 Bean <bean123ch@gmail.com>
12514
12515 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12516
12517 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12518
12519 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12520 multiple inclusion. Add #include <grub/types.h>.
12521
1cbb58ac 125222008-08-06 Christian Franke <franke@computer.org>
12523
12524 * conf/common.rmk: Build and install `10_windows'.
12525 * util/grub.d/10_windows.in: New script.
12526
337f5a1e 125272008-08-06 Pavel Roskin <proski@gnu.org>
12528
12529 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
12530
057bc4ac 125312008-08-06 Robert Millan <rmh@aybabtu.com>
12532
12533 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
12534 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
12535
2b99f123 125362008-08-06 Bean <bean123ch@gmail.com>
12537
12538 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
12539 (grub_pxefs_fs_int): Remove dummy definition.
12540 (grub_pxefs_open): Use data->block_size to store the current block
12541 size setting.
12542 (grub_pxefs_read): Use block size stored in data->block_size. As the
12543 value of grub_pxe_blksize can be changed after the file is opened.
12544
9f0234cb 125452008-08-06 Bean <bean123ch@gmail.com>
12546
12547 * fs/i386/pc/pxe.c (curr_file): new variable.
12548 (grub_pxefs_open): Simply the handling of pxe file system. Don't
12549 require the dummy internal file system anymore.
12550 (grub_pxefs_read): Removed.
12551 (grub_pxefs_close): Likewise.
12552 (grub_pxefs_fs_int): Likewise.
12553 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
12554 connection when we switch file.
12555 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
12556
a55d42e0 125572008-08-06 Robert Millan <rmh@aybabtu.com>
12558
12559 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
12560 `halt.mod'.
12561 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
12562 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
12563
12564 * kern/i386/halt.c: New file.
12565 * kern/i386/reboot.c: Likewise.
12566 * include/grub/i386/reboot.h: Likewise.
12567 * include/grub/i386/halt.h: Likewise.
12568
12569 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
12570 Include `<grub/cpu/halt.h>'.
12571 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
12572 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
12573
12574 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
12575 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
12576 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
12577 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
12578 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
12579 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
12580 from here ...
12581 * include/grub/i386/at_keyboard.h: ... to here.
12582
24371d26 125832008-08-05 Robert Millan <rmh@aybabtu.com>
12584
12585 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
12586 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
12587 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
12588 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12589 `kern/generic/millisleep.c'.
12590
12591 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
12592 instead of grub_get_rtc().
12593 (grub_tsc_init): Initialize `tsc_boot_time'.
12594
12595 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
12596 (grub_machine_init): Use grub_tsc_init() rather than
12597 installing an RTC-based handler via grub_install_get_time_ms().
12598
12599 * kern/i386/pit.c: New file.
12600 * include/grub/i386/pit.h: Likewise.
12601
9e7007b3 126022008-08-05 Bean <bean123ch@gmail.com>
12603
12604 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
12605
12606 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
12607 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
12608 (pxe_mod_SOURCES): New macro.
12609 (pxe_mod_CFLAGS): Likewise.
12610 (pxe_mod_LDFLAGS): Likewise.
12611 (pxecmd_mod_SOURCES): Likewise.
12612 (pxecmd_mod_CFLAGS): Likewise.
12613 (pxecmd_mod_LDFLAGS): Likewise.
12614
12615 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
12616 (grub_pxe_call): Likewise.
12617
12618 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
12619
12620 * commands/i386/pc/pxecmd.c: New file.
12621
9f0234cb 12622 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 12623
12624 * include/grub/i386/pc/pxe.h: Likewise.
12625
6977d49f 126262008-08-05 Bean <bean123ch@gmail.com>
12627
12628 * util/console.c (grub_console_cur_color): New variable.
12629 (grub_console_standard_color): Likewise.
12630 (grub_console_normal_color): Likewise.
12631 (grub_console_highlight_color): Likewise.
12632 (color_map): Likewise.
12633 (use_color): Likewise.
12634 (NUM_COLORS): New macro.
12635 (grub_ncurses_setcolorstate): Handle color properly.
12636 (grub_ncurses_setcolor): Don't change color here, just remember the
12637 settings, color will be set in grub_ncurses_setcolorstate.
12638 (grub_ncurses_getcolor): New function.
12639 (grub_ncurses_init): Initialize color pairs.
12640 (grub_ncurses_term): New member grub_ncurses_getcolor.
12641
9c2ff3ee 126422008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 12643
9c2ff3ee 12644 High resolution timer support. Implemented for x86 CPUs using TSC.
12645 Extracted generic grub_millisleep() so it's linked in only as needed.
12646 This requires a Pentium compatible CPU; if the RDTSC instruction is
12647 not supported, then it falls back on the generic grub_get_time_ms()
12648 implementation that uses the machine's RTC.
12649
12650 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
12651 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12652 `kern/generic/millisleep.c'.
12653
12654 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
12655 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
12656
12657 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
12658 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12659
12660 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12661
12662 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12663 `kern/generic/millisleep.c'.
12664
12665 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12666
12667 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
12668
12669 * kern/generic/rtc_get_time_ms.c: New file.
12670
12671 * kern/generic/millisleep.c: New file.
337f5a1e 12672
9c2ff3ee 12673 * kern/misc.c: Don't include
12674 <kern/time.h> anymore.
12675 (grub_millisleep_generic): Removed.
12676
12677 * commands/sleep.c (grub_interruptible_millisleep): Uses
12678 grub_get_time_ms() instead of grub_get_rtc().
12679
12680 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
12681 function.
12682 (grub_cpu_is_cpuid_supported): New inline function.
12683 (grub_cpu_is_tsc_supported): New inline function.
12684 (grub_tsc_init): New function prototype.
12685 (grub_tsc_get_time_ms): New function prototype.
12686
12687 * kern/i386/tsc.c (grub_get_time_ms): New file.
12688
12689 * include/grub/time.h: Include <grub/types.h.
12690 (grub_millisleep_generic): Removed.
12691 (grub_get_time_ms): New prototype.
12692 (grub_install_get_time_ms): New prototype.
12693 (grub_rtc_get_time_ms): New prototype.
12694
12695 * kern/time.c (grub_get_time_ms): New function.
12696 (grub_install_get_time_ms): New function.
12697
12698 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
12699 <grub/time.h> anymore.
12700 (grub_millisleep): Removed.
12701 (grub_machine_init): Call grub_tsc_init.
12702
12703 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
12704 get_time_ms() implementation.
12705
12706 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
12707 (ieee1275_get_time_ms): New function.
12708 (grub_machine_init): Install get_time_ms() implementation.
12709
12710 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
12711 (grub_machine_init): Call grub_tsc_init().
12712 (grub_millisleep): Removed.
bf06a93f 12713
9c2ff3ee 12714 * kern/ieee1275/init.c (grub_millisleep): Removed.
12715 (grub_machine_init): Install ieee1275_get_time_ms()
12716 implementation.
12717 (ieee1275_get_time_ms): New function.
12718 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
12719 real work.
12720
9ec92aaf 127212008-08-05 Marco Gerards <marco@gnu.org>
12722
12723 * disk/ata.c: Include <grub/pci.h>.
12724 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
12725 (grub_ata_initialize): Rewritten.
12726 (grub_ata_device_initialize): New function.
12727
8d23f507 127282008-08-04 Pavel Roskin <proski@gnu.org>
12729
12730 * kern/main.c: Include grub/mm.h.
12731
5e15ee3d 127322008-08-04 Robert Millan <rmh@aybabtu.com>
12733
12734 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
12735 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
12736 corruption problem).
12737
a9053f8f 127382008-08-04 Robert Millan <rmh@aybabtu.com>
12739
12740 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
12741 warnings introduced in my last commit.
12742
dd19c7d7 127432008-08-03 Robert Millan <rmh@aybabtu.com>
12744
12745 Make PCI available on all i386 architectures.
12746
12747 * include/grub/i386/pc/pci.h: Move from here ...
12748 * include/grub/i386/pci.h: ... to here.
12749
12750 * include/grub/i386/pc/pci.h: Remove.
12751 * include/grub/i386/efi/pci.h: Remove.
12752 * include/grub/x86_64/efi/pci.h: Remove.
12753
12754 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
12755 `<grub/cpu/pci.h>'.
12756
12757 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
12758 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
12759 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
12760
12761 * conf/i386-ieee1275.rmk: Likewise.
12762
e14a6184 127632008-08-03 Robert Millan <rmh@aybabtu.com>
12764
12765 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
12766 (grub_console_setcursor): Make it possible to set cursor off.
12767
52768e37 127682008-08-03 Robert Millan <rmh@aybabtu.com>
12769
12770 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
12771 of modules instead of assuming which platform provides what.
12772 * util/update-grub.in: Likewise.
12773
2d52f57f 127742008-08-03 Robert Millan <rmh@aybabtu.com>
12775
12776 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
12777 instead of `grub_install_dos_part' to determine whether a drive needs
12778 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 12779 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 12780
2a5cd121 127812008-08-02 Robert Millan <rmh@aybabtu.com>
12782
12783 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
12784
93808428 127852008-08-02 Robert Millan <rmh@aybabtu.com>
12786
12787 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
12788 of informational grub_dprintf() calls.
12789
3bd0a12a 127902008-08-02 Robert Millan <rmh@aybabtu.com>
12791
12792 * disk/memdisk.c (memdisk_size): Don't initialize.
12793 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
12794
12795 * include/grub/i386/pc/kernel.h
12796 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
12797 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
12798 (grub_memdisk_image_size, grub_arch_memdisk_addr)
12799 (grub_arch_memdisk_size): Remove.
12800
12801 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
12802 field (was only used to transfer a constant). Add `type' field to
12803 support multiple module types.
12804 (grub_module_iterate): New function.
12805
12806 * kern/device.c (grub_device_open): Do not hide error messages
12807 when grub_disk_open() fails. Use grub_print_error() instead.
12808
12809 * kern/i386/pc/init.c (grub_arch_modules_addr)
12810 (grub_arch_memdisk_size): Remove functions.
12811 (grub_arch_modules_addr): Return the module address in high memory
12812 (now that it isn't copied anymore).
12813
12814 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
12815 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
12816 decompression routine (grub_total_module_size already includes that
12817 now). Don't copy modules back to low memory.
12818
12819 * kern/main.c: Include `<grub/mm.h>'.
12820 (grub_load_modules): Split out (and use) ...
12821 (grub_module_iterate): ... this function, which iterates through
12822 module objects and runs a hook.
12823 Comment out grub_mm_init_region() call, as it would cause non-ELF
12824 modules to be overwritten.
12825
12826 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
12827 the memdisk image in its own region, make it part of the module list.
12828 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
12829 (main): Parse --memdisk|-m option, and pass user-provided path as
12830 parameter to generate_image().
12831 (add_segments): Pass `memdisk_path' down to load_modules().
12832 (load_modules): Embed memdisk image in module section when requested.
12833 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
12834 `header.type' instead of `header.offset'.
12835
12836 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
12837 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
12838 (memdisk_mod_LDFLAGS): New variables.
12839 * conf/i386-coreboot.rmk: Likewise.
12840 * conf/i386-ieee1275.rmk: Likewise.
12841
a927cc73 128422008-08-02 Robert Millan <rmh@aybabtu.com>
12843
12844 * loader/i386/pc/multiboot.c (playground, forward_relocator)
12845 (backward_relocator): New variables. Used to allocate and relocate
12846 the payload, respectively.
12847 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 12848 address, install the appropriate relocator code in each bound of
a927cc73 12849 the payload, and set the entry point such that
12850 grub_multiboot_real_boot() will jump to one of them.
12851
12852 * kern/i386/loader.S (grub_multiboot_payload_size)
12853 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12854 (grub_multiboot_payload_entry_offset): New variables.
12855 (grub_multiboot_real_boot): Set cpu context to what the relocator
12856 expects, and jump to the relocator instead of the payload.
12857
12858 * include/grub/i386/loader.h (grub_multiboot_payload_size)
12859 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12860 (grub_multiboot_payload_entry_offset): Export.
12861
b15d8a0c 128622008-08-01 Bean <bean123ch@gmail.com>
12863
12864 * normal/menu_entry.c (editor_getline): Don't return the original
12865 string as result, as it will be released by lexer once it has done
12866 using it.
12867
cdfb3d22 128682008-08-01 Robert Millan <rmh@aybabtu.com>
12869
12870 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
12871 within menuentries, not before them.
12872 util/grub.d/10_hurd.in: Likewise.
12873
9175e93d 128742008-08-01 Bean <bean123ch@gmail.com>
12875
12876 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
12877 (bufio_mod_SOURCES): New macro.
12878 (bufio_mod_CFLAGS): Likewise.
12879 (bufio_mod_LDFLAGS): Likewise.
12880
12881 * include/grub/bufio.h: New file.
12882
12883 * io/bufio.c: Likewise.
12884
12885 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
12886 (grub_video_reader_png): Use grub_buffile_open to open file.
12887
12888 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
12889 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
12890
12891 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
12892 (grub_video_reader_tga): Use grub_buffile_open to open file.
12893
12894 * font/manager.c: Include <grub/bufio.h>.
12895 (add_font): Use grub_buffile_open to open file.
12896
3d8383e7 128972008-07-31 Robert Millan <rmh@aybabtu.com>
12898
12899 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
12900 ELF segments, use a macro for arbitrarily accessing any of them instead
12901 of preparing a pointer that allows access to one at a time.
12902 (grub_multiboot_load_elf64): Likewise.
12903
16e641b6 129042008-07-31 Bean <bean123ch@gmail.com>
12905
12906 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
12907 GRUB_KERNEL_MACHINE_DATA_END.
12908
59198b72 129092008-07-30 Robert Millan <rmh@aybabtu.com>
12910
12911 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
12912 Increase from 0x50 to 0x60.
12913 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
12914 use UUIDs to identify the root drive for them. If that's not
12915 possible, abort.
12916 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
12917 check, for cross-disk installs.
12918
ae88bca3 129192008-07-30 Robert Millan <rmh@aybabtu.com>
12920
12921 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
12922 is non-empty, use it to set the `prefix' environment variable instead
12923 of the usual approach.
12924 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
12925 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
12926 environment variable instead of dummy make_install_device().
12927
12928 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
12929 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 12930 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 12931
12932 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
12933 New variable reference.
12934 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
12935 New macro. Defines offset of `grub_prefix' within startup.S (relative
12936 to `start').
12937 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
12938 section within startup.S (relative to `start').
12939 * include/grub/i386/coreboot/kernel.h: Likewise.
12940
12941 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
12942 Overwrite grub_prefix with its contents, at the beginning of the
12943 first segment.
12944 (main): Understand -p|--prefix.
12945
14f41dd1 129462008-07-30 Robert Millan <rmh@aybabtu.com>
12947
12948 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
12949
4ca049a3 129502008-07-30 Robert Millan <rmh@aybabtu.com>
12951
12952 * term/i386/pc/vga_text.c (grub_console_cls): Use
12953 grub_console_gotoxy() to go back to beginning of the screen.
12954 Found by Patrick Georgi <patrick.georgi@coresystems.de>
12955
2921d337 129562008-07-29 Christian Franke <franke@computer.org>
12957
12958 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12959 Add conversion of emulated mount points on Cygwin.
12960
b609876d 129612008-07-29 Christian Franke <franke@computer.org>
12962
12963 * util/update-grub.in: Add a check for admin
12964 group on Cygwin.
12965 Remove old `grub.cfg.new' before creation.
12966 Add `-f' to `mv' to handle the different filesystem
12967 semantics of Windows.
12968
e93e4679 129692008-07-29 Bean <bean123ch@gmail.com>
12970
12971 * normal/main.c (get_line): Fix buffer overflow bug.
12972
41694fd0 129732008-07-28 Robert Millan <rmh@aybabtu.com>
12974
12975 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
12976 (struct grub_apple_header): New struct. Describes the layout of
12977 the partmap header.
12978 (apple_partition_map_iterate): Check the header magic as well as the
12979 partition magic (which was already being checked).
12980
cfd0b4e6 129812008-07-28 Pavel Roskin <proski@gnu.org>
12982
12983 * genmk.rb: Add a warning to the beginning of the output that
12984 it's a generated file and should not be edited.
12985
93cce016 129862008-07-28 Robert Millan <rmh@aybabtu.com>
12987
12988 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12989 with the same number are found, just use issue a warning with
12990 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 12991
cd1df915 129922008-07-27 Robert Millan <rmh@aybabtu.com>
12993
12994 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
12995 information.
12996
b70a8427 129972008-07-27 Bean <bean123ch@gmail.com>
12998
12999 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13000 (grub_fat_find_dir): Ignore case when comparing filename.
13001
8f5e379f 130022008-07-27 Bean <bean123ch@gmail.com>
13003
13004 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
13005 smallino, as it's more descriptive, and i8count can be confused with
13006 the other field count.
13007 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
13008 inode type.
13009
a85cd5a0 130102008-07-27 Bean <bean123ch@gmail.com>
13011
13012 * commands/crc.c: New file.
13013
13014 * lib/crc.c: Likewise.
13015
13016 * include/grub/lib/crc.h: Likewise.
13017
13018 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
13019
13020 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
13021 (hexdump): Move this function to ...
13022
13023 * lib/hexdump.c: ... here.
13024
13025 * include/grub/hexdump.h: Renamed to ...
13026
13027 * include/grub/lib/hexdump.h: ... this.
13028
13029 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
13030
13031 * util/grub-editenv.c: Likewise.
13032
13033 * include/envblk.h: Renamed to ...
13034
13035 * include/lib/envblk.h: ... this.
13036
13037 * util/envblk.c: Renamed to ...
13038
13039 * lib/envblk.c: ... this.
13040
13041 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
13042 lib/hexdump.c.
13043 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
13044 (pkglib_MODULES): Add crc.mod.
13045 (hexdump_mod_SOURCES): Add lib/hexdump.c.
13046 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
13047 (crc_mod_SOURCES): New macro.
13048 (crc_mod_CFLAGS): Likewise.
13049 (crc_mod_LDFLAGS): Likewise.
13050
13051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
13052
13053 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13054
13055 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13056
13057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13058
13059 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13060
c298def0 130612008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 13062
13063 * commands/help.c: Include <grub/term.h>.
13064 (TERM_WIDTH): Removed. Updated all users.
13065
cc349fb3 130662008-07-27 Pavel Roskin <proski@gnu.org>
13067
13068 * util/getroot.c (find_root_device): Rephrase a comment to avoid
13069 spurious warnings about a comment within a comment.
13070
9051607e 130712008-07-25 Robert Millan <rmh@aybabtu.com>
13072
13073 * util/getroot.c (find_root_device): Skip devices that match
13074 /dev/dm-[0-9]. This lets the real device be found for any type of
13075 abstraction (LVM, EVMS, RAID..).
13076 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
13077 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
13078 device is found first, find_root_device() will now skip it.
13079
01453bfc 130802008-07-24 Pavel Roskin <proski@gnu.org>
13081
13082 * include/grub/types.h: Use __builtin_bswap32() and
13083 __builtin_bswap64() with gcc 4.3 and newer.
13084
6af9849f 130852008-07-24 Christian Franke <franke@computer.org>
13086
3a0fa256 13087 * util/i386/pc/grub-install.in: If `--debug' is specified,
13088 pass `--verbose' to grub-setup.
13089 Abort script if make_system_path_relative_to_its_root() fails.
13090
7810e747 130912008-07-24 Bean <bean123ch@gmail.com>
13092
13093 * configure.ac: Fixed a bug caused by the previous cygwin patch,
13094 variable `target_platform' should be `platform'.
13095
42290e17 130962008-07-24 Bean <bean123ch@gmail.com>
13097
51cc5193 13098 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 13099 (grub_png_init_fixed_block): New function.
13100 (grub_png_decode_image_data): Handle fixed huffman code compression.
13101
2a8a80e4 131022008-07-24 Bean <bean123ch@gmail.com>
13103
13104 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
13105 (grub_pe2elf_SOURCES): New macro.
13106 (CLEANFILES): Add grub-pe2elf.
13107
13108 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
13109 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
13110 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
13111 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
13112 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
13113 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
13114 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
13115 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
13116 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
13117 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
13118 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
13119 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
13120 (GRUB_PE32_DT_FUNCTION): Likewise.
13121 (GRUB_PE32_REL_I386_DIR32): Likewise.
13122 (GRUB_PE32_REL_I386_REL32): Likewise.
13123 (grub_pe32_symbol): New structure.
13124 (grub_pe32_reloc): Likewise.
13125
13126 * util/grub-pe2elf.c: New file.
13127
13128 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
13129 start symbol in non pc platform.
13130
13131 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
13132
13133 The following patches are from Christian Franke.
13134
13135 * include/grub/dl.h: Remove .previous, gas supports this only
13136 for ELF format.
13137
13138 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
13139 Remove .type, gas supports this only for ELF format.
13140
13141 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
13142 nullbytes in symbol table. This fixes an infinite loop if table is
13143 zero filled.
13144
13145 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
13146 TARGET_IMG_LDFLAGS and EXEEXT.
13147
13148 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
13149 TARGET_IMG_LDFLAGS_AC.
13150 (grub_CHECK_STACK_ARG_PROBE): New function.
13151
13152 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
13153
13154 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
13155
13156 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
13157 to set TARGET_IMG_LD* accordingly.
13158 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
13159 Add call to grub_CHECK_STACK_ARG_PROBE.
13160 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
13161
13162 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
13163
13164 * genmk.rb: Add EXEEXT to CLEANFILES.
13165
12ccdb75 131662008-07-23 Robert Millan <rmh@aybabtu.com>
13167
13168 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
13169 define the codes for arrows and lines used for the menu).
13170 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
13171 as well.
13172
13173 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
13174 fonts, because the latter are too slow.
13175
18eeaf04 131762008-07-21 Bean <bean123ch@gmail.com>
13177
13178 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
13179 a20. Run keyboard test last, as it will cause macbook to halt.
13180
b095e2ad 131812008-07-18 Pavel Roskin <proski@gnu.org>
13182
13183 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
13184 load foreign architecture modules correctly anyway. Keep
13185 support for loading host architecture modules, whether we
13186 compile them or not.
13187
737feb35 131882008-07-17 Pavel Roskin <proski@gnu.org>
13189
3f4ce737 13190 * configure.ac: Use -m32 or -m64 regardless of whether we had to
13191 change target_cpu. The compiler default can mismatch target_cpu
13192 in any case.
13193
4ad2d049 13194 * disk/efi/efidisk.c: Fix format warnings on x86_64.
13195 * kern/efi/efi.c: Likewise.
13196
f6130a12 13197 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
13198 target compiler is functional.
13199 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
13200 are set up.
13201
58393a2d 13202 * configure.ac: Default to efi platform for x86_64-apple. Allow
13203 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
13204 adjustments from the rest, only do them if target is not
13205 explicitly given. Merge other adjustments with the final sanity
13206 check. Remove an extraneous check for supported CPU. Be
13207 specific which CPU and which platform is not supported.
13208
737feb35 13209 * configure.ac: Default to pc platform for x86_64.
13210
546f966a 132112008-07-17 Robert Millan <rmh@aybabtu.com>
13212
13213 Partial LinuxBIOS -> Coreboot rename.
13214
13215 * conf/i386-linuxbios.rmk: Renamed to ...
13216 * conf/i386-coreboot.rmk: ... this.
13217 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
13218 * configure.ac: Accept "coreboot" as input platform (but maintain
13219 compatibility with "linuxbios").
13220 * include/grub/i386/linuxbios: Renamed to ...
13221 * include/grub/i386/coreboot: ... this.
13222
20011694 132232008-07-17 Bean <bean123ch@gmail.com>
13224
13225 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 13226 (appleldr_mod_SOURCE): New variable.
20011694 13227 (appleldr_mod_CFLAGS): Likewise.
13228 (appleldr_mod_LDFLAGS): Likewise.
13229 (pci_mod_SOURCES): Likewise.
13230 (pci_mod_CFLAGS): Likewise.
13231 (pci_mod_LDFLAGS): Likewise.
13232 (lspci_mod_SOURCES): Likewise.
13233 (lspci_mod_CFLAGS): Likewise.
13234 (lspci_mod_LDFLAGS): Likewise.
13235
13236 * conf/x86_64-efi.rmk: New file.
13237
13238 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
13239 macro.
13240 (grub_efidisk_write): Likewise.
13241
13242 * include/efi/api.h (efi_call_0): New macro.
13243 (efi_call_1): Likewise.
13244 (efi_call_2): Likewise.
13245 (efi_call_3): Likewise.
13246 (efi_call_4): Likewise.
13247 (efi_call_5): Likewise.
13248 (efi_call_6): Likewise.
13249
13250 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
13251 grub_rescue_cmd_chainloader.
13252
13253 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
13254 (grub_pe32_optional_header): Change some fields based on i386 or
13255 x86_64 platform.
13256 (GRUB_PE32_PE32_MAGIC): Likewise.
13257
13258 * include/grub/efi/uga_draw.h: New file.
13259
13260 * include/grub/elf.h (STN_ABS): New constant.
13261 (R_X86_64_NONE): Relocation constant for x86_64.
13262 (R_X86_64_64): Likewise.
13263 (R_X86_64_PC32): Likewise.
13264 (R_X86_64_GOT32): Likewise.
13265 (R_X86_64_PLT32): Likewise.
13266 (R_X86_64_COPY): Likewise.
13267 (R_X86_64_GLOB_DAT): Likewise.
13268 (R_X86_64_JUMP_SLOT): Likewise.
13269 (R_X86_64_RELATIVE): Likewise.
13270 (R_X86_64_GOTPCREL): Likewise.
13271 (R_X86_64_32): Likewise.
13272 (R_X86_64_32S): Likewise.
13273 (R_X86_64_16): Likewise.
13274 (R_X86_64_PC16): Likewise.
13275 (R_X86_64_8): Likewise.
13276 (R_X86_64_PC8): Likewise.
13277
13278 * include/grub/i386/efi/pci.h: New file.
13279
13280 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13281 Change it value based on platform.
13282 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13283 (GRUB_E820_RAM): Likewise.
13284 (GRUB_E820_RESERVED): Likewise.
13285 (GRUB_E820_ACPI): Likewise.
13286 (GRUB_E820_NVS): Likewise.
13287 (GRUB_E820_EXEC_CODE): Likewise.
13288 (GRUB_E820_MAX_ENTRY): Likewise.
13289 (grub_e820_mmap): New structure.
13290 (linux_kernel_header): Change the efi field according to different
13291 kernel version, also field from linux_kernel_header.
13292
13293 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13294
13295 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13296 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13297 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13298 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13299 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13300 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13301 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13302 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13303 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13304 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13305
13306 * include/grub/x86_64/efi/kernel.h: New file.
13307
13308 * include/grub/x86_64/efi/loader.h: Likewise.
13309
13310 * include/grub/x86_64/efi/machine.h: Likewise.
13311
13312 * include/grub/x86_64/efi/pci.h: Likewise.
13313
13314 * include/grub/x86_64/efi/time.h: Likewise.
13315
13316 * include/grub/x86_64/linux.h: Likewise.
13317
13318 * include/grub/x86_64/setjmp.h: Likewise.
13319
13320 * include/grub/x86_64/time.h: Likewise.
13321
13322 * include/grub/x86_64/types.h: Likewise.
13323
13324 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13325 GRUB_TARGET_SIZEOF_VOID_P.
13326
13327 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13328 (grub_efi_locate_handle): Likewise.
13329 (grub_efi_open_protocol): Likewise.
13330 (grub_efi_set_text_mode): Likewise.
13331 (grub_efi_stall): Likewise.
13332 (grub_exit): Likewise.
13333 (grub_reboot): Likewise.
13334 (grub_halt): Likewise.
13335 (grub_efi_exit_boot_services): Likewise.
13336 (grub_get_rtc): Likewise.
13337
13338 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13339 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13340 (grub_efi_allocate_pages): Wrap efi calls.
13341 (grub_efi_free_pages): Wrap efi calls.
13342 (grub_efi_get_memory_map): Wrap efi calls.
13343
13344 * kern/x86_64/dl.c: New file.
13345
13346 * kern/x86_64/efi/callwrap.S: Likewise.
13347
13348 * kern/x86_64/efi/startup.S: Likewise.
13349
13350 * loader/efi/appleloader.c: Likewise.
13351
13352 * loader/efi/chainloader.c (cmdline): New variable.
13353 (grub_chainloader_unload): Wrap efi calls.
13354 (grub_chainloader_boot): Likewise.
13355 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13356 command line.
13357
13358 * loader/efi/chainloader_normal.c (chainloader_command):
13359 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13360 command line.
13361
13362 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13363 method.
13364 (grub_e820_add_region): New function.
13365 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13366 booting.
13367 (grub_find_video_card): New function.
13368 (grub_linux_setup_video): New function.
13369 (grub_rescue_cmd_linux): Probe for video information.
13370
13371 * normal/x86_64/setjmp.S: New file.
13372
13373 * term/efi/console.c (map_char): New function.
13374 (grub_console_putchar): Map unicode char.
13375 (grub_console_checkkey): Wrap efi calls.
13376 (grub_console_getkey): Likewise.
13377 (grub_console_getwh): Likewise.
13378 (grub_console_gotoxy): Likewise.
13379 (grub_console_cls): Likewise.
13380 (grub_console_setcolorstate): Likewise.
13381 (grub_console_setcursor): Likewise.
13382
13383 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13384
59652a20 133852008-07-16 Pavel Roskin <proski@gnu.org>
13386
ef294055 13387 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13388 format strings.
13389
59652a20 13390 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13391 pointer, not an integer. This fixes a warning and prevents
13392 precision loss on 64-bit systems.
13393 (relocate_addresses): Remove unneeded cast.
13394
afc3b5d7 133952008-07-15 Pavel Roskin <proski@gnu.org>
13396
506b2b3e 13397 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13398
62ead89c 13399 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13400
c4cd51d7 13401 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13402 Fix comparison between signed and unsigned.
13403
0d3d8f28 13404 * include/grub/i386/ieee1275/console.h: Declare
13405 grub_console_init() and grub_console_fini().
13406
8804b286 13407 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13408 It's empty and unused.
13409
ee01cf35 13410 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13411 beginning to avoid warnings with some compilers.
13412
afc3b5d7 13413 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13414 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13415
e4e8eaa5 134162008-07-14 Pavel Roskin <proski@gnu.org>
13417
407aceb4 13418 * kern/env.c (grub_register_variable_hook): Don't copy empty
13419 string, it leaks memory. Pass "" to grub_env_set(), it should
13420 handle constant strings.
13421
e4e8eaa5 13422 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13423 * commands/cmp.c (grub_cmd_cmp): Likewise.
13424 * kern/dl.c (grub_dl_flush_cache): Likewise.
13425 (grub_dl_load_core): Likewise.
13426 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13427 (grub_elf64_load_phdrs): Likewise.
13428
d4e2dad3 134292008-07-13 Pavel Roskin <proski@gnu.org>
13430
13431 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13432 between signed and unsigned.
13433 (LzmaEnc_Finish): Fix warning about an unused parameter.
13434
aa24b516 134352008-07-13 Bean <bean123ch@gmail.com>
13436
13437 * Makefile.in (enable_lzo): New rule.
13438
13439 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13440
13441 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13442
13443 * boot/i386/pc/lnxboot.S: #include <config.h>.
13444
13445 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 13446 its value according to the compression algorithm used, lzo or lzma.
aa24b516 13447
13448 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
13449 compression algorithm according to configure macro.
13450
13451 * kern/i386/pc/startup.S (codestart): Likewise.
13452
13453 * kern/i386/pc/lzma_decode.S: New file.
13454
13455 * include/grub/lib/LzFind.h: Likewise.
13456
13457 * include/grub/lib/LzHash.h: Likewise.
13458
13459 * include/grub/lib/LzmaDec.h: Likewise.
13460
13461 * include/grub/lib/LzmaEnc.h: Likewise.
13462
13463 * include/grub/lib/LzmaTypes.h: Likewise.
13464
13465 * lib/LzFind.c: Likewise.
13466
13467 * lib/LzmaDec.c: Likewise.
13468
13469 * lib/LzmaEnc.c: Likewise.
13470
4ae821ac 134712008-07-13 Bean <bean123ch@gmail.com>
13472
13473 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13474 (grub_ext4_extent_header): New structure.
13475 (grub_ext4_extent): Likewise.
13476 (grub_ext4_extent_idx): Likewise.
13477 (grub_ext4_find_leaf): New function.
13478 (grub_ext2_read_block): Handle extents.
13479
9a745147 134802008-07-12 Robert Millan <rmh@aybabtu.com>
13481
13482 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13483
d49a4cf6 134842008-07-11 Robert Millan <rmh@aybabtu.com>
13485
13486 * util/grub.d/40_custom.in: New file. Example on how to add custom
13487 entries to /etc/grub.d.
13488 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13489 40_custom (implicitly, by merging all the grub.d rules).
13490
947414b4 134912008-07-11 Pavel Roskin <proski@gnu.org>
13492
0059cf6f 13493 * commands/read.c (grub_getline): Fix invalid memory access.
13494 Don't add newline to the variable value.
13495
947414b4 13496 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13497 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13498 (serial_hw_get_port): Check validity of the port number.
13499 (grub_cmd_serial): Check return value of serial_hw_get_port().
13500
62a02d00 135012008-07-07 Pavel Roskin <proski@gnu.org>
13502
13503 * boot/i386/pc/diskboot.S (notification_string): Replace
13504 "Loading kernel" with just "loading". This is shorter, less
13505 confusing and saves a few bytes for possible future changes.
13506
3e5581b0 135072008-07-05 Pavel Roskin <proski@gnu.org>
13508
ea387a48 13509 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13510 size for ATAPI devices, they are undefined. Output sector
13511 number in decimal form.
13512
3e5581b0 13513 * disk/ata.c: Use named constants for status bits.
13514
fdecb8fd 135152008-07-04 Pavel Roskin <proski@gnu.org>
13516
bcd35b90 13517 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13518 grub_addr_t before casting it to the void pointer to fix a
13519 warning. Non-addressable regions are discarded earlier.
13520 (grub_arch_modules_addr): Cast _end to grub_addr_t.
13521 * kern/i386/linuxbios/table.c: Include grub/misc.h.
13522 (check_signature): Don't shadow table_header.
13523 (grub_linuxbios_table_iterate): Cast numeric constants to
13524 grub_linuxbios_table_header_t.
13525 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
13526 grub_stop().
13527
af58ab3d 13528 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
13529 prevent warnings.
13530
1759aa57 13531 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
13532 pointer, which can cause warnings. Support 64-bit addresses.
13533
fdecb8fd 13534 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
13535 of sizeof(long). This fixes PowerPC image generation on x86_64.
13536
8516d2a8 135372008-07-04 Robert Millan <rmh@aybabtu.com>
13538
13539 This fixes a performance issue when pc & gpt partmap iterators
13540 didn't abort iteration even after our hook found what it was
fe987087 13541 looking for (often causing expensive probes of non-existent drives).
8516d2a8 13542
13543 Some callers relied on previous buggy behaviour, since they would
34c44600 13544 raise an error when their own hooks caused early abortion of its
8516d2a8 13545 iteration.
13546
13547 * kern/device.c (grub_device_open): Improve error message.
13548 * disk/lvm.c (grub_lvm_open): Likewise.
13549 * disk/raid.c (grub_raid_open): Likewise.
13550
13551 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
13552 when hook requests it, independently of grub_errno.
13553 (pc_partition_map_probe): Do not fail when find_func() caused
13554 early abortion of pc_partition_map_iterate().
13555
13556 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
13557 when hook requests it, independently of grub_errno.
13558 (gpt_partition_map_probe): Do not fail when find_func() caused
13559 early abortion of gpt_partition_map_iterate().
13560
13561 * kern/partition.c (grub_partition_iterate): Abort parent iteration
13562 when hook requests it, independently of grub_errno. Do not fail when
13563 part_map_iterate_hook() caused early abortion of p->iterate().
13564
13565 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
13566 when grub_partition_iterate() returned with non-zero.
13567
277d0de9 135682008-07-03 Pavel Roskin <proski@gnu.org>
13569
13570 * disk/ata.c (grub_ata_pio_write): Check status before writing,
13571 like we do in grub_ata_pio_read().
13572 (grub_ata_readwrite): Always write individual sectors. Fix the
13573 sector count for the remainder.
13574 (grub_ata_write): Enable writing to ATA devices. Correctly
13575 report error for ATAPI devices.
13576
d4c9b428 135772008-07-02 Pavel Roskin <proski@gnu.org>
13578
e43fc690 13579 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
13580 warning.
13581
f707af42 13582 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
13583 for every read sector, we already increment it for the whole
13584 batch. This fixes reading more than 256 sectors at once.
13585
11e16b15 13586 * util/grub-editenv.c (cmd_info): Cast argument to long
13587 explicitly. ptrdiff_t reduces to int on i386.
13588
cbabfdd4 13589 * util/grub-editenv.c (main): Be specific which parameter is
13590 missing.
13591
b8fbce0a 13592 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
13593 (memdisk): Make memdisk_orig_addr a pointer.
13594
c9c8e606 13595 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
13596 for file offsets, use grub_off_t instead. Fix printf format
13597 warnings.
13598
ca62e598 13599 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
13600 there. Real unexpected warnings should not drown in the noise
13601 about known problems.
13602
ce8d1766 13603 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
13604 grub_disk_addr_t for memory addresses.
13605
00c7a56a 13606 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
13607 explicitly to fix a warning.
13608
08d3ef09 13609 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
13610
cb71ba20 13611 * Makefile.in (MODULE_LDFLAGS): New variable.
13612 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
13613 the linker accepts --build-id=none.
13614 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
13615 MODULE_LDFLAGS.
13616 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
13617
d4c9b428 13618 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
13619 those in Linux XFS code. Provide a way to access 64-bit parent
13620 inode.
13621 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
13622 the end of struct grub_xfs_dir_header.
13623
d4156eee 136242008-07-02 Bean <bean123ch@gmail.com>
13625
13626 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
13627 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13628 and GRUB_IEEE1275_FLAG_NO_ANSI.
13629
13630 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
13631 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13632 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
13633
13634 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
13635 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
13636
13637 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
13638 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
13639
13640 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
13641 esc sequence on non ANSI terminal.
13642 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
13643
13644 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
13645 beginning of file.
13646
2270f77b 136472008-07-02 Bean <bean123ch@gmail.com>
13648
13649 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
13650 (grub_editenv_SOURCES): New variable.
13651 (pkglib_MODULES): Add loadenv.mod.
13652 (loadenv_mod_SOURCES): New variable.
13653 (loadenv_mod_CFLAGS): Likewise.
13654 (loadenv_mod_LDFLAGS): Likewise.
13655
13656 * include/grub/envblk.h: New file.
13657
13658 * util/envblk.c: New file.
13659
13660 * util/grub-editenv.c: New file.
13661
13662 * commands/loadenv.c: New file.
13663
0e9e51ec 136642008-07-01 Pavel Roskin <proski@gnu.org>
13665
d89b7634 13666 * include/multiboot2.h (struct multiboot_tag_module): Use char,
13667 not unsigned char. This fixes warnings and is consistent with
13668 other tags.
13669
bf1835b1 13670 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
13671
8222a04b 13672 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
13673
6a42d99d 13674 * term/tparm.c (analyze): Always set *popcount.
13675
10b159d1 13676 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
13677 cast to fix a warning.
13678
b8789f6c 13679 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
13680 cast to suppress a warning.
13681
29d7e38a 13682 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
13683 grub_fshelp_read_file() expects.
13684
f341f669 13685 * fs/fat.c: Fix UUID calculation on big-endian systems. We
13686 write uuid as a 32-bit value in CPU byte order, so declare and
13687 use it as such.
13688
0e9e51ec 13689 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
13690 long if the format specifier expects it.
13691 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
13692 * partmap/pc.c (pc_partition_map_iterate): Likewise.
13693 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
13694 long to fix a warning.
13695 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
13696 grub_dprintf() arguments to fix warnings.
13697
3aefa857 136982008-06-30 Pavel Roskin <proski@gnu.org>
13699
56c7668b 13700 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
13701 install_bsd_part immediately before core.img is embedded or
13702 modified on disk. This fixes core.img verification if core.img
13703 cannot be embedded.
13704
3aefa857 13705 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
13706 core_path to calculate the blocklist.
13707 Patch from Javier Martín <lordhabbit@gmail.com>
13708
5444088d 137092008-06-29 Robert Millan <rmh@aybabtu.com>
13710
13711 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
13712 block to disk block.
13713 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
13714 Patch from Niels Böhm <bitbucket@arcor.de>
13715
674835c8 137162008-06-29 Robert Millan <rmh@aybabtu.com>
13717
13718 * util/update-grub_lib.in (font_path): Search for fonts in
13719 /boot/grub first, which is more likely to be readable (we aren't
13720 deciding where fonts live, just looking for them).
13721
f527dbc8 137222008-06-26 Pavel Roskin <proski@gnu.org>
13723
6c2d8df6 13724 * util/biosdisk.c (read_device_map): Don't leave dead map
13725 entries for devices failing stat() check.
13726
f527dbc8 13727 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
13728 core_path_dev for the core.img path on the target device.
13729
aebe3d13 137302008-06-26 Robert Millan <rmh@aybabtu.com>
13731
13732 * disk/fs_uuid.c: New file.
13733 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
13734 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
13735 (fs_uuid_mod_LDFLAGS): New variables.
13736 * include/grub/disk.h (grub_disk_dev_id): Add
13737 `GRUB_DISK_DEVICE_UUID_ID'.
13738 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
13739 implement iterate().
13740
37aaf354 137412008-06-26 Robert Millan <rmh@aybabtu.com>
13742
13743 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
13744 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
13745 Linux image includes no initrd.
13746
25ff262a 137472008-06-21 Javier Martín <lordhabbit@gmail.com>
13748
13749 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
13750 call to resolve the core image location that effectively appended the
13751 name twice.
13752
76a2bd44 137532008-06-21 Robert Millan <rmh@aybabtu.com>
13754
13755 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
13756 call from here ...
13757
13758 * util/grub.d/10_hurd.in: ... to here ...
13759 * util/grub.d/10_linux.in: ... and here.
13760
650e1c79 137612008-06-19 Robert Millan <rmh@aybabtu.com>
13762
fe987087 13763 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 13764 after it has been set by grub_machine_set_prefix().
13765
6ce63911 137662008-06-19 Robert Millan <rmh@aybabtu.com>
13767
13768 * commands/search.c (search_label, search_fs_uuid, search_file): Print
13769 search result when not saving to variable, not the other way around.
13770 When saving to variable, abort iteration as soon as a match is found.
13771
73940cec 137722008-06-19 Robert Millan <rmh@aybabtu.com>
13773
13774 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
13775 check for partition that provides /boot/grub. Its logic is flawed,
13776 as it prevents prepare_grub_to_access_device() from being called
13777 multiple times.
13778
3c62a39d 137792008-06-19 Robert Millan <rmh@aybabtu.com>
13780
13781 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
13782 "insmod" command directly when abstraction modules are needed,
fe987087 13783 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 13784 since it had already been processed).
13785
47395a42 137862008-06-19 Pavel Roskin <proski@gnu.org>
13787
13788 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
13789 changed. This is needed in case GRUB_LIBDIR changes.
13790 * conf/i386-ieee1275.rmk: Likewise.
13791 * conf/i386-linuxbios.rmk: Likewise.
13792 * conf/i386-pc.rmk: Likewise.
13793 * conf/powerpc-ieee1275.rmk: Likewise.
13794
a145ac2d 137952008-06-18 Pavel Roskin <proski@gnu.org>
13796
13797 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
13798 kernel_elf_symlist.c to symlist.c for consistency with other
13799 architectures. Update all users.
13800 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13801
7847c51e 138022008-06-18 Robert Millan <rmh@aybabtu.com>
13803
13804 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
13805 it in prefix.
13806
13807 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
13808 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
13809 a RAID device, run setup() for all members independently on whether
13810 LVM abstraction is being used.
13811 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
13812 If grub-mkimage has set `*install_dos_part == -2', don't override this
13813 value.
13814 Perform *install_dos_part adjustments independently on whether
13815 we're embedding or not.
13816 Clarify error message when image is too big for embedding.
13817 Remove duplicate *install_dos_part stanza.
13818
b23e5644 138192008-06-17 Robert Millan <rmh@aybabtu.com>
13820
13821 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
13822 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
13823 variables.
13824 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
13825 values in grub_ofconsole_normal_color and
13826 grub_ofconsole_highlight_color (they're not directly related to
13827 background and foreground).
13828 (grub_ofconsole_setcolorstate): Extract background and foreground
13829 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
13830
0aac2f79 138312008-06-17 Robert Millan <rmh@aybabtu.com>
13832
13833 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
13834 /boot/grub for the check in last commit, not /boot (they could be
13835 different partitions).
13836
3cca7ef3 138372008-06-16 Robert Millan <rmh@aybabtu.com>
13838
13839 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
13840 asked to setup access for the same partition that provides /boot,
13841 don't bother using UUIDs since our root already has the value we
13842 want.
13843
347396d8 138442008-06-16 Robert Millan <rmh@aybabtu.com>
13845
13846 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
13847 I2O devices.
13848 Patch from Sven Mueller <sven@debian.org>.
13849
991477f8 138502008-06-16 Robert Millan <rmh@aybabtu.com>
13851
13852 * util/update-grub.in: Check for $EUID instead of $UID.
13853 Reported by Vincent Zweije.
13854
d31a32a1 138552008-06-16 Bean <bean123ch@gmail.com>
13856
fe987087 13857 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 13858 (grub_ext2_read_block): Likewise.
13859 (grub_ext2_read_inode): Likewise.
13860 (grub_ext2_mount): Likewise.
13861 (grub_ext2_close): Likewise.
13862 (grub_ext3_get_journal): Removed.
13863
fe987087 13864 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 13865 (grub_reiserfs_read_symlink): Likewise.
13866 (grub_reiserfs_mount): Likewise.
13867 (grub_reiserfs_open): Likewise.
13868 (grub_reiserfs_read): Likewise.
13869 (grub_reiserfs_close): Likewise.
13870 (grub_reiserfs_get_journal): Removed.
13871
13872 * fs/fshelp.c (grub_fshelp_read): Removed.
13873 (grub_fshelp_map_block): Likewise.
13874
13875 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
13876 (grub_fshelp_journal): Likewise.
13877 (grub_fshelp_read): Likewise.
13878 (grub_fshelp_map_block): Likewise.
13879
3540a760 138802008-06-16 Pavel Roskin <proski@gnu.org>
13881
13882 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
13883 floating point anymore.
13884 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
13885
95614c84 138862008-06-15 Pavel Roskin <proski@gnu.org>
13887
13888 * commands/ls.c (grub_ls_list_files): Use integer calculations
13889 for human readable format, avoid floating point use.
13890 * kern/misc.c (grub_ftoa): Remove.
13891 (grub_vsprintf): Remove floating point support.
13892
50465dd6 138932008-06-15 Robert Millan <rmh@aybabtu.com>
13894
fe6b695a 13895 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 13896 devices.
13897 Reported by Max Vozeler.
13898
a9207284 138992008-06-15 Robert Millan <rmh@aybabtu.com>
13900
13901 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
13902 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
13903 skipped later.
13904 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
13905 the beginning of the prefix.
13906
13907 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
13908 It is assumed that if we have a memdisk, grub-mkimage has set
13909 grub_prefix to include the "(memdisk)" drive in it.
13910
a7cbd45a 139112008-06-15 Robert Millan <rmh@aybabtu.com>
13912
13913 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
13914 Initialize keyboard controller after registering the terminal, so that
13915 grub_printf() can be called from grub_keyboard_controller_init().
13916
21cf716a 139172008-06-15 Robert Millan <rmh@aybabtu.com>
13918
13919 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
13920 extent-btree which is written as big endian on disk.
13921 Reported by Alain Greppin <al@chilibi.org>.
13922
23a64d8e 139232008-06-14 Robert Millan <rmh@aybabtu.com>
13924
13925 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
13926 * util/i386/pc/grub-install.in (modules): Likewise.
13927
d687651c 139282008-06-13 Pavel Roskin <proski@gnu.org>
13929
13930 * commands/ls.c (grub_ls_list_files): Fix format warnings.
13931
dfe9ddd4 139322008-06-13 Bean <bean123ch@gmail.com>
13933
13934 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
13935
13936 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
13937
13938 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
13939 to indicate sparse block.
13940
16ae7781 139412008-06-12 Pavel Roskin <proski@gnu.org>
13942
e6d1a308 13943 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
13944 number, grub_fshelp_read() does it for us.
13945
16ae7781 13946 * fs/fshelp.c (grub_fshelp_read): New function. Implement
13947 linear disk read with journal translation.
13948 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
13949 * include/grub/fshelp.h: Declare grub_fshelp_read().
13950
40fd3a2b 139512008-06-09 Pavel Roskin <proski@gnu.org>
13952
13953 * fs/minix.c (grub_minix_mount): Handle error reading
13954 superblock.
13955
f5679726 139562008-06-08 Robert Millan <rmh@aybabtu.com>
13957
13958 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
13959 don't append the RAID prefix afterwards.
13960 Reported by Clint Adams.
13961
ce525529 139622008-06-08 Robert Millan <rmh@aybabtu.com>
13963
13964 Based on description from Pavel:
13965 * kern/disk.c (grub_disk_check_range): Rename to ...
13966 (grub_disk_adjust_range): ... this. Add a comment explaining the
13967 tasks performed by this function.
13968
ad4936a0 139692008-06-08 Robert Millan <rmh@aybabtu.com>
13970
13971 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
13972 `num_serial' (for consistency with other variables).
13973 (struct grub_ntfs_data): Add `uuid' member.
13974 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
13975 (grub_ntfs_uuid): New function.
13976 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
13977
dc20b0f9 139782008-06-07 Pavel Roskin <proski@gnu.org>
13979
13980 * util/biosdisk.c (open_device): Revert last change to the
13981 function, it broke installation. The sector needs to be
13982 different dependent on which device is opened.
13983
c5e3cfba 139842008-06-06 Robert Millan <rmh@aybabtu.com>
13985
13986 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
13987 rest of GRUB, and breakage doesn't happen if its value were modified.
13988
13989 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13990 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
13991 a constant (same value).
13992 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
13993 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
13994
26a1f8c4 139952008-06-06 Robert Millan <rmh@aybabtu.com>
13996
13997 * util/biosdisk.c (open_device): Do not modify sector offset when
13998 accessing a partition. kern/disk.c already handles this for us.
13999
25d6b327 140002008-06-06 Robert Millan <rmh@aybabtu.com>
14001
14002 * util/grub-emu.c (grub_machine_init): Move code in this function from
14003 here ...
14004 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
14005 segfault in case grub_printf() is called).
14006
14007 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
14008 grub_probe. Update all users not to explicitly add it again.
14009 (grub_device): New variable; contains corresponding device for grubdir.
14010 (fs_module, partmap_module, devabstraction_module): Pass
14011 `--device ${grub_device}' to grub_probe to avoid traversing /dev
14012 every time.
14013
9ece62fb 140142008-06-05 Robert Millan <rmh@aybabtu.com>
14015
14016 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
14017 is found, print it (same layout as with labels).
14018
1ad36d37 140192008-06-04 Robert Millan <rmh@aybabtu.com>
14020
14021 * util/biosdisk.c (get_drive): Rename to ...
14022 (find_grub_drive): ... this. Update all users.
14023
14024 (get_os_disk): Rename to ...
14025 (convert_system_partition_to_system_disk): ... this. Update all users.
14026
14027 (find_drive): Rename to ...
14028 (find_system_device): ... this. Update all users.
14029
e6a30859 140302008-06-04 Robert Millan <rmh@aybabtu.com>
14031
14032 * util/biosdisk.c (get_os_disk): Handle IDA devices.
14033 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14034 (make_device_map): Likewise.
14035
00c108a4 140362008-06-01 Robert Millan <rmh@aybabtu.com>
14037
14038 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
14039 before dereferencing it.
14040
14041 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
14042 union with fat12/fat16-specific ones. Add some new fields, including
14043 `num_serial' for both versions.
14044 (struct grub_fat_data): Add `uuid' member.
14045 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
14046 names. Initialize `data->uuid' using `num_serial'.
14047 (grub_fat_uuid): New function.
14048 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
14049
14050 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
14051 (grub_reiserfs_uuid): New function.
14052 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
14053 member.
14054
14055 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
14056 (grub_xfs_uuid): New function.
14057 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
14058
1385c5bb 140592008-06-01 Robert Millan <rmh@aybabtu.com>
14060
14061 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
14062 code that is backward compatible with pre-uuid search command.
14063
c682dfd7 140642008-05-31 Robert Millan <rmh@aybabtu.com>
14065
14066 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
14067 floppies after everything else, to ensure floppy drive isn't accessed
14068 unnecessarily (patch from Bean).
14069
b7db5d47 140702008-05-31 Robert Millan <rmh@aybabtu.com>
14071
14072 * commands/search.c (search_label, search_fs_uuid, search_file): Do
14073 not print device names when we were asked to set a variable.
14074
6e037aa9 140752008-05-31 Robert Millan <rmh@aybabtu.com>
14076
14077 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
14078 using "cursor-on" and "cursor-off" commands (understood at least by
14079 the Open Firmware flavour on OLPC).
14080
41305bc8 140812008-05-31 Michael Gorven <michael@gorven.za.net>
14082
14083 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
14084 on and off sequences.
14085
69ba137e 140862008-05-31 Robert Millan <rmh@aybabtu.com>
14087
14088 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
14089 * util/update-grub.in: Likewise.
14090
520ae21b 140912008-05-30 Pavel Roskin <proski@gnu.org>
14092
14093 * util/biosdisk.c (linux_find_partition): Simplify logic and
14094 make the code more universal. Keep special processing for
14095 devfs, but use a simple rule for all other devices. If the
14096 device ends with a number, append 'p' and the partition number.
14097 Otherwise, append only the partition number.
14098
5786569b 140992008-05-30 Robert Millan <rmh@aybabtu.com>
14100
14101 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
14102 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
14103 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
14104 the `root' parameter to Linux.
14105
51500452 141062008-05-30 Robert Millan <rmh@aybabtu.com>
14107
14108 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
14109 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
14110 --fs_uuid with --fs-uuid.
14111 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
14112 all filesystems support them).
14113
811d3878 141142008-05-30 Robert Millan <rmh@aybabtu.com>
14115
14116 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 14117 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 14118
cab63c95 141192008-05-30 Robert Millan <rmh@aybabtu.com>
14120
14121 * util/grub.d/00_header.in: Remove obsolete comment referencing
14122 convert_system_path_to_grub_path().
14123 * util/update-grub.in: Likewise.
14124 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
14125 (convert_system_path_to_grub_path): Add a warning message explaining
14126 that this function is deprecated. Rely on is_path_readable_by_grub()
14127 for the readability checks.
14128 (font_path): Use is_path_readable_by_grub() for the readability
14129 check rather than convert_system_path_to_grub_path().
14130
972e2f7a 141312008-05-30 Robert Millan <rmh@aybabtu.com>
14132
14133 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
14134 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
14135 converting it first.
14136 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
14137 grub.cfg for access to font file, and afterwards call it again to set
14138 the root device.
14139
62191274 141402008-05-30 Robert Millan <rmh@aybabtu.com>
14141
14142 * commands/search.c (options): Add --fs_uuid option.
14143 (search_fs_uuid): New function.
14144 (grub_cmd_search): Fix --set argument passing.
14145 Use search_fs_uuid() when requested via --fs_uuid.
14146 (grub_search_init): Update help message.
14147 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
14148 and redeclare it as an array of 16-bit words.
14149 (grub_ext2_uuid): New function.
14150 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
14151 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
14152 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
14153 (GRUB_DEVICE_BOOT_UUID): New variables.
14154 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
14155 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
14156 whenever possible.
14157 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
14158 just assume `root' variable has the right value.
14159 * util/grub.d/10_linux.in: Likewise.
14160 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
14161 via PRINT_FS_UUID.
14162 (main): Recognise `-t fs_uuid' argument.
14163
01b73ec8 141642008-05-30 Robert Millan <rmh@aybabtu.com>
14165
14166 * util/biosdisk.c (map): Redefine structure to hold information
14167 about GRUB drive name.
fe6b695a 14168 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 14169 drive names.
14170 (call_hook): Remove.
14171 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
14172 member. Assume drive has partitions.
14173 (grub_util_biosdisk_open): Access device names via `.device' struct
14174 member.
14175 (open_device): Likewise.
14176 (find_drive): Likewise.
14177 (read_device_map): Adjust map[] usage to match the new struct
14178 definition. Don't check for duplicates (still possible, but not cheap
14179 anymore).
14180 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
14181 (make_device_name): Remove assumption of BIOS-like drive names.
14182
22f16596 141832008-05-30 Pavel Roskin <proski@gnu.org>
14184
14185 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
14186 compiling execute.c doesn't need grub_script.tab.h anymore.
14187 (normal/command.c_DEPENDENCIES): Likewise.
14188 (normal/function.c_DEPENDENCIES): Likewise.
14189 * conf/i386-ieee1275.rmk: Likewise.
14190 * conf/i386-linuxbios.rmk: Likewise.
14191 * conf/i386-pc.rmk: Likewise.
14192 * conf/powerpc-ieee1275.rmk: Likewise.
14193 * conf/sparc64-ieee1275.rmk: Likewise.
14194
528ad8f2 141952008-05-29 Pavel Roskin <proski@gnu.org>
14196
d1dff95d 14197 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
14198 when scanning metadata for volume group name.
14199
528ad8f2 14200 * include/grub/script.h: Don't include grub_script.tab.h. It's
14201 a generated file, which may only be included from the files with
14202 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
14203 use union YYSTYPE, as the later allows forward declaration.
14204 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
14205
47248e08 142062008-05-29 Robert Millan <rmh@aybabtu.com>
14207
14208 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
14209 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
14210 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
14211 (grub_console_checkkey): Add grub_dprintf() call to report unknown
14212 scan codes.
14213
ee632529 142142008-05-29 Robert Millan <rmh@aybabtu.com>
14215
14216 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
14217 control key combinations.
14218
eee96e08 142192008-05-29 Robert Millan <rmh@aybabtu.com>
14220
14221 * util/powerpc/ieee1275/grub-install.in: Move from here ...
14222 * util/ieee1275/grub-install.in: ... to here.
14223 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
14224 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
14225 (grub_install_SOURCES): Likewise.
14226
da9a6a94 142272008-05-29 Robert Millan <rmh@aybabtu.com>
14228
14229 * fs/affs.c: Update copyright year.
14230 * fs/ext2.c: Likewise.
14231 * fs/fshelp.c: Likewise.
14232 * fs/hfsplus.c: Likewise.
14233 * fs/ntfs.c: Likewise.
14234 * fs/xfs.c: Likewise.
14235 * include/grub/fshelp.h: Likewise.
14236 * util/grub-mkdevicemap.c: Likewise.
14237
12e65f3a 142382008-05-28 Robert Millan <rmh@aybabtu.com>
14239
14240 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
14241 might need to be fatfs to support some firmware implementations
14242 (e.g. OFW or EFI).
14243
23023641 142442008-05-28 Robert Millan <rmh@aybabtu.com>
14245
14246 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
14247 devices.
14248 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14249 (make_device_map): Likewise.
14250
887d2619 142512008-05-20 Bean <bean123ch@gmail.com>
14252
14253 * fs/fshelp.c (grub_fshelp_map_block): New function.
14254 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
14255 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
14256
14257 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
14258 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
14259 (grub_fshelp_journal): New structure.
14260 (grub_fshelp_map_block): New function prototype.
14261 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
14262 (grub_fshelp_map_block): Likewise.
14263
14264 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
14265 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
14266 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
14267 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
14268 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
14269 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
14270 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
14271 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
14272 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14273 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14274 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14275 (grub_ext2_sblock): New members for journal support.
14276 (grub_ext3_journal_header): New structure.
14277 (grub_ext3_journal_revoke_header): Likewise.
14278 (grub_ext3_journal_block_tag): Likewise.
14279 (grub_ext3_journal_sblock): Likewise.
14280 (grub_fshelp_node): New members logfile and journal.
14281 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14282 grub_fshelp_map_block to get real block number.
14283 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14284 number.
14285 (grub_ext2_read_inode): Likewise.
14286 (grub_ext3_get_journal): New function.
14287 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14288 (grub_ext2_close): Release memory used by journal.
14289
14290 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14291 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14292 (grub_reiserfs_transaction_header): Renamed to
14293 grub_reiserfs_description_block, replace field data with real_blocks.
14294 (grub_reiserfs_commit_block): New structure.
14295 (grub_reiserfs_data): New member journal.
14296 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14297 number.
14298 (grub_reiserfs_read_symlink): Likewise.
14299 (grub_reiserfs_iterate_dir): Likewise.
14300 (grub_reiserfs_open): Likewise.
14301 (grub_reiserfs_read): Likewise.
14302 (grub_reiserfs_get_journal): New function.
14303 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14304 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14305 using grub_reiserfs_get_journal.
14306 (grub_reiserfs_close): Release memory used by journal.
14307
14308 * fs/affs.c (grub_affs_read_block): Change block type to
14309 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14310
14311 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14312
14313 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14314
14315 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14316
14317 * fs/udf.c (grub_udf_read_block): Change block type to
14318 grub_disk_addr_t. Use type cast to avoid warning.
14319
14320 * fs/xfs.c (grub_xfs_read_block): Likewise.
14321
b7c6bed5 143222008-05-16 Christian Franke <franke@computer.org>
14323
14324 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14325 to ensure that break with ESC will always work.
14326 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14327 Remove ESC from keyboard queue.
14328
eedf167f 143292008-05-16 Christian Franke <franke@computer.org>
14330
14331 * util/biosdisk.c: [__CYGWIN__] Add includes.
14332 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14333 (get_os_disk): Move variable declarations to OS specific
14334 parts to avoid warning.
14335 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14336 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14337 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14338 Cygwin.
14339 * util/getroot.c: [__CYGWIN__] Add includes.
14340 (strip_extra_slashes): Fix "/" case.
14341 [__CYGWIN__] (get_win32_path): New function.
14342 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14343 [__CYGWIN__] (find_root_device): Disable.
14344 [__CYGWIN__] (get_bootsec_serial): New function.
14345 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14346 [__linux__] (grub_guess_root_device): Add early returns to simplify
14347 structure.
14348 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14349 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14350 check for Linux only.
14351
a079699e 143522008-05-15 Bean <bean123ch@gmail.com>
14353
14354 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14355 keyboard hang problem in apple's intel mac.
14356
1cf4059a 143572008-05-09 Robert Millan <rmh@aybabtu.com>
14358
14359 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14360 devices.
14361 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14362 (make_device_map): Likewise.
14363 Reported by Aurelien Jarno <aurel32@debian.org>
14364
ed759390 143652008-05-07 Ian Campbell <ijc@hellion.org.uk>
14366
14367 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14368 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14369 (make_device_map): Output entries for xvd type disks.
14370
b56c4eaa 143712008-05-07 Robert Millan <rmh@aybabtu.com>
14372
14373 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14374 devices.
14375 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14376 (make_device_map): Likewise.
14377 Reported by Roland Dreier <rdreier@cisco.com>
14378
7f8866ed 143792008-05-07 Robert Millan <rmh@aybabtu.com>
14380
14381 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14382 grub_strstr() call. Correct a few mistakes in failure path handling.
14383
b0346e0f 143842008-05-06 Robert Millan <rmh@aybabtu.com>
14385
14386 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14387 Do not print a trailing slash (therefore, the root directory is an
14388 empty string).
14389 (convert_system_path_to_grub_path): Do not remove trailing slash
14390 from make_system_path_relative_to_its_root() output.
14391
14392 * util/i386/pc/grub-install.in: Add trailing slash to output from
14393 make_system_path_relative_to_its_root().
14394
6cf12cbd 143952008-05-06 Robert Millan <rmh@aybabtu.com>
14396
14397 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14398 ensures that output lines aren't intermangled with those sent to
14399 stderr (via grub_util_info()).
14400 * util/grub-probe.c (grub_refresh): Likewise.
14401 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14402
0fbb3117 144032008-05-05 Christian Franke <franke@computer.org>
14404
14405 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14406 Add Cygwin device names.
14407 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14408 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14409 (check_device): Return error instead of success on empty name.
14410 (make_device_map): Move label inside linux specific code to
14411 prevent compiler warning.
14412
8124cdb7 144132008-04-30 Robert Millan <rmh@aybabtu.com>
14414
14415 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14416 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14417 first boot option.
14418 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14419
094c01d0 144202008-04-29 Robert Millan <rmh@aybabtu.com>
14421
14422 * docs/grub.cfg: New file (example GRUB configuration).
14423
f4b1fc02 144242008-04-26 Robert Millan <rmh@aybabtu.com>
14425
329ce2a5 14426 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14427 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14428 and `disk/ieee1275/nand.c'.
f4b1fc02 14429
25f16ec1 144302008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 14431
25f16ec1 14432 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14433 i386-linuxbios.
14434
14435 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14436 change the buffer size to 4096 for cdrom device.
14437
14438 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14439 and nand.mod.
14440 (_linux_mod_SOURCES): New variable.
14441 (_linux_mod_CFLAGS): Likewise.
14442 (_linux_mod_LDFLAGS): Likewise.
14443 (linux_mod_SOURCES): Likewise.
14444 (linux_mod_CFLAGS): Likewise.
14445 (linux_mod_LDFLAGS): Likewise.
14446 (nand_mod_SOURCES): Likewise.
14447 (nand_mod_CFLAGS): Likewise.
14448 (nand_mod_LDFLAGS): Likewise.
14449
14450 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
14451 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
14452 type property. (nand device in olpc don't have this property)
14453
14454 * include/grub/disk.h (grub_disk_dev_id): New macro
14455 GRUB_DISK_DEVICE_NAND_ID.
14456
14457 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
14458 function prototype.
14459 (grub_rescue_cmd_initrd): Likewise.
14460
14461 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14462 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14463 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14464
25f16ec1 14465 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14466 GRUB_MACHINE_IEEE1275 is defined.
14467
14468 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14469 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14470
14471 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14472 on nested function heap_init.
14473 (grub_upper_mem): New variable for i386-ieee1275.
14474 (grub_get_extended_memory): New function for i386-ieee1275.
14475 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14476
14477 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14478 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14479 property.
f19dbdb7 14480
25f16ec1 14481 * loader/i386/ieee1275/linux.c: New file.
14482
14483 * loader/i386/ieee1275/linux_normal.c: New file.
14484
14485 * disk/ieee1275/nand.c: New file.
14486
e89d61e9 144872008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14488
14489 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14490 value.
14491 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14492
602566f6 144932008-04-18 Robert Millan <rmh@aybabtu.com>
14494
14495 Restructures early code path on ieee1275 to unify grub_main() as
14496 the first C function that is executed in every platform.
14497
14498 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14499 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14500 cmain().
14501 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14502 * kern/ieee1275/cmain.c (cmain): Rename to ...
14503 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14504 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14505 at the beginning.
14506
57490c2b 145072008-04-18 Robert Millan <rmh@aybabtu.com>
14508
14509 * util/update-grub.in: Fix syntax error when setting
14510 `GRUB_PRELOAD_MODULES'.
14511 Reported by Stephane Chazelas <stephane@artesyncp.com>
14512
1977517d 145132008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14514
14515 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14516 section into account, newer toolchains generate unique build ids
14517 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14518 we want build ids to be preserved
1977517d 14519 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14520 far from other sections don't cause the raw binary images grow
14521 size
14522
bfb1f1a2 145232008-04-15 Robert Millan <rmh@aybabtu.com>
14524
14525 * disk/lvm.c: Update copyright year.
14526 * kern/misc.c: Likewise.
14527
01979850 145282008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14529
14530 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 14531 there is no memory left for physical volume name.
01979850 14532
0a1150e2 145332008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14534
14535 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
14536 volume name mapping to support bigger than 9 character names properly.
14537
82ead3fe 145382008-04-13 Robert Millan <rmh@aybabtu.com>
14539
14540 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
14541 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
14542
e54a72f5 145432008-04-13 Christian Franke <franke@computer.org>
14544
14545 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
14546 to create a floppy emulation boot CD when non emulation mode
14547 does not work.
14548 Enable Joliet CD filesystem extension.
14549
9fe86034 145502008-04-13 Robert Millan <rmh@aybabtu.com>
14551
14552 * kern/misc.c (grub_strncat): Fix off-by-one error.
14553 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
14554
14555 * kern/env.c (grub_env_context_close): Clear current context, not
14556 previous one.
14557 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
14558
14559 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
14560
7ceeee39 145612008-04-13 Robert Millan <rmh@aybabtu.com>
14562
14563 Improve robustness when handling LVM.
14564
14565 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 14566 (and leave `*p' unmodified).
7ceeee39 14567 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
14568 through it.
14569 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
14570 iterating through it.
14571 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
14572 through it.
fe6b695a 14573 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 14574 when due) on each grub_lvm_getvalue() or grub_strstr() call.
14575 Don't assume `vg->pvs != NULL' when iterating through it.
14576
58cd3d85 145772008-04-13 Robert Millan <rmh@aybabtu.com>
14578
14579 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
14580 * genmk.rb (partmap): New variable.
14581 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
14582 (#{partmap}): New target rule.
14583 * genpartmaplist.sh: New file.
14584 * Makefile.in (pkglib_DATA): Add partmap.lst.
14585 (partmap.lst): New target rule.
14586 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
14587 modules (including all partition maps), instead of preloading them.
14588
78b51059 145892007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
14590
14591 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
14592 `linux-boot-prober' (if installed) to detect other operating
14593 systems which are installed on the computer and add them to
14594 the boot menu.
14595 * conf/common.rmk: Build and install 30_os-prober.
14596
a91627b4 145972008-04-12 Robert Millan <rmh@aybabtu.com>
14598
14599 * kern/powerpc/ieee1275/init.c: Move from here ...
14600 * kern/ieee1275/init.c: ... to here. Update all users.
14601
14602 * kern/powerpc/ieee1275/cmain.c: Move from here ...
14603 * kern/ieee1275/cmain.c: ... to here. Update all users.
14604
14605 * kern/powerpc/ieee1275/openfw.c: Move from here ...
14606 * kern/ieee1275/openfw.c: ... to here. Update all users.
14607
14608 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
14609 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
14610
322562ea 146112008-04-10 Pavel Roskin <proski@gnu.org>
14612
14613 * configure.ac: Always use "_cv_" in cache variables for
14614 compatibility with Autoconf 2.62.
14615
a02a73c5 146162008-04-07 Robert Millan <rmh@aybabtu.com>
14617
14618 Revert grub/machine/init.h addition by Pavel (since it breaks on
14619 i386-ieee1275 and others):
14620 * util/i386/pc/misc.c: Remove grub/machine/init.h.
14621 * util/powerpc/ieee1275/misc.c: Likewise.
14622
25c024b1 146232008-04-07 Robert Millan <rmh@aybabtu.com>
14624
14625 * util/grub-probe.c (probe): Improve error message.
14626
3cbd2f98 146272008-04-07 Robert Millan <rmh@aybabtu.com>
14628
14629 * util/biosdisk.c (read_device_map): Skip devices that don't exist
14630 (this prevents the presence of a bogus entry from ruining the whole
14631 thing).
14632
87a297bf 146332008-04-06 Pavel Roskin <proski@gnu.org>
14634
36747a62 14635 * util/biosdisk.c: Include grub/util/biosdisk.h.
14636 * util/grub-fstest.c (execute_command): Make static.
14637 * util/grub-mkdevicemap.c (check_device): Likewise.
14638 * util/i386/pc/misc.c: Include grub/machine/init.h.
14639 * util/powerpc/ieee1275/misc.c: Likewise.
14640 * util/lvm.c: Include grub/util/lvm.h.
14641 * util/misc.c: Include grub/kernel.h, grub/misc.h and
14642 grub/cache.h.
14643 * util/raid.c: Include grub/util/raid.h.
14644 (grub_util_getdiskname): Make static.
14645
87a297bf 14646 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
14647 grub_hostfs_fini(), as they are called from grub_init_all() and
14648 grub_fini_all() respectively. This fixes an infinite loop in
14649 grub-fstest due to double registration of hostfs.
14650 Reported by Christian Franke <Christian.Franke@t-online.de>
14651
f6ce7629 146522008-04-05 Pavel Roskin <proski@gnu.org>
14653
14654 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
14655 all 8 functions. Otherwise, probe function 0 only.
14656
070e49e4 146572008-04-04 Pavel Roskin <proski@gnu.org>
14658
8b088a4c 14659 * commands/lspci.c (grub_lspci_iter): Print the bus number
14660 correctly.
14661
4f657021 14662 * commands/lspci.c (grub_pci_classes): Fix typos.
14663 (grub_lspci_iter): Don't print func twice. Print vendor ID
14664 before device ID, as it's normally done.
14665
070e49e4 14666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14667 Fix signedness warnings.
14668 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
14669 Likewise.
14670 * util/ieee1275/get_disk_name.c: Include config.h so that
14671 _GNU_SOURCE is defined and getline() is declared. Mark an
14672 unused argument as such. Fix a signedness warning.
14673
ba7328dc 146742008-04-02 Pavel Roskin <proski@gnu.org>
14675
26887f22 14676 * genkernsyms.sh.in: Use more robust assignments for CC and
14677 srcdir. Quote srcdir.
14678 * gensymlist.sh.in: Likewise. Assert at the compile time that
14679 the symbol table is not empty.
14680
ba7328dc 14681 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
14682 * fs/cpio.c (grub_cpio_read): Likewise.
14683
0f582c6b 146842008-04-01 Pavel Roskin <proski@gnu.org>
14685
4b6e1995 14686 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
14687 * disk/host.c (grub_host_open): Likewise.
14688 * disk/loopback.c (grub_loopback_open): Likewise.
14689 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
14690 disk->id as in disk/host.c, not a multi-character constant.
14691
828a2768 14692 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
14693 later is obsolete, potentially dangerous and sets a bad example.
14694 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
14695 * util/misc.c (grub_util_get_image_size): Likewise.
14696
2bb4fb47 14697 * disk/loopback.c (options): Improve help for "--partitions".
14698
0f582c6b 14699 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
14700 options to align them with the short options, e.g. "echo -e".
14701
a33224e0 147022008-03-31 Bean <bean123ch@gmail.com>
14703
14704 * video/reader/png.c (grub_png_data): New member is_16bit and
14705 image_data.
14706 (grub_png_decode_image_header): Detect 16 bit png image.
14707 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
14708 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
14709 (grub_video_reader_png): Release memory occupied by image_data.
14710
14711 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
14712 4096 bytes.
14713 (grub_nfs_mount): Skip the test for sector per cluster.
14714
14715 * include/grub/ntfs.h (MAX_SPC): Removed.
14716
86cb4f54 147172008-03-31 Bean <bean123ch@gmail.com>
14718
14719 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
14720 (grub_probe_SOURCES): Add fs/afs.c.
14721 (grub_fstest_SOURCES): Likewise.
14722 (afs_mod_SOURCES): New variable.
14723 (afs_mod_CFLAGS): Likewise.
14724 (afs_mod_LDFLAGS): Likewise.
14725
14726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
14727 (grub_emu_SOURCES): Likewise.
14728
14729 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14730
14731 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14732
14733 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14734
14735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14736
14737 * fs/afs.c: New file.
14738
17c74c21 147392008-03-30 Pavel Roskin <proski@gnu.org>
14740
4cb68e89 14741 * disk/host.c: Include grub/misc.h to fix a warning.
14742 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
14743 warnings about implicit declarations.
14744
8790bb04 14745 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
14746 variable.
14747 * include/grub/i386/loader.h: Change declaration of
14748 grub_linux_boot() to match what grub_loader_set() expects.
14749 * util/getroot.c (grub_guess_root_device): Return const char* to
14750 fix a warning.
14751 * util/grub-probe.c (probe): Fix a warning about uninitialized
14752 abstraction_name variable.
14753 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
14754 second argument as unused to fix a warning.
14755
9a3f3296 14756 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
14757 missing grub_error() call.
14758
0ecef90d 14759 * util/update-grub_lib.in: Define datarootdir, since Autoconf
14760 2.60 and newer uses it to define datadir.
14761
0bf6d401 14762 * commands/sleep.c: Fix warning about implicit declaration.
14763 * disk/memdisk.c: Likewise.
14764 * loader/aout.c: Likewise.
14765 * loader/i386/bsd_normal.c: Likewise.
14766 * util/grub-probe.c: Likewise.
14767
7cdacf97 14768 * commands/i386/cpuid.c (has_longmode): Make static.
14769 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
14770 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
14771
17c74c21 14772 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
14773 GDT. This is more robust, as %ds can change.
14774 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
14775 calling real_to_prot().
14776 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
14777
80a3e68b 147782008-03-28 Pavel Roskin <proski@gnu.org>
14779
14780 * kern/i386/pc/startup.S: Assert that uncompressed functions
14781 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
14782 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
14783 code, as they push parts of the code (error handlers) beyond
14784 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
14785 code as correctness and size.
14786
77bcd272 147872008-03-28 Pavel Roskin <proski@gnu.org>
14788
14789 * kern/i386/pc/startup.S
14790 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
14791 data block address to the real mode, keep offset minimal. This
14792 works around a bug in AWARD BIOS on old Athlon systems, which
14793 makes CD detection hang.
14794
c5dfd43b 147952008-03-26 Pavel Roskin <proski@gnu.org>
14796
14797 * normal/color.c (grub_parse_color_name_pair): Make `name' a
14798 const.
14799 * include/grub/normal.h: Add grub_parse_color_name_pair()
14800 declaration.
14801
bf962df2 148022008-03-24 Bean <bean123ch@gmail.com>
14803
14804 * disk/i386/pc/biosdisk.c (cd_start): Removed.
14805 (cd_count): Removed.
14806 (cd_drive): New variable.
14807 (grub_biosdisk_get_drive): Don't check for (cdN) device.
14808 (grub_biosdisk_call_hook): Likewise.
14809 (grub_biosdisk_iterate): Change cdrom detection method.
14810 (grub_biosdisk_open): Replace cd_start with cd_drive.
14811 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
14812 detect cdrom device.
14813
14814 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
14815 Removed.
14816 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
14817 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
14818 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
14819 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
14820 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
14821 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
14822 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
14823 (grub_biosdisk_cdrp): New structure.
14824 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
14825
14826 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
14827
14828 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
14829 device.
14830
14831 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
14832 New function.
14833
68e7fc7a 148342008-03-20 Robert Millan <rmh@aybabtu.com>
14835
14836 Remove 2 TiB limit in ata.mod.
14837 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
14838 (grub_ata_dumpinfo): Print sector count with 0x%llx.
14839 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
14840 grub_uint64_t instead of grub_uint32_t.
14841
38ad2cf5 148422008-03-05 Bean <bean123ch@gmail.com>
14843
14844 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
14845 (grub_multiboot): Set boot device.
14846
14847 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
14848
2b89344e 148492008-03-02 Bean <bean123ch@gmail.com>
14850
14851 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
14852 symlink_buffer.
14853
87a95d1f 148542008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
14855
14856 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
14857 texinfo.tex.
14858
14859 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
14860 modified.
14861
14862 * docs/fdl.texi: New file.
f19dbdb7 14863
87a95d1f 14864 * docs/mdate-sh: New file. Copied from gnulib.
14865 * docs/texinfo.tex: Likewise.
14866
14867 * config.guess: Updated from gnulib.
14868 * install-sh: Likewise.
14869
7dc15d8e 148702008-02-28 Robert Millan <rmh@aybabtu.com>
14871
14872 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
14873 (aout_mod_SOURCES): New variable.
14874 (aout_mod_CFLAGS): Likewise.
14875 (aout_mod_LDFLAGS): Likewise.
14876
14877 * conf/i386-ieee1275.rmk: Likewise.
14878
b00ab696 148792008-02-28 Robert Millan <rmh@aybabtu.com>
14880
14881 * util/update-grub.in: Reorganise terminal validity check. Accept
14882 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
14883 Based on suggestion by Franklin PIAT.
14884
79ca2d78 148852008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
14886
14887 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
14888 function.
14889 * util/getroot.c (grub_util_check_block_device): New function that
14890 returns the given argument if it is a block device and returns NULL else.
14891 * util/grub-probe.c (argument_is_device): New variable.
14892 (probe): Promote device_name from a variable to an argument. Receive
14893 device_name from grub_util_check_block_device() if path is NULL and from
14894 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 14895 (options): Introduce new parameter '-d, --device'.
79ca2d78 14896 (main): Add description of the new parameter to the help screen.
14897 Rename path variable to argument. Set argument_is_device if the '-d'
14898 option is given. Pass argument to probe() depending on
14899 argument_is_device.
14900
0d16e571 149012008-02-24 Bean <bean123ch@gmail.com>
14902
14903 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
14904 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
14905 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
14906 (GRUB_ISO9660_VOLDESC_PART): Likewise.
14907 (GRUB_ISO9660_VOLDESC_END): Likewise.
14908 (grub_iso9660_primary_voldesc): New member escape.
14909 (grub_iso9660_data): New member joliet.
14910 (grub_iso9660_convert_string): New function.
14911 (grub_iso9660_mount): Detect joliet extension.
14912 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
14913 (grub_iso9660_iso9660_label): Likewise.
14914
14915 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
14916 (grub_setup_SOURCES): Add fs/udf.c.
14917 (grub_fstest_SOURCES): Likewise.
14918 (udf_mod_SOURCES): New variable.
14919 (udf_mod_CFLAGS): Likewise.
14920 (udf_mod_LDFLAGS): Likewise.
14921
14922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
14923 (grub_emu_SOURCES): Likewise.
14924
14925 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14926
14927 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14928
14929 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14930
14931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14932
14933 * fs/udf.c: New file.
14934
8a594a17 149352008-02-24 Robert Millan <rmh@aybabtu.com>
14936
14937 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
14938 (normal/lexer.c_DEPENDENCIES): New variables.
14939 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14940 (normal/lexer.c_DEPENDENCIES): Likewise.
14941 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
14942 (normal/lexer.c_DEPENDENCIES): Likewise.
14943 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
14944 (normal/lexer.c_DEPENDENCIES): Likewise.
14945 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14946 (normal/lexer.c_DEPENDENCIES): Likewise.
14947 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14948 (normal/lexer.c_DEPENDENCIES): Likewise.
14949
2dc33c03 149502008-02-23 Robert Millan <rmh@aybabtu.com>
14951
14952 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
14953 since they were intended to be in hex. This didn't break previously
14954 because of a bug in gpt_partition_map_iterate() (see below).
14955
14956 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
14957 when checking the validity of GPT header.
14958 Remove `partno', since it always provides the same information as `i'.
14959
f6f4cfb0 149602008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
14961
14962 * include/grub/efi/time.h: Fix a wrong comment.
14963
79ff665f 149642008-02-19 Pavel Roskin <proski@gnu.org>
14965
14966 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
14967 message.
14968
d38e24c2 149692008-02-19 Bean <bean123ch@gmail.com>
14970
14971 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
14972 (aout_mod_SOURCES): New variable.
14973 (aout_mod_CFLAGS): Likewise.
14974 (aout_mod_LDFLAGS): Likewise.
14975 (_bsd_mod_SOURCES): New variable.
14976 (_bsd_mod_CFLAGS): Likewise.
14977 (_bsd_mod_LDFLAGS): Likewise.
14978 (bsd_mod_SOURCES): New variable.
14979 (bsd_mod_CFLAGS): Likewise.
14980 (bsd_mod_LDFLAGS): Likewise.
14981
14982 * include/grub/aout.h: New file.
14983
14984 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
14985
14986 * include/grub/i386/bsd.h: New file.
14987
14988 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
14989 to make it public.
14990
14991 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
14992 function is called, so that it's possible to change it inside the hook.
14993 (grub_elf64_load): Likewise.
14994 (grub_elf_file): Don't close the file if elf header is not found.
14995 (grub_elf_close): Close the file if grub_elf_file fails (The new
14996 grub_elf_file won't close it).
14997 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
14998 (grub_elf64_size): Likewise.
14999
15000 * kern/i386/loader.S (grub_unix_real_boot): New function.
15001
15002 * loader/aout.c: New file.
15003
15004 * loader/i386/bsd.c: New file.
15005
15006 * loader/i386/bsd_normal.c: New file.
15007
15008 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
15009
15010 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 15011 can test other formats.
d38e24c2 15012
b93bdb0f 150132008-02-19 Robert Millan <rmh@aybabtu.com>
15014
15015 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
15016 (grub_gpt_partition_type_empty): Redefine with macro from
15017 `<grub/gpt_partition.h>'.
15018 (gpt_partition_map_iterate): Adjust partition type comparison.
15019
15020 Export `entry' as partmap-specific `part.data' struct.
15021 (grub_gpt_header, grub_gpt_partentry): Move from here ...
15022
15023 * include/grub/gpt_partition.h (grub_gpt_header)
15024 (grub_gpt_partentry): ... to here (new file).
15025
15026 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
15027
15028 (grub_gpt_partition_type_bios_boot): New const variable, defined
15029 with macro from `<grub/gpt_partition.h>'.
15030
15031 (setup): Replace `first_start' with `embed_region', which keeps
15032 track of the embed region (and is partmap-agnostic).
15033
15034 Replace find_first_partition_start() with find_usable_region(),
15035 which finds a usable region for embedding using partmap-specific
15036 knowledge (supports PC/MSDOS and GPT).
15037
15038 Fix all assumptions that the embed region start at sector 1, using
15039 `embed_region.start' from now on. Similarly, use `embed_region.end'
15040 rather than `first_start' to calculate available size.
15041
15042 In grub_util_info() message, replace "into after the MBR" with an
15043 indication of the specific sector our embed region starts at.
15044
66cb40f6 150452008-02-19 Robert Millan <rmh@aybabtu.com>
15046
15047 * DISTLIST: Replace `commands/ieee1275/halt.c' and
15048 `commands/ieee1275/reboot.c' with `commands/halt.c' and
15049 `commands/reboot.c'.
15050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15051 (halt_mod_SOURCES): Likewise.
15052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15053 (halt_mod_SOURCES): Likewise.
15054
b7202015 150552008-02-17 Christian Franke <franke@computer.org>
15056
15057 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
15058
32b0fc49 150592008-02-17 Robert Millan <rmh@aybabtu.com>
15060
15061 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15062 set `first_start' to 0 for non-PC/MSDOS partition maps.
15063
aca63502 150642008-02-16 Robert Millan <rmh@aybabtu.com>
15065
15066 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15067 do not assume partition map is PC/MSDOS before performing checks that
15068 are specific to that layout.
15069
0de8be86 150702008-02-13 Robert Millan <rmh@aybabtu.com>
15071
15072 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
15073 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
15074 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
15075
c3db8364 150762008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
15077
15078 * configure.ac: Only a cosmetic change on the handling of
15079 -fno-stack-protector.
15080
f714229e 150812008-02-12 Alexandre Boeglin <alex@boeglin.org>
15082
c3db8364 15083 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
15084 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
15085 reboot.c.
f714229e 15086 (grub_install_SOURCES): Add halt.mod and reboot.mod.
15087 (halt_mod_SOURCES): New variable.
15088 (halt_mod_CFLAGS): Likewise.
15089 (halt_mod_LDFLAGS): Likewise.
15090 (reboot_mod_SOURCES): Likewise.
15091 (reboot_mod_CFLAGS): Likewise.
15092 (reboot_mod_LDFLAGS): Likewise.
15093
c3db8364 15094 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
15095 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
15096 reboot.c.
f714229e 15097 (halt_mod_SOURCES): Likewise.
15098 (reboot_mod_SOURCES): Likewise.
15099
c3db8364 15100 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
15101 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 15102 (reboot_mod_SOURCES): Likewise.
15103
15104 * commands/i386/pc/reboot.c: merge this file ...
15105
15106 * commands/ieee1275/reboot.c: ... and this file ...
15107
15108 * commands/reboot.c: ... to this file.
c3db8364 15109 Add some precompiler directive to include the correct header for
15110 each machine.
f714229e 15111
15112 * commands/ieee1275/halt.c: move this file ...
15113
15114 * commands/halt.c: ... to here.
c3db8364 15115 Add some precompiler directive to include the correct header for
15116 each machine.
f714229e 15117
15118 * include/grub/efi/efi.h (grub_reboot): New function declaration.
15119 (grub_halt): Likewise.
15120
15121 * kern/efi/efi.c (grub_reboot): New function.
15122 (grub_halt): Likewise.
15123
c74493e0 151242008-02-12 Robert Millan <rmh@aybabtu.com>
15125
15126 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
15127 /dev (like it is done for /dev/mapper). This doesn't provide support
15128 for EVMS, but at least it is now easy to identify the problem when it
15129 arises.
15130
d0db4b04 151312008-02-11 Robert Millan <rmh@aybabtu.com>
15132
15133 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
15134 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
15135 comparing it with -1, not 0.
15136
bf748642 151372008-02-10 Robert Millan <rmh@aybabtu.com>
15138
15139 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
15140 `disk/lvm.c'.
15141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15142 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15143
15144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
15145 `disk/lvm.c' to the end of the list.
15146 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15147 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15148
b5db202a 151492008-02-10 Robert Millan <rmh@aybabtu.com>
15150
15151 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
15152 grub_print_error() instead. This will let user know why we're entering
15153 rescue mode.
15154 Based on suggestions from Sam Morris.
15155
83abee31 151562008-02-10 Alexandre Boeglin <alex@boeglin.org>
15157
15158 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
15159 on remaining N args, instead of "--" arg N times.
15160
78d5a08b 151612008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
15162
15163 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
15164 (fill_with_default_glyph): Changed to use unknown_glyph for fill
15165 pattern for unknown glyphs.
15166
68807e5f 151672008-02-09 Robert Millan <rmh@aybabtu.com>
15168
15169 * configure.ac: Probe for `help2man'.
15170 * Makefile.in (builddir): New variable.
15171 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
15172 or otherwise add a few flags/options to it.
15173 (install-local): For every executable utility or script that is
15174 installed, invoke $(HELP2MAN) to install a manpage based on --help
15175 output.
15176
15177 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
15178 that it doesn't prevent --help from working in build tree.
15179
15180 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
15181 with `bug-grub@gnu.org'.
15182 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
15183 * util/update-grub.in (usage): New function.
15184 Implement proper argument check, with support for --help and --version
15185 (as well as existing -y).
15186
151872008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 15188
15189 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
15190 avoid overwriting previous output.
15191 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
15192
c1962162 151932008-02-09 Robert Millan <rmh@aybabtu.com>
15194
15195 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
15196 drawing the menu.
15197
3dac2e3f 151982008-02-09 Robert Millan <rmh@aybabtu.com>
15199
15200 * commands/sleep.c: New file.
15201 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
15202 (sleep_mod_SOURCES): New variable.
15203 (sleep_mod_CFLAGS): Likewise.
15204 (sleep_mod_LDFLAGS): Likewise.
15205
7a634e08 152062008-02-09 Robert Millan <rmh@aybabtu.com>
15207
15208 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
15209 situations in which we can deduce the RAID size and the superblock
15210 doesn't match it.
15211
b92f0c18 152122008-02-09 Robert Millan <rmh@aybabtu.com>
15213
15214 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
15215 and return a grub_diskmemberlist_t composed of LVM physical volumes.
15216 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
15217
15218 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
15219 and return a grub_diskmemberlist_t composed of physical array members.
15220 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
15221
15222 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
15223 prototype.
15224 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
15225 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
15226 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
15227
15228 * util/grub-probe.c (probe): Move partmap probing code from here ...
15229 (probe_partmap): ... to here.
15230 (probe): Use probe_partmap() once for the disk we're probing, and
15231 additionally, when such disk contains a memberlist() struct member,
15232 once for each disk that is contained in the structure returned by
15233 memberlist().
15234
91a4bf68 152352008-02-09 Robert Millan <rmh@aybabtu.com>
15236
15237 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
15238 environment variable to 'all' in order to obtain debug output from
15239 non-util/ code.
15240 * util/i386/pc/grub-setup.c (main): Likewise.
15241
a96f9caa 152422008-02-08 Robert Millan <rmh@aybabtu.com>
15243
15244 * disk/raid.c (grub_raid_scan_device): Check for
15245 `array->device[sb.this_disk.number]' rather than for
15246 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 15247 guaranteed to be accessible.
a96f9caa 15248
b37a9222 152492008-02-08 Robert Millan <rmh@aybabtu.com>
15250
15251 * disk/raid.c: Update copyright.
15252 * fs/cpio.c: Likewise.
15253 * include/grub/raid.h: Likewise.
15254 * loader/i386/pc/multiboot.c: Likewise.
15255 * util/hostfs.c: Likewise.
15256
5626aee1 152572008-02-08 Robert Millan <rmh@aybabtu.com>
15258
15259 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
15260 to a grub_disk_t array.
15261 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
15262 `device[x]'.
15263 (grub_raid_scan_device): Replace `device[x].name' accesses with
15264 `device[x]->name'. Simplify initialization of `array->device[x]'.
15265
554f0187 152662008-02-08 Robert Millan <rmh@aybabtu.com>
15267
15268 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
15269 grub_dprintf() calls.
15270 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
15271 error message.
15272
1ec8425d 152732008-02-07 Christian Franke <franke@computer.org>
15274
15275 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15276 instead of fseek and ftell to support large files.
15277 (grub_hostfs_read): Likewise.
15278
f2156fda 152792008-02-07 Robert Millan <rmh@aybabtu.com>
15280
15281 Patch from Jeroen Dekkers.
15282 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 15283 failure, since successfully reading all array members might not be
f2156fda 15284 required.
15285
9216e0e7 152862008-02-06 Robert Millan <rmh@aybabtu.com>
15287
15288 * util/grub-probe.c (probe): Simplify partmap probing (with the
15289 assumption that the first word up to the underscore equals to
15290 the module name).
15291
b0dfd29a 152922008-02-06 Christian Franke <franke@computer.org>
15293
15294 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15295 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15296 last block of a cpio or tar stream.
15297 Check for "TRAILER!!!" instead of any empty data
15298 block to detect last block of a cpio stream.
15299 (grub_cpio_dir): Fix constness of variable np.
15300 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15301 cpio or tar trailer is detected. This fixes a crash
15302 on open of a non existing file.
15303
c32865bf 153042008-02-05 Bean <bean123ch@gmail.com>
15305
15306 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15307 address of entry.
15308 (grub_multiboot_load_elf64): Likewise.
15309 (grub_multiboot): Initialize mbi structure.
15310
15311 * util/grub-fstest.c: Don't include unused header file script.h.
15312
fe6b695a 15313 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15314 of file.
15315 (grub_fstest_SOURCES): Likewise.
15316
409480b7 153172008-02-05 Robert Millan <rmh@aybabtu.com>
15318
15319 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15320 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15321 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15322 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15323
15324 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15325 (translation_table): Replace hardcoded values with macros
15326 provided by `<grub/term.h>'.
15327
15328 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15329 (keyboard_map): Correct/add a few values, with macros provided
15330 by `<grub/term.h>'.
15331 (keyboard_map_shift): Zero values that don't differ from their
15332 `keyboard_map' equivalents.
15333 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15334 Discard the second scan code that is always sent by Caps lock.
15335 Only use `keyboard_map_shift' when it provides a non-zero value,
15336 otherwise fallback to `keyboard_map'.
15337
99fadbaa 153382008-02-04 Bean <bean123ch@gmail.com>
15339
15340 * Makefile.in (enable_grub_fstest): New variable.
15341
15342 * conf/common.rmk (grub_fstest_init.lst): New rule.
15343 (grub_fstest_init.h): Likewise.
15344 (grub_fstest_init.c): Likewise.
15345 (util/grub-fstest.c_DEPENDENCIES): New variable.
15346 (grub_fstest_SOURCES): Likewise.
15347
15348 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15349
15350 * util/grub-fstest.c: New file.
15351
bf567c50 153522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15353
15354 Make grub-setup handle a separate root device.
f19dbdb7 15355
bf567c50 15356 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15357 so that the root device can be compared with the destination
15358 device.
15359 When embedding the core image, if the root and destination devices
15360 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15361 0xFF.
15362 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 15363
9be6b98b 153642008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15365
15366 Add support for having a grub directory in a different drive. This
15367 is still only the data handling part.
f19dbdb7 15368
9be6b98b 15369 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15370 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15371 (grub_root_drive): New variable.
15372
15373 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15374 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15375 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15376 as it was.
15377
15378 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15379
15380 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15381 macro.
15382 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15383
15384 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15385 is bogus, because PXE booting does not specify any drive
15386 correctly.
15387
15388 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15389 am not sure if this is really correct.
15390
15391 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15392 is always identical to the boot drive when booting from a CD.
15393
15394 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15395 longer.
15396 (root_drive): New variable.
15397 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15398 (setup_sectors): Push %dx right after popping it, because %dh will
15399 be modified later.
15400 (copy_buffer): Restore %dx.
15401
e0ca0677 154022008-02-03 Robert Millan <rmh@aybabtu.com>
15403
15404 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15405 use `cdboot.img' for cdrom images.
15406
3b3f6629 154072008-02-03 Robert Millan <rmh@aybabtu.com>
15408
15409 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15410 only setup gfxterm when `font' command has succeeded.
15411
d42b3672 154122008-02-03 Robert Millan <rmh@aybabtu.com>
15413
15414 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15415 (grub_rescue_cmd_multiboot_loader)
15416 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15417
fa370ea6 154182008-02-03 Pavel Roskin <proski@gnu.org>
15419
e0c5dacb 15420 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 15421 %edx and %esi from stack only after grub_gate_a20() is called.
15422 grub_gate_a20() clobbers %edx.
15423
f2a76e1d 154242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15425
15426 * configure.ac (AC_INIT): Bumped to 1.96.
15427
15428 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15429 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15430 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15431 video/readers/png.c.
15432
90fd32d1 154332008-02-03 Bean <bean123ch@gmail.com>
9be665dd 15434
15435 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15436 (cdboot_img_SOURCES): New variable.
15437 (cdboot_img_ASFLAGS): New variable.
15438 (cdboot_img_LDFLAGS): New variable.
15439
15440 * boot/i386/pc/cdboot.S: New file.
15441
15442 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15443 (cd_count): Likewise.
15444 (grub_biosdisk_get_drive): Add support for cd device.
15445 (grub_biosdisk_call_hook): Likewise.
15446 (grub_biosdisk_iterate): Likewise.
15447 (grub_biosdisk_open): Likewise.
15448 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
15449 (grub_biosdisk_rw): Support reading from cd device.
15450 (GRUB_MOD_INIT): Iterate cd devices.
15451
15452 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
15453 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
15454 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
15455
15456 * kern/i386/pc/init.c (make_install_device): Check for cd device.
15457
4020aa53 154582008-02-02 Robert Millan <rmh@aybabtu.com>
15459
15460 * commands/read.c: New file.
15461 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15462 (read_mod_SOURCES): New variable.
15463 (read_mod_CFLAGS): Likewise.
15464 (read_mod_LDFLAGS): Likewise.
15465
e03a1132 154662008-02-02 Robert Millan <rmh@aybabtu.com>
15467
15468 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15469 determining whether menu has to be displayed.
15470
58c69220 154712008-02-02 Marco Gerards <marco@gnu.org>
15472
15473 * bus/pci.c: New file.
15474
15475 * include/grub/pci.h: Likewise.
15476
15477 * include/grub/i386/pc/pci.h: Likewise.
15478
15479 * commands/lspci.c: Likewise.
15480
15481 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15482 `lspci.mod'.
15483 (pci_mod_SOURCES): New variable.
15484 (pci_mod_CFLAGS): Likewise.
15485 (pci_mod_LDFLAGS): Likewise.
15486 (lspci_mod_SOURCES): Likewise.
15487 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15488 (lspci_mod_LDFLAGS): Likewise.
58c69220 15489
c004e1b4 154902008-02-02 Bean <bean123ch@gmail.com>
15491
15492 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15493 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15494
15495 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15496 (grub_xfs_btree_node): New structure.
15497 (grub_xfs_btree_root): New structure.
15498 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15499 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15500 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15501 (GRUB_XFS_EXTENT_SIZE): Likewise.
15502 (grub_xfs_read_block): Support btree format type.
15503 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15504 Use directory block as basic unit.
15505
15506 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15507
15508 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15509 __attribute__ ((__regparm__ (1))).
15510
f95562bf 155112008-02-01 Robert Millan <rmh@aybabtu.com>
15512
15513 Correct a mistake in previous commit.
15514
15515 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15516 top.
15517 (normal/command.c_DEPENDENCIES): New variable.
15518
7d31f41f 155192008-02-01 Robert Millan <rmh@aybabtu.com>
15520
15521 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
15522 top.
15523 (normal/command.c_DEPENDENCIES): New variable.
15524 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
15525 * conf/i386-ieee1275.rmk: Likewise.
15526 * conf/i386-linuxbios.rmk: Likewise.
15527 * conf/i386-pc.rmk: Likewise.
15528 * conf/sparc64-ieee1275.rmk: Likewise.
15529 * conf/powerpc-ieee1275.rmk: Likewise.
15530 (grub_emu_SOURCES): Add `fs/fshelp.c'.
15531
15532 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
15533
60b6be74 155342008-02-01 Robert Millan <rmh@aybabtu.com>
15535
15536 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
15537 call at beginning of function.
15538
078522ab 155392008-01-31 Pavel Roskin <proski@gnu.org>
15540
15541 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 15542 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
15543 (grub_mkrescue_SOURCES): Likewise.
078522ab 15544 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
15545
ccaa8a5f 155462008-01-30 Robert Millan <rmh@aybabtu.com>
15547
15548 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
15549 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
15550 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
15551 (grub_probe_SOURCES): ... to here.
15552
15553 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
15554 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
15555 * conf/i386-ieee1275.rmk: Likewise.
15556 * conf/i386-linuxbios.rmk: Likewise.
15557 * conf/powerpc-ieee1275.rmk: Likewise.
15558
ae5a9cd7 155592008-01-30 Tristan Gingold <gingold@free.fr>
15560
15561 * kern/rescue.c: Silently accept empty lines.
15562
70bc2ef2 155632008-01-29 Bean <bean123ch@gmail.com>
15564
15565 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
15566 (real_code_2): Code cleanup and change comment style.
15567 (move_memory): Avoid using 32-bit address mode.
15568
6a4d50ea 155692008-01-29 Bean <bean123ch@gmail.com>
15570
15571 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
15572 (png_mod_SOURCES): New variable.
15573 (png_mod_CFLAGS): Likewise.
15574 (png_mod_LDFLAGS): Likewise.
15575
15576 * video/readers/png.c: New file.
15577
11cc30ac 155782008-01-28 Robert Millan <rmh@aybabtu.com>
15579
15580 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
15581 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
15582 `ifndef GRUB_MOD_GAP' hack.
15583 * util/elf/grub-mkimage.c (add_segments): Likewise.
15584
3abc589f 155852008-01-27 Robert Millan <rmh@aybabtu.com>
15586
15587 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
15588 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 15589 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 15590
e1907778 155912008-01-27 Robert Millan <rmh@aybabtu.com>
15592
15593 Get grub-emu to build again (including parallel builds).
15594
15595 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
15596 Split into ...
15597 (util/grub-emu.c_DEPENDENCIES): ... this, ...
15598 (normal/execute.c_DEPENDENCIES): ... this, ...
15599 (grub-emu_DEPENDENCIES): ... and this.
15600
15601 * conf/i386-efi.rmk: Likewise.
15602 * conf/i386-linuxbios.rmk: Likewise.
15603 * conf/i386-ieee1275.rmk: Likewise.
15604 * conf/powerpc-ieee1275.rmk: Likewise.
15605 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
15606
2216b101 156072008-01-27 Robert Millan <rmh@aybabtu.com>
15608
15609 * NEWS: Add a few items.
15610
f75172d9 156112008-01-27 Robert Millan <rmh@aybabtu.com>
15612
15613 Fix parallel builds with grub-emu. Based on earlier commit for
15614 grub-probe and grub-setup.
15615
15616 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15617 (util/grub-emu.c_DEPENDENCIES): ... this.
15618 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15619 (util/grub-emu.c_DEPENDENCIES): ... this.
15620 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15621 (util/grub-emu.c_DEPENDENCIES): ... this.
15622 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15623 (util/grub-emu.c_DEPENDENCIES): ... this.
15624 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15625 (util/grub-emu.c_DEPENDENCIES): ... this.
15626
3f51de77 156272008-01-27 Pavel Roskin <proski@gnu.org>
15628
15629 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
15630 to create a gap between _end and the modules added to the image
15631 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
15632 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
15633 * util/elf/grub-mkimage.c (add_segments): Likewise.
15634
2033f53e 156352008-01-26 Pavel Roskin <proski@gnu.org>
15636
15637 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
15638 just return an error.
15639
22da1f6f 156402008-01-26 Bean <bean123ch@gmail.com>
15641
15642 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
15643 (grub_reiserfs_get_item): Save offset of the next item.
15644 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
15645
2a9525e6 156462008-01-25 Robert Millan <rmh@aybabtu.com>
15647
15648 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
15649 make all filesystem sources appear together (possibly fixing omissions
15650 while at it).
15651 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15652 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15653 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15655
15656 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
15657 add `kern/file.c'.
15658 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15659 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15660 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15661 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15662
15663 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
15664 (probe): Add a sanity check to make sure of our ability to read
15665 requested files when probing for filesystem type.
15666
15667 * genmk.rb: Update copyright year (2007).
15668
15669 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
15670 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
15671 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
15672 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
15673 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
15674 : Remove function prototypes.
15675
b95f71b5 156762008-01-25 Robert Millan <rmh@aybabtu.com>
15677
15678 Revert my previous commits (based on wrong assumption of how grub_errno
15679 works).
15680
fe6b695a 15681 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 15682 * kern/file.c (grub_file_open): Likewise.
15683
d08bbb49 156842008-01-24 Pavel Roskin <proski@gnu.org>
15685
15686 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
15687 that hang if GRUB tries to setup colors.
15688 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
15689 colors for firmwares that don't support it.
15690 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
15691 Recognize Open Hack'Ware, set flags to work around its
15692 limitations.
15693
605e36ed 156942008-01-24 Robert Millan <rmh@aybabtu.com>
15695
15696 * kern/file.c (grub_file_open): Do not account previous failures of
15697 unrelated functions when grub_errno is checked for.
15698 Reported by Oleg Strikov.
15699
bac332a1 157002008-01-24 Bean <bean123ch@gmail.com>
15701
15702 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
15703 (grub_ufs_sblock): New member volume name.
15704 (grub_ufs_find_file): Fix string copy bug.
15705 (grub_ufs_label): Implement this function properly.
15706
15707 * fs/hfs.c (grub_hfs_cnid_type): New enum.
15708 (grub_hfs_iterate_records): Use the correct file number for extents
15709 and catalog file. Fix problem in next index calculation.
15710 (grub_hfs_find_node): Replace recursive function call with loop.
15711 (grub_hfs_iterate_dir): Replace recursive function call with loop.
15712
15c80c09 157132008-01-23 Robert Millan <rmh@aybabtu.com>
15714
15715 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
15716 `<grub/symbol.h>' and `<grub/multiboot.h>'.
15717 (grub_multiboot2_real_boot): New function prototype.
15718
15719 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
15720 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
15721
15722 * kern/i386/ieee1275/init.c (grub_os_area_addr)
15723 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
15724
305338fd 157252008-01-23 Robert Millan <rmh@aybabtu.com>
15726
15727 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
15728 #ifdef'ed out grub_printf().
15729
3ea52685 157302008-01-23 Robert Millan <rmh@aybabtu.com>
15731
15732 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
15733 grub_dprintf calls, since they make "debug=all" mode unusable.
15734 (grub_console_checkkey): Likewise.
15735
5882ae4b 157362008-01-23 Robert Millan <rmh@aybabtu.com>
15737
15738 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15739 `term/i386/pc/at_keyboard.c'.
15740 (pkglib_MODULES): Add `serial.mod'.
15741 (serial_mod_SOURCES): New variable.
15742 (serial_mod_CFLAGS): Likewise.
15743 (serial_mod_LDFLAGS): Likewise.
15744
15745 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
15746 `<grub/powerpc/ieee1275/console.h>'.
15747 (grub_keyboard_controller_init): New function prototype.
15748 (grub_console_checkkey): Likewise.
15749 (grub_console_getkey): Likewise.
15750
15751 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
15752 keyboard on i386.
15753
15754 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
15755 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
15756
06ab5303 157572008-01-23 Robert Millan <rmh@aybabtu.com>
15758
15759 * kern/i386/pc/init.c (make_install_device): When memdisk image is
15760 present, "(memdisk)/boot/grub" becomes the default prefix.
15761
15762 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
15763 a memdisk tarball with all the modules. Add --overlay=DIR option that
15764 allows users to overlay additional files into the image.
15765
dbb475a4 157662008-01-23 Robert Millan <rmh@aybabtu.com>
15767
15768 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
15769 and `machine/memory.h'.
15770 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
15771 (_multiboot_mod_SOURCES): New variable.
15772 (_multiboot_mod_CFLAGS): Likewise.
15773 (_multiboot_mod_LDFLAGS): Likewise.
15774 (multiboot_mod_SOURCES): Likewise.
15775 (multiboot_mod_CFLAGS): Likewise.
15776 (multiboot_mod_LDFLAGS): Likewise.
15777
15778 * include/grub/i386/ieee1275/loader.h: New file.
15779
15780 * include/grub/i386/ieee1275/machine.h: Likewise.
15781
15782 * include/grub/i386/ieee1275/memory.h: Likewise.
15783
15784 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
15785 variable declaration.
15786 (grub_os_area_size): Likewise.
15787
15788 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
15789 (grub_lower_mem, grub_upper_mem): New variables.
15790 (grub_stop_floppy): New function (just to make
15791 grub_multiboot2_real_boot() happy).
15792
15793 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
15794 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
15795 (grub_stop): New function.
15796 Include `"../realmode.S"' and `"../loader.S"'.
15797
15798 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
15799 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
15800
15801 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
15802 rely on grub_multiboot2_real_boot() for final boot.
15803
25638629 158042008-01-22 Robert Millan <rmh@aybabtu.com>
15805
15806 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
15807 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
15808 device that doesn't look like an SD card.
15809 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15810 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
15811 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
15812 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
15813 found.
15814
9dad816d 158152008-01-22 Robert Millan <rmh@aybabtu.com>
15816
15817 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
15818 avoid claiming over our own code.
15819
34842f2d 158202008-01-22 Bean <bean123ch@gmail.com>
15821
15822 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
15823 (jpeg_mod_SOURCES): New variable.
15824 (jpeg_mod_CFLAGS): Likewise.
15825 (jpeg_mod_LDFLAGS): Likewise.
15826
15827 * video/readers/jpeg.c : New file.
15828
44023a28 158292008-01-22 Bean <bean123ch@gmail.com>
15830
15831 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
15832 there are no more items.
15833
bc2d8ac6 158342008-01-21 Robert Millan <rmh@aybabtu.com>
15835
15836 * kern/mm.c (grub_mm_init_region): Improve debug message.
15837
261bd4bc 158382008-01-21 Robert Millan <rmh@aybabtu.com>
15839
15840 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
15841 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
15842 address.
15843 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
15844 a C macro.
15845 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
15846 Indicates start of upper memory.
15847 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
15848 (generate_image): Abort when image size is big enough to corrupt
15849 upper memory.
15850
15851 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
15852 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
15853 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15854 instead of hardcoding 0xA0000.
15855 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
15856 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15857 instead of hardcoding 0xA0000.
15858
f970b55e 158592008-01-21 Robert Millan <rmh@aybabtu.com>
15860
15861 * disk/memdisk.c (memdisk_size): New variable.
15862 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
15863 `memdisk_size'.
15864 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
15865 image to dynamic memory.
15866 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
15867 `memdisk_size'. Free memdisk block.
15868
1a8b0526 158692008-01-21 Robert Millan <rmh@aybabtu.com>
15870
15871 Fix detection of very small filesystems (like tar).
15872
15873 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
15874 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
15875 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
15876 a problem with this disk).
15877
6e9b4aab 158782008-01-21 Robert Millan <rmh@aybabtu.com>
15879
15880 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
15881 on grub_biosdisk_rw_standard() error.
15882
0d8837b2 158832008-01-21 Robert Millan <rmh@aybabtu.com>
15884
15885 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
15886 recent changes.
15887 * kern/elf.c: Likewise.
15888 * kern/ieee1275/ieee1275.c: Likewise.
15889 * kern/powerpc/ieee1275/openfw.c: Likewise.
15890 * term/ieee1275/ofconsole.c: Likewise.
15891
ffd36e34 158922008-01-21 Robert Millan <rmh@aybabtu.com>
15893
15894 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
15895
3f0093d0 15896 * include/grub/kernel.h (grub_arch_memdisk_addr)
15897 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 15898
3f0093d0 15899 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
15900 (grub_arch_memdisk_size): ... to here.
ffd36e34 15901
6c391b21 159022008-01-21 Robert Millan <rmh@aybabtu.com>
15903
15904 Mostly based on bugfix from Bean.
15905
15906 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
15907 attribute with hook() parameter.
15908 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
15909 declaration.
15910 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
15911 attribute with hook() parameter.
15912 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
15913 declaration.
15914
55a581dc 159152008-01-21 Robert Millan <rmh@aybabtu.com>
15916
15917 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
15918 (pkglib_MODULES): Add `memdisk.mod'.
15919 (memdisk_mod_SOURCES): New variable.
15920 (memdisk_mod_CFLAGS): Likewise.
15921 (memdisk_mod_LDFLAGS): Likewise.
15922
15923 * disk/memdisk.c: New file.
15924
15925 * include/grub/disk.h (grub_disk_dev_id): Add
15926 `GRUB_DISK_DEVICE_MEMDISK_ID'.
15927
15928 * include/grub/i386/pc/kernel.h
15929 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
15930 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
15931 (grub_kernel_image_size): New variable declaration.
15932 (grub_total_module_size): Likewise.
15933 (grub_memdisk_image_size): Likewise.
15934
15935 * include/grub/i386/pc/memory.h
15936 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
15937
15938 * include/grub/kernel.h: Include `<grub/symbol.h>'.
15939 (grub_arch_memdisk_addr): New variable declaration.
15940 (grub_arch_memdisk_size): Likewise.
15941
15942 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
15943 (grub_arch_memdisk_size): Likewise.
15944
15945 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
15946 (codestart): Replace hardcoded `0x100000' with
15947 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
15948
15949 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
15950 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
15951 not NULL, append the contents of the file it refers to, at the end of
15952 the compressed kernel image. Initialize `grub_memdisk_image_size'
15953 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
15954 (options): Add "memdisk"|'m' option.
15955 (main): Parse --memdisk|-m option, and pass user-provided path as
15956 parameter to generate_image().
15957
3d7f54c9 159582008-01-20 Robert Millan <rmh@aybabtu.com>
15959
15960 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
15961 grub_dprintf() calls from here ...
15962 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
15963
0bf74728 159642008-01-20 Robert Millan <rmh@aybabtu.com>
15965
15966 Fix detection of "real mode" when /options/real-mode? doesn't exist.
15967
15968 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
15969 declaration.
15970 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
15971 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
15972 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 15973 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 15974 property).
15975 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
15976 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
15977
33bf70a7 159782008-01-19 Robert Millan <rmh@aybabtu.com>
15979
fe6b695a 15980 Get rid of confusing function (superseded by
33bf70a7 15981 `grub_ieee1275_get_integer_property')
15982 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
15983 prototype.
15984 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
15985 function.
15986 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
15987 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 15988 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 15989
e2da7d26 159902008-01-19 Robert Millan <rmh@aybabtu.com>
15991
15992 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
15993 command after "shut-down", since implementations differ on which
15994 the command for halt is.
15995
59f1fd8d 159962008-01-19 Robert Millan <rmh@aybabtu.com>
15997
15998 * include/grub/i386/linuxbios/console.h: Add header protection.
15999 (grub_keyboard_controller_init): New function prototype.
16000 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16001 (KEYBOARD_COMMAND_READ): Likewise.
16002 (KEYBOARD_COMMAND_WRITE): Likewise.
16003 (KEYBOARD_SCANCODE_SET1): Likewise.
16004 (grub_keyboard_controller_write): New function.
16005 (grub_keyboard_controller_read): Likewise.
16006 (grub_keyboard_controller_init): Likewise.
16007
16008 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
16009 (grub_console_init): On coreboot/LinuxBIOS, call
16010 grub_keyboard_controller_init().
16011
5f5a7c15 160122008-01-19 Robert Millan <rmh@aybabtu.com>
16013
16014 PowerPC changes provided by Pavel Roskin.
16015
16016 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
16017 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
16018 don't rely on cmain() doing it.
16019 * kern/i386/ieee1275/startup.S (_start): Store %eax in
16020 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
16021
1210e168 160222008-01-16 Robert Millan <rmh@aybabtu.com>
16023
16024 * include/grub/i386/linuxbios/memory.h
16025 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
16026 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
16027 receive `table_header' as argument. Instead, probe for it in the
16028 known memory ranges where it can be present.
16029 (grub_available_iterate): Do not pass a fixed `table_header' address
16030 to grub_linuxbios_table_iterate().
16031
3d04eab8 160322008-01-15 Robert Millan <rmh@aybabtu.com>
16033
16034 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
16035 * conf/i386-ieee1275.rmk: New file.
16036 * include/grub/i386/ieee1275/console.h: Likewise.
16037 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
16038 * include/grub/i386/ieee1275/kernel.h: Likewise.
16039 * include/grub/i386/ieee1275/time.h: Likewise.
16040 * kern/i386/ieee1275/init.c: Likewise.
16041 * kern/i386/ieee1275/startup.S: Likewise.
16042
d1bc1b73 160432008-01-15 Robert Millan <rmh@aybabtu.com>
16044
16045 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
16046 when pointers are 32-bit (but still do set it to one when they are
16047 64-bit).
16048
66a65807 160492008-01-15 Robert Millan <rmh@aybabtu.com>
16050
16051 * include/grub/ieee1275/ieee1275.h
16052 (grub_ieee1275_get_integer_property): New function prototype.
16053
16054 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
16055 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 16056 grub_ieee1275_get_property() to handle endianness.
66a65807 16057
16058 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
16059 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 16060 where appropriate.
66a65807 16061 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
16062 (grub_map): Likewise.
16063 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
16064
a83ccafd 160652008-01-15 Bean <bean123ch@gmail.com>
16066
16067 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
16068 (grub_script_execute_cmdline): Reset grub_errno.
16069
16070 * normal/main.c (read_config_file): Reset grub_errno.
16071
16072 * normal/parse.y (script_init): New.
16073 (script): Move function and menuentry here.
16074 (delimiter): New.
16075 (command): Add delimiter at the end of command.
16076 (commands): Adjust to match the new command.
16077 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 16078 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 16079 (if): Use the new commands.
16080
16081 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
16082
df6ecfc6 160832008-01-15 Robert Millan <rmh@aybabtu.com>
16084
16085 * normal/menu.c (run_menu): Move timeout message from here ...
16086 (print_timeout): ... to here.
16087 (run_menu): Use print_timeout() once during initial draw to print
16088 the whole message, and again in every clock tick to update only
16089 the number of seconds.
16090
87ae25eb 160912008-01-15 Robert Millan <rmh@aybabtu.com>
16092
16093 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
16094 actual size of `available' from grub_ieee1275_get_property(), and
16095 restrict parsing to that bound.
16096
47bf09a4 160972008-01-15 Christian Franke <franke@computer.org>
16098
16099 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
16100 (argp_program_version): Remove variable.
16101 (argp_program_bug_address): Likewise.
16102 (options): Convert from struct argp_option to struct option.
16103 (struct arguments): Remove.
16104 (parse_opt): Remove.
16105 (usage): New function.
16106 (main): Replace struct args members by simple variables.
16107 Replace argp_parse() by getopt_long().
16108 Add switch to evaluate options.
16109 Add missing "(...)" around root_dev in prefix string.
16110
c86f1469 161112008-01-14 Robert Millan <rmh@aybabtu.com>
16112
16113 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
16114 for grub_ieee1275_exit(), in order to improve portability.
16115
e622c559 161162008-01-14 Robert Millan <rmh@aybabtu.com>
16117
16118 * util/grub.d/10_linux.in (prefix): Define.
16119 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
16120
44cb1ec8 161212008-01-13 Pavel Roskin <proski@gnu.org>
16122
16123 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
16124 grub_errno if no errors have been detected.
16125
1eb8c802 161262008-01-12 Robert Millan <rmh@aybabtu.com>
16127
16128 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
16129 (grub_util_get_dev_abstraction): New function prototype.
16130
16131 * util/getroot.c: Include `<grub/util/getroot.h>'
16132 (grub_util_get_grub_dev): Move detection of abstraction type to ...
16133 (grub_util_get_dev_abstraction): ... here (new function).
16134
16135 * util/grub-probe.c: Convert PRINT_* to an enum. Add
16136 `PRINT_ABSTRACTION'.
16137 (probe): Probe for abstraction type when requested.
16138 (main): Understand `--target=abstraction'.
16139
16140 * util/i386/efi/grub-install.in: Add abstraction module to core
16141 image when it is found to be necessary.
16142 * util/i386/pc/grub-install.in: Likewise.
16143 * util/powerpc/ieee1275/grub-install.in: Likewise.
16144
16145 * util/update-grub_lib.in (font_path): Return system path without
16146 converting to GRUB path.
16147 * util/update-grub.in: Convert system path returned by font_path()
16148 to a GRUB path. Use `grub-probe -t abstraction' to determine what
16149 abstraction module is needed for loading fonts (if any). Export
16150 that as `GRUB_PRELOAD_MODULES'.
16151 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
16152 insmod commands).
16153
52bd3de9 161542008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
16155
16156 Remove some unused code from reiserfs.
f19dbdb7 16157
52bd3de9 16158 * fs/reiserfs.c (struct grub_reiserfs_key)
16159 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
16160 (struct grub_reiserfs_node_body): Removed.
16161 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16162 Likewise.
16163 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16164 Likewise.
16165 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16166 Likewise.
16167 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16168 Likewise.
16169 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16170 Likewise.
16171 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
16172 Likewise.
16173 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16174 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16175 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16176
2f80039d 161772008-01-10 Robert Millan <rmh@aybabtu.com>
16178
16179 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
16180 Determines if a file is garbage left by packaging systems, etc.
16181 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
16182 for processing /etc/grub.d scripts.
16183 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
16184 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
16185 as a condition for processing Linux images.
16186
87888032 161872008-01-10 Pavel Roskin <proski@gnu.org>
16188
16189 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
16190 to compile reiserfs.c on PowerPC.
16191
7e54fced 161922008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 16193
16194 * kern/device.c (grub_device_iterate): Do not abort device iteration
16195 when one of the devices cannot be opened.
16196 * kern/disk.c (grub_disk_open): Do not account previous failures of
16197 unrelated functions when grub_errno is checked for.
16198
5aa541e6 161992008-01-08 Robert Millan <rmh@aybabtu.com>
16200
16201 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
16202 `! grub_linux_is_bzimage', change order of address comparison to make
16203 it more intuitive, and improve "too big zImage" error message.
16204
7076340d 162052008-01-08 Robert Millan <rmh@aybabtu.com>
16206
16207 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
16208 `$(update-grub_DATA)'.
16209 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
16210 targets.
16211
9ca70333 162122008-01-07 Robert Millan <rmh@aybabtu.com>
16213
16214 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
16215 which instruction is modified by grub-setup during installation
16216 (since it wasn't obvious by only looking at this file).
16217
38ccf575 162182008-01-07 Robert Millan <rmh@aybabtu.com>
16219
16220 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
16221 listing actual TODO items.
16222
f5db4291 162232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16224
868967cf 16225 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
16226 correctly.
16227 (grub_reiserfs_get_key_offset): Likewise.
16228 (grub_reiserfs_set_key_offset): Likewise.
16229 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 16230 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 16231
16232 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
16233 better to remove the bitfield version completely.
f19dbdb7 16234
868967cf 162352008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16236
f5db4291 16237 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
16238 allocated from the heap, due to the fshelp implementation.
16239 (grub_reiserfs_dir): Free NODE, due to the same reason.
16240
492e6d9d 162412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16242
16243 Mostly from Vincent Pelletier:
f19dbdb7 16244
492e6d9d 16245 * fs/reiserfs.c: New file.
f19dbdb7 16246
492e6d9d 16247 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
16248 (reiserfs_mod_SOURCES): New variable.
16249 (reiserfs_mod_CFLAGS): Likewise.
16250 (reiserfs_mod_LDFLAGS): Likewise.
16251
16252 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
16253 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
16254 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
16255 normal/color.c.
16256
9ce3e7c1 162572008-01-06 Robert Millan <rmh@aybabtu.com>
16258
16259 * normal/color.c: Remove `<grub/env.h>'.
16260
f3b58148 162612008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
16262
16263 * include/grub/normal.h: Include <grub/env.h>.
16264
7ac3bcfa 162652008-01-05 Robert Millan <rmh@aybabtu.com>
16266
16267 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
16268 usage example with `(hd0,1)'.
fb358190 16269 Reported by Samuel Thibault.
7ac3bcfa 16270
c8ee99d7 162712008-01-05 Robert Millan <rmh@aybabtu.com>
16272
16273 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16274 (grub_linux_boot_zimage): Rename to ...
16275 (grub_linux_boot): ... this.
16276 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16277 (grub_linux_boot_zimage): Conditionalize zImage copy.
16278
16279 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16280 (grub_linux_boot_bzimage): Remove prototype.
16281 (grub_linux_boot_zimage): Rename to ...
16282 (grub_linux_boot): ... this.
16283
16284 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16285 (grub_linux_boot): Remove function.
16286
0ece25b1 162872008-01-05 Robert Millan <rmh@aybabtu.com>
16288
16289 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16290 (grub_env_write_color_highlight): Likewise.
16291 (grub_wait_after_message): Likewise.
16292
16293 * normal/color.c: New file.
16294
16295 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16296 (normal_mod_DEPENDENCIES): Likewise.
16297
16298 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16299 (normal_mod_DEPENDENCIES): Likewise.
16300
16301 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16302 (normal_mod_DEPENDENCIES): Likewise.
16303
16304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16305 (normal_mod_DEPENDENCIES): Likewise.
16306
16307 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16308 for waiting after a message is printed.
16309 * normal/main.c (read_config_file): Likewise.
16310 (grub_normal_init): Register grub_env_write_color_normal() and
16311 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16312 `color_highlight' variables as global.
16313
16314 * normal/menu.c (grub_wait_after_message): New function.
16315 (grub_color_menu_normal): New variable. Replaces ...
16316 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16317 (grub_color_menu_highlight): New variable. Replaces ...
16318 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16319 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16320 `GRUB_TERM_COLOR_STANDARD'.
16321 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16322 `normal_code' and `highlight_code' to `old_color_normal' and
16323 `old_color_highlight', respectively.
16324 (grub_menu_init_page): Update colors when drawing the menu, based on
16325 `menu_color_normal' and `menu_color_highlight' variables.
16326 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16327 a message is printed.
16328
182dd4e5 163292008-01-05 Robert Millan <rmh@aybabtu.com>
16330
16331 * kern/env.c (grub_env_context_open): Propagate hooks for global
16332 variables to new context.
16333
16334 * kern/main.c (grub_set_root_dev): Export `root' variable.
16335
ddf8f6ad 163362008-01-05 Robert Millan <rmh@aybabtu.com>
16337
16338 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16339 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16340 them.
16341
d8b43d9b 163422008-01-05 Robert Millan <rmh@aybabtu.com>
16343
16344 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16345
2bff2de3 163462008-01-04 Christian Franke <franke@computer.org>
16347
16348 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16349 of eisa_mmap.
16350
97eab917 163512008-01-03 Pavel Roskin <proski@gnu.org>
16352
16353 * kern/i386/linuxbios/init.c: Put "void" to all function
16354 declarations with no arguments.
16355 * kern/powerpc/ieee1275/init.c: Likewise.
16356 * term/i386/pc/at_keyboard.c: Likewise.
16357 * term/i386/pc/vga_text.c: Likewise.
16358 * util/grub-mkdevicemap.c: Likewise.
16359
b9416d00 163602008-01-02 Robert Millan <rmh@aybabtu.com>
16361
16362 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16363 message when loaded image is out of bounds.
16364 (grub_multiboot_load_elf64): Likewise.
16365
92695df9 163662008-01-02 Pavel Roskin <proski@gnu.org>
16367
16368 * util/grub.d/10_linux.in: Try version without ".old" when
16369 looking for initrd. It's better to use initrd from the newer
16370 kernel of the same version than no initrd at all.
16371
d98d9cad 163722008-01-01 Robert Millan <rmh@aybabtu.com>
16373
16374 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16375
dbfdce36 163762008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16377
f19dbdb7 16378 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 16379 grub_video_get_active_render_target.
16380 (grub_video_adapter): Added unmap_color and get_active_render_target.
16381
f19dbdb7 16382 * video/video.c: Added grub_video_unmap_color and
dbfdce36 16383 grub_video_get_active_render_target.
16384 (grub_video_get_info): Changed method to accept NULL pointer as an
16385 argument to allow detection of active video adapter.
16386
16387 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16388 grub_video_vbe_unmap_color_int.
16389 Added grub_video_vbe_unmap_color and
16390 grub_video_vbe_get_active_render_target.
16391 (grub_video_vbe_adapter): Added unmap_color and
16392 get_active_render_target.
16393
f19dbdb7 16394 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 16395 with grub_video_vbe_unmap_color_int.
16396
16397 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16398 (DEFAULT_NORMAL_COLOR): Likewise.
16399 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16400 (DEFAULT_FG_COLOR): Removed.
16401 (DEFAULT_BG_COLOR): Likewise.
16402 (DEFAULT_CURSOR_COLOR): Changed value.
16403 (grub_virtual_screen): Added standard_color_setting,
16404 normal_color_setting, highlight_color_setting and term_color.
16405 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16406 (bitmap_width): Added.
16407 (bitmap_height): Likewise.
16408 (bitmap): Likewise.
16409 (set_term_color): Likewise.
16410 (grub_virtual_screen_setup): Changed to use new terminal coloring
16411 settings.
16412 (grub_gfxterm_init): Added init for bitmap.
16413 (grub_gfxterm_fini): Added destroy for bitmap.
16414 (redraw_screen_rect): Updated to use background bitmap and new
16415 terminal coloring.
16416 (scroll_up): Added optimization for case when there is no bitmap.
16417 (grub_gfxterm_cls): Fixed to use correct background color.
16418 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16419 coloring.
16420 (grub_virtual_screen_setcolor): Likewise.
16421 (grub_virtual_screen_getcolor): Added.
16422 (grub_gfxterm_background_image_cmd): Likewise.
16423 (grub_video_term): Added setcolor and getcolor.
16424 (MOD_INIT): Added registration of background_image command.
16425 (MOD_TERM): Added unregistration for background_image command.
16426
c3c20931 164272007-12-30 Pavel Roskin <proski@gnu.org>
16428
16429 * loader/multiboot_loader.c: Fix multiboot command
16430 unregistration. Fix all typos in the word "multiboot".
16431
df266716 164322007-12-29 Pavel Roskin <proski@gnu.org>
94239199 16433
16434 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16435 support for initrd names used in Fedora.
16436
fc6e896c 164372007-12-26 Bean <bean123ch@gmail.com>
16438
16439 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16440 (cpio_mod_SOURCES): New variable.
16441 (cpio_mod_CFLAGS): Likewise.
16442 (cpio_mod_LDFLAGS): Likewise.
16443
16444 * fs/cpio.c: New file.
16445
16446 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
16447
16448 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16449
16450 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16451
16452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16453
533110ad 164542007-12-25 Robert Millan <rmh@aybabtu.com>
16455
16456 * include/grub/term.h (struct grub_term): Add `getcolor' function.
16457 (grub_getcolor): New function.
16458
16459 * kern/term.c (grub_getcolor): New function.
16460 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
16461 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16462 (print_entry): Set normal and highlight colors to
16463 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16464 respectively, before printing and restore them to old
16465 values afterwards.
16466 (grub_menu_init_page): Likewise. Fill an additional colored space
16467 that would otherwise be left blank.
16468
16469 * term/efi/console.c (grub_console_getcolor): New function.
16470 (struct grub_console_term.getcolor): New variable.
16471 * term/i386/pc/console.c (grub_console_getcolor): New function.
16472 (struct grub_console_term.getcolor): New variable.
16473 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16474 (struct grub_console_term.getcolor): New variable.
16475
16476 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16477 (struct grub_console_term.setcolor): Remove variable.
16478 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16479 (struct grub_console_term.setcolor): Remove variable.
16480 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16481 (struct grub_console_term.setcolor): Remove variable.
16482 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16483 (struct grub_console_term.setcolor): Remove variable.
16484
4931827f 164852007-12-25 Robert Millan <rmh@aybabtu.com>
16486
16487 * configure.ac: Search for possible unifont.hex locations, and
16488 define UNIFONT_HEX if found.
16489
16490 * Makefile.in (UNIFONT_HEX): Define variable.
16491 (DATA): Rename to ...
16492 (PKGLIB): ... this. Update all users.
16493 (PKGDATA): New variable.
16494 (pkgdata_IMAGES): Rename to ...
16495 (pkglib_IMAGES): ... this. Update all users.
16496 (pkgdata_MODULES): Rename to ...
16497 (pkglib_MODULES): ... this. Update all users.
16498 (pkgdata_PROGRAMS): Rename to ...
16499 (pkglib_PROGRAMS): ... this. Update all users.
16500 (pkgdata_DATA): Rename to ...
16501 (pkglib_DATA): ... this. Update all users.
16502 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16503 (unicode.pff, ascii.pff): New rules.
16504 (all-local): Add `$(PKGDATA)' dependency.
16505 (install-local): Process `$(PKGDATA)'.
16506
16507 * util/update-grub_lib.in (font_path): Search for *.pff files in
16508 a few more locations, including `${pkgdata}'.
16509
57e57e31 165102007-12-23 Robert Millan <rmh@aybabtu.com>
16511
16512 Patch from Bean <bean123ch@gmail.com>:
16513 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16514 `size'.
16515
4bc72aa9 165162007-12-21 Bean <bean123ch@gmail.com>
16517
16518 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16519 (ntfscomp_mod_SOURCES): New variable.
16520 (ntfscomp_mod_CFLAGS): Likewise.
16521 (ntfscomp_mod_LDFLAGS): Likewise.
16522
16523 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
16524 (grub_probe_SOURCES): Likewise.
16525 (grub_emu_SOURCES): Likewise.
16526
16527 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16528 (grub_emu_SOURCES): Likewise.
16529
16530 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16531 (grub_emu_SOURCES): Likewise.
16532
16533 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16534 (grub_emu_SOURCES): Likewise.
16535
16536 * fs/ntfs.c (grub_ntfscomp_func): New variable.
16537 (read_run_list): Renamed to grub_ntfs_read_run_list.
16538 (decomp_nextvcn): Moved to ntfscomp.c.
16539 (decomp_getch): Likewise.
16540 (decomp_get16): Likewise.
16541 (decomp_block): Likewise.
16542 (read_block): Likewise.
16543 (read_data): Partially moved to ntfscomp.c.
16544 (fixup): Change unsigned to grub_uint16_t.
16545 (read_mft): Change unsigned long to grub_uint32_t.
16546 (read_attr): Likewise.
16547 (read_data): Likewise.
16548 (read_run_data): Likewise.
16549 (read_run_list): Likewise.
16550 (read_mft): Likewise.
16551
16552 * fs/ntfscomp.c: New file.
16553
16554 * include/grub/ntfs.h: New file.
16555
af680a87 165562007-12-16 Robert Millan <rmh@aybabtu.com>
16557
16558 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
16559 IDE disk check, since Linux is known to support 20 IDE disks.
16560 Reported by Colin Watson.
16561
84be7599 165622007-12-15 Bean <bean123ch@gmail.com>
16563
16564 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
16565 (lnxboot_img_SOURCES): New variable.
16566 (lnxboot_img_ASFLAGS): Likewise.
16567 (lnxboot_img_LDFLAGS): Likewise.
16568
16569 * boot/i386/pc/lnxboot.S: New file.
16570
6af9db01 165712007-11-24 Pavel Roskin <proski@gnu.org>
16572
16573 * configure.ac: Test if '--build-id=none' is supported by the
16574 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
16575 objcopy to generate incorrect binary files (binutils
16576 2.17.50.0.18-1 as shipped by Fedora 8).
16577 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
16578 linking, so that build ID doesn't break the test.
16579
7361cfe6 165802007-11-24 Pavel Roskin <proski@gnu.org>
16581
16582 * include/grub/i386/time.h: use "void" in the argument list
16583 of grub_cpu_idle().
16584 * include/grub/powerpc/time.h: Likewise.
16585 * include/grub/sparc64/time.h: Likewise.
16586
1593e10c 165872007-11-18 Christian Franke <franke@computer.org>
16588
16589 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
16590 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
16591 This fixes the problem that function keys did not work in grub-emu.
16592
3b8db1a8 165932007-11-18 Christian Franke <franke@computer.org>
16594
16595 * disk/host.c (grub_host_open): Remove attribute unused from
16596 name parameter. Add check for "host". This fixes the problem
16597 that grub-emu does not find partitions.
16598
2e29408d 165992007-11-18 Christian Franke <franke@computer.org>
16600
16601 * util/hostfs.c (is_dir): New function.
16602 (grub_hostfs_dir): Handle missing dirent.d_type case.
16603 (grub_hostfs_read): Add missing fseek().
16604 (grub_hostfs_label): Clear label pointer. This fixes a crash
16605 of grub-emu on "ls (host)".
16606
398cd047 166072007-11-18 Christian Franke <franke@computer.org>
16608
16609 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
16610 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
16611 to 64 bit boundary by default.
16612
c405c391 166132007-11-18 Bean <bean123ch@gmail.com>
16614
16615 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
16616 (hexdump_mod_SOURCES): New variable.
16617 (hexdump_mod_CFLAGS): Likewise.
16618 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 16619
c405c391 16620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16621
16622 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16623
16624 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16625
16626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16627
16628 * include/grub/hexdump.h: New file.
16629
16630 * commands/hexdump.c: New file.
16631
5cced7fd 166322007-11-10 Robert Millan <rmh@aybabtu.com>
16633
16634 * commands/i386/pc/play.c (beep_off): Switch order of arguments
16635 in grub_outb() calls.
16636 (beep_on): Likewise.
16637
8b714eb0 166382007-11-10 Christian Franke <franke@computer.org>
16639
16640 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
16641 (grub_menu_run): Likewise.
16642
ce0f1839 166432007-11-10 Robert Millan <rmh@aybabtu.com>
16644
16645 * include/grub/i386/efi/machine.h: New file.
16646 * include/grub/i386/linuxbios/machine.h: Likewise.
16647 * include/grub/i386/pc/machine.h: Likewise.
16648 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16649 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16650
16651 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
16652 (serial_hw_io_addr): New variable.
16653 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
16654 instead of `(unsigned short *) 0x400'.
16655
270c237d 166562007-11-10 Bean <bean123ch@gmail.com>
16657
16658 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16659
a87783bf 166602007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16661
16662 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
16663 (vga_mod_SOURCES): Added.
16664 (vga_mod_CFLAGS): Likewise.
16665 (vga_mod_LDFLAGS): Likewise.
16666
16667 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
16668 grub_outb() calls.
16669 (set_map_mask): Likewise.
16670 (set_read_map): Likewise.
16671 (set_read_address): Likewise.
16672 (vga_font): Removed variable.
16673 (get_vga_glyph): Removed function.
16674 (invalidate_char): Likewise.
16675 (write_char): Changed to use grub_font_get_glyph() for font
16676 information.
16677 (grub_vga_putchar): Likewise.
16678 (grub_vga_getcharwidth): Likewise.
16679
6433b448 166802007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16681
16682 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
16683 flags.
16684 (pxeboot_img_LDFLAGS): Likewise.
16685 (diskboot_img_LDFLAGS): Likewise.
16686 (kernel_img_LDFLAGS): Likewise.
16687
49178511 166882007-11-06 Robert Millan <rmh@aybabtu.com>
16689
16690 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
16691 in grub_outb() calls.
16692 (serial_hw_init): Likewise.
16693
53b052de 166942007-11-05 Robert Millan <rmh@aybabtu.com>
16695
16696 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
16697 spaces. Skip non-regular files.
16698
5ab33bba 166992007-11-05 Robert Millan <rmh@aybabtu.com>
16700
16701 * kern/disk.c (grub_disk_firmware_fini)
16702 (grub_disk_firmware_is_tainted): New variables.
16703
16704 * include/grub/disk.h (grub_disk_firmware_fini)
16705 (grub_disk_firmware_is_tainted): Likewise.
16706
16707 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
16708 (grub_disk_biosdisk_fini): ... to here.
16709 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
16710 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
16711 is set. Register grub_disk_biosdisk_fini() in
16712 `grub_disk_firmware_fini'.
16713
16714 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
16715 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
16716 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
16717 to finish existing firmware disk interface.
16718
16719 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
16720 (ata_mod_SOURCES): New variable.
16721 (ata_mod_CFLAGS): Likewise.
16722 (ata_mod_LDFLAGS): Likewise.
16723
0149ab7c 167242007-11-05 Robert Millan <rmh@aybabtu.com>
16725
16726 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
16727 (grub_ata_wait): Reimplement using grub_millisleep().
16728
16729 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
16730 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
16731
be7ac41e 167322007-11-03 Marco Gerards <marco@gnu.org>
16733
16734 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
16735 (CRTC_ADDR_PORT): New macro.
16736 (CRTC_DATA_PORT): Likewise.
16737 (CRTC_CURSOR): Likewise.
16738 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16739 (CRTC_CURSOR_ADDR_LOW): Likewise.
16740 (update_cursor): New function.
16741 (grub_console_real_putchar): Call `update_cursor'.
16742 (grub_console_gotoxy): Likewise.
16743 (grub_console_cls): Set the default color when clearing the
16744 screen.
16745 (grub_console_setcursor): Implemented.
16746
bb06ab2e 167472007-11-03 Marco Gerards <marco@gnu.org>
16748
16749 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
16750 become activate.
16751 (grub_ata_pio_write): Likewise.
16752
16753 (grub_atapi_identify): Wait after issuing an ATA command.
16754 (grub_atapi_packet): Likewise.
16755 (grub_ata_identify): Likewise.
16756 (grub_ata_readwrite): Likewise.
16757
cf8f780b 167582007-11-03 Marco Gerards <marco@gnu.org>
16759
16760 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
16761 (grub_ata_pio_write): Likewise.
16762 (grub_ata_readwrite): Use `grub_error', instead of
16763 returning `grub_errno'.
16764
ed649e54 167652007-11-03 Marco Gerards <marco@gnu.org>
16766
16767 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
16768 grub_ata_pio_write once for every single sector, instead of for
16769 multiple sectors.
16770
ca25d8f0 167712007-10-31 Robert Millan <rmh@aybabtu.com>
16772
16773 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
16774
16775 * conf/i386-linuxbios.rmk: New file.
16776
16777 * kern/i386/pc/hardware.c: Likewise.
16778 * term/i386/pc/at_keyboard.c: Likewise.
16779 * term/i386/pc/vga_text.c: Likewise.
16780
16781 * include/grub/i386/linuxbios/boot.h: Likewise.
16782 * include/grub/i386/linuxbios/console.h: Likewise.
16783 * include/grub/i386/linuxbios/init.h: Likewise.
16784 * include/grub/i386/linuxbios/kernel.h: Likewise.
16785 * include/grub/i386/linuxbios/loader.h: Likewise.
16786 * include/grub/i386/linuxbios/memory.h: Likewise.
16787 * include/grub/i386/linuxbios/serial.h: Likewise.
16788 * include/grub/i386/linuxbios/time.h: Likewise.
16789
16790 * kern/i386/linuxbios/init.c: Likewise.
16791 * kern/i386/linuxbios/startup.S: Likewise.
16792 * kern/i386/linuxbios/table.c: Likewise.
16793
e911ecc1 167942007-10-31 Marco Gerards <marco@gnu.org>
16795
16796 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
16797 (ata_mod_SOURCES): New variable.
16798 (ata_mod_CFLAGS): Likewise.
16799 (ata_mod_LDFLAGS): Likewise.
16800
16801 * disk/ata.c: New file.
16802
16803 * include/grub/disk.h (grub_disk_dev_id): Add
16804 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 16805
7f66d0e0 168062007-10-31 Robert Millan <rmh@aybabtu.com>
16807
16808 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
16809 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
16810
16811 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
16812 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
16813
16814 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
16815 `<grub/types.h>'.
16816
16817 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
16818
5cd7dd46 168192007-10-27 Robert Millan <rmh@aybabtu.com>
16820
3236ca65 16821 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 16822
2ebfc90f 168232007-10-22 Robert Millan <rmh@aybabtu.com>
16824
16825 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
16826 `"../realmode.S"'.
16827 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
16828
73fcb0f3 168292007-10-22 Robert Millan <rmh@aybabtu.com>
16830
16831 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
16832 (pkgdata_MODULES): Add `biosdisk.mod'.
16833 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
16834 variables.
16835
16836 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
16837 (grub_biosdisk_init): Replace with ...
16838 (GRUB_MOD_INIT(biosdisk)): ... this.
16839 (grub_biosdisk_fini): Replace with ...
16840 (GRUB_MOD_FINI(biosdisk)): ... this.
16841
16842 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
16843 (grub_machine_init): Remove call to grub_biosdisk_init().
16844 (grub_machine_fini): Remove call to grub_machine_fini().
16845
16846 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
16847
3381d274 168482007-10-22 Robert Millan <rmh@aybabtu.com>
16849
16850 * include/grub/time.h: New file.
16851 * include/grub/i386/time.h: Likewise.
16852 * include/grub/powerpc/time.h: Likewise.
16853 * include/grub/sparc64/time.h: Likewise.
16854
16855 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
16856 instances to ...
16857 (KERNEL_MACHINE_TIME_HEADER): ... this.
16858 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16859 instances to ...
16860 (KERNEL_MACHINE_TIME_HEADER): ... this.
16861 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16862 instances to ...
16863 (KERNEL_MACHINE_TIME_HEADER): ... this.
16864
16865 * kern/i386/efi/init.c: Include `<grub/time.h>'.
16866 (grub_millisleep): New function.
16867 * kern/i386/pc/init.c: Include `<grub/time.h>'.
16868 (grub_millisleep): New function.
16869 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
16870 Remove `grub/machine/time.h' include.
16871 (grub_millisleep): New function.
16872 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
16873 Remove `grub/machine/time.h' include.
16874 (grub_millisleep): New function.
16875
16876 * include/grub/misc.h (grub_div_roundup): New function.
16877
16878 * kern/misc.c: Include `<grub/time.h>'.
16879 (grub_millisleep_generic): New function.
16880
16881 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
16882 Add `time.h'.
16883 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
16884 Add `time.h'.
16885 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
16886 `machine/time.h'. Add `time.h'.
16887 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16888
a39a0312 168892007-10-21 Robert Millan <rmh@aybabtu.com>
16890
16891 * include/grub/misc.h (grub_max): New function.
16892
2aad70e2 168932007-10-21 Robert Millan <rmh@aybabtu.com>
16894
16895 * util/misc.c (grub_util_info): Call fflush() before returning.
16896
54b71c4b 168972007-10-20 Robert Millan <rmh@aybabtu.com>
16898
16899 * genmk.rb (Image): Copy `extra_flags' from here ...
16900 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
16901
16902 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
16903 to `argc' and `args' arguments.
16904
a979f513 169052007-10-17 Robert Millan <rmh@aybabtu.com>
16906
16907 * kern/i386/loader.S: New file.
16908
16909 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
16910 * kern/i386/loader.S (grub_linux_prot_size)... to here.
16911 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
16912 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
16913 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
16914 * kern/i386/loader.S (grub_linux_real_addr)... to here.
16915 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
16916 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
16917 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
16918 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
16919 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
16920 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
16921 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
16922 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
16923
16924 * kern/i386/realmode.S: New file.
16925
16926 * kern/i386/pc/startup.S (protstack): Moved from here ...
16927 * kern/i386/realmode.S (protstack)... to here.
16928 * kern/i386/pc/startup.S (gdt): Moved from here ...
16929 * kern/i386/realmode.S (gdt)... to here.
16930 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
16931 * kern/i386/realmode.S (prot_to_real)... to here.
16932
16933 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
16934 `kern/i386/realmode.S'.
16935
825fc8fd 169362007-10-17 Robert Millan <rmh@aybabtu.com>
16937
16938 * include/grub/i386/loader.h: New file.
16939
16940 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
16941 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16942 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16943 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16944 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
16945 * include/grub/i386/loader.h (grub_linux_prot_size)
16946 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16947 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16948 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16949 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
16950
16951 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
16952
e179b2f4 169532007-10-15 Robert Millan <rmh@aybabtu.com>
16954
16955 * normal/misc.c (grub_normal_print_device_info): Do not probe for
16956 filesystem when dev->disk is unset.
16957 Do probe for filesystem even when dev->disk->has_partitions is set.
16958 In case a filesystem is found, always report it.
16959 In case it isn't, if dev->disk->has_partitions is set, report that
16960 a partition table was found instead of reporting that no filesystem
16961 could be identified.
16962
5db82af6 169632007-10-12 Robert Millan <rmh@aybabtu.com>
16964
16965 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
16966 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
16967
68f6ac74 16968 * include/grub/types.h (grub_host_to_target16): New macro.
16969 (grub_host_to_target32): Likewise.
16970 (grub_host_to_target64): Likewise.
16971 (grub_target_to_host16): Likewise.
16972 (grub_target_to_host32): Likewise.
16973 (grub_target_to_host64): Likewise.
5db82af6 16974
16975 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16976 Renamed from to ...
16977 (GRUB_MOD_ALIGN): ...this. Update all users.
16978
68f6ac74 16979 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
16980 grub_host_to_target32.
16981 Replace grub_be_to_cpu32 with grub_target_to_host32.
16982 (load_modules): Likewise.
16983 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
16984 Replace grub_be_to_cpu32 with grub_target_to_host32.
16985 Replace grub_cpu_to_be16 with grub_host_to_target16.
16986 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 16987
3cf497cc 169882007-10-12 Robert Millan <rmh@aybabtu.com>
16989
16990 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
16991 * util/elf/grub-mkimage.c: ... here.
16992
16993 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
16994 `util/powerpc/ieee1275/grub-mkimage.c'.
16995
c8cc3692 169962007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 16997
c8cc3692 16998 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
16999 and make it easier to figure out.
17000 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17001 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17002 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
17003 leave us with less than HEAP_MIN_SIZE total heap.
17004 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 17005
5c58b791 170062007-10-03 Robert Millan <rmh@aybabtu.com>
17007
17008 * include/grub/i386/io.h: New file.
17009 * commands/i386/pc/play.c (inb): Removed.
17010 (outb): Removed.
17011 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17012 with grub_outb().
afcd2ef8 17013 * term/i386/pc/serial.c (inb): Removed.
17014 (outb): Removed.
17015 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17016 with grub_outb().
17017 * term/i386/pc/vga.c (inb): Removed.
17018 (outb): Removed.
17019 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17020 with grub_outb().
5c58b791 17021
1a477ed6 170222007-10-02 Robert Millan <rmh@aybabtu.com>
17023
17024 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
17025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17026 Reported by Marcin Kurek.
17027
6b5d80fa 170282007-09-07 Robert Millan <rmh@aybabtu.com>
17029
17030 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
17031 SmartFirmware version updates (as released by Sven Luther), and avoid
17032 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
17033 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
17034 known broken.
17035
5618afbf 170362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17037
17038 From Hitoshi Ozeki:
17039 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
17040 when merging two regions.
17041
6139dcd9 170422007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17043
508e39ee 17044 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
17045 * normal/completion.c (grub_normal_do_completion): Likewise.
17046 Reported by Hitoshi Ozeki.
17047
170482007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17049
6139dcd9 17050 Do not use devices at boot in chainloading.
f19dbdb7 17051
6139dcd9 17052 * loader/i386/pc/chainloader.c (boot_drive): New variable.
17053 (boot_part_addr): Likewise.
17054 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
17055 with BOOT_DRIVE and BOOT_PART_ADDR.
17056 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
17057 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
17058
38da6516 170592007-08-29 Robert Millan <rmh@aybabtu.com>
17060
17061 Patch from Simon Peter <dn.tlp@gmx.net>:
17062 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
17063 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
17064 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
17065 util/i386/pc/grub-setup.c_DEPENDENCIES.
17066 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
17067 util/grub-probe.c_DEPENDENCIES.
17068 * conf/powerpc-ieee1275.rmk: Likewise.
17069
29d0928c 170702007-08-28 Robert Millan <rmh@aybabtu.com>
17071
17072 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
17073 to tell grub-mkdevicemap how to name devices.
17074 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
17075 feature).
17076
17077 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
17078 util/i386/get_disk_name.c.
17079 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
17080 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
17081 util/ieee1275/get_disk_name.c.
17082
17083 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
17084
17085 * DISTLIST: Add util/i386/get_disk_name.c and
17086 util/ieee1275/get_disk_name.c.
17087
17088 * util/grub-mkdevicemap.c: Replace device naming logic with
17089 grub_util_get_disk_name() calls.
17090
5a0d3cca 170912007-08-20 Robert Millan <rmh@aybabtu.com>
17092
17093 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
17094 (so that it works for both plural and singular quantities).
17095
8b72db2f 170962007-08-05 Robert Millan <rmh@aybabtu.com>
17097
17098 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
17099 so that [xz] isn't taken into account when determining order.
17100
352466bf 171012007-08-02 Marco Gerards <marco@gnu.org>
17102
17103 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
17104 `include/multiboot2.h', `include/grub/elfload.h',
17105 `include/multiboot.h', `include/grub/multiboot.h',
17106 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
17107 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
17108 `kern/elf.c', `loader/multiboot_loader.c',
17109 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
17110 `loader/i386/pc/multiboot2.c',
17111 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
17112 `util/i386/pc/grub-mkrescue.in'. Remove
17113 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
17114 `include/grub/i386/pc/util/biosdisk.h' and
17115 `include/grub/powerpc/ieee1275/multiboot.h'.
17116
8f096014 171172007-08-02 Bean <bean123ch@gmail.com>
17118
17119 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
17120 (ntfs_mod_SOURCES): New variable.
17121 (ntfs_mod_CFLAGS): Likewise.
17122 (ntfs_mod_LDFLAGS): Likewise.
17123
17124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
17125 (grub_probe_SOURCES): Likewise.
17126 (grub_emu_SOURCES): Likewise.
17127
17128 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17129 (grub_emu_SOURCES): Likewise.
17130
17131 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17132 (grub_emu_SOURCES): Likewise.
f19dbdb7 17133
8f096014 17134 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
17135
17136 * fs/ntfs.c: New file.
17137
9959f7db 171382007-08-02 Bean <bean123ch@gmail.com>
17139
17140 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
17141
17142 * file.h (grub_file): Likewise.
17143
17144 * fshelp.h (grub_fshelp_read_file): Likewise.
17145
17146 * util/i386/pc/grub-setup.c (setup): Likewise.
17147 (save_first_sector): Likewise.
17148 (save_blocklists): Likewise.
f19dbdb7 17149
9959f7db 17150 * fs/affs.c (grub_affs_read_file): Likewise.
17151
17152 * fs/ext2.c (grub_ext2_read_file): Likewise.
17153
17154 * fs/fat.c (grub_fat_read_data): Likewise.
17155
17156 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
17157
17158 * fs/hfs.c (grub_hfs_read_file): Likewise.
17159
17160 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17161
17162 * fs/jfs.c (grub_jfs_read_file): Likewise.
17163
17164 * fs/minix.c (grub_minix_read_file): Likewise.
17165
17166 * fs/sfs.c (grub_sfs_read_file): Likewise.
17167
17168 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 17169
9959f7db 17170 * fs/xfs.c (grub_xfs_read_file): Likewise.
17171
17172 * command/blocklist.c (read_blocklist): Likewise.
17173 (print_blocklist): Likewise.
17174
0a203f83 171752007-08-02 Marco Gerards <marco@gnu.org>
17176
17177 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
17178 `util/hostfs.c'.
17179
17180 * disk/host.c: New file.
17181
17182 * util/hostfs.c: Likewise.
17183
17184 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
17185 return `GRUB_ERR_BAD_FS'.
17186 * fs/sfs.c (grub_sfs_mount): Likewise.
17187 * fs/xfs.c (grub_xfs_mount): Likewise.
17188
17189 * include/grub/disk.h (enum grub_disk_dev_id): Add
17190 `GRUB_DISK_DEVICE_HOST_ID'.
17191
17192 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
17193
e5dfe777 171942007-07-24 Jerone Young <jerone@gmail.com>
17195
f19dbdb7 17196 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 17197 modules for compilation.
17198 * conf/powerpc-ieee1275.rmk: Likewise.
17199
17200 * include/multiboot.h: Move multiboot definitions to one file. Rename
17201 many definitions to not get grub specific.
17202 * include/multiboot2.h: Create header with multiboot 2 definitions.
17203 * include/grub/multiboot.h: Header for grub specific function
17204 prototypes and definitions.
17205 * include/grub/multiboot2.h: Likewise.
17206 * include/grub/multiboot_loader.h: Likewise.
17207 * include/grub/i386/pc/multiboot.h: Removed.
17208 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
17209
17210 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
17211 and 2 to allow for one multiboot and module commands.
17212 * loader/multiboot2.c: Add multiboot2 functionality.
17213 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
17214 and definition names.
17215 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
17216 2 functions.
17217 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
17218 ieee1275 specific multiboot2 code.
17219
17220 * kern/i386/pc/startup.S: Change headers and definition names for
17221 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
17222
daf0f0ba 172232007-07-22 Robert Millan <rmh@aybabtu.com>
17224
17225 * geninitheader.sh: Process file specified in first parameter rather
17226 than hardcoding grub_modules_init.lst.
fe6b695a 17227 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 17228 than hardcoding grub_modules_init.h.
17229
17230 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
17231 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
17232 grub_probe_init.[ch] and grub_setup_init.[ch].
17233
17234 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
17235 grub_modules_init.h with grub_emu_init.h.
17236 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
17237 grub_probe_init.[ch] files.
17238 * conf/i386-efi.rmk: Likewise.
17239 * conf/i386-pc.rmk: Likewise.
17240 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
17241 grub_setup_init.[ch] files.
17242
17243 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
17244 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
17245 to initialize modules rather than a list of hardcoded functions.
17246 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
17247 grub_init_all() to initialize modules rather than a list of hardcoded
17248 functions.
17249
54cdc1cc 172502007-07-22 Robert Millan <rmh@aybabtu.com>
17251
17252 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17253 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
17254
ad0686cc 172552007-07-22 Robert Millan <rmh@aybabtu.com>
17256
17257 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17258 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
17259 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
17260 flag when running on SmartFirmware.
17261 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
17262 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
17263 was set.
17264
17265 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17266 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
17267 rather than decreasing it.
17268
17269 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
17270 there's not enough space to do it, fail in the same way as when it
17271 can't be done because there are no partitions.
17272
17273 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17274 when nvsetenv failed.
17275
969c02ec 172762007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17277
17278 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17279 because this rule is automatically generated.
17280 (grub-mkrescue): Removed for the same reason as above.
17281
5a79f472 172822007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17283
17284 Migrate to GNU General Public License Version 3.
f19dbdb7 17285
5a79f472 17286 * COPYING: Replaced with the plain text version of GPLv3.
17287
17288 * config.guess: Updated from gnulib.
17289 * config.sub: Likewise.
17290
17291 * geninit.sh: Output a GPLv3 copyright notice.
17292 * geninitheader.sh: Likewise.
17293 * genmodsrc.sh: Likewise.
17294 * gensymlist.sh.in: Likewise.
17295
17296 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17297 * boot/i386/pc/diskboot.S: Likewise.
17298 * boot/i386/pc/pxeboot.S: Likewise.
17299 * commands/blocklist.c: Likewise.
17300 * commands/boot.c: Likewise.
17301 * commands/cat.c: Likewise.
17302 * commands/cmp.c: Likewise.
17303 * commands/configfile.c: Likewise.
17304 * commands/echo.c: Likewise.
17305 * commands/help.c: Likewise.
17306 * commands/ls.c: Likewise.
17307 * commands/search.c: Likewise.
17308 * commands/terminal.c: Likewise.
17309 * commands/test.c: Likewise.
17310 * commands/videotest.c: Likewise.
17311 * commands/i386/cpuid.c: Likewise.
17312 * commands/i386/pc/halt.c: Likewise.
17313 * commands/i386/pc/play.c: Likewise.
17314 * commands/i386/pc/reboot.c: Likewise.
17315 * commands/i386/pc/vbeinfo.c: Likewise.
17316 * commands/i386/pc/vbetest.c: Likewise.
17317 * commands/ieee1275/halt.c: Likewise.
17318 * commands/ieee1275/reboot.c: Likewise.
17319 * commands/ieee1275/suspend.c: Likewise.
17320 * disk/loopback.c: Likewise.
17321 * disk/lvm.c: Likewise.
17322 * disk/raid.c: Likewise.
17323 * disk/efi/efidisk.c: Likewise.
17324 * disk/i386/pc/biosdisk.c: Likewise.
17325 * disk/ieee1275/ofdisk.c: Likewise.
17326 * font/manager.c: Likewise.
17327 * fs/affs.c: Likewise.
17328 * fs/ext2.c: Likewise.
17329 * fs/fat.c: Likewise.
17330 * fs/fshelp.c: Likewise.
17331 * fs/hfs.c: Likewise.
17332 * fs/hfsplus.c: Likewise.
17333 * fs/iso9660.c: Likewise.
17334 * fs/jfs.c: Likewise.
17335 * fs/minix.c: Likewise.
17336 * fs/sfs.c: Likewise.
17337 * fs/ufs.c: Likewise.
17338 * fs/xfs.c: Likewise.
17339 * hello/hello.c: Likewise.
17340 * include/grub/acorn_filecore.h: Likewise.
17341 * include/grub/arg.h: Likewise.
17342 * include/grub/bitmap.h: Likewise.
17343 * include/grub/boot.h: Likewise.
17344 * include/grub/cache.h: Likewise.
17345 * include/grub/device.h: Likewise.
17346 * include/grub/disk.h: Likewise.
17347 * include/grub/dl.h: Likewise.
17348 * include/grub/elfload.h: Likewise.
17349 * include/grub/env.h: Likewise.
17350 * include/grub/err.h: Likewise.
17351 * include/grub/file.h: Likewise.
17352 * include/grub/font.h: Likewise.
17353 * include/grub/fs.h: Likewise.
17354 * include/grub/fshelp.h: Likewise.
17355 * include/grub/gzio.h: Likewise.
17356 * include/grub/hfs.h: Likewise.
17357 * include/grub/kernel.h: Likewise.
17358 * include/grub/loader.h: Likewise.
17359 * include/grub/lvm.h: Likewise.
17360 * include/grub/misc.h: Likewise.
17361 * include/grub/mm.h: Likewise.
17362 * include/grub/net.h: Likewise.
17363 * include/grub/normal.h: Likewise.
17364 * include/grub/parser.h: Likewise.
17365 * include/grub/partition.h: Likewise.
17366 * include/grub/pc_partition.h: Likewise.
17367 * include/grub/raid.h: Likewise.
17368 * include/grub/rescue.h: Likewise.
17369 * include/grub/script.h: Likewise.
17370 * include/grub/setjmp.h: Likewise.
17371 * include/grub/symbol.h: Likewise.
17372 * include/grub/term.h: Likewise.
17373 * include/grub/terminfo.h: Likewise.
17374 * include/grub/tparm.h: Likewise.
17375 * include/grub/types.h: Likewise.
17376 * include/grub/video.h: Likewise.
17377 * include/grub/efi/api.h: Likewise.
17378 * include/grub/efi/chainloader.h: Likewise.
17379 * include/grub/efi/console.h: Likewise.
17380 * include/grub/efi/console_control.h: Likewise.
17381 * include/grub/efi/disk.h: Likewise.
17382 * include/grub/efi/efi.h: Likewise.
17383 * include/grub/efi/pe32.h: Likewise.
17384 * include/grub/efi/time.h: Likewise.
17385 * include/grub/i386/linux.h: Likewise.
17386 * include/grub/i386/setjmp.h: Likewise.
17387 * include/grub/i386/types.h: Likewise.
17388 * include/grub/i386/efi/kernel.h: Likewise.
17389 * include/grub/i386/efi/loader.h: Likewise.
17390 * include/grub/i386/efi/time.h: Likewise.
17391 * include/grub/i386/pc/biosdisk.h: Likewise.
17392 * include/grub/i386/pc/boot.h: Likewise.
17393 * include/grub/i386/pc/chainloader.h: Likewise.
17394 * include/grub/i386/pc/console.h: Likewise.
17395 * include/grub/i386/pc/init.h: Likewise.
17396 * include/grub/i386/pc/kernel.h: Likewise.
17397 * include/grub/i386/pc/loader.h: Likewise.
17398 * include/grub/i386/pc/memory.h: Likewise.
17399 * include/grub/i386/pc/multiboot.h: Likewise.
17400 * include/grub/i386/pc/serial.h: Likewise.
17401 * include/grub/i386/pc/time.h: Likewise.
17402 * include/grub/i386/pc/vbe.h: Likewise.
17403 * include/grub/i386/pc/vbeblit.h: Likewise.
17404 * include/grub/i386/pc/vbefill.h: Likewise.
17405 * include/grub/i386/pc/vbeutil.h: Likewise.
17406 * include/grub/i386/pc/vga.h: Likewise.
17407 * include/grub/ieee1275/ieee1275.h: Likewise.
17408 * include/grub/ieee1275/ofdisk.h: Likewise.
17409 * include/grub/powerpc/libgcc.h: Likewise.
17410 * include/grub/powerpc/setjmp.h: Likewise.
17411 * include/grub/powerpc/types.h: Likewise.
17412 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17413 * include/grub/powerpc/ieee1275/console.h: Likewise.
17414 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17415 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17416 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17417 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17418 * include/grub/powerpc/ieee1275/time.h: Likewise.
17419 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17420 * include/grub/sparc64/libgcc.h: Likewise.
17421 * include/grub/sparc64/setjmp.h: Likewise.
17422 * include/grub/sparc64/types.h: Likewise.
17423 * include/grub/sparc64/ieee1275/console.h: Likewise.
17424 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17425 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17426 * include/grub/sparc64/ieee1275/time.h: Likewise.
17427 * include/grub/util/biosdisk.h: Likewise.
17428 * include/grub/util/getroot.h: Likewise.
17429 * include/grub/util/lvm.h: Likewise.
17430 * include/grub/util/misc.h: Likewise.
17431 * include/grub/util/raid.h: Likewise.
17432 * include/grub/util/resolve.h: Likewise.
17433 * io/gzio.c: Likewise.
17434 * kern/device.c: Likewise.
17435 * kern/disk.c: Likewise.
17436 * kern/dl.c: Likewise.
17437 * kern/elf.c: Likewise.
17438 * kern/env.c: Likewise.
17439 * kern/err.c: Likewise.
17440 * kern/file.c: Likewise.
17441 * kern/fs.c: Likewise.
17442 * kern/loader.c: Likewise.
17443 * kern/main.c: Likewise.
17444 * kern/misc.c: Likewise.
17445 * kern/mm.c: Likewise.
17446 * kern/parser.c: Likewise.
17447 * kern/partition.c: Likewise.
17448 * kern/rescue.c: Likewise.
17449 * kern/term.c: Likewise.
17450 * kern/efi/efi.c: Likewise.
17451 * kern/efi/init.c: Likewise.
17452 * kern/efi/mm.c: Likewise.
17453 * kern/i386/dl.c: Likewise.
17454 * kern/i386/efi/init.c: Likewise.
17455 * kern/i386/efi/startup.S: Likewise.
17456 * kern/i386/pc/init.c: Likewise.
17457 * kern/i386/pc/lzo1x.S: Likewise.
17458 * kern/i386/pc/startup.S: Likewise.
17459 * kern/ieee1275/ieee1275.c: Likewise.
17460 * kern/powerpc/cache.S: Likewise.
17461 * kern/powerpc/dl.c: Likewise.
17462 * kern/powerpc/ieee1275/cmain.c: Likewise.
17463 * kern/powerpc/ieee1275/crt0.S: Likewise.
17464 * kern/powerpc/ieee1275/init.c: Likewise.
17465 * kern/powerpc/ieee1275/openfw.c: Likewise.
17466 * kern/sparc64/cache.S: Likewise.
17467 * kern/sparc64/dl.c: Likewise.
17468 * kern/sparc64/ieee1275/init.c: Likewise.
17469 * kern/sparc64/ieee1275/openfw.c: Likewise.
17470 * loader/efi/chainloader.c: Likewise.
17471 * loader/efi/chainloader_normal.c: Likewise.
17472 * loader/i386/efi/linux.c: Likewise.
17473 * loader/i386/efi/linux_normal.c: Likewise.
17474 * loader/i386/pc/chainloader.c: Likewise.
17475 * loader/i386/pc/chainloader_normal.c: Likewise.
17476 * loader/i386/pc/linux.c: Likewise.
17477 * loader/i386/pc/linux_normal.c: Likewise.
17478 * loader/i386/pc/multiboot.c: Likewise.
17479 * loader/i386/pc/multiboot_normal.c: Likewise.
17480 * loader/powerpc/ieee1275/linux.c: Likewise.
17481 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17482 * normal/arg.c: Likewise.
17483 * normal/cmdline.c: Likewise.
17484 * normal/command.c: Likewise.
17485 * normal/completion.c: Likewise.
17486 * normal/execute.c: Likewise.
17487 * normal/function.c: Likewise.
17488 * normal/lexer.c: Likewise.
17489 * normal/main.c: Likewise.
17490 * normal/menu.c: Likewise.
17491 * normal/menu_entry.c: Likewise.
17492 * normal/misc.c: Likewise.
17493 * normal/parser.y: Likewise.
17494 * normal/script.c: Likewise.
17495 * normal/i386/setjmp.S: Likewise.
17496 * normal/powerpc/setjmp.S: Likewise.
17497 * normal/sparc64/setjmp.S: Likewise.
17498 * partmap/acorn.c: Likewise.
17499 * partmap/amiga.c: Likewise.
17500 * partmap/apple.c: Likewise.
17501 * partmap/gpt.c: Likewise.
17502 * partmap/pc.c: Likewise.
17503 * partmap/sun.c: Likewise.
17504 * term/gfxterm.c: Likewise.
17505 * term/terminfo.c: Likewise.
17506 * term/efi/console.c: Likewise.
17507 * term/i386/pc/console.c: Likewise.
17508 * term/i386/pc/serial.c: Likewise.
17509 * term/i386/pc/vesafb.c: Likewise.
17510 * term/i386/pc/vga.c: Likewise.
17511 * term/ieee1275/ofconsole.c: Likewise.
17512 * util/biosdisk.c: Likewise.
17513 * util/console.c: Likewise.
17514 * util/genmoddep.c: Likewise.
17515 * util/getroot.c: Likewise.
17516 * util/grub-emu.c: Likewise.
17517 * util/grub-mkdevicemap.c: Likewise.
17518 * util/grub-probe.c: Likewise.
17519 * util/lvm.c: Likewise.
17520 * util/misc.c: Likewise.
17521 * util/raid.c: Likewise.
17522 * util/resolve.c: Likewise.
17523 * util/update-grub.in: Likewise.
17524 * util/update-grub_lib.in: Likewise.
17525 * util/grub.d/00_header.in: Likewise.
17526 * util/grub.d/10_hurd.in: Likewise.
17527 * util/grub.d/10_linux.in: Likewise.
17528 * util/i386/efi/grub-install.in: Likewise.
17529 * util/i386/efi/grub-mkimage.c: Likewise.
17530 * util/i386/pc/grub-install.in: Likewise.
17531 * util/i386/pc/grub-mkimage.c: Likewise.
17532 * util/i386/pc/grub-mkrescue.in: Likewise.
17533 * util/i386/pc/grub-setup.c: Likewise.
17534 * util/i386/pc/misc.c: Likewise.
17535 * util/powerpc/ieee1275/grub-install.in: Likewise.
17536 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
17537 * util/powerpc/ieee1275/misc.c: Likewise.
17538 * video/bitmap.c: Likewise.
17539 * video/video.c: Likewise.
17540 * video/i386/pc/vbe.c: Likewise.
17541 * video/i386/pc/vbeblit.c: Likewise.
17542 * video/i386/pc/vbefill.c: Likewise.
17543 * video/i386/pc/vbeutil.c: Likewise.
17544 * video/readers/tga.c: Likewise.
17545
3572d015 175462007-07-02 Robert Millan <rmh@aybabtu.com>
17547
17548 * conf/i386-efi.rmk: Replace obsolete reference to
17549 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
17550 with util/getroot.c.
17551 * conf/powerpc-ieee1275.rmk: Likewise.
17552 * conf/sparc64-ieee1275.rmk: Likewise.
17553
17554 * util/grub-emu.c (main): Fix unchecked pointer handling.
17555
2c2a681b 175562007-07-02 Robert Millan <rmh@aybabtu.com>
17557
17558 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
17559 invocation to fail, in order to support partition-less media.
17560
17561 * util/i386/pc/grub-install.in: Likewise.
17562
17563 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
17564 which fs or partmap modules are needed (akin to its sister scripts).
17565
17566 Also use grub-probe to get rid of unportable /proc/mounts check.
17567
17568 Print the same informational message that the other scripts do, before
fe6b695a 17569 exiting.
2c2a681b 17570
6193defe 175712007-06-23 Robert Millan <rmh@aybabtu.com>
17572
fe6b695a 17573 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 17574 a font file can be found and, if so, echo the GRUB path to it.
17575
17576 * util/update-grub.in: Handle multiple terminals depending on user
17577 input, platform availability and font file presence. Propagate
17578 variables of our findings to /etc/grub.d/ children.
17579
17580 * util/grub.d/00_header.in: Handle multiple terminals, based on
17581 environment setup by update-grub.
17582
eface1dc 175832007-06-23 Robert Millan <rmh@aybabtu.com>
17584
ba50d28f 17585 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 17586
bf697e28 175872007-06-21 Robert Millan <rmh@aybabtu.com>
17588
17589 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
17590 indicate end of data section in kernel image.
17591 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
17592 GRUB_KERNEL_MACHINE_DATA_END.
17593
17594 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
17595 space for it.
17596 * kern/i386/efi/startup.S: Likewise.
17597
17598 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
17599 during image generation. Implement --prefix option to override this
17600 patch.
17601 * util/i386/efi/grub-mkimage.c: Likewise.
17602
17603 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
17604 code to make path relative to its root into a separate function.
17605
17606 * util/i386/pc/grub-install.in: Use newly provided
17607 make_system_path_relative_to_its_root() to convert ${grubdir}, then
17608 pass the result to grub-install --prefix.
17609
baa574b4 176102007-06-13 Robert Millan <rmh@aybabtu.com>
17611
17612 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
17613 DEFAULT_DEVICE_MAP.
17614 * util/grub-emu.c: Use above definitions from misc.h instead of
17615 defining them.
17616 * util/grub-mkdevicemap.c: Likewise.
17617 * util/i386/pc/grub-setup.c: Likewise.
17618 * util/grub-probe.c: Likewise.
17619 (probe): Abort with grub_util_error() when either
17620 grub_guess_root_device or grub_util_get_grub_dev fails.
17621
0215dcbf 176222007-06-12 Robert Millan <rmh@aybabtu.com>
17623
17624 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
17625 "pager" assignment.
17626 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
17627 "pcdata".
17628 * util/grub-probe.c (probe): Likewise for "drive_name".
17629
8af2ab7b 176302007-06-11 Robert Millan <rmh@aybabtu.com>
17631
17632 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
17633 not just the cdrom one.
17634
59d31694 176352007-06-11 Robert Millan <rmh@aybabtu.com>
17636
17637 * util/i386/pc/grub-mkrescue.in: Add "set -e".
17638 Add --pkglibdir=DIR option to override pkglibdir.
17639 Mention --image-type=TYPE in help output.
17640 Fix --grub-mkimage (it was a no-op).
fe6b695a 17641 Abort gracefully when no parameter is given.
59d31694 17642
7ee367e4 176432007-06-11 Robert Millan <rmh@aybabtu.com>
17644
17645 * util/i386/pc/grub-mkrescue.in: New file.
17646 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
17647 * Makefile.in: Handle bin_SCRIPTS.
17648
29b0ed46 176492007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
17650
17651 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
17652 list of video modes.
17653
c0f90770 176542007-06-06 Robert Millan <rmh@aybabtu.com>
17655
17656 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
17657 file doesn't exist, or if it is in a filesystem grub can't read.
17658
17659 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17660 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17661 header comment to fit in 80 columns when the variables are resolved.
17662
17663 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
17664 could be identified by update-grub. Remove redundant check for
fe6b695a 17665 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 17666 handles that).
17667
fb36dc26 176682007-06-04 Robert Millan <rmh@aybabtu.com>
17669
17670 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
17671
17672 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
17673
17674 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
17675
0c68c93e 176762007-06-04 Robert Millan <rmh@aybabtu.com>
17677
17678 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
17679
17680 * include/grub/partition.h: Declare grub_apple_partition_map_init and
17681 grub_apple_partition_map_fini.
17682
17683 * util/biosdisk.c
17684 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
17685 to access >2 TiB disks).
17686
17687 Print disk->total_sectors with %llu instead of %lu, since this
17688 variable is always 64-bit (prevents wrong disk size from being displayed
17689 on either >2 TiB disk or big-endian CPU).
17690
17691 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
17692 into a generic case that supports all (sane) partition maps.
17693
17694 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
17695 breaks big-endian.
17696
17697 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
17698 and grub_apple_partition_map_fini() after that.
17699
0f23eb74 177002007-06-01 Robert Millan <rmh@aybabtu.com>
17701
17702 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
17703
17704 * util/grub.d/00_header.in: Only enable gfxterm when
17705 convert_system_path_to_grub_path() succeeds.
17706
42c71976 177072007-05-20 Robert Millan <rmh@aybabtu.com>
17708
17709 * util/update-grub_lib.in: New file.
17710 * DISTLIST: Add update-grub_lib.in.
17711 * conf/common.rmk: Generate update-grub_lib and install it in
17712 $(lib_DATA).
17713 * Makefile.in: Add install routine for $(lib_DATA).
17714
17715 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
17716 function provided by update-grub_lib to support arbitrary paths of
17717 unifont.pff.
17718 * util/update-grub.in: Use convert_system_path_to_grub_path() to
17719 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
17720
5beb2291 177212007-05-19 Robert Millan <rmh@aybabtu.com>
17722
17723 * commands/i386/cpuid.c: New module.
17724 * DISTLIST: Add it.
17725 * conf/i386-efi.rmk: Enable cpuid.mod.
17726 * conf/i386-pc.rmk: Likewise.
17727
7262eca1 177282007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17729
17730 * kern/disk.c (grub_disk_read): Check return value of
17731 grub_realloc().
17732
260ba823 177332007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17734
17735 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
17736 arrays.
17737 * disk/raid.c (grub_raid_open): Likewise.
17738
1ecb6cf2 177392007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17740
17741 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
17742 stack instead of on the heap.
17743
17744 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
17745 before doing a read on it.
17746
17747 * configure.ac: Only use -fno-stack-protector for the target
17748 environment.
f19dbdb7 17749
21c8cbb1 177502007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17751
17752 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
17753 __attribute_ ((unused)) to mode_type argument.
17754
17755 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 17756
21c8cbb1 17757 * kern/misc.c (memcmp): Fix prototype.
17758
17759 * include/grub/partition.h [GRUB_UTIL]
17760 (grub_gpt_partition_map_init): Add prototype.
17761 (grub_gpt_partition_map_fini): Likewise.
17762
17763 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
17764 at the right place.
17765
17766 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
17767 (grub_fat_read_data): Likewise.
17768 (grub_fat_find_dir): Likewise.
17769
17770 * font/manager.c (find_glyph): Make table a const.
17771 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 17772
849d55d3 177732007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
17774
17775 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
17776 code, first search for device in /dev/mapper, then in /dev.
17777 (grub_util_get_grub_dev): New function.
17778 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
17779 prototype.
17780 * util/grub-probe.c (probe): Remove check for RAID, call
17781 grub_util_get_grub_dev() instead of
17782 grub_util_biosdisk_get_grub_dev().
17783 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
17784 grub_util_biosdisk_get_grub_dev().
17785 * util/i386/pc/grub-setup.c (main): Likewise.
17786
8fff7c2f 177872007-05-16 Robert Millan <rmh@aybabtu.com>
17788
17789 * DISTLIST: Update for the latest changes.
17790 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
17791 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
17792 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
17793 grub/util/biosdisk.h.
17794 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
17795 grub/util/biosdisk.h.
17796
48e12b52 177972007-05-16 Robert Millan <rmh@aybabtu.com>
17798
17799 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
17800
46b9d128 178012007-05-16 Robert Millan <rmh@aybabtu.com>
17802
17803 * util/i386/efi/grub-install.in: New.
17804 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
17805 newly added grub-install.
17806 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
17807 include.
17808 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
17809 grub/util/biosdisk.h.
17810 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
17811 grub/util/biosdisk.h.
17812
2d1a40a9 178132007-05-16 Robert Millan <rmh@aybabtu.com>
17814
17815 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
17816 * include/grub/util/biosdisk.h: ... here.
17817 * util/i386/pc/biosdisk.c: Moved to ...
17818 * util/biosdisk.c: ... here.
17819 * util/i386/pc/getroot.c: Moved to ...
17820 * util/getroot.c: ... here.
17821 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
17822 * util/grub-mkdevicemap.c: ... here.
17823 * util/i386/pc/grub-probe.c: Moved to ...
17824 * util/grub-probe.c: ... here.
17825
9e26e3bc 178262007-05-15 Robert Millan <rmh@aybabtu.com>
17827
17828 * util/update-grub.in: Remove duplicated line in grub.cfg header
17829 message.
17830
57f96397 178312007-05-13 Robert Millan <rmh@aybabtu.com>
17832
17833 * util/update-grub.in: Fix a few assumptions about the devices holding
17834 /, /boot and /boot/grub being the same.
17835 * util/grub.d/00_header.in: Likewise.
17836 * util/grub.d/10_hurd.in: Likewise.
17837 * util/grub.d/10_linux.in: Likewise.
17838
17839 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
17840 patterns. Use that to define the `.old' suffix as older than `'.
17841
17842 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
17843
17844 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
17845 the grub.cfg header message.
17846
2e610d62 178472007-05-11 Robert Millan <rmh@aybabtu.com>
17848
17849 * util/update-grub.in: Create device.map if it doesn't already exist,
17850 before attempting to run grub-probe.
17851 Check for grub-probe and grub-mkdevicemap with the same code
17852 grub-install is using.
17853 Remove test mode.
17854
3f6a10ef 178552007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
17856
17857 * Makefile.in: Add the datarootdir autoconf variable.
17858
02e7b75e 178592007-05-09 Robert Millan <rmh@aybabtu.com>
17860
17861 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 17862 fail gracefully if dev->disk->partition == NULL.
02e7b75e 17863
75f396cc 178642007-05-07 Robert Millan <rmh@aybabtu.com>
17865
17866 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
17867 determine partition map module.
17868 * util/i386/pc/grub-install.in: Use this feature to decide which
17869 partition module to load, instead of hardcoding pc and gpt.
17870
da65cb36 178712007-05-07 Robert Millan <rmh@aybabtu.com>
17872
17873 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
17874 source directory differs from build directory.
17875
b57d6a91 178762007-05-05 Robert Millan <rmh@aybabtu.com>
17877
17878 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
17879 initialisation.
17880
509d00f1 178812007-05-05 Robert Millan <rmh@aybabtu.com>
17882
17883 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
17884
c48f23ef 178852007-05-05 Robert Millan <rmh@aybabtu.com>
17886
17887 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
17888 command-line arguments via ${GRUB_CMDLINE_LINUX}.
17889
20b97658 178902007-05-05 Robert Millan <rmh@aybabtu.com>
17891
17892 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
17893 (grub_probe_SOURCES): Likewise.
17894 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
17895 GPT and initialize dos_part and bsd_part accordingly.
17896 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
17897 install_bsd_part.
17898 (main): Activate gpt module for use during partition identification,
17899 and deactivate it afterwards.
17900 * util/i386/pc/grub-install.in: Add gpt module to core.img.
17901 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
17902 partition identification, and deactivate it afterwards.
17903
99123174 179042007-05-05 Robert Millan <rmh@aybabtu.com>
17905
17906 * term/i386/pc/console.c (grub_console_fini): Call
17907 grub_term_set_current() before grub_term_unregister().
17908
ebd97f6e 179092007-05-04 Robert Millan <rmh@aybabtu.com>
17910
17911 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
17912 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
17913 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
17914 and update-grub_DATA.
17915 * conf/common.rmk: Build and install update-grub components.
17916 * conf/common.mk: Regenerate.
17917 * util/update-grub.in: New. Core of update-grub.
17918 * util/grub.d/00_header.in: New. Generates grub.cfg header.
17919 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
17920 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
17921 * util/grub.d/README: New. Document grub.d directory layout.
17922
b06a264d 179232007-05-01 Robert Millan <rmh@aybabtu.com>
17924
17925 * util/grub-emu.c: Move initialization functions
17926 grub_util_biosdisk_init() and grub_init_all() before
17927 grub_util_biosdisk_get_grub_dev(), which relies on them.
17928
41f0050e 179292007-04-19 Robert Millan <rmh@aybabtu.com>
17930
17931 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
17932 it is used later.
17933
04582bb3 179342007-04-18 Jerone Young <jerone@gmail.com>
17935
f19dbdb7 17936 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 17937 stanza.
17938
08db4632 179392007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 17940
08db4632 17941 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
17942 continue on and look for device node with real device name.
17943
801b76be 179442007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 17945
fe6b695a 17946 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 17947 ability.
17948 * Makefile.in: Add autoconf package transformation code.
17949 * util/i386/pc/grub-install.in: Likewise.
17950 * util/powerpc/ieee1275/grub-install.in: Likewise.
17951
6795c4e1 179522007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
17953
17954 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
17955 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
17956 (EXT2_REVISION): Likewise.
17957 (EXT2_INODE_SIZE): Likewise.
17958 (struct grub_ext2_block_group): Added a missing member
17959 "used_dirs".
17960 (grub_ext2_read_inode): Divide by the inode size in a superblock
17961 instead of 128 to obtain INODES_PER_BLOCK.
17962 Use the macro EXT2_INODE_SIZE instead of directly using
17963 SBLOCK->INODE_SIZE.
17964
d70af616 179652007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
17966
17967 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
17968 superblock instead of the structure size to compute an
17969 offset. This fixes the problem that GRUB could not read a
17970 filesystem when inode size is different from 128-byte.
17971
3b801603 179722007-03-05 Marco Gerards <marco@gnu.org>
17973
17974 * normal/main.c (read_config_file): When "menu" is not set, create
17975 an initial context.
17976
4785bfe4 179772007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17978
17979 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
17980 (HEAP_LIMIT): New macro.
17981 (grub_claim_heap): Claim memory up to `heaplimit'.
17982
a0cbb023 179832007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17984
17985 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
17986 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
17987 (_start): Likewise.
17988 (grub_arch_modules_addr): Return address after `_end'.
17989 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
17990 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
17991 (add_segments): Calculate `_end' from phdr size and location.
17992 (ALIGN_UP): Moved to ...
17993 * include/grub/misc.h: here.
17994 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17995 New macro.
17996 (GRUB_IEEE1275_MODULE_BASE): Removed.
17997
fd7d8eba 179982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17999
18000 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18001 loop boundary.
18002
9b09e6fc 180032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18004
18005 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
18006 All users updated.
18007 (grub_elf64_load_hook_t): Likewise.
18008 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
18009 debug output.
18010
3ce27299 180112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18012
18013 * kern/mm.c: Update copyright.
18014 (grub_mm_debug): Correct syntax error.
18015 (grub_mm_dump_free): New function.
18016 (grub_debug_free): Call `grub_free'.
18017 * include/grub/mm.h: Update copyright.
18018 (grub_mm_dump_free): Add declaration.
18019
077d5fee 180202007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18021
18022 * include/grub/ieee1275/ieee1275.h: Update copyright.
18023 * kern/powerpc/ieee1275/init.c: Likewise.
18024 * kern/powerpc/ieee1275/openfw.c: Likewise.
18025
18026 * loader/powerpc/ieee1275/linux.c: Likewise.
18027 * include/grub/elfload.h: Likewise.
18028 * kern/elf.c: Likewise.
18029 (grub_elf32_load): Pass `base' and `size' parameters. Update all
18030 callers.
18031 (grub_elf64_load): Likewise.
18032 (grub_elf32_load_segment): Move to a nested function.
18033 (grub_elf64_load_segment): Likewise.
18034
dc946850 180352007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18036
18037 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
18038 prototype.
18039 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
18040 (grub_heap_len): Likewise.
18041 (HEAP_SIZE): New macro.
18042 (grub_claim_heap): New function.
18043 (grub_machine_init): Don't claim heap directly. Call
18044 `grub_claim_heap'.
18045 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
18046 (grub_available_iterate): New function.
18047
baa2a121 180482007-02-03 Thomas Schwinge <tschwinge@gnu.org>
18049
18050 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
18051 * configure.ac: Use it for testing the HOST and TARGET compilers.
18052
4fe9862e 180532006-12-13 Thomas Schwinge <tschwinge@gnu.org>
18054
18055 * Makefile.in (enable_grub_emu): New variable.
18056 * configure.ac (--enable-grub-emu): New option.
18057 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
18058 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
18059 * conf/i386-pc.rmk: Likewise.
18060 * conf/powerpc-ieee1275.rmk: Likewise.
18061 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
18062
a8aa5762 180632006-12-12 Marco Gerards <marco@gnu.org>
18064
18065 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
18066
18067 * kern/env.c (grub_env_unset): Don't free the member `value' when
18068 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
18069 pointer.
18070
18071 * normal/main.c (current_menu): Removed.
18072 (free_menu): Unset the `menu' environment variable.
18073 (grub_normal_menu_addentry): Make use of the environment variable
18074 `menu', instead of using the global `current_menu'. Allocate
18075 memory for the sourcecode of this entry.
18076 (read_config_file): New argument `nested', changed all callers.
18077 Only in the case of a new context, initialize a new menu. Set the
18078 `menu' environment variable.
18079 (grub_normal_execute): Don't set and unset the environment
18080 variable `menu' here anymore. Only free the menu when leaving the
18081 context.
18082
18083 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
18084 leak.
18085
957b3a3e 180862006-12-11 Marco Gerards <marco@gnu.org>
18087
18088 * normal/menu_entry.c (run): Fix off by one bug so the last line
18089 is executed. Move the loader check to outside the loop.
18090
ef875714 180912006-12-08 Hollis Blanchard <hollis@penguinppc.org>
18092
18093 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
18094
4e739985 180952006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
18096
18097 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
18098 the number of sectors. Reported by Andrey Shuvikov
18099 <mr_hyro@yahoo.com>.
f19dbdb7 18100
790707f2 181012006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
18102
18103 * kern/disk.c (grub_disk_read): When there is a read error, always
18104 try to read only the necessary data.
f19dbdb7 18105
790707f2 18106 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
18107 disk/raid.c.
18108 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
18109 prototype.
18110 [GRUB_UTIL] (grub_raid_fini): Likewise.
18111 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 18112 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 18113 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
18114 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
18115 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
18116 and grub_raid_fini().
f19dbdb7 18117
03e58196 181182006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
18119
18120 * include/grub/types.h (__unused): Rename to UNUSED.
18121 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
18122 (grub_elf64_size): Likewise.
f19dbdb7 18123
ae4f23bf 181242006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18125
18126 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
18127 grub_error_push and grub_error_pop in the error-handling path.
18128 (grub_elf32_load_segment): Only call grub_file_read with non-zero
18129 length.
18130
2166cc83 181312006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18132
18133 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
18134 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18136 (kernel_elf_SOURCES): Likewise.
18137 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
18138 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
18139 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18140 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18141 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
18142 (elf_mod_SOURCES): New variable.
18143 (elf_mod_CFLAGS): Likewise.
18144 (elf_mod_LDFLAGS): Likewise.
18145 * include/grub/types.h (__unused): New macro.
18146 * include/grub/elfload.h: New file.
18147 * kern/elf.c: Likewise.
18148 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
18149 (ELF32_LOADMASK): New macro.
18150 (ELF64_LOADMASK): Likewise.
18151 (vmlinux): Removed.
18152 (grub_linux_load32): New function.
18153 (grub_linux_load64): Likewise.
18154 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
18155 Use grub_elf_t instead of grub_file_t.
18156
a09d5aa5 181572006-11-02 Hollis Blanchard <hollis@penguinppc.org>
18158
18159 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
18160 `catch_result' to struct set_color_args.
18161
d976fc51 181622006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18163
18164 * normal/menu.c: Include grub/script.h.
18165 * normal/menu_entry.c: Likewise.
18166 * include/grub/normal.h: Do not include grub/script.h.
18167
67507549 181682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18169
18170 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
18171
69203a99 181722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18173
18174 * kern/disk.c (grub_disk_open): Print debug messages when opening a
18175 disk.
18176 (grub_disk_close): Print debug messages when closing a disk.
18177 (grub_disk_read): Print debug messages when disk read fails.
18178 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
18179 filesystem type.
18180 * kern/partition.c: Include misc.h.
18181 (grub_partition_iterate): Print debug messages when detecting
18182 partition type.
18183
e2b8278c 181842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18185
18186 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
18187 is negative.
18188 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
18189
97b2f2ff 181902006-10-26 Hollis Blanchard <hollis@penguinppc.org>
18191
18192 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18193 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
18194
6555d655 181952006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
18196
18197 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
18198 instead of sizeof(lv). Patch by Michael Guntsche.
18199
4d42b77f 182002006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
18201
18202 * disk/lvm.c: Rename VGS to VG_LIST.
18203 (grub_lvm_iterate): Change VGS->LV to VG-LV.
18204 (grub_lvm_open): Likewise.
18205 Thanks to Michael Guntsche for finding this bug.
18206
5d74d927 182072006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18208
18209 * configure.ac (AC_INIT): Bumped to 1.95.
18210
a1bb27e4 182112006-10-14 Robert Millan <rmh@aybabtu.com>
18212
18213 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
18214 with "/dev/.static/dev/md".
18215
e0994b8b 182162006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18217
18218 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
18219 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
18220 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
18221 DRIVE_NAME are always freed.
18222
18223 * util/i386/pc/biosdisk.c (make_device_name): Add one into
18224 DOS_PART, as a DOS partition is counted from one instead of zero
18225 now. Reported by Robert Millan.
18226
ddd5cee9 182272006-10-14 Robert Millan <rmh@aybabtu.com>
18228
18229 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
18230 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
18231 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
18232 string returned by grub_guess_root_device.
18233 * util/i386/pc/grub-setup.c: Likewise.
18234 * util/i386/pc/grub-probefs.c: Likewise.
18235
18236 * util/i386/pc/grub-probefs.c: Rename to ...
18237 * util/i386/pc/grub-probe.c: ... this.
18238 * DISTLIST: Remove grub-probefs, add grub-probe.
18239 * conf/i386-efi.rmk: Likewise.
18240 * conf/i386-pc.rmk: Likewise.
18241 * util/i386/pc/grub-install.in: Likewise.
18242
18243 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
18244 choose which information we want to print.
18245
2b002173 182462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18247
18248 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
18249 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
18250 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
18251 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
18252 video/readers/tga.c and video/i386/pc/vbeutil.c.
18253
182542006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
18255
18256 Added support for RAID and LVM.
f19dbdb7 18257
2b002173 18258 * disk/lvm.c: New file.
18259 * disk/raid.c: Likewise.
18260 * include/grub/lvm.h: Likewise.
f19dbdb7 18261 * include/grub/raid.h: Likewise.
2b002173 18262 * include/grub/util/lvm.h: Likewise.
18263 * include/grub/util/raid.h: Likewise.
18264 * util/lvm.c: Likewise.
18265 * util/raid.c: Likewise.
18266
18267 * include/grub/disk.h (grub_disk_dev_id): Add
18268 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
18269 (grub_disk_get_size): New prototype.
18270 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
18271 returns a partition.
18272 (grub_disk_get_size): New function.
f19dbdb7 18273
2b002173 18274 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18275 verbatim if grub_install_dos_part is -2.
18276
18277 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18278 and LVM devices.
18279
18280 * util/i386/pc/grub-setup.c (setup): New argument
18281 MUST_EMBED. Force embedding of GRUB when the argument is
18282 true. Close FILE before returning.
18283 (main): Add support for RAID and LVM.
f19dbdb7 18284
2b002173 18285 * conf/common.rmk: Add RAID and LVM modules.
18286 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18287 util/lvm.c.
18288 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18289
18290 * kern/misc.c (grub_strstr): New function.
18291 * include/grub/misc.h (grub_strstr): New prototype.
18292
050548d0 182932006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18294
18295 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18296
da849d2d 182972006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18298
18299 * kern/misc.c (grub_strtoull): Guess the base only if not
18300 specified.
18301
97b2f2ff 183022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 18303
18304 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18305 PowerMac support.
18306
97b2f2ff 183072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 18308
18309 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18310
18311 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18312 Remove `flags' argument. All callers changed.
18313 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18314 (IEEE1275_IHANDLE_INVALID): New variable.
18315 (IEEE1275_CELL_INVALID): New variable.
18316 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18317 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18318 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18319 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18320 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18321 codes from Open Firmware. All callers updated.
18322 (grub_ieee1275_next_property): Directly return Open Firmware return
18323 code.
18324 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18325 Standardize error checking from `grub_ieee1275_get_property'.
18326 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18327 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18328
97b2f2ff 183292006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18330
18331 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18332 `instance_to_package_args' to `instance_to_path_args'.
18333
18334 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18335 `grub_ieee1275_chosen'.
18336
18337 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18338 `grub_ieee1275_interpret'.
18339
97b2f2ff 183402006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18341
18342 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18343
97b2f2ff 183442006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18345
18346 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18347 (__cmpdi): Likewise.
18348
18349 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18350 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18351 `grub_ssize_t'.
18352
02bb8acc 18353 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 18354
18355 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18356 to type `grub_ssize_t'.
18357 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18358
7f9a8531 183592006-09-22 Marco Gerards <marco@gnu.org>
18360
18361 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18362 newlines.
18363
b5ef1102 183642006-09-22 Marco Gerards <marco@gnu.org>
18365
18366 * commands/echo.c: New file.
18367
18368 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18369
18370 * conf/common.rmk (echo_mod_SOURCES): New variable.
18371 (echo_mod_CFLAGS): Likewise.
18372 (echo_mod_LDFLAGS): Likewise.
18373
2cff3677 183742006-09-22 Marco Gerards <marco@gnu.org>
18375
18376 * normal/main.c (get_line): Malloc memory instead of using
18377 preallocated memory. Removed the arguments `cmdline' and
18378 `max_len'. Updated all callers.
18379
6ba4688b 183802006-09-22 Marco Gerards <marco@gnu.org>
18381
18382 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18383 (normal_mod_DEPENDENCIES): Likewise.
18384
18385 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18386 (normal_mod_DEPENDENCIES): Likewise.
18387
18388 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18389
e02ac02c 183902006-09-22 Johan Rydberg <jrydberg@gnu.org>
18391
18392 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18393 programs.
18394 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18395 (normal_mod_DEPENDENCIES): Likewise.
18396 * conf/i386-pc.mk: Regenerate.
18397 * conf/i386-efi.mk: Likewise
18398 * conf/common.mk: Likewise.
18399 * conf/powerpc-ieee1275.mk: Likewise.
18400 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18401
8d252e44 184022006-09-22 Robert Millan <rmh@aybabtu.com>
18403
18404 Sync with i386 version.
18405 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18406 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18407
209bf7ac 184082006-09-21 Robert Millan <rmh@aybabtu.com>
18409
18410 Import from GRUB Legacy (lib/device.c):
18411 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18412 (init_device_map) [__linux__]: Add support for I2O devices.
18413
6b146090 184142006-09-14 Marco Gerards <marco@gnu.org>
18415
18416 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18417 `-melf_i386'.
18418
e38600a8 184192006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 18420
18421 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18422 /boot/grub/*.lst.
78fa1790 18423
2952da5d 18424 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 18425
2952da5d 18426 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18427 before adding it to device.map.
18428
01b82a64 184292006-08-15 Johan Rydberg <jrydberg@gnu.org>
18430
fe6b695a 18431 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 18432 compiles a file; using the -MD option.
18433 * conf/common.mk: Regenerate.
18434 * conf/i386-pc.mk: Likewise.
18435 * conf/i386-efi.mk: Likewise.
18436 * conf/powerpc-ieee1275.mk: Likewise.
18437 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18438
1064790d 184392006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18440
18441 Move the prototypes of grub_setjmp and grub_longjmp to
18442 cpu/setjmp.h, so that each architecture may specify different
18443 attributes.
f19dbdb7 18444
1064790d 18445 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
18446 (grub_longjmp): Likewise.
18447 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
18448 (grub_longjmp): Likewise.
18449 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
18450 (grub_longjmp): Likewise.
18451
18452 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
18453 [!GRUB_UTIL] (grub_longjmp): Removed.
18454
29dda3ed 184552006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
18456
18457 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
18458 "color!" method does not return any value.
18459
ad2a06ed 184602006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18461
18462 * include/grub/bitmap.h: New file.
18463
18464 * include/grub/i386/pc/vbeutil.h: Likewise.
18465
18466 * video/bitmap.c: Likewise.
18467
18468 * video/readers/tga.c: Likewise.
18469
18470 * video/i386/pc/vbeutil.c: Likewise.
18471
18472 * commands/videotest.c: Code cleanup and updated to reflect to new
18473 video API.
18474
18475 * term/gfxterm.c: Likewise.
18476
18477 * video/video.c: Likewise.
18478
18479 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18480 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18481 (bitmap_mod_SOURCES): New entry.
18482 (bitmap_mod_CFLAGS): Likewise.
18483 (bitmap_mod_LDFLAGS): Likewise.
18484 (tga_mod_SOURCES): Likewise.
18485 (tga_mod_CFLAGS): Likewise.
18486 (tga_mod_LDFLAGS): Likewise.
18487
18488 * include/grub/video.h (grub_video_blit_operators): New enum type.
18489 (grub_video_render_target): Changed as forward declaration and moved
18490 actual definition to be video driver specific.
18491 (grub_video_adapter.blit_bitmap): Added blitting operator.
18492 (grub_video_adapter.blit_render_target): Likewise.
18493 (grub_video_blit_bitmap): Likewise.
18494 (grub_video_blit_render_target): Likewise.
18495
18496 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18497 driver specific render target definition.
18498 (grub_video_vbe_map_rgba): Added driver internal helper.
18499 (grub_video_vbe_unmap_color): Updated to use
18500 grub_video_i386_vbeblit_info.
18501 (grub_video_vbe_get_video_ptr): Likewise.
18502
18503 * include/grub/i386/pc/vbeblit.h
18504 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18505 grub_video_i386_vbeblit_info.
18506 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18507 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18508 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18509 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18510 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18511 (grub_video_i386_vbeblit_index_index): Likewise.
18512 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18513 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18514 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18515 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18516 operator.
18517 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18518 operator.
18519
18520 * video/i386/pc/vbeblit.c: Updated to reflect changes on
18521 include/grub/i386/pc/vbeblit.h.
18522
18523 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
18524 Updated to use grub_video_i386_vbeblit_info.
18525 (grub_video_i386_vbefill_R8G8B8): Likewise.
18526 (grub_video_i386_vbefill_index): Likewise.
18527 (grub_video_i386_vbefill): Added generic filler.
18528
18529 * video/i386/pc/vbefill.c: Updated to reflect changes on
18530 include/grub/i386/pc/vbefill.h.
18531
18532 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
18533 grub_video_i386_vbeblit_info.
18534 (grub_video_vbe_unmap_color): Likewise.
18535 (grub_video_vbe_blit_glyph): Likewise.
18536 (grub_video_vbe_scroll): Likewise.
18537 (grub_video_vbe_draw_pixel): Removed function.
18538 (grub_video_vbe_get_pixel): Likewise.
18539 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
18540 updated code to use it.
18541 (common_blitter): Added common blitter for render target and bitmap.
18542 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
18543 (grub_video_vbe_blit_render_target): Likewise.
18544
bc8c036d 185452006-07-30 Johan Rydberg <jrydberg@gnu.org>
18546
18547 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
18548 is in text mode if there is no console control protocol instance
18549 available.
18550
684a8eff 185512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18552
18553 * include/grub/video.h: Code cleanup.
18554
18555 * include/grub/i386/pc/vbe.h: Likewise.
18556
18557 * video/i386/pc/vbe.c: Likewise.
18558
18559 * video/i386/pc/vbeblit.c: Likewise.
18560
18561 * video/i386/pc/vbefill.c: Likewise.
18562
18563 * video/video.c: Likewise. Also added more comments.
18564
5915059b 185652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18566
18567 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
18568 (struct grub_biosdisk_dap): Likewise.
18569
18570 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
18571 linkage settings for all functions.
18572
90ce5d56 185732006-07-12 Marco Gerards <marco@gnu.org>
18574
18575 * configure.ac (--enable-mm-debug): Fix typo.
18576
18577 * genkernsyms.sh.in: Use proper quoting for `CC'.
18578
43e7f879 185792006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
18580
18581 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
18582 (normal_mod_ASFLAGS): Remove "-m32".
18583
4889bdec 185842006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
18585
18586 * util/misc.c: Include config.h.
18587 [!HAVE_MEMALIGN]: Do not include malloc.h.
18588 (grub_memalign): Use posix_memalign, if present. Then, use
18589 memalign, if present. Otherwise, emit an error.
18590
18591 * util/grub-emu.c: Do not include malloc.h.
18592
18593 * include/grub/util/misc.h: Include unistd.h. This is required for
18594 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
18595 D. Eades III <hde@foobar-qux.org>.
18596
18597 * configure.ac (AC_GNU_SOURCE): Added.
18598 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
18599 type.
18600
fd39d4da 186012006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
18602
18603 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
18604 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
18605
b786f3b5 186062006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
18607
18608 * include/grub/types.h (grub_host_addr_t): Rename to
18609 grub_target_addr_t.
18610 (grub_host_off_t): Rename to grub_target_off_t.
18611 (grub_host_size_t): Rename to grub_target_size_t.
18612 (grub_host_ssize_t): Rename to grub_target_ssize_t.
18613 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
18614
18615 * include/grub/kernel.h (struct grub_module_header): Change type
18616 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
18617 (grub_module_info): Likewise.
f19dbdb7 18618
051988bb 186192006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18620
18621 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
18622 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
18623 Velazquez <jesus.velazquez@gmail.com>.
18624
deae281b 186252006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18626
18627 Count partitions from 1 instead of 0 in the string representation
18628 of partitions. Still use 0-based internally.
f19dbdb7 18629
deae281b 18630 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
18631 (sun_partition_map_iterate): Use grub_partition_t instead of
18632 struct grub_partition *. Cast DESC->START_CYLINDER to
18633 grub_uint64_t after converting the endian.
18634 (sun_partition_map_probe): Subtract 1 for PARTNUM.
18635 (sun_partition_map_get_name): Add 1 to P->INDEX.
18636
18637 * partmap/pc.c (grub_partition_parse): Subtract 1 for
18638 PCDATA->DOS_PART.
18639 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
18640
18641 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
18642 zero instead of one.
18643 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
18644 (gpt_partition_map_get_name): Add 1 into P->INDEX.
18645
18646 * partmap/apple.c (apple_partition_map_iterate): Change the type
18647 of POS to unsigned.
18648 (apple_partition_map_probe): Subtract 1 for PARTNUM.
18649 (apple_partition_map_get_name): Add 1 into P->INDEX.
18650
18651 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
18652 of POS to unsigned.
18653 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
18654 calculate the offset of a partition.
18655 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
18656 (amiga_partition_map_get_name): Add 1 into P->INDEX.
18657
18658 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18659 SECTOR to grub_disk_addr_t.
18660 (acorn_partition_map_iterate): Likewise.
18661 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
18662 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
18663 top.
18664 (acorn_partition_map_get_name): Add 1 into P->INDEX.
18665
18666 * kern/i386/pc/init.c (make_install_device): Add 1 into
18667 GRUB_INSTALL_DOS_PART.
18668
18669 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
18670 conditional.
18671
524a1e6a 186722006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18673
18674 Clean up the code to support 64-bit addressing in disks and
18675 files. This change is not enough for filesystems yet.
f19dbdb7 18676
524a1e6a 18677 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
18678 type of "start" to grub_uint64_t.
18679 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
18680 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
18681 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
18682 convert addresses.
18683
18684 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
18685 to grub_disk_addr_t.
18686
18687 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
18688 string.
18689
18690 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18691
18692 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
18693 to char *.
18694
18695 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
18696
18697 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
18698
18699 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
18700
18701 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
18702 to grub_off_t, to detect an error from grub_file_seek.
18703 (grub_multiboot_load_elf32): Likewise.
18704
18705 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
18706 maximum unsigned long value when an overflow is detected.
18707 (grub_strtoull): New function.
18708 (grub_divmod64): Likewise.
18709 (grub_lltoa): use grub_divmod64.
18710
18711 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
18712 grub_disk_addr_t.
18713 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
18714 the pointer to next character. Use grub_strtoull instead of
18715 grub_strtoul.
18716 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
18717 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
18718 respectively.
18719
fe6b695a 18720 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 18721 return value is signed.
18722 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
18723 test if OFFSET is less than zero, as OFFSET is unsigned now.
18724
18725 * kern/disk.c (struct grub_disk_cache): Change the type of
18726 "sector" to grub_disk_addr_t.
18727 (grub_disk_cache_get_index): Change the type of SECTOR to
18728 grub_disk_addr_t. Calculate the hash with SECTOR casted to
18729 unsigned after shifting.
18730 (grub_disk_cache_invalidate): Change the type of SECTOR to
18731 grub_disk_addr_t.
18732 (grub_disk_cache_unlock): Likewise.
18733 (grub_disk_cache_store): Likewise.
18734 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
18735 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
18736 grub_disk_addr_t and grub_uint64_t, respectively.
18737 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
18738 body, as the value of OFFSET is tweaked by
18739 grub_disk_check_range. Change the types of START_SECTOR, LEN and
18740 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
18741 respectively.
18742 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
18743 body, as the value of OFFSET is tweaked by
18744 grub_disk_check_range. Change the types of LEN and N to
18745 grub_size_t.
18746
18747 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
18748 and "saved_offset" to grub_off_t.
18749 (test_header): Cast BUF to char *.
18750 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
18751 to char *.
18752 (grub_gzio_read): Change the types of OFFSET and SIZE to
18753 grub_off_t and grub_size_t, respectively.
18754
18755 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
18756 Removed.
18757 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
18758 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
18759 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
18760 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
18761 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
18762
18763 * include/grub/types.h (grub_off_t): Unconditionally set to
18764 grub_uint64_t.
18765 (grub_disk_addr_t): Changed to grub_uint64_t.
18766
18767 * include/grub/partition.h (struct grub_partition): Change the
18768 types of "start", "len" and "offset" to grub_disk_addr_t,
18769 grub_uint64_t and grub_disk_addr_t, respectively.
18770 (grub_partition_get_start): Return grub_disk_addr_t.
18771 (grub_partition_get_len): Return grub_uint64_t.
18772
18773 * include/grub/misc.h (grub_strtoull): New prototype.
18774 (grub_divmod64): Likewise.
18775
18776 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
18777 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
18778 grub_off_t, respectively.
18779 All callers and references changed.
18780
18781 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
18782 grub_size_t in "read".
18783 All callers and references changed.
18784
18785 * include/grub/file.h (struct grub_file): Change the types of
18786 "offset" and "size" to grub_off_t and grub_off_t,
18787 respectively. Change the type of SECTOR to grub_disk_addr_t in
18788 "read_hook".
18789 (grub_file_read): Change the type of LEN to grub_size_t.
18790 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
18791 grub_off_t.
18792 (grub_file_size): Return grub_off_t.
18793 (grub_file_tell): Likewise.
18794 All callers and references changed.
18795
18796 * include/grub/disk.h (struct grub_disk_dev): Change the types of
18797 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
18798 "write".
18799 (struct grub_disk): Change the type of "total_sectors" to
18800 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 18801 "read_hook".
524a1e6a 18802 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
18803 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
18804 (grub_disk_write): Likewise.
18805 All callers and references changed.
18806
18807 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
18808 char * for grub_strncmp to silence gcc.
18809 (grub_iso9660_mount): Likewise.
18810 (grub_iso9660_mount): Likewise.
18811 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
18812 return statement.
18813 (grub_iso9660_iterate_dir): Likewise.
18814 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
18815
18816 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
18817 LEN to grub_disk_addr_t and grub_size_t, respectively.
18818
18819 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18820
18821 * fs/jfs.c (grub_jfs_read_file): Likewise.
18822
18823 * fs/minix.c (grub_jfs_read_file): Likewise.
18824
18825 * fs/sfs.c (grub_jfs_read_file): Likewise.
18826
18827 * fs/ufs.c (grub_jfs_read_file): Likewise.
18828
18829 * fs/xfs.c (grub_jfs_read_file): Likewise.
18830
18831 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
18832 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
18833 respectively.
18834
18835 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
18836 BLKNR to -1 instead of returning GRUB_ERRNO.
18837 (grub_ext2_read_file): Change the types of SECTOR and
18838 LEN to grub_disk_addr_t and grub_size_t, respectively.
18839
18840 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
18841 LEN to grub_disk_addr_t and grub_size_t, respectively.
18842
18843 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
18844 grub_file_read.
18845
18846 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
18847 string. Do not cast SECTOR explicitly.
18848
18849 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
18850 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
18851 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
18852 grub_disk_addr_t and grub_size_t, respectively. If the sector is
18853 over 2TB and LBA mode is not supported, raise an error.
18854 (get_safe_sectors): New function.
18855 (grub_biosdisk_read): Use get_safe_sectors.
18856 (grub_biosdisk_write): Likewise.
18857
18858 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
18859 (grub_efidisk_write): Likewise.
18860
18861 * disk/loopback.c (delete_loopback): Cosmetic changes.
18862 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
18863 correctly.
18864 (grub_loopback_open): Likewise.
18865 (grub_loopback_read): Likewise. Also, change the type of POS to
18866 grub_off_t, and fix the usage of grub_memset.
18867
18868 * commands/i386/pc/play.c: Include grub/machine/time.h.
18869
18870 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
18871 print FILE->SIZE.
18872
18873 * commands/configfile.c: Include grub/env.h.
18874
18875 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
18876 GRUB_ERRNO directly instead. Change the type of POS to
18877 grub_off_t. Follow the coding standard.
18878
18879 * commands/blocklist.c: Include grub/partition.h.
18880 (grub_cmd_blocklist): Return an error if the underlying device is
18881 not a disk. Take the starting sector of a partition into account,
18882 if a partition is used.
18883
18884 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
18885 a length field.
18886 (lba_mode): Support 64-bit addresses.
18887 (chs_mode): Likewise.
18888 (copy_buffer): Adapted to the new offsets of a length field and a
18889 segment field.
18890 (blocklist_default_start): Allocate 64-bit space.
18891
18892 * boot/i386/pc/boot.S (force_lba): Removed.
18893 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 18894 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 18895 space.
18896 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
18897 is useless.
18898 (lba_mode): Refactored to support a 64-bit address. More size
18899 optimization.
18900 (setup_sectors): Likewise.
18901
53af98ad 189022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18903
18904 * DISTLIST: Added include/grub/i386/linux.h. Removed
18905 include/grub/i386/pc/linux.h
18906
18907 * configure.ac (AC_INIT): Bumped to 1.94.
18908
18909 * config.guess: Updated from gnulib.
18910 * config.sub: Likewise.
18911 * install-sh: Likewise.
18912 * mkinstalldirs: Likewise.
18913
b4c1940a 189142006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18915
18916 * conf/common.rmk (grub_modules_init.lst): Depended on
18917 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
18918 MODSRCFILES.
18919
18920 * genmk.rb (PModule::rule): Reverted the previous change.
18921
cfca1cfd 189222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18923
18924 * conf/common.rmk (grub_modules_init.lst): Depends on
18925 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
18926 that the target does not exist before producing.
18927 (grub_modules_init.h): Remove the target before generating.
18928 (grub_emu_init.c): Likewise.
18929
18930 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
18931
aa6d7826 189322006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
18933
18934 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
18935 for the target-specific tests. Make sure that we also have the
18936 up-to-date target variables for those tests.
18937
26c607b9 189382006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18939
18940 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
18941 (PModule::rule): Likewise.
18942
0162321a 189432006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18944
18945 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
18946 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
18947 target-specific flags should be prefixed.
18948 (PModule::rule): Likewise.
18949
6c826348 189502006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
18951
18952 * configure.ac (CMP): Check if cmp is available explicitly.
18953
b977bf01 189542006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
18955
18956 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
18957 (target_cpu): New variable.
18958 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 18959
b977bf01 18960 * util/i386/pc/grub-install.in (host_cpu): Removed.
18961 (target_cpu): New variable.
18962 (pkglibdir): Use target_cpu instead of host_cpu.
18963
18964 * util/genmoddep.c: Removed.
f19dbdb7 18965
b977bf01 18966 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
18967 instead of GRUB_HOST_SIZEOF_VOID_P.
18968 * kern/dl.c: Likewise.
18969
18970 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
18971 ...
18972 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18973 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18974 (GRUB_TARGET_SIZEOF_LONG): ... this.
18975 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18976 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18977 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18978 to ...
18979 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18980 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18981 (GRUB_TARGET_SIZEOF_LONG): ... this.
18982 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18983 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18984 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18985 to ...
18986 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18987 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18988 (GRUB_TARGET_SIZEOF_LONG): ... this.
18989 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18990 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18991
18992 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
18993 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
18994 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
18995 instead of GRUB_HOST_SIZEOF_LONG.
18996 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
18997 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
18998 GRUB_CPU_WORDS_BIGENDIAN.
18999 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19000 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19001 grub_host_ssize_t.
19002
19003 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
19004 (genmoddep_SOURCES): Likewise.
19005 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
19006 (genmoddep_SOURCES): Likewise.
19007 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
19008 (genmoddep_SOURCES): Likewise.
19009 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
19010 Likewise.
19011 (genmoddep_SOURCES): Likewise.
19012
19013 * genmoddep.awk: New file.
19014
19015 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
19016 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
19017 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
19018 (PModule::rule): Likewise.
19019 (Program::rule): Likewise.
19020 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
19021 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
19022 respectively.
19023
19024 * configure.ac: Rewritten intensively to use host and target
19025 instead of build and host, respectively.
19026
19027 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
19028 (host_cpu): Removed.
19029 (target_cpu): New variable.
19030 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
19031 (BUILD_CC): Removed.
19032 (BUILD_CFLAGS): Likewise.
19033 (BUILD_CPPFLAGS): Likewise.
19034 (TARGET_CC): New variable.
19035 (TARGET_CFLAGS): Likewise.
19036 (TARGET_CPPFLAGS): Likewise.
19037 (TARGET_LDFLAGS): Likewise.
19038 (AWK): Likewise.
19039 (include): Use target_cpu instead of host_cpu.
19040 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 19041
b977bf01 19042 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
19043
f09771a1 190442006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
19045
19046 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
19047 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
19048 field 'false' to 'exec_on_false'.
19049 (grub_script_create_cmdif): Renamed argument names to reflect above
19050 changes.
19051
19052 * normal/execute.c (grub_script_execute_cmdif): Likewise.
19053
19054 * normal/script.c (grub_script_create_cmdif): Likewise.
19055
118f4fb3 190562006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
19057
19058 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
19059 top.
19060 (grub_hfsplus_btree_recptr): Likewise.
19061 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
19062 FILEBLOCK both to pass a block number and store next block
19063 number.
19064 (grub_hfsplus_read_block): Rewritten heavily to support an extent
19065 overflow file correctly. Specify errors appropriately, because
19066 fshelp expects that GRUB_ERRNO is set when fails. Reuse
19067 grub_hfsplus_btree_recptr to get the pointer to a found key.
19068 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
19069 is found.
19070
19071 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
19072 linux.mod.
19073 (_linux_mod_SOURCES): New variable.
19074 (_linux_mod_CFLAGS): Likewise.
19075 (_linux_mod_LDFLAGS): Likewise.
19076 (linux_mod_SOURCES): Likewise.
19077 (linux_mod_CFLAGS): Likewise.
19078 (linux_mod_LDFLAGS): Likewise.
19079
19080 * DISTLIST: Added loader/i386/efi/linux.c,
19081 loader/i386/efi/linux_normal.c and
19082 include/grub/i386/efi/loader.h.
19083
19084 * loader/i386/efi/linux.c: New file.
19085 * loader/i386/efi/linux_normal.c: Likewise.
19086 * include/grub/i386/efi/loader.h: Likewise.
19087
89a7d726 190882006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
19089
19090 * commands/blocklist.c: New file.
19091
19092 * DISTLIST: Added commands/blocklist.c.
19093
19094 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 19095 color for the background, and a darker color for the foreground.
89a7d726 19096 (grub_console_checkkey): Return READ_KEY.
19097 (grub_console_cls): Set the background to
19098 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
19099
19100 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
19101
19102 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
19103 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
19104
19105 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
19106 prototype.
19107
19108 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
19109 BG. The spec is wrong again.
19110
19111 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
19112 prototype.
19113 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
19114
19115 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19116 commands/blocklist.c.
19117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 19118
89a7d726 19119 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
19120 (blocklist_mod_SOURCES): New variable.
19121 (blocklist_mod_CFLAGS): Likewise.
19122 (blocklist_mod_LDFLAGS): Likewise.
19123
75c8f258 191242006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
19125
19126 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
19127 duplication.
19128 (lba_mode): Use %eax more intensively to reduce the code size.
19129
da2eb181 191302006-05-20 Marco Gerards <marco@gnu.org>
19131
19132 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
19133
19134 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
19135 for `menuentry'.
19136 (script): Accept leading newlines.
19137 (newlines): New rule to describe 0 or more newlines.
19138 (commands): Accept `command' with trailing newline. Fixed the
19139 order in which arguments were passed to `grub_script_add_cmd'.
19140 Accept commands separated by newlines.
19141 (function): Changed to accept newlines.
19142 (menuentry) Rewritten.
19143
19144 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
19145 front of the list, instead of to the end.
19146
577b4050 191472006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
19148
19149 * util/i386/pc/grub-install.in (bindir): New variable.
19150 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
19151 Shaver <lbgwjl@gmail.com>.
19152
0d6e1189 191532006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
19154
19155 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
19156 grub/machine/linux.h
19157 * loader/i386/pc/linux.c: Likewise.
19158
19159 * include/grub/i386/pc/linux.h: Moved to ...
19160 * include/grub/i386/linux.h: ... here.
19161
19162 * include/grub/i386/linux.h (struct linux_kernel_params): New
19163 struct.
f19dbdb7 19164
31b86e9f 191652006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
19166
19167 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
19168 checking.
19169 (grub_video_vbe_blit_glyph): Likewise.
19170 (grub_video_vbe_blit_bitmap): Likewise.
19171 (grub_video_vbe_blit_render_target): Likewise.
19172
83b984de 191732006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
19174
19175 * configure.ac (--with-platform): Properly quote the square
19176 brackets.
19177
5f0413bd 191782006-05-08 Marco Gerards <marco@gnu.org>
19179
19180 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
19181 this...
19182 (kernel_elf_HEADERS): ...to this. Updated all users.
19183 (grubof_symlist.c): Renamed from this...
19184 (kernel_elf_symlist.c): ...to this. Updated all users.
19185 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19186 (grubof_SOURCES): Renamed from this...
19187 (kernel_elf_SOURCES): ...to this.
19188 (grubof_HEADERS): Renamed from this...
19189 (kernel_elf_HEADERS): ...to this.
19190 (grubof_CFLAGS): Renamed from this...
19191 (kernel_elf_CFLAGS): ...to this.
19192 (grubof_ASFLAGS): Renamed from this...
19193 (kernel_elf_ASFLAGS): ...to this.
19194 (grubof_LDFLAGS): Renamed from this...
19195 (kernel_elf_LDFLAGS): ...to this.
19196
19197 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
19198 this...
19199 (kernel_elf_HEADERS): ...to this. Updated all users.
19200 (grubof_symlist.c): Renamed from this...
19201 (kernel_elf_symlist.c): ...to this. Updated all users.
19202 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19203 (grubof_SOURCES): Renamed from this...
19204 (kernel_elf_SOURCES): ...to this.
19205 (grubof_HEADERS): Renamed from this...
19206 (kernel_elf_HEADERS): ...to this.
19207 (grubof_CFLAGS): Renamed from this...
19208 (kernel_elf_CFLAGS): ...to this.
19209 (grubof_ASFLAGS): Renamed from this...
19210 (kernel_elf_ASFLAGS): ...to this.
19211 (grubof_LDFLAGS): Renamed from this...
19212 (kernel_elf_LDFLAGS): ...to this.
19213
19214 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
19215 `kernel.elf' instead of `grubof'.
19216
05568c2e 192172006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
19218
19219 Add --with-platform to configure. Use pkglibdir instead of
19220 pkgdatadir. This is reported by Roger Leigh.
19221
19222 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
19223 (host_vendor): Likewise.
19224 (host_os): Likewise.
19225 (pkgdatadir): Likewise.
19226 (platform): New variable.
19227 (pkglibdir): Likewise.
19228 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 19229
05568c2e 19230 * util/i386/pc/grub-install.in (datadir): Removed.
19231 (host_vendor): Likewise.
19232 (host_os): Likewise.
19233 (pkgdatadir): Likewise.
19234 (platform): New variable.
19235 (pkglibdir): Likewise.
19236 Use PKGLIBDIR instead of PKGDATADIR.
19237
19238 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
19239 instead of GRUB_DATADIR.
19240 (main): Likewise.
19241 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19242 (main): Likewise.
19243 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19244 (main): Likewise.
19245
19246 * configure.ac (--with-platform): New option.
19247 Use PLATFORM instead of HOST_VENDOR to specify a platform.
19248
19249 * Makefile.in: Include a makefile based on PLATFORM instead of
19250 HOST_VENDOR.
19251 (pkgdatadir): Not appended by the machine type.
19252 (pkglibdir): Appended by the machine type.
19253 (host_vendor): Removed.
19254 (platform): New variable.
19255 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
19256 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
19257 (uninstall): Likewise.
19258
4e93851c 192592006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
19260
19261 Use the environment context in the menu. Remove the commands
19262 "default" and "timeout", and use variables instead.
f19dbdb7 19263
4e93851c 19264 * normal/menu.c: Include grub/env.h.
19265 (print_entry): Cast TITLE to silence gcc.
19266 (get_timeout): New function.
19267 (set_timeout): Likewise.
19268 (get_entry_number): Likewise.
19269 (run_menu): Use a default entry, a fallback entry and a timeout
19270 in the environment variables "default", "fallback" and
19271 "timeout". Also, tweak the default entry if it is not within the
19272 current menu entries.
19273 (grub_menu_run): Use a fallback entry in the environment variable
19274 "fallback".
19275
19276 * normal/main.c (read_config_file): Do not initialize
19277 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19278 NEWMENU->TIMEOUT.
19279 (grub_normal_execute): Use a data slot to store the menu.
19280
19281 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19282 fallback_entry and timeout.
19283 (struct grub_menu_list): Removed.
19284 (grub_menu_list_t): Likewise.
19285 (struct grub_context): Likewise.
19286 (grub_context_t): Likewise.
19287 (grub_context_get): Likewise.
19288 (grub_context_get_current_menu): Likewise.
19289 (grub_context_push_menu): Likewise.
19290 (grub_context_pop_menu): Likewise.
19291 (grub_default_init): Likewise.
19292 (grub_default_fini): Likewise.
19293 (grub_timeout_init): Likewise.
19294 (grub_timeout_fini): Likewise.
19295
19296 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19297 and timeout.mod.
19298 (normal_mod_SOURCES): Removed normal/context.c.
19299
19300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19301 commands/default.c, commands/timeout.c and normal/context.c.
19302 (normal_mod_SOURCES): Removed normal/context.c.
19303
19304 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19305 commands/timeout.c and normal/context.c.
19306 (normal_mod_SOURCES): Removed normal/context.c.
19307
19308 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19309 commands/default.c, commands/timeout.c and normal/context.c.
19310 (normal_mod_SOURCES): Removed normal/context.c.
19311
19312 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19313 timeout.mod.
19314 (default_mod_SOURCES): Removed.
19315 (default_mod_CFLAGS): Likewise.
19316 (default_mod_LDFLAGS): Likewise.
19317 (timeout_mod_SOURCES): Removed.
19318 (timeout_mod_CFLAGS): Likewise.
19319 (timeout_mod_LDFLAGS): Likewise.
19320
19321 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19322 normal/context.c.
19323
19324 * commands/default.c: Removed.
19325 * commands/timeout.c: Likewise.
19326 * normal/context.c: Likewise.
19327
1eb9cc1d 193282006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19329
19330 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19331
385bd9c1 193322006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19333
19334 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19335 "next" to "prev" for readability.
19336 (struct grub_env_sorted_var): New struct.
19337 (grub_env_context): Renamed to ...
19338 (initial_context): ... this.
19339 (grub_env_var_context): Renamed to ...
19340 (current_context): ... this.
19341 (grub_env_find): Look only at CURRENT_CONTEXT.
19342 (grub_env_context_open): Rewritten to copy exported variables from
19343 previous context.
19344 (grub_env_context_close): Rewritten according to the new
19345 scheme. Also, add an assertion to prevent the initial context from
19346 removed.
19347 (grub_env_insert): Removed the code for the sorted list.
19348 (grub_env_remove): Likewise.
19349 (grub_env_export): Simply mark the variable with
19350 GRUB_ENV_VAR_GLOBAL.
19351 (grub_env_set): A cosmetic change for naming consistency.
19352 (grub_env_get): Likewise.
19353 (grub_env_unset): Likewise.
19354 (grub_env_iterate): Rewritten to sort variables within this
19355 function.
19356 (grub_register_variable_hook): Fixed for naming consistency. Call
19357 grub_env_find again, only if NAME is not found at the first time.
19358 (mangle_data_slot_name): New function.
19359 (grub_env_set_data_slot): Likewise.
19360 (grub_env_get_data_slot): Likewise.
19361 (grub_env_unset_data_slot): Likewise.
19362
19363 * include/grub/env.h (grub_env_var_type): New enum.
19364 (GRUB_ENV_VAR_LOCAL): New constant.
19365 (GRUB_ENV_VAR_GLOBAL): Likewise.
19366 (GRUB_ENV_VAR_DATA): Likewise.
19367 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19368 "type".
19369 (grub_env_set): Replace VAR with NAME for consistency.
19370 (grub_register_variable_hook): Likewise.
19371 (grub_env_export): Specify the name of the argument.
19372 (grub_env_set_data_slot): New prototype.
19373 (grub_env_get_data_slot): Likewise.
19374 (grub_env_unset_data_slot): Likewise.
19375
7f362539 193762006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19377
19378 Extend the loader so that GRUB can accept a loader which comes
19379 back to GRUB when a loaded image exits. Also, this change adds
19380 support for a chainloader on EFI.
f19dbdb7 19381
7f362539 19382 * term/efi/console.c: Include grub/misc.h.
19383 (grub_console_checkkey): Display a scan code on the top for
19384 debugging. This will be removed once the EFI port gets stable.
19385 Correct the scan code mapping.
19386
19387 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19388 allocate memory from larger regions, in order to reduce the number
19389 of allocated regions. Otherwise, the MacOSX loader panics.
19390 (filter_memory_map): Avoid less than 1MB for compatibility with
19391 other loaders.
19392 (add_memory_regions): Allocate from the tail of a region, if
19393 possible, to avoid allocating a region near to 1MB, for the MacOSX
19394 loader.
19395
19396 * kern/efi/init.c (grub_efi_set_prefix): Specify
19397 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19398
19399 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19400 argument IMAGE_HANDLE and specify it to get a loaded image.
19401 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19402 grub_efi_get_loaded_image.
fe6b695a 19403 (grub_efi_get_filename): Divide the length by the size of
7f362539 19404 grub_efi_char16_t.
19405 (grub_efi_get_device_path): New function.
19406 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19407 the length by the size of grub_efi_char16_t for a file path device
19408 path node.
19409
19410 * kern/loader.c (grub_loader_noreturn): New variable.
19411 (grub_loader_set): Accept a new argument NORETURN. Set
19412 GRUB_LOADER_NORETURN to NORETURN.
19413 All callers changed.
19414 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19415 grub_machine_fini.
19416
19417 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19418 prototype.
19419 (grub_efi_get_loaded_image): Take an argument to specify an image
19420 handle.
19421
19422 * include/grub/loader.h (grub_loader_set): Added one more argument
19423 NORETURN.
19424
19425 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19426 instead of grub_efi_open_protocol.
19427 (grub_efidisk_get_device_name): Likewise.
19428 (grub_efidisk_close): Print a newline.
19429 (grub_efidisk_get_device_handle): Fixed to use
19430 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19431 GRUB_EFI_DEVICE_PATH_TYPE.
19432
19433 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19434 * kern/efi/efi.c (device_path_guid): ... here.
19435
19436 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19437 chain.mod.
19438 (kernel_mod_HEADERS): Added efi/disk.h.
19439 (_chain_mod_SOURCES): New variable.
19440 (_chain_mod_CFLAGS): Likewise.
19441 (_chain_mod_LDFLAGS): Likewise.
19442 (chain_mod_SOURCES): Likewise.
19443 (chain_mod_CFLAGS): Likewise.
19444 (chain_mod_LDFLAGS): Likewise.
19445
19446 * DISTLIST: Added include/grub/efi/chainloader.h,
19447 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
19448
19449 * include/grub/efi/chainloader.h: New file.
19450 * loader/efi/chainloader.c: Likewise.
19451 * loader/efi/chainloader_normal.c: Likewise.
19452
c0111d6e 194532006-04-30 Marco Gerards <marco@gnu.org>
19454
19455 * commands/configfile.c (grub_cmd_source): New function.
19456 (GRUB_MOD_INIT): Register the commands `source' and `.'.
19457 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
19458
df5341da 194592006-04-30 Marco Gerards <marco@gnu.org>
19460
19461 * normal/execute.c (grub_script_execute_cmd): Change the return
19462 type to `grub_err_t'. Correctly return the error.
19463 (grub_script_execute_cmdline): In case a command line is not a
19464 command or a function, try to interpret it as an assignment.
19465
f85934bd 194662006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19467
19468 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19469 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19470 skip a node whose name is obviously invalid as UTF-16,
19471 i.e. contains a NUL character. Stop the iteration when the last
19472 directory entry is found. Instead of using the return value of
19473 grub_hfsplus_btree_iterate_node, store the value in RET and use
19474 it, because the iterator can be stopped by the last directory
19475 entry.
19476
8f8a2cf8 194772006-04-30 Marco Gerards <marco@gnu.org>
19478
19479 * include/grub/env.h (grub_env_export): New prototype. Reported
19480 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19481
a27e84ce 194822006-04-30 Marco Gerards <marco@gnu.org>
19483
19484 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19485 size of the extents in a catalog file record.
19486
eaef0553 194872006-04-29 Marco Gerards <marco@gnu.org>
19488
19489 * commands/configfile.c (grub_cmd_configfile): Execute the
19490 configfile within its own context.
19491
19492 * include/grub/env.h (grub_env_context_open): New prototype.
19493 (grub_env_context_close): Likewise.
19494
19495 * kern/env.c (grub_env): Removed.
19496 (grub_env_sorted): Likewise.
19497 (grub_env_context): New variable.
19498 (grub_env_var_context): Likewise.
19499 (grub_env_find): Search both the active context and the global
19500 context.
19501 (grub_env_context_open): New function.
19502 (grub_env_context_close): Likewise.
19503 (grub_env_insert): Likewise.
19504 (grub_env_remove): Likewise.
19505 (grub_env_export): Likewise.
19506 (grub_env_set): Changed to use helper functions to avoid code
19507 duplication.
19508 (grub_env_iterate): Rewritten so both the current context and the
19509 global context are being used.
19510
19511 * normal/command.c (export_command): New function.
19512 (grub_command_init): Register the `export' function.
19513
7b455f4d 195142006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19515
19516 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19517 explicitly to suppress gcc's warnings.
19518 * fs/fat.c (grub_fat_find_dir): Likewise.
19519 (grub_fat_label): Likewise.
19520 * fs/xfs.c (grub_xfs_read_inode): Likewise.
19521 (grub_xfs_mount): Likewise.
19522 (grub_xfs_label): Likewise.
19523 * fs/affs.c (grub_affs_mount): Likewise.
19524 (grub_affs_label): Likewise.
19525 (grub_affs_iterate_dir): Likewise.
19526 * fs/sfs.c (grub_sfs_mount): Likewise.
19527 (grub_sfs_iterate_dir): Likewise.
19528 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
19529 * fs/hfs.c (grub_hfs_mount): Likewise.
19530 (grub_hfs_cmp_catkeys): Likewise.
19531 (grub_hfs_find_dir): Likewise.
19532 (grub_hfs_dir): Likewise.
19533 (grub_hfs_label): Likewise.
19534 * fs/jfs.c (grub_jfs_mount): Likewise.
19535 (grub_jfs_opendir): Likewise.
19536 (grub_jfs_getent): Likewise.
19537 (grub_jfs_lookup_symlink): Likewise.
19538 (grub_jfs_label): Likewise.
19539 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
19540 (grub_hfsplus_iterate_dir): Likewise.
19541 (grub_hfsplus_btree_iterate_node): Made static.
19542
19543 * util/grub-emu.c (prefix): New variable.
19544 (grub_machine_set_prefix): New function.
19545 (main): Do not set the environment variable "prefix" here. Only
19546 set PREFIX, which is used later by grub_machine_set_prefix.
19547
19548 * include/grub/video.h: Do not include grub/symbol.h.
19549 (grub_video_register): Not exported. This symbol is not defined in
19550 the kernel.
19551 (grub_video_unregister): Likewise.
19552 (grub_video_iterate): Likewise.
19553 (grub_video_setup): Likewise.
19554 (grub_video_restore): Likewise.
19555 (grub_video_get_info): Likewise.
19556 (grub_video_get_blit_format): Likewise.
19557 (grub_video_set_palette): Likewise.
19558 (grub_video_get_palette): Likewise.
19559 (grub_video_set_viewport): Likewise.
19560 (grub_video_get_viewport): Likewise.
19561 (grub_video_map_color): Likewise.
19562 (grub_video_map_rgb): Likewise.
19563 (grub_video_map_rgba): Likewise.
19564 (grub_video_fill_rect): Likewise.
19565 (grub_video_blit_glyph): Likewise.
19566 (grub_video_blit_bitmap): Likewise.
19567 (grub_video_blit_render_target): Likewise.
19568 (grub_video_scroll): Likewise.
19569 (grub_video_swap_buffers): Likewise.
19570 (grub_video_create_render_target): Likewise.
19571 (grub_video_delete_render_target): Likewise.
19572 (grub_video_set_active_render_target): Likewise.
19573
19574 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
19575 Undefined.
19576 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
19577
19578 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
19579 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19580 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19581 instead of $(srcdir)/genkernsyms.sh.
19582
19583 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
19584 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19585 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19586 instead of $(srcdir)/genkernsyms.sh.
19587
19588 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
19589 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19590 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19591 instead of $(srcdir)/genkernsyms.sh.
19592
19593 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
19594 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19595 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19596 instead of $(srcdir)/genkernsyms.sh.
19597
19598 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
19599 genkernsyms.sh.
19600
19601 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
19602 genkernsyms.sh.
19603 (gensymlist.sh): New target.
19604 (genkernsyms.sh): Likewise.
19605
19606 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
19607 genkernsyms.sh.in and gensymlist.sh.in.
19608
19609 * genkernsyms.sh: Removed.
19610 * gensymlist.sh: Likewise.
f19dbdb7 19611
7b455f4d 19612 * genkernsyms.sh.in: New file.
19613 * gensymlist.sh.in: Likewise.
19614
1885bb27 196152006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19616
19617 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
19618 clobber "prefix", since we may have already set it manually.
19619
71538dff 196202006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19621
19622 * kern/misc.c (abort): New alias for grub_abort.
19623
2965c7cc 196242006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
19625
19626 A new machine-specific function "grub_machine_set_prefix" is
19627 defined. This is called after loading modules, so that a prefix
19628 initialization can use modules. Also, this change adds an
19629 intensive debugging feature for the memory manager via the
19630 configure option "--enable-mm-debug".
f19dbdb7 19631
2965c7cc 19632 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
19633 PART.LEN.
19634
19635 * kern/sparc64/ieee1275/init.c (abort): Removed.
19636 (grub_stop): Likewise.
19637 (grub_exit): New function.
19638 (grub_set_prefix): Renamed to ...
19639 (grub_machine_set_prefix): ... this.
19640 (grub_machine_init): Do not call grub_set_prefix.
19641
19642 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
19643 (grub_machine_set_prefix): ... this.
19644 (grub_machine_init): Do not call grub_set_prefix.
19645
19646 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
19647 (grub_machine_init): Do not set the prefix here.
19648
19649 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
19650
19651 * kern/efi/init.c: Include grub/mm.h.
19652 (grub_efi_set_prefix): New function.
19653
19654 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
19655 (grub_efi_get_filename): New function.
19656 (grub_print_device_path): Renamed to ...
19657 (grub_efi_print_device_path): ... this.
19658
19659 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19660 [MM_DEBUG] (grub_realloc): Likewise.
19661 [MM_DEBUG] (grub_free): Likewise.
19662 [MM_DEBUG] (grub_memalign): Likewise.
19663 [MM_DEBUG] (grub_mm_debug): New variable.
19664 [MM_DEBUG] (grub_debug_malloc): New function.
19665 [MM_DEBUG] (grub_debug_free): New function.
19666 [MM_DEBUG] (grub_debug_realloc): New function.
19667 [MM_DEBUG] (grub_debug_memalign): New function.
19668
19669 * kern/misc.c (grub_abort): Print a newline to distinguish
19670 the message.
19671
19672 * kern/main.c (grub_main): Call grub_machine_set_prefix and
19673 grub_set_root_dev after loading modules. This is necessary when
19674 setting a prefix depends on modules.
19675
19676 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
19677 (grub_efi_print_device_path): ... this.
19678 (grub_efi_get_filename): New prototype.
19679 (grub_efi_set_prefix): Likewise.
19680
19681 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
19682 and grub/disk.h.
19683 (grub_efidisk_get_device_handle): New prototype.
19684 (grub_efidisk_get_device_name): Likewise.
19685
19686 * include/grub/mm.h: Include config.h.
19687 (MM_DEBUG): Removed.
19688 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
19689 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
19690 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
19691 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
19692 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
19693 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
19694 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
19695 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
19696 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
19697
19698 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
19699
19700 * disk/efi/efidisk.c: Include grub/partition.h.
19701 (iterate_child_devices): New function.
19702 (add_device): First, compare only last device path nodes, so that
19703 devices are sorted by the types.
19704 (grub_efidisk_get_device_handle): New function.
19705 (grub_efidisk_get_device_name): Likewise.
19706
19707 * configure.ac (--enable-mm-debug): New option to enable the
19708 memory manager debugging feature. This makes the binary much
19709 bigger, so is disabled by default.
19710
9cacaa17 197112006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
19712
19713 Use grub_abort instead of grub_stop, and grub_exit must be
19714 define in each architecture now. Also, this change adds support
19715 for EFI disks.
f19dbdb7 19716
9cacaa17 19717 * util/i386/pc/grub-probefs.c: Include grub/term.h.
19718 (grub_getkey): New function.
19719 (grub_term_get_current): Likewise.
19720
19721 * util/i386/pc/grub-setup.c: Include grub/term.h.
19722 (grub_getkey): New function.
19723 (grub_term_get_current): Likewise.
19724
19725 * util/misc.c (grub_stop): Renamed to ...
19726 (grub_exit): ... this.
19727
19728 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
19729 (grub_exit): ... this.
19730 (grub_machine_init): Use grub_abort instead of abort.
19731 (grub_stop): Removed.
19732
19733 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
19734 abort.
19735
19736 * kern/i386/pc/startup.S (grub_exit): New function.
19737 (cold_reboot): New label.
19738
19739 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
19740 (grub_efi_init): Call grub_efidisk_init.
19741 (grub_efi_fini): Call grub_efidisk_fini.
19742
19743 * kern/efi/efi.c: Include grub/mm.h.
19744 (grub_efi_console_control_guid): Renamed to ...
19745 (console_control_guid): ... this.
19746 (grub_efi_loaded_image_guid): Renamed to ...
19747 (loaded_image_guid): ... this.
19748 (grub_efi_locate_handle): New function.
19749 (grub_efi_open_protocol): Likewise.
19750 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
19751 GRUB_EFI_CONSOLE_CONTROL_GUID.
19752 (grub_efi_exit): Removed.
19753 (grub_stop): Likewise.
19754 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
19755 (grub_exit): New function.
19756 (grub_print_device_path): Likewise.
19757
19758 * kern/rescue.c (grub_rescue_cmd_exit): New function.
19759 (grub_enter_rescue_mode): Register "exit".
19760
19761 * kern/misc.c (grub_real_dprintf): A cosmetic change.
19762 (grub_abort): New function.
19763
19764 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
19765
19766 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
19767
19768 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
19769
19770 * include/grub/efi/efi.h (grub_efi_exit): Removed.
19771 (grub_print_device_path): New prototype.
19772 (grub_efi_locate_handle): Likewise.
19773 (grub_efi_open_protocol): Likewise.
19774
19775 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
19776 * disk/efi/efidisk.c: Likewise.
19777
19778 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
19779
19780 * include/grub/efi/console_control.h
19781 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
19782
19783 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
19784 last 8 bytes as an array.
19785 (GRUB_EFI_DISK_IO_GUID): New macro.
19786 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
19787 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
19788 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
19789 grub_uint8_t.
19790 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
19791 (struct grub_efi_device_path): Rename the member "sub_type" to
19792 "subtype".
19793 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
19794 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
19795 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
19796 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
19797 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
19798 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
19799 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
19800 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
19801 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
19802 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
19803 (struct grub_efi_pci_device_path): New structure.
19804 (grub_efi_pci_device_path_t): New type.
19805 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
19806 (struct grub_efi_pccard_device_path): New structure.
19807 (grub_efi_pccard_device_path_t): New type.
19808 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
19809 (struct grub_efi_memory_mapped_device_path): New structure.
19810 (grub_efi_memory_mapped_device_path_t): New type.
19811 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
19812 (struct grub_efi_vendor_device_path): New structure.
19813 (grub_efi_vendor_device_path_t): New type.
19814 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
19815 (struct grub_efi_controller_device_path): New structure.
19816 (grub_efi_controller_device_path_t): New type.
19817 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
19818 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
19819 (struct grub_efi_acpi_device_path): New structure.
19820 (grub_efi_acpi_device_path_t): New type.
19821 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
19822 (struct grub_efi_expanded_acpi_device_path): New structure.
19823 (grub_efi_expanded_acpi_device_path_t): New type.
19824 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
19825 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
19826 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
19827 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
19828 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
19829 (struct grub_efi_atapi_device_path): New structure.
19830 (grub_efi_atapi_device_path_t): New type.
19831 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
19832 (struct grub_efi_fibre_channel_device_path): New structure.
19833 (grub_efi_fibre_channel_device_path_t): New type.
19834 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
19835 (struct grub_efi_1394_device_path): New structure.
19836 (grub_efi_1394_device_path_t): New type.
19837 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
19838 (struct grub_efi_usb_device_path): New structure.
19839 (grub_efi_usb_device_path_t): New type.
19840 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
19841 (struct grub_efi_usb_class_device_path): New structure.
19842 (grub_efi_usb_class_device_path_t): New type.
19843 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
19844 (struct grub_efi_i2o_device_path): New structure.
19845 (grub_efi_i2o_device_path_t): New type.
19846 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
19847 (struct grub_efi_mac_address_device_path): New structure.
19848 (grub_efi_mac_address_device_path_t): New type.
19849 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
19850 (struct grub_efi_ipv4_device_path): New structure.
19851 (grub_efi_ipv4_device_path_t): New type.
19852 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
19853 (struct grub_efi_ipv6_device_path): New structure.
19854 (grub_efi_ipv6_device_path_t): New type.
19855 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
19856 (struct grub_efi_infiniband_device_path): New structure.
19857 (grub_efi_infiniband_device_path_t): New type.
19858 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
19859 (struct grub_efi_uart_device_path): New structure.
19860 (grub_efi_uart_device_path_t): New type.
19861 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
19862 (struct grub_efi_vendor_messaging_device_path): New structure.
19863 (grub_efi_vendor_messaging_device_path_t): New type.
19864 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
19865 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
19866 (struct grub_efi_hard_drive_device_path): New structure.
19867 (grub_efi_hard_drive_device_path_t): New type.
19868 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
19869 (struct grub_efi_cdrom_device_path): New structure.
19870 (grub_efi_cdrom_device_path_t): New type.
19871 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
19872 (struct grub_efi_vendor_media_device_path): New structure.
19873 (grub_efi_vendor_media_device_path_t): New type.
19874 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
19875 (struct grub_efi_file_path_device_path): New structure.
19876 (grub_efi_file_path_device_path_t): New type.
19877 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
19878 (struct grub_efi_protocol_device_path): New structure.
19879 (grub_efi_protocol_device_path_t): New type.
19880 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
19881 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
19882 (struct grub_efi_bios_device_path): New structure.
19883 (grub_efi_bios_device_path_t): New type.
19884 (struct grub_efi_disk_io): New structure.
19885 (grub_efi_disk_io_t): New type.
19886 (struct grub_efi_block_io_media): New structure.
19887 (grub_efi_block_io_media_t): New type.
19888 (struct grub_efi_block_io): New structure.
19889 (grub_efi_block_io_t): New type.
19890
19891 * include/grub/misc.h (grub_stop): Removed.
19892 (grub_exit): New prototype.
19893 (grub_abort): Likewise.
19894
19895 * include/grub/disk.h (enum grub_disk_dev_id): Added
19896 GRUB_DISK_DEVICE_EFIDISK_ID.
19897
19898 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
19899 disk/efi/efidisk.c.
19900 (kernel_syms.lst): Remove the target if an error occurs.
19901
49986a9f 199022006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
19903
19904 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
19905 as it was simply too buggy.
19906
970d3b8a 199072006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
19908
19909 * kern/misc.c (grub_lltoa): New function.
19910 (grub_vsprintf): Added support for the long long suffix,
19911 i.e. "ll".
19912
ff04ec24 199132006-04-20 Hollis Blanchard <hollis@penguinppc.org>
19914
19915 * Makefile.in (LDFLAGS): Add variable.
19916 (LD): Remove variable.
19917 * configure.ac: Add -m32 to LDFLAGS.
19918 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
19919 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
19920 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
19921 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
19922 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
19923 variables.
19924 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
19925 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
19926 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
19927
37e5e1a4 199282006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
19929
19930 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
19931 length for unknown glyph.
19932
c352d8dd 199332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
19934
2eab1c0d 19935 Add support for pre-loaded modules into the EFI port.
f19dbdb7 19936
2eab1c0d 19937 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
19938 completely. Accept one more argument DIR. The caller has changed.
19939
19940 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
19941
19942 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
19943 (grub_efi_loaded_image_guid): New variable.
19944 (grub_efi_get_loaded_image): New function.
19945 (grub_arch_modules_addr): Likewise.
19946
19947 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
19948 prototype.
19949
19950 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
19951 (struct grub_efi_loaded_image): New structure.
19952 (grub_efi_loaded_image_t): New type.
19953
199542006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19955
c352d8dd 19956 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
19957 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
19958 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
19959
6d01d6b4 199602006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
19961
19962 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
19963
976a4ea0 199642006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
19965
19966 * DISTLIST: Added include/grub/efi/console.h,
19967 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
19968 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19969
19970 * include/grub/efi/console.h: New file.
19971 * include/grub/efi/time.h: Likewise.
19972 * include/grub/i386/efi/kernel.h: Likewise.
19973 * kern/efi/init.c: Likewise.
19974 * kern/efi/mm.c: Likewise.
19975 * term/efi/console.c: Likewise.
f19dbdb7 19976
976a4ea0 19977 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
19978 (grub_stop): Removed.
19979 (grub_get_rtc): Likewise.
19980 (grub_machine_init): Simply call grub_efi_init.
19981 (grub_machine_fini): Call grub_efi_fini.
19982
19983 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
19984 (grub_efi_output_string): Removed.
19985 (grub_efi_stall): New function.
19986 (grub_stop): Likewise.
19987 (grub_get_rtc): Likewise.
19988
19989 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
19990 (grub_efi_stall): New prototype.
19991 (grub_efi_allocate_pages): Likewise.
19992 (grub_efi_free_pages): Likewise.
19993 (grub_efi_get_memory_map): Likewise.
19994 (grub_efi_mm_init): Likewise.
19995 (grub_efi_mm_fini): Likewise.
19996 (grub_efi_init): Likewise.
19997 (grub_efi_fini): Likewise.
19998
19999 * include/grub/i386/efi/time.h: Do not include
20000 grub/symbol.h. Include grub/efi/time.h.
20001 (GRUB_TICKS_PER_SECOND): Removed.
20002 (grub_get_rtc): Likewise.
20003
20004 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
20005 Added padding. The EFI spec is buggy.
20006 (GRUB_EFI_BLACK): New macro.
20007 (GRUB_EFI_BLUE): Likewise.
20008 (GRUB_EFI_GREEN): Likewise.
20009 (GRUB_EFI_CYAN): Likewise.
20010 (GRUB_EFI_RED): Likewise.
20011 (GRUB_EFI_MAGENTA): Likewise.
20012 (GRUB_EFI_BROWN): Likewise.
20013 (GRUB_EFI_LIGHTGRAY): Likewise.
20014 (GRUB_EFI_BRIGHT): Likewise.
20015 (GRUB_EFI_DARKGRAY): Likewise.
20016 (GRUB_EFI_LIGHTBLUE): Likewise.
20017 (GRUB_EFI_LIGHTGREEN): Likewise.
20018 (GRUB_EFI_LIGHTCYAN): Likewise.
20019 (GRUB_EFI_LIGHTRED): Likewise.
20020 (GRUB_EFI_LIGHTMAGENTA): Likewise.
20021 (GRUB_EFI_YELLOW): Likewise.
20022 (GRUB_EFI_WHITE): Likewise.
20023 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
20024 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
20025 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
20026 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
20027 (GRUB_EFI_BACKGROUND_RED): Likewise.
20028 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
20029 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
20030 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
20031 (GRUB_EFI_TEXT_ATTR): Likewise.
20032
20033 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
20034 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20035 (kernel_mod_HEADERS): Added efi/time.h.
20036
83709125 200372006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
20038
20039 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
20040 include/grub/efi/api.h, include/grub/efi/console_control.h,
20041 include/grub/efi/efi.h, include/grub/efi/pe32.h,
20042 include/grub/i386/efi/time.h, kern/efi/efi.c,
20043 kern/i386/efi/init.c, kern/i386/efi/startup.S,
20044 and util/i386/efi/grub-mkimage.c.
20045
20046 * Makefile.in (RMKFILES): Added i386-efi.rmk.
20047
20048 * genmk.rb (PModule#rule): Do not export symbols if
20049 #{prefix}_EXPORTS is set to "no".
20050
20051 * conf/i386-efi.mk: New file.
20052 * conf/i386-efi.rmk: Likewise.
20053 * include/grub/efi/api.h: Likewise.
20054 * include/grub/efi/console_control.h: Likewise.
20055 * include/grub/efi/efi.h: Likewise.
20056 * include/grub/efi/pe32.h: Likewise.
20057 * include/grub/i386/efi/time.h: Likewise.
20058 * kern/efi/efi.c: Likewise.
20059 * kern/i386/efi/init.c: Likewise.
20060 * kern/i386/efi/startup.S: Likewise.
20061 * util/i386/efi/grub-mkimage.c: Likewise.
20062
200632006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 20064
20065 * include/grub/script.h: Include <grub/parser.h> and
20066 "grub_script.tab.h".
20067 (struct grub_lexer_param): New struct.
20068 (struct grub_parser_param): Likewise.
20069 (grub_script_create_arglist): Pass the state in an argument.
20070 (grub_script_add_arglist): Likewise.
20071 (grub_script_create_cmdline): Likewise.
20072 (grub_script_create_cmdblock): Likewise.
20073 (grub_script_create_cmdif): Likewise.
20074 (grub_script_create_cmdmenu): Likewise.
20075 (grub_script_add_cmd): Likewise.
20076 (grub_script_arg_add): Likewise.
20077 (grub_script_lexer_ref): Likewise.
20078 (grub_script_lexer_deref): Likewise.
20079 (grub_script_lexer_record_start): Likewise.
20080 (grub_script_lexer_record_stop): Likewise.
20081 (grub_script_mem_record): Likewise.
20082 (grub_script_mem_record_stop): Likewise.
20083 (grub_script_malloc): Likewise.
20084 (grub_script_yylex): Likewise.
20085 (grub_script_yyparse): Likewise.
20086 (grub_script_yyerror): Likewise.
20087 (grub_script_yylex): Likewise.
20088 (grub_script_lexer_init): Return the state.
20089
20090 * normal/lexer.c (grub_script_lexer_state): Removed variable.
20091 (grub_script_lexer_done): Likewise.
20092 (grub_script_lexer_getline): Likewise.
20093 (grub_script_lexer_refs): Likewise.
20094 (script): Likewise.
20095 (newscript): Likewise.
20096 (record): Likewise.
20097 (recording): Likewise.
20098 (recordpos): Likewise.
20099 (recordlen): Likewise.
20100 (grub_script_lexer_init): Return the state instead of setting
20101 global variables.
20102 (grub_script_lexer_ref): Use the newly added argument for state
20103 instead of globals.
20104 (grub_script_lexer_deref): Likewise.
20105 (grub_script_lexer_record_start): Likewise.
20106 (grub_script_lexer_record_stop): Likewise.
20107 (recordchar): Likewise.
20108 (nextchar): Likewise.
20109 (grub_script_yylex2): Likewise.
20110 (grub_script_yylex): Likewise.
20111 (grub_script_yyerror): Likewise.
20112
20113 * normal/parser.y (func_mem): Removed variable.
20114 (menu_entry): Likewise.
20115 (err): Likewise.
20116 (%lex-param): New parser option.
20117 (%parse-param): Likewise.
20118 (script): Always return the AST.
20119 (argument): Pass the state around.
20120 (arguments): Likewise.
20121 (grubcmd): Likewise.
20122 (commands): Likewise.
20123 (function): Likewise.
20124 (menuentry): Likewise.
20125 (if_statement): Likewise.
20126 (if): Likewise.
20127
20128 * normal/script.c (grub_script_memused): Removed variable.
20129 (grub_script_parsed): Likewise.
20130 (grub_script_malloc): Added a state argument. Use that instead of
20131 global variables.
20132 (grub_script_mem_record): Likewise.
20133 (grub_script_mem_record_stop): Likewise.
20134 (grub_script_arg_add): Likewise.
20135 (grub_script_add_arglist): Likewise.
20136 (grub_script_create_cmdline): Likewise.
20137 (grub_script_create_cmdif): Likewise.
20138 (grub_script_create_cmdmenu): Likewise.
20139 (grub_script_add_cmd): Likewise.
20140 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 20141
e2a8c904 201422006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 20143
20144 * normal/command.c (grub_command_init): Remove the title command.
20145
20146 * normal/lexer.c (grub_script_yylex): Renamed from this...
20147 (grub_script_yylex2): ... to this.
20148 (grub_script_yylex): New function. Temporary
20149 introduced to filter some tokens.
20150 (grub_script_yyerror): Print a newline.
20151
20152 * normal/main.c (read_config_file): Output information about the
20153 lines that contain errors. Wait for a key after all lines have
20154 been processed. Don't return an empty menu.
20155
20156 * normal/parser.y (func_mem): Don't initialize.
20157 (menu_entry): Likewise.
20158 (err): New variable.
20159 (script): Don't return anything when an error was encountered.
20160 (ws, returns): Removed rules.
20161 (argument): Disabled concatenated variable support.
20162 (arguments): Remove explicit separators.
20163 (grubcmd): Likewise.
20164 (function): Likewise.
20165 (menuentry): Likewise.
20166 (if): Likewise.
20167 (commands): Likewise. Add error handling.
20168
20169 * normal/script.c (grub_script_create_cmdline): If
20170 `grub_script_parsed' is 0, assume the parser encountered an error.
20171
c9a86192 201722006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
20173
20174 * configure.ac: Add support for EFI. Fix the typo
20175 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
20176
70f3b243 201772006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20178
20179 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
20180 foreign multibyte characters should be shown correctly.
20181
65f201ad 201822006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20183
20184 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
20185 calculation.
20186 (read_config_file): Made it to close file before returning.
20187
b4b93674 201882006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
20189
20190 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
20191 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
20192 video/i386/pc/vbefill.c.
20193
20194 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
20195 video/i386/pc/vbefill.c.
20196
20197 * include/grub/video.h (grub_video_blit_format): New enum.
20198 (grub_video_mode_info): Added new member blit_format.
20199 (grub_video_get_blit_format): New function prototype.
20200
20201 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
20202 function prototype.
20203 (grub_video_vbe_map_rgb): Likewise.
20204 (grub_video_vbe_unmap_color): Likewise.
20205
20206 * include/grub/i386/pc/vbeblit.h: New file.
20207
20208 * include/grub/i386/pc/vbefill.h: New file.
20209
20210 * video/video.c (grub_video_get_blit_format): New function.
20211 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
20212 (grub_video_vbe_map_rgb): Likewise.
20213 (grub_video_vbe_unmap_color): Likewise.
20214
20215 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
20216 optimized fills.
20217 (grub_video_vbe_blit_render_target): Changed to use more optimized
20218 blits.
20219 (grub_video_vbe_setup): Added detection for optimized settings.
20220 (grub_video_vbe_create_render_target): Likewise.
20221
20222 * video/i386/pc/vbeblit.c: New file.
20223
20224 * video/i386/pc/vbefill.c: New file.
20225
c2379b9c 202262006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
20227
20228 * font/manager.c (grub_font_get_glyph): Removed font fixup from
20229 here...
20230
20231 * util/unifont2pff.rb: ... and moved it to here. Improved argument
20232 parsing to support both hex and dec ranges. If filename was missing
20233 show usage information.
20234
bd0d7896 202352006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
20236
20237 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
20238 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
20239
20240 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
20241 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
20242 (video_mod_SOURCES): Added.
20243 (video_mod_CFLAGS): Likewise.
20244 (video_mod_LDFLAGS): Likewise.
20245 (gfxterm_mod_SOURCES): Likewise.
20246 (gfxterm_mod_CFLAGS): Likewise.
20247 (gfxterm_mod_LDFLAGS): Likewise.
20248 (videotest_mod_SOURCES): Likewise.
20249 (videotest_mod_CFLAGS): Likewise.
20250 (videotest_mod_LDFLAGS): Likewise.
20251 (vesafb_mod_SOURCES): Removed.
20252 (vesafb_mod_CFLAGS): Likewise.
20253 (vesafb_mod_LDFLAGS): Likewise.
20254 (vga_mod_SOURCES): Likewise.
20255 (vga_mod_CFLAGS): Likewise.
20256 (vga_mod_LDFLAGS): Likewise.
20257
20258 * commands/videotest.c: New file.
20259
20260 * font/manager.c (fill_with_default_glyph): Modified to use
20261 grub_font_glyph.
20262 (grub_font_get_glyph): Likewise.
20263 (fontmanager): Renamed from this...
20264 (font_manager): ... to this.
20265
20266 * include/grub/font.h (grub_font_glyph): Added new structure.
20267 (grub_font_get_glyph): Modified to use grub_font_glyph.
20268
20269 * include/grub/misc.h (grub_abs): Added as inline function.
20270
20271 * include/grub/video.h: New file.
20272
20273 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20274 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20275 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20276 (grub_vbe_get_controller_info): Renamed from this...
20277 (grub_vbe_bios_get_controller_info): ... to this.
20278 (grub_vbe_get_mode_info): Renamed from this...
20279 (grub_vbe_bios_get_mode_info): ... to this.
20280 (grub_vbe_set_mode): Renamed from this...
20281 (grub_vbe_bios_set_mode): ... to this.
20282 (grub_vbe_get_mode): Renamed from this...
20283 (grub_vbe_bios_get_mode): ... to this.
20284 (grub_vbe_set_memory_window): Renamed from this...
20285 (grub_vbe_bios_set_memory_window): ... to this.
20286 (grub_vbe_get_memory_window): Renamed from this...
20287 (grub_vbe_bios_get_memory_window): ... to this.
20288 (grub_vbe_set_scanline_length): Renamed from this...
20289 (grub_vbe_set_scanline_length): ... to this.
20290 (grub_vbe_get_scanline_length): Renamed from this...
20291 (grub_vbe_bios_get_scanline_length): ... to this.
20292 (grub_vbe_set_display_start): Renamed from this...
20293 (grub_vbe_bios_set_display_start): ... to this.
20294 (grub_vbe_get_display_start): Renamed from this...
20295 (grub_vbe_bios_get_display_start): ... to this.
20296 (grub_vbe_set_palette_data): Renamed from this...
20297 (grub_vbe_bios_set_palette_data): ... to this.
20298 (grub_vbe_set_pixel_rgb): Removed.
20299 (grub_vbe_set_pixel_index): Likewise.
20300
20301 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20302 from this...
20303 (grub_vbe_bios_get_controller_info): ... to this.
20304 (grub_vbe_get_mode_info): Renamed from this...
20305 (grub_vbe_bios_get_mode_info): ... to this.
20306 (grub_vbe_set_mode): Renamed from this...
20307 (grub_vbe_bios_set_mode): ... to this.
20308 (grub_vbe_get_mode): Renamed from this...
20309 (grub_vbe_bios_get_mode): ... to this.
20310 (grub_vbe_set_memory_window): Renamed from this...
20311 (grub_vbe_bios_set_memory_window): ... to this.
20312 (grub_vbe_get_memory_window): Renamed from this...
20313 (grub_vbe_bios_get_memory_window): ... to this.
20314 (grub_vbe_set_scanline_length): Renamed from this...
20315 (grub_vbe_set_scanline_length): ... to this.
20316 (grub_vbe_get_scanline_length): Renamed from this...
20317 (grub_vbe_bios_get_scanline_length): ... to this.
20318 (grub_vbe_set_display_start): Renamed from this...
20319 (grub_vbe_bios_set_display_start): ... to this.
20320 (grub_vbe_get_display_start): Renamed from this...
20321 (grub_vbe_bios_get_display_start): ... to this.
20322 (grub_vbe_set_palette_data): Renamed from this...
20323 (grub_vbe_bios_set_palette_data): ... to this.
20324 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20325 getting corrupted after calling it. Added more pushes and pops.
20326 (grub_vbe_bios_set_mode): Likewise.
20327 (grub_vbe_bios_get_mode): Likewise.
20328 (grub_vbe_bios_get_memory_window): Likewise.
20329 (grub_vbe_bios_set_scanline_length): Likewise.
20330 (grub_vbe_bios_get_scanline_length): Likewise.
20331 (grub_vbe_bios_get_display_start): Likewise.
20332 (grub_vbe_bios_set_palette_data): Likewise.
20333
20334 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20335 (cl_insert): Likewise.
20336 (cl_delete): Likewise.
20337
20338 * term/gfxterm.c: New file.
20339
20340 * term/i386/pc/vesafb.c: Removed file.
20341
20342 * video/video.c: New file.
20343
20344 * video/i386/pc/vbe.c (real2pm): Added new function.
20345 (grub_video_vbe_draw_pixel): Likewise.
20346 (grub_video_vbe_get_video_ptr): Likewise.
20347 (grub_video_vbe_get_pixel): Likewise
20348 (grub_video_vbe_init): Likewise.
20349 (grub_video_vbe_fini): Likewise.
20350 (grub_video_vbe_setup): Likewise.
20351 (grub_video_vbe_get_info): Likewise.
20352 (grub_video_vbe_set_palette): Likewise.
20353 (grub_video_vbe_get_palette): Likewise.
20354 (grub_video_vbe_set_viewport): Likewise.
20355 (grub_video_vbe_get_viewport): Likewise.
20356 (grub_video_vbe_map_color): Likewise.
20357 (grub_video_vbe_map_rgb): Likewise.
20358 (grub_video_vbe_map_rgba): Likewise.
20359 (grub_video_vbe_unmap_color): Likewise.
20360 (grub_video_vbe_fill_rect): Likewise.
20361 (grub_video_vbe_blit_glyph): Likewise.
20362 (grub_video_vbe_blit_bitmap): Likewise.
20363 (grub_video_vbe_blit_render_target): Likewise.
20364 (grub_video_vbe_scroll): Likewise.
20365 (grub_video_vbe_swap_buffers): Likewise.
20366 (grub_video_vbe_create_render_target): Likewise.
20367 (grub_video_vbe_delete_render_target): Likewise.
20368 (grub_video_vbe_set_active_render_target): Likewise.
20369 (grub_vbe_set_pixel_rgb): Remove function.
20370 (grub_vbe_set_pixel_index): Likewise.
20371 (index_color_mode): Remove static variable.
20372 (active_mode): Likewise.
20373 (framebuffer): Likewise.
20374 (bytes_per_scan_line): Likewise.
20375 (grub_video_vbe_adapter): Added new static variable.
20376 (framebuffer): Likewise.
20377 (render_target): Likewise.
20378 (initial_mode): Likewise.
20379 (mode_in_use): Likewise.
20380 (mode_list): Likewise.
20381
5f97350b 203822006-03-10 Marco Gerards <marco@gnu.org>
20383
20384 * configure.ac (AC_INIT): Bumped to 1.93.
20385
20386 * DISTLIST: Added `include/grub/hfs.h'.
20387
a3c5c6f8 203882006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20389
20390 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20391 18H, which might help the BIOS falling back to next boot media.
20392
6de53d26 203932006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20394
20395 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20396 Poe Chen <poe.poechen@gmail.com>.
20397
77c4a393 203982006-01-17 Marco Gerards <marco@gnu.org>
20399
20400 * include/grub/normal.h: Include <grub/script.h>.
20401 (grub_command_list): Removed struct.
20402 (grub_command_list_t): Removed type.
20403 (grub_menu_entry): Remove members `num' and `command_list'. Add
20404 members `commands' and `sourcecode'.
20405 * include/grub/script.h: Add inclusion guards.
20406 (grub_script_cmd_menuentry): New struct.
20407 (grub_script_execute_menuentry): New prototype.
20408 (grub_script_lexer_record_start): Likewise.
20409 (grub_script_lexer_record_stop): Likewise.
20410 * normal/execute.c (grub_script_execute_menuentry): New function.
20411 * normal/lexer.c (record, recording, recordpos, recordlen): New
20412 variables.
20413 (grub_script_lexer_record_start): New function.
20414 (grub_script_lexer_record_stop): Likewise.
20415 (recordchar): Likewise.
20416 (nextchar): Likewise.
20417 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20418 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20419 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20420 (current_menu): New variable.
20421 (free_menu): Mainly rewritten.
20422 (grub_normal_menu_addentry): New function.
20423 (read_config_file): Rewritten.
20424 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 20425 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 20426 the menu entry.
20427 (run): Mainly rewritten.
20428 * normal/parser.y (menu_entry): New variable.
20429 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20430 (menuentry): New rule.
20431 (command): Add `menuentry'.
20432 (if_statement): Allow additional returns before `fi'.
20433 * normal/script.c (grub_script_create_cmdmenu): New function.
20434
144f1f98 204352006-01-03 Marco Gerards <marco@gnu.org>
20436
20437 * INSTALL: GNU Bison is required.
20438 * configure.ac: Rewritten the test to detect Bison.
20439 * Makefile.in (YACC): New variable. Reported by Xun Sun
20440 <xun.sun.cn@gmail.com>.
20441
af4b2d89 204422006-01-03 Marco Gerards <marco@gnu.org>
20443
20444 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
20445 the HFS+ filesystem to filesystem blocks.
20446 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
20447 GCC warning is silenced.
20448
15643b71 204492006-01-03 Marco Gerards <marco@gnu.org>
20450
20451 * partmap/apple.c (apple_partition_map_iterate): Convert the data
20452 read from disk from big endian to host byte order.
20453
00905879 204542006-01-03 Hollis Blanchard <hollis@penguinppc.org>
20455
20456 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
20457 documentation.
20458 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
20459 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
20460 embedded HFS+ filesystem.
20461 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20462 (grub_hfs_sblock): Move from here...
20463 * include/grub/hfs.h: To here... New file.
20464 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20465 documentation.
20466 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20467 New macros.
20468 (grub_hfsplus_volheader): Change type of member `magic' to
20469 `grub_uint16_t'.
20470 (grub_hfsplus_data): Add new member `embedded_offset'.
20471 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20472 returned block.
20473 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20474 Calculate the offset.
20475
8899bc3e 204762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20477
20478 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20479 Removed.
20480 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20481
ae8c0277 204822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20483
20484 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20485 ENV->NAME is NULL after allocating ENV->VALUE.
20486
07084456 204872005-12-25 Marco Gerards <marco@gnu.org>
20488
20489 * kern/env.c (grub_env_set): Rewritten the error handling code.
20490
4750f5f1 204912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20492
20493 * geninit.sh: Made more robust, and more portable.
20494
50214199 204952005-12-25 Marco Gerards <marco@gnu.org>
20496
20497 Add support for Apple HFS+ filesystems.
f19dbdb7 20498
50214199 20499 * fs/hfsplus.c: New file.
20500
20501 * DISTLIST: Added `fs/hfsplus.c'.
20502
20503 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20504 (hfsplus_mod_SOURCES): New variable.
20505 (hfsplus_mod_CFLAGS): Likewise.
20506 (hfsplus_mod_LDFLAGS): Likewise.
20507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20508 (grub_setup_SOURCES): Likewise.
20509 (grub_mkdevicemap_SOURCES): Likewise.
20510 (grub_emu_SOURCES): Likewise.
20511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20512
20513 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20514
20515 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20516
befaed6c 205172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20518
20519 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20520 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
20521 include/grub/parser.h, include/grub/script.h, kern/parser.c,
20522 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
20523 normal/lexer.c, normal/parser.y, normal/script.c, and
20524 partmap/gpt.c.
20525 Removed kern/sparc64/cache.c.
20526
20527 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
20528 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
20529 grub_emu_init.c.
20530
20531 * configure.ac (AC_INIT): Bumped to 1.92.
20532
6a124103 205332005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
20534
20535 * kern/err.c (grub_error_push): Added new function to support error
20536 stacks.
20537 (grub_error_pop): Likewise.
20538 (grub_error_stack_items): New local variable to support error stacks.
20539 (grub_error_stack_pos): Likewise.
20540 (grub_error_stack_assert): Likewise.
20541 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
20542 stack depth.
20543 (grub_print_error): Added support to print errors from error stack.
20544
20545 * include/grub/err.h (grub_error_push): Added function prototype.
20546 (grub_error_pop): Likewise.
20547
be973c1b 205482005-12-09 Hollis Blanchard <hollis@penguinppc.org>
20549
20550 * configure.ac: Accept `powerpc64' as host_cpu.
20551 (amd64): Rename to `biarch32'.
20552
20553 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
20554 non-cacheline-aligned addresses.
20555
20556 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
20557 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
20558 if `size' is non-zero.
20559
b04216ab 205602005-12-03 Marco Gerards <mgerards@xs4all.nl>
20561
20562 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
20563 and `cd' to make sure the filename is not prefixed with a
20564 directory name.
20565 (pkgdata_MODULES): Add `gpt.mod'.
20566 (gpt_mod_SOURCES): New variable.
20567 (gpt_mod_CFLAGS): Likewise.
20568 (gpt_mod_LDFLAGS): Likewise.
20569
20570 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
20571
20572 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
20573 New macro.
20574
20575 * partmap/gpt.c: New file.
20576
20577 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
20578 GPT partition map is detected.
20579
41730ed9 205802005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
20581
20582 * commands/i386/pc/play.c: New file.
20583 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
20584 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
20585 macros.
f19dbdb7 20586
95dc3643 205872005-11-27 Marco Gerards <mgerards@xs4all.nl>
20588
20589 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
20590 ((unused))' to silence gcc warning.
20591
1569ec51 205922005-11-26 Hollis Blanchard <hollis@penguinppc.org>
20593
20594 * configure.ac: Correct `AC_PROG_YACC' test.
20595
9abde152 205962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20597
20598 * util/powerpc/ieee1275/grub-install.in: Run the mount point
20599 check before installing files.
20600
44b83271 206012005-11-22 Mike Small <smallm@panix.com>
20602
20603 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
20604 number regex so multidigit numbers are recognized correctly.
20605
206062005-11-22 Mike Small <smallm@panix.com>
20607
20608 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
20609 debugging message before attempting to claim memory.
20610 (grub_rescue_cmd_initrd): Add a claim debugging message and try
20611 multiple addresses in case of failure.
20612
9c12956b 206132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20614
20615 * term/tparm.c (get_space): Remove empty `if' statement.
20616
20617 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
20618
20619 * kern/parser.c (check_varstate): Rename `state' to 's'.
20620
aeaf81d9 206212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20622
20623 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
20624 variable definitions to the beginning of each function. Sort stack
20625 variables by size.
20626 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
20627 `buf' argument to `char *'.
20628
79bbb63f 206292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20630
20631 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
20632 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20633 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 20634 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20635 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20636 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20637 configfile.mod, search.mod, gzio.mod and test.mod.
20638 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20639 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20640 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20641 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20642 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20643 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20644 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20645 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20646 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20647 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20648 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20649 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20650 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20651 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20652 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20653 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20654 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20655 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20656 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20657 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20658 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20659 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20660 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20661
20662 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
20663 `grep --include'.
20664 (pkgdata_MODULES): Add test.mod.
20665
233b1628 206662005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20667
20668 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
20669 appending to variables with "+=".
20670 (PModule): Use full pathname to generate *.lst filenames.
20671
20672 * Makefile.in: Fixed list rules moved from genmk.rb.
20673 (.DELETE_ON_ERROR): New special target.
20674 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
20675
20676 * conf/i386-pc.rmk: Include conf/common.mk.
20677 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20678 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 20679 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20680 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20681 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20682 configfile.mod, search.mod, gzio.mod and test.mod.
20683 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20684 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20685 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20686 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20687 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20688 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20689 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20690 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20691 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20692 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20693 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20694 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20695 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20696 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20697 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20698 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20699 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20700 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20701 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20702 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20703 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20704 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20705 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
20706 here...
20707 * conf/common.rmk: ... to here. New file.
20708
20709 * conf/common.mk: New file.
20710
16f820c8 207112005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
20712
20713 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
20714 (grub_script.tab.c): ... here.
20715
20716 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
20717 (grub_script.tab.c): ... here.
20718
20719 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
20720 (grub_script.tab.c): ... here.
20721
20722 * normal/command.c (grub_command_find): Fixed a memory leak of
20723 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
20724
63ba1554 207252005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20726
20727 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
20728 "@" which marks the start of a comment on ARM.
20729 (VARIABLE): Likewise.
20730
7f67dc13 207312005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20732
79bbb63f 20733 Add support for Linux/ADFS partition tables.
7f67dc13 20734
20735 * partmap/acorn.c: New file.
20736
20737 * include/grub/acorn_filecore.h: Likewise.
20738
20739 * DISTLIST: Added `partmap/acorn.c' and
20740 `include/grub/acorn_filecore.h'.
f19dbdb7 20741
7f67dc13 20742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20743 `partmap/acorn.c'.
20744 (pkgdata_MODULES): Add `acorn.mod'.
20745 (acorn_mod_SOURCES): New variable.
20746 (acorn_mod_CFLAGS): Likewise.
20747
20748 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20749 `partmap/acorn.c'.
20750 (pkgdata_MODULES): Add `acorn.mod'.
20751 (acorn_mod_SOURCES): New variable.
20752 (acorn_mod_CFLAGS): Likewise.
20753
20754 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
20755 (pkgdata_MODULES): Add `acorn.mod'.
20756 (acorn_mod_SOURCES): New variable.
20757 (acorn_mod_CFLAGS): Likewise.
20758 (acorn_mod_LDFLAGS): Likewise.
20759
20760 * include/types.h (grub_disk_addr_t): New typedef.
20761
6d099807 207622005-11-13 Marco Gerards <mgerards@xs4all.nl>
20763
20764 * geninit.sh: New file.
20765
20766 * geninitheader.sh: Likewise.
20767
20768 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
20769 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
20770 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
20771 * commands/configfile.c (grub_configfile_init)
20772 (grub_configfile_fini): Likewise.
20773 * commands/default.c (grub_default_init, grub_default_fini):
20774 Likewise.
20775 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
20776 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
20777 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
20778 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
20779 Likewise.
20780 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
20781 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
20782 Likewise.
20783 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 20784 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 20785 Likewise.
20786 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
20787 Likewise.
fe6b695a 20788 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 20789 Likewise.
20790 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
20791 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
20792 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
20793 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
20794 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
20795 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
20796 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
20797 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
20798 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
20799 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
20800 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
20801 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
20802 * partmap/amiga.c (grub_amiga_partition_map_init)
20803 (grub_amiga_partition_map_fini): Likewise.
20804 * partmap/apple.c (grub_apple_partition_map_init)
20805 (grub_apple_partition_map_fini): Likewise.
20806 * partmap/pc.c (grub_pc_partition_map_init)
20807 (grub_pc_partition_map_fini): Likewise.
20808 * partmap/sun.c (grub_sun_partition_map_init,
20809 grub_sun_partition_map_fini): Likewise.
20810 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
20811 Likewise.
20812
20813 * util/grub-emu.c: Include <grub_modules_init.h>.
20814 (main): Don't initialize and de-initialize any modules directly,
20815 use `grub_init_all' and `grub_fini_all' instead.
20816
20817 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
20818 `grub_vesafb_mod_init'.
20819 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
20820 all users.
20821 * term/i386/pc/vga.c (grub_vga_init): Renamed to
20822 `grub_vga_mod_init'. Updated all users.
20823 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 20824
6d099807 20825 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
20826 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
20827 rules.
20828
20829 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
20830 Generate a function to initialize the module in utilities.
20831 Updated all callers.
20832 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
20833 initialize the module in utilities. Updated all callers.
20834
9046bcf0 208352005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20836
20837 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
20838 escape sequence and a literal ^L to clear the screen.
20839
20840 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
20841 when returning from Open Firmware.
20842
d13ea639 208432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20844
20845 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
20846 (grub_ofconsole_height): Likewise.
20847 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
20848 manually insert a '\n'.
20849 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
20850 `grub_ofconsole_height'. Return early if these are already set.
20851
a8fcf206 208522005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
20853
20854 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20855 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
20856 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
20857 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
20858 and `normal/script.c'.
20859 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20860 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20861 (test_mod_SOURCES): New variable.
20862 (test_mod_CFLAGS): Likewise.
20863 (test_mod_LDFLAGS): Likewise.
20864 (pkgdata_MODULES): Add `test.mod'.
20865 (grub_script.tab.c): New rule.
20866 (grub_script.tab.h): Likewise.
20867
b6b32745 208682005-11-07 Marco Gerards <mgerards@xs4all.nl>
20869
20870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20871 `commands/test.c', `normal/execute.c', `normal/lexer.c',
20872 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20873 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20874 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20875 (test_mod_SOURCES): New variable.
20876 (test_mod_CFLAGS): Likewise.
20877 (pkgdata_MODULES): Add `test.mod'.
20878 (grub_script.tab.c): New rule.
20879 (grub_script.tab.h): Likewise.
20880
daac212a 208812005-11-06 Marco Gerards <mgerards@xs4all.nl>
20882
20883 Add initial scripting support.
20884
20885 * commands/test.c: New file.
20886 * include/grub/script.h: Likewise.
20887 * normal/execute.c: Likewise.
20888 * normal/function.c: Likewise.
20889 * normal/lexer.c: Likewise.
20890 * normal/parser.y: Likewise.
20891 * normal/script.c: Likewise.
20892
20893 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 20894
daac212a 20895 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
20896 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
20897 `normal/function.c' and `normal/script.c'.
20898 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20899 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 20900 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
20901 variables.
daac212a 20902 (pkgdata_MODULES): Add `test.mod'.
20903 (grub_script.tab.c): New rule.
20904 (grub_script.tab.h): Likewise.
20905
20906 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
20907
20908 * include/grub/normal.h (grub_test_init): New prototype.
20909 (grub_test_fini): Likewise.
f19dbdb7 20910
daac212a 20911 * normal/command.c: Include <grub/script.h>.
20912 (grub_command_execute): Rewritten.
f19dbdb7 20913
daac212a 20914 * util/grub-emu.c (main): Call `grub_test_init' and
20915 `grub_test_fini'.
20916
77500b2b 209172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20918
20919 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
20920 to 0.
20921 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
20922 there are no pending characters.
20923
e45deb9e 209242005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20925
20926 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
20927 `grub_strndup' to drop device arguments. Replace unnecessary
20928 `grub_strndup' with `grub_strdup'.
20929
4ce32619 209302005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20931
20932 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
20933 `debug' environment variable has been set.
20934
209352005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20936
4ce32619 20937 * Makefile.in (install-local): Use $(DATA).
20938 (uninstall): Likewise.
20939 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
20940 (sbin_UTILITIES): ... to here.
20941 (sbin_SCRIPTS): New variable.
20942 (grub_install_SOURCES): New variable.
20943 * util/powerpc/ieee1275/grub-install.in: New file.
20944 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
20945 variable.
20946 (add_segments): Call `grub_util_get_path'.
20947
25fe6f03 209482005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20949
20950 From Timothy Baldwin:
20951 * commands/ls.c (grub_ls_list_files): Close FILE with
20952 grub_file_close.
20953 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
20954
04ccf3ec 209552005-10-24 Marco Gerards <mgerards@xs4all.nl>
20956
20957 * include/grub/parser.h: New file.
20958
20959 * kern/parser.c: Likewise.
20960
20961 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
20962 (grub_setup_SOURCES): Likewise.
20963 (grub_probefs_SOURCES): Likewise.
20964 (grub_emu_SOURCES): Likewise.
20965 (kernel_img_HEADERS): Add `parser.h'.
20966
20967 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20968 (grub_emu_SOURCES): Add `kern/parser.c'.
20969 (grubof_SOURCES): Likewise.
20970
20971 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20972 (grubof_SOURCES): Add `kern/parser.c'.
20973
20974 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
20975
20976 * kern/misc.c (grub_split_cmdline): Removed function.
20977
20978 * kern/rescue.c: Include <grub/parser.h>.
20979 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
20980 of `grub_split_cmdline'.
20981
20982 * normal/command.c: Include <grub/parser.h>.
20983 (grub_command_execute): Use `grub_parser_split_cmdline' instead
20984 of `grub_split_cmdline'.
20985
20986 * normal/completion.c: Include <grub/parser.h>.
20987 (cmdline_state): New variable.
20988 (iterate_dir): End the filename with a quote depending on the
20989 command line state.
20990 (get_state): new function.
20991 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
20992 split the arguments and determine the current argument. When the
20993 argument string is not quoted, escape all spaces.
20994
6d8f4b0e 209952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20996
20997 * normal/sparc64/setjmp.S: New file.
20998
15cf03ed 209992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21000
21001 * include/grub/sparc64/libgcc.h: New file.
21002 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
21003 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
21004 normal/sparc64/setjmp.c.
21005
03e8661a 210062005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21007
21008 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
21009 * kern/sparc64/cache.S: New file.
21010 * kern/sparc64/cache.c: Removed.
21011 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
21012 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
21013 -mtune=ultrasparc.
21014 (COMMON_LDFLAGS): Add -melf64_sparc.
21015 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
21016 (grubof_SOURCES): Use cache.S instead of cache.c.
21017 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
21018 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
21019 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
21020 commented though.
21021 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
21022 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
21023 (linux_mod_CFLAGS): Commented out.
21024 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
21025 out because module isn't built.
21026 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
21027 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
21028 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
21029 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
21030 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
21031 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21032 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21033 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
21034 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
21035 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
21036 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21037 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21038 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
21039 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
21040
34eeec8a 210412005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
21042
21043 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
21044 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
21045 longer, because HFS should not be used on PC.
21046
708367a3 210472005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21048
21049 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
21050 consistently within the loop.
21051
6fa1251a 210522005-10-15 Marco Gerards <mgerards@xs4all.nl>
21053
21054 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
21055 directory can not be read.
21056
4801580b 210572005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21058
21059 * configure.ac (AC_INIT): Increase the version number to 1.91.
21060
21061 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
21062 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
21063 term/i386/pc/serial.c.
21064
219ad426 210652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21066
21067 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
21068 file size must be permitted.
21069
21070 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
21071 between %ah and %al.
21072
688e5699 210732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21074
21075 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
21076 grub_uint64_t.
21077 Call the hook with a NUL-terminated filename.
21078 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
21079 grub_cpu_to_be32.
21080
21081 * kern/term.c (cursor_state): New variable.
21082 (grub_term_set_current): Reset the cursor state on a new
21083 terminal.
21084 (grub_setcursor): Rewritten to use CURSOR_STATE.
21085 (grub_getcursor): New function.
21086
21087 * include/grub/term.h (grub_getcursor): New prototype.
21088
21089 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
21090 integers on ARM. Reported by Timothy Baldwin
21091 <T.E.Baldwin99@members.leeds.ac.uk>.
21092
bb34586c 210932005-10-11 Marco Gerards <mgerards@xs4all.nl>
21094
21095 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
21096 allocated.
21097 (grub_sfs_dir): Likewise.
21098
9a909877 210992005-10-09 Marco Gerards <mgerards@xs4all.nl>
21100
21101 Add support for the SFS filesystem.
21102
21103 * fs/sfs.c: New file.
21104
21105 * DISTLIST: Added `fs/sfs.c'.
21106
21107 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
21108 (grub_probefs_SOURCES): Likewise.
21109 (grub_emu_SOURCES): Likewise.
21110 (pkgdata_MODULES): Add `sfs.mod'.
21111 (sfs_mod_SOURCES): New variable.
21112 (sfs_mod_CFLAGS): Likewise.
21113 (sfs_mod_LDFLAGS): Likewise.
21114
21115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
21116 (pkgdata_MODULES): Add `sfs.mod'.
21117 (sfs_mod_SOURCES): New variable.
21118 (sfs_mod_CFLAGS): Likewise.
21119
21120 * util/grub-emu.c (main): Call `grub_sfs_init' and
21121 `grub_sfs_fini'.
21122
21123 * include/grub/fs.h (grub_sfs_init): New prototype.
21124 (grub_sfs_fini): Likewise.
21125
57bdbde3 211262005-10-07 Marco Gerards <mgerards@xs4all.nl>
21127
21128 Add support for the AFFS filesystem.
21129
21130 * fs/affs.c: New file.
21131
21132 * DISTLIST: Added `fs/affs.c'.
21133
21134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
21135 (grub_probefs_SOURCES): Likewise.
21136 (grub_emu_SOURCES): Likewise.
21137 (pkgdata_MODULES): Add `affs.mod'.
21138 (affs_mod_SOURCES): New variable.
21139 (affs_mod_CFLAGS): Likewise.
21140 (affs_mod_LDFLAGS): Likewise.
21141
21142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
21143 (pkgdata_MODULES): Add `affs.mod'.
21144 (affs_mod_SOURCES): New variable.
21145 (affs_mod_CFLAGS): Likewise.
21146
21147 * util/grub-emu.c (main): Call `grub_affs_init' and
21148 `grub_affs_fini'.
21149
21150 * include/grub/fs.h (grub_affs_init): New prototype.
21151 (grub_affs_fini): Likewise.
21152
047b67e0 211532005-10-01 Marco Gerards <mgerards@xs4all.nl>
21154
21155 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
21156
59b8208a 211572005-10-01 Marco Gerards <mgerards@xs4all.nl>
21158
21159 * configure.ac: Accept `x86_64' as host_cpu. In that case add
21160 `-m32' to CFLAGS.
21161
21162 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
21163 linking.
f19dbdb7 21164
59b8208a 21165 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
21166 (COMMON_LDFLAGS): New variable.
21167 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
21168 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
21169 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
21170 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
21171 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
21172 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
21173 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
21174 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
21175 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
21176 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
21177 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21178 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21179 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
21180 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
21181 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
21182 variables.
21183 (normal_mod_ASFLAGS): Add `-m32'.
21184
21185 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
21186 (grub_host_size_t, grub_host_ssize_t): New types.
21187 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 21188 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 21189 `GRUB_HOST_SIZEOF_VOID_P'.
21190
21191 * include/grub/kernel.h (struct grub_module_header): Type of
21192 member offset changed to `grub_host_off_t'. Type of member size
21193 changed to `grub_host_size_t'.
21194 (struct grub_module_info): Type of member offset changed to
21195 `grub_host_off_t'. Type of member size changed to
21196 `grub_host_size_t'.
21197
b4093103 211982005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
21199
21200 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 21201
b4093103 21202 * kern/i386/pc/startup.S (multiboot_header): New label.
21203 (multiboot_entry): Likewise.
21204 (multiboot_trampoline): Likewise.
21205
21206 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21207 Increased to 0x4A0.
21208
21209 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
21210 put parentheses after a question mark.
21211 [!GRUB_UTIL] (my_mod): New variable.
21212
21213 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
21214
b2499b29 212152005-09-28 Marco Gerards <mgerards@xs4all.nl>
21216
21217 Adds support for the XFS filesystem. Btrees are not supported
21218 yet.
21219
21220 * fs/xfs.c: New file.
21221
21222 * DISTLIST: Added `fs/xfs.c'.
21223
21224 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
21225 (grub_probefs_SOURCES): Likewise.
21226 (grub_emu_SOURCES): Likewise.
21227 (pkgdata_MODULES): Add `xfs.mod'.
21228 (xfs_mod_SOURCES): New variable.
21229 (xfs_mod_CFLAGS): Likewise.
21230
21231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
21232 (pkgdata_MODULES): Add `xfs.mod'.
21233 (xfs_mod_SOURCES): New variable.
21234 (xfs_mod_CFLAGS): Likewise.
21235
21236 * util/grub-emu.c (main): Call `grub_xfs_init' and
21237 `grub_xfs_fini'.
21238
21239 * include/grub/fs.h (grub_xfs_init): New prototype.
21240 (grub_xfs_fini): Likewise.
21241
f19dbdb7 21242
83d37a62 212432005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
21244
21245 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
21246 color modes, allow greater than 16 colors to be configured as
21247 a default palette.
21248
47d2d65e 212492005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21250
21251 * normal/completion.c (complete_arguments): Add the qualifier
21252 const into OPTIONS.
21253
21254 From Omniflux <omniflux+lists@omniflux.com>:
21255 * include/grub/terminfo.h: New file.
21256 * include/grub/tparm.h: Likewise.
21257 * include/grub/i386/pc/serial.h: Likewise.
21258 * term/terminfo.c: Likewise.
21259 * term/tparm.c: Likewise.
21260 * term/i386/pc/serial.c: Likewise.
21261 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
21262 serial.mod.
21263 (terminfo_mod_SOURCES): New variable.
21264 (terminfo_mod_CFLAGS): Likewise.
21265 (serial_mod_SOURCES): Likewise.
21266 (serial_mod_CFLAGS): Likewise.
21267
48b671ff 212682005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
21269
21270 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
21271 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
21272 and kern/powerpc/ieee1275/cmain.c, respectively.
21273
21274 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21275 * kern/powerpc/ieee1275/crt0.S: ... here.
21276
21277 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21278 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 21279
48b671ff 21280 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21281 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21282 instead of boot/powerpc/ieee1275/crt0.S and
21283 boot/powerpc/ieee1275/cmain.c, respectively.
21284
21285 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21286 sectors. It was not used anyway.
21287
09fc77a7 212882005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21289
21290 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21291 `unused parameter' warning.
21292
003789c7 212932005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21294
21295 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21296 function.
21297 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21298 getcharwidth.
21299
67f44c86 213002005-08-28 Marco Gerards <metgerards@student.han.nl>
21301
21302 * include/grub/normal.h (enum grub_completion_type): Added
21303 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21304
21305 * normal/cmdline.c (print_completion): Handle
21306 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21307 * normal/menu_entry.c (store_completion): Likewise.
21308
21309 * normal/completion.c (complete_arguments): New function.
21310 (grub_normal_do_completion): Call `complete_arguments' when the
21311 current words start with a dash.
21312
0b5abe02 213132005-08-27 Marco Gerards <metgerards@student.han.nl>
21314
21315 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21316 `gzio.mod' instead of `io.mod').
21317
d9864ee1 213182005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21319
21320 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21321 (DISTDIRS): Added io and video.
21322 Rewrite the search routine to make an output consistently.
21323
21324 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21325 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21326 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21327 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21328 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21329 util/powerpc/ieee1275/misc.c.
f19dbdb7 21330
d9864ee1 21331 * include/grub/gzio.h: New file.
21332 * io/gzio.c: Likewise.
f19dbdb7 21333
d9864ee1 21334 * kern/file.c (grub_file_close): Call grub_device_close only if
21335 FILE->DEVICE is not NULL.
21336
21337 * include/grub/mm.h [!NULL] (NULL): New macro.
21338
21339 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21340
21341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21342 (pkgdata_MODULES): Added gzio.mod.
21343 (gzio_mod_SOURCES): New variable.
21344 (gzio_mod_CFLAGS): Likewise.
21345
21346 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21347 (pkgdata_MODULES): Added gzio.mod.
21348 (gzio_mod_SOURCES): New variable.
21349 (gzio_mod_CFLAGS): Likewise.
21350
21351 * commands/cat.c: Include grub/gzio.h.
21352 (grub_cmd_cat): Use grub_gzfile_open instead of
21353 grub_file_open.
f19dbdb7 21354
d9864ee1 21355 * commands/cmp.c: Include grub/gzio.h.
21356 (grub_cmd_cmp): Use grub_gzfile_open instead of
21357 grub_file_open.
21358
21359 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21360 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21361 grub_file_open.
21362 (grub_rescue_cmd_module): Likewise.
21363
fa46f4b5 213642005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21365
21366 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21367 kern/sparc64/ieee1275/init.c because it contains _start.
21368 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21369
e9211b5d 213702005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21371
21372 * configure.ac: Add support for sparc64 host with ieee1275
21373 firmware.
21374 * configure: Generated from configure.ac.
21375 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21376 instead of int.
21377 (grub_ofdisk_read): Likewise.
21378 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21379 pointers as (void *) to remove a warning.
21380 (grub_ofdisk_close): Likewise.
21381 (grub_ofdisk_read): Likewise.
21382 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21383 returns, so make it return void to remove a warning.
21384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21385 Corresponding prototype change.
21386 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21387 values, and cast the pointers as (void *) to remove a warning.
21388 (grub_mm_dump): Likewise.
21389 * conf/sparc64-ieee1275.mk: New file.
21390 * conf/sparc64-ieee1275.rmk: Likewise.
21391 * include/grub/sparc64/setjmp.h: Likewise.
21392 * include/grub/sparc64/types.h: Likewise.
21393 * include/grub/sparc64/ieee1275/console.h: Likewise.
21394 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21395 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21396 * include/grub/sparc64/ieee1275/time.h: Likewise.
21397 * kern/sparc64/cache.c: Likewise.
21398 * kern/sparc64/dl.c: Likewise.
21399 * kern/sparc64/ieee1275/init.c: Likewise.
21400 * kern/sparc64/ieee1275/openfw.c: Likewise.
21401
385c6a92 214022005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21403
21404 * util/console.c (grub_ncurses_putchar): If C is greater than
21405 0x7f, set C to a question mark.
21406 (grub_ncurses_getcharwidth): New function.
21407 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21408 getcharwidth.
21409
21410 * normal/menu.c (print_entry): Made aware of Unicode. First,
21411 convert TITLE to UCS-4, and predict the cursor position by
21412 grub_getcharwidth.
21413
21414 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21415 const to SRC.
21416 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21417
16ccb8b1 214182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21419
21420 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21421 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21422 grub_strcat.
21423
21424 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21425 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21426 grub_strcpy and grub_strlen. Take it into account that a space
21427 character is inserted as a delimiter.
21428
6a85ce79 214292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21430
21431 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 21432 invalid magic in the error.
6a85ce79 21433
21434 * commands/search.c: New file.
f19dbdb7 21435
6a85ce79 21436 * util/grub-emu.c (main): Call grub_search_init and
21437 grub_search_fini.
21438
21439 * kern/rescue.c (grub_rescue_print_disks): Removed.
21440 (grub_rescue_print_devices): New function.
21441 (grub_rescue_cmd_ls): Use grub_device_iterate with
21442 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21443 grub_rescue_print_disks.
21444
21445 * kern/partition.c (grub_partition_iterate): Return the result of
21446 PARTMAP->ITERATE instead of GRUB_ERRNO.
21447
21448 * kern/device.c: Include grub/partition.h.
21449 (grub_device_iterate): New function.
21450
21451 * include/grub/partition.h (grub_partition_iterate): Return int
21452 instead of grub_err_t.
21453
21454 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
21455 prototype.
21456 [GRUB_UTIL] (grub_search_fini): Likewise.
21457
21458 * include/grub/device.h (grub_device_iterate): New prototype.
21459
21460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21461 commands/search.c.
21462 (pkgdata_MODULES): Added search.mod.
21463 (search_mod_SOURCES): New variable.
21464 (search_mod_CFLAGS): Likewise.
21465
21466 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21467 (pkgdata_MODULES): Added search.mod.
21468 (search_mod_SOURCES): New variable.
21469 (search_mod_CFLAGS): Likewise.
21470
21471 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21472 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21473 All callers changed.
21474
21475 * DISTLIST: Added commands/search.c.
21476
ef095434 214772005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21478
21479 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21480 conversion.
21481 (grub_getcharwidth): New function.
21482
21483 * kern/misc.c (grub_utf8_to_ucs4): New function.
21484
21485 * include/grub/term.h (struct grub_term): Added a new member
21486 "getcharwidth".
21487 (grub_getcharwidth): New prototype.
21488
21489 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21490
21491 * term/i386/pc/console.c (map_char): New function. Segregated from
21492 grub_console_putchar.
21493 (grub_console_putchar): Use map_char.
21494 (grub_console_getcharwidth): New function.
21495 (grub_console_term): Specified grub_console_getcharwidth as
21496 getcharwidth.
21497
21498 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21499 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21500
21501 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21502 GRUB_ERRNO.
21503 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21504 on grub_strtoul completely.
21505 (write_char): Declare local variables in the beginning of the
21506 function.
21507 (grub_vesafb_getcharwidth): New function.
21508 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21509 getcharwidth.
21510
1f0a95e4 215112005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21512
21513 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21514 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21515 commands/i386/pc/vbetest.c.
21516
21517 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21518 call grub_vbe_get_controller_info again, because the returned
21519 information is volatile.
21520 (grub_vbe_set_video_mode): Mostly rewritten.
21521 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
21522 grub_vbe_status_t correctly.
21523 (grub_vbe_get_video_mode_info): Likewise.
21524 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
21525 several if statements.
21526
21527 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
21528 * commands/i386/pc/vbeinfo.c: ... this.
21529
21530 * commands/i386/pc/vbe_test.c: Renamed to ...
21531 * commands/i386/pc/vbetest.c: ... this.
21532
21533 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
21534 ...
21535 (grub_cmd_vbeinfo): ... this. Save video modes before
21536 iterating. Skip a video mode, if it is not available, not enough
21537 information is given or it is monochrome. Show the memory
21538 model. Leave the interpretation of MODEVAR to grub_strtoul
21539 completely.
21540 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
21541 (GRUB_MOD_FINI): Likewise.
21542
21543 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
21544 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
21545 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
21546 duplicated grub_env_get. Leave the interpretation of MODEVAR to
21547 grub_strtoul completely.
21548 (real2pm): Removed.
21549 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
21550 (GRUB_MOD_FINI): Likewise.
21551
21552 * normal/misc.c: Include grub/mm.h.
21553
21554 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
21555 vbe_list_modes with vbetest.mod and vbeinfo.mod.
21556 (vbe_list_modes_mod_SOURCES): Removed.
21557 (vbe_list_modes_mod_CFLAGS): Likewise.
21558 (vbe_test_mod_SOURCES): Likewise.
21559 (vbe_test_mod_CFLAGS): Likewise.
21560 (vbeinfo_mod_SOURCES): New variable.
21561 (vbeinfo_mod_CFLAGS): Likewise.
21562 (vbetest_mod_SOURCES): Likewise.
21563 (vbetest_mod_CFLAGS): Likewise.
21564
992ffbbe 215652005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
21566
21567 * normal/misc.c: New file.
21568
21569 * DISTLIST: Added normal/misc.c.
f19dbdb7 21570
992ffbbe 21571 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
21572 DISK to HOOK. Call HOOK with DISK.
21573 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21574 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21575 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21576
21577 * normal/menu_entry.c (struct screen): Added a new member
21578 "completion_shown".
21579 (completion_buffer): New global variable.
21580 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
21581 (store_completion): New function.
21582 (complete): Likewise.
21583 (clear_completions): Likewise.
21584 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
21585 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
21586 a tab, call complete.
21587
21588 * normal/completion.c (disk_dev): Removed.
21589 (print_simple_completion): Likewise.
21590 (print_partition_completion): Likewise.
21591 (print_func): New global variable.
21592 (add_completion): Do not take the arguments WHAT or PRINT any
21593 longer. Added a new argument TYPE. Instead of printing directly,
21594 call PRINT_FUNC if not NULL.
21595 All callers changed.
21596 (complete_device): Use a local variable DEV instead of
21597 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
21598 (grub_normal_do_completion): Take a new argument HOOK. Do not
21599 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
21600 empty string, return NULL instead.
21601 All callers changed.
21602
21603 * normal/cmdline.c (print_completion): New function.
21604
21605 * kern/partition.c (grub_partition_iterate): Add an argument DISK
21606 to HOOK.
21607 All callers changed.
21608
21609 * kern/disk.c (grub_print_partinfo): Removed.
21610
21611 * include/grub/partition.h (struct grub_partition_map): Add a new
21612 argument DISK into HOOK of ITERATE.
21613 (grub_partition_iterate): Add a new argument DISK to HOOK.
21614
21615 * include/grub/normal.h (enum grub_completion_type): New enum.
21616 (grub_completion_type_t): New type.
21617 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
21618 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
21619 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
21620 (GRUB_COMPLETION_TYPE_FILE): Likewise.
21621 (grub_normal_do_completion): Added a new argument HOOK.
21622 (grub_normal_print_device_info): New prototype.
21623
21624 * include/grub/disk.h (grub_print_partinfo): Removed.
21625
21626 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
21627 (normal_mod_SOURCES): Likewise.
21628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21629 (normal_mod_SOURCES): Likewise.
21630
21631 * commands/ls.c (grub_ls_list_disks): Use
21632 grub_normal_print_device_info instead of grub_print_partinfo. Free
21633 PNAME.
21634 (grub_ls_list_files): Use grub_normal_print_device_info instead of
21635 duplicating the code.
21636
0bd41162 216372005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21638
21639 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 21640 follow GCS more precisely.
21641 * commands/i386/pc/vbe_test.c: Likewise.
21642 * include/grub/i386/pc/vbe.h: Likewise.
21643 * term/i386/pc/vesafb.c: Likewise.
21644 * video/i386/pc/vbe.c: Likewise.
0bd41162 21645
6323696a 216462005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21647
21648 * DISTLIST: Added term/i386/pc/vesafb.c
21649 DISTLIST: Added video/i386/pc/vbe.c
21650 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
21651 DISTLIST: Added commands/i386/pc/vbe_test.c.
21652 * commands/i386/pc/vbe_list_modes.c: New file.
21653 * commands/i386/pc/vbe_test.c: Likewise.
21654 * term/i386/pc/vesafb.c: Likewise.
21655 * video/i386/pc/vbe.c: Likewise.
21656 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
21657 (grub_vbe_probe) Added prototype.
21658 (grub_vbe_set_video_mode) Likewise.
21659 (grub_vbe_get_video_mode) Likewise.
21660 (grub_vbe_get_video_mode_info) Likewise.
21661 (grub_vbe_set_pixel_rgb) Likewise.
21662 (grub_vbe_set_pixel_index) Likewise.
21663 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
21664 (pkgdata_MODULES): Added vesafb.mod.
21665 (pkgdata_MODULES): Added vbe_list_modes.mod.
21666 (pkgdata_MODULES): Added vbe_test.mod.
21667 (vbe_mod_SOURCES): Added.
21668 (vbe_mod_CFLAGS): Likewise.
21669 (vesafb_mod_SOURCES): Likewise.
21670 (vesafb_mod_CFLAGS): Likewise.
21671 (vbe_list_modes_mod_SOURCES): Likewise.
21672 (vbe_list_modes_mod_CFLAGS): Likewise.
21673 (vbe_test_mod_SOURCES): Likewise.
21674 (vbe_test_mod_CFLAGS): Likewise.
21675
0a74e62f 216762005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
21677
0a74e62f 21678 * normal/command.c (grub_command_execute): If INTERACTIVE is
21679 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
21680 CMDLINE. Disable the pager if INTERACTIVE is true.
21681 All callers are changed.
21682
21683 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
21684 before reading a config file.
21685 * normal/main.c (read_config_file): Even if a command is not
21686 found, register it if it is within an entry.
21687
21688 * util/grub-emu.c: Include sys/types.h and unistd.h.
21689 (options): Added --hold.
21690 (struct arguments): Added a new member "hold".
21691 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
21692 missing.
21693 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
21694 cleared by a debugger, if it is not zero.
21695
21696 * include/grub/normal.h (grub_command_execute): Add an argument
21697 INTERACTIVE.
21698
e51f85ae 216992005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
21700
21701 * DISTLIST: Added include/grub/i386/pc/vbe.h.
21702
e9c6f39b 217032005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
21704
21705 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
21706 program with another one, because the old one didn't detect a bug
21707 in gcc-3.4. Always use regparm 2, because the new test is still
21708 not enough for gcc-4.0. Someone must investigate a simple test
21709 case which detects a bug in gcc-4.0.
21710
8de3495c 217112005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
21712
21713 * DISTLIST: Added normal/completion.c.
21714
21715 * normal/completion.c: New file.
f19dbdb7 21716
8de3495c 21717 * term/i386/pc/console.c (grub_console_getwh): New function.
21718 (grub_console_term): Assign grub_console_getwh to getwh.
21719
21720 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
21721 function is defined in normal/completion.c as
21722 grub_normal_do_completion.
21723 (grub_cmdline_get): Use grub_normal_do_completion instead of
21724 grub_tab_complete.
21725
21726 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
21727 returns non-zero, otherwise return 0.
21728 (grub_partition_iterate): First, probe the partition map. Then,
21729 call ITERATE only for this partition map.
21730
21731 * kern/misc.c (grub_strncmp): Rewritten.
21732
21733 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
21734 returns non-zero. Otherwise return 0.
21735
21736 * include/grub/partition.h (grub_partition_map_iterate): Return
21737 int instead of void.
21738
21739 * include/grub/normal.h (grub_normal_do_completion): New prototype.
21740
21741 * include/grub/misc.h (grub_strncmp): Change the type of N to
21742 grub_size_t.
21743
21744 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
21745 of void.
21746
21747 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 21748 unsigned explicitly before comparing it with I.
8de3495c 21749
21750 * kern/main.c (grub_env_write_root): Add the attribute unused into
21751 VAR.
21752
21753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21754 normal/completion.c.
21755 (normal_mod_SOURCES): Likewise.
21756 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21757 (normal_mod_SOURCES): Likewise.
21758
21759 * normal/command.c (grub_iterate_commands): If ITERATE returns
21760 non-zero, return one immediately.
21761
e85e144b 217622005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
21763
21764 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
21765 * kern/i386/pc/startup.S: Updated Global Descriptor table's
21766 descriptions.
21767 (grub_vbe_get_controller_info): New function.
21768 (grub_vbe_get_mode_info): Likewise.
21769 (grub_vbe_set_mode): Likewise.
21770 (grub_vbe_get_mode): Likewise.
21771 (grub_vbe_set_memory_window): Likewise.
21772 (grub_vbe_get_memory_window): Likewise.
21773 (grub_vbe_set_scanline_length): Likewise.
21774 (grub_vbe_get_scanline_length): Likewise.
21775 (grub_vbe_set_display_start): Likewise.
21776 (grub_vbe_get_display_start): Likewise.
21777 (grub_vbe_set_palette_data): Likewise.
21778 * include/grub/i386/pc/vbe.h: New file.
21779
c46153d2 217802005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21781
21782 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21783 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
21784 * DISTLIST: Likewise.
21785 * kern/ieee1275/of.c: Moved to ...
21786 * kern/ieee1275/ieee1275.c: ... here.
21787
0cb90c45 217882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21789
21790 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
21791 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
21792 Pass 0 as `end' parameter to grub_strtoul().
21793
a19fb360 217942005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21795
21796 * include/grub/powerpc/ieee1275/console.h: Do not include
21797 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
21798 ifdef.
21799 (grub_console_cur_color): Remove i386-specific prototype.
21800 (grub_console_real_putchar): Likewise.
21801 (grub_console_checkkey): Likewise.
21802 (grub_console_getkey): Likewise.
21803 (grub_console_getxy): Likewise.
21804 (grub_console_gotoxy): Likewise.
21805 (grub_console_cls): Likewise.
21806 (grub_console_setcursor): Likewise.
21807 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
21808 Include <grub/machine/console.h>.
21809 * term/ieee1275/ofconsole.c: Likewise.
21810
4ac9bd04 218112005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
21812
21813 * Makefile.in (LIBLZO): New variable.
21814
21815 * configure.ac: Check for LZO version 2.
21816
21817 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
21818 lzo/lzo1x.h instead of lzo1x.h.
21819
21820 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
21821 of -llzo.
21822
21823 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
21824 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
21825
21826 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
21827 copying the data from PARTITION to P.
21828
f4917dfd 218292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21830
21831 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
21832 negative, unload the module.
21833
21834 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
21835 map is "pc_partition_map" but not "pc".
21836 (usage): Fix the description. The options are --boot-image and
21837 --core-image but not --boot-file or --core-file.
21838 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
21839 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
21840 DEFAULT_DIRECTORY.
21841
21842 * util/i386/pc/grub-install.in: Do not specify --boot-file or
21843 --core-file. Specify INSTALL_DEVICE as an argument.
21844
21845 * util/console.c: Include config.h.
21846 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
21847 [HAVE_NCURSES_H]: Include ncurses.h.
21848 [HAVE_CURSES_H]: Include curses.h.
21849 [!A_NORMAL] (A_NORMAL): Defined as zero.
21850 [!A_STANDOUT] (A_STANDOUT): Likewise.
21851
21852 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
21853 -lncurses.
21854 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
21855
21856 * configure.ac: Check for curses libraries and headers.
21857
21858 * Makefile.in (LIBCURSES): New variable.
21859
21860 * genmk.rb (Script::rule): Set the executable bits.
21861
21862 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
21863 name of the PC partition map is "pc_partition_map" but not "pc".
21864
0e143073 218652005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21866
21867 * util/i386/pc/grub-install.in (grub_probefs): New variable.
21868 (modules): Likewise.
21869 (usage): Added descriptions for --modules and --grub-probefs.
21870 Handle --modules and --grub-probefs. Save the arguments in MODULES
21871 and GRUB_PROBEFS, respectively.
21872 Auto-detect a filesystem module against GRUBDIR. If the result is
21873 empty and modules are not specified explicitly, abort the
21874 installation. Add the result to MODULES.
21875
21876 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
21877 disk/powerpc/ieee1275/ofdisk.c,
21878 include/grub/powerpc/ieee1275/init.h and
21879 term/powerpc/ieee1275/ofconsole.c.
21880 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
21881 term/ieee1275/ofconsole.c.
21882
21883 * include/grub/powerpc/ieee1275/console.h: Resurrected.
21884
21885 * COPYING: Upgraded to the latest version. Only the address of the
21886 FSF office has changed.
f19dbdb7 21887
efd6e6d5 218882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21889
21890 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21891 kern/ieee1275.c with kern/ieee1275/of.c.
21892
21893 * kern/ieee1275.c: Moved to ...
21894 * kern/ieee1275/of.c: ... here.
21895
8ceafda2 218962005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
21897
21898 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 21899 readability.
8ceafda2 21900
21901 * config.guess: Updated to the latest version from gnulib.
21902 * config.sub: Likewise.
21903 * install.sh: Likewise.
21904 * mkinstalldirs: Likewise.
21905
21906 * include/grub/console.h: Removed. This file is arch-specific. Do
21907 not put this in include/grub.
21908
21909 * include/grub/i386/pc/console.h: Resurrected.
21910
21911 * util/console.c: Include grub/machine/console.h instead of
21912 grub/console.h.
21913 * util/grub-emu.c: Likewise.
21914
267f6cd9 219152005-08-04 Marco Gerards <metgerards@student.han.nl>
21916
21917 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
21918 hardcoded value.
f19dbdb7 21919
267f6cd9 21920 From Vincent Pelletier <subdino2004@yahoo.fr>
21921 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
21922 Redefined to use grub_getwh.
21923 (grub_term): New member named getwh.
21924 (grub_getwh): New prototype.
21925 * kern/term.c (grub_getwh): New function.
21926 * term/i386/pc/console.c (grub_console_getwh): New function.
21927 (grub_console_term): New member `getwh'.
21928 * term/i386/pc/vga.c (grub_vga_getwh): New function.
21929 (grub_vga_term): New member `getwh'.
0b5abe02 21930 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 21931 grub_ssize_t.
21932 (grub_ofconsole_getw): New function.
21933 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
21934 (grub_ofconsole_term): New field named getwh and new initial
21935 value.
21936
3be7266d 219372005-08-03 Hollis Blanchard <hollis@penguinppc.org>
21938
21939 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
21940 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
21941 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
21942 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
21943 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
21944 of <grub/machine/ieee1275.h>.
21945 * commands/ieee1275/reboot.c: Likewise.
21946 * boot/powerpc/ieee1275/ieee1275.c: Move ...
21947 * kern/ieee1275.c: ... to here. All users updated. Change all
21948 parameter structs to use new type `grub_ieee1275_cell_t'.
21949 * term/powerpc/ieee1275/ofconsole.c: Move ...
21950 * term/ieee1275/ofconsole.c: ... to here. All users updated.
21951 * disk/powerpc/ieee1275/ofdisk.c: Move ...
21952 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
21953 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
21954 to return int.
21955 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
21956 Remove unused prototypes. All users updated.
21957 * include/grub/powerpc/ieee1275/console.h: Removed.
21958 * include/grub/powerpc/ieee1275/ieee1275.h: Define
21959 `grub_ieee1275_cell_t'.
21960 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
21961 Cast comparisons with -1 to the correct type.
21962 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
21963 type to match `grub_ieee1275_entry_fn'.
21964
8b5f3938 219652005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
21966
21967 * DISTLIST: Added util/i386/pc/grub-probefs.c.
21968
21969 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
21970 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
21971 partmap/sun.c.
21972 (grub_probefs_SOURCES): New variable.
21973
21974 * util/i386/pc/grub-probefs.c: New file.
21975
21976 * util/i386/pc/grub-setup.c (main): Call
21977 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
21978 grub_hfs_init and grub_jfs_init to initialize the system. Call
21979 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
21980 grub_pc_partition_map_fini to finish the system.
21981
ea409713 219822005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
21983
21984 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
21985 function.
21986 (grub_multiboot_load_elf32): Likewise.
21987 (grub_multiboot_is_elf64): Likewise.
21988 (grub_multiboot_load_elf64): Likewise.
21989 (grub_multiboot_load_elf): Likewise.
21990 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
21991 an ELF32 or ELF64 file.
21992 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
21993
21994 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
21995 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
21996 NULL before calling FS->LABEL.
21997 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
21998 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
21999 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22000 before calling FS->LABEL.
22001
141a288b 220022005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
22003
22004 * util/i386/pc/grub-install.in (datadir): New variable.
22005 (libdir): Removed.
22006 (pkgdatadir): New variable.
22007 (pkglibdir): Removed.
22008
0d5f8a54 220092005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
22010
22011 * DISTLIST: Added util/i386/pc/grub-install.in.
22012
22013 * util/i386/pc/grub-install.in: New file.
22014
22015 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
22016 (grub_install_SOURCES): Likewise.
22017
22018 * genmk.rb: Added support for scripts.
22019 (Script): New class.
22020 (scripts): New variable.
22021
22022 * Makefile.in (install-local): Install sbin_SCRIPTS by
22023 INSTALL_SCRIPT.
22024 (uninstall): Remove sbin_SCRIPTS.
22025
22026 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
22027 device, try to get a GRUB device by
22028 grub_util_biosdisk_get_grub_dev.
22029 Free DEST_DEV.
22030
22031 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
22032 description for --device-map.
22033
5f968e1e 220342005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22035
22036 Change the semantics of variable hooks. They now return strings
22037 instead of error values.
f19dbdb7 22038
5f968e1e 22039 * util/i386/pc/grub-setup.c: Include grub/env.h.
22040 (setup): Use grub_device_set_root instead of grub_env_set.
22041
22042 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
22043 grub_env_get instead of grub_device_set_root and
22044 grub_device_get_root, respectively.
22045
22046 * kern/main.c (grub_env_write_root): New function.
22047 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
22048 grub_env_set instead of grub_device_set_root.
22049
22050 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
22051 many variables.
22052 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
22053 rather than calling ENV->WRITE_HOOK afterwards.
22054 (grub_env_get): Return the result of ENV->READ_HOOK rather than
22055 passing a pointer of a pointer.
22056 (grub_register_variable_hook): Change the types of "read_hook" and
22057 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
22058 respectively.
22059 Allocate the default empty string on the heap, because this string
22060 may be freed later.
22061
22062 * kern/device.c: Include grub/env.h.
22063 (grub_device_set_root): Removed.
22064 (grub_device_get_root): Likewise.
22065 (grub_device_open): Use grub_env_get instead of
22066 grub_device_get_root.
22067
22068 * include/grub/env.h (grub_env_read_hook_t): New type.
22069 (grub_env_write_hook_t): Likewise.
22070 (grub_env_var): Change the types of "read_hook" and "write_hook"
22071 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
22072 (grub_register_variable_hook): Likewise.
22073
22074 * include/grub/device.h (grub_device_set_root): Removed.
22075 (grub_device_set_root): Likewise.
22076
22077 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
22078 make sure that DIRNAME terminates with '/', so that
22079 grub_fat_find_dir will fail if PATH is not a directory.
22080
22081 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
22082 from DIRNAME.
22083 Use the qualifier auto for print_files and print_files_long.
22084 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
22085 as a regular file.
22086 Put a newline only if there is no error.
22087 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
22088 used.
22089
896f0afd 220902005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22091
22092 * kern/partition.c (grub_partition_probe): Initialize PART to
22093 NULL. Otherwise, when no partition map is registered, this returns
22094 a garbage.
22095
b28b81b2 220962005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
22097
22098 * partmap/apple.c (apple_partition_map_iterate): Check if POS
22099 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
22100 valid.
22101
5f3607e0 221022005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
22103
22104 * commands/ls.c (grub_ls_list_disks): Print the filesystem
22105 information on each device, if it does not have partitions. Print
22106 "Device" instead of "Disk", because this function is not specific
22107 to disk devices.
22108
22109 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
22110 static to ensure that it is put on the memory rather than a
22111 register.
22112
502c87e8 221132005-07-17 Yoshinori Okuji <okuji@enbug.org>
22114
22115 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
22116 (grub_cat_init): Likewise.
22117 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
22118 (options): Likewise.
22119 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22120 (grub_configfile_init): Likewise.
22121 * font/manager.c (GRUB_MOD_INIT): Likewise.
22122 * commands/help.c (GRUB_MOD_INIT): Likewise.
22123 (grub_help_init): Likewise.
22124 * normal/command.c (grub_command_init): Likewise.
22125 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
22126 * disk/loopback.c (grub_loop_init): Likewise.
22127 (GRUB_MOD_INIT): Likewise.
22128 * commands/ls.c (grub_ls_init): Likewise.
22129 (GRUB_MOD_INIT): Likewise.
22130 (options): Likewise.
22131 * commands/boot.c (grub_boot_init): Likewise.
22132 (GRUB_MOD_INIT): Likewise.
22133 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
22134 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
22135 (GRUB_MOD_INIT): Likewise.
22136 * commands/cmp.c (grub_cmp_init): Likewise.
22137 (GRUB_MOD_INIT): Likewise.
22138
22139 * normal/arg.c: Use <> instead of "" to include header files.
22140 (SHORT_ARG_HELP): New macro.
22141 (SHORT_ARG_USAGE): Likewise.
22142 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
22143 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
22144 descriptions.
22145 (find_short): Check if C is 'h' or 'u' explicitly.
22146 (grub_arg_show_help): Use space characters instead of tabs. Treat
22147 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
22148 are shown with --help and --usage only if they are not used for
22149 the command itself.
22150 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
22151 'h' and 'u'.
22152
22153 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
22154 const into "longarg". Change the type of "shortarg" to int.
22155
f806d18e 221562005-07-17 Yoshinori Okuji <okuji@enbug.org>
22157
22158 * boot/i386/pc/boot.S (boot_drive_check): New label.
22159
22160 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
22161 macro.
22162
22163 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
22164 which do not pass a boot drive correctly. Copied from GRUB Legacy.
22165
e293232b 221662005-07-17 Yoshinori Okuji <okuji@enbug.org>
22167
22168 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
22169 When turning off Gate A20, skip the check and return immediately,
22170 because this is not fatal usually.
22171
ebedfd00 221722005-07-17 Yoshinori Okuji <okuji@enbug.org>
22173
22174 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
22175 be 0x7C00 instead of 0x8000.
22176
22177 * boot/i386/pc/pxeboot.S: Rewritten.
22178
22179 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
22180 EXT_C.
22181 (gate_a20_check_state): Read a byte from 0x108000. Invert the
22182 result.
22183
654fc59f 221842005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
22185
22186 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
22187 robustness. This routine now supports a BIOS call and System
22188 Control Port A to modify the gate A20.
22189
22190 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22191 Increased to 0x440.
22192
09f9923f 221932005-07-12 Hollis Blanchard <hollis@penguinppc.org>
22194
22195 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
22196 device path and resulting ihandle.
22197 (grub_ofdisk_close): dprintf the ihandle being closed.
22198 (grub_ofdisk_read): dprintf function parameters.
22199 * kern/mm.c (grub_mm_init_region): Likewise.
22200 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
22201 (grub_linux_boot): dprintf the Linux entry point, initrd address and
22202 size, and boot arguments.
22203 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
22204 before loading into memory.
22205 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
22206 before loading into memory.
22207
7ef504d8 222082005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
22209
22210 * kern/mm.c: Added much documentation.
22211 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
22212 8, set to 5 instead of 8.
22213
e0f050c2 222142005-07-10 Yoshinori Okuji <okuji@enbug.org>
22215
22216 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
22217
22218 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
22219 (grub_mkdevicemap_SOURCES): New variable.
22220
22221 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
22222 lib/device.c of GRUB Legacy.
22223
7224189a 222242005-07-10 Yoshinori Okuji <okuji@enbug.org>
22225
22226 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
22227 instead of PATH is NULL.
22228
68c864eb 222292005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
22230
22231 * commands/cmp.c (BUFFER_SIZE): New macro.
22232 (grub_cmd_cmp): Close the right file at the right time. Compare
22233 only data just read. Don't report files of different size as
22234 identical. Dynamically allocate buffers. Move variable
22235 declarations at the beginning of function.
22236
e6f3e614 222372005-07-09 Yoshinori Okuji <okuji@enbug.org>
22238
22239 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
22240 reverse.
22241
f8f1559a 222422004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
22243
22244 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
22245 when backspace is pressed at beginning of line.
22246
39c9d41d 222472005-07-03 Yoshinori Okuji <okuji@enbug.org>
22248
22249 * DISTLIST: Added genfslist.sh.
22250
22251 * normal/main.c (fs_module_list): New variable.
22252 (autoload_fs_module): New function.
22253 (read_fs_list): Likewise.
22254 (grub_normal_execute): Call read_fs_list.
22255
22256 * kern/fs.c (grub_fs_autoload_hook): New variable.
22257 (grub_fs_probe): Added support for auto-loading.
22258
22259 * include/grub/normal.h (struct grub_fs_module_list): New struct.
22260 (grub_fs_module_list_t): New type.
22261
22262 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
22263 (grub_fs_autoload_hook): New prototype.
22264
22265 * genfslist.sh: New file.
f19dbdb7 22266
39c9d41d 22267 * genmk.rb: Added a rule to generate a filesystem list.
22268
121c1d83 222692005-06-30 Marco Gerards <metgerards@student.han.nl>
22270
22271 * configure.ac: Fix the test for cross-compiling.
22272
22273 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22274 define GRUB_UTIL anymore.
22275
22276 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22277 so this function works on other systems than just big endian.
22278 (load_modules): Likewise.
22279 (add_segments): Likewise.
22280
e75d76e1 222812005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22282
22283 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22284 contains `l' modifier, get a long from va_arg().
22285
50b5a0a7 222862005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22287
22288 * kern/mm.c (grub_free): If the next free block which is being
22289 merged is the first free block, set the first block to the block
22290 being freed.
22291 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22292
89371b20 222932005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22294
22295 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22296 `grub_ieee1275_chosen'.
22297
168d6e58 222982005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22299
22300 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22301 (grub_ieee1275_chosen): New variable.
22302 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22303 `chosen'.
22304 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22305 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22306 Rename first argument to `phandle' for consistency.
22307 (grub_ieee1275_get_property_length): Likewise.
22308 (grub_ieee1275_next_property): Likewise. Change type of first argument
22309 to grub_ieee1275_phandle_t.
22310 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22311 Move export next to declaration.
22312 (grub_ieee1275_chosen): New variable.
22313 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22314 Correct cosmetic typo.
22315 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22316 `grub_ieee1275_chosen'.
22317 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22318 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22319 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22320 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22321 `grub_ieee1275_chosen'.
22322
ca5baa3f 223232005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22324
22325 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22326 /chosen/bootargs.
22327 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22328 /chosen/bootargs as "variable=value" pairs.
22329
708b345f 223302005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22331
22332 * include/grub/misc.h (grub_dprintf): New macro.
22333 (grub_real_dprintf): New prototype.
22334 (grub_strword): Likewise.
22335 (grub_iswordseparator): Likewise.
22336 * kern/misc.c (grub_real_dprintf): New function.
22337 (grub_strword): Likewise.
22338 (grub_iswordseparator): Likewise.
22339
f4c5e67c 223402005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22341
22342 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22343 (roundup): Remove macro.
22344 (grub_ieee1275_flags): Make static.
22345 (grub_ieee1275_realmode): Remove.
22346 (grub_ieee1275_test_flag): New function.
22347 (grub_ieee1275_set_flag): Likewise.
22348 (find_options): Rename to `grub_ieee1275_find_options'; update
22349 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22350 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22351 (cmain): New prototype.
22352 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22353 `grub_ieee1275_flags' directly.
22354 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22355 machine/biosdisk.h.
22356 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22357 Don't include grub/machine/init.h.
22358 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22359 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22360 Remove prototype.
22361 (grub_ieee1275_realmode): Likewise.
22362 (grub_ieee1275_flag): New enum.
22363 (grub_ieee1275_test_flag): New prototype.
22364 (grub_ieee1275_set_flag): New prototype.
22365 * include/grub/powerpc/ieee1275/init.h: Remove file.
22366 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22367 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22368 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22369 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22370 comment.
22371 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22372 `grub_ieee1275_test_flag'.
22373 (grub_ieee1275_encode_devname): Likewise.
22374
ed16607e 223752005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22376
22377 * include/grub/powerpc/ieee1275/ieee1275.h
22378 (grub_ieee1275_encode_devname): New prototype.
22379 (grub_ieee1275_get_filename): Likewise.
22380 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22381 function.
22382 (grub_set_prefix): Likewise.
22383 (grub_machine_init): Call grub_set_prefix.
22384 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22385 (grub_parse_type): New enum.
22386 (grub_ieee1275_get_devargs): New function.
22387 (grub_ieee1275_get_devname): Likewise.
22388 (grub_ieee1275_parse_args): Likewise.
22389 (grub_ieee1275_get_filename): Likewise.
22390 (grub_ieee1275_encode_devname): Likewise.
22391
be369920 223922005-03-30 Marco Gerards <metgerards@student.han.nl>
22393
22394 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22395 `grub_loader_unset'.
22396
a5ce3a4a 223972005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22398
22399 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22400 instead of grub_ieee1275_interpret.
22401 (grub_halt_init): New function.
22402 (grub_halt_fini): Likewise.
22403 (GRUB_MOD_INIT): Correct message grammar.
22404 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22405 instead of grub_ieee1275_interpret.
22406 (grub_reboot_init): New function.
22407 (grub_reboot_fini): Likewise.
22408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22409 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22410 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22411 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22412 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22413 function.
22414 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22415 Add prototype.
22416 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22417 prototype.
22418 (grub_halt): Likewise.
22419 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22420 (cmain): Remove __attribute__((unused)).
22421 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22422 (grub_heap_len): Likewise.
22423 (grub_machine_fini): New function.
22424 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22425 (grub_halt): Likewise.
22426 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22427 function.
22428 * util/powerpc/ieee1275/misc.c: New file.
22429
0058f771 224302005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22431
22432 * DISTLIST: New file.
22433 * gendistlist.sh: Likewise.
f19dbdb7 22434
0058f771 22435 * Makefile.in (COMMON_DISTFILES): Removed.
22436 (BOOT_DISTFILES): Likewise.
22437 (CONF_DISTFILES): Likewise.
22438 (DISK_DISTFILES): Likewise.
22439 (FS_DISTFILES): Likewise.
22440 (INCLUDE_DISTFILES): Likewise.
22441 (KERN_DISTFILES): Likewise.
22442 (LOADER_DISTFILES): Likewise.
22443 (TERM_DISTFILES): Likewise.
22444 (UTIL_DISTFILES): Likewise.
22445 (DISTFILES): Likewise.
22446 (uninstall): Uninstall files in $(pkgdata_DATA).
22447 (DISTLIST): New target.
22448 (distdir): Use the contents of the file DISTLIST to get a list of
22449 distributed files.
22450
46b3b8a5 224512005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22452
22453 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
22454 descriptor. This is ported from GRUB Legacy.
22455
22456 * gencmdlist.sh: Added an extra semicolon to make it work with
22457 old sed versions. Reported by Robert Bihlmeyer
22458 <robbe@orcus.priv.at>.
22459
5822ff87 224602005-03-08 Yoshinori Okuji <okuji@enbug.org>
22461
22462 Automatic loading of commands is supported.
f19dbdb7 22463
5822ff87 22464 * normal/main.c (read_command_list): New function.
22465 (grub_normal_execute): Call read_command_list.
22466
22467 * normal/command.c (grub_register_command): Return zero or CMD.
22468 Allocate CMD->NAME from the heap.
22469 Initialize CMD->MODULE_NAME to zero.
22470 Find the same name as well. If the same command is found and it is
22471 a dummy command, overwrite members. If it is not a dummy command,
22472 return zero.
22473 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22474 (grub_command_find): If a dummy command is found, load a module
22475 and retry to find a command only once.
22476
22477 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22478 make sure that each command is loaded.
22479
22480 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22481 macro.
22482 (struct grub_command): Remove const from the member `name'.
22483 Add a new member `module_name'.
22484 (grub_register_command): Return grub_command_t.
22485
22486 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22487 sure that each command is loaded.
22488
22489 * genmk.rb (PModule::rule): Specify a module name without the
22490 suffix ".mod" to gencmdlist.sh.
22491
7b1f4b57 224922005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22493
22494 * gencmdlist.sh: New file.
f19dbdb7 22495
7b1f4b57 22496 * genmk.rb (PModule::rule): Generate a rule for a command list.
22497 Clean command.lst.
22498 Generate command.lst from $(COMMANDFILES).
22499
22500 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22501 (DATA): Added $(pkgdata_DATA).
22502 (install-local): Install files in $(pkgdata_DATA).
22503
062aaf39 225042005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22505
22506 * term/i386/pc/vga.c (debug_command): Removed.
22507 (GRUB_MOD_INIT): Do not register the command "debug".
22508
22509 From Hollis Blanchard:
22510 * commands/configfile.c: New file.
22511 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22512 commands/configfile.c.
22513 (pkgdata_MODULES): Added configfile.mod.
22514 (configfile_mod_SOURCES): New variable.
22515 (configfile_mod_CFLAGS): Likewise.
22516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22517 commands/configfile.c.
22518 (pkgdata_MODULES): Added configfile.mod.
22519 (configfile_mod_SOURCES): New variable.
22520 (configfile_mod_CFLAGS): Likewise.
22521 * util/grub-emu.c (main): Call grub_configfile_init and
22522 grub_configfile_fini.
22523 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
22524 prototype.
22525 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 22526
cee01aa6 225272005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22528
22529 * normal/arg.c (grub_arg_show_help): Do not show the bug report
22530 address.
22531
22532 * commands/help.c (grub_cmd_help): Do not print newlines after
22533 the last command in print_command_help.
22534
93f3a1d8 225352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22536
22537 * commands/default.h: New file.
22538 * commands/timeout.h: Likewise.
22539 * normal/context.c: Likewise.
f19dbdb7 22540
93f3a1d8 22541 * util/misc.c: Do not include sys/times.h.
22542 Include sys/time.h and grub/machine/time.h.
22543 (grub_get_rtc): Rewritten with gettimeofday.
22544
22545 * util/grub-emu.c (main): Call grub_default_init and
22546 grub_timeout_init before grub_normal_init, and call
22547 grub_timeout_fini and grub_default_fini after grub_main.
22548
22549 * util/console.c (grub_ncurses_checkkey): Return the read
22550 character or -1.
22551
22552 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
22553 timeouts.
22554
22555 * normal/main.c (read_config_file): Push MENU. If this fails,
22556 print an error and wait for a user input.
22557 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
22558 If a menu is empty or an error occurs, pop MENU.
22559 (grub_normal_execute): Pop and free MENU after grub_menu_run
22560 returns.
22561
22562 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
22563
22564 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
22565 include time.h.
22566 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22567 without GRUB_UTIL.
22568 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
22569 time.h.
22570 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22571 without GRUB_UTIL.
22572
22573 * include/grub/normal.h (struct grub_menu_list): New struct.
22574 (grub_menu_list_t): New type.
22575 (struct grub_context): New struct.
22576 (grub_context_t): New type.
22577 (grub_register_command): Got rid of EXPORT_FUNC.
22578 (grub_unregister_command): Likewise.
22579 (grub_context_get): New prototype.
22580 (grub_context_get_current_menu): Likewise.
22581 (grub_context_push_menu): Likewise.
22582 (grub_context_pop_menu): Likewise.
22583 [GRUB_UTIL] (grub_default_init): Likewise.
22584 [GRUB_UTIL] (grub_default_fini): Likewise.
22585 [GRUB_UTIL] (grub_timeout_init): Likewise.
22586 [GRUB_UTIL] (grub_timeout_fini): Likewise.
22587
22588 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
22589 commands/timeout.c and normal/context.c.
22590 (pkgdata_MODULES): Added default.mod and timeout.mod.
22591 (normal_mod_SOURCES): Added normal/context.c.
22592 (default_mod_SOURCES): New variable.
22593 (default_mod_CFLAGS): Likewise.
22594 (timeout_mod_SOURCES): Likewise.
22595 (timeout_mod_CFLAGS): Likewise.
22596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
22597 conf/i386-pc.rmk.
22598 (pkgdata_MODULES): Added default.mod and timeout.mod.
22599 (normal_mod_SOURCES): Added normal/context.c.
22600 (default_mod_SOURCES): New variable.
22601 (default_mod_CFLAGS): Likewise.
22602 (timeout_mod_SOURCES): Likewise.
22603 (timeout_mod_CFLAGS): Likewise.
22604
22605 * Makefile.in (all-local): Added $(MKFILES).
22606
4ed2e1dd 226072005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
22608
22609 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
22610 (grub_emu_SOURCES): Likewise.
22611 (pkgdata_MODULES): Add `sun.mod'.
22612 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22614 `partmap/sun.c'.
22615 (pkgdata_MODULES): Add `sun.mod'.
22616 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22617 * include/grub/partition.h (grub_sun_partition_map_init): New
22618 prototype.
22619 (grub_sun_partition_map_fini): Likewise.
22620 * partmap/sun.c: New file.
22621 * util/grub-emu.c (main): Initialize and de-initialize the sun
22622 partitionmap support.
22623
4d4e372e 226242005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
22625
22626 This implements an Emacs-like menu entry editor.
f19dbdb7 22627
4d4e372e 22628 * normal/menu_entry.c: New file.
f19dbdb7 22629
4d4e372e 22630 * util/console.c (grub_ncurses_putchar): Translate some Unicode
22631 characters to ASCII.
22632 (saved_char): New variable.
22633 (grub_ncurses_checkkey): Rewritten completely.
22634 (grub_ncurses_getkey): Likewise.
22635 (grub_ncurses_init): Call raw instead of cbreak.
22636
22637 * normal/menu.c (print_entry): Do not put a space.
22638 (init_page): Renamed to ...
22639 (grub_menu_init_page): ... this. All callers changed.
22640 (edit_menu_entry): Removed.
22641 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
22642
22643 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
22644
22645 * kern/misc.c (grub_vprintf): Call grub_refresh.
22646
22647 * normal/menu.c (DISP_LEFT): Renamed to ...
22648 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
22649 * normal/menu.c (DISP_UP): Renamed to ...
22650 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
22651 * normal/menu.c (DISP_RIGHT): Renamed to ...
22652 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
22653 * normal/menu.c (DISP_DOWN): Renamed to ...
22654 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
22655 * normal/menu.c (DISP_HLINE): Renamed to ...
22656 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
22657 * normal/menu.c (DISP_VLINE): Renamed to ...
22658 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22659 * normal/menu.c (DISP_UL): Renamed to ...
22660 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22661 * normal/menu.c (DISP_UR): Renamed to ...
22662 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
22663 * normal/menu.c (DISP_LL): Renamed to ...
22664 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
22665 * normal/menu.c (DISP_LR): Renamed to ...
22666 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
22667 * normal/menu.c (TERM_WIDTH): Renamed to ...
22668 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
22669 * normal/menu.c (TERM_HEIGHT): Renamed to ...
22670 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
22671 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
22672 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
22673 * normal/menu.c (TERM_MARGIN): Renamed to ...
22674 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
22675 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
22676 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
22677 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
22678 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
22679 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
22680 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
22681 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
22682 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
22683 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
22684 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
22685 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
22686 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
22687 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
22688 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
22689 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
22690 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
22691 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
22692 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
22693 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
22694 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
22695 All callers changed.
22696
22697 * include/grub/normal.h: New prototype.
22698
22699 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22700 normal/menu_entry.c.
22701 (normal_mod_SOURCES): Likewise.
22702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22703 (normal_mod_SOURCES): Likewise.
22704
e6b92c8a 227052005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
22706
22707 * include/grub/normal.h (grub_halt_init): New prototype.
22708 (grub_halt_fini): Likewise.
22709 (grub_reboot_init): Likewise.
22710 (grub_reboot_fini): Likewise.
22711
22712 * util/grub-emu.c: Include signal.h.
22713 (main_env): New global variable.
22714 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
22715 catch C-c.
22716 (grub_machine_fini): New function.
22717 (main): Call grub_halt_init and grub_reboot_init before
22718 grub_main, and grub_reboot_fini and grub_halt_fini after it.
22719 Call setjmp with MAIN_ENV to go back afterwards.
22720 Call grub_machine_fini right before return.
22721
22722 * include/grub/util/misc.h: Include setjmp.h.
22723 (main_env): New prototype.
22724
22725 * include/grub/kernel.h (grub_machine_fini): New prototype.
22726 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
22727 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
22728
22729 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
22730 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
22731 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 22732
e6b92c8a 22733 * util/i386/pc/misc.c: New file.
f19dbdb7 22734
e6b92c8a 22735 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22736 util/i386/pc/misc.c, commands/i386/pc/halt.c and
22737 commands/i386/pc/reboot.c.
22738
c642636f 227392005-02-14 Guillem Jover <guillem@hadrons.org>
22740
22741 * include/grub/dl.h (grub_dl_check_header): New prototype.
22742 (grub_arch_dl_check_header): Change return type to grub_err_t,
22743 remove size parameter and export function. Update all callers.
22744 * kern/dl.c (grub_dl_check_header): New function.
22745 (grub_dl_load_core): Use `grub_dl_check_header' instead of
22746 `grub_arch_dl_check_header'. Check ELF type. Check if sections
22747 are inside the core.
22748 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
22749 independent ELF header checks.
22750 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22751 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
22752 `grub_dl_check_header' instead of explicit checks. Check for the
22753 ELF type.
22754 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
22755 `grub_dl_check_header' instead of explicit checks. Remove arch
22756 specific ELF header checks.
22757
e6b92c8a 22758 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
22759 argument SIZE.
22760
5eabe94b 227612005-02-13 Hollis Blanchard <hollis@penguinppc.org>
22762
22763 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
22764 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
22765
1b14a681 227662005-02-12 Hollis Blanchard <hollis@penguinppc.org>
22767
22768 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 22769 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 22770 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 22771 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 22772 * partmap/amiga.c (amiga_partition_map_iterate): Return
22773 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
22774 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22775
aca108aa 227762005-02-01 Guillem Jover <guillem@hadrons.org>
22777
22778 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
22779 help info.
22780
c9f9c556 227812005-01-31 Marco Gerards <metgerards@student.han.nl>
22782
22783 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
22784 Removed prototype.
22785 (grub_rescue_cmd_linux): New prototype.
22786 (grub_rescue_cmd_initrd): Likewise.
22787 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
22788 `bi_rec'.
22789 (grub_linux_release_mem): Release the memory for the initrd.
22790 (grub_load_linux): Renamed from this...
22791 (grub_rescue_cmd_linux): ...To this. Changed all callers.
22792 Changed `entry' not to be static. Loop over memory regions to
22793 find another one when the default fails.
22794 (grub_rescue_cmd_initrd): New function.
22795 (grub_linux_init): Remove function.
22796 (grub_linux_fini): Likewise.
22797 (GRUB_MOD_INIT): Register `initrd'.
22798 (GRUB_MOD_FINI): Unregister `initrd'.
22799 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
22800 Function removed.
22801 (grub_linux_normal_fini): Likewise.
22802 (GRUB_MOD_INIT): Register `initrd'.
22803 (GRUB_MOD_FINI): Unregister `initrd'.
22804
990cf3aa 228052005-01-31 Marco Gerards <metgerards@student.han.nl>
22806
22807 * commands/help.c: New file.
22808 * normal/arg.c (show_help): Renamed to...
22809 (grub_arg_show_help): ... this.
22810 * commands/i386/pc/halt.c: New file.
22811 * commands/i386/pc/reboot.c: Likewise.
22812 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
22813 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
22814 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
22815 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
22816 variables.
22817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22818 `commands/help.c'.
22819 (pkgdata_MODULES): Add `help.mod'.
22820 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
22821 * grub/i386/pc/init.h (grub_reboot): New prototype.
22822 (grub_halt): Likewise.
22823 * include/grub/normal.h (grub_arg_show_help): New prototype.
22824 (grub_help_init): Likewise.
22825 (grub_help_fini): Likewise.
22826 * util/grub-emu.c (main): Initialize and deinitialize the help
22827 command.
22828
22829 * normal/cmdline.c (grub_cmdline_get): Doc fix.
22830
22831 * normal/command.c (grub_command_init): Fixed the description of
22832 the `set' and `unset' commands.
22833
228342005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 22835
22836 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
22837 function.
22838 * commands/ieee1275/halt.c: New file.
22839 * commands/ieee1275/reboot.c: Likewise.
22840 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
22841 `__attribute__ ((unused))'. Some GCS related fixed.
22842 (grub_suspend_init) [GRUB_UTIL]: Function removed.
22843 (grub_suspend_fini): Likewise.
22844 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
22845 and `halt.mod'.
22846 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
22847 (halt_mod_CFLAGS): New variables.
22848 * include/grub/powerpc/ieee1275/ieee1275.h
22849 (grub_ieee1275_interpret): New prototype.
22850
1ab09cc7 228512005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
22852
22853 * include/grub/misc.h (memmove): New prototype.
22854 (memcpy): Likewise.
22855
8b8cbdb2 228562005-01-22 Hollis Blanchard <hollis@penguinppc.org>
22857
22858 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
22859 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
22860
e3741a27 228612005-01-22 Marco Gerards <metgerards@student.han.nl>
22862
22863 * kern/misc.c (grub_strndup): Function rewritten.
22864
776bd780 228652005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
22866
22867 * normal/menu.c (TERM_WIDTH): Macro redefined.
22868 (TERM_TOP_BORDER_Y): Likewise.
22869 (draw_border): Replaced while-loop by a for-loop. Make the number
22870 of lines consistent with the number of lines displayed in
22871 print_entries. Added a margin below the rectangle.
22872 (print_entry): Make the entry fit in the rectangle.
22873 (print_entries): Display the scroll arrows next to the right
22874 border.
22875
78026bce 228762005-01-21 Marco Gerards <metgerards@student.han.nl>
22877
22878 * fs/minix.c (grub_minix_find_file): Reserve more space for
22879 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
22880 `grub_strncpy' to copy `path' into it.
22881
67bbaf0f 228822005-01-21 Marco Gerards <metgerards@student.han.nl>
22883
22884 Add the loopback device, a device via which files can be accessed
22885 as devices.
f19dbdb7 22886
67bbaf0f 22887 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
22888 (pkgdata_MODULES): Add loopback.mod.
22889 (loopback_mod_SOURCES): New variable.
22890 (loopback_mod_CFLAGS): Likewise.
22891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22892 `disk/loopback.c'.
22893 (pkgdata_MODULES): Add loopback.mod.
22894 (loopback_mod_SOURCES): New variable.
22895 (loopback_mod_CFLAGS): Likewise.
22896 * disk/loopback.c: new file.
22897 * include/grub/normal.h (grub_loop_init): New prototype.
22898 (grub_loop_fini): New prototype.
22899 * util/grub-emu.c (main): Initialize and de-initialize loopback
22900 support.
22901 * include/grub/disk.h (grub_disk_dev_id): Add
22902 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
22903
6f1c18bd 229042005-01-20 Hollis Blanchard <hollis@penguinppc.org>
22905
22906 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
22907 function.
22908 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
22909 (suspend_mod_SOURCES): New variable.
22910 (suspend_mod_CFLAGS): Likewise.
22911 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
22912 New prototype.
22913 * commands/ieee1275/suspend.c: New file.
22914
b38551da 229152005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22916
22917 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 22918 ((unused))' to `__attribute__ ((used))'.
b38551da 22919 (GRUB_MOD_FINI): Likewise.
22920 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
22921 * genmk.rb (PModule): Assign space to common symbols when linking
22922 modules.
22923
777aff39 229242005-01-20 Marco Gerards <metgerards@student.han.nl>
22925
22926 * include/grub/mm.h (grub_mm_init_region): Change the type of the
22927 `unsigned' arguments to `grub_size_t'.
22928 (grub_malloc): Likewise.
22929 (grub_realloc): Likewise.
22930 (grub_memalign): Likewise.
22931 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
22932 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22933 * util/misc.c (grub_malloc): Likewise.
22934 (grub_realloc): Likewise.
22935 * kern/mm.c (get_header_from_pointer): Change the casts to
22936 `unsigned' into a cast to `grub_size_t'.
22937
22938 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
22939 point to `currnode' when `currnode' is changed.
22940
22941 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
22942 Schottelius <nico-linux@schottelius.org>.
22943
d0ff18e1 229442005-01-09 Hollis Blanchard <hollis@penguinppc.org>
22945
22946 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
22947 (note_path): Remove variable.
22948 (GRUB_IEEE1275_NOTE_NAME): New macro.
22949 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
22950 (grub_ieee1275_note_hdr): New structure.
22951 (grub_ieee1275_note_desc): Likewise.
22952 (grub_ieee1275_note): Likewise.
22953 (load_note): Remove `dir' argument. All callers updated. Remove
22954 `note_img' and `path'. Do not load a file from `note_path'.
22955 Initialize a struct grub_ieee1275_note and write that to `out'.
22956 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
22957
4ca7004c 229582005-01-05 Marco Gerards <metgerards@student.han.nl>
22959
22960 * util/misc.c (grub_util_read_image): Revert last change. It
22961 called `grub_util_read_at', which seeks from the beginning of the
22962 file.
22963
0b412211 229642005-01-04 Hollis Blanchard <hollis@penguinppc.org>
22965
22966 * TODO: Add note about endianness in grub-mkimage.
22967 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
22968 section.
22969 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
22970 (grub_mkimage_SOURCES): New target.
22971 * include/grub/kernel.h (grub_start_addr): Remove variable.
22972 (grub_end_addr): Likewise.
22973 (grub_total_module_size): Likewise.
22974 (grub_kernel_image_size): Likewise.
22975 (GRUB_MODULE_MAGIC): New constant.
22976 (grub_module_info): New structure.
22977 (grub_arch_modules_addr): New prototype.
22978 (grub_get_end_addr): Remove prototype.
22979 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
22980 * include/grub/powerpc/ieee1275/kernel.h: New file.
22981 * include/grub/util/misc.h (grub_util_get_fp_size): New
22982 prototype.
22983 (grub_util_read_at): Likewise.
22984 (grub_util_write_image_at): Likewise.
22985 * kern/main.c (grub_get_end_addr): Remove function.
22986 (grub_load_modules): Call grub_arch_modules_addr instead of using
22987 grub_end_addr. Look for a grub_module_info struct in memory. Use
22988 the grub_module_info fields instead of calling grub_get_end_addr
22989 as loop conditions. Move grub_add_unused_region code here.
22990 (grub_add_unused_region): Remove function.
22991 * kern/i386/pc/init.c: Include grub/cache.h.
22992 (grub_machine_init): Remove call to grub_get_end_addr. Remove
22993 one call to add_mem_region.
22994 (grub_arch_modules_addr): New function.
22995 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
22996 (grub_total_module_size): Likewise.
22997 Include grub/machine/kernel.h.
22998 (grub_arch_modules_addr): New function.
22999 * util/grub-emu.c (grub_end_addr): Remove variable.
23000 (grub_total_module_size): Likewise.
23001 (grub_arch_modules_addr): New function.
23002 * util/misc.c: Include unistd.h.
23003 (grub_util_get_fp_size): New function.
23004 (grub_util_read_at): Likewise.
23005 (grub_util_write_image_at): Likewise.
23006 (grub_util_read_image): Call grub_util_read_at.
23007 (grub_util_write_image): Call grub_util_write_image_at.
23008 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
23009 additional memory in kernel_img for a struct grub_module_info.
23010 Fill in that grub_module_info.
23011 * util/powerpc/ieee1275/grub-mkimage.c: New file.
23012
458786f8 230132005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23014
23015 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
23016 New function.
23017 * include/grub/powerpc/ieee1275/ieee1275.h
23018 (grub_ieee1275_milliseconds): New prototype.
23019 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
23020 Change to 1000.
23021 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
23022 grub_ieee1275_milliseconds.
23023
ac507d1b 230242005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23025
23026 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
23027 variable.
23028 (find_options): New function.
23029 (cmain): Call find_options.
23030 * include/grub/powerpc/ieee1275/ieee1275.h
23031 (grub_ieee1275_realmode): New extern variable.
23032 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
23033 grub_map if grub_ieee1275_realmode is false.
23034
6b8fd1c4 230352004-12-29 Marco Gerards <metgerards@student.han.nl>
23036
23037 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
23038 lines are inserted and make it work like readline. Reported by
23039 Vincent Pelletier <subdino2004@yahoo.fr>.
23040
8514a1e0 230412004-12-28 Marco Gerards <metgerards@student.han.nl>
23042
23043 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
23044
23045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
23046 `kern/powerpc/cache.S'.
23047
924b6140 230482004-12-27 Marco Gerards <metgerards@student.han.nl>
23049
23050 * genmk.rb: Handle the `Program' class in the main loop. Written
23051 by Johan Rydberg <jrydberg@gnu.org>.
23052 (Program): New class.
23053 (programs): New variable.
23054 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
23055 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
23056 instead of "grub/kernel.h". Include <grub/machine/init.h>.
23057 (help_arch): Function removed.
23058 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
23059 `powerpc/libgcc.h' and `loader.h'.
23060 (pkgdata_PROGRAMS): New variable.
23061 (sbin_UTILITIES): Variable removed.
23062 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
23063 (grubof_SOURCES): Variable re-defined so it only includes the
23064 core functionality.
23065 (grubof_CFLAGS): Remove `-DGRUBOF'.
23066 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
23067 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
23068 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
23069 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
23070 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
23071 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
23072 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
23073 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
23074 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
23075 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
23076 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23077 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
23078 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
23079 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
23080 (pc_mod_CFLAGS): New variables.
23081 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
23082 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
23083 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
23084 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
23085 Moved from here...
23086 * include/grub/i386/pc/init.h (grub_os_area_addr)
23087 (rub_os_area_size): ... to here.
23088 * include/grub/powerpc/ieee1275/ieee1275.h
23089 (grub_ieee1275_entry_fn): Export symbol.
23090 * include/grub/powerpc/ieee1275/init.h: New file.
23091 * include/grub/powerpc/libgcc.h: Likewise.
23092 * include/grub/cache.h: Likewise.
23093 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
23094 <hollis@penguinppc.org>.
23095 * kern/dl.c: Include <grub/cache.h>.
23096 (grub_dl_flush_cache): New function.
23097 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
23098 for this module.
23099 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
23100 (grub_console_init): Removed prototypes.
23101 (grub_machine_init): Don't initialize the modules anymore.
23102 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
23103 static.
23104 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
23105 Macro undef removed.
23106 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
23107 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
23108 relocation `R_PPC_REL32'. Return an error when the relocation is
23109 unknown.
23110 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
23111 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
23112 * util/misc.c (grub_arch_sync_caches): Likewise.
23113
e4b47e0c 231142004-12-19 Marco Gerards <metgerards@student.han.nl>
23115
23116 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
23117 `symlist.c', add `grubof_symlist.c'.
23118 (symlist.c): Variable removed.
23119 (grubof_HEADERS): Variable added.
23120 (grubof_symlist.c): New target.
23121 (kernel_syms.lst): Use `grubof_HEADERS' instead of
23122 `kernel_img_HEADERS'.
23123 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
23124 * kern/powerpc/dl.c: New file.
23125 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
23126 Function removed.
23127 (grub_arch_dl_relocate_symbols): Likewise.
23128 (grub_register_exported_symbols): Likewise.
23129
4ceb3636 231302004-12-13 Marco Gerards <metgerards@student.han.nl>
23131
23132 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
23133 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
23134 to fail instead. Reported by Vincent Pelletier
23135 <subdino2004@yahoo.fr>.
23136
23137 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
23138 it is not allocated. Reported by Vincent Pelletier
23139 <subdino2004@yahoo.fr>.
23140
23141 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
23142 output so the output looks better.
f19dbdb7 23143
3f1578fe 231442004-12-04 Marco Gerards <metgerards@student.han.nl>
23145
23146 Modulize the partition map support and add support for the amiga
23147 partition map.
f19dbdb7 23148
3f1578fe 23149 * commands/ls.c: Include <grub/partition.h> instead of
23150 <grub/machine/partition.h>.
23151 * kern/disk.c: Likewise.
23152 * kern/rescue.c: Likewise.
23153 * loader/i386/pc/chainloader.c: Likewise.
23154 * normal/cmdline.c: Likewise.
23155 * kern/powerpc/ieee1275/init.c: Likewise.
23156 (grub_machine_init): Call `grub_pc_partition_map_init',
23157 `grub_amiga_partition_map_init' and
23158 `grub_apple_partition_map_init'.
23159 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
23160 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
23161 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
23162 `partition.h' and `pc_partition.h'.
23163 (grub_setup_SOURCES): Remove
23164 `disk/i386/pc/partition.c'. Add `kern/partition.c',
23165 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23166 (grub_emu_SOURCES): Likewise.
23167 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
23168 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
23169 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
23170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23171 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
23172 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23173 (grubof_SOURCES): Likewise.
23174 * disk/i386/pc/partition.c: File removed.
23175 * disk/powerpc/ieee1275/partition.c: Likewise.
23176 * include/grub/powerpc/ieee1275/partition.h: Likewise.
23177 * include/grub/i386/pc/partition.h: Likewise.
23178 * kern/partition.c: New file.
23179 * partmap/amiga.c: Likewise.
23180 * partmap/apple.c: Likewise.
23181 * partmap/pc.c: Likewise.
23182 * include/grub/partition.h: Likewise..
23183 * include/grub/pc_partition.h: Likewise.
23184 * util/grub-emu.c: Include <grub/partition.h> instead of
23185 <grub/machine/partition.h>.
23186 (main): Call `grub_pc_partition_map_init',
23187 `grub_amiga_partition_map_init' and
23188 `grub_apple_partition_map_init' and deinitialize afterwards.
23189 * util/i386/pc/biosdisk.c: Include `#include
23190 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23191 `<grub/machine/partition.h>'.
23192 * util/i386/pc/grub-setup.c: Likewise.
23193 * util/i386/pc/biosdisk.c: Likewise.
23194 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
23195 partition information in case of a PC partition.
23196 * util/i386/pc/grub-setup.c: Include `#include
23197 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23198 `<grub/machine/partition.h>'.
23199 (setup): Only access the PC specific partition information in case
23200 of a PC partition.
23201
0ef4ced9 232022004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 23203
0ef4ced9 23204 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
23205 (grub_longjmp): Likewise.
23206 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
23207 20.
23208 * normal/powerpc/setjmp.S: New file.
23209 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23210 `normal/powerpc/setjmp.S'.
23211 (grubof_CFLAGS): Add `-DGRUBOF'.
23212 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
23213 [GRUB_UTIL && !GRUBOF].
f19dbdb7 23214
19950e29 232152004-11-16 Marco Gerards <metgerards@student.han.nl>
23216
23217 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
23218 property named `name'. Correctly handle the error returned by
23219 `grub_ieee1275_finddevice' if a device can not be opened.
23220
a2fea427 232212004-11-02 Hollis Blanchard <hollis@penguinppc.org>
23222
23223 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
23224 `actual' for negativity.
23225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23226 kern/fshelp.c.
23227
41ea0ea3 232282004-11-01 Marco Gerards <metgerards@student.han.nl>
23229
23230 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
23231 (PAGE_OFFSET): New macro.
23232 (CRTC_ADDR_PORT): Likewise.
23233 (CRTC_DATA_PORT): Likewise.
23234 (START_ADDR_HIGH_REGISTER): Likewise.
23235 (START_ADDR_LOW_REGISTER): Likewise.
23236 (GRAPHICS_ADDR_PORT): Likewise.
23237 (GRAPHICS_DATA_PORT): Likewise.
23238 (READ_MAP_REGISTER): Likewise.
23239 (INPUT_STATUS1_REGISTER): Likewise.
23240 (INPUT_STATUS1_VERTR_BIT): Likewise.
23241 (page): New variable.
23242 (wait_vretrace): New function.
23243 (set_read_map): Likewise.
23244 (set_start_address): Likewise.
23245 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
23246 the right page.
23247 (check_vga_mem): Take the page into account.
23248 (write_char): Likewise.
23249 (write_cursor): Likewise.
23250 (scroll_up): Likewise. Copy the page to the page that is not
23251 shown and switch between both pages.
23252 (grub_vga_putchar): Fix off by one error.
23253 (grub_vga_cls): Wait for the vertical retrace. Take the page into
23254 account.
23255
ad0bd20b 232562004-11-01 Marco Gerards <metgerards@student.han.nl>
23257
23258 Add support for iso9660 (including rockridge).
f19dbdb7 23259
ad0bd20b 23260 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23261 (iso9660_mod_SOURCES): New variable.
23262 (iso9660_mod_CFLAGS): Likewise.
23263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23264 * include/grub/fs.h (grub_iso9660_init): New prototype.
23265 * util/grub-emu.c (main): Call `grub_iso9660_init'.
23266 * fs/iso9660.c: New file.
23267
23268 * include/grub/misc.h (grub_strncat): New prototype.
23269 * kern/misc.c (grub_strncat): New function.
f19dbdb7 23270
ad0bd20b 23271 * fs/hfs.c (grub_hfs_mount): Translate the error
23272 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23273 * fs/jfs.c (grub_jfs_mount): Likewise.
23274 * fs/ufs.c (grub_ufs_mount): Likewise.
23275
a5477a59 232762004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23277
23278 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23279 which initialized BAT registers.
23280 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23281 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23282 Move from here...
23283 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23284 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23285 ... to here.
23286 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23287 (grub_mapclaim): Likewise.
23288 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23289 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23290 hand.
23291
9304c1f8 232922004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23293
23294 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23295 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23296 -ffreestanding and -msoft-float.
23297
86f4ae25 232982004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23299
23300 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23301 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23302 set in grub_ieee1275_flags.
23303
38912228 233042004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23305
23306 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23307 prototype.
23308 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23309 grub_console_init first.
23310 Change the memory range used for grub_ieee1275_claim and
23311 grub_mm_init_region.
23312 Print an error message if the claim fails.
23313 Include <grub/misc.h>.
23314
d1923dc8 233152004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23316
23317 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23318 Call grub_children_iterate for device nodes of type `scsi',
23319 `ide', or `ata'.
23320 (grub_ofdisk_open): Remove manual device alias resolution.
23321 Fix memory leak when device cannot be opened.
f19dbdb7 23322 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23323 (grub_children_iterate): New prototype.
23324 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23325 New function.
23326 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23327 Return -1 if args.size was -1.
23328
4512e4f3 233292004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23330
23331 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23332 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23333 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23334 Open Firmware's memory for it; claim memory from _start to _end.
23335 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23336 (_end): New extern.
23337 (_start): Zero BSS from __bss_start to _end.
23338 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23339 New extern.
23340 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23341
4d61feb0 233422004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23343
ad0bd20b 23344 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23345 -1 if args.base was -1.
4d61feb0 23346
026fa2f9 233472004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23348
23349 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23350 escape sequence instead of a literal ^L. Also call
23351 grub_ofconsole_gotoxy.
23352
9f2220ef 233532004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23354
23355 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23356 void * arguments to grub_addr_t. All callers updated. Also make
23357 the `result' argument optional.
23358 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23359 All callers updated.
23360
8a572cd7 233612004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23362
23363 * commands/ls.c (grub_ls_list_files): Use the string following the
23364 initial ')', if present, as the filesystem path.
23365 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23366
23367 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23368
18aa81f2 233692004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23370
23371 Make the source code of the menu interface more readable.
f19dbdb7 23372
18aa81f2 23373 * normal/menu.c: Include grub/mm.h.
23374 (TERM_WIDTH): New macro.
23375 (TERM_HEIGHT): Likewise.
23376 (TERM_INFO_HEIGHT): Likewise.
23377 (TERM_MARGIN): Likewise.
23378 (TERM_SCROLL_WIDTH): Likewise.
23379 (TERM_TOP_BORDER_Y): Likewise.
23380 (TERM_LEFT_BORDER_X): Likewise.
23381 (TERM_BORDER_WIDTH): Likewise.
23382 (TERM_MESSAGE_HEIGHT): Likewise.
23383 (TERM_BORDER_HEIGHT): Likewise.
23384 (TERM_NUM_ENTRIES): Likewise.
23385 (TERM_FIRST_ENTRY_Y): Likewise.
23386 (TERM_ENTRY_WIDTH): Likewise.
23387 (TERM_CURSOR_X): Likewise.
23388 (draw_border): Use macros instead of magic numbers.
23389 (print_entry): Likewise.
23390 (print_entries): Likewise.
23391 (run_menu): Likewise. Also, handle the key 'e'.
23392 (run_menu_entry): Ignore empty command lines.
23393 (print_message): Added a new argument EDIT. If EDIT is true,
23394 print a different message.
23395 (init_page): Likewise.
23396 (edit_menu_entry): New function. Not implemented yet.
23397
b47efe30 233982004-09-17 Marco Gerards <metgerards@student.han.nl>
23399
23400 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23401 can be loaded from normal mode.
f19dbdb7 23402
b47efe30 23403 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23404 `multiboot.mod'.
23405 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23406 (multiboot_mod_CFLAGS): New variables.
23407 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 23408 * loader/i386/pc/multiboot_normal.c: Likewise.
23409
b47efe30 23410 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23411 attribute `unused'.
f19dbdb7 23412
b47efe30 23413 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23414 `fdiro' to read the mode information from instead of `diro'.
23415
23416 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23417 looking up a symlink.
23418
23419 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23420 macro.
23421 * normal/command.c (grub_command_execute): Don't parse the
23422 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23423 flags of the command.
23424
23425 * normal/menu.c (grub_menu_run): Fix typo.
23426
da75ac71 234272004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23428
23429 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23430
23431 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23432 `y + 1' instead of `y - 1'.
23433
23434 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 23435
062b24c2 234362004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23437
23438 From Hollis Blanchard <hollis@penguinppc.org>:
23439 * kern/misc.c (memmove): New alias for grub_memmove.
23440 (memcmp): New alias for grub_memcmp.
23441 (memset): New alias for grub_memset.
f19dbdb7 23442 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 23443 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 23444 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 23445 (grub_ieee1275_get_property): Likewise.
f19dbdb7 23446
8ddad845 234472004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
23448
23449 Added normal mode command `chainloader' as module chain.mod, which
23450 depends on normal.mod and _chain.mod.
f19dbdb7 23451
8ddad845 23452 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
23453 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
23454 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
23455 Deleted prototype.
23456 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
23457 but arguments parsing moved to ...
23458 (grub_chainloader_cmd): ... here. New function.
23459 * include/grub/i386/pc/chainloader.h: New file.
23460 * loader/i386/pc/chainloader_normal.c: Likewise.
23461
2c1f4ce3 234622004-09-11 Marco Gerards <metgerards@student.han.nl>
23463
23464 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23465 (grub_mkimage_LDFLAGS): Likewise.
23466 (grub_emu_SOURCES): Likewise.
23467 (kernel_img_HEADERS): Added fshelp.h.
23468 * fs/ext2.c: Include <grub/fshelp.h>.
23469 (FILETYPE_REG): New macro.
23470 (FILETYPE_INO_REG): Likewise.
23471 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23472 Changed all users.
23473 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23474 all users.
23475 (grub_fshelp_node): New struct.
23476 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23477 to a pointer.
23478 (grub_ext2_get_file_block): Removed function.
23479 (grub_ext2_read_block): New function.
23480 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23481 This function was written.
23482 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23483 (grub_ext2_find_file): Removed function.
23484 (grub_ext2_read_symlink): New function.
23485 (grub_ext2_iterate_dir): Likewise.
23486 (grub_ext2_open): Rewritten.
23487 (grub_ext2_dir): Rewritten.
23488 * include/grub/fshelp.h: New file.
23489 * fs/fshelp.c: Likewise.
23490
3c52136a 234912004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23492
23493 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23494 (print_message): Add a missing newline.
23495 (run_menu): Added timeout support.
23496 (run_menu_entry): New local function.
23497 (grub_menu_run): Added support for booting.
23498
23499 * kern/loader.c (grub_loader_is_loaded): New function.
23500
23501 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23502 (grub_get_rtc): Exported.
23503
23504 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23505 (grub_get_rtc): Exported.
23506
23507 * include/grub/normal.h (struct grub_command_list): Remove
23508 constant from the member `command'.
23509
23510 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23511
23512 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23513
23514 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23515
aa033560 235162004-08-28 Marco Gerards <metgerards@student.han.nl>
23517
23518 Add support for the JFS filesystem.
23519
23520 * fs/jfs.c: New file.
23521 * include/grub/fs.h (grub_jfs_init): New prototype.
23522 (grub_jfs_fini): New prototype.
23523 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
23524 (grub_emu_SOURCES): Likewise.
23525 (pkgdata_MODULES): Add jfs.mod.
23526 (jfs_mod_SOURCES): New variable.
23527 (jfs_mod_CFLAGS): Likewise.
23528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
23529 (grubof_SOURCES): Likewise.
23530 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
23531
23532 * fs/fat.c (grub_fat_find_dir): Convert the filename little
23533 endian to the host endian.
23534 (grub_fat_utf16_to_utf8): Move function from there...
23535 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 23536 the endianness of the source string anymore.
aa033560 23537 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
23538
94bc45af 235392004-08-24 Marco Gerards <metgerards@student.han.nl>
23540
23541 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
23542 (grub_boot_fini) [GRUB_UTIL]: Likewise.
23543 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
23544 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 23545
94bc45af 23546 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
23547 (grub_hfs_iterate_dir): Make the function static. Add prototypes
23548 for `node_found' and `it_dir'.
23549 (grub_hfs_dir): Add prototype for `dir_hook'.
23550
23551 * fs/minix.c (grub_minix_get_file_block): Add prototype for
23552 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
23553 and `indir32' to silence a gcc warning.
23554
23555 * include/grub/fs.h (grub_hfs_init): New prototype.
23556 (grub_hfs_fini): Likewise.
f19dbdb7 23557
23558
97543f08 235592004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23560
23561 Each disk device has its own id now. This is useful to make use
23562 of multiple disk devices.
f19dbdb7 23563
97543f08 23564 * include/grub/disk.h (grub_disk_dev_id): New enum.
23565 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
23566 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
23567
23568 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
23569 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23570
23571 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
23572 GRUB_DISK_DEVICE_OFDISK_ID as an id.
23573
23574 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
23575 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23576
23577 * include/grub/disk.h (struct grub_disk_dev): Added a new member
23578 "id" which is used by the cache manager.
23579
23580 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
23581 of just "GRUB".
23582
64372eb4 235832004-08-18 Marco Gerards <metgerards@student.han.nl>
23584
23585 * fs/hfs.c: New file.
23586 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
23587 (grub_emu_SOURCES): Likewise.
23588 (pkgdata_MODULES): Add hfs.mod.
23589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
23590 (grubof_SOURCES): Likewise.
23591 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
23592
23593 * include/grub/misc.h (grub_strncasecmp): Add prototype.
23594 * kern/misc.c (grub_strncasecmp): Add function.
23595
cc61b58f 235962004-08-14 Marco Gerards <metgerards@student.han.nl>
23597
23598 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
23599 with parentheses.
23600
23601 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
23602 (grub_ext2_dir): In case the directory entry type is unknown, read
23603 it from the inode.
23604
0ef123f6 236052004-08-02 Peter Bruin <pjbruin@dds.nl>
23606
23607 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
23608 grub_load_linux instead of grub_rescue_cmd_linux as second
23609 argument of grub_rescue_register_command.
23610
23611 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
23612
a447c5df 236132004-07-27 Marco Gerards <metgerards@student.han.nl>
23614
23615 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
23616 function.
23617 * commands/boot.c: Remove the check for `GRUB_UTIL'.
23618 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23619 `loader/powerpc/ieee1275/linux.c',
23620 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
23621 * include/grub/powerpc/ieee1275/ieee1275.h
23622 (grub_ieee1275_release): New prototype.
23623 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
23624 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
23625 normal, boot, linux and linux_normal.
23626 * loader/powerpc/ieee1275/linux.c: New file.
23627 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23628
5a9e3546 236292004-07-12 Marco Gerards <metgerards@student.han.nl>
23630
23631 * normal/arg.c (grub_arg_parse): Correct error handling after
23632 reallocating the argumentlist (check if `argl' is not null instead
23633 of checking if `args' is not null).
23634 * kern/mm.c (grub_realloc): Return the same pointer when using the
23635 same region, instead of returning the header address.
23636
e15199cb 236372004-07-11 Marco Gerards <metgerards@student.han.nl>
23638
23639 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
23640 one block instead of two when looking for the initial partition.
23641 (grub_partition_probe): Initialize the local variable `p' with 0.
23642 Use base 10 for the grub_strtoul call.
23643 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
23644 need for one local variable.
23645 (grub_strtoul): Don't add the new value to `num', instead of that
23646 just assign it.
23647
020616c2 236482004-07-11 Marco Gerards <metgerards@student.han.nl>
23649
23650 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
23651 (pxeboot_img_SOURCES): New variable.
23652 (pxeboot_img_ASFLAGS): Likewise.
23653 (pxeboot_img_LDFLAGS): Likewise.
23654 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
23655 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
23656 <lode_leroy@hotmail.com>.
23657
6c51eb64 236582004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23659
23660 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23661 there was no input.
23662
cfb12aff 236632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23664
23665 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
23666 the history buffer logic.
23667
6eabba74 236682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23669
23670 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
23671 (FILETYPE_INO_SYMLINK): New macros.
23672 (grub_ext2_find_file): Check if the node is a directory using the
23673 inode stat information instead of using the filetype in the
23674 dirent. Exclude the first character of an absolute symlink.
23675 (grub_ext2_dir): Mask out the filetype part of the mode member of
23676 the inode.
23677
66e19ef8 236782004-05-24 Marco Gerards <metgerards@student.han.nl>
23679
23680 Add support for UFS version 1 and 2. Add support for the minix
23681 filesystem version 1 and 2, both the variants with 14 and 30 long
23682 filenames.
f19dbdb7 23683
66e19ef8 23684 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
23685 fs/minix.c.
23686 (grub_emu_SOURCES): Likewise.
23687 (pkgdata_MODULES): Add ufs.mod and minix.mod.
23688 (ufs_mod_SOURCES): New variable.
23689 (ufs_mod_CFLAGS): Likewise.
23690 (minix_mod_SOURCES): Likewise.
23691 (minix_mod_CFLAGS): Likewise.
23692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
23693 fs/minix.c.
23694 (grubof_SOURCES): Likewise.
23695 * fs/ufs.c: New file.
23696 * fs/minix.c: New file.
23697 * include/grub/fs.h (grub_ufs_init): New prototype.
23698 (grub_ufs_fini): Likewise.
23699 (grub_minix_init): Likewise.
23700 (grub_minix_fini): Likewise.
23701 * util/grub-emu.c (main): Initialize and deinitialize UFS and
23702 minix fs.
23703
cc2e748a 237042004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
23705
23706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
23707 commands/ls.c, commands/terminal.c, commands/boot.c,
23708 commands/cmp.c and commands/cat.c.
23709 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
23710
23711 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
23712 "env.h"
23713
4b13b216 237142004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23715
23716 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
23717 and grub_, respectively. Because the conversion is trivial and
23718 mechanical, I omit the details here. Please refer to the CVS
23719 if you need more information.
23720
6a142551 237212004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23722
23723 * include/pupa: Renamed to ...
23724 * include/grub: ... this.
23725 * util/i386/pc/pupa-mkimage.c: Renamed to ...
23726 * util/i386/pc/grub-mkimage.c: ... this.
23727 * util/i386/pc/pupa-setup.c: Renamed to ...
23728 * util/i386/pc/grub-setup.c: ... this.
23729 * util/pupa-emu.c: Renamed to ...
23730 * util/grub-emu.c: ... this.
23731
e56cdf21 237322004-03-29 Marco Gerards <metgerards@student.han.nl>
23733
23734 Add support for the newworld apple macintosh (PPC). This has been
23735 tested on the powerbook 2000 only. It only adds support for
23736 generic ieee1275 functions, console and disk support. This should
23737 be easy to port to other architectures with support for Open
23738 Firmware.
f19dbdb7 23739
e56cdf21 23740 * configure.ac: Accept the powerpc as host_cpu. In the case of
23741 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
23742 specific tests are only executed while building for the i386.
23743 Inverse test for crosscompile.
23744 * genmk.rb (Utility): Allow assembler files.
23745 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
23746 * conf/powerpc-ieee1275.rmk: New file.
23747 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
23748 * disk/powerpc/ieee1275/partition.c: Likewise.
23749 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
23750 * include/pupa/powerpc/ieee1275/console.h: Likewise.
23751 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
23752 * include/pupa/powerpc/ieee1275/time.h: Likewise.
23753 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
23754 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
23755 * include/pupa/powerpc/ieee1275/loader.h
23756 * include/pupa/powerpc/setjmp.h: Likewise.
23757 * include/pupa/powerpc/types.h: Likewise.
23758 * kern/powerpc/ieee1275/init.c: Likewise.
23759 * kern/powerpc/ieee1275/openfw.c: Likewise.
23760 * term/powerpc/ieee1275/ofconsole.c: Likewise.
23761
23762 These files were written by Johan Rydberg
23763 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 23764
e56cdf21 23765 * boot/powerpc/ieee1275/cmain.c: New file.
23766 * boot/powerpc/ieee1275/crt0.S: Likewise.
23767 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
23768 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
23769
8c8cc205 237702004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
23771
23772 * Makefile.in: Update copyright.
23773 * genmodsrc.sh: Likewise.
23774 * gensymlist.sh: Likewise.
23775 * term/i386/pc/vga.c: Indent correctly.
23776
23777 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
23778 bugreporting address.
23779 * util/i386/pc/pupa-setup.c (usage): Likewise,
23780 (main): Call pupa_ext2_init and pupa_ext2_fini.
23781
f19dbdb7 23782 * fs/fat.c (log2): Renamed to ...
8c8cc205 23783 (fat_log2): ... this.
23784 All callers changed.
23785 * kern/misc.c (memcpy): Alias to pupa_memmove.
23786 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
23787 lvalue cast.
23788 * util/console.c (pupa_ncurses_fini): Return 0.
23789
23790 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
23791 Move fail label here.
23792 [__GNU__]: Don't warn when using stat.
23793 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
23794 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
23795 long int. Use strtol instead of strtoul.
f19dbdb7 23796
db1771cf 237972004-03-14 Marco Gerards <metgerards@student.han.nl>
23798
23799 * commands/boot.c: New file.
23800 * commands/cat.c: Likewise.
23801 * commands/cmp.c: Likewise.
23802 * commands/ls.c: Likewise.
23803 * commands/terminal.c: Likewise.
23804 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
23805 (pupa_register_command): Changed interface to match the new
23806 argument parser.
23807 (pupa_command_execute): Changed (almost rewritten) so it uses
23808 pupa_split_command. Added support for setting variables using the
23809 syntax `foo=bar'.
23810 (rescue_command): Changed to work with the new argument parser.
23811 (terminal_command): Moved from here to commands/terminal.c.
23812 (set_command): New function.
23813 (unset_command): New function.
23814 (insmod_command): New function.
23815 (rmmod_command): New function.
23816 (lsmod_command): New function.
23817 (pupa_command_init): Don't initialize the command terminal
23818 anymore. Initialize the commands set, unset, insmod, rmmod and
23819 lsmod.
23820 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
23821 (kernel_img_HEADERS): Add arg.h and env.h.
23822 (pupa_mkimage_LDFLAGS): Add kern/env.c.
23823 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
23824 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
23825 normal/arg.c.
23826 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
23827 terminal.mod.
23828 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
23829 (boot_mod_SOURCES): New variable.
23830 (terminal_mod_SOURCES): Likewise.
23831 (ls_mod_SOURCES): Likewise.
23832 (cmp_mod_SOURCES): Likewise.
23833 (cat_mod_SOURCES): Likewise.
23834
23835 * normal/arg.c: New file.
23836 * kern/env.c: Likewise.
23837 * include/pupa/arg.h: Likewise.
23838 * include/pupa/env.h: Likewise.
23839 * font/manager.c (font_command): Changed to match argument parsing
23840 interface changes.
23841 (PUPA_MOD_INIT): Likewise.
23842 * hello/hello.c (pupa_cmd_hello): Likewise.
23843 (PUPA_MOD_INIT): Likewise.
23844 * include/pupa/disk.h: Include <pupa/device.h>.
23845 (pupa_print_partinfo): New prototype.
23846 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
23847 (pupa_dl_get_prefix): Likewise.
23848 * include/pupa/misc.h: Include <pupa/err.h>.
23849 (pupa_isgraph): New prototype.
23850 (pupa_isdigit): Likewise.
23851 (pupa_split_cmdline): Likewise.
23852 * include/pupa/normal.h: Include <pupa/arg.h>.
23853 (pupa_command): Changed the prototype of the member `func' to
23854 match the argument parsing interface. Added member `options'.
23855 (pupa_register_command): Updated to match function.
23856 (pupa_arg_parse): New prototype.
23857 (pupa_hello_init) [PUPA_UTIL]: New prototype.
23858 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
23859 (pupa_ls_init) [PUPA_UTIL]: Likewise.
23860 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
23861 (pupa_cat_init) [PUPA_UTIL]: Likewise.
23862 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
23863 (pupa_boot_init) [PUPA_UTIL]: Likewise.
23864 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
23865 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
23866 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
23867 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
23868 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
23869 * kern/disk.c: Include <pupa/file.h>.
23870 (pupa_print_partinfo): New function.
23871 * kern/dl.c: Include <pupa/env.h>.
23872 (pupa_dl_dir): Variable removed.
23873 (pupa_dl_load): Use the environment variable `prefix' instead of
23874 the variable pupa_dl_dir.
23875 (pupa_dl_set_prefix): Function removed.
23876 (pupa_dl_get_prefix): Likewise.
23877 * kern/i386/pc/init.c: Include <pupa/env.h>.
23878 (pupa_machine_init): Use the environment variable `prefix' instead of
23879 using pupa_dl_set_prefix to set the prefix.
23880 * kern/main.c: Include <pupa/env.h>.
23881 (pupa_set_root_dev): Use the environment variable `prefix' instead of
23882 using pupa_dl_get_prefix to get the prefix.
23883 * kern/misc.c: Include <pupa/env.h>.
23884 (pupa_isdigit): New function.
23885 (pupa_isgraph): Likewise.
23886 (pupa_ftoa): Likewise.
23887 (pupa_vsprintf): Added support for printing values of the type
23888 `double'. Make it possible to format variable output when using
23889 formatting like `%1.2%f'.
23890 (pupa_split_cmdline): New function.
23891 * kern/rescue.c: Include <pupa/env.h>.
23892 (next_word): Removed function.
23893 (pupa_rescue_cmd_prefix): Likewise.
23894 (pupa_rescue_cmd_set): New function.
23895 (pupa_rescue_cmd_unset): New function.
23896 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
23897 split the command line instead of splitting it here. Added
23898 support for setting variables using the syntax `foo=bar'. Don't
23899 initialize the prefix command anymore. Initialized the set and
23900 unset commands.
23901 * normal/cmdline.c: Include <pupa/env.h>.
23902 (pupa_tab_complete): Added prototypes for print_simple_completion,
23903 print_partition_completion, add_completion, iterate_commands,
23904 iterate_dev, iterate_part and iterate_dir. Moved code to print
23905 partition information from here to kern/disk.c.
fe6b695a 23906 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 23907 * normal/main.c: Include <pupa/env.h>.
23908 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
23909 instead of using pupa_dl_get_prefix to get the prefix.
23910 * term/i386/pc/vga.c: Include <pupa/arg.h>.
23911 (check_vga_mem): Cast pointers to `void *' to silence a gcc
23912 warning.
23913 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
23914 (pupa_vga_setcolor): Declare unused variables with `__attribute__
23915 ((unused))' to silence a gcc warning.
23916 (pupa_vga_setcolor): Likewise.
23917 (debug_command): Changed to match argument parsing
23918 interface changes.
23919 * util/pupa-emu.c: Include <pupa/env.h>.
23920 (options): Added 0's for unused fields to silence a gcc warning.
23921 (argp): Likewise.
23922 (main): Use the environment variable `prefix' instead of using
23923 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
23924 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
23925 and terminal.
23926
23927 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
23928 * util/misc.c: Include <malloc.h>.
23929 (pupa_malloc): Rewritten so errors are correctly reported.
23930 (pupa_realloc): Likewise.
23931 (pupa_memalign): Likewise.
23932 (pupa_mm_init_region): Declare unused variables with
23933 `__attribute__ ((unused))' to silence a gcc warning.
23934 * normal/i386/setjmp.S: Remove tab at the end of the file to
23935 silence a gcc warning.
23936 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
23937 variables with `__attribute__ ((unused))' to silence a gcc
23938 warning.
23939 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
23940 local variable i unsigned to silence a gcc warning.
23941
23942 * kern/term.c: Include <pupa/misc.h>.
23943 (pupa_more_lines): New variable.
23944 (pupa_more): Likewise.
23945 (pupa_putcode): When the pager is active pause at the end of every
23946 screen.
23947 (pupa_set_more): New function.
23948 * include/pupa/term.h (pupa_set_more): New prototype.
23949
23950
3b1139cb 239512004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
23952
23953 Now this project is GRUB 2 rather than PUPA. The location of
23954 the CVS repository was moved to GRUB's.
f19dbdb7 23955
3b1139cb 23956 * configure.ac: Use bug-grub as the reporting address.
23957 Use GRUB instead of PUPA.
23958 Change the version number to 1.90.
23959
8367695c 239602004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
23961
23962 * genkernsyms.sh: Updated copyright information.
23963 * genmk.rb: Likewise.
23964 * genmodsrc.sh: Likewise.
23965 * gensymlist.sh: Likewise.
23966 * boot/i386/pc/boot.S: Likewise.
23967 * boot/i386/pc/diskboot.S: Likewise.
23968 * disk/i386/pc/biosdisk.c: Likewise.
23969 * disk/i386/pc/partition.c: Likewise.
23970 * font/manager.c: Likewise.
23971 * fs/ext2.c: Likewise.
23972 * fs/fat.c: Likewise.
23973 * include/pupa/boot.h: Likewise.
23974 * include/pupa/device.h: Likewise.
23975 * include/pupa/disk.h: Likewise.
23976 * include/pupa/dl.h: Likewise.
23977 * include/pupa/elf.h: Likewise.
23978 * include/pupa/err.h: Likewise.
23979 * include/pupa/file.h: Likewise.
23980 * include/pupa/font.h: Likewise.
23981 * include/pupa/fs.h: Likewise.
23982 * include/pupa/kernel.h: Likewise.
23983 * include/pupa/loader.h: Likewise.
23984 * include/pupa/misc.h: Likewise.
23985 * include/pupa/mm.h: Likewise.
23986 * include/pupa/net.h: Likewise.
23987 * include/pupa/normal.h: Likewise.
23988 * include/pupa/rescue.h: Likewise.
23989 * include/pupa/setjmp.h: Likewise.
23990 * include/pupa/symbol.h: Likewise.
23991 * include/pupa/term.h: Likewise.
23992 * include/pupa/types.h: Likewise.
23993 * include/pupa/i386/setjmp.h: Likewise.
23994 * include/pupa/i386/types.h: Likewise.
23995 * include/pupa/i386/pc/biosdisk.h: Likewise.
23996 * include/pupa/i386/pc/boot.h: Likewise.
23997 * include/pupa/i386/pc/console.h: Likewise.
23998 * include/pupa/i386/pc/init.h: Likewise.
23999 * include/pupa/i386/pc/kernel.h: Likewise.
24000 * include/pupa/i386/pc/linux.h: Likewise.
24001 * include/pupa/i386/pc/loader.h: Likewise.
24002 * include/pupa/i386/pc/memory.h: Likewise.
24003 * include/pupa/i386/pc/multiboot.h: Likewise.
24004 * include/pupa/i386/pc/partition.h: Likewise.
24005 * include/pupa/i386/pc/time.h: Likewise.
24006 * include/pupa/i386/pc/vga.h: Likewise.
24007 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
24008 * include/pupa/util/getroot.h: Likewise.
24009 * include/pupa/util/misc.h: Likewise.
24010 * include/pupa/util/resolve.h: Likewise.
24011 * kern/device.c: Likewise.
24012 * kern/disk.c: Likewise.
24013 * kern/dl.c: Likewise.
24014 * kern/err.c: Likewise.
24015 * kern/file.c: Likewise.
24016 * kern/fs.c: Likewise.
24017 * kern/loader.c: Likewise.
24018 * kern/main.c: Likewise.
24019 * kern/misc.c: Likewise.
24020 * kern/mm.c: Likewise.
24021 * kern/rescue.c: Likewise.
24022 * kern/term.c: Likewise.
24023 * kern/i386/dl.c: Likewise.
24024 * kern/i386/pc/init.c: Likewise.
24025 * kern/i386/pc/lzo1x.S: Likewise.
24026 * kern/i386/pc/startup.S: Likewise.
24027 * loader/i386/pc/chainloader.c: Likewise.
24028 * loader/i386/pc/linux.c: Likewise.
24029 * loader/i386/pc/multiboot.c: Likewise.
24030 * normal/cmdline.c: Likewise.
24031 * normal/command.c: Likewise.
24032 * normal/main.c: Likewise.
24033 * normal/menu.c: Likewise.
24034 * normal/i386/setjmp.S: Likewise.
24035 * term/i386/pc/console.c: Likewise.
24036 * term/i386/pc/vga.c: Likewise.
24037 * util/console.c: Likewise.
24038 * util/genmoddep.c: Likewise.
24039 * util/misc.c: Likewise.
24040 * util/pupa-emu.c: Likewise.
24041 * util/resolve.c: Likewise.
24042 * util/unifont2pff.rb: Likewise.
24043 * util/i386/pc/biosdisk.c: Likewise.
24044 * util/i386/pc/getroot.c: Likewise.
24045 * util/i386/pc/pupa-mkimage.c: Likewise.
24046 * util/i386/pc/pupa-setup.c: Likewise.
24047
e6eced71 240482004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
24049
24050 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
24051 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
24052 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
24053 reading and reset it after reading.
24054 (pupa_ext2_close): Return PUPA_ERR_NONE.
24055
24056 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
24057 Correct value.
24058 (struct linux_kernel_header): Add kernel_version and
24059 initrd_addr_max.
24060 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
24061 pupa_file_read succeeds.
24062 (pupa_rescue_cmd_initrd): Implement.
24063
5aded270 240642003-12-03 Marco Gerards <metgerards@student.han.nl>
24065
24066 * fs/ext2.c (pupa_ext2_label): New function.
24067 (pupa_ext2_fs): Added label.
24068 * fs/fat.c (pupa_fat_label): New function.
24069 (pupa_fat_fs): Added label.
24070 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
24071
24072 * kern/misc.c (pupa_strndup): New function.
24073 * include/pupa/misc.h (pupa_strndup): New prototype.
24074
24075 * include/pupa/normal.h: Include <pupa/err.h>.
24076 (pupa_set_history): New prototype.
24077 (pupa_iterate_commands): New prototype.
24078 * normal/cmdline.c: Include <pupa/machine/partition.h>,
24079 <pupa/disk.h>, <pupa/file.h>.
24080 (hist_size): New variable.
24081 (hist_lines): Likewise.
24082 (hist_end): Likewise.
24083 (hist_used): Likewise.
24084 (pupa_set_history): New function.
24085 (pupa_history_get): Likewise.
24086 (pupa_history_add): Likewise.
24087 (pupa_history_replace): Likewise.
24088 (pupa_tab_complete): Likewise.
24089 (pupa_cmdline_run): Added tab completion and history buffer. Tab
24090 completion shows partitionnames while completing partitions, this
24091 feature was suggested by Jeff Bailey.
24092 * normal/command.c (pupa_iterate_commands): New function.
24093 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
24094 (pupa_normal_init): Initialize history buffer.
24095 (PUPA_MOD_INIT): Likewise.
24096 (pupa_normal_fini): Free the history buffer.
24097 (PUPA_MOD_FINI): Likewise.
24098
24099 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
24100 key.
24101
24102 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
24103 * configure.ac [i386]: Check for regparam bug.
24104 (NESTED_FUNC_ATTR) [! i386]: Defined.
24105
1f7315a3 241062003-11-17 Marco Gerards <metgerards@student.han.nl>
24107
24108 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
24109 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
24110 (pupa_emu_SOURCES): New variable.
24111 (pupa_emu_LDFLAGS): Likewise.
24112 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
24113 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
24114 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
24115 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24116 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
24117 (pupa_jmp_buf): New typedef.
24118 (pupa_setjmp) [PUPA_UTIL]: New macro.
24119 (pupa_longjmp) [PUPA_UTIL]: Likewise.
24120 * include/pupa/term.h (struct pupa_term): New member `refresh'.
24121 (pupa_refresh): New prototype.
24122 * include/pupa/util/getroot.h: New file.
24123 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
24124 it.
24125 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
24126 (pupa_rescue_cmd_cat): Likewise.
24127 (pupa_rescue_cmd_ls): Likewise.
24128 (pupa_rescue_cmd_testload): Likewise.
24129 (pupa_rescue_cmd_lsmod): Likewise.
24130 * normal/cmdline.c (pupa_cmdline_get): Likewise.
24131 * normal/menu.c (run_menu): Likewise.
24132 * kern/term.c (pupa_cls): Likewise.
24133 (pupa_refresh): New function.
24134 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
24135 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24136 * util/console.c: New file.
f19dbdb7 24137
1f7315a3 24138 * util/i386/pc/getroot.c: New file.
24139 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
24140 (pupa_putchar): New function.
24141 (pupa_refresh): Likewise.
24142 (xgetcwd): Function moved to ...
24143 (strip_extra_slashes): Likewise.
24144 (get_prefix): Likewise.
f19dbdb7 24145 * util/i386/pc/getroot.c: ... here.
1f7315a3 24146 (find_root_device): Function moved and renamed to...
24147 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
24148 Changed all callers.
24149 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
24150 and renamed to...
24151 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
24152 Changed all callers.
24153 * util/misc.c (pupa_memalign): New function.
24154 (pupa_mm_init_region): Likewise.
24155 (pupa_register_exported_symbols): Likewise.
24156 (pupa_putchar): Function removed.
24157 * util/pupa-emu.c: New file.
24158
9a5c1ade 241592003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
24160
24161 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
24162 (_multiboot_mod_SOURCES): New variable.
24163 (_multiboot_mod_CFLAGS): Likewise.
24164 * loader/i386/pc/multiboot.c: New file.
24165 * include/pupa/i386/pc/multiboot.h: Likewise.
24166 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
24167 (pupa_multiboot_real_boot): New function.
24168 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
24169 (pupa_multiboot_real_boot): New prototype.
24170 (pupa_rescue_cmd_multiboot): Likewise
24171 (pupa_rescue_cmd_module): Likewise.
24172
24173 * kern/loader.c (pupa_loader_set): Continue when
24174 pupa_loader_unload_func() fails.
24175 (pupa_loader_unset): New function.
24176 * include/pupa/loader.h (pupa_loader_unset): New prototype.
24177
24178 * kern/misc.c (pupa_stpcpy): New function.
24179 * include/pupa/misc.h (pupa_stpcpy): New prototype.
24180
8e72a9c0 241812003-11-12 Marco Gerards <metgerards@student.han.nl>
24182
24183 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
24184 for available extensions.
24185
24186 * include/pupa/i386/pc/time.h: New file.
24187 * kern/disk.c: Include <pupa/machine/time.h>.
24188 (PUPA_CACHE_TIMEOUT): New macro.
24189 (pupa_last_time): New variable.
24190 (pupa_disk_open): Flush the cache when there was a timeout.
24191 (pupa_disk_close): Reset the timer.
24192 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
24193 pupa_currticks.
24194 * util/misc.c: Include <sys/times.h>
24195 (pupa_get_rtc): New function.
24196
c4adbd32 241972003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24198
24199 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
24200 as blocks.
24201 (pupa_ext2_get_file_block): Use blocks member.
24202
24203 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
24204 first block. Return -1 instead of pupa_errno on error.
24205
bfd30f06 242062003-10-27 Marco Gerards <metgerards@student.han.nl>
24207
24208 * README: In the pupa-mkimage example use _chain instead of chain
24209 and ext2 instead of fat.
24210 * TODO: Replace ext2fs with jfs as an example. Add an item for
24211 adding journal playback for ext2fs.
24212 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
24213 (pkgdata_MODULES): Added ext2.mod.
24214 (ext2_mod_SOURCES): New variable.
24215 (ext2_mod_CFLAGS): Likewise.
24216 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
24217 * include/pupa/misc.h (pupa_strncpy): New prototype.
24218 (pupa_strcat): Likewise.
24219 (pupa_strncmp): Likewise.
24220 * kern/misc.c (pupa_strcat): Enable function.
24221 (pupa_strncpy): New function.
24222 (pupa_strncmp): Likewise.
24223 * fs/ext2.c: New file.
f19dbdb7 24224
bfd30f06 24225 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
24226 when the read failed before retrying.
24227 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
24228 (_FILE_OFFSET_BITS): Likewise.
24229 * configure.ac: Added AC_SYS_LARGEFILE.
24230
98d15063 242312003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24232
24233 * genmk.rb (PModule#rule): Make sure to get only symbol names
24234 from the output of nm.
59cad637 24235 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 24236
18d9c7cd 242372003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24238
24239 I forgot to check in these changes for a long time. This adds
24240 incomplete support for VGA console, and this is still very
24241 buggy. Also, a lot of consideration is required for I18N,
24242 UNICODE, and VGA font issues. Therefore, assume that this is
24243 such that "better than nothing".
f19dbdb7 24244
18d9c7cd 24245 * font/manager.c: New file.
24246 * include/pupa/font.h: Likewise.
24247 * include/pupa/i386/pc/vga.h: Likewise.
24248 * term/i386/pc/vga.c: Likewise.
24249 * util/unifont2pff.rb: Likewise.
24250
24251 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
24252 (pkgdata_MODULES): Added vga.mod and font.mod.
24253 (vga_mod_SOURCES): New variables.
24254 (vga_mod_CFLAGS): Likewise.
24255 (font_mod_SOURCES): Likewise.
24256 (font_mod_CFLAGS): Likewise.
24257
24258 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
24259
24260 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 24261 (struct pupa_term): Added init and fini.
18d9c7cd 24262 Changed the argument of putchar to pupa_uint32_t.
24263
24264 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
24265 (pupa_console_real_putchar): New prototype.
24266 (pupa_console_putchar): Removed.
24267 (pupa_console_checkkey): Exported.
24268 (pupa_console_getkey): Likewise.
24269
24270 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
24271 characters.
24272
24273 * kern/term.c (pupa_term_set_current): Rewritten.
24274 (pupa_putchar): Likewise.
24275 (pupa_putcode): New function.
24276
24277 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24278 (pupa_console_real_putchar): ... this.
24279 (pupa_vga_set_mode): New function.
24280 (pupa_vga_get_font): Likewise.
24281
24282 * normal/command.c: Include pupa/term.h.
24283 (terminal_command): New function.
24284 (pupa_command_init): Register the command "terminal".
24285
24286 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24287 (DISP_UP): Likewise.
24288 (DISP_RIGHT): Likewise.
24289 (DISP_DOWN): Likewise.
24290 (DISP_HLINE): Likewise.
24291 (DISP_VLINE): Likewise.
24292 (DISP_UL): Likewise.
24293 (DISP_UR): Likewise.
24294 (DISP_LL): Likewise.
24295 (DISP_LR): Likewise.
24296
24297 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 24298
977329f5 242992003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24300
24301 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24302 FIX. Reverse the path_list.
24303
24304 * include/pupa/normal.h: Export pupa_register_command and
24305 pupa_unregister_command.
24306
24307 * hello/hello.c (pupa_cmd_hello): New module.
24308 * conf/i386-pc.rmk: Added hello.mod.
24309
1f5ab428 243102003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24311
24312 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 24313
1f5ab428 24314 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24315 (compress_kernel): New variable.
24316 (generate_image): Heavily modified to support compressing a
24317 large part of the core image.
24318
24319 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24320 leak.
24321 (pupa_util_load_image): New function.
24322
24323 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24324 (pupa_compressed_size): New variable.
24325 (codestart): Enable Gate A20 here.
24326 Decompress the compressed part of the core image.
24327 Rearrange the code to put functions and variables which are
24328 required for initialization in the non-compressed part.
24329 Include lzo1x.S.
24330
24331 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24332 here.
24333
24334 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24335
f19dbdb7 24336 * include/pupa/i386/pc/kernel.h
1f5ab428 24337 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24338 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24339 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24340 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24341 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24342
24343 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24344
24345 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24346 (Utility#rule): Likewise.
24347
24348 * configure.ac: Check if LZO is available.
24349
ce5bf700 243502003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24351
24352 * include/pupa/normal.h: New file.
24353 * include/pupa/setjmp.h: Likewise.
24354 * include/pupa/i386/setjmp.h: Likewise.
24355 * normal/cmdline.c: Likewise.
24356 * normal/command.c: Likewise.
24357 * normal/main.c: Likewise.
24358 * normal/menu.c: Likewise.
24359 * normal/i386/setjmp.S: Likewise.
f19dbdb7 24360
ce5bf700 24361 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24362 (pupa_rescue_cmd_initrd): Likewise.
24363
24364 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24365 Likewise.
24366
24367 * kern/i386/pc/startup.S (translation_table): New variable.
24368 (translate_keycode): New function.
24369 (pupa_console_getkey): Call translate_keycode.
24370
24371 * kern/rescue.c (attempt_normal_mode): New function.
24372 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24373 it failed, print a message.
24374
24375 * kern/mm.c (pupa_real_malloc): Print more information when a
24376 free magic is broken.
24377 (pupa_free): If the first free header is not free actually, set
24378 it to P.
24379
24380 * kern/main.c (pupa_load_normal_mode): Just load the module
24381 "normal".
24382 (pupa_main): Don't print the message
24383 "Entering into rescue mode..." here.
24384
24385 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24386 Declared.
24387 (pupa_rescue_cmd_initrd): Likewise.
24388 (pupa_rescue_cmd_initrd): Likewise.
24389
24390 * include/pupa/symbol.h (FUNCTION): Specify the type.
24391 (VARIABLE): Likewise.
24392
24393 * include/pupa/err.h (pupa_err_t): Added
24394 PUPA_ERR_UNKNOWN_COMMAND.
24395
24396 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24397 (pupa_dl_get_prefix): Likewise.
24398
24399 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24400 Added _chain.mod and _linux.mod instead of chain.mod and
24401 linux.mod.
24402 (chain_mod_SOURCES): Renamed to ...
24403 (_chain_mod_SOURCES): ... this.
24404 (chain_mod_CFLAGS): Renamed to ...
24405 (_chain_mod_CFLAGS): ... this.
24406 (linux_mod_SOURCES): Renamed to ...
24407 (_linux_mod_SOURCES): ... this.
24408 (linux_mod_CFLAGS): Renamed to ...
24409 (_linux_mod_CFLAGS): ... this.
24410 (normal_mod_SOURCES): New variable.
24411 (normal_mod_CFLAGS): Likewise.
24412 (normal_mod_ASFLAGS): Likewise.
24413
244142003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24415
24416 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24417 possible.
24418
fe6b695a 24419 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 24420 recursively.
24421 (pupa_dl_unref): Unrefer depending modules recursively.
24422 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24423 a module is unloaded before one depending on that module is
24424 unloaded.
24425 (pupa_dl_unload): Unload depending modules explicitly,
24426 if possible.
24427
c04da074 244282003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24429
24430 * include/pupa/i386/pc/linux.h: New file.
24431 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 24432
c04da074 24433 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24434 Removed.
24435 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24436 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24437 of PUPA_CHAINLOADER_BOOT_SECTOR.
24438
24439 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24440 (pupa_linux_prot_size): New variable.
24441 (pupa_linux_tmp_addr): Likewise.
24442 (pupa_linux_real_addr): Likewise.
24443 (pupa_linux_boot_zimage): New function.
24444 (pupa_linux_boot_bzimage): Likewise.
24445
24446 * kern/i386/pc/init.c (struct mem_region): New structure.
24447 (MAX_REGIONS): New macro.
24448 (mem_regions): New variable.
24449 (num_regions): Likewise.
24450 (pupa_os_area_addr): Likewise.
24451 (pupa_os_area_size): Likewise.
24452 (pupa_lower_mem): Likewise.
24453 (pupa_upper_mem): Likewise.
24454 (add_mem_region): New function.
24455 (compact_mem_regions): Likewise.
24456 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
24457 the size of the conventional memory and that of so-called upper
24458 memory (before the first memory hole).
24459 Instead of adding each found region to free memory, use
24460 add_mem_region and add them after removing overlaps.
24461 Also, add only 1/4 of the upper memory to free memory. The rest
24462 is used for loading OS images. Maybe this is ad hoc, but this
24463 makes it much easier to relocate OS images when booting.
24464
24465 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24466 (pupa_enter_rescue_mode): Don't register initrd and module.
24467
24468 * kern/mm.c: Include pupa/dl.h.
24469
24470 * kern/main.c: Include pupa/file.h and pupa/device.h.
24471
24472 * kern/loader.c (pupa_loader_load_module_func): Removed.
24473 (pupa_loader_load_module): Likewise.
24474
24475 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24476 ``.o''.
24477
24478 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24479 (pupa_linux_tmp_addr): Likewise.
24480 (pupa_linux_real_addr): Likewise.
24481 (pupa_linux_boot_zimage): Likewise.
24482 (pupa_linux_boot_bzimage): Likewise.
24483
24484 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24485 (pupa_upper_mem): Likewise.
24486 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24487 module is too dangerous.
24488
24489 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24490 (pupa_os_area_size): Likewise.
24491 (pupa_loader_set): Remove the first argument. Loader doesn't
24492 manage modules or initrd any longer.
24493 (pupa_loader_load_module): Removed.
24494
24495 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24496 (linux_mod_SOURCES): New variable.
24497 (linux_mod_CFLAGS): Likewise.
24498
a13f9237 244992003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24500
24501 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24502 the length of a blocklist correctly.
24503
24504 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24505 Use ioctl only if the OS file is a block device.
24506 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24507 not very useful for normal files.
24508
24509 * kern/main.c (pupa_set_root_dev): New function.
24510 (pupa_load_normal_mode): Likewise.
24511 (pupa_main): Call those above.
24512
24513 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24514 pupa_uint16_t.
24515
24516 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24517
a5ffe966 245182003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24519
24520 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
24521 (setup): Configure the installed partition information and the
24522 dl prefix.
24523
24524 * loader/i386/pc/chainloader.c (my_mod): New variable.
24525 (pupa_chainloader_unload): New function.
24526 (pupa_rescue_cmd_chainloader): Refer itself.
24527 (PUPA_MOD_INIT): Save its own module in MY_MOD.
24528
24529 * kern/i386/pc/startup.S (install_partition): Removed.
24530 (version_string): Likewise.
24531 (config_file): Likewise.
24532 (pupa_install_dos_part): New variable.
24533 (pupa_install_bsd_part): Likewise.
24534 (pupa_prefix): Likewise.
24535 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
24536
24537 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
24538 and pupa/misc.h.
24539 (make_install_device): New function.
24540 (pupa_machine_init): Set the dl prefix.
24541
24542 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
24543 (buf): Renamed to ...
24544 (linebuf): ... this.
24545 (pupa_rescue_cmd_prefix): New function.
24546 (pupa_rescue_cmd_insmod): Likewise.
24547 (pupa_rescue_cmd_rmmod): Likewise.
24548 (pupa_rescue_cmd_lsmod): Likewise.
24549 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
24550 rmmod and lsmod.
24551
24552 * kern/mm.c (pupa_memalign): If failed even after invalidating
24553 disk caches, unload unneeded modules and retry.
24554
24555 * kern/misc.c (pupa_memmove): New function.
24556 (pupa_memcpy): Removed.
24557 (pupa_strcpy): New function.
24558 (pupa_itoa): Made static.
24559
24560 * kern/dl.c (pupa_dl_iterate): New function.
24561 (pupa_dl_ref): Likewise.
24562 (pupa_dl_unref): Likewise.
24563 (pupa_dl_unload): Return if succeeded or not.
24564 (pupa_dl_unload_unneeded): New function.
24565 (pupa_dl_unload_all): Likewise.
24566 (pupa_dl_init): Renamed to ...
24567 (pupa_dl_set_prefix): ... this.
24568 (pupa_dl_get_prefix): New function.
24569
24570 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
24571 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
24572 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24573 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24574 (pupa_install_dos_part): Declared.
24575 (pupa_install_bsd_part): Likewise.
24576 (pupa_prefix): Likewise.
24577 (pupa_boot_drive): Likewise.
24578
24579 * include/pupa/types.h: Fix a typo.
24580
24581 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
24582 pupa_memmove.
24583 (pupa_memmove): Declared.
24584 (pupa_strcpy): Likewise.
24585
24586 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
24587 pupa_mod_init takes one argument, its own module.
24588 (pupa_dl_unload_unneeded): Declared.
24589 (pupa_dl_unload_all): Likewise.
24590 (pupa_dl_ref): Likewise.
24591 (pupa_dl_unref): Likewise.
24592 (pupa_dl_iterate): Likewise.
24593 (pupa_dl_init): Renamed to ...
24594 (pupa_dl_set_prefix): ... this.
24595 (pupa_dl_get_prefix): Declared.
24596
24597 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 24598 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 24599 unloaded.
24600 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
24601 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
24602
24603 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
24604 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
24605
012d7999 246062003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24607
24608 * util/i386/pc/pupa-setup.c (setup): Define the internal
24609 function find_first_partition_start at the top level, because GCC
24610 3.0.x cannot compile internal functions in deeper scopes
24611 correctly.
24612 (find_root_device): Use lstat instead of stat.
24613 Don't follow symbolic links.
24614 Fix the path-constructing code.
24615
24616 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
24617 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
24618 by a BLKGETSIZE ioctl first, because block devices don't fill
24619 the member st_mode of the structure stat on Linux.
24620 [__linux__] (linux_find_partition): Use a temporary buffer
24621 REAL_DEV for the working space. Copy it to DEV before returning.
24622 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
24623 buffer cache consistent.
24624 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
24625 strncmp. The previous value was merely wrong.
24626 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
24627
24628 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
24629 FAT size is 12. The previous value was merely wrong.
24630
24631 * kern/main.c (pupa_main): Don't split the starting message from
24632 newlines.
24633
24634 * kern/term.c (pupa_putchar): Put CR after LF instead of before
24635 LF, because BIOS goes crazy about character attributes in this
24636 case.
24637
1cc73a62 246382003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24639
24640 * include/i386/pc/util/biosdisk.h: New file.
24641 * util/i386/pc/biosdisk.c: Likewise.
24642 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 24643
1cc73a62 24644 * Makefile.in (INCLUDE_DISTFILES): Added
24645 include/pupa/i386/pc/util/biosdisk.h.
24646 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
24647 directory util/i386/pc.
24648 (install-local): Added a rule for sbin_UTILITIES.
24649 (uninstall): Likewise.
24650
24651 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
24652
24653 * util/misc.c (xrealloc): New function.
24654 (pupa_malloc): Likewise.
24655 (pupa_free): Likewise.
24656 (pupa_realloc): Likewise.
24657 (pupa_stop): Likewise.
24658 (pupa_putchar): Likewise.
24659
24660 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24661
24662 * include/pupa/util/misc.h (xrealloc): Declared.
24663
24664 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
24665 macro.
24666 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
24667 (PUPA_BOOT_MACHINE_BPB_END): ... this.
24668
24669 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
24670 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24671
24672 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
24673 way should be implemented.
24674 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24675
24676 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
24677 the size of NAME for safety.
24678 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
24679 0x88.
24680
24681 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
24682 (pupa_setup_SOURCES): Likewise.
24683
24684 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
24685
08b70fe8 246862002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24687
24688 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
24689 bunch of pushl's from pusha, because this destroys the return
24690 value.
24691
62ddcc8f 246922002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24693
24694 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
24695 This means that any missing prototypes could be fatal. Also, you
24696 must take care when writing assembly code. See the comments at
24697 the beginning of startup.S, for more details.
f19dbdb7 24698
62ddcc8f 24699 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
24700 compilation mechanism.
24701 (pupa_chainloader_real_boot): Likewise.
24702 (pupa_biosdisk_rw_int13_extensions): Likewise.
24703 (pupa_biosdisk_rw_standard): Likewise.
24704 (pupa_biosdisk_check_int13_extensions): Likewise.
24705 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
24706 (pupa_biosdisk_get_diskinfo_standard): Likewise.
24707 (pupa_get_memsize): Likewise.
24708 (pupa_get_mmap_entry): Likewise.
24709 (pupa_console_putchar): Likewise.
24710 (pupa_console_setcursor): Likewise.
24711 (pupa_getrtsecs): Use pushl instead of push.
24712
24713 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
24714 memory instead of the stack for a mmap entry, because some
24715 BIOSes may ignore the maximum size and overflow.
24716
24717 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
24718
24719 * genmk.rb (PModule#rule): Compile automatically generated
24720 sources with module-specific CFLAGS as well as other sources.
24721
9962ed99 247222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24723
24724 * configure.ac: Check ld.
24725 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
24726 respectively, before checking endianness and sizes.
24727
24728 * Makefile.in (LD): New variable.
f19dbdb7 24729
abdfc3c5 247302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24731
24732 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
24733
6a161fa9 247342002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24735
24736 * Changelog: New file.
24737