]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub.d/10_linux.in: Add support for initrd images on Fedora
[grub2.git] / ChangeLog
CommitLineData
c75be4fb
PR
12010-06-26 Pavel Roskin <proski@gnu.org>
2
3 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
4 13.
5
d8034603
CW
62010-06-26 Colin Watson <cjwatson@ubuntu.com>
7
8 * docs/grub.texi (Simple configuration): Explain that
9 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
10 set to `true' to disable their respective recovery entries, not
11 merely set.
12
3fa06487
CW
132010-06-26 Colin Watson <cjwatson@ubuntu.com>
14
15 Make the `source' command slightly faster.
16
17 * normal/main.c (grub_normal_execute): Don't re-read list files when
18 nested.
19
e9b29642
CW
202010-06-23 Colin Watson <cjwatson@ubuntu.com>
21
22 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23 field position and mask size to red fields from mode_info, not
24 green.
25 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26 Remove redundant tag->common.framebuffer_type assignment.
27 Reported by: Seth Goldberg.
28
e726542f
CW
292010-06-23 Colin Watson <cjwatson@ubuntu.com>
30
31 Sync up other versions of the Linux loader with Robert Millan's
32 change of 2010-01-09, "Make loader output a bit more user-friendly".
33
34 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
35 grub_dprintf().
36 (grub_cmd_linux): Likewise.
37 (grub_cmd_initrd): Likewise.
38 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
39 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
40
d6e98a17
CW
412010-06-21 Colin Watson <cjwatson@ubuntu.com>
42
43 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
44 larger than MEMORY_MAP_SIZE.
45
14d3f08e
BC
462010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
47
48 Fix parallel build.
49
50 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
51 dependency.
52 * script/parser.y: #include grub_script.tab.h header.
53
4f9613a3
VS
542010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
55
56 Support >3GiB and <16MiB RAM in i386-qemu.
57
58 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
59 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
60 (grub_lower_mem): Removed.
61 (grub_upper_mem): Likewise.
62 (mem_size): Made static.
63 (above_4g): New variable.
64 (grub_machine_mmap_init): Detect small mem_size and above_4g.
65 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
66 support.
67
05e51879
VS
682010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Cirrus 5446 and Bochs video cards support.
71
72 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
73 video_bochs.mod
74 (video_cirrus_mod_SOURCES): New variable.
75 (video_cirrus_mod_CFLAGS): Likewise.
76 (video_cirrus_mod_LDFLAGS): Likewise.
77 (video_bochs_mod_SOURCES): Likewise.
78 (video_bochs_mod_CFLAGS): Likewise.
79 (video_bochs_mod_LDFLAGS): Likewise.
80 * include/grub/vga.h: New file.
81 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
82 (grub_video_fb_set_page_t): New type.
83 (grub_video_fb_setup): New prototype.
84 (grub_video_fb_swap_buffers): Likewise.
85 (grub_video_fb_get_info_and_fini): Likewise.
86 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
87 (CRTC_DATA_PORT): Likewise.
88 (CRTC_CURSOR): Likewise.
89 (CRTC_CURSOR_ADDR_HIGH): Likewise.
90 (CRTC_CURSOR_ADDR_LOW): Likewise.
91 (CRTC_CURSOR_DISABLE): Likewise.
92 (update_cursor): Use grub_vga_cr_write.
93 (grub_vga_text_setcursor): Likewise.
94 * video/bochs.c: New file.
95 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
96 (palette): Likewise.
97 (palette_size): Likewise.
98 (framebuffer): New variable.
99 (grub_video_fb_init): Use 'framebuffer'.
100 (grub_video_fb_fini): Likewise.
101 (grub_video_fb_get_info): Likewise.
102 (grub_video_fb_get_palette): Likewise.
103 (grub_video_fb_set_palette): Likewise.
104 (grub_video_fb_set_viewport): Likewise.
105 (grub_video_fb_get_viewport): Likewise.
106 (grub_video_fb_map_color): Likewise.
107 (grub_video_fb_map_rgb): Likewise.
108 (grub_video_fb_map_rgba): Likewise.
109 (grub_video_fb_unmap_color): Likewise.
110 (grub_video_fb_unmap_color_int): Likewise.
111 (grub_video_fb_fill_rect): Likewise.
112 (grub_video_fb_blit_bitmap): Likewise.
113 (grub_video_fb_blit_render_target): Likewise.
114 (grub_video_fb_scroll): Likewise.
115 (grub_video_fb_create_render_target): Likewise.
116 (grub_video_fb_doublebuf_blit_init): Likewise.
117 (grub_video_fb_set_active_render_target): Handle doublebuffering.
118 (doublebuf_pageflipping_update_screen): New function.
119 (doublebuf_pageflipping_init): Likewise.
120 (grub_video_fb_setup): Likewise.
121 (grub_video_fb_swap_buffers): Likewise.
122 (grub_video_fb_get_info_and_fini): Likewise.
123 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
124 All users updated.
125 (doublebuf_pageflipping_commit): Restructured into ...
126 (doublebuf_pageflipping_set_page): ... this.
127 (doublebuf_pageflipping_update_screen): Removed.
128 (doublebuf_pageflipping_init): Likewise.
129 (double_buffering_init): Likewise.
130 (grub_video_vbe_setup): Use grub_video_fb_setup.
131 (grub_video_vbe_swap_buffers): Removed.
132 (grub_video_vbe_set_active_render_target): Likewise.
133 (grub_video_vbe_get_active_render_target): Likewise.
134 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
135 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
136 grub_video_fb_set_active_render_target and
137 grub_video_fb_get_active_render_target.
138 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
139 (SEQUENCER_DATA_PORT): Likewise.
140 (MAP_MASK_REGISTER): Likewise.
141 (CRTC_ADDR_PORT): Likewise.
142 (CRTC_DATA_PORT): Likewise.
143 (START_ADDR_HIGH_REGISTER): Likewise.
144 (START_ADDR_LOW_REGISTER): Likewise.
145 (GRAPHICS_ADDR_PORT): Likewise.
146 (GRAPHICS_DATA_PORT): Likewise.
147 (READ_MAP_REGISTER): Likewise.
148 (INPUT_STATUS1_REGISTER): Likewise.
149 (INPUT_STATUS1_VERTR_BIT): Likewise.
150 (get_map_mask): Use grub_vga_sr_read.
151 (set_map_mask): Use grub_vga_sr_write.
152 (set_read_map): Use grub_vga_gr_write.
153 (set_start_address): Use grub_vga_cr_write.
154 * video/sm712.c (framebuffer): Remove leftover fields.
155
4321c64a
CW
1562010-06-20 Colin Watson <cjwatson@ubuntu.com>
157
158 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
159 setting GRUB_VIDEO_BACKEND. Make it available as a user override
160 instead. Replace the gfxterm backend check with a check that
161 ${GRUB_PREFIX}/video.lst is non-empty.
162 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
163 again.
164 (load_video): New generated function. Call it before loading
165 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
166 * util/grub.d/10_linux.in (linux_entry): Call load_video.
167 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
168 * docs/grub.texi (Simple configuration): Document
169 GRUB_VIDEO_BACKEND.
170
1712010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
172
173 Use video functions in linux and xnu loaders.
174
175 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
176 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
177 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
178 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
179 loader/i386/pc/linux.c.
180 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
181 (find_line_len): Removed.
182 (find_framebuf): Likewise.
183 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
184 * loader/i386/efi/xnu.c: Removed.
185 * loader/i386/pc/xnu.c: Moved from here...
186 * loader/i386/xnu.c: ...here.
187
188 Enable priorities in video drivers.
189
190 * include/grub/video.h (grub_video_adapter_prio_t): New type.
191 (grub_video_adapter): New field prio.
192 (grub_video_register): Respect prio when inserting.
193 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
194 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
195 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
196 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
197 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
198 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
199 * video/sm712.c (grub_video_sm712_adapter): Likewise.
200
201 Fix SDL driver ID.
202
203 * include/grub/video.h (grub_video_driver_id_t): New value
204 GRUB_VIDEO_DRIVER_SDL.
205 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
206
7d24e434
CW
2072010-06-17 Colin Watson <cjwatson@ubuntu.com>
208
209 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
210 argument to printf.
211 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
212
c88a83f6
CW
2132010-06-17 Colin Watson <cjwatson@ubuntu.com>
214
215 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
216 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
217
094dfb69
CW
2182010-06-17 Colin Watson <cjwatson@ubuntu.com>
219
220 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
221 directly, and recommend grub-install instead.
222 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
223
2164da6b
CW
2242010-06-17 Colin Watson <cjwatson@ubuntu.com>
225
226 Fix i386-pc prefix handling with nested partitions (Debian bug
227 #585068). Note that the case where the core image is booted using
228 multiboot and relocated from its original location still requires
229 more work.
230
231 * kern/i386/pc/init.c (make_install_device): If the prefix starts
232 with "(,", fill the boot drive in between those two characters, but
233 expect that a full partition specification including partition map
234 names will follow.
235 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
236 specified, write a prefix without the drive name but including a
237 full partition specification.
238
044e2e60
CW
2392010-06-16 Colin Watson <cjwatson@ubuntu.com>
240
241 * util/grub-mkconfig.in: Ignore non-option arguments, for
242 compatibility with older versions (before 2010-06-12) which did the
243 same. In particular, this makes it easier to ship an update-grub
244 wrapper which is compatible with that used with GRUB Legacy (Debian
245 bug #586056).
246
5591324f
GS
2472010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
248
249 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
250 for manual page generation.
251
662e24d5
GS
2522010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
253
254 * po/POTFILES: Remove leftover commands/handler.c.
255
8d70754e
CW
2562010-06-14 Colin Watson <cjwatson@ubuntu.com>
257
258 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
259 left this script non-functional.
260
41160e2e
CW
2612010-06-14 Colin Watson <cjwatson@ubuntu.com>
262
263 * docs/man/grub-emu.h2m: New file.
264
b5309cc1
CW
2652010-06-13 Colin Watson <cjwatson@ubuntu.com>
266
267 * docs/grub.texi (Commands): Document reduced command set in rescue
268 mode.
269 (cpuid): New section.
270
fcb2d090
GS
2712010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
272
273 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
274 new partition naming style.
275 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
276
96e5c556
BC
2772010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
278
279 Add "-o grub.iso" like cmdline options support.
280
281 * util/grub-install.in: Improve cmdline option parsing.
282 * util/grub-mkconfig.in: Likewise.
283 * util/grub-mkrescue.in: Likewise.
284 * util/grub-reboot.in: Likewise.
285 * util/grub-set-default.in: Likewise.
286 * util/i386/efi/grub-install.in: Likewise.
287 * util/ieee1275/grub-install.in: Likewise.
288 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
289
c16be99b
CW
2902010-06-12 Colin Watson <cjwatson@ubuntu.com>
291
292 * .bzrignore: Ignore 41_custom.
293
ce08a9fb
TS
2942010-06-12 Thomas Schmitt <scdbackup@gmx.net>
295
296 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
297
7beac90c
CW
2982010-06-12 Colin Watson <cjwatson@ubuntu.com>
299
300 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
301 prototype declarations.
302
303 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
304 generating fs, partmap, and video lists.
305 * include/grub/fs.h (grub_fs_register): Omit prototype if
306 GRUB_LST_GENERATOR is defined.
307 * include/grub/partition.h (grub_partition_map_register): Likewise.
308 * include/grub/video.h (grub_video_register): Likewise.
309
1c8f0f8d
JM
3102010-06-12 Javier Martín <lordhabbit@gmail.com>
311
312 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
313
a6085973
TS
3142010-06-12 Thomas Schmitt <scdbackup@gmx.net>
315
316 * util/grub-mkrescue.in: Support --xorriso argument.
317
25c56d29
VS
3182010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
321 Suggested by: Thomas Schmitt.
322
e03e4b24
VS
3232010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
326 Suggested by: Thomas Schmitt.
327
57711df6
VS
3282010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
329
330 custom.cfg support.
331
332 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
333 * util/grub.d/41_custom.in: New file.
334
ee62c427
CW
3352010-06-12 Colin Watson <cjwatson@ubuntu.com>
336
337 * util/grub-mkrescue.in (make_image): Remove sh module, which has
338 been merged back into normal.
339
283af07a
CW
3402010-06-11 Colin Watson <cjwatson@ubuntu.com>
341
342 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
343 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
344
56a0d956
CW
3452010-06-11 Colin Watson <cjwatson@ubuntu.com>
346
347 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
348 when generating manual pages.
349 * docs/man/grub-bin2h.h2m: New file.
350 * docs/man/grub-editenv.h2m: New file.
351 * docs/man/grub-fstest.h2m: New file.
352 * docs/man/grub-install.h2m: New file.
353 * docs/man/grub-macho2img.h2m: New file.
354 * docs/man/grub-mkconfig.h2m: New file.
355 * docs/man/grub-mkdevicemap.h2m: New file.
356 * docs/man/grub-mkfont.h2m: New file.
357 * docs/man/grub-mkimage.h2m: New file.
358 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
359 * docs/man/grub-mkrelpath.h2m: New file.
360 * docs/man/grub-mkrescue.h2m: New file.
361 * docs/man/grub-ofpathname.h2m: New file.
362 * docs/man/grub-pe2elf.h2m: New file.
363 * docs/man/grub-probe.h2m: New file.
364 * docs/man/grub-reboot.h2m: New file.
365 * docs/man/grub-script-check.h2m: New file.
366 * docs/man/grub-set-default.h2m: New file.
367 * docs/man/grub-setup.h2m: New file.
368
3a37e322
VS
3692010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
370
371 Use FOR_* macros instead of *_iterate whenever possible.
372
373 * commands/handler.c: Removed.
374 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
375 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
376 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
377 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
378 (grub_probe_SOURCES): Remove kern/parser.c.
379 (util/grub-script-check.c_DEPENDENCIES): Removed.
380 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
381 and grub_script_check_init.c.
382 (grub_script_check_init.lst): Removed.
383 (grub_script_check_init.h): Likewise.
384 (grub_script_check_init.c): Likewise.
385 (pkglib_MODULES): Remove handler.mod and sh.mod.
386 (handler_mod_SOURCES): Removed.
387 (handler_mod_CFLAGS): Likewise.
388 (handler_mod_LDFLAGS): Likewise.
389 (normal_mod_SOURCES): Remove normal/handler.c.
390 Add script/main.c, script/script.c, script/execute.c,
391 script/function.c, script/lexer.c, grub_script.tab.c
392 and grub_script.yy.c.
393 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
394 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
395 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
396 (grub_setup_SOURCES): Remove kern/parser.c.
397 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
398 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
399 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
400 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
401 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
402 (grub_setup_SOURCES): Remove kern/parser.c.
403 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
404 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
405 * include/grub/command.h (grub_command_iterate): Removed.
406 (FOR_COMMANDS): New macro.
407 * include/grub/dl.h (grub_dl): New member next.
408 (grub_dl_iterate): Removed.
409 (grub_dl_head): New variable declaration.
410 (FOR_DL_MODULES): New macro.
411 * include/grub/fs.h: Include list.h.
412 (grub_fs): Make next first element.
413 (grub_fs_list): New variable declaration.
414 (grub_fs_register): Make inline.
415 (grub_fs_unregister): Likewise.
416 (grub_fs_iterate): Removed.
417 (FOR_FILESYSTEMS): New macro.
418 * include/grub/handler.h: Removed.
419 * include/grub/list.h (grub_list_hook_t): Removed.
420 (grub_list_test_t): Likewise.
421 (grub_list_pop): Likewise.
422 (grub_list_iterate): Likewise.
423 (grub_list_insert): Likewise.
424 (FOR_LIST_ELEMENTS): New macro.
425 * include/grub/parser.h (grub_parser_class): Removed.
426 (grub_parser_register): Likewise.
427 (grub_parser_unregister): Likewise.
428 (grub_parser_get_current): Likewise.
429 (grub_parser_set_current): Likewise.
430 (grub_register_rescue_parser): Likewise.
431 (grub_rescue_parse_line): New function.
432 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
433 * include/grub/script_sh.h (grub_script_function_list): New variable
434 declaration.
435 (FOR_SCRIPT_FUNCTIONS): New macro.
436 (grub_script_function_iterate): Removed.
437 (grub_normal_parse_line): New prototype.
438 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
439 (FOR_DISABLED_TERM_INPUTS): Likewise.
440 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
441 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
442 * include/grub/video.h (grub_video_adapter): Move 'next' to first
443 element.
444 (grub_video_register): Inline.
445 (grub_video_unregister): Likewise.
446 (grub_video_adapter_list): New variable declaration.
447 (grub_video_iterate): Removed.
448 (FOR_VIDEO_ADAPTERS): New macro.
449 * kern/dl.c (grub_dl_list): Removed. All users updated.
450 (grub_dl_iterate): Removed.
451 * kern/fs.c (grub_fs_list): Make global.
452 (grub_fs_register): Removed.
453 (grub_fs_unregister): Likewise.
454 (grub_fs_iterate): Likewise.
455 * kern/handler.c: Removed.
456 * kern/list.c (grub_list_pop): Removed.
457 (grub_list_iterate): Likewise.
458 (grub_list_insert): Likewise.
459 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
460 (grub_prio_list_insert): Don't use grub_list_insert.
461 * kern/main.c (grub_register_rescue_parser): Don't call
462 grub_register_rescue_parser.
463 * kern/parser.c (grub_parser_class): Removed.
464 (grub_parser_execute): Use grub_rescue_parse_line.
465 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
466 (grub_rescue_parser): Removed.
467 (grub_register_rescue_parser): Likewise.
468 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
469 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
470 (grub_auth_check_authentication): Likewise.
471 * normal/completion.c (iterate_command): Removed.
472 (grub_normal_do_completion): Use FOR_COMMANDS.
473 * normal/handler.c: Removed.
474 * normal/main.c (read_config_file): Remove parser changing.
475 (grub_normal_execute): Don't call read_handler_list.
476 (grub_normal_read_line_real): Statically allocate prompt.
477 (grub_cmdline_run): Use grub_normal_parse_line.
478 (GRUB_MOD_FINI): Don't call free_handler_list.
479 * normal/menu_entry.c (run): Likewise.
480 * script/function.c (grub_script_function_list): Make global.
481 (grub_script_function_iterate): Removed.
482 * script/main.c (grub_normal_parse_line): Make global.
483 (grub_sh_parser): Removed.
484 (GRUB_MOD_INIT): Likewise.
485 (GRUB_MOD_FINI): Likewise.
486 * tests/lib/functional_test.c (grub_functional_test): Use
487 FOR_LIST_ELEMENTS.
488 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
489 (grub_test_run): Use FOR_LIST_ELEMENTS.
490 * tests/lib/unit_test.c (main): Likewise.
491 * util/deviceiter.c (grub_util_iterate_devices): Don't use
492 grub_list_pop.
493 * util/grub-fstest.c (grub_term_input_class): Removed.
494 (grub_term_output_class): Likewise.
495 * util/grub-probe.c: Likewise.
496 * util/i386/pc/grub-setup.c: Likewise.
497 * util/sparc64/ieee1275/grub-setup.c: Likewise.
498 * util/grub-script-check.c (main): Don't call grub_init_all and
499 grub_fini_all.
500 * video/video.c (grub_video_adapter_list): Make global.
501 (grub_video_register): Removed.
502 (grub_video_unregister): Likewise.
503 (grub_video_iterate): Likewise.
504
6289c3a7
VS
5052010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
508 reported by Henrique Ferreiro.
509
91460247
RM
5102010-06-09 Robert Millan <rmh@gnu.org>
511
512 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
513 ones, when both are available.
514
0ea7c4f9
GS
5152010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
516
517 Make --version uniform and avoid hard-coded program name.
518
519 * util/grub-mkimage.c (main): Use `program_name' instead of
520 hard-coded string.
521 * util/i386/pc/grub-setup.c (main): Likewise.
522 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
523 * util/grub-install.in: Save the basename of $0 in $self, and use the
524 latter in informational messages. Use the same format for --version
525 as the binary programs.
526 * util/grub-mkconfig.in: Likewise.
527 * util/grub-mkrescue.in: Likewise.
528 * util/grub-reboot.in: Likewise.
529 * util/grub-set-default.in: Likewise.
530 * util/i386/efi/grub-install.in: Likewise.
531 * util/ieee1275/grub-install.in: Likewise.
532 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
533
e8a6f3b6
GS
5342010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
535
536 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
537 embedding area. Use <= instead of == when checking for non-emptiness.
538
f4d095d7
GS
5392010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
540
541 * configure.ac: Add `.' to the directories searched for unifont.
542
50e532ca
CW
5432010-06-08 Colin Watson <cjwatson@ubuntu.com>
544
545 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
546 grub_script.yy.h.
547
d39f3dec
CW
5482010-06-08 Colin Watson <cjwatson@ubuntu.com>
549
550 * docs/grub.texi (History): Expand to cover GRUB 2.
551 (Serial terminal): Refer to `terminal_input' and `terminal_output'
552 commands, not `terminal'.
553 (serial): Likewise.
554 (terminal_input): New section.
555 (terminal_output): New section.
556 (uppermem): New section (stub).
557 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
558
6ef0ddb4
CW
5592010-06-08 Colin Watson <cjwatson@ubuntu.com>
560
561 * docs/grub.texi (Security): Menu entries are unrestricted by
562 default, not restricted to superusers as I had previously thought.
563 Reword to account for this.
564
e0f4c438
CW
5652010-06-07 Colin Watson <cjwatson@ubuntu.com>
566
567 * kern/emu/misc.c (device_mapper_null_log): New function.
568 (grub_device_mapper_supported): New function.
569 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
570 prototype.
571 * kern/emu/hostdisk.c (find_partition_start): Check whether
572 device-mapper is supported before trying to use it.
573 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
574
da908200
CW
5752010-06-07 Colin Watson <cjwatson@ubuntu.com>
576
577 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
578 (File name syntax): Likewise.
579 (help): --all is no longer supported in GRUB 2. Be more precise
580 about pattern matching.
581
fb55c3ac
CW
5822010-06-07 Colin Watson <cjwatson@ubuntu.com>
583
584 * normal/completion.c (grub_normal_do_completion): When completing
585 arguments to "set" and the current word contains an equals sign,
586 skip to after the equals sign before starting completion.
587
258c2573
CW
5882010-06-07 Colin Watson <cjwatson@ubuntu.com>
589
590 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
591
ee75515e
CW
5922010-06-07 Colin Watson <cjwatson@ubuntu.com>
593
594 * docs/grub.texi (Network): New section.
595 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
596 `(nd)' as in GRUB Legacy.
597 (pxe_unload): New section.
598
a6a700aa
CW
5992010-06-07 Colin Watson <cjwatson@ubuntu.com>
600
601 * docs/grub.texi (Troubleshooting): `echo' is not usually available
602 in the rescue shell, so recommend using `set' instead. Thanks,
603 Jordan Uggla.
604
4003dd38
CW
6052010-06-07 Colin Watson <cjwatson@ubuntu.com>
606
607 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
608 (password): New section.
609 (password_pbkdf2): New section.
610 (search): New section.
611 (Security): New section.
612 (Troubleshooting): New section, currently very incomplete.
613 (Invoking grub-mkpasswd-pbkdf2): New section.
614 (Internals): New section, currently very incomplete.
615
e1cbcc40
CW
6162010-06-07 Colin Watson <cjwatson@ubuntu.com>
617
618 * util/grub.d/00_header.in: Add some more quoting (of
619 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
620 work again.
621 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
622
db8fa1ad
CW
6232010-06-07 Colin Watson <cjwatson@ubuntu.com>
624
625 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
626 to `count', fixing variable shadowing that broke the -c option.
627
6282010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
629
630 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
631 in case they contain spaces.
632
f28a9212
CW
6332010-06-04 Colin Watson <cjwatson@ubuntu.com>
634
635 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
636 "part_" to partmap module names, in line with grub-install.
637 Reported by: Jindřich Makovička (Debian bug #584426).
638
9cdfe32f
CW
6392010-06-04 Colin Watson <cjwatson@ubuntu.com>
640
641 * util/grub-mkimage.c: Make target-related error messages slightly
642 more helpful; -O talks about "format". Explicitly point to the use
643 of -O if no target is specified.
644 Reported by: Didier Raboud (Debian bug #584415).
645
795b593a
CW
6462010-06-03 Colin Watson <cjwatson@ubuntu.com>
647
648 * INSTALL: Document several build requirements for optional features
649 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
650
9d9b5833
GS
6512010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
652
653 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
654 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
655 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
656
0819fec8
CW
6572010-06-02 Colin Watson <cjwatson@ubuntu.com>
658
659 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
660 Thanks to Jordan Uggla for spotting this.
661
49396b4f
VS
6622010-06-02 Aleš Nesrsta <starous@volny.cz>
663
664 Finally make USB usable.
665
666 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
667 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
668 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
669 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
670 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
671 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
672 (GRUB_OHCI_FSMPS): Likewise.
673 (GRUB_OHCI_PERIODIC_START): Likewise.
674 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
675 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
676 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
677 (GRUB_OHCI_SET_PORT_RESET): Likewise.
678 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
679 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
680 (grub_ohci_transaction): Likewise.
681 (grub_ohci_transfer): Improve condition detection algorithms.
682 Handle toggle property. Program the transactions correctly.
683 Improve error handling. Various important fixups.
684 (grub_ohci_portstatus): Put register writes in right order.
685 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
686 (grub_uhci_transfer): Don't show "failed" message on success.
687 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
688 array.
689 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
690 determine its size.
691 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
692 before initialization is completed. Use IN direction for empty
693 transfers. Use last_trans and compute toggle.
694 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
695 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
696 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
697 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
698 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
699 (grub_usb_device): Increase toggle to 256.
700 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
701 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
702 GRUB_USBMS_SUBCLASS_SFF8070.
703 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
704 (grub_scsi_inquiry): New member page and alloc_length.
705 (grub_scsi_request_sense): New structure.
706 (grub_scsi_request_sense_data): Likewise.
707 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
708 control.
709 * disk/scsi.c (grub_scsi_request_sense): New function.
710 (grub_scsi_test_unit_ready): Likewise.
711 (grub_scsi_inquiry): Fill new fields.
712 (grub_scsi_read_capacity): Likewise.
713 (grub_scsi_read10): Add request sense at the end.
714 (grub_scsi_read12): Likewise.
715 (grub_scsi_write10): Likewise.
716 (grub_scsi_write12): Likewise.
717 (grub_scsi_open): Add Test Unit Ready.
718 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
719 Support additional subclasses. Con't clear halt yet. Activate the
720 proper config. Calculate LUNs correctly.
721 (grub_usbms_transfer): Various important fixups.
722
7232010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
726 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
727 (grub_ohci_fini_hw): New function.
728 (grub_ohci_restore_hw): Likewise.
729 (GRUB_MOD_INIT(ohci)): Register preboot hook.
730 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
731 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
732
7332010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
734
735 Dedicated DMA allocations.
736
737 * bus/pci.c (grub_memalign_dma32): New function
738 (grub_dma_free): Likewise.
739 (grub_dma_get_virt): Likewise.
740 (grub_dma_get_phys): Likewise.
741 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
742 (grub_ohci_pci_iter): Use dma32_alloc.
743 (grub_ohci_transfer): Likewise.
744 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
745 (grub_usb_bulk_readwrite): Likewise.
746 * include/grub/pci.h: Add declarations.
747
7482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
749
750 CS5536 support.
751
752 * bus/cs5536.c: New file.
753 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
754 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
755 (cs5536_mod_SOURCES): New variable.
756 (cs5536_mod_CFLAGS): Likewise.
757 (cs5536_mod_LDFLAGS): Likewise.
758 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
759 machine/pci.h.
760 (kernel_img_SOURCES): Add bus/cs5536.c.
761 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
762 usb_keyboard.mod.
763 (usb_mod_SOURCES): New variable.
764 (usb_mod_CFLAGS): New variable.
765 (usb_mod_LDFLAGS): New variable.
766 (usbtest_mod_SOURCES): New variable.
767 (usbtest_mod_CFLAGS): New variable.
768 (usbtest_mod_LDFLAGS): New variable.
769 (ohci_mod_SOURCES): New variable.
770 (ohci_mod_CFLAGS): New variable.
771 (ohci_mod_LDFLAGS): New variable.
772 (usbms_mod_SOURCES): New variable.
773 (usbms_mod_CFLAGS): New variable.
774 (usbms_mod_LDFLAGS): New variable.
775 (usb_keyboard_mod_SOURCES): New variable.
776 (usb_keyboard_mod_CFLAGS): New variable.
777 (usb_keyboard_mod_LDFLAGS): New variable.
778 * include/grub/smbus.h: New file.
779 * include/grub/cs5536.h: New file.
780
0b35b2a9
CW
7812010-06-02 Colin Watson <cjwatson@ubuntu.com>
782
783 * util/grub.d/00_header.in: Add safety check to make sure that
784 ${locale_dir} exists before trying to probe it.
785
ca0afd5b
CW
7862010-06-02 Colin Watson <cjwatson@ubuntu.com>
787
788 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
789 per the GNU Coding Standards; this is now too obscure to be worth
790 documenting.
791 (QNX): Likewise.
792 (chainloader): Remove cross-reference to `SCO UnixWare'.
793
1c41aa78
CW
7942010-06-02 Colin Watson <cjwatson@ubuntu.com>
795
796 * docs/grub.texi (Chain-loading): New section.
797 (DOS/Windows): New section, borrowed from GRUB Legacy with details
798 adjusted for GRUB 2.
799 (SCO UnixWare): Likewise.
800 (QNX): Likewise.
801 (chainloader): Add reference to `Block list syntax'.
802 (drivemap): New section.
803 (parttool): New section.
804
bb8ea0f5
CW
8052010-06-02 Colin Watson <cjwatson@ubuntu.com>
806
807 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
808 the grub shell'.
809 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
810 (Installing GRUB using grub-install): Remove reference to the grub
811 shell; mention `grub-mkimage' and `grub-setup' instead.
812 (Invoking grub-install): Likewise.
813 (Interface): Add reference to `Menu entry editor'.
814 (serial): Remove `--device' option.
815
288dd6ed
CW
8162010-06-02 Colin Watson <cjwatson@ubuntu.com>
817
818 * docs/grub.texi (Configuration): New section, documenting
819 configuration file generation using grub-mkconfig. I've left a slot
820 for documenting the full shell scripting format but have not yet
821 started on writing that up.
822 (Invoking grub-mkconfig): New section.
823
34c9f0e9
CW
8242010-06-02 Colin Watson <cjwatson@ubuntu.com>
825
826 * docs/grub.texi (direntry): Remove grub-terminfo reference.
827 (GNU GRUB manual): Likewise.
828 (General commands): Update description of `terminfo' for GRUB 2.
829
9121567e
CW
8302010-06-02 Colin Watson <cjwatson@ubuntu.com>
831
832 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
833 (GRUB_MOD_INIT): Fix capitalisation.
834 * docs/grub.texi (Command-line and menu entry commands): Document
835 gettext and gptsync commands.
836
ab631611
CW
8372010-06-02 Colin Watson <cjwatson@ubuntu.com>
838
839 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
840 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
841
bde4a9ac
CW
8422010-06-01 Colin Watson <cjwatson@ubuntu.com>
843
844 Add btrfs probing support, currently only in the single-device case.
845
846 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
847 function.
848 (grub_guess_root_device): Call find_root_device_from_mountinfo
849 before looking in /dev.
850
b1d17e10
VS
8512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
854 GRUB_DISK_SIZE_UNKNOWN.
855 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
856
dfbfe004
JS
8572010-05-31 Jiro SEKIBA <jir@unicus.jp>
858
859 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
860 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
861 corrupted or not synced properly.
862
c2ffc8e9
VS
8632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
866 Reported by: Seth Goldberg.
867
56293166
VS
8682010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
871 addition of dest.
872 Reported by: Seth Goldberg.
873
7620e7de
VS
8742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
877 Reported by: Seth Goldberg.
878
c837af3f
VS
8792010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
882 64-bit address as signed on MIPS.
883
c7c75cf4
CW
8842010-05-28 Colin Watson <cjwatson@ubuntu.com>
885
886 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
887 to the empty string.
888
fa4b8490
BC
8892010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
890
891 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
892
893 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
894 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
895 * kern/misc.c (__enable_execute_stack): Disable on
896 GRUB_MACHINE_EMU.
897
a33075b9
CW
8982010-05-28 Colin Watson <cjwatson@ubuntu.com>
899
900 Make grub-probe work with symbolic links under /dev/mapper as well
901 as with real block devices. The Linux world seems to be (at best)
902 in transition here, and GRUB shouldn't get caught in the middle.
903
904 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
905 /dev/mapper.
906
d8708134
CW
9072010-05-27 Colin Watson <cjwatson@ubuntu.com>
908
909 * util/grub-script-check.c (main): Ensure defined behaviour on empty
910 input files (in which case exit zero).
911
db2102a0
CW
9122010-05-27 Colin Watson <cjwatson@ubuntu.com>
913
914 * kern/emu/misc.c (canonicalize_file_name): realpath can still
915 return NULL for various reasons even if it has a maximum-length
916 buffer: for example, there might be a symlink loop, or the path
917 might exceed PATH_MAX. If this happens, return NULL.
918
5fdba519
RM
9192010-05-27 Robert Millan <rmh@gnu.org>
920
921 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
922 partmap module to handle cross-partmap setups.
923 Reported by Orestes Mas. Gràcies!
924
d1d368e4
CW
9252010-05-27 Colin Watson <cjwatson@ubuntu.com>
926
927 * util/grub-mkrescue.in: Initialise override_dir rather than
928 assuming that it's unset or empty in the environment.
929
95ac3c73
GS
9302010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
931
932 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
933 variable index into p_index to suppress a warning with -Wshadow.
934
7d8c0213
BC
9352010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
936
937 * INSTALL: Added flex >= 2.5.35 requirement.
938
db4d5813
VS
9392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
942
f24f4300
VS
9432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
944
945 cmostest support.
946
947 * commands/i386/cmostest.c: New file.
948 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
949 (cmostest_mod_SOURCES): New variable.
950 (cmostest_mod_CFLAGS): Likewise.
951 (cmostest_mod_LDFLAGS): Likewise.
952 * conf/i386-pc.rmk: Likewise.
953 * docs/grub.texi (Vendor power-on keys): New section.
954 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
955 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
956 and GRUB_BUTTON_CMOS_ADDRESS.
957 * util/grub.d/00_header.in: Handle powering-on by separate button.
958
ad603f61
VS
9592010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
962 Removed drawing_scrollbar argument. All users updated
963 Fixes #29792.
964 Reported by Jo Shields
965
3ecb080a
VS
9662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
969 buffer since gfxterm handles double repaint.
970
5f2316c1
VS
9712010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
974 * term/gfxterm.c (real_scroll): Likewise.
975
9a25f885
VS
9762010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
979 before calling BIOS.
980
39fbb79a
VS
9812010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * include/grub/i18n.h: Always enable grub_gettext.
984
228cfa97
VS
9852010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
988 partition naming style.
989
21717c8f
CW
9902010-05-21 Colin Watson <cjwatson@ubuntu.com>
991
992 * util/grub-mkconfig.in: Fix handling of -o so that it works when
993 not the first option.
994
c0f48e65
CW
9952010-05-20 Colin Watson <cjwatson@ubuntu.com>
996
997 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
998
96779aec
CW
9992010-05-20 Colin Watson <cjwatson@ubuntu.com>
1000
1001 * util/misc.c: Move inclusion of <limits.h> to ...
1002 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1003
fa9d256e
GS
10042010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1005
1006 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1007 Fix merge error in NetBSD code.
1008 (find_partition_start) [__NetBSD__]: Likewise.
1009
123b7a85
BC
10102010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1011
1012 Fix grub-mkrescue usage unit testing.
1013
1014 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1015
74276c0d
CF
10162010-05-18 Christian Franke <franke@computer.org>
1017
1018 * util/grub.d/10_windows.in: Use path names instead of
1019 drive letters to prevent warning from Cygwin 1.7.
1020 Add drivemap command to menuentry if needed.
1021
c4f7b523
ST
10222010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1023
1024 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1025 gnumach and gnumach.gz.
1026
95b97950
VS
10272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * include/grub/i18n.h (gettext): Inline instead of using #define.
1030 (grub_gettext): Likewise.
1031 (_): Likewise.
1032
01b8d2d7
VS
10332010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1036 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1037 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1038 (main): Add a slash after pkglibdirroot.
1039
654e1d1e
VS
10402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * util/grub-install.in: Add missing "in" keyword.
1043
26966aeb
VS
10442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1047 Reported by: Seth Goldberg.
1048
75006747
VS
10492010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1052
74cbf5bd
CW
10532010-05-18 Colin Watson <cjwatson@ubuntu.com>
1054
1055 * configure.ac: Check for Linux device-mapper support.
1056
1057 * util/hostdisk.c (device_is_mapped): New function.
1058 (find_partition_start): New function, partly broken out from
1059 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1060 device-mapper support added.
1061 (linux_find_partition): Use find_partition_start.
1062 (convert_system_partition_to_system_disk): Add `st' argument.
1063 Support Linux /dev/mapper/* devices if device-mapper support is
1064 available; only DM-RAID devices are understood at present.
1065 (find_system_device): Add `st' argument. Pass it to
1066 convert_system_partition_to_system_disk.
1067 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1068 find_system_device and convert_system_partition_to_system_disk. Use
1069 find_partition_start.
1070
1071 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1072 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1073 * util/deviceiter.c [__linux__]: Define MINOR.
1074 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1075 * util/mkdevicemap.c (grub_putchar): New function.
1076 (grub_getkey): New function.
1077 (grub_refresh): New function.
1078 (main): Set debug=all if -v -v is used.
1079
355b51e9
CW
10802010-05-18 Colin Watson <cjwatson@ubuntu.com>
1081
1082 Fix build with non-GNU libcs.
1083
1084 * util/misc.c (canonicalize_file_name): Move to ...
1085 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1086 grub_make_system_path_relative_to_its_root.
1087
7fb5c25f
CW
10882010-05-18 Colin Watson <cjwatson@ubuntu.com>
1089
1090 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1091 we handle finding grub-mkimage. Default to finding grub-mkimage in
1092 ${bindir} with program_transform_name applied, and provide a
1093 --grub-mkimage option to override this.
1094
1d3293d6
VS
10952010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 Remove grub-mkisofs.
1098
1099 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1100 (grub_mkisofs_SOURCES): Removed.
1101 (grub_mkisofs_CFLAGS): Removed.
1102 * util/mkisofs/defaults.h: Removed.
1103 * util/mkisofs/eltorito.c: Likewise.
1104 * util/mkisofs/exclude.h: Likewise.
1105 * util/mkisofs/hash.c: Likewise.
1106 * util/mkisofs/include/: Likewise.
1107 * util/mkisofs/include/fctldefs.h: Likewise.
1108 * util/mkisofs/include/mconfig.h: Likewise.
1109 * util/mkisofs/include/prototyp.h: Likewise.
1110 * util/mkisofs/include/statdefs.h: Likewise.
1111 * util/mkisofs/iso9660.h: Likewise.
1112 * util/mkisofs/joliet.c: Likewise.
1113 * util/mkisofs/match.c: Likewise.
1114 * util/mkisofs/match.h: Likewise.
1115 * util/mkisofs/mkisofs.c: Likewise.
1116 * util/mkisofs/mkisofs.h: Likewise.
1117 * util/mkisofs/msdos_partition.h: Likewise.
1118 * util/mkisofs/multi.c: Likewise.
1119 * util/mkisofs/name.c: Likewise.
1120 * util/mkisofs/rock.c: Likewise.
1121 * util/mkisofs/tree.c: Likewise.
1122 * util/mkisofs/write.c: Likewise.
1123
5dde9afe
VS
11242010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Unify grub-mkimage accross platforms.
1127
1128 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
1129 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
1130 (grub_mkelfimage_SOURCES): Removed.
1131 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
1132 (util/grub-mkimage.c_DEPENDENCIES): .. this.
1133 (bin_UTILITIES): Add grub-mkimage.
1134 (grub_mkimage_SOURCES): New variable.
1135 (kernel_img_HEADERS): Remove machine/kernel.h.
1136 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
1137 (pkglib_PROGRAMS): Add kernel.img.
1138 (kernel_img_HEADERS): Add machine/kernel.h.
1139 (kernel_img_FORMAT): Removed.
1140 (bin_UTILITIES): Remove grub-mkimage.
1141 (grub_mkimage_SOURCES): Removed.
1142 (grub_mkimage_CFLAGS): Likewise.
1143 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1144 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
1145 (pkglib_PROGRAMS): Add kernel.img.
1146 (bin_UTILITIES): Remove grub-mkimage.
1147 (grub_mkimage_SOURCES): Removed.
1148 (grub_mkimage_CFLAGS): Likewise.
1149 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1150 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
1151 (pkglib_PROGRAMS): Add kernel.img.
1152 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
1153 (pkglib_PROGRAMS): Add kernel.img.
1154 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1155 (grub_mkimage_SOURCES): Removed.
1156 (grub_mkimage_CFLAGS): Likewise.
1157 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1158 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1159 (pkglib_PROGRAMS): Add kernel.img.
1160 (bin_UTILITIES): Remove grub-mkimage.
1161 (grub_mkimage_SOURCES): Removed.
1162 (grub_mkimage_CFLAGS): Likewise.
1163 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1164 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1165 (grub_mkimage_SOURCES): Removed.
1166 (grub_mkimage_CFLAGS): Likewise.
1167 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1168 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1169 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1170 (grub_pe32_optional_header): ... this.
1171 (grub_pe64_optional_header): ... and this. All users updated.
1172 (GRUB_PE32_PE32_MAGIC): Split into ..
1173 (GRUB_PE32_PE32_MAGIC): .. this.
1174 (GRUB_PE32_PE64_MAGIC): .. and this.
1175 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1176 * include/grub/elf.h (PT_GNU_STACK): New definition.
1177 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1178 * include/grub/i386/efi/kernel.h: Likewise.
1179 * include/grub/i386/kernel.h: Likewise.
1180 * include/grub/i386/pc/kernel.h: Likewise.
1181 * include/grub/i386/qemu/boot.h: Likewise.
1182 * include/grub/mips/kernel.h: Likewise.
1183 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1184 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1185 * include/grub/powerpc/kernel.h: Likewise.
1186 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1187 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1188 * include/grub/sparc64/kernel.h: Likewise.
1189 * include/grub/x86_64/efi/kernel.h: Likewise.
1190 * include/grub/x86_64/kernel.h: Likewise.
1191 * include/grub/offsets.h: New file.
1192 * include/grub/kernel.h (grub_module_info): Split into ...
1193 (grub_module_info32): ... this.
1194 (grub_module_info64): ... and this.
1195 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1196 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1197 (grub_boot_blocklist): Moved from here ...
1198 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1199 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1200 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1201 * include/grub/types.h (grub_target_to_host16): Removed.
1202 (grub_target_to_host32): Likewise.
1203 (grub_target_to_host64): Likewise.
1204 (grub_host_to_target16): Likewise.
1205 (grub_host_to_target32): Likewise.
1206 (grub_host_to_target64): Likewise.
1207 (grub_host_to_target_addr): Likewise.
1208
1209 Support grub-mkrescue for efi, coreboot and qemu.
1210
1211 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1212 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1213 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1214 * util/grub-mkrawimage.c: Moved from here ...
1215 * util/grub-mkimage.c: ... here. All users updated.
1216 (ALIGN_ADDR): Use image_target.
1217 (TARGET_NO_FIELD): New const.
1218 (image_target_desc): New type.
1219 (image_targets): New array.
1220 (grub_target_to_host64): Use image_target.
1221 (grub_target_to_host32): Likewise.
1222 (grub_target_to_host16): Likewise.
1223 (grub_host_to_target64): Likewise.
1224 (grub_host_to_target32): Likewise.
1225 (grub_host_to_target16): Likewise.
1226 (grub_host_to_target_addr): Likewise.
1227 (generate_image): Handle multiimage.
1228 (main): Require -O parameter. All users updated.
1229 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1230 util/efi/grub-mkimage.c
1231 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1232 New option --rom-directory.
1233 Use xorriso.
1234 * util/i386/efi/grub-mkimage.c: Removed.
1235 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1236 (grub_target_to_host32): Likewise.
1237 (grub_target_to_host64): Likewise.
1238 (grub_host_to_target16): Likewise.
1239 (grub_host_to_target32): Likewise.
1240 (grub_host_to_target64): Likewise.
1241 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1242 (grub_target_to_host32): Likewise.
1243 (grub_target_to_host64): Likewise.
1244 (grub_host_to_target16): Likewise.
1245 (grub_host_to_target32): Likewise.
1246 (grub_host_to_target64): Likewise.
1247
f4fc97d0
BC
12482010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1249
1250 Source tree is reorganized for emu build.
1251
1252 * include/grub/util/console.h: Move from here...
1253 * include/grub/emu/console.h: ...to here.
1254 * include/grub/util/getroot.h: Move from here...
1255 * include/grub/emu/getroot.h: ...to here.
1256 * include/grub/util/hostdisk.h: Move from here...
1257 * include/grub/emu/hostdisk.h: ...to here.
1258 * util/console.c: Move from here...
1259 * kern/emu/console.c: ...to here.
1260 * util/getroot.c: Move from here...
1261 * kern/emu/getroot.c: ...to here.
1262 * util/grub-emu.c: Move from here...
1263 * kern/emu/main.c: ...to here.
1264 * util/hostdisk.c: Move from here...
1265 * kern/emu/hostdisk.c: ...to here.
1266 * util/hostfs.c: Move from here...
1267 * kern/emu/hostfs.c: ...to here.
1268 * util/mm.c: Move from here...
1269 * kern/emu/mm.c: ...to here.
1270 * util/pci.c: Move from here...
1271 * bus/emu/pci.c: ...to here.
1272 * util/sdl.c: Move from here...
1273 * video/emu/sdl.c: ...to here.
1274 * util/time.c: Move from here...
1275 * kern/emu/time.c: ...to here.
1276 * util/usb.c: Move from here...
1277 * bus/usb/emu/usb.c: ...to here.
1278
1279 * include/grub/emu/misc.h: New header for grub-emu functions.
1280 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1281
1282 * conf/any-emu.rmk: Rule updates for above renames.
1283 * conf/common.rmk: Likewise.
1284 * conf/i386-pc.rmk: Likewise.
1285 * conf/i386-qemu.rmk: Likewise.
1286 * conf/mips.rmk: Likewise.
1287 * conf/sparc64-ieee1275.rmk: Likewise.
1288 * conf/x86-efi.rmk: Likewise.
1289
1290 * disk/lvm.h: #include updates for above renames.
1291 * util/grub-mkrelpath.c: Likewise.
1292 * util/grub-probe.c: Likewise.
1293 * util/i386/pc/grub-setup.c: Likewise.
1294 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1295 * kern/emu/console.c: Likewise.
1296 * kern/emu/getroot.c: Likewise.
1297 * kern/emu/hostdisk.c: Likewise.
1298 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1299
1300 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1301 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1302 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1303 * util/misc.c: Remove grub-emu functions.
1304
cced9145
VS
13052010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 Fix gfxmenu crash.
1308 Reported by: Thorsten Grützmacher.
1309
1310 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
1311 timeout hook.
1312 (circprog_set_property): Register and unregister timeout hook.
1313 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
1314 (label_destroy): Free template. and unregister hook.
1315 (label_set_state): New function.
1316 (label_set_property): Handle templates and hooks.
1317 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
1318 timeout hook.
1319 (progress_bar_set_property): Register and unregister timeout hook.
1320 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
1321 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
1322 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
1323 (update_timeout_visit): Removed.
1324 (update_timeouts): New function.
1325 (redraw_timeouts): Likewise.
1326 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
1327 (grub_gfxmenu_clear_timeout): Likewise.
1328 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
1329 (grub_gfxmenu_timeout_notify): Likewise.
1330 (grub_gfxmenu_timeout_notifications): New external variable.
1331 (grub_gfxmenu_timeout_register): New function.
1332 (grub_gfxmenu_timeout_unregister): Likewise.
1333
c6e5caab
VS
13342010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Transform (broken) vga terminal into (working) vga video driver.
1337
1338 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
1339 video/i386/pc/vga.c.
1340 * include/grub/video.h (grub_video_driver_id):
1341 Add GRUB_VIDEO_DRIVER_VGA.
1342 * term/i386/pc/vga.c: Renamed to ...
1343 * video/i386/pc/vga.c: ...this
1344 (DEBUG_VGA): Removed.
1345 (CHAR_WIDTH): Likewise.
1346 (CHAR_HEIGHT): Likewise.
1347 (TEXT_WIDTH): Likewise.
1348 (TEXT_HEIGHT): Likewise.
1349 (DEFAULT_FG_COLOR): Likewise.
1350 (DEFAULT_BG_COLOR): Likewise.
1351 (colored_char): Likewise.
1352 (xpos): Likewise.
1353 (ypos): Likewise.
1354 (cursor_state): Likewise.
1355 (fg_color): Likewise.
1356 (bg_color): Likewise.
1357 (text_buf): Likewise.
1358 (page): Likewise.
1359 (font): Likewise.
1360 (framebuffer): New variable.
1361 (set_read_map): Disabled.
1362 (setup): New variable.
1363 (is_target): Likewise.
1364 (grub_vga_mod_init): Likewise.
1365 (grub_vga_mod_fini): Likewise.
1366 (check_vga_mem): Likewise.
1367 (write_char): Likewise.
1368 (write_cursor): Likewise.
1369 (scroll_up): Likewise.
1370 (grub_vga_putchar): Likewise.
1371 (grub_vga_getcharwidth): Likewise.
1372 (grub_vga_getwh): Likewise.
1373 (grub_vga_getxy): Likewise.
1374 (grub_vga_gotoxy): Likewise.
1375 (grub_vga_cls): Likewise.
1376 (grub_vga_setcolorstate): Likewise.
1377 (grub_vga_setcursor): Likewise.
1378 (grub_video_vga_init): New function.
1379 (grub_video_vga_setup): Likewise.
1380 (grub_video_vga_fini): Likewise.
1381 (update_target): Likewise.
1382 (grub_video_vga_blit_bitmap): Likewise.
1383 (grub_video_vga_blit_render_target): Likewise.
1384 (grub_video_vga_set_active_render_target): Likewise.
1385 (grub_video_vga_get_active_render_target): Likewise.
1386 (grub_video_vga_swap_buffers): Likewise.
1387 (grub_video_vga_set_palette): Likewise.
1388 (grub_video_vga_get_info_and_fini): Likewise.
1389 (grub_vga_term): Removed.
1390 (grub_video_vga_adapter): New variable.
1391 (GRUB_MOD_INIT): Register a video driver instead of terminal.
1392 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
1393
2bf61a98
VS
13942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * video/readers/jpeg.c: Indented.
1397
09ddcd11
VS
13982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 Various jpeg cleanups.
1401
1402 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
1403 (grub_jpeg_decode_quan_table): Use sizeof.
1404 (grub_jpeg_decode_du): Use ARRAY_SIZE.
1405
e5507505
PH
14062010-05-05 Peter Hurley <No e-mail available> (tiny change)
1407
1408 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
1409 tables. Ignore non-last ac bit.
1410 (grub_jpeg_decode_quan_table): Likewise.
1411
7e720a9b
VS
14122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1415 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
1416 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1417 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
1418 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1419 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
1420
a7fc080b
VS
14212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
1424 error.
1425
2bf6012d
VS
14262010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
1429
265d68cd
VS
14302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
1433 condition.
1434
14352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
1436
1437 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
1438 part.
1439
265d68cd 14402010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
1441
1442 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
1443 pointers.
1444
265d68cd 14452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
1446
1447 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
1448
d1b61374
CF
14492010-05-01 Christian Franke <franke@computer.org>
1450
1451 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
1452 Remove broken Cygwin path conversion.
1453 * util/misc.c: [__CYGWIN__] Add include and define.
1454 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
1455 for Cygwin 1.7.
1456 (make_system_path_relative_to_its_root): Simplify loop, replace early
1457 return by break.
1458 [__CYGWIN__] Add conversion to win32 path.
1459 Include "/" case in trailing slash removal.
1460
3558c6e9
VS
14612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * kern/main.c (grub_load_config): Fix copy-pasted comment.
1464 Reported by: Seth Goldberg
1465
f5f3ff93
VS
14662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * commands/help.c (grub_cmd_help): Fix a typo.
1469 Reported by: Seth Goldberg
1470
d8b5cd40
VS
14712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
1474 name and add N_.
1475 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
1476 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
1477 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
1478 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
1479 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
1480 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
1481 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1482 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1483 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1484 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1485 * normal/context.c (GRUB_MOD_INIT): Likewise.
1486 * normal/main.c (GRUB_MOD_INIT): Likewise.
1487 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1488 * term/serial.c (GRUB_MOD_INIT): Likewise.
1489 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1490
88c14915
VS
14912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
1494 extra == 0.
1495
165134bc
VS
14962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * commands/iorw.c: New file.
1499 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
1500 (iorw_mod_SOURCES): New variable.
1501 (iorw_mod_CFLAGS): Likewise.
1502 (iorw_mod_LDFLAGS): Likewise.
1503
c5ac9b32
VS
15042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 Hotkey support
1507
1508 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
1509 * normal/main.c (hotkey_aliases): New variable.
1510 (grub_normal_add_menu_entry): Parse "--hotkey".
1511 * normal/menu_text.c (run_menu): Handle hotkeys.
1512
ce60689c
VS
15132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * kern/i386/coreboot/init.c (grub_machine_init): Call
1516 grub_machine_mmap_init on qemu.
1517
0359d006
VS
15182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * boot/i386/qemu/boot.S: Add a missing .code16.
1521
7819a456
VS
15222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Use LBIO on coreboot.
1525
1526 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
1527 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
1528 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
1529 New declaration.
1530 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
1531 grub_machine_mmap_init on coreboot.
1532 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1533 GRUB_LINUXBIOS_MEMBER_LINK.
1534 (grub_machine_mmap_iterate): Fix declaration.
1535 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1536
7210dca9
VS
15372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 Split coreboot and multiboot ports.
1540
1541 * conf/i386-multiboot.rmk: New file.
1542 * configure.ac: Add multiboot port.
1543 * include/grub/i386/multiboot/boot.h: New file.
1544 * include/grub/i386/multiboot/console.h: Likewise.
1545 * include/grub/i386/multiboot/init.h: Likewise.
1546 * include/grub/i386/multiboot/kernel.h: Likewise.
1547 * include/grub/i386/multiboot/loader.h: Likewise.
1548 * include/grub/i386/multiboot/memory.h: Likewise.
1549 * include/grub/i386/multiboot/serial.h: Likewise.
1550 * include/grub/i386/multiboot/time.h: Likewise.
1551 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1552 * loader/multiboot.c: Likewise.
1553 * loader/multiboot_mbi2.c: Likewise.
1554 * util/grub-mkrescue.in: Generate multiboot rescue.
1555
6f8aaf68
VS
15562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1557
3080f7a7
VS
1558 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1559
15602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
1563
1564 * commands/terminal.c (abstract_terminal): New struct.
1565 (handle_command): New function. Based on grub_cmd_terminal_input.
1566 (grub_cmd_terminal_input): Use handle_command.
1567 (grub_cmd_terminal_output): Use handle_command.
1568
a8ebb841
BC
15692010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1570
1571 Fix comment handling.
1572
1573 * tests/grub_script_comments.in: New testcase.
1574 * conf/tests.rmk: Rules for new testcase.
1575 * script/yylex.l: Updated flex rules.
1576
bb06ba08
ST
15772010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1578
1579 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
1580 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1581 if argc is 1.
bb06ba08 1582
cc9d2425
VS
15832010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1586 autogen issues.
1587
460d8402
CF
15882010-04-26 Christian Franke <franke@computer.org>
1589
1590 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1591 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1592 (grub_get_prefix): Remove function.
1593 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1594 make_system_path_relative_to_its_root ().
1595 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1596
553c01f9
CF
15972010-04-24 Christian Franke <franke@computer.org>
1598
1599 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1600 (kernel_img_LDFLAGS): Remove -static-libgcc.
1601
2aec1692
CF
16022010-04-24 Christian Franke <franke@computer.org>
1603
1604 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1605 and CHECK_END_SYMBOL if grub-emu is built.
1606 Unset TARGET_OBJ2ELF if grub-emu is built
1607 without module support.
1608
f67dc308
JS
16092010-04-24 Jiro SEKIBA <jir@unicus.jp>
1610
1611 Nilfs2 support.
1612
1613 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1614 (grub_fstest_SOURCES): Likewise.
1615 (pkglib_MODULES): Add nilfs2.mod.
1616 (nilfs2_mod_SOURCES): New variable.
1617 (nilfs2_mod_CFLAGS): Likewise.
1618 (nilfs2_mod_LDFLAGS): Likewise.
1619 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1620 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1621 * fs/nilfs2.c: New file.
1622
4ba8d354
VS
16232010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1626 is not supported.
1627
0d2c20c6
GS
16282010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1629
1630 Add grub-mkconfig support for NetBSD.
1631
1632 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1633 * util/grub-mkconfig.in: export new NetBSD specific variables.
1634 * po/POTFILES-shell: added 10_netbsd.in.
1635 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1636
bc4a2d83
BC
16372010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1638
1639 Fix emu build with grub-emu-pci and grub-emu-modules.
1640
1641 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1642 functions.
1643 * include/grub/libpciaccess.h: New file.
1644 * conf/any-emu.rmk: Update kernel headers for emu build.
1645
f48c87aa
VS
16462010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1649
18959385
VS
16502010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1653
0037de3f
VS
16542010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1657 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1658 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1659 util/ieee1275/ofpath.c.
1660 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1661 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1662 * include/grub/sparc64/ieee1275/boot.h
1663 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1664 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1665 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1666 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1667 const char *.
1668 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1669 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1670 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1671 install.
1672
38e55e90
GS
16732010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1674
1675 * util/grub-mkconfig.in: Corrected two == equality tests.
1676 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1677 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1678 expect a number appended to it.
1679 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1680 expects a number appended to it.
1681
a9e6ff28
VS
16822010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1685
0b830b8f
VS
16862010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * util/hostdisk.c (make_device_name): Change to new partition naming.
1689
0973daeb
VS
16902010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1693
460d8402 16942010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
1695
1696 * Makefile.in: Add missing localedir setting.
1697
0b456309
CW
16982010-04-14 Colin Watson <cjwatson@ubuntu.com>
1699
1700 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1701 mistake in r2156. Noticed by Anthony Fok.
1702
1703 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1704 @localedir@.
1705 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1706
08f46d62
BC
17072010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1708
1709 Fix a spurious, uninitialized variable warning.
1710
1711 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1712 Initialize variable, shdr.
1713 (grub_freebsd_load_elfmodule): Likewise.
1714 (grub_freebsd_load_elf_meta): Likewise.
1715
8c4a72d4
BC
17162010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1717
1718 Fix for escaped dollar in double quoted strings.
1719
1720 * script/yylex.l: Updated flex rules.
1721 * conf/tests.rmk: Rule for new testcase.
1722 * tests/grub_script_dollar.in: New testcase.
1723
ce44826e
CPE
17242010-04-13 Carles Pina i Estany <carles@pina.cat>
17252010-04-13 Colin Watson <cjwatson@ubuntu.com>
1726
1727 Enclose all translated strings in grub.cfg in single quotes, and
1728 escape them appropriately (Ubuntu bug #552921).
1729
1730 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1731 * util/grub.d/10_hurd.in: Use it.
1732 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1733 * util/grub.d/10_linux.in (linux_entry): Likewise.
1734
4b0cd8f8
VS
17352010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 Fix cygwin compilation.
1738
1739 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1740 * include/grub/misc.h (__register_frame_info)
1741 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1742 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1743 * kern/misc.c (__register_frame_info)
1744 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1745 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1746
01fcf061
VS
17472010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1750
5d04b11e
VS
17512010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 Unify libgcc processing.
1754
1755 * Makefile.in (kernel_img_LDFLAGS): New variable.
1756 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1757 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1758 overwriting.
1759 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1760 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1761 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1762 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1763 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1764 overwriting. Remove -lgcc and -static-libgcc
1765 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1766 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1767 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1768 (kernel_img_LDFLAGS): Append instead of overwriting.
1769 Remove -lgcc and -static-libgcc
1770 * conf/sparc64-ieee1275.rmk: Likewise.
1771 * include/grub/powerpc/libgcc.h: Move to ...
1772 * include/grub/libgcc.h: .. this.
1773 * include/grub/libgcc.h: Don't export most of the function on x86.
1774 (__bswapsi2): New export.
1775 (__bswapdi2): Likewise.
1776 * include/grub/mips/libgcc.h: Removed.
1777 * include/grub/sparc64/libgcc.h: Likewise.
1778
b7f3ac29
VS
17792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
1782 disk_info_msg (conflicts with gettexting into languages with cases).
1783
2c7031b1
GS
17842010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1785
1786 Add grub-probe support for NetBSD.
1787
1788 * util/getroot.c (find_root_device): Convert block device to
1789 character device on NetBSD.
1790 * util/probe.c (probe): Require character device on NetBSD.
1791 * util/hostdisk.c: NetBSD specific headers.
1792 (configure_device_driver): new function to tune device driver
1793 parameters (currently only for NetBSD floppy driver).
1794 (grub_util_biosdisk_open): NetBSD specific code (get disk size
1795 via disklabel ioctl).
1796 (open_device): call configure_device_driver on NetBSD.
1797 (convert_system_partition_to_system_disk): NetBSD specific code.
1798 (device_is_wholedisk): Likewise.
1799 (grub_util_biosdisk_get_grub_dev): Likewise.
1800 (make_device_name): Fixed a typo in bsd_part_str.
1801 * configure.ac: check for opendisk() and getrawpartition() on
1802 NetBSD and set LIBUTIL.
1803 * Makefile.in: add LIBUTIL to LIBS.
1804
f516290c
BC
18052010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1806
1807 Documentation fix.
1808
1809 * util/grub-script-check.c: Better help message.
1810
d8dcc0df
BC
18112010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1812
1813 Fix FreeBSD build.
1814
1815 * configure.ac: Flex version check.
1816 * conf/common.rmk: Add -Wno-error to sh.mod.
1817 * script/yylex.l: Remove all #pragma.
1818
6734334a
VS
18192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * include/grub/util/misc.h (canonicalise_file_name): Add missing
1822 prototype.
1823 Reported by: Seth Goldberg.
1824
daea6abd
VS
18252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
1828 Rename "module" to "module2".
1829 Reported by: Seth Goldberg.
1830
f2fd9d2b
VS
18312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
1834 EXPORT_FUNC.
1835 Reported by: Seth Goldberg.
1836
be124579
VS
18372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * lib/posix_wrap/locale.h: Add missing file.
1840 Reported by: Seth Goldberg.
1841
ef5da797
VS
18422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 grub-emu module load support.
1845
1846 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
1847 NO_DYNAMIC_MODULES switched to this.
1848 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
1849 (CFLAGS): Likewise.
1850 * conf/any-emu.rmk: Generate symlist.
1851 (kernel_img_HEADERS): Add util/datetime.h.
1852 (kernel_img_HEADERS) [sdl]: Add sdl.h.
1853 (kernel_img_HEADERS) [libusb]: Add libusb.h.
1854 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
1855 kern/$(target_cpu)/cache.S.
1856 * configure.ac (grub-emu-modules): New option.
1857 * genmk.rb: Handle multiple source lists.
1858 * include/grub/sdl.h: New file.
1859 * include/grub/libusb.h: Likewise.
1860 * util/grub-emu.c (main): Hanle (host) root.
1861 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
1862 GRUB_ERR_UNKNOWN_DEVICE.
1863 * util/misc.c: Move mm functions to ...
1864 * util/mm.c: ... here. All users updated.
1865
47822096
VS
18662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
1869 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
1870 missing files.
1871 (maintainer-clean): Remove libgcrypt-grub.
1872
5d7e7445
VS
18732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
1876
25f4e252
EC
18772010-04-09 EFI Coder <eficoder@hotmail.com>
1878
1879 * normal/menu_text.c (print_message): Clean up the message and show
1880 the Fn information when on EFI
1881 * term/efi/console.c (grub_console_checkkey): Add F4 support.
1882
027de555
VS
18832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
1886 All users updated.
1887 * normal/crypto.c (read_crypto_list): Likewise.
1888 * normal/dyncmd.c (read_command_list): Likewise.
1889 * normal/term.c (read_terminal_list): Likewise.
1890 * normal/main.c (read_lists): Use explicit prefix.
1891 (read_lists_hook): Use read_lists.
1892 (grub_normal_execute): Likewise.
1893
47779711
VS
18942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
1897 Reported by: Thomas Schmitt.
1898 Add -no-emul-boot to grub-mkisofs parameters.
1899
1118c32e
VS
19002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * font/font.c: Indented.
1903
7d652447
BC
19042010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1905
1906 Elif support to GRUB script (by Deepak Vankadaru).
1907
1908 * tests/grub_script_if.in: New testcase.
1909 * conf/tests.rmk: Rule for new testcase.
1910 * script/parser.y: Grammar rules for elif.
1911
34bb22df
BC
19122010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1913
1914 While and until loops support to GRUB script.
1915
1916 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
1917 (grub_script_create_cmdwhile): New function prototype.
1918 (grub_script_execute_cmdwhile): New function prototype.
1919 * script/execute.c (grub_script_execute_cmdwhile): New function.
1920 * script/parser.y (command): New commands.
1921 (whilecmd): New grammar rule.
1922 (untilcmd): New grammar rule.
1923 * script/script.c (grub_script_create_cmdwhile): New function.
1924 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
1925 function.
1926
1927 * tests/grub_script_while1.in: New testcase.
1928 * conf/tests.rmk: Rule for new testcase.
1929
e215d8e0
VS
19302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
1933 as *.jpg.
1934
d7c43ba1
MV
19352010-04-09 Mario Vazquez <mariovazq@gmail.com>
1936
1937 GRUB_BACKGROUND support.
1938
1939 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
1940 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
1941
d64795c0
VS
19422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 1945 Idea by: Mario Vazquez
d64795c0
VS
1946
1947 * util/grub.d/00_header.in: Load pf2 and image modules.
1948
f267f83a
VS
19492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 grub-mkconfig multiple terminal support.
1952
1953 * util/grub-mkconfig.in: Handle multiple terminals correctly.
1954 * util/grub.d/00_header.in: Likewise.
1955
b7841ceb
VS
19562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * Makefile.in: Specify files explicitly instead of using $< and $@ since
1959 we use cd $(srcdir).
1960
df60998c
CW
19612010-04-08 Colin Watson <cjwatson@ubuntu.com>
1962
1963 * util/grub.d/10_linux.in: Only use the first word of
1964 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
1965 spaces in GRUB_DISTRIBUTOR.
1966 * util/grub.d/10_kfreebsd.in: Likewise.
1967 * util/grub.d/10_hurd.in: Likewise.
1968
fa09c82e
BC
19692010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
1970
14e18ae3 1971 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
1972
1973 * tests/util/grub-shell.in: Remove -serial stdio option.
1974
daf892b3
BC
19752010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 POSIX header file wrappers.
1978
1979 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
1980 equivalents.
1981 * lib/posix_wrap/ctype.h: Likewise.
1982 * lib/posix_wrap/errno.h: Likewise.
1983 * lib/posix_wrap/langinfo.h: Likewise.
1984 * lib/posix_wrap/limits.h: Likewise.
1985 * lib/posix_wrap/localcharset.h: Likewise.
1986 * lib/posix_wrap/stdint.h: Likewise.
1987 * lib/posix_wrap/stdio.h: Likewise.
1988 * lib/posix_wrap/stdlib.h: Likewise.
1989 * lib/posix_wrap/string.h: Likewise.
1990 * lib/posix_wrap/sys/types.h: Likewise.
1991 * lib/posix_wrap/unistd.h: Likewise.
1992 * lib/posix_wrap/wchar.h: Likewise.
1993 * lib/posix_wrap/wctype.h: Likewise.
1994 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
1995 (grub_script.yy.h): Likewise.
1996 * script/yylex.l: Remove POSIX emulation #defines.
1997 * Makefile.in (POSIX_CFLAGS): New variable.
1998 (GNULIB_UTIL_CFLAGS): Likewise.
1999
2000 Regexp support.
2001
2002 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2003 (regexp_mod_SOURCES): New variable.
2004 (regexp_mod_CFLAGS): Likewise.
2005 (regexp_mod_LDFLAGS): Likewise.
2006 * commands/regexp.c: New file.
2007 * gnulib/regcomp.c: New file. Imported from gnulib.
2008 * gnulib/regex.c: Likewise.
2009 * gnulib/regex_internal.c: Likewise.
2010 * gnulib/regex_internal.h: Likewise.
2011 * gnulib/regexec.c: Likewise.
2012 * gnulib/regex.h: Likewise.
2013
974ac4f7
VS
20142010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2017 unsupported video mode types.
2018
2622c3ff
VS
20192010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2022
064cb524
VS
20232010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2026 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2027
a8c3b552
VS
20282010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 Remove unused grub_vga_get_font.
2031
2032 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2033 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2034
187bbe3d
GS
20352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2036
2037 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2038 * include/grub/misc.h: Likewise.
2039
b9396631
GS
20402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2041
2042 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2043 for which failure is fatal.
2044
50479feb
GS
20452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2046
2047 * util/grub-install.in: Use mkdir -p to create grub directory.
2048 * util/i386/efi/grub-install.in: Likewise.
2049 * util/ieee1275/grub-install.in: Likewise.
2050
b1654fdf
GS
20512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2052
2053 * Makefile.in (LEX): new variable.
2054
bd5a6415
GS
20552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2056
2057 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2058 `=' and added double quotes on operands of this equality test.
2059
3db3a82b
VS
20602010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * Makefile.in (uninstall): Remove a leftover debug echo.
2063 Reported by: Grégoire Sutre
2064
38023412
VS
20652010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 MIPS multiboot2 support.
2068
2069 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2070 (multiboot2_mod_SOURCES): New variable.
2071 (multiboot2_mod_CFLAGS): Likewise.
2072 (multiboot2_mod_LDFLAGS): Likewise.
2073 (multiboot2_mod_ASFLAGS): Likewise.
2074 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2075 definition.
2076 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2077 (MULTIBOOT_MBI_REGISTER): Likewise.
2078 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2079 (MULTIBOOT_ELF32_MACHINE): Likewise.
2080 (MULTIBOOT_ELF64_MACHINE): Likewise.
2081 * include/grub/mips/multiboot.h: New file.
2082 * include/grub/video.h (grub_video_driver_id): New type
2083 GRUB_VIDEO_DRIVER_SM712.
2084 (grub_video_get_info_and_fini): Export.
2085 (grub_video_get_palette): Likewise.
2086 (grub_video_get_driver_id): Likewise.
2087 * include/multiboot2.h: Resynced with spec.
2088 * loader/i386/multiboot.c: Moved from here ...
2089 * loader/multiboot.c: ... here. All users updated.
2090 (grub_multiboot_boot): Use platform-specific macros.
2091 * loader/i386/multiboot_elfxx.c: Moved from here ...
2092 * loader/multiboot_elfxx.c: ... here. All users updated.
2093 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2094 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2095 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2096
47674667
VS
20972010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 Import gnulib argp module.
2100
2101 * gnulib/argp-ba.c: New file.
2102 * gnulib/argp-eexst.c: Likewise.
2103 * gnulib/argp-fmtstream.c: Likewise.
2104 * gnulib/argp-fmtstream.h: Likewise.
2105 * gnulib/argp-fs-xinl.c: Likewise.
2106 * gnulib/argp-help.c: Likewise.
2107 * gnulib/argp-namefrob.h: Likewise.
2108 * gnulib/argp-parse.c: Likewise.
2109 * gnulib/argp-pin.c: Likewise.
2110 * gnulib/argp-pv.c: Likewise.
2111 * gnulib/argp-pvh.c: Likewise.
2112 * gnulib/argp-version-etc.c: Likewise.
2113 * gnulib/argp-version-etc.h: Likewise.
2114 * gnulib/argp-xinl.c: Likewise.
2115 * gnulib/argp.h: Likewise.
2116
495442ed
VS
21172010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * kern/device.c (grub_device_iterate): Clear errors after failed
2120 opening device.
2121
f9fd65df
VS
21222010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
2125 returned by firmware.
2126
af09641e
VS
21272010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
2130 compilation on coreboot and qemu
2131
016883a5
VS
21322010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * include/multiboot2.h: Resync with spec.
2135
f97e1f7d
VS
21362010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 Multiboot2 tag support
2139
2140 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
2141 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
2142 Remove loader/multiboot_loader.c.
2143 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
2144 (grub_multiboot2_real_boot): Likewise.
2145 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
2146 (grub_get_multiboot_mmap_count): New proto.
2147 (grub_fill_multiboot_mmap): Likewise.
2148 (grub_multiboot_set_video_mode): Likewise.
2149 (grub_multiboot_set_console): Likewise.
2150 (grub_multiboot_load): Likewise.
2151 (grub_multiboot_load_elf): Likewise.
2152 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
2153 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
2154 * include/multiboot.h: Resynced with specification.
2155 * include/multiboot2.h: Resynced with specification.
2156 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2157 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2158 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2159 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2160 users updated.
2161 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2162 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2163 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2164 Removed.
2165 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2166 Moved from here...
2167 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2168 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2169 Moved from here...
2170 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2171 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2172 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2173 All users updated.
2174 * loader/i386/multiboot_mbi2.c: New file.
2175
3506b90b
VS
21762010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 Resync with gnulib.
2179
2180 * Makefile.in (GNULIB_CFLAGS): New variable.
2181 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2182 (grub_script_check_CFLAGS): New variable.
2183 * gnulib/alloca.h: Resync with gnulib.
2184 * gnulib/error.c: Likewise.
2185 * gnulib/error.h: Likewise.
2186 * gnulib/fnmatch.c: Likewise.
2187 * gnulib/fnmatch_loop.c: Likewise.
2188 * gnulib/getdelim.c: Likewise.
2189 * gnulib/getline.c: Likewise.
2190 * gnulib/getopt.c: Likewise.
2191 * gnulib/getopt1.c: Likewise.
2192 * gnulib/getopt_int.h: Likewise.
2193 * gnulib/gettext.h: Likewise.
2194 * gnulib/progname.c: Likewise.
2195 * gnulib/progname.h: Likewise.
2196
394a3120
GS
21972010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2198
2199 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2200 which is the case with --disabled-nls.
2201
2202 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2203 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2204 * util/misc.c: Likewise.
2205 * util/mkisofs/mkisofs.c: Likewise.
2206 * util/mkisofs/mkisofs.h: Likewise.
2207
969d1c78
VS
22082010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Simplify Apple CC support.
2211
2212 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2213 Add 0 byte at the end not to have a symbol with empty target.
2214 * mmap/i386/pc/mmap_helper.S: Likewise.
2215 * genmk.rb: Ignore errors 2030 and 2050.
2216 * kern/i386/pc/startup.S: Use LOCAL when possible.
2217
8d2977bb
BC
22182010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2219
2220 Testcase and the fix for final semicolon on cmdline.
2221
2222 * tests/grub_script_final_semicolon.in: New testcase.
2223 * conf/tests.rmk: Rules for the new testcase.
2224 * script/parser.y: Grammar fix.
2225
a7bd6915
BC
22262010-03-26 BVK Chaitanya <bvk@localhost>
2227
2228 Blank lines testcase for GRUB script.
2229
2230 * tests/grub_script_blanklines.in: New testcase.
2231 * conf/tests.rmk: Rules for the new testcase.
2232
e4ff6628
VS
22332010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 Don't use __FILE__.
2236
2237 * genmk.rb: Add -DGRUB_FILE to all C targets.
2238 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2239 * include/grub/list.h: Likewise.
2240 * include/grub/misc.h: Likewise.
2241 * include/grub/mm.h: Likewise.
2242 * include/grub/test.h: Likewise.
2243 * kern/mm.c: Likewise.
2244 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2245
6a5cf6b6
VS
22462010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Sunpc partitions support.
2249
2250 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2251 (grub_fstest_SOURCES): Likewise.
2252 (pkglib_MODULES): Add part_sunpc.mod.
2253 (part_sunpc_mod_SOURCES): New variable.
2254 (part_sunpc_mod_CFLAGS): Likewise.
2255 (part_sunpc_mod_LDFLAGS): Likewise.
2256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2257 * partmap/sunpc.c: New file.
2258
746d9045
BC
22592010-03-26 BVK Chaitanya <bvk@localhost>
2260
2261 For loop support to GRUB script.
2262
2263 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2264 (grub_script_create_cmdfor): New function prototype.
2265 (grub_script_execute_cmdfor): New function prototype.
2266 * script/execute.c (grub_script_execute_cmdfor): New function.
2267 * script/parser.y (command): New for command.
2268 (forcmd): New grammar rule.
2269 * script/script.c (grub_script_create_cmdfor): New function.
2270 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2271 function.
2272 * tests/grub_script_for1.in: New testcase.
2273 * conf/tests.rmk: Rules for new testcase.
2274
18486b18
VS
22752010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Nested partitions
2278
2279 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2280 'partition' is NULL, grub_partition_get_start already does that.
2281 * commands/loadenv.c (check_blocklists): Likewise.
2282 (write_blocklists): Likewise.
2283 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2284 (grub_fstest_SOURCES): Likewise.
2285 (pkglib_MODULES): Add part_bsd.mod.
2286 (part_bsd_mod_SOURCES): New variable.
2287 (part_bsd_mod_CFLAGS): Likewise.
2288 (part_bsd_mod_LDFLAGS): Likewise.
2289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2290 (grub_emu_SOURCES): Likewise.
2291 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2292 * include/grub/bsdlabel.h: New file.
2293 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2294 'get_name'.
2295 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2296 (grub_partition_map_list): New variable.
2297 (grub_partition_map_register): Inline.
2298 (grub_partition_map_unregister): Likewise.
2299 (FOR_PARTITION_MAPS): New macro.
2300 (grub_partition_map_iterate): Removed.
2301 (grub_partition_get_start): Handle nested partitions.
2302 * include/grub/msdos_partition.h: Remove bsd-related entries.
2303 (grub_pc_partition): Remove.
2304 * kern/disk.c (grub_disk_close): Free partition data.
2305 (grub_disk_adjust_range): Handle nested partitions.
2306 * kern/partition.c (grub_partition_map_probe): New function.
2307 (grub_partition_probe): Parse name to number, handle subpartitions.
2308 (get_partmap): New function.
2309 (grub_partition_iterate): Handle subpartitions.
2310 (grub_partition_get_name): Likewise.
2311 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
2312 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
2313 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
2314 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
2315 Set 'number'.
2316 (acorn_partition_map_probe): Remove.
2317 (acorn_partition_map_get_name): Likewise.
2318 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
2319 Set 'number'.
2320 Set 'index' to 0 since there can be only one partition entry per sector.
2321 (amiga_partition_map_probe): Remove.
2322 (amiga_partition_map_get_name): Likewise.
2323 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
2324 Set 'number'.
2325 Set 'offset' and 'index' to real positions of partitions.
2326 (apple_partition_map_probe): Remove.
2327 (apple_partition_map_get_name): Likewise.
2328 * partmap/bsdlabel.c: New file.
2329 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
2330 Set 'number'.
2331 Allocate 'data' so it can be correctly freed.
2332 Set 'index' to offset inside sector.
2333 (gpt_partition_map_probe): Remove.
2334 (gpt_partition_map_get_name): Likewise.
2335 * partmap/msdos.c (grub_partition_parse): Remove.
2336 (pc_partition_map_iterate): Don't force raw access.
2337 Set 'number'.
2338 Make 'ext_offset' a local variable.
2339 (pc_partition_map_probe): Remove.
2340 (pc_partition_map_get_name): Remove.
2341 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
2342 Set 'number'.
2343 (sun_partition_map_probe): Remove.
2344 (sun_partition_map_get_name): Likewise.
2345 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
2346 (grub_pcpart_type): Likewise.
2347 * util/hostdisk.c (open_device): Handle new numbering scheme.
2348 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
2349 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
2350 * util/grub-probe.c (probe_partmap): Handle nested paritions.
2351 * util/grub-install.in: Insert all subpartition modules.
2352 * util/ieee1275/grub-install.in: Likewise.
2353
a3940f88
AG
23542010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
2355
2356 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
2357 grammar.
2358
21b99926 23592010-03-24 Colin Watson <cjwatson@ubuntu.com>
2360
2361 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2362
bed1d352
CW
23632010-03-21 Colin Watson <cjwatson@ubuntu.com>
2364
2365 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
2366 match where 'make install' puts them.
2367 * util/i386/efi/grub-install.in: Likewise.
2368
c9f58427
CW
23692010-03-19 Colin Watson <cjwatson@ubuntu.com>
2370
2371 * .bzrignore: Add gentrigtables, grub-script-check,
2372 grub_script_check_init.c, grub_script_check_init.h, and
2373 trigtables.c.
2374
f84afb27
VS
23752010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * kern/parser.c: Indented.
2378
ed0e3d30
VS
23792010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2382
0ea81d98
VS
23832010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
2386 alpha_mask_size == 0 case.
2387
0cdc2a09
BC
23882010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
2389
2390 GRUB shell lexer and parser improvements.
2391
2392 * conf/any-emu.rmk: Build rule updates.
2393 * conf/common.rmk: Likewise.
2394 * conf/i386-coreboot.rmk: Likewise.
2395 * conf/i386-efi.rmk: Likewise.
2396 * conf/i386-ieee1275.rmk: Likewise.
2397 * conf/i386-pc.rmk: Likewise.
2398 * conf/powerpc-ieee1275.rmk: Likewise.
2399 * conf/x86_64-efi.rmk: Likewise.
2400
2401 * configure.ac: Configure check for flex.
2402
2403 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
2404 types.
2405 (grub_lexer_param): Struct member updates.
2406 (grub_parser_param): Likewise.
2407 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
2408 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
2409 (grub_script_lexer_init): Prototype update.
2410 (grub_script_lexer_record_start): Likewise.
2411 (grub_script_lexer_record_stop): Likewise.
2412 (grub_script_lexer_yywrap): New function prototype.
2413 (grub_script_lexer_fini): Likewise.
2414 (grub_script_execute_argument_to_string): Removed by...
2415 (grub_script_execute_argument_to_argv): ...better version.
2416
2417 * script/execute.c (ROUND_UPTO): New macro.
2418 (grub_script_execute_cmdline): Out of memory fixes.
2419 (grub_script_execute_menuentry): Likewise.
2420 (grub_script_execute_argument_to_string): Removed. Update all
2421 users by...
2422 (grub_script_execute_argument_to_argv): ...better version.
2423 * script/function.c (grub_script_function_create): Use
2424 grub_script_execute_argument_to_argv instead of
2425 grub_script_execute_argument_to_string.
2426
2427 * script/lexer.c (check_varstate): Removed.
2428 (check_textstate): Removed.
2429 (grub_script_lexer_record_start): Likewise.
2430 (grub_script_lexer_record_stop): Likewise.
2431 (recordchar): Replaced with...
2432 (grub_script_lexer_record): ...new function.
2433 (nextchar): Removed.
2434 (grub_script_lexer_init): Rewritten.
2435 (grub_script_yylex): Rewritten.
2436 (append_newline): New function.
2437 (grub_script_lexer_yywrap): New function.
2438 (grub_script_lexer_fini): New function.
2439 (grub_script_yyerror): Sets error flag.
2440
2441 * script/yylex.l: New file.
2442 (grub_lexer_yyfree): Wrapper for flex yyffre.
2443 (grub_lexer_yyalloc): Likewise.
2444 (grub_lexer_yyrealloc): Likewise.
2445 * script/parser.y: Refactored.
2446
2447 * script/script.c (grub_script_arg_add): Out of memory fixes.
2448 (grub_script_add_arglist): Likewise.
2449 (grub_script_create_cmdline): Likewise.
2450 (grub_script_create_cmdmenu): Likewise.
2451 (grub_script_add_cmd): Likewise.
2452 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
2453 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
2454 unnecessary code.
2455
2456 * tests/grub_script_echo1.in: New testcase.
2457 * tests/grub_script_vars1.in: New testcase.
2458 * tests/grub_script_echo_keywords.in: New testcase.
2459
1d63a066
VS
24602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 Remove some redundancy in build system.
2463
2464 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
2465 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
2466 (TARGET_LDFLAGS): Add -nostdlib.
2467 (TARGET_IMG_LDFLAGS): Likewise.
2468 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
2469 anything since mmap isn't available.
2470 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
2471 Add util/time.c.
2472 (pkglib_MODULES): Remove reboot.mod.
2473 (reboot_mod_SOURCES): Removed.
2474 (reboot_mod_CFLAGS): Likewise.
2475 (reboot_mod_LDFLAGS): Likewise.
2476 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
2477 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
2478 (DEFSYMFILES): Add kernel_syms.lst.
2479 (kernel_img_HEADERS): Add common headers.
2480 (symlist.c): New target.
2481 (kernel_syms.lst): Likewise.
2482 (pkglib_MODULES): Add memdisk.mod.
2483 (memdisk_mod_SOURCES): New variable.
2484 (memdisk_mod_CFLAGS): Likewise.
2485 (memdisk_mod_LDFLAGS): Likewise.
2486 (pkglib_MODULES): Add reboot.mod.
2487 (reboot_mod_SOURCES): New variable.
2488 (reboot_mod_CFLAGS): Likewise.
2489 (reboot_mod_LDFLAGS): Likewise.
2490 (pkglib_MODULES): Add date.mod.
2491 (date_mod_SOURCES): New variable.
2492 (date_mod_CFLAGS): Likewise.
2493 (date_mod_LDFLAGS): Likewise.
2494 (pkglib_MODULES): Add datehook.mod.
2495 (datehook_mod_SOURCES): New variable.
2496 (datehook_mod_CFLAGS): Likewise.
2497 (datehook_mod_LDFLAGS): Likewise.
2498 (pkglib_MODULES): Add lsmmap.mod.
2499 (lsmmap_mod_SOURCES): New variable.
2500 (lsmmap_mod_CFLAGS): Likewise.
2501 (lsmmap_mod_LDFLAGS): Likewise.
2502 (pkglib_MODULES): Add boot.mod.
2503 (boot_mod_SOURCES): New variable.
2504 (boot_mod_CFLAGS): Likewise.
2505 (boot_mod_LDFLAGS): Likewise.
2506 * conf/i386-coreboot.rmk: Removed redundant parts.
2507 * conf/i386-ieee1275.rmk: Likewise.
2508 * conf/i386-pc.rmk: Likewise.
2509 * conf/mips-yeeloong.rmk: Likewise.
2510 * conf/mips.rmk: Likewise.
2511 * conf/powerpc-ieee1275.rmk: Likewise.
2512 * conf/sparc64-ieee1275.rmk: Likewise.
2513 * conf/x86_64-efi.rmk: Likewise.
2514 * conf/i386-coreboot.rmk: Moved qemu parts ..
2515 * conf/i386-qemu.rmk: ... here
2516 * conf/i386-efi.rmk: Moved common parts to...
2517 * conf/x86-efi.rmk: ... here.
2518 * conf/i386.rmk: Added modules common to all x86 variants.
2519 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
2520 * disk/memdisk.c: Remove grub/machine/kernel.h.
2521 * gensymlist.sh.in: Include symbol.h.
2522 * hook/datehook.c: Correct module name.
2523 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
2524 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
2525 * include/grub/i386/efi/serial.h: New file.
2526 * include/grub/x86_64/efi/serial.h: Likewise.
2527 * util/time.c: Likewise.
2528 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2529
463ac55f
CK
25302010-03-14 Colin King <colin.king@ubuntu.com>
25312010-03-14 Colin Watson <cjwatson@ubuntu.com>
2532
2533 Shrink the pre-partition-table part of boot.img by eight bytes.
2534
2535 * boot/i386/pc/boot.S (ERR): New macro.
2536 (chs_mode): Use ERR.
2537 (geometry_error): Likewise.
2538 (hd_probe_error): Remove. This is only used once, so we wrwite
2539 it inline instead.
2540 (read_error): Instead of printing read_error_string, just set up
2541 %si and fall through to ...
2542 (error_message): ... this new function, also used by ERR.
2543
08e46ede
CW
25442010-03-14 Colin Watson <cjwatson@ubuntu.com>
2545
2546 Speed up consecutive hostdisk operations on the same device.
2547
2548 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2549 (grub_util_biosdisk_open): Initialise disk->data.
2550 (struct linux_partition_cache): New structure.
2551 (linux_find_partition): Cache partition start positions; these are
2552 expensive to compute on every read and write.
2553 (open_device): Cache open file descriptor in disk->data, so that we
2554 don't have to reopen it and flush the buffer cache for consecutive
2555 operations on the same device.
2556 (grub_util_biosdisk_close): New function.
2557 (grub_util_biosdisk_dev): Set `close' member.
2558
2559 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2560 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2561 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2562 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2563 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2564
4a6d2d06
VS
25652010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Compile parts of grub-emu as modules.
2568
2569 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2570 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2571 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2572 (all-local): Add $(GRUB_EMU).
2573 (install-local): Install $(GRUB_EMU).
2574 (uninstall): Uninstall $(GRUB_EMU).
2575 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2576 * kern/dl.c: Likewise.
2577 * commands/sleep.c: Not include machine/time.h.
2578 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2579 (COMMON_CFLAGS): Likewise.
2580 (sbin_UTILITIES): Remove grub-emu.
2581 (grub_emu_SOURCES): Removed.
2582 (kernel_img_RELOCATABLE): New variable.
2583 (pkglib_PROGRAMS): Add kernel.img.
2584 (kernel_img_SOURCES): New variable
2585 (kernel_img_CFLAGS): Likewise.
2586 (kernel_img_LDFLAGS): Likewise.
2587 (TARGET_NO_STRIP): Likewise.
2588 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2589 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2590 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2591 (grub-emu): New target.
2592 (GRUB_EMU): New variable.
2593 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2594 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2595 * loader/xnu.c: Likewise.
2596 * include/grub/pci.h: Likewise.
2597 * genemuinit.sh: New file.
2598 * genemuinitheader.sh: Likewise.
2599 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2600 Support TARGET_NO_DYNAMIC_MODULES.
2601 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2602 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2603 * disk/loopback.c: Likewise.
2604 * font/font_cmd.c: Likewise.
2605 * partmap/acorn.c: Likewise.
2606 * partmap/amiga.c: Likewise.
2607 * partmap/apple.c: Likewise.
2608 * partmap/gpt.c: Likewise.
2609 * partmap/msdos.c: Likewise.
2610 * partmap/sun.c: Likewise.
2611 * parttool/msdospart.c: Likewise.
2612 * term/gfxterm.c: Likewise.
2613 * video/bitmap.c: Likewise.
2614 * video/readers/jpeg.c: Likewise.
2615 * video/readers/png.c: Likewise.
2616 * video/readers/tga.c: Likewise.
2617 * video/video.c: Likewise.
2618 * util/grub-emu.c (read_command_list): Removed.
2619 (main): Don't call util_init_nls.
2620 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2621 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2622
91fdd2ed
VS
26232010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2626 date.mod, datehook.mod.
2627 (datetime_mod_SOURCES): New variable.
2628 (datetime_mod_CFLAGS): Likewise.
2629 (datetime_mod_LDFLAGS): Likewise.
2630 (date_mod_SOURCES): Likewise.
2631 (date_mod_CFLAGS): Likewise.
2632 (date_mod_LDFLAGS): Likewise.
2633 (datehook_mod_SOURCES): Likewise.
2634 (datehook_mod_CFLAGS): Likewise.
2635 (datehook_mod_LDFLAGS): Likewise.
2636 * conf/sparc64-ieee1275.rmk: Likewise.
2637 * lib/ieee1275/datetime.c: New file.
2638
873ccae6
VS
26392010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2642 (ieee1275_fb_mod_SOURCES): New variable.
2643 (ieee1275_fb_mod_CFLAGS): Likewise.
2644 (ieee1275_fb_mod_LDFLAGS): Likewise.
2645 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2646 New proto.
2647 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2648 (HEAP_MAX_ADDR): Likewise.
2649 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2650 type.
2651 Correct stop condition.
2652 (grub_ieee1275_devices_iterate): New function.
2653 * video/ieee1275.c: New file.
2654
601c97c0
VS
26552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2658
2659 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2660 as scratch.
2661 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2662 SCRATCH_PAD_DISKBOOT as scratch.
2663 (bootit): Pass Openfirmware pointer in %o4.
2664 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2665 of 0x200000.
2666 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2667 with util/grub-mkrawimage.c.
2668 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2669 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2670 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2671 (grub_aout_load) [GRUB_UTIL]: Likewise.
2672 * include/grub/kernel.h (grub_modules_get_end): New proto.
2673 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2674 (SCRATCH_PAD_BOOT): New definition.
2675 (SCRATCH_PAD_DISKBOOT): Likewise.
2676 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2677 * include/grub/sparc64/ieee1275/ieee1275.h
2678 (grub_ieee1275_original_stack): New variable
2679 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2680 New definition
2681 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2682 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2683 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2684 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2685 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2686 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2687 (grub_platform_image_format_t): New type.
2688 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2689 * kern/main.c (grub_modules_get_end)
2690 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2691 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2692 (codestart): Switch stacks.
2693 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2694 variable.
2695 (grub_heap_init): Use grub_modules_get_end.
2696 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2697 stack.
2698 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2699 (main): Likewise.
2700 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2701
d68b491e
TG
27022010-03-14 Thorsten Glaser <tg@mirbsd.org>
2703
2704 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2705
4e02ed50
MK
27062010-03-08 Matt Kraai <kraai@ftbfs.org>
2707
2708 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2709 bug #559005).
2710
1f15fc1e
VS
27112010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * genmoddep.awk: Output all missing symbols and not only first.
2714
fce5d8ff
VS
27152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * NEWS: Put the date of 1.98 release.
2718
d1e8a02f
VS
27192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2722 ft2build.h.
2723
696fd607
VS
27242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2727 completition in the middle of string.
2728
33e2e6f3
VS
27292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * util/grub-mkrescue.in: Use mktemp with explicit template.
2732
b1f6d291
VS
27332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2736
2ac227c7
VS
27372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2740 right pointer.
2741
8f9a632b
VS
27422010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 Fix FreeBSD compilation.
2745
2746 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2747 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2748
60b03859
VS
27492010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2752
48a5a769
VS
27532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2756
3ab4bd77
VS
27572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2760
d116e0d8
RM
27612010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2762
2763 Support relative image path in theme file.
2764
2765 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2766 (image_set_property): Handle theme_dir and relative path.
2767
c7ef54aa
VS
27682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * configure.ac: Alias amd64 to x86_64.
2771
fcee14ed
VS
27722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * NEWS: mention multiboot on EFI.
2775
d0780363
VS
27762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * kern/main.c (grub_load_modules): Handle errors from init functions of
2779 embeded modules.
2780
41168ea4
VS
27812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * normal/autofs.c (autoload_fs_module): Handle errors.
2784
b54d93ac
VS
27852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 Disable linux.mod on qemu-mips since it's not functional and leads
2788 to compilation failure.
2789
2790 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
2791 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
2792 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
2793 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
2794 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
2795 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
2796 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
2797 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
2798 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
2799 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
2800 Reported by: BVK Chaitanya
2801
fc8345da
JU
28022010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
2803
2804 * INSTALL: Add gettext as a dependency and add qemu to a new section
2805 "Prerequisites for make-check".
2806
4760f979
CF
28072010-03-04 Christian Franke <franke@computer.org>
2808
2809 * util/grub-pe2elf.c: Add missing include "progname.h".
2810
f209b5b2
VS
28112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * normal/crypto.c (read_crypto_list): Fix a typo.
2814 Reported by: Seth Goldberg.
2815
b4b7be98
VS
28162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 2819 Reported by: Seth Goldberg.
b4b7be98 2820
c0ee0385
VS
28212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2824 ascii.bitmaps.
2825
a8efbf64
VS
28262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 2829 Reported by: Seth Goldberg.
a8efbf64 2830
08dcd913
VS
28312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * util/i386/efi/grub-install.in: Copy gettext files.
2834
c4d0b332
VS
28352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2838
c6f2fe52
VS
28392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 Wait for user entry basing on presence of output rather than on errors.
2842
2843 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
2844 (grub_install_newline_hook): Likewise.
2845 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
2846 * normal/menu.c (show_menu): Check line_counter to determine presence
2847 of output.
2848 * normal/term.c (grub_normal_line_counter): New variable.
2849 (grub_normal_get_line_counter): New function.
2850 (grub_install_newline_hook): Likewise.
2851
5382b1e4
VS
28522010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2855
5519963b
VS
28562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * configure.ac: Update version to 1.98.
2859
72b28631
VS
28602010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * util/grub.d/10_linux.in (linux_entry): Don't default to
2863 gfxpayload=keep if Linux doesn't support video handover.
2864
c140a180
VS
28652010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 Don't compile video modules on yeeloong since video subsystem is part
2868 of kernel.
2869
2870 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
2871 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
2872 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
2873 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
2874 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
2875 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
2876 * include/grub/bitmap_scale.h: Likewise.
2877 * include/grub/bufio.h: Likewise.
2878 * include/grub/font.h: Likewise.
2879 * include/grub/gfxterm.h: Likewise.
2880 * include/grub/video.h: Likewise.
2881 * include/grub/vbe.h: Don't include video_fb.h.
2882 * video/i386/pc/vbe.c: Include video_fb.h.
2883 * commands/i386/pc/vbetest.c: Include video.h.
2884
a0ca21c2
CW
28852010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
2886
2887 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
2888 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
2889 default entry if GRUB_SAVEDEFAULT=true. This allows using
2890 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
2891 saving a new default on every boot.
2892
4a8a763c
VS
28932010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * normal/crypto.c (read_crypto_list): Fix a memory leak.
2896 * normal/term.c (read_terminal_list): Likewise.
2897 * normal/main.c (grub_normal_init_page): Likewise.
2898 (grub_normal_read_line_real): Likewise.
2899
607ffde2
VS
29002010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
2903 memory leak.
2904 Reported by: Seth Goldberg.
2905
2b8fa975
CW
29062010-02-24 Joey Korkames <joey+lists@kidfixit.com>
2907
2908 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
2909 duplicate declaration of `start'.
2910
618307dd
VS
29112010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
2914 filename.
2915 Reported by: Georgy Buranov
2916
7dd05b96 29172010-02-20 Carles Pina i Estany <carles@pina.cat>
2918
2919 * util/grub-mkrawimage.c (usage): Change string formatting to
2920 improve gettext.
2921
d1484a42
MRA
29222010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2923
2924 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
2925 backspace keys.
2926
42b1d186
VS
29272010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
2930 Reported by: Michael Suchanek.
2931
29322010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
2933
2934 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
2935 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
2936
d9f31a41
VS
29372010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Remove any reference to non-free fonts.
2940
2941 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
2942 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
2943 uses non-free components.
2944 * font/font.c (grub_font_get_name): Remove example name.
2945 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
2946 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2947 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
2948 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2949
2793c71e
GB
29502010-02-16 Georgy Buranov <gburanov@gmail.com>
2951
2952 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2953
402e3779
VS
29542010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
2957 Double divisor.
2958 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
2959 features.
2960 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2961
0dd1e0dd
VS
29622010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * gensymlist.sh.in: Use TARGET_CC instead of CC.
2965
6fa7cfce
ST
29662010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2967
2968 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
2969 * docs/grub.texi (Command-line and menu entry commands): Document play
2970 command.
2971
37c8483b
ST
29722010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2973
2974 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
2975 parse arguments as inline tempo and notes. Move code for playing notes
2976 to...
2977 (play): ... new function.
2978
14da0fb7
ST
29792010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2980
2981 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
2982 grub_uint16_t instead of short.
2983 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
2984 disk from little endian to cpu endianness.
2985
04459e70
ST
29862010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
2987
2988 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
2989 GRUB_TICKS_PER_SECOND instead of 120.
2990
a0876943
VS
29912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
2994 escape sequence after \e.
2995
e29f95dc
VS
29962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
2999 non-ASCII characters.
3000
d27859b2
VS
30012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3004 set root in single quotes to prevent \, from being unescaped.
3005
bc028f2f
VS
30062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Prevent unknown commands from stopping menuentry execution.
3009
3010 * script/execute.c (grub_script_execute_cmdline): Print error after
3011 unknown command.
3012
095f5f82
VS
30132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3016 Reported by: Pavel Pisa.
3017
8c717950
VS
30182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3021
904935c3
VS
30222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 Merge grub_ieee1275_map_physical into grub_map and rename to
3025 grub_ieee1275_map
3026
3027 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3028 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3029 Remove.
3030 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3031 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3032 necessary.
3033 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3034
5b59a4e3
VS
30352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3038 opening and not after.
3039
69e137e8
VS
30402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3043 constants.
3044
2c0fcc36
VS
30452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3048 (alloc_phys): Use ALIGN_UP instead of align_addr.
3049
8c6052ce
VS
30502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3053
17cec782
VS
30542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3057
e0128bbd
VS
30582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3061 verbose dprintf.
3062
ca62070b
VS
30632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 Fix over-4GiB seek on sparc64.
3066
3067 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3068 Replace pos_i and pos_lo with pos. All users updated.
3069 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3070 New constant.
3071 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3072 Likewise.
3073 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3074 and pos_lo.
3075
bdca2607
VS
30762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * util/grub-mkrawimage.c (main): Call set_program_name.
3079
da278c4d
VS
30802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 Properly align 64-bit targets.
3083
3084 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3085 (generate_image): Use ALIGN_ADDR.
3086
b274d734
VS
30872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 Properly create cross-endian images.
3090
3091 * include/grub/types.h (grub_host_to_target_addr): New macro
3092 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3093
82da2062
VS
30942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3097
7cae4377
VS
30982010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3101
3102 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3103 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3104 (grub_linux_boot): Divide by 64K when on VESA.
3105
65a533e7
VS
31062010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 Support GRUB_GFXPAYLOAD_LINUX.
3109
3110 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3111 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3112
dd01d397
VS
31132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3116 to show messages instead of discarding them.
3117 Process errors after executing command and not before. Keep old method
3118 too as precaution.
3119
660960d6
VS
31202010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * configure.ac: Check for ft2build.h.
3123
62509f04
VS
31242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
3127
473df63d
VS
31282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * genkernsyms.sh.in: Use TARGET_CC.
3131
c98d2a13
CW
31322010-02-07 Colin Watson <cjwatson@ubuntu.com>
3133
3134 * NEWS: Update.
3135
6e14234c
VS
31362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
3139 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
3140 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 3141
b255e9cf
YB
31422010-02-07 Yves Blusseau <blusseau@zetam.org>
3143
6e14234c 3144 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 3145
98e6959d
VS
31462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 Fix warnings in grub-emu when compiling with maximum warning options.
3149
3150 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
3151 (grub_arch_modules_addr): Return 0 and not NULL.
3152 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 3153 (xstrdup): Use newstr instead of dup.
f88d801b
VS
3154 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3155 of disk to dsk to avoid shadowing.
74e4934e
VS
3156 (find_free_slot): Fix prototype.
3157 * util/getroot.c (grub_util_is_dmraid): Make static.
3158 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3159 Add missing prototype.
3160 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 3161
74e31b5c
VS
31622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3165 appropriately.
3166
6b2ad14b
VS
31672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3170 code out.
3171
8f891adc
VS
31722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3175 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3176 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3177 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3178 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3179 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3180
74b45184
VS
31812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * include/grub/err.h (grub_err_printf): Don't export.
3184
a4bced77
VS
31852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3188
007d0695
VS
31892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3192 * kern/misc.c (grub_gettext_dummy): Make static.
3193
b6c0d9c2
VS
31942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3197 by non-valid ones.
3198 * kern/term.c (grub_putchar): Likewise.
3199
f51a90d0
VS
32002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3203 buggy hook call and memory leak.
3204
6846cec5
VS
32052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3208
468d69fe
VS
32092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3212
51906b8c
VS
32132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3216 modevar.
3217 Return grub_errno on allocation error.
3218
09706ce5
VS
32192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3222
911df80c
YB
32232010-02-06 Yves Blusseau <blusseau@zetam.org>
3224
3225 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3226 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3227
3746a6bc
VS
32282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3231 non-pxe disk.
3232 (grub_pxefs_open): Likewise.
3233
09706ce5
VS
32342010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3235
3236 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3237 * util/grub.d/10_kfreebsd.in: Likewise.
3238 * util/grub.d/10_linux.in: Likewise.
3239
7cc192d9
VS
32402010-02-06 Colin D Bennett <colin@gibibit.com>
3241
3242 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3243 (gfxmenu_mod_SOURCES): New variable.
3244 (gfxmenu_mod_CFLAGS): Likewise.
3245 (gfxmenu_mod_LDFLAGS): Likewise.
3246 * include/grub/term.h (grub_term_set_current_output): Declare
3247 argument as const.
3248 * docs/gfxmenu-theme-example.txt: New file.
3249 * gfxmenu/gfxmenu.c: Likewise.
3250 * gfxmenu/gui_box.c: Likewise.
3251 * gfxmenu/gui_canvas.c: Likewise.
3252 * gfxmenu/gui_circular_progress.c: Likewise.
3253 * gfxmenu/gui_image.c: Likewise.
3254 * gfxmenu/gui_label.c: Likewise.
3255 * gfxmenu/gui_list.c: Likewise.
3256 * gfxmenu/gui_progress_bar.c: Likewise.
3257 * gfxmenu/gui_string_util.c: Likewise.
3258 * gfxmenu/gui_util.c: Likewise.
3259 * gfxmenu/icon_manager.c: Likewise.
3260 * gfxmenu/model.c: Likewise.
3261 * gfxmenu/named_colors.c: Likewise.
3262 * gfxmenu/theme_loader.c: Likewise.
3263 * gfxmenu/view.c: Likewise.
3264 * gfxmenu/widget-box.c: Likewise.
3265 * include/grub/gfxmenu_model.h: Likewise.
3266 * include/grub/gfxmenu_view.h: Likewise.
3267 * include/grub/gfxwidgets.h: Likewise.
3268 * include/grub/gui.h: Likewise.
3269 * include/grub/gui_string_util.h: Likewise.
3270 * include/grub/icon_manager.h: Likewise.
3271
32722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 Agglomerate scrolling in gfxterm.
3275
3276 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3277 (grub_virtual_screen_setup): Initialise 'total_screen'.
3278 (write_char): Split to ...
3279 (paint_char): ... this ...
3280 (write_char): ... and this.
3281 (paint_char): Handle delayed scrolling.
3282 (draw_cursor): Likewise.
3283 (scroll_up): Split to ...
3284 (real_scroll): ... this ...
3285 (scroll_up): ... and this.
3286 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3287 characters.
3288 (grub_gfxterm_refresh): Call real_scroll.
3289
32902010-02-06 Colin D Bennett <colin@gibibit.com>
3291
3292 * include/grub/misc.h (grub_iscntrl): New inline function.
3293 (grub_isalnum): Likewise.
3294 (grub_strtol): Likewise.
3295
32962010-02-06 Colin D Bennett <colin@gibibit.com>
3297
3298 * normal/menu_text.c (get_entry_number): Move from here ...
3299 * normal/menu.c (get_entry_number): ... moved here.
3300 * include/grub/menu.h (grub_menu_get_default_entry_index):
3301 New prototype.
3302 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3303 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3304 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3305 (grub_menu_viewer_should_return): Likewise.
3306 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3307 * normal/menu_text.c (run_menu): Enable menu switching.
3308 * normal/menu_viewer.c (should_return): New variable.
3309 (menu_viewer_changed): Likewise.
3310 (grub_menu_viewer_show_menu): Handle menu viewer changes.
3311 (grub_menu_viewer_should_return): New function.
3312 (menuviewer_write_hook): Likewise.
3313 (grub_menu_viewer_init): Likewise.
3314
33152010-02-06 Colin D Bennet <colin@gibibit.com>
33162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 Support for gfxterm in a window.
3319
3320 * include/grub/gfxterm.h: New file.
3321 * include/grub/video.h (struct grub_video_rect): New declaration.
3322 (grub_video_rect_t): Likewise.
3323 * term/gfxterm.c (struct grub_gfxterm_window): New type.
3324 (refcount): New variable.
3325 (render_target): Likewise.
3326 (window): Likewise.
3327 (repaint_callback): Likewise.
3328 (grub_virtual_screen_setup): Use 'render_target'.
3329 (init_window): New function.
3330 (grub_gfxterm_init_window): Likewise.
3331 (grub_gfxterm_init): Check reference counter.
3332 Use init_window.
3333 (destroy_window): New function.
3334 (grub_gfxterm_destroy_window): Likewise.
3335 (grub_gfxterm_fini): Check reference counter.
3336 Use destroy_window.
3337 (redraw_screen_rect): Restore viewport.
3338 Use 'render_target' and 'window'.
3339 Call 'repaint_callback'.
3340 (write_char): Use 'render_target'.
3341 (draw_cursor): Likewise.
3342 (scroll_up): Restore viewport.
3343 Use 'render_target' and 'window'.
3344 Call 'repaint_callback'.
3345 (grub_gfxterm_cls): Likewise.
3346 (grub_gfxterm_refresh): Use 'window'.
3347 (grub_gfxterm_set_repaint_callback): New function.
3348 (grub_gfxterm_background_image_cmd): Use 'window'.
3349 (grub_gfxterm_get_term): New function.
3350 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
3351
33522010-02-06 Colin D Bennett <colin@gibibit.com>
3353
3354 Bitmap scaling support.
3355
3356 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
3357 (bitmap_scale_mod_SOURCES): New variable.
3358 (bitmap_scale_mod_CFLAGS): Likewise.
3359 (bitmap_scale_mod_LDFLAGS): Likewise.
3360 * include/grub/bitmap_scale.h: New file.
3361 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
3362 (background_image_cmd_options): New variable.
3363 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
3364 (cmd): Rename and change type to ...
3365 (background_image_cmd_handle): ... this. All users updated.
3366 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
3367 * video/bitmap_scale.c: New file.
3368
33692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 SDL support.
3372
3373 * Makefile.in (LIBSDL): New variable.
3374 (enable_grub_emu_sdl): Likewise.
3375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
3376 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
3377 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
3378 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
3379 * util/sdl.c: New file.
3380
33812010-02-06 Colin D Bennett <colin@gibibit.com>
33822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 Double buffering support.
3385
3386 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
3387 * include/grub/video.h: Update comment.
3388 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3389 New type.
3390 (grub_video_fb_doublebuf_blit_init): New prototype.
3391 * term/gfxterm.c (scroll_up): Support double buffering.
3392 (grub_gfxterm_refresh): Likewise.
3393 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
3394 (grub_video_fb_doublebuf_blit_init): Likewise.
3395 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
3396 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
3397 'displayed_page', 'render_page' and 'update_screen'.
3398 (grub_video_vbe_fini): Free offscreen buffer.
3399 (doublebuf_pageflipping_commit): New function.
3400 (doublebuf_pageflipping_update_screen): Likewise.
3401 (doublebuf_pageflipping_init): Likewise.
3402 (double_buffering_init): Likewise.
3403 (grub_video_vbe_setup): Enable doublebuffering.
3404 (grub_video_vbe_swap_buffers): Implement.
3405 (grub_video_vbe_set_active_render_target): Handle double buffering.
3406 (grub_video_vbe_get_active_render_target): Likewise.
3407 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
3408 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
3409 (grub_video_vbe_enable_double_buffering): Likewise.
3410 (grub_video_vbe_swap_buffers): Use update_screen.
3411 (grub_video_set_mode): Use double buffering.
3412
34132010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3414
3415 * maintainance/gentrigtables.py: Remove.
3416 * lib/trig.c: Likewise.
3417
3418 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
3419
3420 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
3421 `trigtables.c'.
3422 (trigtables.c): New rule.
3423 (gentrigtables): Likewise.
3424 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
3425
34262010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3427
3428 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
3429 integer constants.
3430
34312010-02-06 Colin D Bennet <colin@gibibit.com>
3432
3433 Trigonometry support.
3434
3435 * include/grub/trig.h: New file.
3436 * lib/trig.c: Likewise.
3437 * maintainance/gentrigtables.py: Likewise.
3438 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
3439 (trig_mod_SOURCES): New variable.
3440 (trig_mod_CFLAGS): Likewise.
3441 (trig_mod_LDFLAGS): Likewise.
3442
5562834e
VS
34432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
3446 disk devices.
3447
4f8528fc
VS
34482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
3451 error.
3452
2b4068e9
VS
34532010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * util/hostdisk.c (open_device): Don't use partition device when reading
3456 before the partition.
3457 (grub_util_biosdisk_read): Don't read from partition and before the
3458 partition in single operation.
3459 (grub_util_biosdisk_write): Don't write to partition and before the
3460 partition in single operation.
3461
399f6e4d
TL
34622010-02-03 Torsten Landschoff <torsten@debian.org>
3463
3464 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3465 last sectors.
3466
996649b0
VS
34672010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
3470 CDROM reads.
3471 (grub_biosdisk_write): Refuse to write to CDROM.
3472
3b205d4d
VS
34732010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
3476
61e89d9d
VS
34772010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * font/font.c (find_glyph): Check that bmp_idx is available before
3480 using it.
3481 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
3482 with (font == NULL).
3483
bf7fcba2
CS
34842010-01-28 Christian Schmitt <chris@ilovelinux.de>
3485
3486 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
3487
f45d2663
BC
34882010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
3489
3490 * include/grub/script_sh.h (sourcecode): Add const qualifier.
3491 * util/grub-script-check.c (getline): Fix empty lines case.
3492
ec1444e6
RM
34932010-01-28 Robert Millan <rmh.grub@aybabtu.com>
3494
3495 * Makefile.in (check): Exit with fail status when one of the tests
3496 fails.
3497 * tests/example_functional_test.c (example_test): Fix reversed assert.
3498 * tests/example_unit_test.c (example_test): Likewise.
3499
2e1cb9bb
CW
35002010-01-28 Colin Watson <cjwatson@ubuntu.com>
3501
3502 * util/grub.d/10_linux.in: This script does not use any of the
3503 contents of gettext.sh, only the external command `gettext', so stop
3504 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
3505 the same prefix as GRUB.)
3506 * util/grub.d/10_kfreebsd.in: Likewise.
3507
63533ab0
VS
35082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
3511 of the line.
3512
989e1f93
VS
35132010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3516 last sectors.
3517
e709ebe2
VS
35182010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
3521 having a 4KiB and not 32KiB buffer size.
3522
27dea7ed
RM
35232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3524
3525 * util/hostfs.c: Include `<errno.h>'.
3526 (grub_hostfs_read): Handle errors from fseeko() and fread().
3527
67667b9c
RM
35282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3529
3530 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
3531 loop when using read hooks on files whose size isn't sector-aligned.
3532
c294d9d8
RM
35332010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3534
3535 Remove unused parameter.
3536
3537 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3538 (grub_iso9660_open): Remove initialization of `data->length'.
3539
af75a9f1
RM
35402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3541
3542 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3543 memleak conditions.
3544
254e2ce5 35452010-01-27 Carles Pina i Estany <carles@pina.cat>
3546
3547 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3548 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3549
b510928c 35502010-01-26 Carles Pina i Estany <carles@pina.cat>
3551
3552 * util/bin2h.c (usage): Fix warning (space after backslash).
3553
aa2f9dd2 35542010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 3555
3556 * font/font.c: Include `grub/fontformat.h.
3557 Remove font file format constants.
3558 (grub_font_load): Use the new macros.
3559 * include/grub/fontformat.h: New file.
3560 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3561 (write_font_pf2): Use the new macros.
3562
94e7e712
RM
35632010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3564
3565 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3566 does.
3567
3973a59a
RM
35682010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3569
3570 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3571
3572 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3573 (_start): Macroify `0x7F'.
3574
3575 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3576 (make_install_device): Use "(pxe)" as fallback prefix when booting
3577 via PXE.
3578
42e0cba3
GS
35792010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * configure.ac: Reset LIBS after check for libgcc symbols.
3582
847effd8
CW
35832010-01-25 Colin Watson <cjwatson@ubuntu.com>
3584
3585 * util/hostdisk.c (open_device): Add trailing newline to debug
3586 message.
3587
ea4a7e35
GS
35882010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3589
3590 * configure.ac: Check for `limits.h'.
3591 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3592
67951a53
RM
35932010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3594
3595 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3596 capitalize error strings.
3597
c273d4ce
ST
35982010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3599
3600 * util/grub.d/10_hurd.in: Add a recovery mode.
3601
69be5b74
VS
36022010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * configure.ac: Check for libgcc symbols with -nostdlib.
3605
fc9e5810
BC
36062010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3607
3608 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3609
4b358c0a
VS
36102010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3613 stack since heap may be unavailable at that point.
3614 (grub_ofconsole_gotoxy): Likewise.
3615
454fcd1c
VS
36162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * configure.ac: Check for _restgpr_14_x.
3619 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3620 and _savegpr_* prototypes.
3621
566863ca
RM
36222010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3623
3624 Use generic grub_reboot() for i386-efi.
3625
3626 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3627 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3628 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3629
bf86e59a
VS
36302010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3633 presence of "prefix" variable as it breaks when normal.mod is
3634 embedded.
3635
d645e0f8
VS
36362010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3639 stack since heap is unavailable at that point.
3640
f9ab2e25
VS
36412010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3644 (grub_freebsd_bootinfo): Rewritten.
3645 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3646
01fc7054
VS
36472010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3650
caab4fd6
RM
36512010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3652
3653 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3654 domain now.
3655
67eb1427
FZ
36562010-01-20 Felix Zielcke <fzielcke@z-51.de>
3657
3658 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3659 around for handling "/" to the correct fix. Fix a memory leak. Use
3660 xstrdup instead of strdup.
3661
a9ed4ff3
VS
36622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3665
36662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
3667
3668 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3669
3670 * font/font.c (struct grub_font): New member 'bmp_idx'.
3671 (font_init): Initialise 'bmp_idx'.
3672 (load_font_index): Fill 'bmp_idx'.
3673 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3674
48209f4f
VS
36752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3678 unnecessary calls.
3679
9f0a4bb7
VS
36802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 Move context handling out of the kernel.
3683
3684 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3685 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3686 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3687 * conf/i386-efi.rmk: Likewise.
3688 * conf/i386-ieee1275.rmk: Likewise.
3689 * conf/i386-pc.rmk: Likewise.
3690 * conf/powerpc-ieee1275.rmk: Likewise.
3691 * conf/sparc64-ieee1275.rmk: Likewise.
3692 * conf/x86_64-efi.rmk: Likewise.
3693 * include/grub/env.h: Include grub/menu.h.
3694 (grub_env_var_type): Removed.
3695 (grub_env_var): Replaced field 'type' with 'global'.
3696 (grub_env_find): New prototype.
3697 (grub_env_context_open): Remove EXPORT_FUNC.
3698 (grub_env_context_close): Likewise.
3699 (grub_env_export): Likewise.
3700 (grub_env_set_data_slot): Removed.
3701 (grub_env_get_data_slot): Likewise.
3702 (grub_env_unset_data_slot): Likewise.
3703 (grub_env_unset_menu): New prototype.
3704 (grub_env_set_menu): Likewise.
3705 (grub_env_get_menu): Likewise.
3706 * include/grub/env_private.h: New file.
3707 * include/grub/normal.h (grub_context_init): New prototype.
3708 (grub_context_fini): Likewise.
3709 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3710 * normal/context.c (grub_cmd_export): ... to here.
3711 * kern/env.c: Include env_private.h.
3712 (HASHSZ): Moved to include/grub/env_private.h.
3713 (grub_env_context): Likewise.
3714 (grub_env_sorted_var): Likewise.
3715 (current_context): Renamed from this ...
3716 (grub_current_context): ...to this. 'static' removed. All users updated.
3717 (grub_env_find): Removed 'static'.
3718 (grub_env_context_open): Moved to normal/context.c.
3719 (grub_env_context_close): Likewise.
3720 (grub_env_export): Likewise.
3721 (mangle_data_slot_name): Removed.
3722 (grub_env_set_data_slot): Likewise.
3723 (grub_env_get_data_slot): Likewise.
3724 (grub_env_unset_data_slot): Likewise.
3725 * kern/main.c (grub_set_root_dev): Don't export root.
3726 It will be done later.
3727 (grub_main): Don't export prefix.
3728 It will be done later.
3729 * normal/context.c: New file.
3730 * normal/main.c (free_menu): Use grub_env_unset_menu.
3731 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3732 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3733 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3734 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3735
8dd35b8c
VS
37362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 setpci support.
3739
3740 * commands/setpci.c: New file.
3741 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3742 (setpci_mod_SOURCES): New variable.
3743 (setpci_mod_CFLAGS): Likewise.
3744 (setpci_mod_LDFLAGS): Likewise.
3745
449193d5
VS
37462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Byte-addressable PCI configuration space.
3749
3750 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3751 dword address.
3752 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3753 GRUB_PCI_REG_CACHELINE.
3754 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3755 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3756 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3757 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3758 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3759 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3760 grub_pci_make_address.
3761 (lock_rom_area): Likewise.
3762 * commands/lspci.c (grub_lspci_iter): Use macroses
3763 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3764 of grub_pci_make_address.
3765 * disk/ata.c (grub_ata_pciinit): Likewise.
3766 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3767 (GRUB_PCI_REG_VENDOR): Likewise.
3768 (GRUB_PCI_REG_DEVICE): Likewise.
3769 (GRUB_PCI_REG_COMMAND): Likewise.
3770 (GRUB_PCI_REG_STATUS): Likewise.
3771 (GRUB_PCI_REG_REVISION): Likewise.
3772 (GRUB_PCI_REG_CLASS): Likewise.
3773 (GRUB_PCI_REG_CACHELINE): Likewise.
3774 (GRUB_PCI_REG_LAT_TIMER): Likewise.
3775 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
3776 (GRUB_PCI_REG_BIST): Likewise.
3777 (GRUB_PCI_REG_ADDRESSES): Likewise.
3778 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3779 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3780 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3781 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3782 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3783 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3784 (GRUB_PCI_REG_CIS_POINTER): Likewise.
3785 (GRUB_PCI_REG_SUBVENDOR): Likewise.
3786 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
3787 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
3788 (GRUB_PCI_REG_CAP_POINTER): Likewise.
3789 (GRUB_PCI_REG_IRQ_LINE): Likewise.
3790 (GRUB_PCI_REG_IRQ_PIN): Likewise.
3791 (GRUB_PCI_REG_MIN_GNT): Likewise.
3792 (GRUB_PCI_REG_MAX_LAT): Likewise.
3793 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
3794 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
3795 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 3796 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
3797 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
3798 space.
3799
96d73208
RM
38002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3801
3802 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
3803 can be reliably determined to be supported.
3804
d4484482
RM
38052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3806
3807 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
3808 that VESA is supported.
3809 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
3810 supported.
3811
00308ecf
VS
38122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
3815
f66924a4
RM
38162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3817
3818 * util/misc.c (make_system_path_relative_to_its_root): Work around
3819 special-casing of "/", as previous incarnation of this routine did.
3820
cbca0ada
VS
38212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 Fix any-emu compilation.
3824
3825 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
3826 * grub_bin2h_SOURCES: New variable.
3827
34a66d99
RM
38282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3829
3830 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
3831
94fabf58
RM
38322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3833
3834 * util/grub.d/00_header.in: Fix handling of locale_dir.
3835
02cf98ca
VS
38362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
3839 as possible unifont location (Gentoo).
3840 Reported by: Alexander Brüning
3841
327dbcd7
VS
38422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 Don't try to generate lists for kernel.img.
3845
3846 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
3847 (pkglib_MODULES): Remove kernel.img.
3848 (kernel_img_EXPORTS): Removed.
3849 (kernel_img_RELOCATABLE): New variable.
3850 * conf/x86_64-efi.rmk: Likewise.
3851 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
3852
ca467290
VS
38532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
3856 grub_xasprintf or grub_snprintf.
3857 (grub_vsprintf): Likewise.
3858 (grub_snprintf): New proto.
3859 (grub_vsnprintf): Likewise.
3860 (grub_xasprintf): Likewise.
3861 (grub_xvasprintf): Likewise.
3862 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
3863 (grub_sprintf): Removed.
3864 (grub_vsnprintf): New function.
3865 (grub_snprintf): Likewise.
3866 (grub_xvasprintf): Likewise.
3867 (grub_xasprintf): Likewise.
3868 (grub_vsprintf): Renamed to ...
3869 (grub_vsnprintf_real): ...this. New argument max_len.
3870
aca655fd
BC
38712010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
3872
3873 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
3874 fix grub-script-check warning.
3875
7ee92c32
VS
38762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * include/grub/font.h (grub_font_load): Fix prototype.
3879
f80927ca
VS
38802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
3883
119c50ea
VS
38842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * include/grub/x86_64/at_keyboard.h: New file.
3887
47d5f3c1
VS
38882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * loader/mips/linux.c: Include missing grub/i18n.h.
3891
55ff5266
RM
38922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3893
3894 * normal/menu.c (notify_execution_failure): Clarify error message.
3895
c893cc87
RM
38962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3897
3898 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
3899 return value (and revert all return statements). Update users.
3900
917dd370
CW
39012010-01-20 Dan Merillat <debian@dan.merillat.org>
3902
3903 * kern/device.c (grub_device_iterate): Allocate new part_ent
3904 structure based on sizeof (*p) rather than sizeof (p->next), to
3905 account for structure padding.
3906
3907 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
3908 disk is NULL, which might happen for LVM physical volumes with no
3909 LVM signature.
3910
d4a4ee57
RM
39112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3912
3913 * loader/mips/linux.c (grub_cmd_initrd)
3914 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
3915
39162009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3917
3918 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
3919 (grub_video_video_init, grub_video_bitmap_init)
3920 (grub_font_manager_init, grub_term_gfxterm_init)
3921 (grub_at_keyboard_init): New extern declarations.
3922 (grub_machine_init): Initialize gfxterm and at_keyboard.
3923
3924 * kern/main.c (grub_main): Revert grub_printf delay kludge.
3925
3926 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
3927 `gfxterm.mod' into core image.
3928
3929 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3930 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3931 (kernel_img_FORMAT): Copy to ...
3932
3933 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3934 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3935 (kernel_img_FORMAT): ... here, and ...
3936
3937 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3938 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3939 (kernel_img_FORMAT): ... here.
3940
3941 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
3942 and input (at_keyboard) terminals in kernel.
3943 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
3944
3945 (pkglib_MODULES): Remove `pci.mod'.
3946 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
3947 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
3948 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
3949 (at_keyboard_mod_LDFLAGS): Remove variables.
3950
39512010-01-11 Felix Zielcke <fzielcke@z-51.de>
3952
3953 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
3954
39552009-12-10 Robert Millan <rmh.grub@aybabtu.com>
3956
3957 * include/grub/mips/libgcc.h: Only export symbols for functions
3958 that libgcc provides.
3959
39602009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 MIPS support.
3963
3964 * bus/bonito.c: New file.
3965 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
3966 GRUB_PCI_NUM_DEVICES.
3967 * term/i386/pc/serial.c: Move to ...
3968 * term/serial.c: ... here. All users updated.
3969 * util/i386/pc/grub-mkimage.c: Move to ...
3970 * util/grub-mkrawimage.c: ... here. All users updated.
3971 * term/i386/pc/at_keyboard.c: Move to ...
3972 * term/at_keyboard.c: ... here. All users updated.
3973 * conf/mips-qemu-mips.rmk: New file.
3974 * conf/mips-yeeloong.rmk: Likewise.
3975 * conf/mips.rmk: Likewise.
3976 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
3977 mipsel-qemu-mips.
3978 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
3979 to port addresses.
3980 (grub_ata_pciinit): Support CS5536.
3981 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
3982 * font/font_cmd.c (loadfont_command): Open file before passing it to
3983 grub_font_load.
3984 (pseudo_file_read): New function.
3985 (pseudo_file_close): Likewise.
3986 (pseudo_fs): New structure.
3987 (load_font_module): New function.
3988 (GRUB_MOD_INIT(font_manager)): Load embedded font.
3989 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
3990 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
3991 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
3992 * include/grub/i386/at_keyboard.h: Split into ...
3993 * include/grub/at_keyboard.h: ... this ...
3994 * include/grub/i386/at_keyboard.h: ... and this.
3995 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
3996 New prototype.
3997 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
3998 updated.
3999 (grub_elf64_size): Likewise.
4000 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4001 filename.
4002 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4003 * include/grub/i386/coreboot/serial.h: Rewritten.
4004 * include/grub/i386/ieee1275/serial.h: Include
4005 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4006 * include/grub/i386/pc/serial.h: Moved from here ...
4007 * include/grub/serial.h: ... to here. All users updated.
4008 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4009 (GRUB_PCI_NUM_BUS): Likewise.
4010 (GRUB_PCI_NUM_DEVICES): Likewise.
4011 (grub_pci_device_map_range): Add missing volatile keyword.
4012 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4013 * include/grub/mips/at_keyboard.h: New file.
4014 * include/grub/mips/cache.h: Likewise.
4015 * include/grub/mips/io.h: Likewise.
4016 * include/grub/mips/kernel.h: Likewise.
4017 * include/grub/mips/libgcc.h: Likewise.
4018 * include/grub/mips/pci.h: Likewise.
4019 * include/grub/mips/qemu-mips/boot.h: Likewise.
4020 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4021 * include/grub/mips/qemu-mips/loader.h: Likewise.
4022 * include/grub/mips/qemu-mips/memory.h: Likewise.
4023 * include/grub/mips/qemu-mips/serial.h: Likewise.
4024 * include/grub/mips/qemu-mips/time.h: Likewise.
4025 * include/grub/mips/relocator.h: Likewise.
4026 * include/grub/mips/time.h: Likewise.
4027 * include/grub/mips/types.h: Likewise.
4028 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4029 * include/grub/mips/yeeloong/boot.h: Likewise.
4030 * include/grub/mips/yeeloong/kernel.h: Likewise.
4031 * include/grub/mips/yeeloong/loader.h: Likewise.
4032 * include/grub/mips/yeeloong/memory.h: Likewise.
4033 * include/grub/mips/yeeloong/pci.h: Likewise.
4034 * include/grub/mips/yeeloong/serial.h: Likewise.
4035 * include/grub/mips/yeeloong/time.h: Likewise.
4036 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4037 * kern/elf.c (grub_elf32_size): New parameter. All users
4038 updated.
4039 (grub_elf64_size): Likewise.
4040 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4041 Load modules before saying "Welcome to GRUB!".
4042 Call grub_refresh after saying "Welcome to GRUB!".
4043 * kern/mips/cache.S: New file.
4044 * kern/mips/cache_flush.S: Likewise.
4045 * kern/mips/dl.c: Likewise.
4046 * kern/mips/init.c: Likewise.
4047 * kern/mips/qemu-mips/init.c: Likewise.
4048 * kern/mips/startup.S: Likewise.
4049 * kern/mips/yeeloong/init.c: Likewise.
4050 * kern/term.c (grub_putcode): Handle NULL terminal.
4051 (grub_getcharwidth): Likewise.
4052 (grub_getkey): Likewise.
4053 (grub_checkkey): Likewise.
4054 (grub_getkeystatus): Likewise.
4055 (grub_getxy): Likewise.
4056 (grub_getwh): Likewise.
4057 (grub_gotoxy): Likewise.
4058 (grub_cls): Likewise.
4059 (grub_setcolorstate): Likewise.
4060 (grub_setcolor): Likewise.
4061 (grub_getcolor): Likewise.
4062 (grub_refresh): Likewise.
4063 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4064 (write_jump): Add hatch nop.
4065 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4066 * lib/mips/setjmp.S: New file.
4067 * loader/mips/linux.c: Likewise.
4068 * term/i386/pc/at_keyboard.c: Move from here ...
4069 * term/at_keyboard.c: ... to here.
4070 * term/i386/pc/serial.c: Moved from here ...
4071 * term/serial.c: ... to here. All users updated.
4072 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4073 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4074 (serial_translate_key_sequence): Avoid deadlock.
4075 (grub_serial_getkey): Handle backspace.
4076 (grub_serial_putchar): Fix newline handling.
4077 * util/i386/pc/grub-mkimage.c: Move from here ...
4078 * util/grub-mkrawimage.c: ... to here. All users updated.
4079 (generate_image): New parameters 'font_path' and 'format'.
4080 Support embedding font.
4081 Use grub_host_to_target* instead of grub_cpu_to_le*.
4082 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4083 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4084 (options): New option "--font".
4085 (usage): Likewise.
4086 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4087 (main): Handle "--font".
4088 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4089 (grub_virtual_screen_setup): Set bg_color_display.
4090 (redraw_screen_rect): Use bg_color_display instead of incorrect
4091 bg_color.
4092 (grub_gfxterm_cls): Likewise.
4093 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4094 Support embedding config file.
4095 (add_segments): Likewise.
4096 (options): New option "--config".
4097 (main): Handle "--config".
4098 * video/sm712.c: New file.
4099
25c2b5b3
RM
41002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4101
4102 Fix parallel builds.
4103
4104 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4105 font.c depend on ascii.h).
4106
41072010-01-12 Carles Pina i Estany <carles@pina.cat>
4108
4109 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4110
41112010-01-11 Carles Pina i Estany <carles@pina.cat>
4112
4113 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4114 By default: disabled.
4115 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4116 parameter.
4117
41182010-01-10 Carles Pina i Estany <carles@pina.cat>
4119
4120 * font/font.c: Update copyright years.
4121 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4122
41232010-01-10 Carles Pina i Estany <carles@pina.cat>
4124
4125 * font/font.c: Include `ascii.h'.
4126 (ASCII_BITMAP_SIZE): New macro.
4127 (ascii_font_glyph): Define.
4128 (ascii_glyph_lookup): New function.
4129 (grub_font_get_string_width): Change comment. If glyph not found, use
4130 ascii_glyph_lookup.
4131 (grub_font_get_glyph_with_fallback): If glyph not available returns
4132 ascii_glyph_lookup.
4133 * util/grub-mkfont.c (file_formats): New enum.
4134 (options): Add `ascii-bitmaps' new option.
4135 (usage): Add `asii-bitmaps' new option.
4136 (write_font_ascii_bitmap): New function.
4137 (write_font): Rename to ...
4138 (write_font_p2): ... this. Remove print_glyphs call.
4139 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
4140 used. Call print_glyphs.
4141 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
4142
41432010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4144
4145 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
4146 (grub_bin2h_SOURCES): New variable.
4147 * util/bin2h.c: New file.
4148
915fc1b8
VS
41492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * include/multiboot.h: Resynced with spec.
4152 * include/multiboot2.h: Likewise.
4153 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
4154 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4155
9444b678
RM
41562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4157
4158 * include/grub/term.h (grub_term_register_input,
4159 grub_term_register_output): Check return of terminal init()
4160 routines, and abort if errors are raised.
4161
4162 * commands/terminal.c: Update copyright year.
4163
cba98e8d
RM
41642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4165
4166 * commands/terminal.c (grub_cmd_terminal_input)
4167 (grub_cmd_terminal_output): Check return of terminal init()
4168 routines, and abort if errors are raised.
4169
6f7db5d6
VS
41702010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * include/grub/i386/bsd.h: Fix include pathes.
4173
262bff8d
VS
41742010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 Add missing *BSD copyright headers.
4177
4178 * include/grub/aout.h: Add BSD licence.
4179 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4180 * include/grub/i386/freebsd_linker.h: ... here,
4181 * include/grub/i386/freebsd_reboot.h: ... here,
4182 * include/grub/i386/netbsd_bootinfo.h: ... here,
4183 * include/grub/i386/netbsd_reboot.h: ... here,
4184 * include/grub/i386/openbsd_bootarg.h: ... here,
4185 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4186 licence to each file.
4187
b2cab848
RM
41882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4189
4190 * acinclude.m4: Remove `nop' assembly instruction; it's not
4191 implemented by all architectures.
4192
2cb6be4b
RM
41932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4194
4195 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4196 ELILO. This is no longer necessary.
4197
a2eaee15
BC
41982010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4199
4200 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4201
4202 * util/grub-script-check.c: grub-script-check tool.
4203 * conf/common.rmk: Make rules for grub-script-check.
4204
88d17012
RM
42052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4206
4207 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4208 spotting it back in 2008. Shame on me for forgetting he did.
4209
4210 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4211
8040619d
RM
42122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4213
4214 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4215 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4216 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4217 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4218 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4219 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4220
a0c2a0f6
RM
42212010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4222
4223 * include/grub/test.h: Add license header.
4224 * tests/example_functional_test.c: Likewise.
4225 * tests/example_unit_test.c: Likewise.
4226 * tests/lib/functional_test.c: Likewise.
4227 * tests/lib/test.c: Likewise.
4228 * tests/lib/unit_test.c: Likewise.
4229
b0b13907
VS
42302010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Use flag-based instead of hook-based video mode selection and "auto"
4233 keyword.
4234
4235 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4236 (grub_video_set_mode): Changed prototype. All users updated.
4237 (grub_video_check_mode_flag): New inline function.
4238 * video/video.c (parse_modespec): New function.
4239 (grub_video_set_mode): Parse flags and keywords.
4240
ea379330 42412010-01-17 Carles Pina i Estany <carles@pina.cat>
4242
4243 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4244 fprintf call.
4245
e15c215e
FZ
42462010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4247
4248 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4249
409ae1c9 42502010-01-16 Carles Pina i Estany <carles@pina.cat>
4251
4252 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4253 string.
4254 * util/grub-emu.c (usage): Likewise.
4255 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4256 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4257 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4258 * util/i386/pc/grub-setup.c (usage): Likewise.
4259
70a14d3d 42602010-01-16 Carles Pina i Estany <carles@pina.cat>
4261
4262 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4263 the message.
4264 (grub_util_info): Likewise.
4265 (grub_util_error): Likewise.
4266 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4267 and/or new lines in `grub_util_warna', `grub_util_info',
4268 `grub_util_error' calls.
4269 * util/getroot.c: Likewise.
4270 * util/grub-editenv.c: Likewise.
4271 * util/grub-emu.c: Likewise.
4272 * util/grub-fstest.c: Likewise.
4273 * util/grub-mkdevicemap.c: Likewise.
4274 * util/grub-mkfont.c: Likewise.
4275 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4276 * util/grub-mkrelpath.c: Likewise.
4277 * util/grub-pe2elf.c: Likewise.
4278 * util/grub-probe.c: Likewise.
4279 * util/hostdisk.c: Likewise.
4280 * util/i386/efi/grub-mkimage.c: Likewise.
4281 * util/i386/pc/grub-mkimage.c: Likewise.
4282 * util/i386/pc/grub-setup.c: Likewise.
4283 * util/ieee1275/ofpath.c: Likewise.
4284 * util/mkisofs/eltorito.c: Likewise.
4285 * util/mkisofs/rock.c: Likewise.
4286 * util/mkisofs/write.c: Likewise.
4287 * util/raid.c: Likewise.
4288 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4289 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4290
a0b766fc
VS
42912010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 Enable multiboot on non-pc.
4294
4295 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4296 multiboot.mod and multiboot2.mod to ...
4297 * conf/i386.rmk (pkglib_MODULES): ... here.
4298 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4299 Moved to ...
4300 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4301 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4302 Moved to ...
4303 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4304 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4305 Moved to ...
4306 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4307 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4308 Moved to ...
4309 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
4310 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
4311 relocator.mod.
4312 (ata_mod_SOURCES): Removed.
4313 (ata_mod_CFLAGS): Likewise.
4314 (ata_mod_LDFLAGS): Likewise.
4315 (relocator_mod_SOURCES): Removed.
4316 (relocator_mod_CFLAGS): Likewise.
4317 (relocator_mod_ASFLAGS): Likewise.
4318 (relocator_mod_LDFLAGS): Likewise.
4319 Include i386.mk.
4320 * include/grub/x86_64/multiboot.h: New file.
4321 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
4322 Terminate EFI.
4323
884ade56
VS
43242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 Video multiboot support.
4327
4328 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
4329 New prototype.
4330 * include/multiboot.h: Resynced with multiboot specification.
4331 * include/multiboot2.h: Likewise.
4332 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
4333 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
4334 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
4335 (HAS_VGA_TEXT): Likewise.
4336 (accepts_video): New variable.
4337 (grub_multiboot_set_accepts_video): New function.
4338 (grub_multiboot_get_mbi_size): Account for video structures.
4339 (set_video_mode): New function.
4340 (retrieve_video_parameters): Likewise.
4341 (grub_multiboot_make_mbi): Fill video fields.
4342
0d90e8a6
VS
43432010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 Video driver ids.
4346
4347 * include/grub/video.h (grub_video_driver_id): New type.
4348 (grub_video_adapter): New member 'id'. All users updated.
4349 (grub_video_get_driver_id): New proto.
4350 * video/video.c (grub_video_get_driver_id): New function.
4351
5c71db1b 43522010-01-14 Carles Pina i Estany <carles@pina.cat>
4353
4354 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
4355 `var=val'.
4356
cca15b52 43572010-01-14 Carles Pina i Estany <carles@pina.cat>
4358
4359 * normal/cmdline.c (print_completion): Gettextizze.
4360
c586fbb2 43612001-01-14 Carles Pina i Estany <carles@pina.cat>
4362
4363 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
4364
ba2f6848 43652010-01-14 Carles Pina i Estany <carles@pina.cat>
4366
4367 * gettext/gettext.c (grub_gettext_translate): Push and pop
4368 grub_errno.
4369 (grub_gettext_delete_list): Change comment style.
4370 * kern/err.c (grub_error): Gettextizze.
4371 (grub_fatal): Gettextizze.
4372
0a46429a
RM
43732010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4374
4375 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
4376 (grub_linux16_real_boot): ... this.
4377 * kern/i386/loader.S: Likewise.
4378 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
4379 (grub_linux16_boot): New function. Switches to text mode and calls
4380 grub_linux16_real_boot().
4381
4382 * loader/i386/bsd.c: Include `<grub/video.h>'.
4383 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
4384 text mode before calling grub_unix_real_boot().
4385
4386 * loader/i386/multiboot.c: Include `<grub/video.h>'.
4387 (grub_multiboot_boot): Switch to text mode before calling
4388 grub_relocator32_boot().
4389
4390 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
4391 (grub_chainloader_boot): Switch to text mode before calling
4392 grub_chainloader_real_boot().
4393
d6f93a66
RM
43942010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
43952010-01-05 Colin Watson <cjwatson@ubuntu.com>
4396
4397 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
4398 non-empty value.
4399
44002010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
44012010-01-05 Colin Watson <cjwatson@ubuntu.com>
4402
4403 * util/grub.d/00_header.in: Define a "savedefault" function for use
4404 in menu entries.
4405 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
4406
44072010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
44082010-01-05 Colin Watson <cjwatson@ubuntu.com>
4409
4410 * util/grub-mkconfig_lib.in (save_default_entry): Only set
4411 saved_entry if boot_once is unset.
4412 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
4413 previous saved entry (i.e. grub-reboot).
4414
44152009-12-08 Colin Watson <cjwatson@ubuntu.com>
4416
4417 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
4418
44192009-12-08 Colin Watson <cjwatson@ubuntu.com>
4420
4421 * util/grub.d/00_header.in: Use `set var=val' rather than plain
4422 `var=val'.
4423 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
4424
44252009-12-08 Colin Watson <cjwatson@ubuntu.com>
4426
4427 * util/grub-reboot.in: Fix --version output.
4428 * util/grub-set-default.in: Likewise.
4429
44302009-12-08 Colin Watson <cjwatson@ubuntu.com>
4431
4432 * util/grub.d/00_header.in: Silently ignore zero-sized environment
4433 blocks.
4434
44352009-12-08 Colin Watson <cjwatson@ubuntu.com>
4436
4437 * util/grub.d/00_header.in: Quote the value assigned to `default',
4438 in case it contains spaces.
4439
44402009-12-08 Colin Watson <cjwatson@ubuntu.com>
4441
4442 * util/grub.d/30_os-prober.in: Fix merge error that moved a
4443 `save_default_entry' call from the macosx case to the linux case.
4444
44452009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
44462009-10-25 Colin Watson <cjwatson@ubuntu.com>
4447
4448 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
4449 in `chosen' environment variable.
4450 * normal/menu_text.c (get_entry_number): Check if the variable
4451 matches the title of a menu entry.
4452 (run_menu): Pass menu to get_entry_number.
4453
4454 * util/grub-reboot.in: New file.
4455 * util/grub-set-default.in: New file.
4456 * conf/common.rmk (grub-reboot): New utility.
4457 (grub-set-default): New utility.
4458
4459 * util/grub-mkconfig_lib.in (save_default_entry): New function.
4460 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
4461 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
4462 move it to `saved_entry' for the next boot. Load environment on
4463 initialisation.
4464 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
4465 * util/grub.d/10_hurd.in: Likewise.
4466 * util/grub.d/10_linux.in (linux_entry): Likewise.
4467 * util/grub.d/10_windows.in: Likewise.
4468 * util/grub.d/30_os-prober.in: Likewise.
4469
4470 * util/grub-install.in: Create environment block.
4471 * util/i386/efi/grub-install.in: Likewise.
4472 * util/ieee1275/grub-install.in: Likewise.
4473 * util/sparc64/ieee1275/grub-install.in: Likewise.
4474
0934d184
BC
44752010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
4476
4477 Unit testing framework for GRUB.
4478
4479 * Makefile.in: Test framework build rules for 'make check'.
4480 * conf/tests.rmk: Build rules for individual tests and framework.
4481
4482 * include/grub/test.h: Header file for whitebox tests.
4483 * tests/lib/functional_test.c: Framework support for whitebox
4484 functional tests.
4485 * tests/lib/test.c: Common whitebox testing code for unit and
4486 functional tests.
4487 * tests/lib/unit_test.c: Framework support for whitebox unit
4488 tests.
4489
4490 * tests/util/grub-shell-tester.in: Support utility for grub-script
4491 tests.
4492 * tests/util/grub-shell.in: Utility to execute grub-script
4493 commands in a Qemu instance.
4494
4495 * tests/example_functional_test.c: Example whitebox functional
4496 test.
4497 * tests/example_grub_script_test.in: Example grub-script test.
4498 * tests/example_scripted_test.in: Example scripted test.
4499 * tests/example_unit_test.c: Example whitebox unit test.
4500
9c4ffeeb
VS
45012010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
4504 Add loader/i386/multiboot_mbi.c.
4505 (multiboot2_mod_SOURCES): Likewise.
4506 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
4507 (multiboot2_mod_SOURCES): Likewise.
4508 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
4509 (grub_multiboot_make_mbi): Likewise.
4510 (grub_multiboot_free_mbi): Likewise.
4511 (grub_multiboot_init_mbi): Likewise.
4512 (grub_multiboot_add_module): Likewise.
4513 (grub_multiboot_set_bootdev): Likewise.
4514 * loader/i386/multiboot.c (mbi): Removed.
4515 (mbi_dest): Likewise.
4516 (alloc_mbi): New variable.
4517 (grub_multiboot_payload_size): Removed. All users updated.
4518 (grub_multiboot_pure_size): New variable.
4519 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
4520 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
4521 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
4522 (grub_fill_multiboot_mmap): Likewise.
4523 (grub_multiboot_get_bootdev): Likewise.
4524 (grub_multiboot): Use multiboot_mbi functions.
4525 * loader/i386/multiboot_mbi.c: New file.
4526
17383dfe
VS
45272010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
4530 it would result in module crash.
4531
c1f28820
VS
45322010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4535 (grub_ofconsole_getwh): Split to ...
4536 (grub_ofconsole_getwh): ... this.
4537 (grub_ofconsole_dimensions): ...and this.
4538 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4539
58655a16
RM
45402010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4541
4542 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4543
10891398
VS
45442010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * loader/i386/pc/multiboot2.c: Removed stalled file.
4547
0b8a223c
VS
45482010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4551 Reported by: Grégoire Sutre
4552
92ab12b0
RM
45532010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4554
4555 * util/misc.c (canonicalize_file_name): New function.
4556 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4557 instead of realpath().
4558
a788afb6
CW
45592010-01-11 Colin Watson <cjwatson@ubuntu.com>
4560
4561 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4562 and make it clearer that it's optional. Based on confusion
4563 witnessed on IRC.
4564
ffa8e3d2
VS
45652010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4568 in premature implicit newline.
4569
e9060a9d
VS
45702010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4573 which resulted in garbled command line at the end of screen.
4574
f0d0c0b7
RM
45752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4576
4577 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4578 initialization with similar approach as with other Linux loaders.
4579
0e60bae7
RM
45802010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4581
4582 Fix i386-ieee1275 build.
4583
4584 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4585 and grub_term_height() for video_{width,height} initialization.
4586
45872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
4588
4589 Fix grub-emu build.
4590
4591 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4592
cdb3f378
RM
45932010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
45942010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4595
4596 Support for multiple terminals.
4597
4598 * Makefile.in (pkglib_DATA): terminal.lst.
4599 (terminal.lst): New target.
4600 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4601 (GRUB_MOD_INIT(handler)): Likewise.
4602 (GRUB_MOD_FINI(handler)): Likewise.
4603 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4604 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4605 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4606 (grub_cmd_sleep): Use grub_term_save_pos.
4607 * commands/terminal.c: New file.
4608 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4609 commands/terminal.c and lib/charset.c.
4610 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4611 (pkglib_MODULES): Add terminal.mod.
4612 (terminal_mod_SOURCES): New variable.
4613 (terminal_mod_CFLAGS): Likewise.
4614 (terminal_mod_LDFLAGS): Likewise.
4615 * genhandlerlist.sh: Don't handle terminals.
4616 * genmk.rb: Generate terminal-*.lst.
4617 * genterminallist.sh: New file.
4618 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4619 (grub_is_valid_utf8): Likewise.
4620 (grub_utf8_to_ucs4_alloc): Likewise.
4621 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4622 (grub_menu_register_viewer): Changed argument.
4623 (grub_menu_try_text): New proto.
4624 (grub_gfxmenu_try_hook): New declaration.
4625 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4626 (grub_menu_init_page): Additional argument term.
4627 (grub_normal_init_page): Likewise.
4628 (grub_cmdline_get): Arguments simplified.
4629 (grub_utf8_to_ucs4_alloc): Removed.
4630 (grub_print_ucs4): Additional argument term.
4631 (grub_getstringwidth): Likewise.
4632 (grub_print_message_indented): Likewise.
4633 (grub_menu_text_register_instances): New proto.
4634 (grub_show_menu): Likewise.
4635 (read_terminal_list): Likewise.
4636 (grub_set_more): Likewise.
4637 * include/grub/parser.h: Include handler.h.
4638 * include/grub/reader.h: Rewritten.
4639 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4640 (GRUB_TERM_WIDTH): Changed to function.
4641 (GRUB_TERM_HEIGHT): Likewise.
4642 (GRUB_TERM_BORDER_WIDTH): Likewise.
4643 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4644 (GRUB_TERM_NUM_ENTRIES): Likewise.
4645 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4646 (GRUB_TERM_CURSOR_X): Likewise.
4647 (grub_term_input_class): Likewise.
4648 (grub_term_output_class): Likewise.
4649 (grub_term_outputs_disabled): New declaration.
4650 (grub_term_inputs_disabled): Likewise.
4651 (grub_term_outputs): Likewise.
4652 (grub_term_inputs): Likewise.
4653 (grub_term_register_input): Rewritten.
4654 (grub_term_register_output): Likewise.
4655 (grub_term_unregister_input): Likewise.
4656 (grub_term_unregister_output): Likewise.
4657 (FOR_ACTIVE_TERM_INPUTS): New macro.
4658 (FOR_DISABLED_TERM_INPUTS): Likewise.
4659 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4660 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4661 * include/grub/terminfo.h: Add oterm argument to all protypes.
4662 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4663 Use grub_rescue_run.
4664 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4665 All users updated.
4666 * kern/reader.c: Removed. All users updated.
4667 * kern/rescue_reader.c (grub_rescue_init): Removed.
4668 (grub_rescue_reader): Likewise.
4669 (grub_register_rescue_reader): Likewise.
4670 (grub_rescue_run): New function based on kern/reader.c.
4671 * kern/term.c: Adapted for multiterm.
4672 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4673 (grub_is_valid_utf8): Likewise.
4674 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4675 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4676 right terminal.
4677 * loader/i386/linux.c (grub_linux_boot): Likewise.
4678 * normal/auth.c (grub_username_get): New function.
4679 (grub_auth_check_authentication): Use grub_username_get.
4680 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4681 * normal/color.c: Adapt for multiterm.
4682 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4683 (grub_normal_init_page): Additional argument term.
4684 (read_lists): Call read_terminal_lists.
4685 (grub_enter_normal_mode): Call grub_cmdline_run.
4686 Handle grub_normal_exit_level.
4687 (grub_cmd_normal): Make reentrant.
4688 (grub_cmd_normal_exit): New function.
4689 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4690 * normal/menu.c: Adapt for multiterm.
4691 * normal/menu_entry.c: Likewise.
4692 * normal/menu_text.c: Likewise.
4693 * normal/menu_viewer.c: Removed. All users updated.
4694 * normal/term.c: New file.
4695 * util/console.c: Change order of includes to workaround a bug in
4696 ncurses headers.
4697 * term/terminfo.c: New argument oterm on all exported functions.
4698 All users updated.
4699 * util/grub-editenv.c (grub_term_input_class): Removed.
4700 (grub_term_output_class): Likewise.
4701
1a064917
RM
47022010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4703
4704 Make loader output a bit more user-friendly.
4705
4706 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4707 is being loaded. Likewise for the Hurd.
4708
4709 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4710 that kernel of FreeBSD ${version} is being loaded.
4711
4712 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4713 grub_dprintf().
4714 (grub_cmd_initrd): Likewise.
4715 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4716 that Linux ${version} is being loaded. Likewise for initrd.
4717
5ce0a83a 47182010-01-09 Carles Pina i Estany <carles@pina.cat>
4719
4720 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4721
809bbfeb 47222010-01-08 Carles Pina i Estany <carles@pina.cat>
4723
4724 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4725 (GRUB_MOD_INIT): Gettextizze.
4726 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4727 (GRUB_MOD_INIT): Gettextizze.
4728 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4729 (grub_cmd_linux): Capitalise Linux.
4730 (GRUB_MOD_INIT): Gettextizze.
4731 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4732 (grub_cmd_linux): Capitalise Linux.
4733 (GRUB_MOD_INIT): Gettextizze.
4734 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4735 (grub_cmd_linux): Capitalise Linux.
4736 (GRUB_MOD_INIT): Gettextizze.
4737 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4738 (GRUB_MOD_INIT): Gettextizze.
4739 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4740 (grub_cmd_linux): Capitalise Linux.
4741 (GRUB_MOD_INIT): Gettextizze.
4742 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4743 (grub_cpu_xnu_init): Gettextizze.
4744 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4745 (GRUB_MOD_INIT): Gettextizze.
4746 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4747 (GRUB_MOD_INIT): Gettextizze.
4748 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4749 (grub_linux_load64): Capitalise Linux.
4750 (GRUB_MOD_INIT): Gettextizze.
4751 * loader/xnu.c: Include `<grub/i18n.h>'.
4752 (GRUB_MOD_INIT): Gettextizze.
4753 * po/POTFILES: Add `loader/efi/appleloader.c',
4754 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4755 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4756 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4757 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4758 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4759 and `loader/xnu.c'.
4760
b394b2ca
RM
47612010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4762
4763 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4764
47652010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
4766
4767 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4768 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4769 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4770
bc8b32b3
RM
47712010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4772
4773 Reset Multiboot 2 support. New loader implements the draft in
4774 /branches/multiboot2 and shares as much code as possible with the
4775 production Multiboot 1 implementation.
4776
4777 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
4778 * loader/multiboot2.c: Likewise.
4779 * loader/i386/multiboot_helper.S: Likewise.
4780 * include/multiboot2.h: Replace with latest version from the draft
4781 in /branches/multiboot2.
4782
4783 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
4784 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
4785 and `loader/multiboot2.c'.
4786 (pkglib_MODULES): Add `multiboot2.mod'.
4787 (multiboot2_mod_SOURCES): New variable.
4788 (multiboot2_mod_LDFLAGS): Likewise.
4789 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
4790
4791 * conf/i386-pc.rmk: Likewise.
4792
4793 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4794 (multiboot_mod_SOURCES): Remove variable.
4795 (multiboot_mod_LDFLAGS): Likewise.
4796 (multiboot_mod_CFLAGS): Likewise.
4797
4798 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
4799 `<multiboot2.h>' instead of `<multiboot.h>'.
4800 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
4801 (MULTIBOOT_HEADER_MAGIC): New macros.
4802
4803 * loader/multiboot_loader.c (module_version_status): Remove variable.
4804 (find_multi_boot2_header): Remove function.
4805 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
4806 logic. Always check for the Multiboot version we're compiling for.
4807 (grub_cmd_module_loader): Likewise.
4808 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
4809 command instead of `multiboot'.
4810
5d2c52b8
RM
48112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4812
4813 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
4814 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
4815 all users.
4816
53108d92
RM
48172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
48182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Fix breakage introduced with previous commit.
4821
4822 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
4823 commands.
4824 * normal/handler.c (read_handler_list): Revert part of previous commit
4825 affecting this file.
4826 * normal/main.c (read_lists): Move read_handler_list() call back to ...
4827 (grub_normal_execute): ... here.
4828
e2e936b2
RM
48292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4830
4831 Merge prefix-redefinition-fix branch.
4832
4833 * normal/autofs.c (read_fs_list): Make function capable of being
4834 run multiple times, gracefuly replacing the previous data
4835 structures.
4836 * normal/dyncmd.c (read_command_list): Likewise.
4837 * normal/handler.c (read_handler_list): Likewise.
4838 * normal/main.c (read_lists): New function. Calls all the
4839 list reading functions.
4840 (grub_normal_execute): Use read_lists() instead of calling all
4841 list reading functions explicitly. Register read_lists() as a
4842 variable hook attached to ${prefix}.
4843
607a3701
VS
48442010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 Merge crypto branch.
4847
4848 * Makefile.in (pkglib_DATA): Add crypto.lst.
4849 (crypto.lst): New target.
4850 * commands/hashsum.c: New file.
4851 * commands/password.c (check_password): Use grub_crypto_memcmp.
4852 * commands/password_pbkdf2.c: New file.
4853 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
4854 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
4855 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
4856 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
4857 -I$(srcdir)/lib/libgcrypt_wrap.
4858 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
4859 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
4860 password_pbkdf2.mod.
4861 (crypto_mod_SOURCES): New variable.
4862 (crypto_mod_CFLAGS): Likewise.
4863 (crypto_mod_LDFLAGS): Likewise.
4864 (hashsum_mod_SOURCES): New variable.
4865 (hashsum_mod_CFLAGS): Likewise.
4866 (hashsum_mod_LDFLAGS): Likewise.
4867 (pbkdf2_mod_SOURCES): New variable.
4868 (pbkdf2_mod_CFLAGS): Likewise.
4869 (pbkdf2_mod_LDFLAGS): Likewise.
4870 (password_pbkdf2_mod_SOURCES): New variable.
4871 (password_pbkdf2_mod_CFLAGS): Likewise.
4872 (password_pbkdf2_mod_LDFLAGS): Likewise.
4873 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
4874 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
4875 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
4876 Include conf/gcry.rmk.
4877 * include/grub/auth.h: Rewritten.
4878 * include/grub/crypto.h: New file.
4879 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
4880 * include/grub/normal.h (read_crypto_list): New prototype.
4881 * lib/crypto.c: New file.
4882 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4883 * lib/pbkdf2.c: Likewise.
4884 * normal/auth.c (grub_auth_strcmp): Removed.
4885 (grub_iswordseparator): Likewise.
4886 (grub_auth_strword): Likewise.
4887 (is_authenticated): Use grub_strword.
4888 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
4889 and grub_strword. Pass entered password to authentication callback.
4890 * normal/crypto.c: New file.
4891 * normal/main.c: Call read_crypto_list.
4892 * util/grub-mkpasswd-pbkdf2.c: New file.
4893 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
4894
42841caa
VS
48952010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Fix descent and ascent calculation.
4898
4899 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
4900 (options): New option "asce".
4901 (usage): Likewise.
4902 (add_char): Ignore invalid glyphs for descent calculation.
4903 Calculate ascent from actual content.
4904 (print_glyphs): Use 'asce'.
4905 (write_font): Likewise. Allow ascent override.
4906 (main): Handle "asce" option.
4907
e7730de7 49082010-01-06 Carles Pina i Estany <carles@pina.cat>
4909
4910 * kern/err.c: Include `<grub/i18n.h>'.
4911 (grub_print_error): Add full stop. Gettextizze.
4912 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
4913 (grub_bsd_load_elf): Capitalise ELF.
4914 (grub_cmd_freebsd_loadenv): Add `s' in error string.
4915 (grub_cmd_freebsd_module): Likewise.
4916 (grub_cmd_freebsd_module_elf): Likewise.
4917 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
4918
40e3a41f 49192010-01-06 Carles Pina i Estany <carles@pina.cat>
4920
4921 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
4922 * commands/search_file.c (HELP_MESSAGE): New macro.
4923 * commands/search_label.c (HELP_MESSAGE): Likewise.
4924 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
4925 * po/POTFILES: Add `commands/search_file.c',
4926 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
4927 `commands/search.c'.
4928
83507e68
RM
49292010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4930
4931 * config.rpath: Update from Gnulib.
4932
465c787b
YB
49332010-01-05 Yves Blusseau <blusseau@zetam.org>
4934
4935 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
4936
6581dd3a
YB
49372010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
4938
4939 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
4940
3bff18c5
CW
49412010-01-05 Colin Watson <cjwatson@ubuntu.com>
4942
4943 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
4944 arguments to fread so that we get a return value in bytes, rather
4945 than something that will normally be rounded down to 0.
4946 Adjust error handling to avoid producing garbage when size_t is not
4947 the same size as long long.
4948
a1368118
CW
49492010-01-05 Colin Watson <cjwatson@ubuntu.com>
4950
4951 * util/mkisofs/write.c (padblock_write): Check return value of
4952 fread.
4953
7c302978
RM
49542010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4955
4956 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
4957 floppy images now.
4958
4959 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
4960
e33ace06
RM
49612010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4962
4963 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
4964 instead of manual alignment.
4965 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
4966 verbose). Avoid attempts to read past end of the device
4967 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
4968 but GRUB_DISK_CACHE_SIZE may exceed that).
4969
4b856776
RM
49702010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4971
4972 * commands/crc.c (grub_cmd_crc): Abort on read errors.
4973 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
4974 it to upper layer.
4975
52c2d97f
VS
49762010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
4979 New constant.
4980 (grub_efi_piwg_device_path): New structure
4981 (grub_efi_piwg_device_path_t): New type.
4982 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
4983 (devpath_1): Transform to a structure. All users updated.
4984 (devpath_2): Likewise.
4985 (devpath_3): Likewise.
4986 (devpath_4): Likewise.
4987 (devpath_5): Likewise.
4988
98ff6a54
VS
49892010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * loader/efi/appleloader.c: Restored. Update all users.
4992
3a73dcb6
RM
49932010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4994
4995 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
4996
4997 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
4998 (struct boot_blocklist): Move from here ...
4999 * include/grub/i386/pc/boot.h [ASM_FILE]
5000 (struct grub_boot_blocklist): ... to here. Update all users.
5001 (setup): Only initialize `start' member of `first_block'
5002 structure. Add assert() calls to verify the other members.
5003
5004 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5005 (generate_image): Fix broken blocklist length initialization.
5006 Add assert() call to verify blocklist `segment' field.
5007
ab0eeb0c
RM
50082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5009
5010 * loader/efi/appleloader.c: Remove. Update all users.
5011
58bc8bd5
RM
50122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5013
5014 * boot/i386/pc/boot.S: Update copyright year.
5015 * boot/i386/pc/cdboot.S: Likewise.
5016 * boot/i386/pc/diskboot.S: Likewise.
5017 * boot/i386/pc/lnxboot.S: Likewise.
5018 * boot/i386/pc/pxeboot.S: Likewise.
5019 * bus/pci.c: Likewise.
5020 * commands/cmp.c: Likewise.
5021 * commands/help.c: Likewise.
5022 * commands/hexdump.c: Likewise.
5023 * commands/i386/pc/halt.c: Likewise.
5024 * commands/i386/pc/play.c: Likewise.
5025 * commands/i386/pc/vbeinfo.c: Likewise.
5026 * commands/ls.c: Likewise.
5027 * commands/test.c: Likewise.
5028 * disk/dmraid_nvidia.c: Likewise.
5029 * disk/i386/pc/biosdisk.c: Likewise.
5030 * disk/ieee1275/nand.c: Likewise.
5031 * disk/ieee1275/ofdisk.c: Likewise.
5032 * disk/lvm.c: Likewise.
5033 * disk/raid.c: Likewise.
5034 * disk/raid6_recover.c: Likewise.
5035 * disk/scsi.c: Likewise.
5036 * fs/affs.c: Likewise.
5037 * fs/cpio.c: Likewise.
5038 * fs/ext2.c: Likewise.
5039 * fs/hfs.c: Likewise.
5040 * fs/iso9660.c: Likewise.
5041 * fs/ntfs.c: Likewise.
5042 * fs/sfs.c: Likewise.
5043 * fs/udf.c: Likewise.
5044 * fs/ufs.c: Likewise.
5045 * fs/xfs.c: Likewise.
5046 * gencmdlist.sh: Likewise.
5047 * genmk.rb: Likewise.
5048 * include/grub/disk.h: Likewise.
5049 * include/grub/efi/api.h: Likewise.
5050 * include/grub/efi/efi.h: Likewise.
5051 * include/grub/efi/pe32.h: Likewise.
5052 * include/grub/elf.h: Likewise.
5053 * include/grub/fs.h: Likewise.
5054 * include/grub/i386/at_keyboard.h: Likewise.
5055 * include/grub/i386/pc/memory.h: Likewise.
5056 * include/grub/i386/pc/vbe.h: Likewise.
5057 * include/grub/i386/pci.h: Likewise.
5058 * include/grub/i386/tsc.h: Likewise.
5059 * include/grub/ieee1275/ieee1275.h: Likewise.
5060 * include/grub/ntfs.h: Likewise.
5061 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5062 * include/grub/sparc64/libgcc.h: Likewise.
5063 * include/grub/symbol.h: Likewise.
5064 * include/grub/types.h: Likewise.
5065 * include/multiboot2.h: Likewise.
5066 * io/gzio.c: Likewise.
5067 * kern/device.c: Likewise.
5068 * kern/disk.c: Likewise.
5069 * kern/efi/efi.c: Likewise.
5070 * kern/efi/mm.c: Likewise.
5071 * kern/elf.c: Likewise.
5072 * kern/file.c: Likewise.
5073 * kern/i386/dl.c: Likewise.
5074 * kern/i386/pc/init.c: Likewise.
5075 * kern/i386/pc/startup.S: Likewise.
5076 * kern/ieee1275/ieee1275.c: Likewise.
5077 * kern/ieee1275/init.c: Likewise.
5078 * kern/main.c: Likewise.
5079 * kern/mm.c: Likewise.
5080 * kern/powerpc/dl.c: Likewise.
5081 * kern/sparc64/dl.c: Likewise.
5082 * kern/x86_64/dl.c: Likewise.
5083 * lib/hexdump.c: Likewise.
5084 * loader/efi/appleloader.c: Likewise.
5085 * loader/i386/ieee1275/linux.c: Likewise.
5086 * loader/i386/pc/chainloader.c: Likewise.
5087 * loader/i386/pc/linux.c: Likewise.
5088 * loader/i386/pc/multiboot2.c: Likewise.
5089 * loader/ieee1275/multiboot2.c: Likewise.
5090 * loader/multiboot2.c: Likewise.
5091 * loader/multiboot_loader.c: Likewise.
5092 * loader/powerpc/ieee1275/linux.c: Likewise.
5093 * normal/completion.c: Likewise.
5094 * normal/menu_entry.c: Likewise.
5095 * partmap/apple.c: Likewise.
5096 * util/grub.d/10_hurd.in: Likewise.
5097 * util/hostfs.c: Likewise.
5098 * video/readers/png.c: Likewise.
5099
e2d70b5c
CW
51002010-01-03 Colin Watson <cjwatson@ubuntu.com>
5101
5102 * include/grub/misc.h (GNUC_PREREQ): New macro.
5103 (ATTRIBUTE_ERROR): New macro.
5104 * include/grub/list.h (grub_bad_type_cast_real): Use
5105 ATTRIBUTE_ERROR.
5106
a173283f 51072010-01-03 Carles Pina i Estany <carles@pina.cat>
5108
5109 * normal/menu_text.c (print_message): Change messages.
5110
7fa7ff74 51112010-01-03 Carles Pina i Estany <carles@pina.cat>
5112
5113 * normal/menu_entry.c (store_completion): Gettextizze.
5114
136d24f6 51152010-01-03 Carles Pina i Estany <carles@pina.cat>
5116
5117 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5118
f936862e 51192010-01-03 Carles Pina i Estany <carles@pina.cat>
5120
5121 * po/POTFILES: Sort correctly.
5122
29c44ad1 51232010-01-03 Carles Pina i Estany <carles@pina.cat>
5124
5125 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
5126 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5127 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
5128 full stop.
5129 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
5130 summary. Gettextizze the strings.
5131 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
5132 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
5133 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
5134 full stop.
5135 (GRUB_MOD_INIT): Remove command name from summary.
5136 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
5137 summary.
5138 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
5139 * term/i386/pc/serial.c (options): Add full stops.
5140 (GRUB_MOD_INIT): Remove command name from the summary.
5141
77a79592 51422010-01-03 Carles Pina i Estany <carles@pina.cat>
5143
5144 * commands/acpi.c: Gettextizze help strings and/or options. Include
5145 `grub/i18n.h' if needed.
5146 * commands/blocklist.c: Likewise.
5147 * commands/boot.c: Likewise.
5148 * commands/cat.c: Likewise.
5149 * commands/cmp.c: Likewise.
5150 * commands/configfile.c: Likewise.
5151 * commands/crc.c: Likewise.
5152 * commands/date.c: Likewise.
5153 * commands/echo.c: Likewise.
5154 * commands/efi/fixvideo.c: Likewise.
5155 * commands/efi/loadbios.c: Likewise.
5156 * commands/gptsync.c: Likewise.
5157 * commands/halt.c: Likewise.
5158 * commands/handler.c: Likewise.
5159 * commands/hdparm.c: Likewise.
5160 * commands/hexdump.c: Likewise.
5161 * commands/i386/cpuid.c: Likewise.
5162 * commands/i386/pc/drivemap.c: Likewise.
5163 * commands/i386/pc/halt.c: Likewise.
5164 * commands/i386/pc/pxecmd.c: Likewise.
5165 * commands/i386/pc/vbeinfo.c: Likewise.
5166 * commands/i386/pc/vbetest.c: Likewise.
5167 * commands/ieee1275/suspend.c: Likewise.
5168 * commands/keystatus.c: Likewise.
5169 * commands/loadenv.c: Likewise.
5170 * commands/ls.c: Likewise.
5171 * commands/lsmmap.c: Likewise.
5172 * commands/lspci.c: Likewise.
5173 * commands/memrw.c: Likewise.
5174 * commands/minicmd.c: Likewise.
5175 * commands/parttool.c: Likewise.
5176 * commands/password.c: Likewise.
5177 * commands/probe.c: Likewise.
5178 * commands/read.c: Likewise.
5179 * commands/reboot.c: Likewise.
5180 * commands/search.c: Likewise.
5181 * commands/sleep.c: Likewise.
5182 * commands/test.c: Likewise.
5183 * commands/true.c: Likewise.
5184 * commands/usbtest.c: Likewise.
5185 * commands/videotest.c: Likewise.
5186 * commands/xnu_uuid.c: Likewise.
5187 * disk/loopback.c: Likewise.
5188 * hello/hello.c: Likewise.
5189 * loader/i386/bsd.c: Likewise.
5190 * term/i386/pc/serial.c: Likewise.
5191 * po/POTFILES: Add new files.
5192
da8d5c53
CW
51932010-01-02 Colin Watson <cjwatson@ubuntu.com>
5194
5195 * term/i386/pc/at_keyboard.c
5196 (keyboard_controller_wait_untill_ready): Rename to ...
5197 (keyboard_controller_wait_until_ready): ... this. Update all users.
5198
33937904 51992010-01-01 Carles Pina i Estany <carles@pina.cat>
5200
5201 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5202 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5203 string using string width.
5204 * normal/menu_text.c (grub_print_message_indented): Use
5205 grub_print_spaces and not print_spaces.
5206 (print_timeout): Likewise.
5207 (print_spaces): Move to...
5208 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5209
3fd3b8d8
RM
52102010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5211
5212 Import from Gnulib.
5213
5214 * gnulib/getdelim.c: New file.
5215 * gnulib/getline.c: Likewise.
5216
33433555
VS
52172009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5218
5219 * include/grub/list.h (grub_assert_fail): Removed.
5220 (grub_bad_type_cast_real): New function.
5221 (grub_bad_type_cast): New macro.
5222 (GRUB_AS_LIST): Use grub_bad_type_cast.
5223 (GRUB_AS_LIST_P): Likewise.
e44721e8 5224 (GRUB_AS_NAMED_LIST): Likewise.
33433555 5225 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 5226 (GRUB_AS_PRIO_LIST): Likewise.
33433555 5227 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 5228 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 5229
f5a51306
VS
52302009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5233 Fix syntax error.
5234
90d1e879
RM
52352009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5236
5237 * configure.ac: Check for TARGET_CFLAGS initialization before we
5238 initialize it ourselves (sigh).
5239 Move a few modifications to TARGET_CFLAGS to be unconditional
5240 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5241 eh_frame)
5242
5243 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5244 * term/i386/pc/at_keyboard.c
5245 (keyboard_controller_wait_untill_ready): Likewise.
5246 (keyboard_controller_led): Rename `led_status' paramter to avoid
5247 name conflict.
5248
465b5a81 52492009-12-28 Carles Pina i Estany <carles@pina.cat>
5250
5251 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5252 quotes.
5253
c181849b
VS
52542009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5257
9c8739a4
VS
52582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * normal/menu_text.c (grub_print_message_indented): Prevent
5261 past-the-end-of-array dereference.
5262
3e74249c
VS
52632009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5266 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5267
64fd18ed 52682009-12-27 Carles Pina i Estany <carles@pina.cat>
5269
5270 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5271 * normal/main.c (grub_normal_read_line): Remove a space from the
5272 default prompt.
5273
714af9b9 52742009-12-27 Carles Pina i Estany <carles@pina.cat>
5275
5276 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5277 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5278 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5279 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5280 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5281 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5282 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5283
82f3e412 52842009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 5285
5286 * video/readers/jpeg.c (cmd): Declare.
5287 (grub_cmd_jpegtest): Use `grub_command_t' type.
5288 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5289 Assign to `cmd'.
5290 (GRUB_MOD_FINI): Use `cmd' to unregister.
5291 * video/readers/png.c (cmd): Declare.
5292 (grub_cmd_pngtest): Use `grub_command_t' type.
5293 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5294 Assign to `cmd'.
5295 (GRUB_MOD_FINI): Use `cmd' to unregister.
5296 * video/readers/tga.c (cmd): Declare.
5297 (grub_cmd_tgatest): Use `grub_command_t' type.
5298 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5299 Assign to `cmd'.
5300 (GRUB_MOD_FINI): Use `cmd' to unregister.
5301
82f3e412 53022009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 5303
5304 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5305 stops.
5306 * kern/corecmd.c (grub_register_core_commands): Likewise.
5307 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5308 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5309 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
5310 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5311 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5312 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
5313 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5314 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
5315 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5316 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5317 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5318 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5319 * normal/handler.c (insert_handler): Likewise.
5320 * normal/main.c (GRUB_MOD_INIT): Likewise.
5321 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5322
fdcdbb66 53232009-12-26 Carles Pina i Estany <carles@pina.cat>
5324
5325 * commands/help.c (grub_cmd_help): Print the command name before the
5326 summary.
5327 (GRUB_MOD_INIT): Remove command name from the summary.
5328 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 5329 string as summary.
fdcdbb66 5330 * lib/arg.c (find_long): Print the command name before the summary.
5331 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
5332 summary.
5333 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
5334 * commands/cat.c (GRUB_MOD_INIT): Likewise.
5335 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
5336 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
5337 * commands/crc.c (GRUB_MOD_INIT): Likewise.
5338 * commands/date.c (GRUB_MOD_INIT): Likewise.
5339 * commands/echo.c (GRUB_MOD_INIT): Likewise.
5340 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
5341 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5342 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5343 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
5344 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
5345 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
5346 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
5347 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5348 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
5349 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
5350 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
5351 * commands/ls.c (GRUB_MOD_INIT): Likewise.
5352 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5353 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5354 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5355 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
5356 * commands/password.c (GRUB_MOD_INIT): Likewise.
5357 * commands/probe.c (GRUB_MOD_INIT): Likewise.
5358 * commands/read.c (GRUB_MOD_INIT): Likewise.
5359 * commands/search.c (GRUB_MOD_INIT): Likewise.
5360 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
5361 * commands/test.c (GRUB_MOD_INIT): Likewise.
5362 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
5363 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5364 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5365 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
5366 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5367 * lib/arg.c (GRUB_MOD_INIT): Likewise.
5368 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
5369 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5370 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5371 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5372 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5373 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
5374 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
5375 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
5376
9c288be2
VS
53772009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 Use search command for preliminar UUID search.
5380
5381 * commands/search.c: Split into ...
5382 * commands/search_wrap.c: ...this
5383 * commands/search.c: ...and this.
5384 * commands/search_file.c: New file.
5385 * commands/search_label.c: New file.
5386 * commands/search_uuid.c: New file.
5387 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
5388 Add commands/search_wrap.c, commands/search_file.c,
5389 commands/search_label.c and commands/search_uuid.c.
5390 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
5391 (search_mod_SOURCES): Set to commands/search_wrap.c.
5392 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
5393 search_label.mod.
5394 (search_fs_file_mod_SOURCES): New variable.
5395 (search_fs_file_mod_CFLAGS): Likewise.
5396 (search_fs_file_mod_LDFLAGS): Likewise.
5397 (search_label_mod_SOURCES): Likewise.
5398 (search_label_mod_CFLAGS): Likewise.
5399 (search_label_mod_LDFLAGS): Likewise.
5400 (search_fs_uuid_mod_SOURCES): New variable.
5401 (search_fs_uuid_mod_CFLAGS): Likewise.
5402 (search_fs_uuid_mod_LDFLAGS): Likewise.
5403 (fs_file_mod_SOURCES): Removed.
5404 (fs_file_mod_CFLAGS): Likewise.
5405 (fs_file_mod_LDFLAGS): Likewise.
5406 (fs_uuid_mod_SOURCES): Removed.
5407 (fs_uuid_mod_CFLAGS): Likewise.
5408 (fs_uuid_mod_LDFLAGS): Likewise.
5409 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
5410 Set to util/grub-install.in.
5411 * disk/fs_file.c: Removed.
5412 * disk/fs_uuid.c: Likewise.
5413 * include/grub/search.h: New file.
5414 * util/grub-install.in: Handle sparc64.
5415 Create and use load.cfg.
5416 * util/sparc64/ieee1275/grub-install.in: Removed.
5417
db943399
VS
54182009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
5421 Ignore return status if CF is cleared.
5422 (grub_biosdisk_get_diskinfo_standard): Likewise.
5423
3fdae612
RM
54242009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5425
5426 * term/i386/pc/at_keyboard.c
5427 (keyboard_controller_wait_untill_ready): New function.
5428 (grub_keyboard_controller_write, grub_keyboard_controller_read)
5429 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
5430 for keyboard polling, rather than duplicate the same loop. This
5431 saves a few bytes in code size.
5432
7ebaa2b4
VS
54332009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Support for (pxe[:server[:gateway]]) syntax and
5436 use environment variable for PXE.
5437
5438 * commands/i386/pc/pxecmd.c (options): Removed.
5439 (print_ip): Removed.
5440 (grub_cmd_pxe): Removed
5441 (grub_cmd_pxe_unload): New function.
5442 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
5443 (grub_pxe_your_ip): Made static.
5444 (grub_pxe_default_server_ip): Likewise.
5445 (grub_pxe_default_gateway_ip): Likewise.
5446 (grub_pxe_blksize): Likewise.
5447 (parse_ip): New function.
5448 (grub_pxe_open): Support server and gateway specification.
5449 (grub_pxe_close): Free disk->data.
5450 (grub_pxefs_open): Use disk->data.
5451 (grub_pxefs_read): Likewise.
5452 (grub_env_write_readonly): New function.
5453 (set_mac_env): Likewise.
5454 (set_env_limn_ro): Likewise.
5455 (parse_dhcp_vendor): Likewise.
5456 (grub_pxe_detect): Set the environment variables.
5457 (set_ip_env): New function.
5458 (write_ip_env): Likewise.
5459 (grub_env_write_pxe_default_server): Likewise.
5460 (grub_env_write_pxe_default_gateway): Likewise.
5461 (grub_env_write_pxe_blocksize): Likewise.
5462 (GRUB_MOD_INIT(pxe)): Set environment variables.
5463 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
5464 (grub_pxe_mac_addr_t): ... this. All users updated.
5465 (grub_pxe_your_ip): Removed.
5466 (grub_pxe_server_ip): Likewise.
5467 (grub_pxe_gateway_ip): Likewise.
5468 (grub_pxe_blksize): Likewise.
5469
ec5f98ab 54702009-12-25 Carles Pina i Estany <carles@pina.cat>
5471
5472 * commands/help.c: Include `<grub/i18n.h>'.
5473 (grub_cmd_help): Gettextizze.
5474 (GRUB_MOD_INIT): Likewise.
5475 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
5476 (GRUB_MOD_INIT): Gettextizze.
5477 * commands/search.c: Include `<grub/i18n.h>'.
5478 (options): Gettextizze.
5479 (GRUB_MOD_INIT): Gettextizze.
5480 * lib/arg.c: Include `<grub/i18n.h>'.
5481 (help_options): Gettextizze.
5482 (find_long): Likewise.
5483 (grub_arg_show_help): Likewise.
5484 * normal/dyncmd.c: Include `<grub/i18n.h>'.
5485 (read_command_list): Gettextizze.
5486 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 5487 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 5488
22815526
RM
54892009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5490
5491 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
5492 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5493 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
5494 (led_status): New variable.
5495 (keyboard_controller_led): New function.
5496 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
5497 update led status for caps lock, num lock and scroll lock.
5498
0ad46fd7
FZ
54992009-12-25 Felix Zielcke <fzielcke@z-51.de>
5500
5501 * util/hostdisk.c (open_device): Fix a comment.
5502
d0e158c2
RM
55032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5504
5505 * util/grub-install.in (host_os): New variable.
5506 * util/i386/efi/grub-install.in (host_os): Likewise.
5507
401c0ad6
RM
55082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5509
5510 * util/mkisofs/write.c (padblock_write): Abort when given an
5511 excedingly large embed image, instead of silently truncating it.
5512
d14d3370
RM
55132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5514
5515 * include/multiboot.h: Indentation fixes.
5516
eeed10b4
RM
55172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5518
5519 * include/multiboot.h (struct multiboot_aout_symbol_table)
5520 (struct multiboot_elf_section_header_table): New structure
5521 declarations (stolen from GRUB Legacy).
5522 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
5523 table information.
5524
5525 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
5526 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
5527 type aliases.
5528
681c70ab
RM
55292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5530
5531 * include/multiboot.h: Make comments src2texi-friendly.
5532
e4d47d8d
RM
55332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5534
5535 For consistency with [multiboot]/docs/boot.S.
5536
5537 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5538 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5539 (MULTIBOOT_MAGIC2): Rename from this ...
5540 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5541
a0b70bda
RM
55422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5543
5544 * include/multiboot.h: Remove `<grub/types.h>'.
5545 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5546 types. Update all users.
5547
61ba42be 55482009-12-25 Carles Pina i Estany <carles@pina.cat>
5549
5550 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5551 `couldn't' and `can not' by `cannot'.
5552 * commands/i386/pc/drivemap.c: Likewise.
5553 * disk/ata.c: Likewise.
5554 * disk/ieee1275/nand.c: Likewise.
5555 * fs/affs.c: Likewise.
5556 * fs/fat.c: Likewise.
5557 * fs/hfs.c: Likewise.
5558 * fs/hfsplus.c: Likewise.
5559 * fs/iso9660.c: Likewise.
5560 * fs/jfs.c: Likewise.
5561 * fs/minix.c: Likewise.
5562 * fs/reiserfs.c: Likewise.
5563 * fs/sfs.c: Likewise.
5564 * fs/udf.c: Likewise.
5565 * fs/ufs.c: Likewise.
5566 * fs/xfs.c: Likewise.
5567 * loader/powerpc/ieee1275/linux.c: Likewise.
5568 * loader/sparc64/ieee1275/linux.c: Likewise.
5569 * util/grub-probe.c: Likewise.
5570 * util/misc.c: Likewise.
5571
7fd0baee 55722009-12-24 Carles Pina i Estany <carles@pina.cat>
5573
5574 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5575 grub_errno calls.
5576 * commands/acpi.c: Likewise.
5577 * commands/blocklist.c: Likewise.
5578 * commands/efi/loadbios.c: Likewise.
5579 * commands/i386/pc/drivemap.c: Likewise.
5580 * commands/loadenv.c: Likewise.
5581 * commands/memrw.c: Likewise.
5582 * commands/password.c: Likewise.
5583 * commands/videotest.c: Likewise.
5584 * disk/ata.c: Likewise.
5585 * disk/ata_pthru.c: Likewise.
5586 * disk/dmraid_nvidia.c: Likewise.
5587 * disk/ieee1275/nand.c: Likewise.
5588 * disk/ieee1275/ofdisk.c: Likewise.
5589 * disk/loopback.c: Likewise.
5590 * disk/lvm.c: Likewise.
5591 * disk/mdraid_linux.c: Likewise.
5592 * disk/raid.c: Likewise.
5593 * disk/raid6_recover.c: Likewise.
5594 * disk/scsi.c: Likewise.
5595 * efiemu/main.c: Likewise.
5596 * efiemu/mm.c: Likewise.
5597 * efiemu/pnvram.c: Likewise.
5598 * efiemu/symbols.c: Likewise.
5599 * font/font.c: Likewise.
5600 * fs/cpio.c: Likewise.
5601 * fs/hfsplus.c: Likewise.
5602 * fs/iso9660.c: Likewise.
5603 * fs/jfs.c: Likewise.
5604 * fs/minix.c: Likewise.
5605 * fs/ntfs.c: Likewise.
5606 * fs/ntfscomp.c: Likewise.
5607 * fs/reiserfs.c: Likewise.
5608 * fs/ufs.c: Likewise.
5609 * fs/xfs.c: Likewise.
5610 * gettext/gettext.c: Likewise.
5611 * include/grub/auth.h: Likewise.
5612 * kern/elf.c: Likewise.
5613 * kern/file.c: Likewise.
5614 * kern/ieee1275/init.c: Likewise.
5615 * kern/ieee1275/mmap.c: Likewise.
5616 * kern/ieee1275/openfw.c: Likewise.
5617 * kern/powerpc/dl.c: Likewise.
5618 * kern/sparc64/dl.c: Likewise.
5619 * lib/arg.c: Likewise.
5620 * loader/i386/bsd.c: Likewise.
5621 * loader/i386/bsdXX.c: Likewise.
5622 * loader/i386/efi/linux.c: Likewise.
5623 * loader/i386/efi/xnu.c: Likewise.
5624 * loader/i386/ieee1275/linux.c: Likewise.
5625 * loader/i386/linux.c: Likewise.
5626 * loader/i386/multiboot.c: Likewise.
5627 * loader/i386/pc/linux.c: Likewise.
5628 * loader/i386/pc/multiboot2.c: Likewise.
5629 * loader/i386/xnu.c: Likewise.
5630 * loader/ieee1275/multiboot2.c: Likewise.
5631 * loader/macho.c: Likewise.
5632 * loader/machoXX.c: Likewise.
5633 * loader/multiboot2.c: Likewise.
5634 * loader/multiboot_loader.c: Likewise.
5635 * loader/powerpc/ieee1275/linux.c: Likewise.
5636 * loader/sparc64/ieee1275/linux.c: Likewise.
5637 * loader/xnu.c: Likewise.
5638 * loader/xnu_resume.c: Likewise.
5639 * mmap/i386/pc/mmap.c: Likewise.
5640 * normal/menu_viewer.c: Likewise.
5641 * partmap/acorn.c: Likewise.
5642 * partmap/amiga.c: Likewise.
5643 * partmap/apple.c: Likewise.
5644 * script/lexer.c: Likewise.
5645 * term/gfxterm.c: Likewise.
5646 * term/i386/pc/serial.c: Likewise.
5647 * term/i386/pc/vga.c: Likewise.
5648 * term/ieee1275/ofconsole.c: Likewise.
5649 * term/terminfo.c: Likewise.
5650 * video/bitmap.c: Likewise.
5651 * video/efi_gop.c: Likewise.
5652 * video/efi_uga.c: Likewise.
5653 * video/fb/video_fb.c: Likewise.
5654 * video/i386/pc/vbe.c: Likewise.
5655 * video/readers/tga.c: Likewise.
5656 * video/video.c: Likewise.
5657
0ad46fd7 56582009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
5659
5660 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5661 * commands/lspci.c: Likewise.
5662 * commands/probe.c: Likewise.
5663 * commands/xnu_uuid.c: Likewise.
5664 * conf/i386-coreboot.rmk: Likewise.
5665 * conf/i386-efi.rmk: Likewise.
5666 * conf/i386-ieee1275.rmk: Likewise.
5667 * conf/i386-pc.rmk: Likewise.
5668 * conf/powerpc-ieee1275.rmk: Likewise.
5669 * conf/sparc64-ieee1275.rmk: Likewise.
5670 * conf/x86_64-efi.rmk: Likewise.
5671 * fs/i386/pc/pxe.c: Likewise.
5672 * gettext/gettext.c: Likewise.
5673 * include/grub/efi/graphics_output.h: Likewise.
5674 * include/grub/i386/pc/memory.h: Likewise.
5675 * kern/env.c: Likewise.
5676 * kern/i386/qemu/startup.S: Likewise.
5677 * lib/i386/pc/biosnum.c: Likewise.
5678 * lib/i386/relocator.c: Likewise.
5679 * lib/i386/relocator_asm.S: Likewise.
5680 * lib/relocator.c: Likewise.
5681 * loader/i386/bsd.c: Likewise.
5682 * loader/i386/multiboot.c: Likewise.
5683 * loader/i386/pc/chainloader.c: Likewise.
5684 * loader/i386/xnu.c: Likewise.
5685 * loader/xnu.c: Likewise.
5686 * normal/main.c: Likewise.
5687 * normal/menu_text.c: Likewise.
5688 * util/getroot.c: Likewise.
5689 * util/grub-mkconfig_lib.in: Likewise.
5690 * util/grub.d/00_header.in: Likewise.
5691 * util/i386/pc/grub-mkimage.c: Likewise.
5692 * util/mkisofs/eltorito.c: Likewise.
5693 * util/mkisofs/exclude.h: Likewise.
5694 * util/mkisofs/hash.c: Likewise.
5695 * util/mkisofs/iso9660.h: Likewise.
5696 * util/mkisofs/joliet.c: Likewise.
5697 * util/mkisofs/mkisofs.c: Likewise.
5698 * util/mkisofs/mkisofs.h: Likewise.
5699 * util/mkisofs/multi.c: Likewise.
5700 * util/mkisofs/name.c: Likewise.
5701 * util/mkisofs/rock.c: Likewise.
5702 * util/mkisofs/tree.c: Likewise.
5703 * util/mkisofs/write.c: Likewise.
5704 * video/efi_gop.c: Likewise.
5705
009ec743
VS
57062009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5709 size counting.
5710
0ad46fd7 57112009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
5712
5713 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5714 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5715
d3d30ea0
VS
57162009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5719 (GRUB_MOD_INIT(memrw)): Update help line.
5720
a34f5c70
VS
57212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5724 Use grub_extcmd_t. All users updated.
5725 (options): New variable.
5726 (grub_cmd_read): Restructure for readability. Support "-v" option.
5727 (grub_cmd_write): Restructure for readability.
5728
0ad46fd7 57292009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
5730
5731 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5732
0ad46fd7 57332009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
5734
5735 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5736 with the actual contents of the correspondending make variable.
5737 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5738 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5739 specifying `*.lst' and `efiemu??.o'
5740
0ad46fd7 57412009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
5742
5743 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5744 after function name.
5745 Noticed by Rene Engelhard <rene@debian.org>.
5746
dc77a799
VS
57472009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5750 (options): New variable.
5751 (iospace): Likewise.
5752 (grub_lspci_iter): List IO spaces if "-i" was given.
5753 (grub_cmd_lspci): Parse options.
5754 (GRUB_MOD_INIT(lspci)): Use extcmd.
5755 (GRUB_MOD_FINI(lspci)): Likewise.
5756
0ad46fd7 57572009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
5758
5759 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5760 `function' keyword.
5761 Patch by Tony Mancill <tmancill@debian.org>.
5762
b5d5993b
VS
57632009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5766 (grub_uhci_portstatus): Likewise.
5767 (grub_uhci_portstatus): Add necessary delay.
11d18281 5768 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 5769
941903f2 57702009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 5771
941903f2 5772 * commands/acpi.c (options): Fix capitalizations and/or full stops.
5773 (GRUB_MOD_INIT): Likewise.
5774 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 5775 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
5776 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 5777 * commands/efi/loadbios.c (enable_rom_area): Likewise.
5778 (enable_rom_area): Likewise.
5779 (GRUB_MOD_INIT): Likewise.
5780 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5781 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
5782 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5783 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
5784 * commands/hexdump.c (options): Likewise.
5785 * commands/i386/cpuid.c (options): Likewise.
5786 (GRUB_MOD_INIT): Likewise.
5787 * commands/i386/pc/drivemap.c (options): Likewise.
5788 (GRUB_MOD_INIT): Likewise.
5789 * commands/i386/pc/halt (options): Likewise.
5790 (GRUB_MOD_INIT): Likewise.
5791 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5792 * commands/i386/pc/pxecmd.c (options): Likewise.
5793 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
5794 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
5795 * commands/keystatus.c (options): Likewise.
5796 (GRUB_MOD_INIT): Likewise.
5797 * commands/loadenv.c (options): Likewise.
5798 * commands/ls.c (options): Likewise.
5799 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5800 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5801 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5802 * commands/parttool.c (helpmsg): Likewise.
5803 * commands/probe.c (options): Likewise.
5804 * commands/read.c (GRUB_MOD_INIT): Likewise.
5805 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
5806 * commands/search.c (options): Likewise.
5807 * commands/sleep.c (options): Likewise.
5808 * commands/test.c (GRUB_MOD_INIT): Likewise.
5809 * commands/true.c (GRUB_MOD_INIT): Likewise.
5810 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
5811 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
5812 * lib/arg.c (help_options): Likewise.
e9bbb4e7 5813 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
5814 `$(XGETTEXT)'.
98a50553 5815 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 5816
0ad46fd7 58172009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 5818
ef3c2c3a 5819 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
5820 instead of specifying them explicit.
5821
7922f68b
RM
58222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5823
5824 * NEWS: Add grub-probe support for GNU/Hurd.
5825
537ce47f
RM
58262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5827
5828 * NEWS: gettext was added after 1.97.
5829
9b214e3a
RM
58302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5831
5832 * util/mkisofs/msdos_partition.h: New file (based on
5833 include/grub/msdos_partition.h).
5834 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
5835 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
5836 (ld_options, main): Recognize --protective-msdos-label.
5837 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
5838 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
5839 (padblock_write): If `use_protective_msdos_label' is set, patch a
5840 protective DOS-style label in the output image.
5841
5842 * util/grub-mkrescue.in: Use --protective-msdos-label.
5843
e9309813
RM
58442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5845
5846 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
5847 boot.
5848
0ae56929
RM
58492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5850
5851 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
5852 variables.
5853 (ld_options, main): Recognize `--embedded-boot'.
5854 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
5855 declarations.
5856 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
5857 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
5858 (padblock_write): Likewise. Rewrite to support embedded boot image.
5859
5860 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
5861 for BIOS-based disk boot instead of only ElTorito.
5862
b15937b1
RM
58632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5864
5865 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
5866 build (not needed for bootstrap).
5867
52cc3ce0
RM
58682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5869
5870 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
5871 from i386-pc build (not needed for bootstrap).
5872 Rewrite a pair of strings.
5873
36f5ff04
RM
58742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5875
5876 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
5877
973c6c85 58782009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
5879
5880 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
5881
05d21547
AB
58822009-12-21 Andreas Born <futur.andy@googlemail.com>
5883
5884 * kern/env.c (grub_env_context_open): Mark exported variable for
5885 reexport.
5886
0175d51f
AB
58872009-12-21 Andreas Born <futur.andy@googlemail.com>
5888
5889 * kern/env.c (grub_env_export): Create nonexistent variables before
5890 exporting.
5891
7f39d92f 58922009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 5893
7f39d92f 5894 * include/grub/auth.h: Include `<grub/i18n.h>'.
5895 (GRUB_GET_PASSWORD): Gettextizze string.
5896 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
5897 menu_text.c.
5898 (grub_utf8_to_ucs4_alloc): Fix indentation.
5899 (grub_print_ucs4): Likewise.
5900 (grub_getstringwidth): Likewise.
5901 (print_message_indented): New declaration.
5902 * normal/auth.c: Include `<grub/i18n.h>'.
5903 (grub_auth_check_authentication): Gettexttize string.
5904 * normal/cmdline.c: Include `<grub/i18n.h>'.
5905 (grub_cmdline_get): Gettextizze.
5906 * normal/color.c: Include `<grub/i18n.h>'.
5907 (grub_parse_color_name_pair): Gettexttize strings.
5908 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
5909 string (use `print_message_indented').
5910 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
5911 `include/grub/normal.h'.
5912 (print_message_indented): Renamed to ...
5913 (grub_print_message_indented): ... this. Remove `static' qualifer (now
5914 used in normal/main.c).
5915 (print_message): Use `grub_print_message_indented' instead of
5916 `print_message_indented'.
5917 (print_timeout): Likewise.
5918 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
5919 (grub_normal_print_device_info): Gettexttize strings.
5920 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
5921
3041d898
VS
59222009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
5925 of arguments. Return number of tokens and not arguments. All users
5926 updated.
5927
de15bf8e
VS
59282009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
5931 non-MSDOS paritions.
5932
e0a6ca52
VS
59332009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * include/grub/types.h (UNUSED): Removed since it conflicts with
5936 NetBSD headers. All users changed to direct __attribute__ ((unused)).
5937 Reported by Grégoire Sutre.
5938
b99518d1 59392009-12-19 Carles Pina i Estany <carles@pina.cat>
5940
5941 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
5942 (grub_print_ucs4_alloc): Likewise.
5943 (grub_getstringwidth): Likewise.
5944 * normal/main.c (grub_normal_init_page): Gettextize version string.
5945 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
5946 (getstringwidth): Renamed to ...
5947 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
5948 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
5949 (grub_print_ucs4): Remove `static' qualifer (now used in
5950 normal/main.c).
5951 * po/POTFILES: Add normal/main.c.
5952
bfd5e52b 59532009-12-19 Carles Pina i Estany <carles@pina.cat>
5954
5955 * normal/menu_text.c (STANDARD_MARGIN): New macro.
5956 (print_message_indented): Add `margin_left' and `margin_right'
5957 parameters.
5958 (print_message): Update `print_message_indented' calls. Adds '\n' to the
5959 strings.
5960 (print_timeout): Use `print_message_indented' to print the message.
5961 Deletes `second_stage' parameter.
5962 (run_menu): Update `print_timeout' calls.
5963
5a1ad2b9
VS
59642009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Fix console palette on OpenFirmware.
5967
5968 * term/ieee1275/ofconsole.c (MAX): Removed.
5969 (colors): Redone based on VGA palette.
5970 (grub_ofconsole_setcolor): Discard brightness bit since only 8
5971 colors are supported.
5972 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
5973
b045f00a
VS
59742009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Fix potential EfiEmu double prepare.
5977
5978 * efiemu/main.c (prepared): New variable
5979 (grub_efiemu_unload): Set prepare to '0'.
5980 (grub_efiemu_prepare): Return if already prepared. Set prepared.
5981
5982 set_virtual_address_map support.
5983
5984 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
5985 prototype.
5986 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
5987 prototype.
5988 (grub_efiemu_crc32): Likewise.
5989 (grub_efiemu_crc64): Likewise.
5990 (grub_efiemu_set_virtual_address_map): Likewise.
5991 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
5992 New definition.
5993 (grub_autoefi_set_virtual_address_map): Likewise.
5994 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
5995 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
5996 Restructure flow to accomodate it.
5997 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
5998 (grub_efiemu_crc): Recompute CRC32.
5999 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6000 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6001 * efiemu/symbols.c (relocated_handle): New variable.
6002 (grub_efiemu_free_syms): Free relocated_handle.
6003 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6004 (grub_efiemu_write_sym_markers): New function.
6005 (grub_efiemu_set_virtual_address_map): Likewise.
6006
6007 Newer XNU parameters.
6008
6009 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6010 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6011 (grub_xnu_fill_devicetree): New prototype.
6012 (grub_xnu_heap_real_start): New variable.
6013 * loader/xnu.c (get_name_ptr): New function.
6014 (grub_xnu_load_driver): Fill namelen and name.
6015
6016 64-bit xnu support.
6017
6018 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6019 and 'loader/macho64.c'.
6020 * conf/i386-pc.rmk: Likewise.
6021 * conf/x86_64-efi.rmk: Likewise.
6022 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6023 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6024 * include/grub/macho.h (grub_macho_segment64): New structure.
6025 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6026 (grub_macho_size32): ... to this.
6027 (grub_macho32_get_entry_point): Renamed from ...
6028 (grub_macho_get_entry_point32): ... to this.
6029 (grub_macho_contains_macho64): New prototype.
6030 (grub_macho_size64): Likewise.
6031 (grub_macho_get_entry_point64): Likewise.
6032 (grub_macho32_load): Renamed from ...
6033 (grub_macho_load32): ... to this.
6034 (grub_macho32_filesize): Renamed from ...
6035 (grub_macho_filesize32): ... to this.
6036 (grub_macho32_readfile): Renamed from ...
6037 (grub_macho_readfile32): ... to this.
6038 (grub_macho_filesize64): New prototype.
6039 (grub_macho_readfile64): Likewise.
6040 (grub_macho_parse32): Likewise.
6041 (grub_macho_parse64): Likewise.
6042 * loader/macho.c: Split into ...
6043 * loader/machoXX.c: ... and this. Replace 32 with XX.
6044 * loader/macho32.c: New file.
6045 * loader/macho64.c: Likewise.
6046 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6047 (grub_cmd_xnu_kernel): Make 32-bit only.
6048 (grub_cmd_xnu_kernel64): New function.
6049 (grub_xnu_load_driver): Support Mach-O 64.
6050 (grub_cmd_xnu_mkext): Likewise.
6051 * util/grub.d/30_os-prober.in (osx_entry): New function.
6052 Generate entries for 64-bit boot too.
6053
6054 Eliminate ad-hoc tree format in XNU and EfiEmu.
6055
6056 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6057 * efiemu/pnvram.c: Rewritten to use environment variables.
6058 All users updated.
6059
6060 Inline utf16_to_utf8.
6061
6062 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6063 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6064 All users updated.
6065 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6066
6067 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6068 * commands/usbtest.c (grub_usb_get_string): ... move here.
6069 (usb_print_str): Fix error handling.
6070 * include/grub/usb.h (grub_usb_get_string): Remove.
6071
6072 UTF-8 to UTF-16 transformation.
6073
6074 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6075 (charset_mod_SOURCES): New variable.
6076 (charset_mod_CFLAGS): Likewise.
6077 (charset_mod_LDFLAGS): Likewise.
6078 * include/grub/utf.h: New file.
6079 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6080
6081 Support for device properties.
6082
6083 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6084 (grub_xnu_devprop_device_header): Likewise.
6085 (grub_xnu_devprop_device_descriptor): Likewise.
6086 (grub_xnu_devprop_add_device): New prototype.
6087 (grub_xnu_devprop_remove_device): Likewise.
6088 (grub_xnu_devprop_remove_property): Likewise.
6089 (grub_xnu_devprop_add_property_utf8): Likewise.
6090 (grub_xnu_devprop_add_property_utf16): Likewise.
6091 (grub_cpu_xnu_init): Likewise.
6092 (grub_cpu_xnu_fini): Likewise.
6093 (grub_cpu_xnu_unload): Likewise.
6094 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6095 (property_descriptor): Likewise.
6096 (devices): New variable.
6097 (grub_xnu_devprop_remove_property): New function.
6098 (grub_xnu_devprop_add_device): Likewise.
6099 (grub_xnu_devprop_remove_device): Likewise.
6100 (grub_xnu_devprop_add_property): Likewise.
6101 (grub_xnu_devprop_add_property_utf8): Likewise.
6102 (grub_xnu_devprop_add_property_utf16): Likewise.
6103 (hextoval): Likewise.
6104 (grub_cpu_xnu_fill_devprop): Likewise.
6105 (grub_cmd_devprop_load): Likewise.
6106 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6107 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6108 (cmd_devprop_load): New variable.
6109 (grub_cpu_xnu_init): New function.
6110 (grub_cpu_xnu_fini): Likewise.
6111 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6112 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6113 (grub_cmd_xnu_devtree): Likewise.
6114 (hextoval): New function.
6115 (unescape): Likewise.
6116 (grub_xnu_fill_devicetree): Likewise.
6117
6118 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6119 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6120
0945f181
VS
61212009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 Workaround for broken ATI VBE.
6124
6125 * video/i386/pc/vbe.c (last_set_mode): New variable.
6126 (grub_vbe_set_video_mode): Set 'last_set_mode'.
6127 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
6128 (grub_video_vbe_setup): Don't check for reserved flag.
6129
0ad46fd7 61302009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
6131
6132 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
6133 the `find' command.
6134
c179ebe4
VS
61352009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 UUID support for HFS.
6138
6139 * fs/hfs.c (grub_hfs_uuid): New function.
6140 (grub_hfs_fs): New value .uuid.
6141 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
6142
0ad46fd7 61432009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
6144
6145 Fix a segfault with parsing unknown long options.
6146
6147 * util/grub-mkrelpath.c (options): Zero terminate it.
6148
c4a3e41a
CPE
61492009-12-13 Carles Pina i Estany <carles@pina.cat>
6150
6151 * include/grub/misc.h (grub_puts): New declaration.
6152 (grub_puts_): Likewise.
a22008a6 6153 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
6154 (grub_puts_): Likewise.
6155
2e8a7602
RM
61562009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6157
6158 * util/grub-probe.c (probe): Improve error message.
6159
b50b77b9
RM
61602009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6161
6162 * loader/i386/multiboot_elfxx.c
6163 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6164 initialization.
6165
61662009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 Relocator framework
6169
6170 * loader/i386/xnu_helper.S: Removed. All users updated.
6171 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6172 (relocator_mod_SOURCES): New variable.
6173 (relocator_mod_CFLAGS): Likewise.
6174 (relocator_mod_LDFLAGS): Likewise.
6175 (relocator_mod_ASFLAGS): Likewise.
6176 * conf/x86_64.rmk: Likewise.
6177 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6178 (grub_multiboot_payload_entry_offset): Likewise.
6179 (grub_multiboot_forward_relocator): Likewise.
6180 (grub_multiboot_forward_relocator_end): Likewise.
6181 (grub_multiboot_backward_relocator): Likewise.
6182 (grub_multiboot_backward_relocator_end): Likewise.
6183 (grub_multiboot_payload_eip): New variable.
6184 (grub_multiboot_payload_orig): Likewise.
6185 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6186 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6187 * include/grub/i386/memory.h
6188 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6189 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6190 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6191 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6192 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6193 * include/grub/i386/relocator.h: New file.
6194 * include/grub/x86_64/relocator.h: Likewise.
6195 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6196 (XNU_RELOCATOR): New macro.
6197 (grub_xnu_launcher_start): Remove.
6198 (grub_xnu_launcher_end): Likewise.
6199 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6200 (grub_xnu_heap_real_start): Remove.
6201 (grub_xnu_heap_start): Change to void *. All users updated.
6202 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6203 * lib/i386/relocator.c: New file.
6204 * lib/i386/relocator_asm.S: Likewise.
6205 * lib/i386/relocator_backward.S: Likewise.
6206 * lib/mips/relocator.c: Likewise.
6207 * lib/mips/relocator_asm.S: Likewise.
6208 * lib/relocator.c: Likewise.
6209 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6210 (entry): Removed.
6211 (playground): Likewise.
6212 (grub_multiboot_payload_orig): New variable.
6213 (grub_multiboot_payload_dest): Likewise.
6214 (grub_multiboot_payload_size): Likewise.
6215 (grub_multiboot_payload_eip): Likewise.
6216 (grub_multiboot_payload_esp): Likewise.
6217 (grub_multiboot_boot): Use grub_relocator32_boot.
6218 (grub_multiboot_unload): Free relocators.
6219 (grub_multiboot): Setup stack. Use relocators.
6220 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6221 (grub_multiboot_load_elfXX): Use relocators.
6222 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6223 (grub_multiboot_payload_size): Likewise.
6224 (grub_multiboot_payload_dest): Likewise.
6225 (grub_multiboot_payload_entry_offset): Likewise.
6226 (grub_multiboot_forward_relocator): Likewise.
6227 (grub_multiboot_backward_relocator): Likewise.
6228 (grub_multiboot_real_boot): Likewise.
6229 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6230 (grub_xnu_entry_point): Likewise.
6231 (grub_xnu_arg1): Likewise.
6232 (grub_xnu_stack): Likewise.
6233 (grub_xnu_launch): Removed.
6234 (grub_xnu_boot_resume): New function.
6235 (grub_xnu_boot): Use relocators.
6236 * loader/i386/xnu_helper.S: Removed.
6237 * loader/xnu.c (grub_xnu_heap_start): New variable.
6238 (grub_xnu_heap_size): Likewise.
6239 (grub_xnu_heap_malloc): Use relocators.
6240 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6241
29eb90c6
VS
62422009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6245 anything.
6246
31027430
CPE
62472009-12-13 Carles Pina i Estany <carles@pina.cat>
6248
6249 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6250 GRUB_ERR_NONE before calling grub_env_set.
6251
dc0c71d9
RM
62522009-12-12 Robert Millan <rmh@aybabtu.com>
6253
6254 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6255 * genmk.rb (video): New variable.
6256 (CLEANFILES, VIDEOFILES): Add #{video}.
6257 (#{video}): New target rule.
6258 * genvideolist.sh: New file.
6259 * Makefile.in (pkglib_DATA): Add video.lst.
6260 (video.lst): New target rule.
6261 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6262 `video.lst'.
6263 * util/grub.d/30_os-prober.in: Replace `vbe' with
6264 ${GRUB_VIDEO_BACKEND}.
6265
2a4bfcf0
RM
62662009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6267
6268 * THANKS: Add David Miller.
6269
2a3aa4d5
RM
62702009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 libpciaccess support.
6273
6274 * Makefile.in (LIBPCIACCESS): New variable.
6275 (enable_grub_emu_pci): Likewise.
6276 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6277 util/pci.c and commands/lspci.c.
6278 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6279 * configure.ac (grub-emu-pci): New option.
6280 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6281 (grub_pci_device_unmap_range): Likewise.
6282 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6283 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6284 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6285 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6286 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6287 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6288 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6289 * include/grub/pciutils.h: New file.
6290 * util/pci.c: Likewise.
6291
0ad46fd7 62922009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
6293
6294 * util/misc.c: Don't include <errno.h> twice.
6295
0ad46fd7 62962009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
6297
6298 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6299 name in an error message.
6300 (grub_biosdisk_rw): Likewise.
6301
2e59983c
VS
63022009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 Eliminate NTFS 4Gib barrier.
6305
6306 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6307 (read_run_data): Likewise.
6308 (grub_ntfs_read_run_list): Likewise.
6309 (grub_ntfs_read_block): Likewise.
6310 (grub_ntfs_iterate_dir): Likewise.
6311 (read_mft): Likewise.
6312 (read_data): Likewise.
6313 Use COM_LOG_LEN.
6314 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
6315 to avoid 64-bit division
6316 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
6317 (grub_ntfs_rlst): Use grub_disk_addr_t.
6318
71ee178a
VS
63192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Eliminate grub-fstest 4Gib barrier.
6322
6323 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
6324 (read_file): Fix error reporting.
6325
2520d4b8
VS
63262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 Eliminate hexdump 4Gib barrier.
6329
6330 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
6331 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
6332
e1f27065
VS
63332009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
6336 Fixes amarsh bug.
6337
1a0f7f45
RM
63382009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
6339
6340 Remove miscellaneous files in distclean target.
6341
6342 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
6343
c631d9fb
CW
63442009-12-09 Colin Watson <cjwatson@ubuntu.com>
6345
6346 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
6347 if they're already set. This resolves the conflict between my
6348 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
6349 fixing the --grub-probe option again.
6350 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
6351 change on 2009-10-06, so that we now once again source
6352 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6353
7c7b6106
RM
63542009-12-08 Robert Millan <rmh.grub@aybabtu.com>
6355
6356 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
6357 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
6358 `util/devicemap.c'.
6359
e3069ec1
CPE
63602009-12-08 Carles Pina i Estany <carles@pina.cat>
6361
6362 * include/grub/misc.h (grub_printf_): New declaration.
6363 * kern/misc.c (grub_printf_): New definition.
6364 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
6365 instead of `grub_printf' and `_'.
6366 * normal/menu_entry.c (store_completion): Likewise.
6367 (run): Likewise.
6368 (grub_menu_entry_run): Likewise.
6369 * normal/menu_text.c (grub_wait_after_message): Likewise.
6370 (notify_booting): Likewise.
6371 (notify_fallback): Likewise.
6372 (notify_execution_failure): Likewise.
6373
d6ceebf1
CW
63742009-12-07 Colin Watson <cjwatson@ubuntu.com>
6375
6376 * configure.ac: Check for vasprintf.
6377 * util/misc.c (asprintf): Move allocation from here ...
6378 (vasprintf): ... to here. New function.
6379 (xasprintf): New function.
6380 * include/grub/util/misc.h (vasprintf, xasprintf): Add
6381 prototypes.
6382 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6383 * util/grub-mkfont.c (write_font): Likewise.
6384 * util/grub-probe.c (probe): Likewise.
6385 * util/hostdisk.c (make_device_name): Likewise.
6386
de6daa8b
DM
63872009-12-06 David S. Miller <davem@sunset.davemloft.net>
6388
6389 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
6390 anything even prefixed with 'cdrom' as a cdrom.
6391
0ad46fd7 63922009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
6393
6394 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
6395 mount points.
6396
98d3dc02
CPE
63972009-12-05 Carles Pina i Estany <carles@pina.cat>
6398
6399 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
6400 grub_gettext_msg_list.
6401 (grub_gettext_gettranslation_from_position): Return const char *
6402 and not char *.
a2c1332b 6403 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
6404 returns from the list if existing there.
6405 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
6406 (grub_gettext_delete_list): Delete the list.
6407 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
6408 lang environment variable is changed.
6409 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
6410
b283f108
VS
64112009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 Rename kernel.mod to kernel.img.
6414
6415 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
6416 (kernel_mod_EXPORTS): Rename to ...
6417 (kernel_img_EXPORTS): ... this.
6418 (kernel_mod_SOURCES): Rename to ...
6419 (kernel_img_SOURCES): ... this.
6420 (kernel_mod_HEADERS): Rename to ...
6421 (kernel_img_HEADERS): ... this. All users updated.
6422 (kernel_mod_CFLAGS): Rename to ...
6423 (kernel_img_CFLAGS): ... this.
6424 (kernel_mod_ASFLAGS): Rename to ...
6425 (kernel_img_ASFLAGS): ... this.
6426 (kernel_mod_LDFLAGS): Rename to ...
6427 (kernel_img_LDFLAGS): ... this.
6428 * conf/x86_64-efi.rmk: Likewise.
6429 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
6430 (read_kernel_image): ... this. All users updated.
6431 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
6432
69055f8a
CPE
64332009-12-05 Carles Pina i Estany <carles@pina.cat>
6434
6435 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
6436 (print_spaces): New function.
6437 (grub_print_ucs4): New function.
6438 (getstringwidth): New function.
6439 (print_message_indented): New function.
6440 (print_message): Gettexttize strings using print_message_indented.
6441 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
6442 width.
6443 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 6444 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
6445 Gettextize.
6446 * normal/menu_entry.c (store_completion): Cleanup the gettextized
6447 string.
6448 (run): Likewise.
6449 (grub_menu_entry_run): Likewise.
6450 * PO/POTFILES: Add normal/menu_entry.c.
6451
f616f51c
VS
64522009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
6455
57bbe3be
CPE
64562009-12-05 Carles Pina i Estany <carles@pina.cat>
6457
6458 * util/grub-install.in: Install gettext .mo files.
6459 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
6460
013d67a1
CPE
64612009-12-05 Carles Pina i Estany <carles@pina.cat>
6462
6463 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
6464 grub_dprintf.
6465
fb954db0
RM
64662009-12-05 Robert Millan <rmh.grub@aybabtu.com>
6467
6468 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
6469 non-firmware-dependant one in realmode.S takes precedence.
6470
6b8474f8
RM
64712009-12-04 Robert Millan <rmh.grub@aybabtu.com>
6472
6473 * commands/halt.c: Replace misc arch-specific headers with
6474 `<grub/misc.h>'.
6475 * commands/reboot.c: Likewise.
6476 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
6477 `<grub/misc.h>'.
6478 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
6479 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
6480 (kernel_img_SOURCES): ... to here.
6481
6482 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
6483 * include/grub/i386/pc/init.h: Likewise.
6484 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6485 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6486
6487 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
6488
6489 * include/grub/i386/halt.h: Remove.
6490 * include/grub/i386/reboot.h: Likewise.
6491
6492 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
6493
4b2e6ca2
DM
64942009-12-03 David S. Miller <davem@sunset.davemloft.net>
6495
6496 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
6497 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
6498 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
6499 "progname.h"
6500 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6501 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6502 (usage): Add missing comma in printf.
6503
5239348f
RM
65042009-12-02 Robert Millan <rmh.grub@aybabtu.com>
6505
6506 Use the same reboot approach on i386 coreboot and qemu as we do on
6507 BIOS.
6508
6509 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
6510 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
6511 * kern/i386/reboot.c: Remove.
6512 * include/grub/i386/reboot.h (grub_reboot): Export function.
6513 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
6514 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
6515 0xf000:0xfff0 instead of 0xffff:0x0000.
6516 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
6517 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
6518
ef34cbd4
RM
65192009-11-30 Robert Millan <rmh.grub@aybabtu.com>
6520
6521 Fix $srcdir != $objdir build.
6522
6523 * Makefile.in (po/%.po): Rewrite as ...
6524 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
6525
dc9837ea
ST
65262009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
6527
6528 Fix GNU/Hurd grub-install crash.
6529 * util/grub-probe.c (probe): Try to access `path' only when it is not
6530 NULL.
6531
2f857f98
VS
65322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 Correct module naming.
6535
6536 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6537 (GRUB_MOD_INIT(efi_uga)): ... to this
6538 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6539 (GRUB_MOD_FINI(efi_uga)): ... to this
6540 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6541 (GRUB_MOD_INIT(efi_gop)): ... to this
6542 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6543 (GRUB_MOD_FINI(efi_gop)): ... to this
6544
c5448046
RM
65452009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6546
6547 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6548 translatable.
6549 (usage): Translate `arg' strings using gettext().
6550 Thanks to Jordi Mallach for the suggestion.
6551
c85184ad
VS
65522009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 GOP support. Based on patch from Bean
6555 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6556
6557 * video/efi_gop.c: New file.
6558 * include/grub/efi/graphics_output.h: Likewise.
6559 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6560 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6561 variables.
6562 * conf/x86_64-efi.rmk: Likewise.
6563
8a4c48d8
VS
65642009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Rename efi_fb to efi_uga.
6567
6568 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6569 'efi_uga.mod'.
6570 (efi_fb_mod_SOURCES): Rename this ...
6571 (efi_uga_mod_SOURCES): ... to this.
6572 (efi_fb_mod_CFLAGS): Rename this ...
6573 (efi_uga_mod_CFLAGS): ... to this.
6574 (efi_fb_mod_LDFLAGS): Rename this ...
6575 (efi_uga_mod_LDFLAGS): ... to this.
6576 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6577 'efi_uga.mod'.
6578 (efi_fb_mod_SOURCES): Rename this ...
6579 (efi_uga_mod_SOURCES): ... to this.
6580 (efi_fb_mod_CFLAGS): Rename this ...
6581 (efi_uga_mod_CFLAGS): ... to this.
6582 (efi_fb_mod_LDFLAGS): Rename this ...
6583 (efi_uga_mod_LDFLAGS): ... to this.
6584 * video/efi_fb.c: Move this ...
6585 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6586
fb6c1a7b
RM
65872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6588
6589 * po/README: New file. Explain our PO file workflow.
6590
3bc7896c
RM
65912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6592
6593 * po/ChangeLog: Remove. Move relevant entries back to ...
6594 * ChangeLog: ... here.
6595 * po/ca.po: Remove (now handled by TLP).
6596 * po/id.po: Likewise.
6597 * po/zh_CN.po: Likewise.
6598 * Makefile.in (LINGUAS): Initialize in a way that supports
6599 empty set.
6600
9ed4841d
RM
66012009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6602
6603 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6604 reliing on po/LINGUAS.
6605 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6606 (po/%.po): ... this.
6607
0ad46fd7 66082009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
6609
6610 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6611 (main): Use `program_name' instead of nonexistent `progname'.
6612
e30dd392
FZ
66132009-11-26 Felix Zielcke <fzielcke@z-51.de>
6614
6615 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6616 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6617
7656de4f
RM
66182009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6619
6620 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6621 commit.
6622 * conf/i386-efi.rmk: Likewise.
6623 * conf/i386-ieee1275.rmk: Likewise.
6624 * conf/powerpc-ieee1275.rmk: Likewise.
6625 * conf/sparc64-ieee1275.rmk: Likewise.
6626 * conf/x86_64-efi.rmk: Likewise.
6627
db77c4d4
FZ
66282009-11-26 Felix Zielcke <fzielcke@z-51.de>
6629
6630 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6631
a755bb04
FZ
66322009-11-26 Felix Zielcke <fzielcke@z-51.de>
6633
6634 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6635
8a4c07fd
RM
66362009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6637
6638 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6639 (grub_mkdevicemap_SOURCES): New variable.
6640 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6641 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6642 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6643 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6644 (grub_mkdevicemap_SOURCES): Remove.
6645 * conf/i386-efi.rmk: Likewise.
6646 * conf/i386-ieee1275.rmk: Likewise.
6647 * conf/i386-pc.rmk: Likewise.
6648 * conf/powerpc-ieee1275.rmk: Likewise.
6649 * conf/sparc64-ieee1275.rmk: Likewise.
6650 * conf/x86_64-efi.rmk: Likewise.
6651 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6652 (usage): Fix strings to use `program_name'.
6653 (main): Initialize gettext.
6654 * util/grub-editenv.c: Likewise.
6655 * util/grub-emu.c: Likewise.
6656 * util/grub-fstest.c: Likewise.
6657 * util/grub-mkdevicemap.c: Likewise.
6658 * util/grub-mkfont.c: Likewise.
6659 * util/grub-mkrelpath.c: Likewise.
6660 * util/grub-pe2elf.c: Likewise.
6661 * util/grub-probe.c: Likewise.
6662 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6663 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6664 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6665
6666 * util/misc.c: Include `"progname.h"'.
6667 (progname): Remove variable.
6668 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6669
6f61ed55
FZ
66702009-11-25 Felix Zielcke <fzielcke@z-51.de>
6671
6672 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6673 printf and print a newline after the menuentry header line.
6674 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6675
f022876b
FZ
66762009-11-25 Felix Zielcke <fzielcke@z-51.de>
6677
6678 autoconf >= 2.60 support $(localedir).
6679
6680 * INSTALL: Note that autoconf 2.60 is required.
6681 * configure.ac (AC_PREREQ): Bump to 2.60.
6682 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6683 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6684
6717926e
YB
66852009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6686
6687 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6688 aclocal is run.
6689
08806a54
RM
66902009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6691
6692 * normal/main.c (grub_normal_read_line): Fix off-by-one
6693 buffer overflow.
6694
13b33fba
RM
66952009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6696
6697 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6698 "parser.grub" in grub_command_execute() call.
6699
4a8572e9
CPE
67002009-11-24 Carles Pina i Estany <carles@pina.cat>
6701
6702 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6703 * conf/i386-efi.rmk: Likewise.
6704 * conf/i386-ieee1275.rmk: Likewise.
6705 * conf/i386-pc.rmk: Likewise.
6706 * conf/powerpc-ieee1275.rmk: Likewise.
6707 * conf/sparc64-ieee1275.rmk: Likewise.
6708 * conf/x86_64-efi.rmk: Likewise.
6709 * gettext/gettex.c: Include <grub/i18n.h>.
6710 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6711 here ...
6712 * include/grub/i18n.h: ... to here
6713 * include/grub/i18n.h: ... to here.
6714 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 6715 (grub_gettext_dummy): Move above user.
4a8572e9 6716
bee48093
FZ
67172009-11-24 Felix Zielcke <fzielcke@z-51.de>
6718
6719 * util/Makefile.in (install-local): Convert a `for' into a normal
6720 shell expansion.
6721
a031e91c
RM
67222009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6723
6724 * autogen.sh: Add automake call.
6725 * config.guess: Remove.
6726 * config.sub: Likewise.
6727 * install-sh: Likewise.
6728
26bec39d
FZ
67292009-11-24 Felix Zielcke <fzielcke@z-51.de>
6730
6731 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6732
8e2532fd
FZ
67332009-11-24 Felix Zielcke <fzielcke@z-51.de>
6734
6735 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6736 function to a normal shell `for'.
6737
fefa1b7d
FZ
67382009-11-24 Felix Zielcke <fzielcke@z-51.de>
6739
6740 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6741
4501250b
FZ
67422009-11-24 Felix Zielcke <fzielcke@z-51.de>
6743
6744 * util/grub-mkrelpath.c: New file.
6745 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6746 (grub_mkrelpath_SOURCES): New variable.
6747 * include/grub/util/misc.h: New function prototype.
6748 * util/misc.c (make_system_path_relative_to_its_root): New function.
6749
6750 * util/grub-mkconfig_lib.in (bindir): New variable.
6751 (grub_mkrelpath): Likewise.
6752 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6753
6754 * util/probe.c (probe): Make the file path relative to its root.
6755 Change a info message to use the GRUB path. Enable again the
6756 check if we can read the file with GRUB facilities.
6757
6758 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6759 to its root.
6760
11d9778b
FZ
67612009-11-24 Felix Zielcke <fzielcke@z-51.de>
6762
6763 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6764 platform.
6765
4465287d
FZ
67662009-11-24 Felix Zielcke <fzielcke@z-51.de>
6767
6768 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6769 strncmp().
6770
62b47f22
FZ
67712009-11-24 Felix Zielcke <fzielcke@z-51.de>
6772
6773 * util/getroot.c (grub_util_is_dmraid): New function.
6774 (grub_util_get_dev_abstraction): Treat dmraid and multipath
6775 devices as normal ones, not as LVM.
6776
1eafb9b9 67772009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
6778
6779 * conf/common.rmk: Add grub-gettext_lib target and updates
6780 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
6781 LDFLAGS.
6782 * gettext/gettext.c: New file. (Reads mo files).
6783 * include/grub/file.h (grub_file_pread): New prototype.
6784 * include/grub/i18n.h (_): New prototype.
6785 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
6786 prototypes.
6787 * kern/misc.c (grub_gettext_dummy): New function.
6788 * normal/menu_text.c: Include <grub/i18n.h>.
6789 * normal/menu_text.c (print_timeout): Gettexttize string.
6790 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
6791 * po/POTFILES: Add `normal/menu_text.c'.
6792 * po/ca.po: Add new translations.
c3ea6bd4
CPE
6793 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
6794 gettext module and defines locale_dir and lang in grub.cfg.
6795 * NEWS: Add gettext support.
6796
0fdb2568
RM
67972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6798
6799 * util/hostdisk.c: Include `<grub/i18n.h>'.
6800 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
6801 (make_device_name): Rewrite using asprintf.
6802 (convert_system_partition_to_system_disk): Replace 0 with NULL.
6803 (find_system_device): If a device is not found, generate one just
6804 by reusing the OS path name.
6805 (read_device_map): Make it permissible for device.map not to exist.
6806
f515aa62
RM
68072009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6808
6809 * script/sh/execute.c: Move from here ...
6810 * script/execute.c: ... to here. Update all users.
6811 * script/sh/function.c: Move from here ...
6812 * script/function.c: ... to here. Update all users.
6813 * script/sh/lexer.c: Move from here ...
6814 * script/lexer.c: ... to here. Update all users.
6815 * script/sh/main.c: Move from here ...
6816 * script/main.c: ... to here. Update all users.
6817 * script/sh/parser.y: Move from here ...
6818 * script/parser.y: ... to here. Update all users.
6819 * script/sh/script.c: Move from here ...
6820 * script/script.c: ... to here. Update all users.
6821
f84b481b
RM
68222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6823
6824 * configure.ac: Detect all `emu' platforms. Define
6825 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
6826 --enable-grub-emu logic. Disable include/grub/machine
6827 symlink on `emu' platforms.
6828
6829 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
6830 * gensymlist.sh.in: Likewise.
6831
6832 * include/grub/i386/coreboot/machine.h: Remove file.
6833 * include/grub/i386/efi/machine.h: Likewise.
6834 * include/grub/i386/ieee1275/machine.h: Likewise.
6835 * include/grub/i386/pc/machine.h: Likewise.
6836 * include/grub/i386/qemu/machine.h: Likewise.
6837 * include/grub/powerpc/ieee1275/machine.h: Likewise.
6838 * include/grub/sparc64/ieee1275/machine.h: Likewise.
6839 * include/grub/x86_64/efi/machine.h: Likewise.
6840
6841 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
6842 * commands/halt.c: Likewise.
6843 * commands/reboot.c: Likewise.
6844 * include/grub/autoefi.h: Likewise.
6845 * include/grub/i386/at_keyboard.h: Likewise.
6846 * include/grub/i386/kernel.h: Likewise.
6847 * include/grub/i386/loader.h: Likewise.
6848 * include/grub/i386/pc/memory.h: Likewise.
6849 * kern/dl.c: Likewise.
6850 * kern/i386/coreboot/init.c: Likewise.
6851 * loader/i386/bsd.c: Likewise.
6852 * loader/i386/linux.c: Likewise.
6853 * loader/multiboot_loader.c: Likewise.
6854 * term/i386/pc/serial.c: Likewise.
6855 * term/usb_keyboard.c: Likewise.
6856
6857 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
6858 `<grub/machine/machine.h>'
6859 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
6860 * util/misc.c: Remove `<grub/machine/machine.h>' and
6861 `<grub/machine/time.h>'.
6862
6863 * Makefile.in (enable_grub_emu): Remove variable.
6864 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
6865
6866 * conf/any-emu.rmk: New file.
6867 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
6868 (grub_emu_init.c): Move from here ...
6869 * conf/any-emu.rmk: ... to here.
6870
6871 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
6872 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
6873 * conf/any-emu.rmk: ... to here.
6874
4efeab03
RM
68752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6876
6877 * include/grub/parser.h (grub_parser_register): Document need
6878 of `name' parameter.
6879 * normal/main.c (grub_normal_read_line): Simplify prompt string.
6880 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
6881 "sh" to "grub".
6882
ea1dd8bf
RM
68832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6884
6885 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
6886 `$(XGETTEXT)'.
6887 * include/grub/i18n.h (N_): New macro.
6888 * util/mkisofs/mkisofs.h: Likewise.
6889 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
6890 around N_().
6891 (usage): Use gettext() to translate help strings when printing them.
6892
0c140626
RM
68932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6894
6895 Based on patch from Bean
6896 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6897
6898 * video/efi_fb.c: New file.
6899 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
6900 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6901 variables.
6902 * conf/x86_64-efi.rmk: Likewise.
6903
87d58298
RM
69042009-11-22 Robert Millan <rmh.grub@aybabtu.com>
6905
6906 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
6907 * util/i386/pc/grub-setup.c: Likewise.
6908
994cc3a3
ST
69092009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6910
6911 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
6912 <hurd/fs.h>
6913 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
6914 file_get_storage_info to implement grub_guess_root_device.
6915
26a61d6a
FZ
69162009-11-21 Felix Zielcke <fzielcke@z-51.de>
6917
6918 * Makefile.in (target): Use make's builtin $(shell) function
6919 instead of calling directly $(SHELL) to create the locale directories,
6920 inside the $(foreach) function.
6921
74ff1dd5
FZ
69222009-11-21 Felix Zielcke <fzielcke@z-51.de>
6923
6924 * util/grub-mkrescue.in: Print an error and usage if output option
6925 has not been given.
6926
0b787d0e
FZ
69272009-11-21 Felix Zielcke <fzielcke@z-51.de>
6928
6929 Patch from Loïc Minier <loic.minier@ubuntu.com>.
6930 * util/grub.d/30_os-prober.in: Cope with Linux entries where
6931 root and /boot are on different devices.
6932
1164b270
RM
69332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6934
6935 Fix build for srcdir != objdir.
6936
6937 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
6938 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
6939 $(srcdir).
6940 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
6941 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
6942 reference for input.
6943
13774a2f
RM
69442009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6945
6946 * util/grub-mkrescue.in: Use source directory direcly (without copiing
6947 or hardlinking it). Remove -J option, Joliet is not compatible with
6948 multiple source directories.
6949
efda854e
RM
69502009-11-21 Carles Pina i Estany <carles@pina.cat>
69512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6952
6953 * util/grub-mkrescue.in: Recognize `--override-directory' option.
6954 (process_input_dir): New function. Process an arbitrary input
6955 directory.
6956 Misc adjustments to support both "override mode" and system-wide mode.
6957
6c09890c
FZ
69582009-11-20 Felix Zielcke <fzielcke@z-51.de>
6959
6960 * configure.ac (UNIFONT_BDF): Rename to ...
6961 (FONT_SOURCE): ... this. Update all users.
6962
a797824f
FZ
69632009-11-20 Felix Zielcke <fzielcke@z-51.de>
6964
6965 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
6966 to the list of unifont files to look for.
6967
cd4f42b0
RM
69682009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6969
6970 Patch from Joe Auricchio <jauricchio@gmail.com>
6971 * commands/minicmd.c (grub_mini_cmd_clear): New function.
6972 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
6973 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
6974
393c783d
FZ
69752009-11-19 Felix Zielcke <fzielcke@z-51.de>
6976
6977 * Makefile.in (install-local): Add a missing backslash.
6978
b2f1e327
FZ
69792009-11-19 Felix Zielcke <fzielcke@z-51.de>
6980
6981 * include/grub/x86_64/io.h: New file.
6982
f577f7a0
RM
69832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6984
6985 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
6986 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
6987 Include `"progname.h"'.
6988 (main): Initialize gettext.
6989 * util/i386/pc/grub-setup.c: Gettexttize.
6990 * util/i386/pc/grub-mkimage.c: Likewise.
6991
6992 * Makefile.in (po/*.po): Redefine as ...
6993 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
6994
3bc7896c
RM
6995 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
6996
c37943b6
RM
69972009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6998
6999 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7000 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7001 (program_name): Remove.
7002 (main): Initialize gettext support.
6323f705
RM
7003 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7004 Include `<libintl.h>'.
7005 (_): New macro.
c37943b6
RM
7006
7007 * util/mkisofs/eltorito.c: Gettexttize.
7008 * util/mkisofs/joliet.c: Likewise.
7009 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
7010 * util/mkisofs/multi.c: Likewise.
7011 * util/mkisofs/rock.c: Likewise.
7012 * util/mkisofs/tree.c: Likewise.
7013 * util/mkisofs/write.c: Likewise.
7014
3bc7896c
RM
7015 * po/POTFILES: Update with new files.
7016
5ce77c6e
RM
70172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7018
7019 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7020 * util/mkisofs/iso9660.h: Likewise.
7021 * util/mkisofs/joliet.c: Likewise.
7022 * util/mkisofs/mkisofs.c: Likewise.
7023 * util/mkisofs/mkisofs.h: Likewise.
7024 * util/mkisofs/rock.c: Likewise.
7025 * util/mkisofs/tree.c: Likewise.
7026 * util/mkisofs/write.c: Likewise.
7027
7028 * util/mkisofs/eltorito.c (rcsid): Remove.
7029 * util/mkisofs/hash.c: Likewise.
7030 * util/mkisofs/joliet.c: Likewise.
7031 * util/mkisofs/name.c: Likewise.
7032 * util/mkisofs/rock.c: Likewise.
7033 * util/mkisofs/tree.c: Likewise.
7034 * util/mkisofs/write.c: Likewise.
7035
1dabbc77
RM
70362009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7037
7038 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7039 instead of static allocation.
7040 * util/mkisofs/match.h: Likewise.
7041
633877cb
RM
70422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7043
3bc7896c
RM
7044 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7045 and `util/grub.d/10_linux.in'.
633877cb
RM
7046 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7047 translatable Shell files.
7048
af1c0c85
RM
70492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7050
7051 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7052
769ae37b
RM
70532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7054
7055 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 7056 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
7057 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7058 Add gettext initialization.
7059 (kfreebsd_entry): Make menuentry output translatable.
7060
70612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7062
7063 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7064 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7065 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7066 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7067 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 7068 * po/LINGUAS: New file.
769ae37b
RM
7069
70702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7071
7072 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7073 other things).
7074 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7075 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7076 bindtextdomain() calls for gettext initialization.
7077
70782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7079
7080 * gnulib/progname.c: New file (imported from Gnulib).
7081 * gnulib/progname.h: Likewise.
7082 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7083 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7084 (usage): Replace `progname' with `program_name'.
7085 (main): Use set_program_name() for program name initialization.
7086
70872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7088
7089 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7090 from here ...
7091 * Makefile.in (CPPFLAGS): ... to here.
7092
70932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7094
7095 * aclocal.m4: Move from here ...
7096 * acinclude.m4: ... to here.
7097 * autogen.sh: Add call to `aclocal'.
7098 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7099
71002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7101
7102 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7103 (LINGUAS): New variable.
7104 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7105 (install-local): Install MO files.
7106 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7107 * include/grub/i18n.h: New file.
3bc7896c
RM
7108 * po/POTFILES: New file.
7109 * po/ca.po: New file.
769ae37b
RM
7110 * util/grub.d/10_linux.in (bindir): New variable.
7111 Add gettext initialization.
7112 (linux_entry): Make menuentry output translatable.
7113 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7114 (usage): Make --help output translatable.
7115 (main): Initialize gettext.
7116
02c0a6ad
RM
71172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7118
7119 * import_gcry.py: New file (written by Vladimir with minor
7120 adjustments).
7121 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7122 ciphers.
7123 * INSTALL: Document that Python is required for bootstrap.
7124
71252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7126
7127 Import ciphers from libgcrypt 1.4.4.
7128
7129 * lib/libgcrypt/cipher/ChangeLog
7130 * lib/libgcrypt/cipher/ac.c
7131 * lib/libgcrypt/cipher/arcfour.c
7132 * lib/libgcrypt/cipher/bithelp.h
7133 * lib/libgcrypt/cipher/blowfish.c
7134 * lib/libgcrypt/cipher/camellia-glue.c
7135 * lib/libgcrypt/cipher/camellia.c
7136 * lib/libgcrypt/cipher/camellia.h
7137 * lib/libgcrypt/cipher/cast5.c
7138 * lib/libgcrypt/cipher/cipher.c
7139 * lib/libgcrypt/cipher/crc.c
7140 * lib/libgcrypt/cipher/des.c
7141 * lib/libgcrypt/cipher/dsa.c
7142 * lib/libgcrypt/cipher/ecc.c
7143 * lib/libgcrypt/cipher/elgamal.c
7144 * lib/libgcrypt/cipher/hash-common.c
7145 * lib/libgcrypt/cipher/hash-common.h
7146 * lib/libgcrypt/cipher/hmac-tests.c
7147 * lib/libgcrypt/cipher/md.c
7148 * lib/libgcrypt/cipher/md4.c
7149 * lib/libgcrypt/cipher/md5.c
7150 * lib/libgcrypt/cipher/primegen.c
7151 * lib/libgcrypt/cipher/pubkey.c
7152 * lib/libgcrypt/cipher/rfc2268.c
7153 * lib/libgcrypt/cipher/rijndael-tables.h
7154 * lib/libgcrypt/cipher/rijndael.c
7155 * lib/libgcrypt/cipher/rmd.h
7156 * lib/libgcrypt/cipher/rmd160.c
7157 * lib/libgcrypt/cipher/rsa.c
7158 * lib/libgcrypt/cipher/seed.c
7159 * lib/libgcrypt/cipher/serpent.c
7160 * lib/libgcrypt/cipher/sha1.c
7161 * lib/libgcrypt/cipher/sha256.c
7162 * lib/libgcrypt/cipher/sha512.c
7163 * lib/libgcrypt/cipher/tiger.c
7164 * lib/libgcrypt/cipher/twofish.c
7165 * lib/libgcrypt/cipher/whirlpool.c
7166
af2f93ac
RM
71672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7168
7169 Fix build for systems without error().
7170
7171 * gnulib/error.c: New file (imported from Gnulib).
7172 * gnulib/error.h: Likewise.
7173 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7174 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7175 (this variable is now used by error()).
7176
73fb3dd5
FZ
71772009-11-16 Felix Zielcke <fzielcke@z-51.de>
7178
814f5e96
FZ
7179 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7180 instead of relying that char is signed.
73fb3dd5 7181
a691ca33
VS
71822009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7185 blocksize different from specified.
7186 (grub_pxefs_read): Likewise.
7187
2af8f0f4
FZ
71882009-11-16 Felix Zielcke <fzielcke@z-51.de>
7189
7190 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7191
7192 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7193 (grub_ata_readwrite): Likewise. Update 2 format strings.
7194 (grub_atapi_read): Likewise.
7195
7196 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7197 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7198 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7199 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7200 (ata_mod_LDFLAGS): Move from here ...
7201 * conf/i386.rmk: ... to here ...
7202 * conf/x86_64-efi.rmk: ... and here.
7203 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7204 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7205
83bdecaf
RM
72062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7207
7208 Relicense multiboot.h, with RMS' blessing.
7209
7210 * include/multiboot.h: Change to X11 license.
7211
fd6fd3d7
RM
72122009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7213
7214 Support --version in grub-mkisofs.
7215
7216 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7217 (OPTION_VERSION): New macro.
7218 (ld_options): Recognize --version.
7219 (usage): Move `program_name' from here ...
7220 (program_name): ... to here. Add `static' qualifier.
7221 (main): Recognize `OPTION_VERSION'.
7222
16a88c49
FZ
72232009-11-15 Felix Zielcke <fzielcke@z-51.de>
7224
7225 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7226 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7227
a4158476
RM
72282009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7229
7230 Fix help2man generation for mkisofs.
7231
7232 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7233 (usage): Send output to stdout (rather than stderr).
7234
fc2208b0
RM
72352009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7236
7237 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7238 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7239 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7240 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7241 (bin_SCRIPTS): Add `grub-mkfloppy'.
7242 (grub_mkfloppy_SOURCES): New variable.
7243
7244 * util/grub-mkrescue.in: New file.
7245 * util/i386/pc/grub-mkfloppy.in: New file.
7246
7247 * util/i386/coreboot/grub-mkrescue.in: Remove.
7248 * util/i386/pc/grub-mkrescue.in: Remove.
7249
8d0edf4a
RM
72502009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7251
7252 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7253 from here ...
7254 * include/multiboot.h (struct multiboot_header): ... to here. Update
7255 all users.
7256 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7257 from here ...
7258 * include/multiboot.h (struct multiboot_info): ... to here. Update
7259 all users.
7260 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7261 from here ...
7262 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7263 Update all users.
7264 * include/grub/multiboot.h (struct grub_mod_list): Move
7265 from here ...
7266 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7267 Update all users.
7268
a73f5969
RM
72692009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7270
7271 * include/multiboot2.h (multiboot_word): Rename from this ...
7272 (multiboot2_word): ... to this. Update all users.
7273 (multiboot_header): Rename from this ...
7274 (multiboot2_header): ... to this. Update all users.
7275 (multiboot_tag_header): Rename from this ...
7276 (multiboot2_tag_header): ... to this. Update all users.
7277 (multiboot_tag_start): Rename from this ...
7278 (multiboot2_tag_start): ... to this. Update all users.
7279 (multiboot_tag_name): Rename from this ...
7280 (multiboot2_tag_name): ... to this. Update all users.
7281 (multiboot_tag_module): Rename from this ...
7282 (multiboot2_tag_module): ... to this. Update all users.
7283 (multiboot_tag_memory): Rename from this ...
7284 (multiboot2_tag_memory): ... to this. Update all users.
7285 (multiboot_tag_unused): Rename from this ...
7286 (multiboot2_tag_unused): ... to this. Update all users.
7287 (multiboot_tag_end): Rename from this ...
7288 (multiboot2_tag_end): ... to this. Update all users.
7289
1c8927f0
RM
72902009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7291
7292 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7293 this platform we should support Multiboot1 first.
7294
7295 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7296 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7297 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7298
6e1e0d89
RM
72992009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7300
7301 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7302 of write calls (converting them to fwrite() if they aren't already).
7303 (get_torito_desc): Likewise.
7304 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7305
7f2b34d8
RM
73062009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7307
7308 * util/i386/pc/grub-install.in: Move from here ...
7309 * util/grub-install.in: ... to here. Update all users.
7310
c0ef3311
CW
73112009-11-11 Colin Watson <cjwatson@ubuntu.com>
7312
7313 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
7314
e1f240ff
RM
73152009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7316
7317 Support for El Torito without floppy emulation.
7318
7319 * util/mkisofs/eltorito.c: Include `<errno.h>'.
7320 (init_boot_catalog): Improve error handling.
7321 (get_torito_desc): Don't use floppy emulation unless requested by
7322 user. Patch boot information table when requested via
7323 `-boot-info-table'.
7324 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
7325 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
7326 (use_boot_info_table): New variables.
7327 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
7328 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
7329 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
7330 `--eltorito-emul-floppy'.
7331 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
7332 and `OPTION_ELTORITO_EMUL_FLOPPY'.
7333 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
7334 (use_boot_info_table, get_731): New prototypes.
7335 * util/mkisofs/write.c (get_731): New function.
7336
af7d4de5
FZ
73372009-11-11 Felix Zielcke <fzielcke@z-51.de>
7338
7339 Fix the generation of the man page.
7340
7341 * util/pc/i386/grub-install.in: Source
7342 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7343
2c55dbc0
RM
73442009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7345
7346 Large file support for grub-mkisofs.
7347
7348 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
7349 * util/mkisofs/mkisofs.c (next_extent, last_extent)
7350 (session_start): Upgrade type to `uint64_t'. Update all users.
7351 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
7352 (struct directory_entry): Upgrade type of `starting_block' and
7353 `size' to `uint64_t'. Update all users.
7354 (struct deferred): Remove unused structure.
7355 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
7356 Update all users.
7357 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
7358 file is larger than `UINT32_MAX'.
7359 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
7360 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
7361 return value.
7362 (struct deferred_write): Upgrade type of `extent' and `size' to
7363 `uint64_t'. Update all users.
7364 (last_extent_written): Upgrade type to `uint64_t'. Update all
7365 users.
7366 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
7367 Update all users. Upgrade type of `remain' to `int64_t' and
7368 `use' to `size_t'. Use error() to handle fread() errors.
7369 (write_files): Rely on write_one_file() rather than calling
7370 xfwrite() directly.
7371
6a9cead5
FZ
73722009-11-09 Felix Zielcke <fzielcke@z-51.de>
7373
7374 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
7375
4825d790
RM
73762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7377
7378 * util/mkisofs/fnmatch.c: Remove.
7379 * util/mkisofs/getopt1.c: Likewise.
7380 * util/mkisofs/getopt.c: Likewise.
7381 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
7382 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
7383 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
7384 `gnulib/getopt1.c' and `gnulib/getopt.c'.
7385 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
7386
7387 * configure.ac: Detect `mingw32msvc' host_os.
7388 Check for lstat(), getuid() and getgid().
7389
7390 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
7391 instances of `u_char' with `uint8_t'.
7392
7393 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
7394 [!HAVE_GETUID] (getuid): New function (stub).
7395 [!HAVE_GETGID] (getgid): Likewise.
7396 [!HAVE_LSTAT] (lstat): Likewise.
7397 [!S_IROTH] (S_IROTH): New macro (dummy).
7398 [!S_IRGRP] (S_IRGRP): Likewise.
7399
84b860d8
RM
74002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7401
7402 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
7403 conditional expression).
7404
66e9b712
RM
74052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7406
7407 Import from Gnulib.
7408
7409 * gnulib/fnmatch.c: New file.
7410 * gnulib/fnmatch.h: Likewise.
7411 * gnulib/fnmatch_loop.c: Likewise.
7412 * gnulib/getopt.c: Likewise.
7413 * gnulib/getopt.h: Likewise.
7414 * gnulib/getopt1.c: Likewise.
7415 * gnulib/getopt_int.h: Likewise.
7416 * gnulib/gettext.h: Likewise.
7417
34f4a5b0
RM
74182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7419
7420 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
7421 * normal/handler.c (read_handler_list): Likewise.
7422
ac451143
RM
74232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7424
7425 Misc cleanup.
7426
7427 * kern/command.c (grub_register_command_prio): Use
7428 grub_zalloc() instead of explicitly zeroing data.
7429 * kern/list.c: Include `<grub/mm.h>'.
7430 (grub_named_list_find): Replace `0' with `NULL'.
7431 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
7432 (fs_module_list): Change type to `grub_named_list_t'. Update all
7433 users.
7434 * normal/dyncmd.c (read_command_list): Add space between function
7435 call and parenthesis.
7436 * normal/handler.c (read_handler_list): Likewise.
7437
4089b167
RM
74382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7439
7440 * normal/auth.c (punishment_delay): Moved from here ...
7441 (grub_auth_strcmp): ... to here (inside function).
7442
325f5037
RM
74432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7444
7445 * include/grub/list.h (struct grub_named_list): Remove `const'
7446 qualifier from `name'.
7447 (struct grub_prio_list): Likewise.
7448
7aea29a3
RM
74492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7450
7451 * normal/auth.c: Include `<grub/time.h>'.
7452 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
7453
3fd6f044
RM
74542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7455
7456 * normal/auth.c (punishment_delay): New variable.
7457 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
7458 (grub_auth_check_authentication): Punish failed login attempts with
7459 an incremental (2^N) delay.
7460
a4cd68e4
RM
74612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7462
7463 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
7464 path with $(srcdir).
7465
7ad12f43
VS
74662009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
7469
c1129f03
RM
74702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7471
7472 * util/i386/coreboot/grub-mkrescue.in: New file.
7473 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
7474 variables.
7475
7476 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
7477 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
7478 * configure.ac: Add header and function checks to satisfy grub-mkisofs
7479 requirements.
7480 * util/mkisofs/defaults.h: New file.
7481 * util/mkisofs/eltorito.c: Likewise.
7482 * util/mkisofs/exclude.h: Likewise.
7483 * util/mkisofs/fnmatch.c: Likewise.
7484 * util/mkisofs/getopt.c: Likewise.
7485 * util/mkisofs/getopt1.c: Likewise.
7486 * util/mkisofs/hash.c: Likewise.
7487 * util/mkisofs/include/fctldefs.h: Likewise.
7488 * util/mkisofs/include/mconfig.h: Likewise.
7489 * util/mkisofs/include/prototyp.h: Likewise.
7490 * util/mkisofs/include/statdefs.h: Likewise.
7491 * util/mkisofs/iso9660.h: Likewise.
7492 * util/mkisofs/joliet.c: Likewise.
7493 * util/mkisofs/match.c: Likewise.
7494 * util/mkisofs/match.h: Likewise.
7495 * util/mkisofs/mkisofs.c: Likewise.
7496 * util/mkisofs/mkisofs.h: Likewise.
7497 * util/mkisofs/multi.c: Likewise.
7498 * util/mkisofs/name.c: Likewise.
7499 * util/mkisofs/rock.c: Likewise.
7500 * util/mkisofs/tree.c: Likewise.
7501 * util/mkisofs/write.c: Likewise.
7502
ec8bb77d
VS
75032009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
7506 being insecure.
7507
3716b12c
RM
75082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7509
7510 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
7511 `grub-mkimage' (and use $0 when possible).
7512
b97b7b91
RM
75132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7514
7515 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
7516 error message for excessively large memory map.
7517
04114812
RM
75182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7519
7520 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
7521 executable bit.
7522
e4eb2373
RM
75232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7524
7525 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
7526 message for coreboot users.
7527
c926e1d5 75282009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7529
7530 Fix build with GNU gold.
7531
7532 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7533 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7534 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7535 link addresses.
7536 * aclocal.m4: Likewise.
7537
86e5b1db 75382009-11-04 Felix Zielcke <fzielcke@z-51.de>
7539
7540 * configure.ac (AC_PREREQ): Bump to 2.59d.
7541 * INSTALL: Make it more clear when Autoconf and Ruby are
7542 needed and when to run `./autogen.sh'.
7543
246cd78f 75442009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7545
7546 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7547 OSes.
7548
4f9dfb37 75492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7550
7551 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7552
b82bd5e1 75532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7554
7555 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7556 giving it to GNU Mach.
7557
ff1a9bca 75582009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7559
7560 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7561 GNU partition number to get internal GRUB partition number.
7562
61697d9c 75632009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7564
7565 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7566 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7567
a50569e1 75682009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7569
7570 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7571 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7572 case.
7573
5b153867 75742009-11-01 Felix Zielcke <fzielcke@z-51.de>
7575
7576 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7577
d9e2cd70 75782009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7579
7580 Fix build problem.
7581
7582 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7583 `-isystem=$(srcdir)/include'.
7584
805111a4 75852009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7586
7587 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7588 checked (grub-install doesn't currently rely on it).
7589
fa6e945f 75902009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7591
7592 Revert SVN r2660.
7593
7594 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7595 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7596 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7597 * conf/i386-ieee1275.rmk: Likewise.
7598 * conf/i386-pc.rmk: Likewise.
7599 * conf/powerpc-ieee1275.rmk: Likewise.
7600 * conf/sparc64-ieee1275.rmk: Likewise.
7601 * conf/x86_64-efi.rmk: Likewise.
7602
cee15086 76032009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7604
7605 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7606
95b9239e 76072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7608
7609 * include/grub/misc.h: Stop checking for APPLE_CC.
7610
2ed19dfd 76112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7612
7613 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7614 doesn't cause an infinite call loop.
7615
fdcdde19 76162009-10-28 Felix Zielcke <fzielcke@z-51.de>
7617
7618 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7619 strings.
7620
cefabfe1 76212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7622
7623 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7624 variable.
7625 * Makefile.in: Likewise.
7626
ed96ab6d 76272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7628
7629 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7630
0579b753 76312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7632
7633 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7634
478df409 76352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7636
7637 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7638
083d1679 76392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7640
7641 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7642 from here ...
7643 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7644
5947ae32 76452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7646
7647 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7648 in $(MAKEINFO) invocation. This makes it clear in output that
7649 errors are being ignored.
7650
94180ff6 76512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7652
7653 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7654 from here ...
7655 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7656 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7657 * conf/i386-ieee1275.rmk: Likewise.
7658 * conf/i386-pc.rmk: Likewise.
7659 * conf/powerpc-ieee1275.rmk: Likewise.
7660 * conf/sparc64-ieee1275.rmk: Likewise.
7661 * conf/x86_64-efi.rmk: Likewise.
7662
9031b03a 76632009-10-26 Colin Watson <cjwatson@ubuntu.com>
7664
7665 * util/grub-editenv.c (main): If only a command is given, use
7666 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7667 (usage): FILENAME is now optional and has a default.
7668
e4f6809b 76692009-10-26 Colin Watson <cjwatson@ubuntu.com>
7670
7671 Improve grub-mkconfig performance when there are several menu
7672 entries on a single filesystem.
7673
7674 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7675 prepare_grub_to_access_device.
7676 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7677 * util/grub.d/30_os-prober.in: Likewise.
7678
67937d4d 76792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7680
7681 * util/grub.d/10_freebsd.in: Remove.
7682 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7683 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7684
ee3756cc 76852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7686
5c35048e 7687 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 7688
4dea1c6f 76892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7690
7691 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7692 grub_util_error() call.
7693
042484d7 76942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7695
7696 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7697 `reserved_first_sector' member.
7698 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7699 `reserved_first_sector' to 1.
7700 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7701 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7702 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7703 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7704 filesystems which begin at first sector.
7705 (options): New option --skip-fs-probe.
7706 (main): Handle --skip-fs-probe and pass it to setup().
7707
d64448a7 77082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7709
7710 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7711 (memset): Fix function prototype.
7712
508d42ec 77132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
77142009-10-25 Vasily Averin <vvs@parallels.com>
7715
7716 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7717 `dirent.direntlen == 0'.
7718
b240e30c 77192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7720
7721 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7722 `cpio'.
7723 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7724
346e7fbe 77252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7726
7727 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7728 `__trampoline_setup' and `__ucmpdi2'.
7729 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7730 that libgcc provides.
7731
cdb308b0 77322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7733
7734 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7735 * include/grub/sparc64/libgcc.h (memset): Likewise.
7736 * include/grub/misc.h (memset, memcmp): New function prototypes.
7737
fb26abc2 77382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7739
7740 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7741 `cpio'.
7742 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7743
f6693890 77442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7745
7746 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7747 * docs/grub.cfg: Compensate for recent change in multiboot
7748 loader (since 2009-08-14 it won't pass filename to payload).
7749 * util/grub.d/10_hurd.in: Likewise.
7750
0933cdc0 77512009-10-21 Felix Zielcke <fzielcke@z-51.de>
7752
7753 * config.guess: Update to latest version from config git
7754 repository.
7755 * config.sub: Likewise.
7756
3b2fe8c2 77572009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7758
7759 Fix build on sparc64.
7760
7761 * configure.ac: Perform checks for libgcc symbols before
7762 adding `-nostdlib' to LDFLAGS.
7763
46695a62 77642009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 Let user specify OpenBSD root device.
7767
7768 * loader/i386/bsd.c (openbsd_root): New variable.
7769 (openbsd_opts): New option 'root'.
7770 (OPENBSD_ROOT_ARG): New macro.
7771 (grub_openbsd_boot): Use 'openbsd_root'.
7772 (grub_cmd_openbsd): Fill 'openbsd_root'.
7773
d2b6b7fc 77742009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7775
7776 * NEWS: Misc adjustments.
7777
421bd7ac 77782009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
7781
f1d29d87 77822009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7783
7784 * configure.ac: Bump version to 1.97.
7785
6f3cd880 77862009-10-16 Colin Watson <cjwatson@ubuntu.com>
7787
7788 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
7789 -mno-3dnow on x86 architectures. Some toolchains enable these
7790 features by default, but they rely on registers that aren't enabled
7791 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
7792
035f7122 77932009-10-15 Robert Millan <rmh.grub@aybabtu.com>
7794
7795 Make entry text a bit more readable.
7796
7797 * util/grub.d/10_linux.in: Add `with' before `Linux'.
7798
44998e58 77992009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
7802
cd2851b3 78032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
7806 operations.
7807
c6f3b249 78082009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 * configure.ac: Add missing dollar.
7811
6b5886ba 78122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
7815
7816 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
7817 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
7818 exports.
7819 * include/grub/sparc64/libgcc.h: Likewise. Use
7820 preprocessor conditionals.
7821
e9d66f6d 78222009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7823
7824 * conf/common.rmk (grub-dumpbios): Remove rule.
7825 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
7826 * util/grub-dumpbios.in: Remove file.
7827
9155bc17 78282009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7829
7830 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
7831 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
7832
7833 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
7834 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
7835 users.
7836
7837 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
7838 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
7839 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
7840 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
7841 users.
7842
bf7f7a18 78432009-10-12 Robert Millan <rmh.grub@aybabtu.com>
7844
7845 * term/tparm.c: Switch to GPLv3.
7846
86564c26 78472009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7848
7849 * include/grub/i386/cpuid.h: Add header protection.
7850
5c936493 78512009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7852
7853 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
7854
7855 * include/grub/i386/cpuid.h: New file.
7856 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
7857 (has_longmode): Rename to ...
7858 (grub_cpuid_has_longmode): ... this. Update all users. Remove
7859 `static' attribute.
7860 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
7861 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
7862 on a CPU that doesn't implement AMD64 instruction set.
7863
186e7cf2 78642009-10-06 Colin Watson <cjwatson@ubuntu.com>
7865
7866 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
7867 that version.texi is rebuilt on version number changes.
7868
83b65c4a 78692009-10-06 Colin Watson <cjwatson@ubuntu.com>
7870
7871 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
7872 Fixes bug #27602.
7873
d244281c 78742009-10-06 Colin Watson <cjwatson@ubuntu.com>
7875
7876 * util/i386/pc/grub-install.in: Source
7877 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
7878 that the --grub-probe option will work.
7879 * util/sparc64/ieee1275/grub-install.in: Likewise.
7880
da25306d 78812009-10-05 Robert Millan <rmh.grub@aybabtu.com>
7882
7883 * configure.ac: Bump version to 1.97~beta4.
7884
e8ee83c0 78852009-10-03 Robert Millan <rmh.grub@aybabtu.com>
7886
7887 Resync grub-mkdevicemap in x86_64-efi.
7888
7889 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
7890 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
7891 `util/devicemap.c'.
7892
50dcabcf 78932009-10-01 Colin Watson <cjwatson@ubuntu.com>
7894
7895 * util/grub-editenv.c (create_envblk_file): Write new block with a
7896 .new suffix and then rename it into place, to ensure atomic
7897 creation.
7898
0e51c3a7 78992009-09-28 Robert Millan <rmh.grub@aybabtu.com>
7900
7901 Do not automatically install headers.
7902
7903 * Makefile.in (include_DATA): Remove. Update all users.
7904
31299a95 79052009-09-26 Robert Millan <rmh.grub@aybabtu.com>
7906
7907 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
7908 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
7909
7910 * util/osdetect.lua: Remove.
7911 * script/lua/lauxlib.c: Likewise.
7912 * script/lua/ldebug.c: Likewise.
7913 * script/lua/grub_main.c: Likewise.
7914 * script/lua/lauxlib.h: Likewise.
7915 * script/lua/ldebug.h: Likewise.
7916 * script/lua/ltablib.c: Likewise.
7917 * script/lua/liolib.c: Likewise.
7918 * script/lua/lstrlib.c: Likewise.
7919 * script/lua/lualib.h: Likewise.
7920 * script/lua/ldo.c: Likewise.
7921 * script/lua/ldump.c: Likewise.
7922 * script/lua/ldo.h: Likewise.
7923 * script/lua/loslib.c: Likewise.
7924 * script/lua/lundump.c: Likewise.
7925 * script/lua/grub_lib.c: Likewise.
7926 * script/lua/ldblib.c: Likewise.
7927 * script/lua/lundump.h: Likewise.
7928 * script/lua/lmem.c: Likewise.
7929 * script/lua/grub_lib.h: Likewise.
7930 * script/lua/lmathlib.c: Likewise.
7931 * script/lua/lstate.c: Likewise.
7932 * script/lua/ltm.c: Likewise.
7933 * script/lua/lvm.c: Likewise.
7934 * script/lua/lmem.h: Likewise.
7935 * script/lua/lstate.h: Likewise.
7936 * script/lua/ltm.h: Likewise.
7937 * script/lua/ltable.c: Likewise.
7938 * script/lua/lvm.h: Likewise.
7939 * script/lua/llex.c: Likewise.
7940 * script/lua/lgc.c: Likewise.
7941 * script/lua/grub_lua.h: Likewise.
7942 * script/lua/loadlib.c: Likewise.
7943 * script/lua/lfunc.c: Likewise.
7944 * script/lua/lopcodes.c: Likewise.
7945 * script/lua/lparser.c: Likewise.
7946 * script/lua/ltable.h: Likewise.
7947 * script/lua/llex.h: Likewise.
7948 * script/lua/lgc.h: Likewise.
7949 * script/lua/lfunc.h: Likewise.
7950 * script/lua/lbaselib.c: Likewise.
7951 * script/lua/lopcodes.h: Likewise.
7952 * script/lua/lparser.h: Likewise.
7953 * script/lua/lzio.c: Likewise.
7954 * script/lua/linit.c: Likewise.
7955 * script/lua/lobject.c: Likewise.
7956 * script/lua/llimits.h: Likewise.
7957 * script/lua/lstring.c: Likewise.
7958 * script/lua/lzio.h: Likewise.
7959 * script/lua/lapi.c: Likewise.
7960 * script/lua/lcode.c: Likewise.
7961 * script/lua/lua.h: Likewise.
7962 * script/lua/lobject.h: Likewise.
7963 * script/lua/lstring.h: Likewise.
7964 * script/lua/lapi.h: Likewise.
7965 * script/lua/lcode.h: Likewise.
7966 * script/lua/luaconf.h: Likewise.
7967
cb8a2c38 79682009-09-26 Colin Watson <cjwatson@ubuntu.com>
7969
7970 * docs/grub.texi (Command-line and menu entry commands): Document
7971 date and echo commands.
7972
6b9b6276 79732009-09-24 Pavel Roskin <proski@gnu.org>
7974
7975 * include/grub/kernel.h (struct grub_module_header): Remove
7976 `grub_module_header_types'. Make `type' unsigned. Make `size'
7977 32-bit on all platforms.
7978 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
7979 8-bit field. Use grub_host_to_target32() for `size'.
7980 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
7981 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
7982 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
7983
4e5a02a7 79842009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7985
7986 Fix "lost keypress" bug in at_keyboard.
7987
7988 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
7989 Checks for readyness of input buffer (without flushing it).
7990 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
7991 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
7992
c6dcedf6 79932009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7994
7995 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
7996 size check within GRUB_MACHINE_PCBIOS section.
7997
74c958b1 79982009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7999
8000 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8001 return value.
8002 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8003 KEYBOARD_ISREADY check.
8004 (grub_at_keyboard_checkkey): Rename to ...
8005 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8006 Remove gratuitous cast.
8007
ff420223 80082009-09-23 Colin Watson <cjwatson@ubuntu.com>
8009
8010 * configure.ac: Call AC_PROG_MKDIR_P.
8011 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8012 version.texi in $(builddir) rather than $(srcdir).
8013 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8014 to makeinfo's @include search path.
8015
d96875df 80162009-09-23 Felix Zielcke <fzielcke@z-51.de>
8017
8018 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8019
9b3f8365 80202009-09-23 Felix Zielcke <fzielcke@z-51.de>
8021
8022 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8023 for `*.dpkg-new'.
8024
c44c90db 80252009-09-21 Colin Watson <cjwatson@ubuntu.com>
8026
8027 Build info documentation. Some code borrowed from Automake.
8028
8029 * configure.ac: Check for makeinfo.
8030 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8031 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8032 docs/version.texi.
8033 (MOSTLYCLEANFILES): Add vti.tmp.
8034 (docs/version.texi, docs/stamp-vti): Update automatically.
8035 (docs/grub.info): Build info documentation. Use --force and ignore
8036 errors for now.
8037 (all-local): Add $(INFOS).
8038 (install-local): Install info files.
8039 (uninstall): Uninstall info files.
8040 * docs/version.texi: Remove from revision control. This file is
8041 automatically generated on build now.
8042 * gendistlist.sh: Add `*.info'.
8043
e0b37bb5 80442009-09-21 Felix Zielcke <fzielcke@z-51.de>
8045
8046 * kern/term.c: Fix indentation.
8047
5a78865b 80482009-09-21 Felix Zielcke <fzielcke@z-51.de>
8049
8050 * util/hostdisk.c: Fix a comment.
8051
dace7e8a 80522009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8053
8054 Fix regression introduced in r2539.
8055
8056 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8057 to 0xA1.
8058
a83d079b 80592009-09-19 Colin Watson <cjwatson@ubuntu.com>
8060
8061 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 8062 os-prober. Under normal operation, it does not print anything to
8063 stderr; if it does, we need to debug it, and throwing away stderr
8064 makes that excessively difficult.
a83d079b 8065
be94a509 80662009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8069
63f745e8 80702009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8071
8072 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8073 AC_LANG_PROGRAM from autoconf.
8074 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8075 prototypes (fixes warning).
8076
8077 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8078 `--disable-werror' was used.
8079
bbb2a70f 80802009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8081
8082 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8083 uninitialized `lastaddr'.
8084
77c24f1d 80852009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8086
0f0b8c87 8087 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 8088
07197f23 80892009-09-14 Colin Watson <cjwatson@ubuntu.com>
8090
8091 * commands/test.c (get_fileinfo): Return immediately if
8092 grub_fs_probe fails.
8093
dabf1798 80942009-09-14 José Martínez <xosemp@gmail.com>
8095
8096 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8097
d52109a7 80982009-09-14 Colin Watson <cjwatson@ubuntu.com>
8099
8100 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8101 output.
8102
56532179 81032009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8104
8105 * configure.ac: Remove --enable-grub-pe2elf. Only build
8106 grub-pe2elf when needed by the build system itself.
8107 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8108
8ef070f5 81092009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8110
8111 * configure.ac: Bump version to 1.97~beta3.
8112 * docs/version.texi: Likewise.
8113
61229557 81142009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8115
8116 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8117 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8118 from here ...
8119 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8120 (grub_linux_setup_video): ... to here (with some adjustments).
8121
5c9f8d84 81222009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8123
8124 Fix memory corruption issue (spotted by Colin Watson).
8125
8126 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
8127 causing returned size to be stored in an incorrect memory location.
8128 Fix use of uninitialized value when storing the returned size.
8129
e8f5d6e9 81302009-09-12 Yves Blusseau <blusseau@zetam.org>
8131
8132 Change clean rules to properly remove files
8133
8134 * genmk.rb: add new clean rules
8135 * Makefile.in (clean): add the new targets
8136 (mostlyclean): likewise
8137
cda2a409 81382009-09-11 Colin Watson <cjwatson@ubuntu.com>
8139
8140 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
8141 to grub_uint64_t.
8142 * fs/ntfs.c (init_file): Understand 64-bit sizes for
8143 non-resident files.
8144
86695375 81452009-09-11 Colin Watson <cjwatson@ubuntu.com>
8146
8147 * configure.ac: Don't look for help2man when cross-compiling. Fixes
8148 part of bug #27349.
8149
8aa1541a 81502009-09-10 Felix Zielcke <fzielcke@z-51.de>
8151
8152 * util/grub-mkconfig.in: Make the created config mode 400 and
8153 print a warning if it fails.
8154
48d9bb0a 81552009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8156
8157 * util/grub.d/40_custom.in: Ask user to type custom entries below
8158 comment, rather than below 'exec tail' line.
8159
3b0521be 81602009-09-10 Colin Watson <cjwatson@ubuntu.com>
8161
8162 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8163 visible in grub.cfg.
8164
50051d55 81652009-09-10 Colin Watson <cjwatson@ubuntu.com>
8166
8167 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8168 file.
8169
c0d34387 81702009-09-10 Felix Zielcke <fzielcke@z-51.de>
8171
8172 * docs/grub.cfg: Add an example menu entry for memtest86+.
8173
80a608f3 81742009-09-09 Felix Zielcke <fzielcke@z-51.de>
8175
a2094832 8176 * config.guess: Update to latest version from config git.
80a608f3 8177 * config.sub: Likewise.
8178
99423078 81792009-09-08 Colin Watson <cjwatson@ubuntu.com>
8180
8181 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8182 unknown-command case. Fixes bug #27320.
8183
44454e4c 81842009-09-08 Felix Zielcke <fzielcke@z-51.de>
8185
8186 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8187 `help' if the command exists.
8188
e30d87ad 81892009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8190
8191 * INSTALL: Require GCC 4.1.3 or later.
8192
9a86f1ec 81932009-09-06 Yves Blusseau <blusseau@zetam.org>
8194
8195 * Makefile.in (RMKFILES): add i386-qemu.rmk
8196 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8197 $(srcdir)/stamp-h.in
8198
7f26d466 81992009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8200
8201 * util/grub-probe.c (probe): Comment out buggy codepath, which
8202 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8203 should be re-enabled after 1.97.
8204
3a613259 82052009-09-05 Felix Zielcke <fzielcke@z-51.de>
8206
8207 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8208 find searches for.
8209
197f76c7 82102009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8213 unnecessary calls to grub_error.
8214
70ba68ce 82152009-09-04 Colin Watson <cjwatson@ubuntu.com>
8216
8217 * NEWS: Mention `keystatus' and Unicode fonts.
8218
4ff0d7a4 82192009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8220
8221 * configure.ac: Bump version to 1.97~beta2.
8222 * docs/version.texi: Likewise.
8223
77c55a87 82242009-09-03 Colin Watson <cjwatson@ubuntu.com>
8225
8226 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8227 containing unwind information in some cases where it previously did
8228 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8229 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8230 discussion.
8231
f79572cd 82322009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8233
8234 Embedding loadenv module into grub-emu
8235
8236 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8237 commands/loadenv.c
8238 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8239 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8240 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8242 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8243 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8244
93a81088 82452009-09-03 Magnus Granberg <zorry@ume.nu>
8246
8247 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8248 include -fPIE in the default specs.
8249 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8250 to TARGET_CFLAGS.
8251
160034b2 82522009-09-03 Felix Zielcke <fzielcke@z-51.de>
8253
8254 * INSTALL: Note that GNU Bison 2.3 or later is required.
8255
087c07c4 82562009-09-03 Colin Watson <cjwatson@ubuntu.com>
8257
8258 * kern/i386/pc/startup.S: Fix typo.
8259
cbf978c0 82602009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8263 according to GCS.
8264
82652009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 8266
8267 * docs/grub.texi (Naming convention): Describe one-based partition
8268 numbering.
8269 (Device syntax): Likewise.
8270 (File name syntax): Likewise.
8271 (Block list syntax): Likewise.
8272 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8273 menu.lst.
8274 (File name syntax): Likewise.
8275 (Command-line and menu entry commands): Document acpi, blocklist,
8276 crc, export, insmod, keystatus, ls, set, and unset commands.
8277
f3e8cdfd 82782009-09-02 Colin Watson <cjwatson@ubuntu.com>
8279
8280 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8281 to avoid implying that only one of --shift, --ctrl, or --alt may be
8282 used.
8283
c0bc232b 82842009-09-02 Colin Watson <cjwatson@ubuntu.com>
8285
8286 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8287 rather than comparing against S_IFREG, which will almost never work.
8288
aa0f752d 82892009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8292 (write_blocklists): Likewise.
8293
ecb3166a 82942009-09-01 Colin Watson <cjwatson@ubuntu.com>
8295
8296 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8297 argument to grub_printf.
8298
c403a125 82992009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 8300
8301 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 8302 non GNU test.
31aba781 8303
b5e7312c 83042009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * kern/file.c (grub_file_read): Spelling fix
8307
fe00f472 83082009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
8311 loading of headers in some cases.
8312
cc55302e 83132009-08-30 Robert Millan <rmh.grub@aybabtu.com>
8314
8315 * configure.ac: Bump version to 1.97~beta1.
8316 * docs/version.texi: Likewise.
8317
5c90cdd2 83182009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 8319
8320 * include/grub/i386/xnu.h: Add license header.
8321 include grub/err.h explicitly.
8322
c90edae4 83232009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8324
8325 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
8326 to `ufs' in the vfs.root.mountfrom kernel parameter.
8327
d8888b5c 83282009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8329
8330 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
8331
8332 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
8333 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
8334
8335 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
8336 `ARRAY_SIZE' macro.
8337
6f07b921 83382009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * kern/file.c (grub_file_read): Check offset.
8341 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
8342 * fs/jfs.c (grub_jfs_read_file): Likewise.
8343 * fs/ntfs.c (grub_ntfs_read): Likewise.
8344 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
8345 * fs/minix.c (grub_minix_read_file): Correct offset check.
8346 * fs/ufs.c (grub_ufs_read_file): Likewise.
8347
b4f34077 83482009-08-28 Colin Watson <cjwatson@ubuntu.com>
8349
8350 * term/i386/pc/console.c (bios_data_area): Cast
8351 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
8352
e7c69859 83532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 1-bit optimised blitters.
8356
8357 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
8358 prototype.
8359 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8360 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8361 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8362 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8363 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8364 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8365 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
8366 function.
8367 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8368 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8369 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8370 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8371 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8372 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8373 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
8374 when possible.
8375 * video/video.c (grub_video_get_blit_format): Return
8376 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
8377
a57da43f 83782009-08-28 Colin Watson <cjwatson@ubuntu.com>
8379
8380 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
8381 the first argument to grub_printf.
8382
4cbe67e5 83832009-08-28 Colin Watson <cjwatson@ubuntu.com>
83842009-08-28 Robert Millan <rmh.grub@aybabtu.com>
8385
8386 Add `getkeystatus' terminal method. Add a new `keystatus' command
8387 to query it.
8388
8389 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
8390 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
8391 modifier key bitmasks.
8392 (struct grub_term_input): Add `getkeystatus' member.
8393 (grub_getkeystatus): Add prototype.
8394 * kern/term.c (grub_getkeystatus): New function.
8395
8396 * include/grub/i386/pc/memory.h
8397 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
8398 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
8399 Data Area layout.
8400 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
8401 (grub_console_term_input): Set `getkeystatus' member.
8402 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
8403 constants.
8404 (grub_usb_keyboard_getreport): Likewise.
8405 (grub_usb_keyboard_checkkey): Likewise.
8406 (grub_usb_keyboard_getkeystatus): New function.
8407 (grub_usb_keyboard_term): Set `getkeystatus' member.
8408
8409 * commands/keystatus.c: New file.
8410 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
8411 (keystatus_mod_SOURCES): New variable.
8412 (keystatus_mod_CFLAGS): Likewise.
8413 (keystatus_mod_LDFLAGS): Likewise.
8414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
8415 commands/keystatus.c.
8416 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8417 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8418 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8420 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8421 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 8422
6e2a9085 84232009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Split befs.mod and afs.mod into *_be.mod and *.mod
8426
8427 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
8428 (grub_fstest_SOURCES): Likewise.
8429 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
8430 (afs_be_mod_SOURCES): New variable.
8431 (afs_be_mod_CFLAGS): Likewise.
8432 (afs_be_mod_LDFLAGS): Likewise.
8433 (befs_be_mod_SOURCES): Likewise.
8434 (befs_be_mod_CFLAGS): Likewise.
8435 (befs_be_mod_LDFLAGS): Likewise.
8436 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
8437 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8438 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8439 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8440 (grub_emu_SOURCES): Likewise.
8441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8442 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8443 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8444 * fs/afs_be.c: New file.
8445 * fs/befs_be.c: New file.
8446 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
8447 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
8448 (U16): Replaced with ...
8449 (grub_afs_to_cpu16): ...this. All users updated.
8450 (U32): Replaced with ...
8451 (grub_afs_to_cpu32): ...this. All users updated.
8452 (U64): Replaced with ...
8453 (grub_afs_to_cpu64): ...this. All users updated.
8454 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
8455 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 8456 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 8457 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8458 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8459 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8460 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8461 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8462 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8463 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8464 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8465
32a71655 84662009-08-26 Bean <bean123ch@gmail.com>
8467
8468 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
8469 64-bit number.
8470 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8471 (grub_xfs_inode_block): Change return type to grub_uint64_t.
8472 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
8473
552bf6c5 84742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 NetBSD memory map support.
8477
8478 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
8479 (grub_netbsd_btinfo_mmap_header): New structure.
8480 (grub_netbsd_btinfo_mmap_entry): Likewise.
8481 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
8482
1ae2078c 84832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 Enable bsd.mod on coreboot.
8486
8487 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
8488 (bsd_mod_SOURCES): New variable.
8489 (bsd_mod_CFLAGS): Likewise.
8490 (bsd_mod_LDFLAGS): Likewise.
8491 (bsd_mod_ASFLAGS): Likewise.
8492 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
8493 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
8494
beefc598 84952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 Cleanup NetBSD root support.
8498
8499 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
8500 grub_bsd_get_device.
8501 Fix typo.
8502
3b76e68b 85032009-08-25 Felix Zielcke <fzielcke@z-51.de>
8504
8505 * util/grub.d/00_header.in: Move check for the video backend of
8506 gfxterm from here ...
8507 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
8508 a suitable video backend.
8509
aea664ea 85102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 Fix breakage in grub-setup.
8513
8514 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
8515 "msdos_partition_map".
8516
ff747d50 85172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 Fix breakage in normal/auth.c.
8520
8521 * normal/auth.c (grub_iswordseparator): New function.
8522
e7e1f93f 85232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 Authentication support.
8526
8527 * commands/password.c: New file.
8528 * conf/common.rmk (pkglib_MODULES): Add password.mod.
8529 (password_mod_SOURCES): New variable.
8530 (password_mod_CFLAGS): Likewise.
8531 (password_mod_LDFLAGS): Likewise.
8532 (normal_mod_SOURCES): Add normal/auth.c.
8533 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8534 normal/auth.c.
8535 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8536 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8537 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8539 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8540 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8541 * include/grub/auth.h: New file.
8542 * include/grub/err.h (grub_err_t): New enum value
8543 GRUB_ERR_ACCESS_DENIED.
8544 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8545 'users'.
8546 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8547 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8548 users updated.
8549 * normal/auth.c: New file.
8550 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8551 (grub_cmdline_run): Don't allow to go to command line without
8552 authentication.
8553 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8554 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8555 menuentry without superuser rights.
8556 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8557 user isn't a superuser.
8558
70f1161d 85592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 Save space by inlining misc.c functions.
8562
8563 * kern/misc.c (grub_iswordseparator): Made static.
8564 * kern/misc.c (grub_strcat): Moved from here ...
8565 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8566 * kern/misc.c (grub_strncat): Moved from here ...
8567 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8568 * kern/misc.c (grub_strcasecmp): Moved from here ...
8569 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8570 * kern/misc.c (grub_strncasecmp): Moved from here ...
8571 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8572 * kern/misc.c (grub_isalpha): Moved from here ...
8573 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8574 * kern/misc.c (grub_isdigit): Moved from here ...
8575 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8576 * kern/misc.c (grub_isgraph): Moved from here ...
8577 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8578 * kern/misc.c (grub_tolower): Moved from here ...
8579 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8580
48e40bff 85812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * script/sh/function.c (grub_script_function_find): Cut error message
8584 not to flood terminal.
8585 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8586 limit.
8587 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8588
c385bfc3 85892009-08-24 Colin Watson <cjwatson@ubuntu.com>
8590
8591 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8592 `report' grub_uint8_t *.
8593 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8594 Use a 50-millisecond timeout rather than just repeating
8595 grub_usb_keyboard_getreport 50 times.
8596 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8597
2d21e3e8 85982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 Rename *_partition_map to part_*
8601
8602 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8603 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8604 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8605 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8606 All users updated.
8607 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8608 All users updated.
8609 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8610 * util/grub-probe.c (probe_partmap): Don't transform partition name
8611 to get module name.
8612
dd103c4e 86132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 Fix OpenBSD and NetBSD support.
8616
8617 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8618 memory address conflict.
8619 (OPENBSD_MMAP_ACPI): New definition.
8620 (OPENBSD_MMAP_NVS): Likewise.
8621 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8622 and OPENBSD_MMAP_NVS.
8623 Add memory map terminator
8624 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 8625 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 8626
16c84d74 86272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 Let user specify NetBSD root device.
8630
8631 * loader/i386/bsd.c (netbsd_root): New variable.
8632 (netbsd_opts): New option 'root'.
8633 (NETBSD_ROOT_ARG): New macro.
8634 (grub_netbsd_boot): Use 'netbsd_root'.
8635 (grub_bsd_unload): Free 'netbsd_root'.
8636 (grub_cmd_netbsd): Fill 'netbsd_root'.
8637
adb29902 86382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 Support for 64-bit NetBSD.
8641
8642 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8643 point when booting non-FreeBSD.
8644
f5ae9f74 86452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 Support --no-smp and --no-acpi for NetBSD.
8648
8649 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8650 (NETBSD_AB_NOACPI): Likewise.
8651 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8652 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8653
de74f136 86542009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8657 errors.
8658 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8659 errors. Call grub_error when needed.
8660
e9a925da 86612009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * commands/search.c (search_fs): Try searching without autoload first.
8664 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8665 filesystem module explicitly for faster booting.
8666
5174302b 86672009-08-23 Colin Watson <cjwatson@ubuntu.com>
8668
8669 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8670
c8c80635 86712009-08-23 Colin Watson <cjwatson@ubuntu.com>
8672
8673 * util/grub.d/30_os-prober.in: Disable os-prober if
8674 `GRUB_DISABLE_OS_PROBER' was set to true.
8675
71acf5e5 86762009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8677
8678 * partmap/pc.c: Rename to ...
8679 * partmap/msdos.c: ... this. Update all users.
8680 (grub_pc_partition_map): Rename to ...
8681 (grub_msdos_partition_map): ... this. Update all users.
8682
8683 * parttool/pcpart.c: Rename to ...
8684 * parttool/msdospart.c: ... this. Update all users.
8685
8686 * include/grub/pc_partition.h: Rename to ...
8687 * include/grub/msdos_partition.h: ... this. Update all users.
8688 (grub_pc_partition_bsd_entry): Rename to ...
8689 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8690 (grub_pc_partition_disk_label): Rename to ...
8691 (grub_msdos_partition_disk_label): ... this. Update all users.
8692 (grub_pc_partition_entry): Rename to ...
8693 (grub_msdos_partition_entry): ... this. Update all users.
8694 (grub_pc_partition_mbr): Rename to ...
8695 (grub_msdos_partition_mbr): ... this. Update all users.
8696 (grub_pc_partition): Rename to ...
8697 (grub_msdos_partition): ... this. Update all users.
8698 (grub_pc_partition_is_empty): Rename to ...
8699 (grub_msdos_partition_is_empty): ... this. Update all users.
8700 (grub_pc_partition_is_extended): Rename to ...
8701 (grub_msdos_partition_is_extended): ... this. Update all users.
8702 (grub_pc_partition_is_bsd): Rename to ...
8703 (grub_msdos_partition_is_bsd): ... this. Update all users.
8704
8705 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8706 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8707 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8708 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8709 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8710 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8711 (gpt_mod_LDFLAGS): Rename to ...
8712 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8713 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8714 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8715 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8716 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8717 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8718 (part_gpt_mod_LDFLAGS): ... this.
8719 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8720 `pcpart.mod' to `msdospart.mod'.
8721 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8722 to ...
8723 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8724 (msdospart_mod_LDFLAGS): ... this.
8725
c11fded5 87262009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8729 (openbsd_opts): Likewise.
8730 (netbsd_opts): Likewise.
8731 (freebsd_flags): Added 0 terminator.
8732 (openbsd_flags): Likewise.
8733 (netbsd_flags): Likewise.
8734 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8735 (grub_cmd_freebsd): Transformed into extended command.
8736 (grub_cmd_openbsd): Likewise.
8737 (grub_cmd_netbsd): Likewise.
8738 (cmd_freebsd): Changed type to grub_extcmd_t.
8739 (cmd_openbsd): Likewise.
8740 (cmd_netbsd): Likewise.
8741 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8742 grub_cmd_openbsd as extended commands.
8743 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8744 cmd_netbsd and cmd_openbsd
8745
11d1c769 87462009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8749
7a9094e5 87502009-08-21 Pavel Roskin <proski@gnu.org>
8751
5496c37e 8752 * Makefile.in (install-local): When checking if a file is in the
8753 build directory, use "test -e" to detect symlinks.
8754
7a9094e5 8755 * Makefile.in (install-local): Remove all files in
8756 $(DESTDIR)$(pkglibdir) before installing new files there.
8757
e53cea11 87582009-08-18 Felix Zielcke <fzielcke@z-51.de>
8759
8760 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8761 grub-mkelfimage.
8762
9aced544 87632009-08-18 Felix Zielcke <fzielcke@z-51.de>
8764
8765 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8766 explicitly specified by the user.
8767
b7da6bab 87682009-08-18 Pavel Roskin <proski@gnu.org>
8769
8770 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8771 grub_uint8_t pointer for data.
8772 * include/grub/fbutil.h (struct grub_video_fbblit_info):
8773 Likewise.
8774 * video/fb/fbutil.c: Remove unnecessary casts.
8775
19f1b335 87762009-08-17 Michal Suchanek <hramrach@centrum.cz>
8777
8778 VBE cleanup.
8779
8780 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
8781 (grub_vbe_set_video_mode): Save active mode info
8782 only after setting the mode.
8783 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
8784 second argument.
8785
2f467aa9 87862009-08-17 Michal Suchanek <hramrach@centrum.cz>
8787
8788 Rename variables for clarity.
8789
8790 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
8791 (active_vbe_mode_info): ... this. All users updated.
8792 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
8793 All users updated.
8794 (initial_mode): Rename to ...
8795 (initial_vbe_mode): ... this. All users updated.
8796 (mode_in_use): Rename to ..
8797 (vbe_mode_in_use): ... this. All users updated.
8798 (mode_list): Rename to ..
8799 (vbe_mode_list): ... this. All users updated.
8800 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
8801 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
8802 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
8803 'mode_list_size' to 'vbe_mode_list_size'.
8804 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
8805 'best_mode_info' to 'best_vbe_mode_info' and
8806 'best_mode' to 'best_vbe_mode'
8807
6025fcd7 88082009-08-17 Michal Suchanek <hramrach@centrum.cz>
8809
8810 Remove duplicate grub_video_fb_get_video_ptr.
8811
8812 * include/grub/fbutil.h (get_data_ptr): Rename to ...
8813 (grub_video_fb_get_video_ptr): ... this.
8814 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
8815 * video/fb/fbutil.c: Add comment about addressing.
8816 (get_data_ptr): Rename to ...
8817 (grub_video_fb_get_video_ptr): ... this. All users updated.
8818 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
8819
cc8c6faf 88202009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8821
8822 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
8823 grub_dprintf() that was just added.
8824
08aa61f0 88252009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8826
8827 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
8828 (DEFAULT_VIDEO_MODE): Remove macros.
8829 (grub_linux_boot): Remove assumption that Linux has FB support,
8830 and use "text" as default video mode.
8831
7cef4f75 88322009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
8835 grub_dprintf.
8836 * fs/fat.c (grub_fat_read_data): Likewise.
8837
e1f39873 88382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
8841 payload.
8842 (grub_module): Likewise.
8843
c166d79e 88442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
8847 mbi->cmdline but free playground.
8848
c60cee8e 88492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 Handle group offset on UFS1.
8852
8853 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
8854 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
8855
c0d8b5d4 88562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Split ufs.mod into ufs1.mod and ufs2.mod.
8859
8860 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
8861 (grub_fstest_SOURCES): Likewise.
8862 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
8863 (ufs_mod_SOURCES): Remove.
8864 (ufs_mod_CFLAGS): Likewise.
8865 (ufs_mod_LDFLAGS): Likewise.
8866 (ufs1_mod_SOURCES): New variable.
8867 (ufs1_mod_CFLAGS): Likewise.
8868 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 8869 (ufs2_mod_SOURCES): New variable.
8870 (ufs2_mod_CFLAGS): Likewise.
8871 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 8872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
8873 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8874 Likewise.
8875 (grub_emu_SOURCES): Likewise.
8876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8877 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8878 (grub_setup_SOURCES): Likewise.
8879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8880 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
8881 (grub_setup_SOURCES): Likewise.
8882 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8883 Likewise.
8884 * fs/ufs2.c: New file.
8885 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
8886
d3539132 88872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 Framebuffer split.
8890
8891 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
8892 subsystem at the end.
8893 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
8894 (video_fb_mod_SOURCES): New variable.
8895 (video_fb_mod_CFLAGS): Likewise.
8896 (video_fb_mod_LDFLAGS): Likewise.
8897 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
8898 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
8899 * video/i386/pc/vbeblit.c: Moved from here ...
8900 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
8901 * video/i386/pc/vbefill.c: Moved from here ...
8902 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
8903 * video/i386/pc/vbeutil.c: Moved from here ...
8904 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
8905 * include/grub/i386/pc/vbeblit.h: Moved from here ...
8906 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
8907 * include/grub/i386/pc/vbefill.h: Moved from here ...
8908 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
8909 * include/grub/i386/pc/vbeutil.h: Moved from here ...
8910 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
8911 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
8912 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
8913 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
8914 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
8915 (grub_video_adapter): Added 'get_info_and_fini'.
8916 (grub_video_get_info_and_fini): New prototype.
8917 (grub_video_set_mode): make modestring const char *.
8918 * loader/i386/linux.c (grub_linux_setup_video): Use
8919 grub_video_get_info_and_fini.
8920 (grub_linux_boot): Move modesetting just before booting.
8921 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
8922 grub_video_get_info_and_fini.
8923 * video/i386/pc/vbe.c: Moved framebuffer part ...
8924 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
8925 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
8926 grub_video_fbstd_colors and grub_video_fb_set_palette.
8927 (grub_video_vbe_init): Clear 'framebuffer' variable and use
8928 grub_video_fb_init.
8929 (grub_video_vbe_fini): Use grub_video_fb_fini.
8930 (grub_video_vbe_setup): Use framebuffer.render_target instead of
8931 render_target and use grub_video_fb_set_active_render_target and
8932 grub_video_fb_set_palette.
8933 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
8934 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
8935 (grub_video_vbe_adapter): Use framebuffer.
8936 * video/video.c (grub_video_get_info_and_fini): New function.
8937 (grub_video_set_mode): Make modestring const char *.
8938 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
8939 values are already initialised.
8940
d404ee56 89412009-08-14 Pavel Roskin <proski@gnu.org>
8942
8943 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
8944 ABS and APPLE_CC.
8945 * boot/i386/pc/diskboot.S: Likewise.
8946 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
8947 sectors allow compilation on MacOSX.
8948 * conf/i386-pc.rmk: Enable unconditional compilation of
8949 lnxboot.img.
8950
9a10df16 89512009-08-13 Colin Watson <cjwatson@ubuntu.com>
8952
8953 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
8954 * util/grub.d/00_header.in: Enter interruptible sleep if
8955 GRUB_HIDDEN_TIMEOUT is set.
8956
be3c9ca7 89572009-08-13 Yves Blusseau <blusseau@zetam.org>
8958
8959 * include/grub/symbol.h: Add the LOCAL macro.
8960 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
8961 starting with "L_".
8962
1f9e557e 89632009-08-13 Pavel Roskin <proski@gnu.org>
8964
9ca62843 8965 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
8966 any modern compilers we support.
8967
1f9e557e 8968 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
8969 Use local labels starting with "L_" so that Apple assembler
8970 knows they are local.
8971
81623db6 89722009-08-10 Robert Millan <rmh.grub@aybabtu.com>
8973
8974 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
8975 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
8976 (bsd_kernel_types): ... this enum.
8977
8978 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
8979 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
8980 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
8981
8982 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
8983 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
8984 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
8985 messages.
8986
f5d35e7a 89872009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8988
8989 * util/grub-dumpdevtree: Moved from here ...
8990 * util/i386/efi/grub-dumpdevtree: ... to here.
8991 (hexify): New function. Converts a string to its hex version.
8992 Generate hex versions of "efi" and "device-properties" by calling
8993 hexify() on the ASCII strings rather than by hardcoding numbers.
8994
d1e1d527 89952009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8996
8997 * fs/jfs.c: Update copyright year.
8998
1ebbe064 89992009-08-08 Felix Zielcke <fzielcke@z-51.de>
9000
9001 * util/grub.d/00_header.in: Fix a comment.
9002 * util/grub.d/10_linux.in: Likewise.
9003 * util/grub.d/10_windows.in: Likewise.
9004 * util/grub.d/10_hurd.in: Likewise.
9005
a78c8d24 90062009-08-08 Felix Zielcke <fzielcke@z-51.de>
9007
9008 * util/grub-mkconfig.in: Allow the user to specify the used font
9009 with GRUB_FONT.
9010
29a6b9e8 90112009-08-08 Pavel Roskin <proski@gnu.org>
9012
b5f16cc4 9013 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9014 available, xfs.mod needs it now.
9015
2f5cb827 9016 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9017 the "g" modifier in sed when the intention is to strip something
9018 once. This fixes comparison of kernels with multiple dashes.
9019
29a6b9e8 9020 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9021 on it. Add missing space before closing bracket. Fix
9022 misleading formatting.
9023
892a3d98 90242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9025
9026 * docs/grub.texi: Major overhaul. Remove all sections that are
9027 specific to GRUB Legacy, or mostly composed of Legacy-specific
9028 information.
9029
ed94253f 90302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9031
9032 * docs/version.texi: New file. Provides version information for
9033 grub.texi.
9034
126d6628 90352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9036
9037 * docs/grub.texi: Update CVS information to SVN.
9038 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9039
998b5aa9 90402009-08-07 Felix Zielcke <fzielcke@z-51.de>
9041
9042 * util/grub-mkconfig.in: Remove a wrong `fi'.
9043
818e094a 90442009-08-07 Felix Zielcke <fzielcke@z-51.de>
9045
9046 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9047 (grub_jfs_uuid): New function.
9048 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9049
b969c52f 90502009-08-07 Felix Zielcke <fzielcke@z-51.de>
9051
9052 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9053 of it to ...
9054 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9055 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9056
7a4894cc 90572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9058
9059 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9060 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9061 Update all users.
9062
9063 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9064 not just "vmlinu[zx]".
9065 Moved from here ...
9066 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9067 all users.
9068
9069 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9070 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9071 all users.
9072
4e2171f8 90732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9074
9075 * util/grub.d/10_freebsd.in: Use an absolute device path for
9076 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9077
6dcfcb32 90782009-08-06 Felix Zielcke <fzielcke@z-51.de>
9079
9080 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9081 handling of multiple abstraction modules.
9082
f56a8756 90832009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9084
9085 Fix a bug resulting in black screen when loading Linux using a
9086 packed video mode.
9087
9088 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9089 function.
9090
9091 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9092 (grub_vbe_bios_getset_dac_palette_width): New function.
9093 (grub_vbe_bios_get_dac_palette_width)
9094 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9095 grub_vbe_bios_getset_dac_palette_width()).
9096
9097 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9098 check for return status.
9099 (grub_vbe_get_video_mode_info): When getting information for a packed
9100 mode (<= 8 bpp), obtain DAC palette width using
9101 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9102 {red,green,blue}_mark_size.
9103
222671b2 91042009-08-04 Felix Zielcke <fzielcke@z-51.de>
9105
ecb1a6d9 9106 * commands/search.c (options): Fix help output to match actual code.
222671b2 9107
f84114f5 91082009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9111 of homegrown code.
9112
bd288a20 91132009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 9114
9115 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9116 on XFS or ReiserFS.
9117
8aab5e25 91182009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 Support Apple partition map with sector size different from 512 bytes.
9121
9122 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9123 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9124 and 'apart.partmap_size'.
9125
6ad6258a 91262009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
91272009-08-01 Robert Millan <rmh.grub@aybabtu.com>
9128
9129 Fix cpuid command.
9130
9131 * commands/i386/cpuid.c (options): New variable.
9132 (grub_cmd_cpuid): Return real error.
9133 (GRUB_MOD_INIT(cpuid)): Declare options.
9134
67459bc6 91352009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
9138 valid.
9139
fbc6ab54 91402009-07-31 Bean <bean123ch@gmail.com>
9141
9142 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
9143 log2_inode.
9144 (grub_fshelp_node): Move inode field to the end.
9145 (grub_xfs_data): Remove inode field.
9146 (grub_xfs_inode_block): Calculate inode size using sblock.
9147 (grub_xfs_inode_offset): Likewise.
9148 (grub_xfs_read_inode): Calculate inode size using sblock.
9149 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
9150 (grub_xfs_iterate_dir): Calculate inode size using sblock.
9151 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
9152 to match inode size.
9153 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
9154 not accessible when data is null.
9155 (grub_xfs_open): Likewise.
9156
f45d6cfc 91572009-07-31 Bean <bean123ch@gmail.com>
9158
9159 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9160 Don't change pv->disk if it's already set.
9161
9162 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9163 (grub_raid_register): ... here.
9164 (grub_raid_rescan): Removed.
9165
9166 * include/grub/raid.h (grub_raid_rescan): Removed.
9167
9168 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9169 (fstest): Replace grub_raid_rescan with module fini function followed
9170 by init function.
9171
9172 * util/grub-probe.c: Add include file <grub/raid.h>.
9173 (probe_raid_level): New function.
9174 (probe): Detect abstraction by walking the disk device, support two
9175 level of abstraction (LVM on RAID) when detecting partition map.
9176
24443b5a 91772009-07-31 Pavel Roskin <proski@gnu.org>
9178
9179 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9180 to grub_zalloc(), it was erroneous.
9181 Reported by Bean <bean123ch@gmail.com>
9182
a275d9e7 91832009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 9186 embedding zone, not only the first one.
a275d9e7 9187
56c5a47f 91882009-07-29 Joe Auricchio <jauricchio@gmail.com>
9189
9190 * term/gfxterm.c (clear_char): New function.
9191 (grub_virtual_screen_setup): Use clear_char.
9192 (scroll_up): Likewise.
9193 (grub_virtual_screen_cls): Likewise.
9194
67bb323a 91952009-07-29 Felix Zielcke <fzielcke@z-51.de>
9196
9197 * util/deviceiter.c (get_acceleraid_disk_name): New static
9198 function.
9199 (grub_util_iterate_devices): Handle Accelraid devices.
9200 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9201
388a7c75 92022009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9203
9204 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9205 separator for the suggested gfxpayload string (';' collides with the
9206 parser and needs escaping).
9207
3bb7abcf 92082009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9211 Clear direction flag before jumping to OS.
9212 (grub_multiboot2_real_boot): Likewise.
9213
2ddd36d7 92142009-07-28 Felix Zielcke <fzielcke@z-51.de>
9215
9216 * util/i386/pc/grub-install: Fix parsing of --disk-module
9217 option.
9218
c521b62b 92192009-07-28 Felix Zielcke <fzielcke@z-51.de>
9220
9221 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9222 when embedding.
9223
880e0a0c 92242009-07-26 Felix Zielcke <fzielcke@z-51.de>
9225
9226 * util/grub-mkconfig.in (package_version): New variable.
9227 Use it do display the version.
9228
2366e356 92292009-07-25 Felix Zielcke <fzielcke@z-51.de>
9230
9231 * kern/file.c (grub_file_open): Revert to previous check with
9232 grub_errno.
9233
7ad8c80e 92342009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9237 from help line. It's out of sync with code.
9238
72b9658b 92392009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9242 entries on failed boot.
9243
77435277 92442009-07-25 Felix Zielcke <fzielcke@z-51.de>
9245
9246 * kern/file.c (grub_file_open): Fix an error check.
9247
fcaa8b21 92482009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9249
35d16c74 9250 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9251 partition map couldn't be identified.
fcaa8b21 9252
48904cd1 92532009-07-23 Pavel Roskin <proski@gnu.org>
9254
ef3c317f 9255 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9256 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9257 case of little endian words becomes just an optimization.
9258 Respect const modifier.
ad8ea1f4 9259 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 9260
48904cd1 9261 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9262 to avoid loss of upper bits if align is unsigned and shorter
9263 than addr.
9264
260c9a89 92652009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 UUID support for UFS
9268
9269 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9270 (grub_ufs_uuid): New function.
9271 (grub_ufs_fs): add .uuid
9272
f76ce889 92732009-07-21 Pavel Roskin <proski@gnu.org>
9274
9275 * kern/dl.c (grub_dl_check_header): Make static.
9276
6a6cbcaf 92772009-07-21 Felix Zielcke <fzielcke@z-51.de>
9278
9279 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9280 add drivemap for Vista. It breaks Windows 7.
9281
cffcddb2 92822009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9285 128 bytes
9286
1ef44b80 92872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 Add BFS support
9290
9291 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9292 (grub_fstest_SOURCES): Likewise.
9293 (pkglib_MODULES): Add befs.mod.
9294 (befs_mod_SOURCES): New variable.
9295 (befs_mod_CFLAGS): Likewise.
9296 (befs_mod_LDFLAGS): Likewise.
9297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9298 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9299 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9300 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9301 (grub_setup_SOURCES): Likewise.
9302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9303 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9304 (grub_setup_SOURCES): Likewise.
9305 * fs/befs.c: New file.
9306 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9307 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9308 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9309 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
9310 (B_KEY_INDEX_ALIGN): New declaration.
9311 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
9312 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
9313 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
9314 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
9315 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
9316 (grub_afs_mount) [MODE_BFS]: Likewise.
9317 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
9318 (grub_afs_fs): Use GRUB_AFS_FSNAME
9319 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
9320 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
9321 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
9322 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
9323
4f253044 93242009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
9325
9326 * util/getroot.c (find_root_device): Add support for MacOSX.
9327 * util/hostdisk.c: Likewise.
9328
57a55913 93292009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * font/font.c (find_glyph): Check whether a font is present to avoid
9332 segmentation fault.
75421ca9 9333
93342009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 9335
9336 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
9337
e98cd0c2 93382009-07-20 Pavel Roskin <proski@gnu.org>
9339
9340 * configure.ac: Trim excessively wordy excuses.
9341
1d2d169a 93422009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Add symlink, mtime and label support to AtheFS.
9345
9346 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
9347 (grub_afs_iterate_dir): Handle symlinks.
9348 (grub_afs_open): Use grub_afs_read_symlink.
9349 (grub_afs_dir): Likewise.
9350 Pass mtime.
9351 (grub_afs_label): New function.
9352 (grub_afs_fs): Add grub_afs_label.
9353 (grub_afs_read_symlink): New function.
9354
186f3189 93552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 Fix AtheFS support.
9358
9359 * fs/afs.c: Fix comments style.
9360 (grub_afs_blockrun): Declare as packed.
9361 (grub_afs_datastream): Likewise.
9362 (grub_afs_bnode): Likewise.
9363 (grub_afs_btree): Likewise.
9364 (grub_afs_sblock): Likewise.
9365 Declare `name' as char.
9366 (grub_afs_inode): Declare as packed.
9367 Change void *vnode to grub_uint32_t unused.
9368 (grub_afs_iterate_dir): Check that key_size is positive.
9369 (grub_afs_mount): Don't read superblock twice.
75421ca9 9370 (grub_afs_dir): Don't free node in case of error,
186f3189 9371 grub_fshelp_find_file already handles this.
9372 (grub_afs_open): Likewise.
9373
5680109e 93742009-07-19 Pavel Roskin <proski@gnu.org>
9375
9376 * Makefile.in: Remove LIBLZO and enable_lzo.
9377 * conf/i386-pc.rmk: Remove lzo support.
9378 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
9379 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
9380 support.
9381 * kern/i386/pc/lzo1x.S: Remove.
9382 * kern/i386/pc/startup.S: Remove lzo support.
9383 * util/i386/pc/grub-mkimage.c: Likewise.
9384
ac70fa32 93852009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
9388 * fs/xfs.c (grub_xfs_dir): Likewise.
9389 * fs/afs.c (grub_afs_dir): Likewise.
9390 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9391 (grub_iso9660_open): Likewise.
9392 * fs/jfs.c (grub_jfs_open): Likewise.
9393 * fs/ext2.c (grub_ext2_dir): Likewise.
9394 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
9395 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 9396
eab58da2 93972009-07-16 Pavel Roskin <proski@gnu.org>
9398
d2838156 9399 * configure.ac: Never add "-c" to CFLAGS.
9400
55c70904 9401 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
9402
43e6200c 9403 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
9404 grub_cv_cc_efiemu should be used.
9405
ce7a733d 9406 * configure.ac: Typo fixes.
9407
eab58da2 9408 * kern/mm.c (grub_zalloc): New function.
9409 (grub_debug_zalloc): Likewise.
9410 * include/grub/mm.h: Declare grub_zalloc() and
9411 grub_debug_zalloc().
9412 * util/misc.c (grub_zalloc): New function.
9413 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
9414 instead of grub_malloc(), remove unneeded initializations.
9415 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
9416 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
9417 * commands/parttool.c (grub_cmd_parttool): Likewise.
9418 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9419 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
9420 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
9421 * disk/usbms.c (grub_usbms_finddevs): Likewise.
9422 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
9423 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
9424 (grub_cmd_efiemu_pnvram): Likewise.
9425 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
9426 * fs/iso9660.c (grub_iso9660_mount): Likewise.
9427 (grub_iso9660_iterate_dir): Likewise.
9428 * fs/jfs.c (grub_jfs_opendir): Likewise.
9429 * fs/ntfs.c (list_file): Likewise.
9430 (grub_ntfs_mount): Likewise.
9431 * kern/disk.c (grub_disk_open): Likewise.
9432 * kern/dl.c (grub_dl_load_core): Likewise.
9433 * kern/elf.c (grub_elf_file): Likewise.
9434 * kern/env.c (grub_env_context_open): Likewise.
9435 (grub_env_set): Likewise.
9436 (grub_env_set_data_slot): Likewise.
9437 * kern/file.c (grub_file_open): Likewise.
9438 * kern/fs.c (grub_fs_blocklist_open): Likewise.
9439 * loader/i386/multiboot.c (grub_module): Likewise.
9440 * loader/xnu.c (grub_xnu_create_key): Likewise.
9441 (grub_xnu_create_value): Likewise.
9442 * normal/main.c (grub_normal_add_menu_entry): Likewise.
9443 (read_config_file): Likewise.
9444 * normal/menu_entry.c (make_screen): Likewise.
9445 * partmap/sun.c (sun_partition_map_iterate): Likewise.
9446 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
9447 * script/sh/script.c (grub_script_parse): Likewise.
9448 * video/bitmap.c (grub_video_bitmap_create): Likewise.
9449 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9450 * video/readers/png.c (grub_png_output_byte): Likewise.
9451 (grub_video_reader_png): Likewise.
9452
830afef7 94532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 9454
9455 Enable all targets that can be built by default
9456
830afef7 9457 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 9458 grub-mkfont and grub-fstest if they can be built
9459
ee293aee 94602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 Fix hang and segmentation fault in grub-emu-usb
9463
9464 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
9465 * util/usb.c (grub_libusb_devices): likewise
9466 (grub_libusb_init): rename to ...
9467 (GRUB_MOD_INIT (libusb)):...this
9468 (grub_libusb_fini): rename to ..
9469 (GRUB_MOD_FINI (libusb)):...this
9470 * disk/usbms.c (grub_usbms_transfer): fix retry logic
9471 * include/grub/disk.h (grub_raid_init): removed, it's useless
9472 (grub_raid_fini): likewise
9473 (grub_lvm_init): likewise
9474 (grub_lvm_fini): likewise
9475 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
9476 by grub_init_all
9477
94414221 94782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Fix libusb
9481
9482 * Makefile.in (LIBUSB): new macro
9483 * genmk.rb (Utility/print_tail): new method
9484 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
9485 (top level): call util.print_tail at the end.
9486
59ade63d 94872009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 Make FreeBSD accept zpool.cache
9490
9491 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
9492 type is /boot/zfs/zpool.cache
9493
a58da8c7 94942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 Fix 64-bit efiemu
9497
9498 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
9499 correct wrong typedef
9500 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
9501
20591577 95022009-07-15 Pavel Roskin <proski@gnu.org>
9503
560ca572 9504 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
9505 * kern/disk.c (struct grub_disk_cache): Likewise.
9506
e8e8e4fd 9507 * commands/probe.c (options): Typo fix.
9508
fde24e10 9509 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
9510 Increase to 0x5a to accommodate FAT32. Adjust other offsets
9511 accordingly.
9512 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
9513
379c54c1 9514 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
9515 the end of "Error" to make the message more readable.
9516
7bd8f5bf 9517 * boot/i386/pc/boot.S (kernel_segment): Remove.
9518 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
9519 for destination.
9520
40b132c5 9521 * boot/i386/pc/boot.S (boot_version): Remove.
9522 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9523 Remove.
9524
20591577 9525 * include/grub/i386/pc/boot.h: Sort all offsets.
9526 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
9527 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
9528 * boot/i386/pc/boot.S: Assert location of every offset listed in
9529 include/grub/i386/pc/boot.h.
9530
2df32b2c 95312009-07-13 Pavel Roskin <proski@gnu.org>
9532
44b5d879 9533 * include/grub/i386/coreboot/machine.h: Rename
9534 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9535 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9536 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9537
17dc3751 9538 * kern/dl.c: Force native word size to suppress warnings when
9539 compiling grub-emu.
9540
2df32b2c 9541 * kern/device.c (grub_device_iterate): Change struct part_ent to
9542 hold the name, not a pointer to it. Use one grub_malloc() per
9543 partition, not two. Free partition_name if grub_malloc() fails.
9544 Set ents to NULL only before grub_partition_iterate() is called.
9545
75c59f59 95462009-07-11 Bean <bean123ch@gmail.com>
9547
9548 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9549 childname.
9550
0ae1bf88 95512009-07-10 Bean <bean123ch@gmail.com>
95522009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9553
9554 * kern/ieee1275/openfw.c (grub_children_iterate)
9555 (grub_devalias_iterate): Fix size evaluation for property or path
9556 strings, which was broken since r2132.
9557
8279cade 95582009-07-07 Pavel Roskin <proski@gnu.org>
9559
7d8a52d3 9560 * commands/search.c (search_file): Merge into ...
9561 (search_fs): ... this. Accept search type as argument.
9562 (grub_cmd_search): Pass search type to search_fs().
9563
25f9a05a 9564 * include/grub/util/console.h: New file.
9565 * util/console.c: Use it instead of grub/machine/console.h.
9566 * util/grub-emu.c: Likewise.
9567
8279cade 9568 * lib/arg.c (find_long_option): Remove.
9569 (find_long): Add `len' argument, make `s' const char *.
9570 (grub_arg_parse): Parse long options in place, not in a
9571 temporary buffer.
9572
4a11b60f 95732009-07-06 Pavel Roskin <proski@gnu.org>
9574
99f68041 9575 * commands/search.c (search_fs): Fix potential NULL pointer
9576 dereference.
9577
4a11b60f 9578 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9579 function pointer.
9580
e110f4de 95812009-07-06 Daniel Mierswa <impulze@impulze.org>
9582
9583 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9584 comparison.
9585
46eeb6a2 95862009-07-05 Pavel Roskin <proski@gnu.org>
9587
bab74958 9588 * include/grub/i386/linux.h (struct linux_kernel_params):
9589 Restore padding3, it's still needed.
9590
46eeb6a2 9591 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9592 FreeBSD.
9593 * util/osdetect.lua: Likewise.
9594
b4a1dc79 95952009-07-05 Bean <bean123ch@gmail.com>
9596
9597 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9598
9599 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9600 (grub_lua_getenv): Likewise.
9601 (grub_lua_setenv): Likewise.
9602 (save_errno): New function.
9603 (push_result): Likewise.
9604 (grub_lua_enum_device): Likewise.
9605 (grub_lua_enum_file): Likewise.
9606 (grub_lua_file_open): Likewise.
9607 (grub_lua_file_close): Likewise.
9608 (grub_lua_file_seek): Likewise.
9609 (grub_lua_file_read): Likewise.
9610 (grub_lua_file_getline): Likewise.
9611 (grub_lua_file_getsize): Likewise.
9612 (grub_lua_file_getpos): Likewise.
9613 (grub_lua_file_eof): Likewise.
9614 (grub_lua_file_exist): Likewise.
9615 (grub_lua_add_menu): Likewise.
9616
9617 * script/lua/grub_lua.h (isupper): New inline function.
9618 (islower): Likewise.
9619 (ispunct): Likewise.
9620 (isxdigit): Likewise.
9621 (strcspn): Change to normal function.
9622 (strpbkr): New function declaration.
9623 (memchr): Likewise.
9624
9625 * script/lua/grub_main.c (scan_str): New function.
9626 (strcspn): Likewise.
9627 (strpbrk): Likewise.
9628 (memchr): Likewise.
9629
9630 * script/lua/linit.c (lualibs): Enable the string library.
9631
9632 * util/osdetect.lua: New file.
9633
2da92295 96342009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9635
9636 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9637 `capabilities' member.
9638
b2582ec9 96392009-07-02 Pavel Roskin <proski@gnu.org>
9640
9641 * genparttoollist.sh: Add missing newline at the end.
9642
32622956 96432009-07-01 Pavel Roskin <proski@gnu.org>
9644
87a7339e 9645 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9646
d23af54e 9647 * util/hostdisk.c (open_device): Remove `const' from
9648 `sysctl_size', as sysctlbyname() can change it (in this case it
9649 doesn't actually happen).
9650
c94b18a9 9651 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9652 using signed long int constants.
9653
c6cd3ef0 9654 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9655 constant to avoid a warning on FreeBSD.
9656
0df63420 9657 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9658 where it's needed.
9659
999577f1 9660 * Makefile.in: Install include/grub/machine symlink.
9661
6f41557f 9662 * Makefile.in: When installing symlinks, use "cp -fR", which
9663 works on FreeBSD and MacOSX.
9664 From Yves Blusseau <cl7m42e02@sneakemail.com>
9665
c8d22988 9666 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9667 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9668
1b96e952 9669 * util/misc.c: Move grub_reboot() and grub_halt() ...
9670 * util/grub-emu.c: ... here. Make main_env static.
9671 * include/grub/util/misc.h: Remove main_env.
9672
2ef0084d 9673 * kern/mm.c: Use correct format to print size_t.
9674
32622956 9675 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9676 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9677 * kern/powerpc/dl.c: Likewise.
9678 * kern/sparc64/dl.c: Likewise.
9679 * kern/x86_64/dl.c: Likewise.
9680
3f7f0cd0 96812009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9682
9683 Fix grub-emu build on sparc64-ieee1275.
9684
75421ca9 9685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 9686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9687
211d06b5 96882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9689
9690 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9691 (grub_reboot, grub_halt): New functions.
9692
9693 * util/i386/pc/misc.c: Delete. Update all users.
9694 * util/sparc64/ieee1275/misc.c: Likewise.
9695 * util/powerpc/ieee1275/misc.c: Likewise.
9696
aaf53e3c 96972009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9698
9699 * conf/i386.rmk (setjmp_mod_SOURCES)
9700 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9701 * conf/common.rmk (setjmp_mod_SOURCES)
9702 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9703 to use $(target_cpu).
9704 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9705 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9706 * conf/powerpc-ieee1275.rmk: Likewise.
9707 * conf/sparc64-ieee1275.rmk: Likewise.
9708
9709 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9710 $(target_cpu) for kern/$(target_cpu)/dl.c.
9711 * conf/i386-efi.rmk: Likewise.
9712 * conf/i386-ieee1275.rmk: Likewise.
9713 * conf/x86_64-efi.rmk: Likewise.
9714 * conf/i386-coreboot.rmk: Likewise.
9715 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9716 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9717 kern/$(target_cpu)/cache.S.
9718 * conf/sparc64-ieee1275.rmk: Likewise.
9719
a337130b 97202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9721
9722 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9723 type to `grub_uint8_t', and adjust `padding9' accordingly.
9724
c6fe4d53 97252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9726
b09db61d 9727 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9728
c6fe4d53 9729 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9730 assembly in final jump, using register constraints.
9731
b09db61d 9732 (grub_linux_boot): For text mode, initialize `have_vga' using
9733 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9734
9735 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9736 right before the final jump.
9737
9738 Set `video_mode' to 0x3.
9739
9740 Document initialization of `video_page', `video_mode' and
9741 `video_ega_bx'.
9742
28333ad0 97432009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9744
9745 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9746 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 9747 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 9748
02164e1b 97492009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9750
9751 Fix build on Debian / sparc.
9752
9753 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9754
18b6c557 97552009-06-28 Pavel Roskin <proski@gnu.org>
9756
85f2aab6 9757 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9758 fix a warning.
9759
18b6c557 9760 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9761
ad760f81 97622009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9763
9764 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9765 `err'.
9766
87a4623b 97672009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9768
9769 Revert r2338.
9770
9771 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
9772 file can't be opened. grub_file_open() is already supposed to set
75421ca9 9773 grub_errno / grub_errmsg appropriately.
87a4623b 9774 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9775
8231fb77 97762009-06-27 Pavel Roskin <proski@gnu.org>
97772009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9778
9779 * include/grub/dl.h: Include grub/elf.h.
9780 (struct grub_dl): Add symtab field.
9781 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
9782 GRUB_MODULES_MACHINE_READONLY.
9783 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
9784 of the header for read-only modules.
9785 (grub_dl_unload): Free mod->symtab for read-only modules.
9786 * kern/i386/dl.c: Use mod->symtab.
9787 * kern/powerpc/dl.c: Likewise.
9788 * kern/sparc64/dl.c: Likewise.
9789 * kern/x86_64/dl.c: Likewise.
9790
9791 * conf/i386-qemu.rmk: New file.
9792 * kern/i386/qemu/startup.S: Likewise.
9793 * kern/i386/qemu/mmap.c: Likewise.
9794 * boot/i386/qemu/boot.S: Likewise.
9795 * include/grub/i386/qemu/time.h: Likewise.
9796 * include/grub/i386/qemu/serial.h: Likewise.
9797 * include/grub/i386/qemu/kernel.h: Likewise.
9798 * include/grub/i386/qemu/console.h: Likewise.
9799 * include/grub/i386/qemu/boot.h: Likewise.
9800 * include/grub/i386/qemu/init.h: Likewise.
9801 * include/grub/i386/qemu/machine.h: Likewise.
9802 * include/grub/i386/qemu/loader.h: Likewise.
9803 * include/grub/i386/qemu/memory.h: Likewise.
9804
9805 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
9806 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
9807 [qemu] (pkglib_IMAGES): Add `boot.img'.
9808 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
9809 [qemu] (boot_img_FORMAT): New variables.
9810 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
9811 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
9812 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
9813 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9814 [qemu] (kernel_img_FORMAT): New variables.
9815
9816 * configure.ac: Recognise `i386-qemu'.
9817
9818 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
9819 (for no compression).
9820 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
9821 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
9822 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
9823 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
9824 ifdefs).
9825
97fe384e 98262009-06-27 Pavel Roskin <proski@gnu.org>
9827
9828 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
9829 read.
9830 * efiemu/prepare32.c: Likewise.
9831 * efiemu/prepare64.c: Likewise.
9832
c402ab17 98332009-06-26 Pavel Roskin <proski@gnu.org>
9834
9835 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
9836 * include/grub/elf.h: Define symbols without "32" or "64" based
9837 on GRUB_TARGET_WORDSIZE.
9838 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
9839 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
9840 ELF definitions.
9841 * efiemu/loadcore64.c: Likewise.
9842 * loader/i386/bsd32.c: Likewise.
9843 * loader/i386/bsd64.c: Likewise.
9844 * kern/dl.c: Remove own ELF definitions.
9845 * util/i386/efi/grub-mkimage.c: Likewise.
9846
9bbdfd4d 98472009-06-23 Robert Millan <rmh.grub@aybabtu.com>
9848
9849 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
9850 segment 0x0 unconditionally, because the reference generated by
9851 GAS is an absolute address.
9852
a42ce6e9 98532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9854
9855 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
9856 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
9857
c952cf92 98582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9859
9860 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
9861 indexes. Check for -f explicitly.
cc3752ad 9862 (search_file): Improve error message.
9863 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 9864
132a0a59 98652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9866
9867 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
9868 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
9869
387a140c 98702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9871
9872 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
9873 * conf/i386-ieee1275.rmk: Likewise.
9874 * conf/i386-coreboot.rmk: Likewise.
9875
9876 * kern/i386/pc/startup.S (grub_stop): Remove function.
9877 * kern/i386/ieee1275/startup.S: Likewise.
9878 * kern/i386/coreboot/startup.S: Likewise.
9879 * kern/i386/misc.S (grub_stop): New function.
9880
41da9665 98812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9882
9883 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
9884 * kern/i386/realmode.S (real_to_prot): ... to here.
9885
bf337234 98862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9887
9888 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
9889 with `kernel.img'.
9890 (kernel_elf_SOURCES): Rename to ...
9891 (kernel_img_SOURCES): ... this.
9892 (kernel_elf_HEADERS): Rename to ...
9893 (kernel_img_HEADERS): ... this. Update all users.
9894 (kernel_elf_ASFLAGS): Rename to ...
9895 (kernel_img_ASFLAGS): ... this.
9896 (kernel_elf_CFLAGS): Rename to ...
9897 (kernel_img_CFLAGS): ... this.
9898 (kernel_elf_LDFLAGS): Rename to ...
9899 (kernel_img_LDFLAGS): ... this.
9900 * conf/i386-coreboot.rmk: Likewise.
9901 * conf/powerpc-ieee1275.rmk: Likewise.
9902
9903 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
9904 with "kernel.img".
9905
f52196ff 99062009-06-21 Pavel Roskin <proski@gnu.org>
9907
c3cee413 9908 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
9909 to match nested functions.
9910 * loader/sparc64/ieee1275/linux.c: Likewise.
9911
f52196ff 9912 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
9913
58750afc 99142009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9915
9916 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
9917 all i386 platforms.
9918
15355c7d 99192009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9920
9921 Fix asm file handling on ELF, and remove workarounds.
9922
9923 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 9924 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 9925 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
9926 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
9927
3f3ec72b 99282009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 Load BSD ELF modules
9931
9932 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
9933 and loader/i386/bsd64.c
9934 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
9935 (FREEBSD_MODTYPE_ELF_MODULE): New definition
9936 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
9937 (grub_freebsd_load_elfmodule32): New declaration
9938 (grub_freebsd_load_elfmoduleobj64): Likewise
9939 (grub_freebsd_load_elf_meta32): Likewise
9940 (grub_freebsd_load_elf_meta64): Likewise
9941 (grub_freebsd_add_meta): Likewise
9942 (grub_freebsd_add_meta_module): Likewise
9943 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
9944 (grub_freebsd_add_meta_module): Likewise and move module-specific
9945 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
9946 (grub_cmd_freebsd): Add elf-kernel specific parts
9947 based on grub_freebsd_add_meta_module
9948 (grub_cmd_freebsd_module): Add type parsing moved from
9949 grub_freebsd_add_meta_module
9950 (grub_cmd_freebsd_module_elf): New function
9951 (cmd_freebsd_module_elf): New variable
9952 (GRUB_MOD_INIT): Register freebsd_module_elf
9953 * loader/i386/bsd32.c: New file
9954 * loader/i386/bsd64.c: Likewise
9955 * loader/i386/bsdXX.c: Likewise
9956 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
9957 (grub_elf64_load): Likewise
9958 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
9959 All users updated
9960 (grub_elf64_load_hook_t): Likewise
9961
0db15301 99622009-06-21 Colin Watson <cjwatson@ubuntu.com>
9963
9964 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
9965 variable.
9966 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
9967 don't write a menu entry for recovery mode.
9968
546796c1 99692009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9970
9971 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
9972 after it's no longer needed.
9973
cd7310d5 99742009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9975
9976 * include/grub/i386/loader.h (grub_linux_prot_size)
9977 (grub_linux_tmp_addr, grub_linux_real_addr)
9978 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
9979 GRUB_MACHINE_PCBIOS.
9980 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
9981 common grub_util_info() call to ...
9982 (generate_image): ... here.
9983 Fix use of uninitialized memory, comparison of signed with
9984 unsigned integers and memory leak.
9985 Remove bogus module address message.
9986
ab32d3b5 99872009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
9990 grub_raid_register
9991 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
9992
024ef597 99932009-06-19 Pavel Roskin <proski@gnu.org>
9994
9995 * configure.ac: Remove stray AC_MSG_CHECKING.
9996
3ac72b51 99972009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 10000
e14cd814 100012009-06-18 Pavel Roskin <proski@gnu.org>
10002
10003 * conf/common.rmk: Add fs_file.mod.
10004 * disk/fs_file.c: New file.
10005 * include/grub/disk.h (enum grub_disk_dev_id): Add
10006 GRUB_DISK_DEVICE_FILE_ID.
10007
26586d98 100082009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 Fix build with Apple's toolchain. Part 2
10011
10012 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10013 a fake start
10014
26de2bcd 100152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 Fix build with Apple's toolchain. Part 1
10018
10019 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10020 for long calls
10021 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 10022 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 10023 Apple's toolchain
10024
09b3490b 100252009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 Fix warnings
10028
10029 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10030 (decomp_block): initialize ch
10031 use grub_memcpy instead of memcpy
10032
c22a006a 100332009-06-17 Pavel Roskin <proski@gnu.org>
10034
d3638678 10035 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10036 version, use declarations needed to use vga_text as the startup
10037 console.
10038
c22a006a 10039 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10040 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10041 the kernel.
10042 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10043 and grub_at_keyboard_fini(), it's done on module load and
10044 unload.
10045
05b129e0 100462009-06-17 Felix Zielcke <fzielcke@z-51.de>
10047
10048 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10049 file can't be found.
10050 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10051
cf24ed9e 100522009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 Fix newline handling
10055
10056 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 10057 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 10058 (grub_script_yylex): don't segfault on unterminated script
10059 newline terminates command and variable
10060
74aa8e4b 100612009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 avoid double grub_adjust_range call. Bug reported by David Simner
10064
10065 * kern/disk.c (grub_disk_write): change to raw disk access before
10066 calling disk_read
10067
1bd265f3 100682009-06-17 Colin Watson <cjwatson@ubuntu.com>
10069
10070 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10071 spaces, for the benefit of help2man.
10072 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10073
a2d08c06 100742009-06-16 Pavel Roskin <proski@gnu.org>
10075
10076 * kern/i386/halt.c: Include grub/machine/init.h.
10077 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10078
b97bcb19 100792009-06-16 Felix Zielcke <fzielcke@z-51.de>
10080
10081 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10082 drivemap menuentry.
10083
0644f96c 100842009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10085
10086 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10087 `echo' command.
10088
3ef17a2e 100892009-06-16 Pavel Roskin <proski@gnu.org>
10090
10091 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10092 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10093 save %dx, we only need %dl and we never change it.
10094 * boot/i386/pc/cdboot.S: Don't set the root drive.
10095 * boot/i386/pc/pxeboot.S: Likewise.
10096 * include/grub/i386/pc/boot.h: Remove
10097 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10098 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10099 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10100 * kern/i386/pc/init.c (make_install_device): Remove references
10101 to grub_root_drive.
10102 * kern/i386/pc/startup.S: Likewise.
10103 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10104
693fe637 101052009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 xnu_uuid command
10108
10109 * commands/xnu_uuid.c: new file
10110 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10111 (xnu_uuid_mod_SOURCES): new variable
10112 (xnu_uuid_mod_CFLAGS): likewise
10113 (xnu_uuid_mod_LDFLAGS): likewise
10114 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10115 * conf/i386-ieee1275.rmk: likewise
10116 * conf/i386-pc.rmk: likewise
10117 * conf/powerpc-ieee1275.rmk: likewise
10118 * conf/sparc64-ieee1275.rmk: likewise
10119 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10120
c9da87d0 101212009-06-16 Pavel Roskin <proski@gnu.org>
10122
10123 * configure.ac: Avoid '==' in test command, it's not portable.
10124
9c6f4596 101252009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 Probe command
10128
10129 * commands/probe.c: new file
10130 * conf/common.rmk (pkglib_MODULES): add probe.mod
10131 (probe_mod_SOURCES): new variable
10132 (probe_mod_CFLAGS): likewise
10133 (probe_mod_LDFLAGS): likewise
10134 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10135 * conf/i386-ieee1275.rmk: likewise
10136 * conf/i386-pc.rmk: likewise
10137 * conf/powerpc-ieee1275.rmk: likewise
10138 * conf/sparc64-ieee1275.rmk: likewise
10139
70b7f9fd 101402009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 Fix handling of string like \"hello\" and "a
10143 b"
10144
10145 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
10146 (grub_script_yylex): fix parsing of quoting, escaping and newline
10147
71c79a6b 101482009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
10149
dd74360c 10150 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 10151 handling
dd74360c 10152
0644f96c 101532009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 10154
10155 * util/grub-mkconfig.in: Fix parsing of --output option.
10156
e40893c3 101572009-06-12 Pavel Roskin <proski@gnu.org>
10158
10159 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10160 genmk.rb don't need to be generated or installed.
10161
3a1acfe2 101622009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * commands/i386/pc/drivemap_int13h.S: add more comments
10165
3a4575d4 101662009-06-11 Pavel Roskin <proski@gnu.org>
10167
0658e928 10168 * Makefile.in (uninstall): Uninstall manuals.
10169
ca0388f0 10170 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10171 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10172 and update-grub_lib in two places.
10173 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10174
e3b27c39 10175 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10176 a compiler warning.
10177
3a4575d4 10178 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10179 `entry_lo' to fix variable shadowing.
10180
af1f4f55 101812009-06-11 Christian Franke <franke@computer.org>
10182
10183 * kern/misc.c (__enable_execute_stack): Add missing return type
10184 to prevent gcc warning.
10185
5225e649 101862009-06-11 Felix Zielcke <fzielcke@z-51.de>
10187
10188 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10189
7d83bd47 101902009-06-11 Pavel Roskin <proski@gnu.org>
10191
c1cb63ba 10192 * Makefile.in: Don't rely on any scripts being executable.
10193 Always use $(SHELL) to run shell scripts.
10194
7d83bd47 10195 * configure.ac: Always define ___main if using -nostdlib. This
10196 fixes tests on Cygwin.
10197
948f48e7 101982009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10199
10200 UDF fix
10201
7d83bd47 10202 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 10203 is in bytes and not in blocks
7d83bd47 10204
8ada9bc1 102052009-06-11 Pavel Roskin <proski@gnu.org>
10206
10207 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10208 warning.
10209
25ad2323 102102009-06-11 Felix Zielcke <fzielcke@z-51.de>
10211
10212 * util/grub.d/30_os-prober.in: Fix a comment. Source
10213 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10214 to set the root device. Place drivemap command in the generated
10215 chain entry.
10216
e65acb0c 102172009-06-11 Pavel Roskin <proski@gnu.org>
10218
10219 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10220 have long been resolved.
10221
f285fe2d 102222009-06-11 Colin Watson <cjwatson@ubuntu.com>
10223
bd47b0b5 10224 * util/grub.d/10_linux.in: Capitalise "Linux".
10225
f285fe2d 10226 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10227
a0c62e4e 102282009-06-11 Pavel Roskin <proski@gnu.org>
10229
b6783cb2 10230 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10231 fix a gcc warning and ensure that the function won't ever exit.
10232
dde032e8 10233 * kern/i386/ieee1275/init.c: Add missing prototype for
10234 grub_stop_floppy().
10235
22cd079d 10236 * loader/ieee1275/multiboot2.c [__i386__]: Include
10237 grub/cpu/multiboot.h.
10238
a0c62e4e 10239 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10240 casts to short - they are not portable and cause warnings. Fix
10241 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10242
63963d17 102432009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 Drivemap fixes
10246
10247 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10248 new function
10249 (grub_get_root_biosnumber_saved): new variable
10250 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10251 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 10252 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 10253 %dx after the call if necessary
10254 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10255 (boot_mod_SOURCES): remove
10256 (boot_mod_CFLAGS): remove
10257 (boot_mod_LDFLAGS): remove
10258 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10259 (boot_mod_SOURCES): new variable
10260 (boot_mod_CFLAGS): likewise
10261 (boot_mod_LDFLAGS): likewise
10262 * conf/i386-efi.rmk: likewise
10263 * conf/i386-ieee1275.rmk: likewise
10264 * conf/i386-pc.rmk: likewise
10265 * conf/powerpc-ieee1275.rmk: likewise
10266 * conf/sparc64-ieee1275.rmk: likewise
10267 * conf/x86_64-efi.rmk: likewise
10268 * include/grub/i386/pc/biosnum.h: new file
10269 * lib/i386/pc/biosnum.c: likewise
10270 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10271 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10272 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 10273
33abf7ae 102742009-06-10 Pavel Roskin <proski@gnu.org>
10275
5ac35b35 10276 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10277 Use separate variables. Read only the file size at the end, but
10278 not the checksum that we don't use.
10279
5c5215d5 10280 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10281 Adjust all callers.
10282
27d5fef7 10283 * kern/ieee1275/openfw.c: Remove libc includes.
10284 * kern/ieee1275/cmain.c: Likewise.
10285 * include/grub/ieee1275/ieee1275.h: Likewise.
10286
33abf7ae 10287 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10288 compiler warnings.
10289
19d50c2b 102902009-06-10 Felix Zielcke <fzielcke@z-51.de>
10291
10292 * Makefile.in: Remove all trailing whitespace.
10293 * conf/i386-pc.rmk: Likewise.
10294 * conf/powerpc-ieee1275.rmk: Likewise.
10295 * conf/sparc64-ieee1275.rmk: Likewise.
10296 * docs/grub.texi: Likewise.
10297 * docs/texinfo.tex: Likewise.
10298 * disk/fs_uuid.c: Likewise.
10299 * disk/lvm.c: Likewise.
10300 * disk/scsi.c: Likewise.
10301 * disk/ata.c: Likewise.
10302 * disk/ieee1275/ofdisk.c: Likewise.
10303 * disk/i386/pc/biosdisk.c: Likewise.
10304 * disk/host.c: Likewise.
10305 * disk/raid.c: Likewise.
10306 * disk/efi/efidisk.c: Likewise.
10307 * disk/usbms.c: Likewise.
10308 * disk/memdisk.c: Likewise.
10309 * disk/loopback.c: Likewise.
10310 * kern/powerpc/dl.c: Likewise.
10311 * kern/device.c: Likewise.
10312 * kern/dl.c: Likewise.
10313 * kern/sparc64/dl.c: Likewise.
10314 * kern/ieee1275/ieee1275.c: Likewise.
10315 * kern/term.c: Likewise.
10316 * kern/fs.c: Likewise.
10317 * kern/i386/dl.c: Likewise.
10318 * kern/i386/pc/startup.S: Likewise.
10319 * kern/i386/pc/init.c: Likewise.
10320 * kern/i386/pc/mmap.c: Likewise.
10321 * kern/i386/pc/lzo1x.S: Likewise.
10322 * kern/i386/ieee1275/init.c: Likewise.
10323 * kern/i386/realmode.S: Likewise.
10324 * kern/i386/tsc.c: Likewise.
10325 * kern/partition.c: Likewise.
10326 * kern/corecmd.c: Likewise.
10327 * kern/file.c: Likewise.
10328 * kern/efi/efi.c: Likewise.
10329 * kern/efi/init.c: Likewise.
10330 * kern/efi/mm.c: Likewise.
10331 * kern/main.c: Likewise.
10332 * kern/err.c: Likewise.
10333 * kern/env.c: Likewise.
10334 * kern/disk.c: Likewise.
10335 * kern/generic/millisleep.c: Likewise.
10336 * kern/generic/rtc_get_time_ms.c: Likewise.
10337 * kern/misc.c: Likewise.
10338 * kern/parser.c: Likewise.
10339 * genmk.rb: Likewise.
10340 * configure.ac: Likewise.
10341 * boot/i386/pc/diskboot.S: Likewise.
10342 * boot/i386/pc/pxeboot.S: Likewise.
10343 * boot/i386/pc/boot.S: Likewise.
10344 * boot/i386/pc/lnxboot.S: Likewise.
10345 * boot/i386/pc/cdboot.S: Likewise.
10346 * parttool/pcpart.c: Likewise.
10347 * video/readers/tga.c: Likewise.
10348 * video/video.c: Likewise.
10349 * video/bitmap.c: Likewise.
10350 * lib/envblk.c: Likewise.
10351 * lib/i386/setjmp.S: Likewise.
10352 * fs/xfs.c: Likewise.
10353 * fs/afs.c: Likewise.
10354 * fs/fat.c: Likewise.
10355 * fs/ntfs.c: Likewise.
10356 * fs/udf.c: Likewise.
10357 * fs/affs.c: Likewise.
10358 * fs/iso9660.c: Likewise.
10359 * fs/hfs.c: Likewise.
10360 * fs/fshelp.c: Likewise.
10361 * fs/ext2.c: Likewise.
10362 * fs/jfs.c: Likewise.
10363 * fs/reiserfs.c: Likewise.
10364 * fs/hfsplus.c: Likewise.
10365 * fs/minix.c: Likewise.
10366 * fs/cpio.c: Likewise.
10367 * fs/sfs.c: Likewise.
10368 * fs/ufs.c: Likewise.
10369 * efiemu/prepare.c: Likewise.
10370 * efiemu/loadcore_common.c: Likewise.
10371 * efiemu/runtime/efiemu.sh: Likewise.
10372 * efiemu/runtime/efiemu.S: Likewise.
10373 * efiemu/runtime/efiemu.c: Likewise.
10374 * efiemu/pnvram.c: Likewise.
10375 * efiemu/main.c: Likewise.
10376 * efiemu/i386/pc/cfgtables.c: Likewise.
10377 * efiemu/i386/loadcore64.c: Likewise.
10378 * efiemu/i386/loadcore32.c: Likewise.
10379 * efiemu/loadcore.c: Likewise.
10380 * efiemu/symbols.c: Likewise.
10381 * efiemu/mm.c: Likewise.
10382 * include/grub/autoefi.h: Likewise.
10383 * include/grub/datetime.h: Likewise.
10384 * include/grub/term.h: Likewise.
10385 * include/grub/hfs.h: Likewise.
10386 * include/grub/lvm.h: Likewise.
10387 * include/grub/i386/tsc.h: Likewise.
10388 * include/grub/i386/linux.h: Likewise.
10389 * include/grub/i386/xnu.h: Likewise.
10390 * include/grub/i386/efiemu.h: Likewise.
10391 * include/grub/i386/pc/biosdisk.h: Likewise.
10392 * include/grub/i386/pc/memory.h: Likewise.
10393 * include/grub/i386/pc/vbe.h: Likewise.
10394 * include/grub/parttool.h: Likewise.
10395 * include/grub/video.h: Likewise.
10396 * include/grub/memory.h: Likewise.
10397 * include/grub/fs.h: Likewise.
10398 * include/grub/partition.h: Likewise.
10399 * include/grub/xnu.h: Likewise.
10400 * include/grub/efi/api.h: Likewise.
10401 * include/grub/efi/pe32.h: Likewise.
10402 * include/grub/efi/memory.h: Likewise.
10403 * include/grub/multiboot.h: Likewise.
10404 * include/grub/usbdesc.h: Likewise.
10405 * include/grub/multiboot2.h: Likewise.
10406 * include/grub/acpi.h: Likewise.
10407 * include/grub/efiemu/efiemu.h: Likewise.
10408 * include/grub/disk.h: Likewise.
10409 * include/grub/ieee1275/ieee1275.h: Likewise.
10410 * include/grub/net.h: Likewise.
10411 * include/grub/machoload.h: Likewise.
10412 * include/grub/macho.h: Likewise.
10413 * include/multiboot.h: Likewise.
10414 * genmoddep.awk: Likewise.
10415 * normal/main.c: Likewise.
10416 * normal/menu_entry.c: Likewise.
10417 * normal/menu_viewer.c: Likewise.
10418 * normal/completion.c: Likewise.
10419 * normal/cmdline.c: Likewise.
10420 * normal/misc.c: Likewise.
10421 * normal/datetime.c: Likewise.
10422 * bus/usb/usbtrans.c: Likewise.
10423 * bus/usb/ohci.c: Likewise.
10424 * bus/usb/uhci.c: Likewise.
10425 * bus/usb/usb.c: Likewise.
10426 * mmap/efi/mmap.c: Likewise.
10427 * mmap/i386/pc/mmap_helper.S: Likewise.
10428 * mmap/i386/pc/mmap.c: Likewise.
10429 * mmap/i386/mmap.c: Likewise.
10430 * mmap/i386/uppermem.c: Likewise.
10431 * mmap/mmap.c: Likewise.
10432 * commands/acpi.c: Likewise.
10433 * commands/echo.c: Likewise.
10434 * commands/blocklist.c: Likewise.
10435 * commands/loadenv.c: Likewise.
10436 * commands/usbtest.c: Likewise.
10437 * commands/boot.c: Likewise.
10438 * commands/parttool.c: Likewise.
10439 * commands/search.c: Likewise.
10440 * commands/cat.c: Likewise.
10441 * commands/i386/pc/play.c: Likewise.
10442 * commands/i386/pc/drivemap.c: Likewise.
10443 * commands/i386/pc/vbeinfo.c: Likewise.
10444 * commands/i386/pc/acpi.c: Likewise.
10445 * commands/i386/pc/vbetest.c: Likewise.
10446 * commands/ls.c: Likewise.
10447 * commands/cmp.c: Likewise.
10448 * commands/test.c: Likewise.
10449 * commands/efi/acpi.c: Likewise.
10450 * commands/gptsync.c: Likewise.
10451 * commands/help.c: Likewise.
10452 * partmap/amiga.c: Likewise.
10453 * partmap/apple.c: Likewise.
10454 * partmap/acorn.c: Likewise.
10455 * partmap/pc.c: Likewise.
10456 * partmap/sun.c: Likewise.
10457 * partmap/gpt.c: Likewise.
10458 * script/sh/lexer.c: Likewise.
10459 * script/sh/function.c: Likewise.
10460 * font/font.c: Likewise.
10461 * font/font_cmd.c: Likewise.
10462 * loader/powerpc/ieee1275/linux.c: Likewise.
10463 * loader/efi/chainloader.c: Likewise.
10464 * loader/multiboot_loader.c: Likewise.
10465 * loader/macho.c: Likewise.
10466 * loader/i386/multiboot.c: Likewise.
10467 * loader/i386/linux.c: Likewise.
10468 * loader/i386/pc/linux.c: Likewise.
10469 * loader/i386/pc/multiboot2.c: Likewise.
10470 * loader/i386/pc/chainloader.c: Likewise.
10471 * loader/i386/pc/xnu.c: Likewise.
10472 * loader/i386/bsd_trampoline.S: Likewise.
10473 * loader/i386/efi/linux.c: Likewise.
10474 * loader/i386/multiboot_elfxx.c: Likewise.
10475 * loader/i386/bsd_helper.S: Likewise.
10476 * loader/i386/bsd.c: Likewise.
10477 * loader/i386/linux_trampoline.S: Likewise.
10478 * loader/i386/xnu_helper.S: Likewise.
10479 * loader/i386/xnu.c: Likewise.
10480 * loader/i386/bsd_pagetable.c: Likewise.
10481 * loader/i386/multiboot_helper.S: Likewise.
10482 * loader/xnu.c: Likewise.
10483 * loader/xnu_resume.c: Likewise.
10484 * io/gzio.c: Likewise.
10485 * term/efi/console.c: Likewise.
10486 * term/terminfo.c: Likewise.
10487 * term/ieee1275/ofconsole.c: Likewise.
10488 * term/i386/pc/serial.c: Likewise.
10489 * term/i386/pc/vesafb.c: Likewise.
10490 * term/i386/pc/vga.c: Likewise.
10491 * term/usb_keyboard.c: Likewise.
10492 * term/gfxterm.c: Likewise.
10493 * aclocal.m4: Likewise.
10494 * util/lvm.c: Likewise.
10495 * util/grub.d/30_os-prober.in: Likewise.
10496 * util/grub.d/10_hurd.in: Likewise.
10497 * util/console.c: Likewise.
10498 * util/grub-macho2img.c: Likewise.
10499 * util/grub-probe.c: Likewise.
10500 * util/hostfs.c: Likewise.
10501 * util/i386/pc/grub-mkimage.c: Likewise.
10502 * util/i386/pc/grub-setup.c: Likewise.
10503 * util/i386/efi/grub-mkimage.c: Likewise.
10504 * util/grub-mkconfig.in: Likewise.
10505 * util/raid.c: Likewise.
10506 * util/resolve.c: Likewise.
10507 * util/grub-mkdevicemap.c: Likewise.
10508 * util/grub-emu.c: Likewise.
10509 * util/getroot.c: Likewise.
10510 * util/hostdisk.c: Likewise.
10511 * util/usb.c: Likewise.
10512 * util/grub-editenv.c: Likewise.
10513 * util/misc.c: Likewise.
10514
d2d49665 105152009-06-10 Felix Zielcke <fzielcke@z-51.de>
10516
10517 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
10518 `genparttoollist.sh'.
10519 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
10520 Add `*.sh' to the list find searches for and change `mdate.sh'
10521 to `mdate-sh'.
10522
fe052e37 105232009-06-10 Pavel Roskin <proski@gnu.org>
10524
2763ac18 10525 * include/grub/multiboot2.h: Provide compatibility defines for
10526 multiboot2.h.
10527 * include/multiboot2.h: Include stdint.h only if needed, using
10528 angle brackets.
10529 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
10530 grub/multiboot2.h.
10531 * loader/ieee1275/multiboot2.c: Likewise.
10532 * loader/multiboot2.c: Likewise.
10533 * loader/multiboot_loader.c: Likewise.
10534
437e6adc 10535 * configure.ac: Use -nostdlib when probing for the target. It
10536 should not be required to have libc for the target.
10537
06a6836c 10538 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10539 they fail without libc headers for the target.
10540 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10541 exports.
10542 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10543 preprocessor conditionals.
10544
fe052e37 10545 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10546 build system doesn't need to be aware of the tar.c internals.
10547
afd22553 105482009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 10549
afd22553 10550 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 10551
6b787c4f 105522009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10553
10554 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10555 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10556
105572009-06-09 Felix Zielcke <fzielcke@z-51.de>
10558
10559 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 10560 aren't available if ata.mod gets used.
6b787c4f 10561
473d1e45 105622009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 10563
473d1e45 10564 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 10565 initialising controller.
473d1e45 10566 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 10567
255a27d4 105682009-06-08 Felix Zielcke <fzielcke@z-51.de>
10569
10570 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10571 to choose between ata and biosdisk module on i386-pc.
10572
473d1e45 105732009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 10574
d55842d8 10575 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10576 Subclass and Programming Interface fields in terms of the 3 byte
10577 Class Code register.
10578 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10579
fa5db0b1 10580 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10581 interface is OHCI. Add grub_dprintf for symmetry with
10582 bus/usb/uhci.c.
10583 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10584 interface is UHCI. Add interf variable for programming
10585 interface. Print interface with class/subclass.
10586
c0947beb 10587 * bus/usb/ohci.c: Set interf with correct field.
10588
69da8877 10589 * bus/usb/uhci.c: Remove unneeded doubled lines.
10590 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10591 Remove whitespace inside comment.
10592
9e172e30 105932009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10594
10595 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10596 as fallback an equivalent option without depth.
10597
de65ee2b 105982009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 Not fail if unable to retrieve C/H/S on LBA disks
10601
473d1e45 10602 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 10603 if unable to retrieve C/H/S on LBA disks
10604
b57ea2c9 106052009-06-08 Pavel Roskin <proski@gnu.org>
10606
10607 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10608 about aliasing.
10609
af361263 106102009-06-08 Felix Zielcke <fzielcke@z-51.de>
10611
10612 * Makefile.in (uninstall): Remove all $lib_DATA files.
10613
4c9ec6b3 106142009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 Bugfix: install on partitionless device
10617
10618 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10619 is a whole disk
10620
e76fc924 106212009-06-08 Felix Zielcke <fzielcke@z-51.de>
10622
10623 * Makefile.in (uninstall): Remove all $include_DATA files.
10624
ba5a0d05 106252009-06-08 Felix Zielcke <fzielcke@z-51.de>
10626
10627 * commands/true.c: New file. Implement the true and false commands.
10628 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10629 (true_mod_SOURCES): New variable.
10630 (true_mod_CFLAGS): Likewise.
10631 (true_mod_LDFLAGS): Likewise.
10632
c8048e32 106332009-06-05 Colin D Bennett <colin@gibibit.com>
10634
10635 Optimized font character lookup using binary search instead of linear
10636 search. Fonts now are required to have the character index ordered by
10637 code point.
10638
10639 * font/font.c (load_font_index): Verify that fonts have ordered
10640 character indices.
10641 (find_glyph): Use binary search instead of linear search to find a
10642 character in a font.
10643
408305be 106442009-06-05 Michael Scherer <misc@mandriva.org>
10645
10646 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10647 uses case sensitive btree.
10648 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10649 only for case insensitive filesystems.
10650
8ee1e0d9 106512009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10654 * conf/common.rmk (search_mod_CFLAGS): likewise
10655
a9966eb1 106562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10657
473d1e45 10658 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 10659 compensate a compiler bug
10660
9e7100fb 106612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10662
473d1e45 10663 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 10664 instead of '\b'
473d1e45 10665
ede21d71 106662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 Definitions for creating asm symbols with Apple's CC
10669
10670 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10671 [APPLE_CC] (VARIABLE): likewise
10672
9dbf7653 106732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 Disable lnxboot.img when compiled
10676 with Apple's CC
10677
10678 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10679 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10680 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10681 [! APPLE_CC] (CODE_LENG): skip
10682 [! APPLE_CC] (setup_sects): likewise
10683 [! APPLE_CC]: skip filling
473d1e45 10684
e93cdc3d 106852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10686
10687 Address in trampolines based on 32-bit registers when compiled
10688 with Apple's CC
10689
473d1e45 10690 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 10691 for addresses
10692 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10693
6c688477 106942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10697
10698 * kern/misc.c [APPLE_CC] (memcpy): new function
10699 [APPLE_CC] (memmove): likewise
10700 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 10701 (memcpy): define alias conditionally on !APPLE_CC
6c688477 10702 (memset): likewise
10703 (abort): likewise
10704 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10705 APPLE_CC are defined
10706 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10707 (grub_assert_fail): make prototype conditional
10708
e37ffc5c 107092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10712
473d1e45 10713 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10714 grub-macho2img
e37ffc5c 10715 (CLEANFILES): add grub-macho2img
10716 (grub_macho2img_SOURCES): new variable
10717 * kern/i386/pc/startup.S (bss_start): new variable
10718 (bss_end): likewise
10719 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10720 * util/grub-macho2img.c: new file
10721
cf00df31 107222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 Use objconv when compiling with Apple's CC
10725
10726 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10727 (efiemu64.o): likewise
10728 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10729 when compiling with Apple's CC
10730 (efiemu64_s.o): likewise
10731 * configure.ac: check for objconv when compiling with Apple's CC
10732 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 10733
d119a20c 107342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 Define segment as well as section when compiling with
10737 Apple's CC
10738
10739 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10740 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10741 (efiemu_convert_pointer): likewise
10742 (efiemu_set_virtual_address_map): likewise
10743 (efiemu_convert_pointer): likewise
10744 (efiemu_getcrc32): likewise
10745 (init_crc32_table): likewise
10746 (reflect): likewise
10747 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10748 (GRUB_MOD_DEP): likewise
473d1e45 10749
c8600122 107502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 Allow a compilation without -mcmodel=large
10753
10754 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10755 when compiled without -mcmodel=large
473d1e45 10756 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 10757 without -mcmodel=large
473d1e45 10758 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 10759 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 10760
e8df1d4e 107612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 Remove nested functions in efiemu core
10764
10765 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 10766
cc6c3ac1 107672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10770
10771 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
10772 temporary storage
473d1e45 10773 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
10774 using Apple's CC
cc6c3ac1 10775 (grub_cpu_is_tsc_supported): likewise
10776 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 10777
3e325901 107782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 Absolute addressing through constant with Apple's cc
10781
10782 * kern/i386/pc/startup.S: Define necessary constants
10783 and address through it when using ABS with Apple's CC
10784 * boot/i386/pc/diskboot.S: likewise
10785 * boot/i386/pc/boot.S: likewise
10786 * boot/i386/pc/lnxboot.S: likewise
10787 * boot/i386/pc/cdboot.S: likewise
10788 * mmap/i386/pc/mmap_helper.S: likewise
10789 * commands/i386/pc/drivemap_int13h.S: likewise
10790
2b167a72 107912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 Check if compiler is apple cc
10794
10795 * Makefile.in (ASFLAGS): new variable
10796 (TARGET_ASFLAGS): likewise
10797 (TARGET_MODULE_FORMAT): likewise
10798 (TARGET_APPLE_CC): likewise
10799 (OBJCONV): likewise
10800 (TARGET_IMG_CFLAGS): likewise
10801 (TARGET_CPPFLAGS): add includedir
10802 * configure.ac: call grub_apple_cc and grub_apple_target_cc
10803 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
10804 Check for linker script only if compiler isn't Apple's CC
10805 (TARGET_MODULE_FORMAT): set
10806 (TARGET_APPLE_CC): likewise
10807 (TARGET_ASFLAGS): likewise
10808 (ASFLAGS): likewise
10809 Check for objcopy only if compiler isn't Apple's CC
10810 Check for BSS symbol only if compiler isn't Apple's CC
10811 * genmk.rb: adapt nm options if we use Apple's utils
10812 * aclocal.m4 (grub_apple_cc): new test
10813 (grub_apple_target_cc): likewise
473d1e45 10814
fb14123e 108152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 Simplify sed expressions and improve awk
10818
10819 * Makefile.in (install-local): simplify sed expression
10820 * gencmdlist.sh: likewise
10821 * genmoddep.awk: avoid adding module as a dependency of itself
10822
5b889789 108232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 Add missing start symbols
10826
10827 * boot/i386/pc/boot.S: add start
fb14123e 10828 * boot/i386/pc/pxeboot.S: likewise
473d1e45 10829
fd2bf2e3 108302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 10833
10834 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 10835 (relocate_addresses): consider both r_addend and value at offset
10836 (make_mods_section): zerofill modinfo and header
10837 (convert_elf): write prefix here
473d1e45 10838
5389763d 108392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Use .asciz instead of .string
10842
10843 * i386/pc/diskboot.S: use .asciz instead of .string
10844 * i386/pc/boot.S: likewise
10845 * include/grub/dl.h (GRUB_MOD_DEP): likewise
10846 (GRUB_MOD_NAME): likewise
473d1e45 10847
3eb5ed4e 108482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 gfxpayload support
10851
10852 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
10853 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
10854 (grub_video_setup): remove
10855 (grub_video_set_mode): new prototype
10856 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
10857 (vid_mode): remove
10858 (linux_vesafb_res): compile only on PCBIOS
10859 (grub_linux_boot): support gfxpayload
10860 * loader/i386/pc/xnu.c (video_hook): new function
10861 (grub_xnu_set_video): support gfxpayload
10862 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
10863 (DEFAULT_VIDEO_HEIGHT): likewise
10864 (DEFAULT_VIDEO_FLAGS): likewise
10865 (DEFAULT_VIDEO_MODE): new definition
10866 (video_hook): new function
10867 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 10868 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 10869 loading xnu
10870 * video/video.c (grub_video_setup): removed
473d1e45 10871 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 10872 grub_video_setup
10873
4b0e1143 108742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 Avoid calling biosdisk in drivemap
10877
10878 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
10879 (revparse_biosdisk): likewise
10880 (list_mappings): derive name from id directly
10881 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 10882
fda6cb98 108832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 Script fixes
10886
10887 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
10888 (grub_lexer_param): add tokenonhold
10889 (grub_script_create_cmdline): remove cmdline. All callers updated
10890 (grub_script_function_create): make functionname
10891 grub_script_arg. All callers updated
10892 (grub_script_execute_argument_to_string): new prototype
10893 * kern/parser.c (state_transitions): reorder
10894 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 10895 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 10896 make global
10897 (grub_script_execute_cmdline): use new format
10898 * script/sh/function.c (grub_script_function_create): make functionname
10899 grub_script_arg. All callers updated
473d1e45 10900 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 10901 (grub_script_yylex): remove
10902 (grub_script_yylex2): renamed to ...
10903 (grub_script_yylex): ...renamed
10904 parse the expressions like a${b}c
10905 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
10906 (GRUB_PARSER_TOKEN_VAR): remove
10907 (GRUB_PARSER_TOKEN_NAME): likewise
10908 ("if"): declare as typeless
10909 ("while"): likewise
10910 ("function"): likewise
10911 ("else"): likewise
10912 ("then"): likewise
10913 ("fi"): likewise
10914 (text): remove
10915 (argument): likewise
10916 (script): accept empty scripts and make exit on error
10917 (arguments): use GRUB_PARSER_TOKEN_ARG
10918 (function): likewise
10919 (command): move error handling to script
10920 (menuentry): move grub_script_lexer_ref before
473d1e45 10921 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 10922 argument. All callers updated
10923
f4448a07 109242009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10925
10926 Prevent GRUB from probing floppies during boot.
10927
10928 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
10929 * commands/search.c (options): Add --no-floppy.
10930 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
10931 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
10932 --no-floppy when searching for UUIDs.
10933
2bf5885a 109342009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10935
10936 Simplify the code duplication in commands/search.c.
10937
10938 * commands/search.c (search_label, search_fs_uuid): Merge into ...
10939 (search_fs): ... this. Update all users.
10940
f6fd460a 109412009-06-03 Felix Zielcke <fzielcke@z-51.de>
10942
10943 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
10944
cbb3c83e 109452009-05-28 Pavel Roskin <proski@gnu.org>
10946
57788cfd 10947 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
10948 Remove the original symlink explicitly.
10949
cbb3c83e 10950 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
10951 just one slash. That's how grub_fshelp_find_file() does it.
10952
cd0d5e30 109532009-05-26 Pavel Roskin <proski@gnu.org>
10954
f0f8bbe2 10955 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
10956 to `str'.
10957
cd0d5e30 10958 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
10959 possibly unused.
10960
8c2cab51 109612009-05-25 Christian Franke <franke@computer.org>
10962
10963 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
10964 register.
10965 (grub_atapi_identify): Add wait after drive select.
10966 (grub_ata_identify): Do more strict status register check before
10967 calling grub_atapi_identify (). Suppress error message if status
10968 register is 0x00 after command failure. Add status register
10969 check after PIO read to avoid bogus identify due to stuck DRQ.
10970 Thanks to Pavel Roskin for testing.
10971 (grub_device_initialize): Remove unsafe status register check.
10972 Thanks to 'phcoder' for problem report and patch.
10973 Prevent sign extension in debug message.
10974
230c0ad6 109752009-05-23 Colin D Bennett <colin@gibibit.com>
10976
10977 Cleaned up `include/grub/normal.h'. Grouped prototypes by
10978 definition file, and functions defined in `normal/menu.c' have had
10979 their prototypes moved to `include/grub/menu.h' for consistency.
10980
10981 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
10982 from normal.h.
10983 (grub_menu_get_entry): Likewise.
10984 (grub_menu_get_timeout): Likewise.
10985 (grub_menu_set_timeout): Likewise.
10986 (grub_menu_execute_entry): Likewise.
10987 (grub_menu_execute_with_fallback): Likewise.
10988 (grub_menu_entry_run): Likewise.
10989
10990 * include/grub/normal.h: Re-ordered and grouped function
10991 prototypes by file that the function is defined in.
10992 (grub_menu_execute_callback): Removed; moved to menu.h.
10993 (grub_menu_get_entry): Likewise.
10994 (grub_menu_get_timeout): Likewise.
10995 (grub_menu_set_timeout): Likewise.
10996 (grub_menu_execute_entry): Likewise.
10997 (grub_menu_execute_with_fallback): Likewise.
10998 (grub_menu_entry_run): Likewise.
10999 (grub_menu_addentry): Renamed from this ...
11000 (grub_normal_add_menu_entry): ... to this.
11001
11002 * normal/main.c (grub_menu_addentry): Renamed from this ...
11003 (grub_normal_add_menu_entry): ... to this.
11004
11005 * script/sh/execute.c (grub_script_execute_menuentry): Update
11006 reference to renamed grub_menu_addentry function.
11007
861f03a5 110082009-05-23 Felix Zielcke <fzielcke@z-51.de>
11009
11010 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11011
96b1619a 110122009-05-22 Pavel Roskin <proski@gnu.org>
11013
bf6a5fb2 11014 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11015 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11016 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11017 compiling for the i386 targets, but not for the utilities.
11018
96b1619a 11019 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11020 to grub_uint8_t.
11021 (grub_root_drive): Likewise.
11022 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11023 remove alignment.
11024 (grub_root_drive): Change size to byte.
11025 (grub_start_addr): Remove.
11026 (grub_end_addr): Likewise.
11027 (grub_apm_bios_info): Likewise.
11028
b729776b 110292009-05-21 Felix Zielcke <fzielcke@z-51.de>
11030
11031 * normal/i386: Remove.
11032 * normal/powerpc: Likewise.
11033 * normal/sparc64: Likewise.
11034 * normal/x86_64: Likewise.
11035
0a15ce80 110362009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 11039 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 11040 * loader/i386/xnu_helper.S: Likewise
d6da58e6 11041
33db9015 110422009-05-18 Colin D Bennett <colin@gibibit.com>
11043
d6da58e6 11044 Display error messages when parsing a Lua statement fails.
11045 Previously, executing a syntactically invalid statement like
11046 ")foo" or "bar;" would silently fail.
33db9015 11047
11048 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 11049 (grub_lua_parse_line): Improved reporting of Lua parser and
11050 execution errors.
33db9015 11051
46422c89 110522009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 Remove -Werror which causes build to fail on some systems
11055
11056 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11057 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11058 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 11059
22f53a96 110602009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 trampoline for linux on 64-bit platform
11063
18f547ad 11064 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11065 loader/i386/efi/linux_trampoline.S
11066 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 11067 declaration
d6da58e6 11068 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11069 here
22f53a96 11070 * loader/i386/linux_trampoline.S: moved here
d6da58e6 11071 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11072 trampoline
22f53a96 11073 (jumpvector): removed
11074 (grub_linux_trampoline_start): new declaration
11075 (grub_linux_trampoline_end): likewise
11076 (grub_linux_boot): use trampoline when on 64-bit platform
11077 * loader/i386/linux.c: likewise
11078
cb5a0f40 110792009-05-16 Pavel Roskin <proski@gnu.org>
11080
11081 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11082 const to avoid a warning.
11083 (grub_lua_setenv): Likewise.
11084 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11085 lmsg to fix a warning.
11086
334f2c28 110872009-05-16 Felix Zielcke <fzielcke@z-51.de>
11088
11089 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 11090 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11091 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11092 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11093 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11094 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11095 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11096 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 11097
59e5d3ec 110982009-05-16 Felix Zielcke <fzielcke@z-51.de>
11099
11100 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11101
9d87a1ba 111022009-05-16 Bean <bean123ch@gmail.com>
11103
11104 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11105 (lua_mod_SOURCES): New variable.
11106 (lua_mod_CFLAGS): Likewise.
11107 (lua_mod_LDFLAGS): Likewise.
11108
11109 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11110 (setjmp_mod_SOURCES): New variable.
11111 (setjmp_mod_CFLAGS): Likewise.
11112 (setjmp_LDFLAGS): Likewise.
11113
11114 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11115 (setjmp_mod_SOURCES): New variable.
11116 (setjmp_mod_CFLAGS): Likewise.
11117 (setjmp_LDFLAGS): Likewise.
11118
11119 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11120 (setjmp_mod_SOURCES): New variable.
11121 (setjmp_mod_CFLAGS): Likewise.
11122 (setjmp_LDFLAGS): Likewise.
11123
11124 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11125 (setjmp_mod_SOURCES): New variable.
11126 (setjmp_mod_CFLAGS): Likewise.
11127 (setjmp_LDFLAGS): Likewise.
11128
11129 * normal/i386/setjmp.S: Moved from here ...
11130 * lib/i386/setjmp.S: ... Moved here
11131 * normal/x86_64/setjmp.S: Moved from here ...
11132 * lib/x86_64/setjmp.S: ... Moved here
11133 * normal/powerpc/setjmp.S: Moved from here ...
11134 * lib/powerpc/setjmp.S: ... Moved here
11135 * normal/sparc64/setjmp.S: Moved from here ...
11136 * lib/sparc64/setjmp.S: ... Moved here
11137
11138 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
11139 returns_twice in mingw.
11140
11141 * script/lua/grub_lib.c: New file.
11142 * script/lua/grub_lib.h: Likewise.
11143 * script/lua/grub_lua.h: Likewise.
11144 * script/lua/grub_main.c: Likewise.
11145 * script/lua/lapi.c: Likewise.
11146 * script/lua/lapi.h: Likewise.
11147 * script/lua/lauxlib.c: Likewise.
11148 * script/lua/lauxlib.h: Likewise.
11149 * script/lua/lbaselib.c: Likewise.
11150 * script/lua/lcode.c: Likewise.
11151 * script/lua/lcode.h: Likewise.
11152 * script/lua/ldblib.c: Likewise.
11153 * script/lua/ldebug.c: Likewise.
11154 * script/lua/ldebug.h: Likewise.
11155 * script/lua/ldo.c: Likewise.
11156 * script/lua/ldo.h: Likewise.
11157 * script/lua/ldump.c: Likewise.
11158 * script/lua/lfunc.c: Likewise.
11159 * script/lua/lfunc.h: Likewise.
11160 * script/lua/lgc.c: Likewise.
11161 * script/lua/lgc.h: Likewise.
11162 * script/lua/linit.c: Likewise.
11163 * script/lua/liolib.c: Likewise.
11164 * script/lua/llex.c: Likewise.
11165 * script/lua/llex.h: Likewise.
11166 * script/lua/llimits.h: Likewise.
11167 * script/lua/lmathlib.c: Likewise.
11168 * script/lua/lmem.c: Likewise.
11169 * script/lua/lmem.h: Likewise.
11170 * script/lua/loadlib.c: Likewise.
11171 * script/lua/lobject.c: Likewise.
11172 * script/lua/lobject.h: Likewise.
11173 * script/lua/lopcodes.c: Likewise.
11174 * script/lua/lopcodes.h: Likewise.
11175 * script/lua/loslib.c: Likewise.
11176 * script/lua/lparser.c: Likewise.
11177 * script/lua/lparser.h: Likewise.
11178 * script/lua/lstate.c: Likewise.
11179 * script/lua/lstate.h: Likewise.
11180 * script/lua/lstring.c: Likewise.
11181 * script/lua/lstring.h: Likewise.
11182 * script/lua/lstrlib.c: Likewise.
11183 * script/lua/ltable.c: Likewise.
11184 * script/lua/ltable.h: Likewise.
11185 * script/lua/ltablib.c: Likewise.
11186 * script/lua/ltm.c: Likewise.
11187 * script/lua/ltm.h: Likewise.
11188 * script/lua/lua.h: Likewise.
11189 * script/lua/luaconf.h: Likewise.
11190 * script/lua/lualib.h: Likewise.
11191 * script/lua/lundump.c: Likewise.
11192 * script/lua/lundump.h: Likewise.
11193 * script/lua/lvm.c: Likewise.
11194 * script/lua/lvm.h: Likewise.
11195 * script/lua/lzio.c: Likewise.
11196 * script/lua/lzio.h: Likewise.
11197
5e898c9d 111982009-05-16 Bean <bean123ch@gmail.com>
11199
11200 * include/grub/kernel.h (grub_module_header_types): Add type
11201 OBJ_TYPE_CONFIG.
11202
11203 * kern/main.c (grub_load_config): New function.
11204 (grub_main): Call grub_load_config to read boot config.
11205
11206 * grub-mkimage (generate_image): New parameter config_path.
11207 (options): New option --config.
11208 (main): Parse --config option, and pass it to generate_image.
11209
cf353a47 112102009-05-14 Christian Franke <franke@computer.org>
11211
11212 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11213 This fixes build on Cygwin.
11214
3834887f 112152009-05-14 Pavel Roskin <proski@gnu.org>
11216
11217 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11218 jump. This saves two bytes, so the typical case of 2 swapped
11219 drives would fit 32 bytes.
11220
8090fc01 112212009-05-13 Pavel Roskin <proski@gnu.org>
11222
ac963883 11223 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11224 grub_uint32_t to avoid a warning.
11225
8090fc01 11226 * loader/i386/linux.c (allocate_pages): When assigning
11227 real_mode_mem, cast through grub_size_t to fix a warning. The
11228 code already makes sure that the value would fit a pointer.
11229 (grub_linux_setup_video): Cast render_target->data to
11230 grub_size_t to fix a warning.
11231
18f547ad 112322009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 11233
11234 * commands/i386/pc/drivemap.c: New file - implement drivemap
11235 command.
11236 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11237 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11238
6f6a8b28 112392009-05-13 Pavel Roskin <proski@gnu.org>
11240
11241 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11242 embedding_area_exists.
11243
15fbf4c4 112442009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11245
11246 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11247 it easier to understand / work with.
59978c8a 11248 Improve warning messages for cases where there's no embedding area,
11249 or when it is too small (or core.img too large).
15fbf4c4 11250
238e871f 112512009-05-13 Pavel Roskin <proski@gnu.org>
11252
0ab3a9a4 11253 * loader/i386/pc/multiboot2.c: Add necessary includes for
11254 grub_multiboot2_real_boot().
11255
a2c8c5f8 11256 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11257 PX record is always little-endian. We only need the lower 2
11258 bytes of the mode.
11259
faec96af 11260 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11261 facilitate code reuse.
11262 (grub_cpio_mount): Use "struct head", not a char buffer. This
11263 fixes a warning reported by gcc 4.4.
11264
238e871f 11265 * kernel/disk.c (grub_disk_read): Use void pointer for the
11266 buffer.
11267 (grub_disk_write): Use const void pointer for the buffer.
11268 Adjust all callers. Remove unnecessary casts.
11269
901d2f0c 112702009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11271
11272 * util/i386/pc/grub-install.in: Update copyright year.
11273
18f547ad 112742009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 11275
11276 gptsync
11277
11278 * commands/gptsync.c: new file
11279 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11280 (gptsync_mod_SOURCES): new variable
11281 (gptsync_mod_CFLAGS): likewise
11282 (gptsync_mod_LDFLAGS): likewise
18f547ad 11283 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 11284 new definition
11285 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11286 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11287 * conf/i386-ieee1275.rmk: likewise
11288 * conf/i386-pc.rmk: likewise
11289 * conf/powerpc-ieee1275.rmk: likewise
11290
b4ba690a 112912009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 Fixed grub-emu
11294
11295 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11296 (grub_dl_ref): likewise
11297
317e1a44 112982009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11299
11300 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11301 split in two functions (one for msdos and one for gpt).
11302
041b8094 113032009-05-08 Pavel Roskin <proski@gnu.org>
11304
752473c2 11305 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11306 not modified.
11307
041b8094 11308 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11309 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
11310 Initialize them with -1. Add sanity check for bad1. Eliminate
11311 nerr variable.
11312
172800ce 113132009-05-08 David S. Miller <davem@davemloft.net>
11314
11315 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
11316
29aa5e81 113172009-05-06 Robert Millan <rmh.grub@aybabtu.com>
11318
11319 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 11320 existence.
29aa5e81 11321
96613b62 113222009-05-05 Felix Zielcke <fzielcke@z-51.de>
11323
11324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 11325 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 11326
eef73c8a 113272009-05-05 David S. Miller <davem@davemloft.net>
11328
11329 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
11330
119494b5 113312009-05-05 Pavel Roskin <proski@gnu.org>
11332
11333 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
11334 of grub_dl_ref() and grub_dl_unref().
11335 * commands/parttool.c: Remove preprocessor conditionals around
11336 grub_dl_ref() and grub_dl_unref().
11337 * fs/affs.c: Likewise.
11338 * fs/afs.c: Likewise.
11339 * fs/cpio.c: Likewise.
11340 * fs/ext2.c: Likewise.
11341 * fs/fat.c: Likewise.
11342 * fs/hfs.c: Likewise.
11343 * fs/hfsplus.c: Likewise.
11344 * fs/iso9660.c: Likewise.
11345 * fs/jfs.c: Likewise.
11346 * fs/minix.c: Likewise.
11347 * fs/ntfs.c: Likewise.
11348 * fs/reiserfs.c: Likewise.
11349 * fs/sfs.c: Likewise.
11350 * fs/udf.c: Likewise.
11351 * fs/ufs.c: Likewise.
11352 * fs/xfs.c: Likewise.
11353 * include/grub/dl.h: Likewise.
11354 * loader/xnu.c: Likewise.
11355
de5fd76e 113562009-05-04 Pavel Roskin <proski@gnu.org>
11357
11358 * commands/acpi.c: Remove unused variable my_mod.
11359 * partmap/amiga.c: Likewise.
11360 * partmap/apple.c: Likewise.
11361 * partmap/gpt.c: Likewise.
11362 * partmap/pc.c: Likewise.
11363 * partmap/sun.c: Likewise.
11364 * term/gfxterm.c: Likewise.
11365 * term/i386/pc/vesafb.c: Likewise.
11366 * term/i386/pc/vga.c: Likewise.
11367
983598ad 113682009-05-04 David S. Miller <davem@davemloft.net>
11369
11370 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
11371 pointer args to grub_ieee1275_get_property().
11372
8aadec43 11373 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
11374
9554b15e 11375 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
11376 devices, and do not traverse down under controller nodes.
11377
67e23c90 11378 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
11379 (grub_ofdisk_open): Use it to un-escape "," characters.
11380 * kern/disk.c (find_part_sep): New.
11381 (grub_disk_open): Use it to find the first non-escaped ','
11382 character in the disk name.
11383 * util/ieee1275/devicemap.c (escape_of_path): New.
11384 (grub_util_emit_devicemap_entry): Use it.
11385 * util/sparc64/ieee1275/grub-install.in: Update script to
11386 strip partition specifiers properly by not triggering on
11387 '\' escaped ',' characters.
11388
74bfdd2f 113892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11390
11391 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
11392 to 0x300.
11393 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
11394 resolutions.
11395 (linux_vesafb_modes): Add a lot of additional modes to the list (based
11396 on documentation from Wikipedia).
11397
4241d2b1 113982009-05-04 Pavel Roskin <proski@gnu.org>
11399
11400 * disk/ata.c: Spelling fixes.
11401 * disk/raid.c: Likewise.
11402 * disk/usbms.c: Likewise.
11403 * disk/dmraid_nvidia.c: Likewise.
11404 * kern/ieee1275/openfw.c: Likewise.
11405 * kern/ieee1275/init.c: Likewise.
11406 * kern/ieee1275/cmain.c: Likewise.
11407 * boot/i386/pc/cdboot.S: Likewise.
11408 * video/readers/png.c: Likewise.
11409 * video/i386/pc/vbe.c: Likewise.
11410 * fs/udf.c: Likewise.
11411 * fs/hfs.c: Likewise.
11412 * fs/reiserfs.c: Likewise.
11413 * efiemu/runtime/efiemu.c: Likewise.
11414 * efiemu/main.c: Likewise.
11415 * efiemu/mm.c: Likewise.
11416 * include/grub/elf.h: Likewise.
11417 * include/grub/xnu.h: Likewise.
11418 * include/grub/usbdesc.h: Likewise.
11419 * include/grub/usb.h: Likewise.
11420 * include/grub/script_sh.h: Likewise.
11421 * include/grub/lib/LzmaEnc.h: Likewise.
11422 * include/grub/efiemu/efiemu.h: Likewise.
11423 * include/grub/command.h: Likewise.
11424 * normal/menu.c: Likewise.
11425 * normal/main.c: Likewise.
11426 * normal/datetime.c: Likewise.
11427 * bus/usb/uhci.c: Likewise.
11428 * mmap/i386/uppermem.c: Likewise.
11429 * mmap/mmap.c: Likewise.
11430 * commands/acpi.c: Likewise.
11431 * commands/test.c: Likewise.
11432 * partmap/apple.c: Likewise.
11433 * font/font.c: Likewise.
11434 * loader/sparc64/ieee1275/linux.c: Likewise.
11435 * loader/macho.c: Likewise.
11436 * loader/i386/bsd_trampoline.S: Likewise.
11437 * loader/i386/bsd.c: Likewise.
11438 * loader/xnu.c: Likewise.
11439 * term/i386/pc/vesafb.c: Likewise.
11440 * term/usb_keyboard.c: Likewise.
11441 * util/resolve.c: Likewise.
11442 * util/getroot.c: Likewise.
11443
0cfc0083 114442009-05-04 Felix Zielcke <fzielcke@z-51.de>
11445
11446 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
11447
7c1d00cd 114482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11449
11450 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
11451 build error.
11452
b01f0548 114532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11454
11455 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
11456 parameter only available on BIOS.
11457
ecc3eb22 114582009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 Removed wrong semicolon in declaration
11461
11462 * grub/misc.h (grub_dprintf): remove semicolon
11463
112972a9 114642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11465
11466 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
11467 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
11468 is done by grub_cmd_linux() now).
11469 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
11470 restore video to text mode.
11471 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
11472 indicates lack of "vga=" parameter. "vga=0" is mapped to
11473 `GRUB_LINUX_VID_MODE_NORMAL'.
11474
afd5c115 114752009-05-04 Felix Zielcke <fzielcke@z-51.de>
11476
11477 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
11478 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
11479 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 11480 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 11481 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
11482 `grub_script.tab.c'.
11483
11484 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11485 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11488 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11489
faa517ce 11490 * Makefile.in: Remove duplicated 2008 in Copyright line.
11491
ae0c0bdc 114922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11493
473d1e45 11494 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 11495 unconditionally.
11496 * include/grub/util/misc.h (grub_util_warn): New declaration.
11497
11498 * util/i386/pc/grub-install.in: Understand --force and pass it down
11499 to grub-setup.
11500
11501 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
11502 down to setup().
11503 (setup): Improve error messages and add warnings when requested to
11504 install in odd layouts. Refuse to install using blocklists unless
11505 --force was set.
11506
18f547ad 115072009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 11508
11509 * disk/raid.c (grub_raid_scan_device): Improve debug message.
11510
6d260daa 115112009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 Updated copyright year
11514
11515 * fs/hfsplus.c: updated copyright year
18f547ad 11516
69f853f8 115172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 HFS+ UUID
11520
18f547ad 11521 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 11522 in the space previously used by unused3
11523 (grub_hfsplus_uuid): new function
11524 (grub_hfsplus_fs): added uuid field
11525
4c402e73 115262009-05-03 Pavel Roskin <proski@gnu.org>
11527
11528 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
11529 suppress warnings. It's no longer needed.
11530 * disk/host.c: Likewise.
11531 * disk/ata_pthru.c: Likewise.
11532 * disk/loopback.c: Likewise.
11533 * hook/datehook.c: Likewise.
11534 * parttool/pcpart.c: Likewise.
11535 * fs/i386/pc/pxe.c: Likewise.
11536 * fs/ntfscomp.c: Likewise.
11537 * efiemu/main.c: Likewise.
11538 * mmap/mmap.c: Likewise.
11539 * commands/crc.c: Likewise.
11540 * commands/hexdump.c: Likewise.
11541 * commands/hdparm.c: Likewise.
11542 * commands/acpi.c: Likewise.
11543 * commands/echo.c: Likewise.
11544 * commands/minicmd.c: Likewise.
11545 * commands/blocklist.c: Likewise.
11546 * commands/memrw.c: Likewise.
11547 * commands/loadenv.c: Likewise.
11548 * commands/usbtest.c: Likewise.
11549 * commands/lsmmap.c: Likewise.
11550 * commands/boot.c: Likewise.
11551 * commands/parttool.c: Likewise.
11552 * commands/configfile.c: Likewise.
11553 * commands/search.c: Likewise.
11554 * commands/ieee1275/suspend.c: Likewise.
11555 * commands/cat.c: Likewise.
11556 * commands/i386/pc/pxecmd.c: Likewise.
11557 * commands/i386/pc/play.c: Likewise.
11558 * commands/i386/pc/halt.c: Likewise.
11559 * commands/i386/pc/vbeinfo.c: Likewise.
11560 * commands/i386/pc/vbetest.c: Likewise.
11561 * commands/lspci.c: Likewise.
11562 * commands/date.c: Likewise.
11563 * commands/handler.c: Likewise.
11564 * commands/ls.c: Likewise.
11565 * commands/test.c: Likewise.
11566 * commands/cmp.c: Likewise.
11567 * commands/efi/loadbios.c: Likewise.
11568 * commands/efi/fixvideo.c: Likewise.
11569 * commands/halt.c: Likewise.
11570 * commands/help.c: Likewise.
11571 * commands/reboot.c: Likewise.
11572 * hello/hello.c: Likewise.
11573 * script/sh/main.c: Likewise.
11574 * loader/xnu.c: Likewise.
11575 * term/terminfo.c: Likewise.
11576 * term/i386/pc/serial.c: Likewise.
11577 * term/usb_keyboard.c: Likewise.
11578
515b5079 115792009-05-03 David S. Miller <davem@davemloft.net>
11580
11581 * normal/menu.c: Include grub/parser.h
11582
dfc31a22 115832009-05-03 Pavel Roskin <proski@gnu.org>
11584
2fee74f1 11585 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11586 not char*.
11587 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11588 Suggested by Javier Martín <lordhabbit@gmail.com>
11589
dfc31a22 11590 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11591 efiemu??.o doesn't exist.
11592 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11593 copying.
11594
18f547ad 115952009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 11596
11597 FreeBSD 64-bit support
11598
18f547ad 11599 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 11600 and loader/i386/bsd_trampoline.S
11601 (bsd_mod_ASFLAGS): new variable
11602 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11603 (FREEBSD_MODTYPE_KERNEL64): likewise
11604 (grub_bsd64_trampoline_start): likewise
11605 (grub_bsd64_trampoline_end): likewise
11606 (grub_bsd64_trampoline_selfjump): likewise
11607 (grub_bsd64_trampoline_gdt): likewise
11608 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11609 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11610 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11611 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 11612 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 11613 of "attrib" member
11614 * loader/i386/bsd_pagetable.c: new file
11615 * loader/i386/bsd_trampoline.S: likewise
11616 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11617 (ALIGN_VAR): likewise
11618 (entry_hi): new variable
11619 (kern_end_mdofs): likewise
11620 (is_64bit): likewise
11621 (grub_freebsd_add_meta): use ALIGN_VAR
11622 (grub_e820_mmap): new declaration
11623 (grub_freebsd_add_mmap): new function
11624 (grub_freebsd_add_meta_module): support 64 bit kernels
11625 (grub_freebsd_list_modules): use ALIGN_VAR
11626 (gdt_descriptor): new declaration
11627 (grub_freebsd_boot): support 64 bit kernels
11628 (grub_bsd_elf64_hook): new function
11629 (grub_bsd_load_elf): support elf64
11630
038c5720 116312009-05-03 Bean <bean123ch@gmail.com>
11632
11633 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11634 after we get the result of if statement.
11635
fc45fb58 116362009-05-03 Bean <bean123ch@gmail.com>
11637
11638 * Makefile.in (enable_efiemu): New variable.
11639
11640 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11641 set.
11642 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11643 path.
11644 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11645 path, add -mno-red-zone option.
11646 (efiemu64_s.o): Likewise.
11647 (efiemu64.o): Use macro $^ for source file.
11648
11649 * configure.ac (--enable-efiemu): New option.
11650
bbee0f2b 116512009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 xnu support
11654
11655 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11656 (pkglib_MODULES): add xnu.mod
11657 (xnu_mod_SOURCES): new variable
11658 (xnu_mod_CFLAGS): likewise
11659 (xnu_mod_LDFLAGS): likewise
11660 (xnu_mod_ASFLAGS): likewise
11661 * conf/i386-pc.rmk: likewise
11662 * conf/x86_64-efi.rmk: likewise
7dd4a573 11663 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 11664 new declaration
11665 * include/grub/i386/macho.h: new file
11666 * include/grub/i386/xnu.h: likewise
11667 * include/grub/macho.h: likewise
11668 * include/grub/machoload.h: likewise
11669 * include/grub/x86_64/macho.h: likewise
11670 * include/grub/x86_64/xnu.h: likewise
11671 * include/grub/xnu.h: likewise
11672 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11673 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11674 * loader/i386/efi/xnu.c: new file
11675 * loader/i386/pc/xnu.c: likewise
11676 * loader/i386/xnu.c: likewise
11677 * loader/i386/xnu_helper.S: likewise
11678 * loader/macho.c: likewise
11679 * loader/xnu.c: likewise
11680 * loader/xnu_resume.c: likewise
11681 * util/grub-dumpdevtree: likewise
11682 * include/grub/i386/pit.h: include grub/err.h
11683 (grub_pit_wait): export
11684 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 11685
5caf964d 116862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 Efiemu
7dd4a573 11689
5caf964d 11690 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 11691 _linux_efi, linux_efi.
11692 new files in grub-emu
5caf964d 11693 new targets efiemu32.o and efiemu64.o
11694 * loader/linux_normal_efiemu.c: likewise
11695 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 11696 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 11697 files to copy
11698 * include/grub/autoefi.h: new file
7dd4a573 11699 * include/grub/i386/efiemu.h: likewise
5caf964d 11700 * include/grub/i386/pc/efiemu.h: likewise
11701 * include/grub/efi/api.h: add LL suffix when necessary
11702 new definitions relating to tables
11703 * include/grub/efiemu/efiemu.h: new file
11704 * include/grub/efiemu/runtime.h: likewise
11705 * efiemu/prepare.c: likewise
11706 * efiemu/loadcore_common.c: likewise
11707 * efiemu/loadcore64.c: likewise
11708 * efiemu/runtime/efiemu.sh: likewise
11709 * efiemu/runtime/efiemu.S: likewise
11710 * efiemu/runtime/efiemu.c: likewise
11711 * efiemu/runtime/config.h: likewise
11712 * efiemu/prepare32.c: likewise
11713 * efiemu/main.c: likewise
11714 * efiemu/modules/pnvram.c: likewise
11715 * efiemu/modules/i386: likewise
11716 * efiemu/modules/i386/pc: likewise
11717 * efiemu/modules/acpi.c: likewise
11718 * efiemu/i386/pc/cfgtables.c: likewise
11719 * efiemu/i386/loadcore64.c: likewise
11720 * efiemu/i386/loadcore32.c: likewise
11721 * efiemu/prepare64.c: likewise
11722 * efiemu/loadcore.c: likewise
11723 * efiemu/symbols.c: likewise
11724 * efiemu/mm.c: likewise
11725 * efiemu/loadcore32.c: likewise
7dd4a573 11726
117272009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 11728
11729 ACPI spoofing
11730
11731 * commands/acpi.c: new file
11732 * commands/i386/pc/acpi.c: likewise
11733 * commands/efi/acpi.c: likewise
11734 * include/grub/acpi.h: likewise
11735 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11736 (acpi_mod_SOURCES): new variable
11737 (acpi_mod_CFLAGS): likewise
11738 (acpi_mod_LDFLAGS): likewise
11739 * conf/i386-efi.rmk: likewise
11740 * conf/x86_64-efi.rmk: likewise
11741
7dd4a573 117422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 11743
11744 Missing part from mmap patch
11745
11746 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11747 (grub_mmap_unregister)
11748 (grub_mmap_free_and_unregister): use grub_mmap_register
11749
7dd4a573 117502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 11751
11752 Mmap services
11753
11754 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11755 * loader/i386/linux.c (find_mmap_size): likewise
11756 (allocate_pages): likewise
11757 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11758 (grub_fill_multiboot_mmap): likewise
11759 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11760 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11761 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11762 (OPENBSD_MMAP_RESERVED): likewise
11763 * include/grub/i386/pc/memory.h: include grub/memory.h
11764 (grub_lower_mem): removed
11765 (grub_upper_mem): likewise
11766 (GRUB_MACHINE_MEMORY_ACPI): new definition
11767 (GRUB_MACHINE_MEMORY_NVS): likewise
11768 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11769 (GRUB_MACHINE_MEMORY_HOLE): likewise
11770 (grub_machine_mmap_register): likewise
11771 (grub_machine_mmap_unregister): likewise
11772 (grub_machine_get_upper): likewise
11773 (grub_machine_get_lower): likewise
11774 (grub_machine_get_post64): likewise
11775 * include/grub/i386/efi/memory.h: new file
11776 * include/grub/x86_64/efi/memory.h: likewise
11777 * include/grub/efi/memory.h: likewise
11778 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
11779 (mmap_mod_SOURCES): new variable
11780 (mmap_mod_LDFLAGS): likewise
11781 (mmap_mod_ASFLAGS): likewise
11782 * conf/i386-coreboot.rmk: likewise
11783 * conf/i386-ieee1275.rmk: likewise
11784 * conf/i386-efi.rmk: likewise
11785 * conf/x86_64-efi.rmk: likewise
11786 * include/grub/types.h (UINT_TO_PTR): new macro
11787 (PTR_TO_UINT32): likewise
11788 (PTR_TO_UINT64): likewise
11789 * include/grub/memory.h: new file
11790 * mmap/i386/pc/mmap.c: likewise
11791 * mmap/i386/pc/mmap_helper.S: likewise
11792 * mmap/i386/uppermem.c: likewise
11793 * mmap/mmap.c: likewise
11794 * mmap/efi/mmap.c: likewise
7dd4a573 11795 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 11796 grub_upper_mem
11797 * kern/i386/pc/init.c (grub_lower_mem): removed variable
11798 (grub_upper_mem): likewise
11799 (grub_machine_init): don't use grub_upper_mem,
11800 make grub_lower_mem local
11801 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
11802 grub_mmap_iterate and grub_mmap_get_upper
11803 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
11804
d558e6b5 118052009-05-02 Bean <bean123ch@gmail.com>
11806
11807 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
11808 script/sh/parser.y.
11809 (pkglib_MODULES): Add normal.mod and sh.mod.
11810 (normal_SOURCES): New variable.
11811 (normal_mod_CFLAGS): Likewise.
11812 (normal_mod_LDFLAGS): Likewise.
11813 (sh_mod_SOURCES): Likewise.
11814 (sh_mod_CFLAGS): Likewise.
11815 (sh_mod_LDFLAGS): Likewise.
11816
11817 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
11818 script/sh/lexer.c_DEPENDENCIES.
11819 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
11820 kern/rescue_reader.c and kern/rescue_parser.c.
11821 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
11822 (grub_emu_SOURCES): Change source files.
11823 (pkglib_MODULES): Remove normal.mod.
11824 (normal_SOURCES): Removed.
11825 (normal_mod_CFLAGS): Likewise.
11826 (normal_mod_LDFLAGS): Likewise.
11827 * conf/i386-coreboot.rmk: Likewise.
11828 * conf/i386-efi.rmk: Likewise.
11829 * conf/i386-ieee1276.rmk: Likewise.
11830 * conf/powerpc-ieee1275.rmk: Likewise.
11831 * conf/sparc64-ieee1275.rmk: Likewise.
11832 * conf/x86_64-efi.rmk: Likewise.
11833
11834 * include/grub/command.h (grub_command_execute): New inline function.
11835
11836 * include/grub/menu.h (grub_menu_entry): Removed commands field.
11837
11838 * include/grub/normal.h: Remove <grub/setjmp.h>.
11839 (grub_fs_module_list): Moved to normal/autofs.c.
11840 (grub_exit_env): Removed.
11841 (grub_command_execute): Likewise.
11842 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
11843 parameter script.
11844 (read_command_list): New function declaration.
11845 (read_fs_list): Likewise.
11846
11847 * include/parser.h: Include <grub/reader.h>.
11848 (grub_parser_split_cmdline): Change type of getline parameter.
11849 (grub_parser): New structure.
11850 (grub_parser_class): New variable.
11851 (grub_parser_execute): New function declaration.
11852 (grub_register_rescue_parser): Likewise.
11853 (grub_parser_register): New inline function.
11854 (grub_parser_unregister): Likewise.
11855 (grub_parser_get_current): Likewise.
11856 (grub_parser_set_current): Likewise.
11857
11858 * include/grub/reader.h: New file.
11859 * kern/reader.c: Likewise.
11860 * kern/rescue_parser.c: Likewise.
11861 * kern/rescue_reader.c: Likewise.
11862 * normal/autofs.c: Likewise.
11863 * normal/dyncmd.c: Likewise.
11864
11865 * include/grub/rescue.h: Removed.
11866 * normal/command.h: Likewise.
11867
11868 * include/grub/script.h: Moved to ...
11869 * include/grub/script_sh.h: ... Moved here.
11870 * normal/execute.c: Moved to ...
11871 * script/sh/execute.c: ... Moved here.
11872 * normal/function.c: Moved to ...
11873 * script/sh/function.c: ... Moved here.
11874 * normal/lexer.c: Moved to ...
11875 * script/sh/lexer.c: ... Moved here.
11876 * normal/parser.y: Moved to ...
11877 * script/sh/parser.y: ... Moved here.
11878 * normal/script.c: Moved to ...
11879 * script/sh/script.c: ... Moved here.
11880
11881 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
11882 <grub/reader.h>.
11883 (grub_exit_env): Removed.
11884 (fs_module_list): Moved to normal/autofs.c.
11885 (grub_file_getline): Don't handle comment here.
11886 (free_menu): Skip removed field entry->commands.
11887 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
11888 script parameter.
11889 (read_config_file): Removed nested parameter, change getline function.
11890 (grub_enter_normal_mode): Removed.
11891 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
11892 (read_command_list): Likewise.
11893 (autoload_fs_module): Moved to normal/autofs.c.
11894 (read_fs_list): Likewise.
11895 (reader_nested): New variable.
11896 (grub_normal_execute): Run parser.sh to switch to sh parser.
11897 (grub_cmd_rescue): Removed.
11898 (cmd_normal): Removed.
11899 (grub_cmd_normal): Unregister itself at the beginning. Don't register
11900 rescue command.
11901 (grub_cmdline_run): New function.
11902 (grub_normal_reader_init): Likewise.
11903 (grub_normal_read_line): Likewise.
11904 (grub_env_write_pager): Likewise.
11905 (cmdline): New variable.
11906 (grub_normal_reader): Likewise.
11907 (GRUB_MOD_INIT): Register normal reader and set as current, register
11908 pager hook, register normal command with grub_register_command_prio,
11909 so that it won't show up in command.lst.
11910 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
11911 grub_fs_autoload_hook.
11912
11913 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
11914 (grub_menu_execute_entry): Replace grub_script_execute with
11915 grub_parser_execute, change parameter to grub_command_execute.
11916
11917 * normal/menu_text.c: Remove <grub/script.h>.
11918
11919 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
11920 and <grub/parser.h>.
11921 (run): Change editor_getline to use new parser interface. Change
11922 parameter to grub_command_execute.
11923
11924 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
11925 <grub/reader.h> and <grub/parser.h>.
11926 (grub_load_normal_mode): Execute normal command.
11927 (grub_main): Call grub_register_core_commands,
11928 grub_register_rescue_parser and grub_register_rescue_reader, use
11929 grub_reader_loop to enter input loop.
11930
7dd4a573 11931 * kern/parser.c (grub_parser_split_cmdline): Change type of
11932 getline parameter.
d558e6b5 11933 (grub_parser_class): New variable.
11934 (grub_parser_execute): New function.
11935
11936 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
11937 * loader/multiboot2.c: Likewise.
11938 * loader/sparc64/ieee1275/linux.c: Likewise.
11939
11940 * util/grub-emu.c (read_command_list): New dummy function.
11941
18db813d 119422009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11943
11944 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
11945 count to 16 for CCISS and IDA.
11946
6c67de15 119472009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11948
11949 * normal/menu_text.c (grub_wait_after_message): Print a newline
11950 after waiting for user input.
11951
11952 * loader/i386/linux.c: Include `<grub/normal.h>'.
11953 (grub_cmd_linux): Improve the error message about `ask' mode, by
11954 waiting for user input so it's not missed (we can do this, since
11955 user requested interaction).
11956
d9dc87b0 119572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 Added missing lst to grub-mkrescue
11960
11961 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
11962 and ${input_dir}/parttool.lst
11963
ac8a2baa 119642009-04-30 David S. Miller <davem@davemloft.net>
11965
ad22a610 11966 * util/hostdisk.c (device_is_wholedisk): New function.
11967 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
11968 zero only if device_is_wholedisk() returns true.
11969
6966215d 11970 * util/hostdisk.c (convert_system_partition_to_system_disk):
11971 Handle virtual disk devices named /dev/vdiskX as found on sparc
11972 and powerpc.
11973
ac8a2baa 11974 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
11975 lettered partition specifier is found, convert to numbered.
11976
979b4fb4 119772009-04-29 David S. Miller <davem@davemloft.net>
11978
e2bf39b2 11979 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
11980 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11981
3c64e104 11982 * normal/command.c: Add missing newline at end of file.
11983
979b4fb4 11984 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
11985 warnings.
11986 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
11987 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
11988 grub_ofdisk_read): Likewise, and deal similarly with the fact that
11989 ihandles have a 32-bit type but need to be stored in a "void *".
11990
136d9f82 119912009-04-28 Pavel Roskin <proski@gnu.org>
11992
9459c306 11993 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
11994 not disk. Adjust all dependencies.
2e08a26a 11995 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 11996 grub_disk_close().
11997
136d9f82 11998 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
11999 parent's partition, don't copy it by reference, as it gets freed
12000 on close.
12001
7dd4a573 120022009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 12003
12004 Preboot hooks support
12005
12006 * commands/boot.c (struct grub_preboot_t): new declaration
12007 (preboots_head): new variable
12008 (preboots_tail): likewise
12009 (grub_loader_register_preboot_hook): new function
12010 (grub_loader_unregister_preboot_hook): likewise
12011 (grub_loader_set): launch preboot hooks
12012 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12013 (grub_loader_register_preboot_hook): new declaration
12014 (grub_loader_unregister_preboot_hook): likewise
12015
5af922b5 120162009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 Warning fix
12019
7dd4a573 12020 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 12021 calling grub_dprintf
12022
a5562c30 120232009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 Bug and warning fixes
12026
7dd4a573 12027 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 12028 declaration
12029 * commands/test.c (test_parse): fixed bug with file tests and corrected
12030 declaration of find_file
12031
4006f85c 120322009-04-26 Pavel Roskin <proski@gnu.org>
12033
12034 * Makefile.in: Don't install empty manual pages if help2man is
12035 missing. Use help2man option for output, not shell redirection.
12036
5c77c3de 120372009-04-26 David S. Miller <davem@davemloft.net>
12038
12039 * util/grub-mkdevicemap.c (make_device_map): Add missing
12040 NESTED_FUNC_ATTR to process_device().
12041
033b10a8 120422009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 Test command
12045
12046 * commands/test.c: rewritten to use bash-like test
12047
e4343593 120482009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 Parttool autoloading and improvements
12051
7dd4a573 12052 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 12053 (parttool.lst): new target
12054 * genmk.rb: generate parttool-*
12055 (CLEANFILES): add #{parttool}
12056 (PARTTOOLFILES): new variable
12057 * genparttoollist.sh: new file
7dd4a573 12058 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 12059 (grub_pcpart_type): likewise
12060 * commands/parttool.c (helpmsg): new variable
12061 (grub_cmd_parttool): output help if not enough arguments are supplied
12062 autoload modules
12063 (GRUB_MOD_INIT(parttool)): use helpmsg
12064
0d312500 120652009-04-24 David S. Miller <davem@davemloft.net>
12066
7dd4a573 12067 Avoiding opening same device multiple times in device iterator.
0d312500 12068
12069 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 12070 and use it to build a list of partitions in iterate_disk() and
0d312500 12071 iterate_partition().
12072
ac20caff 12073 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12074 on disk->data.
12075
0dcf7495 12076 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12077 grub_devalias_iterate() result instead of unconditional 0.
12078 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12079 Also, capture hook return value, either directly or via
12080 grub_children_iterate(), and propagate to caller.
12081 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12082 grub_children_iterate): Return value is now 'int' instead of
12083 'grub_err_t'.
12084 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12085 like a proper iterator, stopping when hooks return non-zero.
12086 (grub_devalias_iterate): Likewise.
12087
c8c08833 120882009-04-23 David S. Miller <davem@davemloft.net>
12089
12090 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12091
f01005a8 120922009-04-22 David S. Miller <davem@davemloft.net>
12093
12094 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12095 is larger than address_cells, use that value for address_cells too.
12096
4e8269da 12097 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12098 IEEE1275_MAX_PATH_LEN): Define.
12099 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12100 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12101 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12102 'devtype'. Explicitly NULL terminate devalias expansion.
12103
a1447506 12104 * util/sparc64/ieee1275/misc.c: New file.
12105 * util/sparc64/ieee1275/grub-setup.c: New file.
12106 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12107 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12108 * util/sparc64/ieee1275/grub-install.in: New file.
12109 * util/ieee1275/ofpath.c: New file.
12110 * util/ieee1275/devicemap.c: New file.
12111 * util/devicemap.c: New file.
12112 * util/deviceiter.c: New file.
12113 * kern/sparc64/ieee1275/init.c: New file.
12114 * include/grub/util/ofpath.h: New file.
12115 * include/grub/util/deviceiter.h: New file.
12116 * util/grub-mkdevicemap.c: Include deviceiter.h.
12117 Implement using grub_util_emit_devicemap_entry and
12118 grub_util_iterate_devices.
12119 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12120 util/devicemap.c into grub-mkdevicemap
12121 * conf/i386-efi.rmk: Likewise.
12122 * conf/i386-ieee1275.rmk: Likewise.
12123 * conf/i386-pc.rmk: Likewise.
12124 * conf/powerpc-ieee1275.rmk: Likewise.
12125 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
12126 images and installation utilities. Build kernel as image
12127 instead of as elf binary. Use common rules as much as possible.
12128
7dd4a573 121292009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 12130
12131 Correct GPT definition
12132
7dd4a573 12133 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 12134 of "attrib" member
12135
c6c5219f 121362009-04-19 Felix Zielcke <fzielcke@z-51.de>
12137
12138 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
12139
0552ff9f 121402009-04-19 David S. Miller <davem@davemloft.net>
12141
12142 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
12143 (grub_rescue_cmd_linux): Rename to...
12144 (grub_cmd_linux): and fix prototype.
12145 (grub_rescue_cmd_initrd): Rename to...
12146 (grub_cmd_initrd): and fix prototype.
12147 (cmd_linux, cmd_initrd): New.
12148 (GRUB_MOD_INIT(linux)): Use grub_register_command().
12149 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
12150
d1a282fc 121512009-04-17 Pavel Roskin <proski@gnu.org>
12152
07c5039f 12153 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
12154 format.
12155 (grub_ohci_transfer): Likewise.
12156
b012002d 12157 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12158
1bc09c35 12159 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12160 return without a value. Fix inconsistent indentation.
12161
e0ff9126 12162 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12163 match struct grub_fs.
12164
d1a282fc 12165 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12166 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12167 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12168 * commands/lspci.c (grub_lspci_iter): Likewise.
12169
a96df3f2 121702009-04-16 Bean <bean123ch@gmail.com>
12171
12172 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12173 value.
12174
41bb0fe9 121752009-04-15 Pavel Roskin <proski@gnu.org>
12176
12177 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12178 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12179 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12180 definitions.
12181
596c6970 121822009-04-15 Felix Zielcke <fzielcke@z-51.de>
12183
12184 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 12185 that no multiple data or metadata areas are supported and `Unknown
596c6970 12186 metadata header'.
12187
7dd4a573 121882009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 12189
12190 Move loader out of the kernel
12191
12192 * kern/loader.c: moved to ...
12193 * commands/boot.c: ... moved here
12194 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12195 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12196 * include/grub/kernel.h (grub_machine_fini): export
12197 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12198 (grub_loader_set): likewise
12199 (grub_loader_unset): likewise
12200 (grub_loader_boot): likewise
12201 * conf/common.rmk: new module boot.mod
12202 (pkglib_MODULES): add boot.mod
12203 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12204 (grub_emu_SOURCES): likewise
12205 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12206 (grub_emu_SOURCES): likewise
12207 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12208 (grub_emu_SOURCES): likewise
12209 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12210 (grub_emu_SOURCES): likewise
12211 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12212 (grub_emu_SOURCES): likewise
7dd4a573 12213 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12214 (grub_emu_SOURCES): likewise
0d5d5653 12215 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 12216 (grub_emu_SOURCES): likewise
0d5d5653 12217
7dd4a573 122182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 12219
12220 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 12221
5999d619 12222 * kern/misc.c (grub_itoa): Removed function
12223 (grub_ltoa): likewise
12224 (grub_vsprintf): use grub_lltoa
12225
7dd4a573 122262009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 12227
12228 Restore grub-emu
12229
12230 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12231 * conf/i386-coreboot.rmk: likewise
12232 * conf/i386-ieee1275.rmk: likewise
12233 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12234
20318222 122352009-04-15 Felix Zielcke <fzielcke@z-51.de>
12236
12237 * INSTALL: Add that `./autogen.sh' needs to be run before
12238 `./configure.'.
12239
d05f0df3 122402009-04-14 Bean <bean123ch@gmail.com>
12241
12242 * Makefile.in (pkglib_DATA): Add handler.lst.
12243 (handler.lst): New rule.
12244
12245 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12246 * conf/i386-coreboot.rmk: Likewise.
12247 * conf/i386-ieee1275.rmk: Likewise.
12248 * conf/i386-efi.rmk: Likewise.
12249 * conf/x86_64-efi.rmk: Likewise.
12250 * conf/powerpc-ieee1275.rmk: Likewise.
12251 * conf/sparc64-ieee1275.rmk: Likewise.
12252
12253 * genhandlerlist.sh: New file.
12254
12255 * genmk.rb: Add rules to generate handler.lst.
12256
12257 * include/grub/normal.h (grub_file_getline): New function definition.
12258 (read_handler_list): Likewise.
12259 (free_handler_list): Likewise.
12260
12261 * include/grub/term.h (grub_term_register_input): Add name parameter
12262 for auto generation of handler.lst.
12263 (grub_term_register_output): Likewise.
12264
12265 * normal/handler.c: New file.
12266
12267 * normal/main.c (get_line): Renamed to grub_file_getline.
12268 (read_config_file): Use the newly renamed grub_file_getline.
12269 (read_command_list): Likewise.
12270 (read_fs_list): Likewise.
12271 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12272 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12273
12274 * term/efi/console.c (grub_console_init): Add name parameter for auto
12275 generation of handler.lst.
12276 * term/gfxterm.c: Likewise.
12277 * term/i386/pc/at_keyboard.c: Likewise.
12278 * term/i386/pc/console.c: Likewise.
12279 * term/i386/pc/serial.c: Likewise.
12280 * term/i386/pc/vesafb.c: Likewise.
12281 * term/i386/pc/vga.c: Likewise.
12282 * term/i386/pc/vga_text.c: Likewise.
12283 * term/ieee1275/ofconsole.c: Likewise.
12284 * term/usb_keyboard.c: Likewise.
12285
33c846be 122862009-04-14 Bean <bean123ch@gmail.com>
12287
12288 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12289 properly with null character.
12290
4484e01e 122912009-04-14 Felix Zielcke <fzielcke@z-51.de>
12292
12293 * configure: Remove.
12294 * config.h.in: Likewise.
f93d668e 12295 * stamp-h.in: Likewise.
4484e01e 12296 * DISTLIST: Likewise.
12297 * conf/common.mk: Likewise.
12298 * conf/i386-coreboot.mk: Likewise.
12299 * conf/i386-efi.mk: Likewise.
12300 * conf/i386-ieee1275.mk: Likewise.
12301 * conf/i386.mk: Likewise.
12302 * conf/i386-pc.mk: Likewise.
12303 * conf/powerpc-ieee1275.mk: Likewise.
12304 * conf/sparc64-ieee1275.mk: Likewise.
12305 * conf/x86_64-efi.mk: Likewise.
12306
12307 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12308 develop on GRUB.
12309
7dd4a573 123102009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 12311 David S. Miller <davem@davemloft.net>
12312
12313 * util/hostdisk.c (make_device_name): Fix buffer length
12314 calculations.
12315
e25b5a8c 123162009-04-14 Felix Zielcke <fzielcke@z-51.de>
12317
12318 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
12319 <sys/param.h> and <sys/sysctl.h>.
12320 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
12321 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
12322 opening the device and reset them afterwards.
12323
1f1f580c 123242009-04-13 Pavel Roskin <proski@gnu.org>
12325
12326 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
12327 Reported by John Stanley <jpsinthemix@verizon.net>
12328
7ebc2d6b 123292009-04-13 Robert Millan <rmh@aybabtu.com>
12330
12331 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 12332 that name for menuentries when appropriate.
7ebc2d6b 12333
d8ba3667 123342009-04-13 Felix Zielcke <fzielcke@z-51.de>
12335
12336 * util/grub.d/10_freebsd.in: Add a missing `fi'.
12337
cba416eb 123382009-04-13 Robert Millan <rmh@aybabtu.com>
12339
12340 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
12341 to Linux, simply abort telling the user it's no longer supported.
12342
a547a745 123432009-04-13 Felix Zielcke <fzielcke@z-51.de>
12344
12345 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 12346 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 12347 `freebsd_loadenv' only when devices.hints exist.
12348
232a769c 123492009-04-13 Pavel Roskin <proski@gnu.org>
12350
12351 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
12352
c3012039 123532009-04-13 Felix Zielcke <fzielcke@z-51.de>
12354
12355 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
12356 partition number.
12357 (grub_drive): Likewise.
12358
234022fe 123592009-04-13 David S. Miller <davem@davemloft.net>
12360
12361 * kern/sparc64/ieee1275/ieee1275.c: New file.
12362 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
12363 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
12364 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
12365 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
12366 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
12367 grub_ieee1275_alloc_physmem): Declare new exported functions.
12368
d8e1836c 12369 * include/grub/sparc64/ieee1275/loader.h: New file.
12370 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12371 * include/grub/sparc64/kernel.h: Likewise.
12372 * loader/sparc64/ieee1275/linux.c: Likewise.
12373
96bd81ec 12374 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
12375 (grub_fstest_SOURCES): Likewise.
12376
6a4737e5 12377 * util/hostdisk.c (make_device_name): Do not make any assumptions
12378 about the length of drive names.
12379
1d7a72fd 12380 * kern/dl.c (grub_dl_load_file): Close file immediately when
12381 we are done using it.
12382
56bc2471 123832009-04-12 David S. Miller <davem@davemloft.net>
12384
12385 * kern/misc.c (grub_ltoa): Fix cast when handling negative
12386 values. Noticed by Pavel Roskin.
12387
df38d0bb 12388 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
12389 target compiler.
7dd4a573 12390
e382e93a 12391 * genmk.rb: Add more flexible image type specification, also
12392 pass --strip-unneeded to objcopy.
12393 * conf/i386-pc.rmk: Use *_FORMAT.
12394 * conf/i386-pc.mk: Rebuilt.
12395
f5dbbca9 12396 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
12397 (OFDISK_HASH_SZ): Define.
12398 (ofdisk_hash): New hash table.
12399 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
12400 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
12401 instead of device phandle which is not unique.
12402
91c88b12 12403 * kern/sparc64/ieee1275/init.c: Delete, replace with...
12404 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
12405 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
12406 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
12407 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
12408 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
12409 GRUB_KERNEL_MACHINE_DATA_END): Define.
12410 (grub_kernel_image_size, grub_total_module_size): Declare.
12411
5b5d4aa5 124122009-04-12 Pavel Roskin <proski@gnu.org>
12413
7dd4a573 12414 * configure.ac: Change the logic when we check for target tools.
12415 Do it when the target is specified and it's different from the
12416 specified value of the host.
5b5d4aa5 12417
c91e1793 124182009-04-11 Felix Zielcke <fzielcke@z-51.de>
12419
12420 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
12421 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
12422 GNU/kFreeBSD. Check if a device is a character device. Use
12423 DIOCGMEDIASIZE to get the size.
12424 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
12425 support for GNU/kFreeBSD.
12426 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
12427 is a character device instead of a block device. Add support for
12428 FreeBSD device names.
12429
12430 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
12431 is a character device instead of a block device.
12432
12433 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
12434 is a character device instead of a block device.
12435
b1ac8644 124362009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
12437
12438 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
12439 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
12440 FreeBSD. Check if a device is a character device. Use
12441 DIOCGMEDIASIZE to get the size.
12442 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
12443 support for FreeBSD.
12444 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
12445 is a character device instead of a block device. Add support for
12446 FreeBSD device names.
12447
12448 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
12449 a character device instead of a block device.
12450 (grub_util_check_char_device): New function.
12451
12452 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
12453 a character device instead of a block device.
12454
12455 * include/grub/util/getroot.h (grub_util_check_char_device): New
12456 prototype.
12457
a3f7515a 124582009-04-11 David S. Miller <davem@davemloft.net>
12459
12460 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
12461 static libgcc.
12462 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
12463 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
12464 function, if present.
12465 (__bswapdi2): Likewise.
12466
0d44993d 12467 * include/grub/sparc64/ieee1275/boot.h: New file.
12468 * boot/sparc64/ieee1275/boot.S: Likewise.
12469 * boot/sparc64/ieee1275/diskboot.S: Likewise.
12470
ed3d2bc2 12471 * kern/misc.c (grub_ltoa): New function.
12472 (grub_vsprintf): Use it to format 'long' integers.
12473
d3bfb59c 124742009-04-10 David S. Miller <davem@davemloft.net>
12475
12476 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
12477 slots are of type grub_ieee1275_cell_t.
12478 (grub_nand_read): Likewise.
12479 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
12480 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
12481 macros are used to compare values in arg/ret block of the call.
12482 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
12483 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
12484 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
12485 grub_ieee1275_instance_to_path, grub_ieee1275_write,
12486 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
12487 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
12488 grub_ieee1275_close, grub_ieee1275_set_property,
12489 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
12490 grub_ieee1275_cell_t.
12491 * kern/ieee1275/openfw.c (grub_map): Likewise.
12492 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
12493 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
12494
450e2238 12495 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
12496 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12497 (grub_devalias_iterate): Likewise.
12498
7dd4a573 124992009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 12500
12501 UFS improvements
12502
12503 * fs/ufs.c (INODE_NBLOCKS): new definition
12504 (struct grub_ufs_dirent): added fields for non-BSD dirents
12505 (grub_ufs_get_file_block): fixed double indirect handling
12506 (grub_ufs_lookup_symlink): use more robust way to determine whether
12507 symlink is inline
12508 (grub_ufs_find_file): support for non-BSD dirents
12509 (grub_ufs_dir): support for non-BSD dirents
12510
e7e6862a 125112009-04-10 Bean <bean123ch@gnail.com>
12512
12513 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
12514 attribute, otherwise the size would be wrong for i386 platform.
12515
12516 * include/grub/pci.h (grub_pci_read_word): New inline function.
12517 (grub_pci_read_byte): Likewise.
12518 (grub_pci_write): Likewise.
12519 (grub_pci_write_word): Likewise.
12520 (grub_pci_write_byte): Likewise.
12521
12522 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
12523
12524 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
12525 (find_framebuf): Scan pci to locate the frame buffer address.
12526
12527 * commands/efi/fixvideo.c: New file.
12528
12529 * commands/efi/loadbios.c: Likewise.
12530
12531 * commands/memrw.c: Likewise.
12532
12533 * util/grub-dumpbios.in: Likewise.
12534
12535 * conf/common.rmk (grub-dumpbios): New utility.
12536 (pkglib_MODULES): New module memrw.mod.
12537 (memrw_mod_SOURCE): New macro.
12538 (memrw_mod_CFLAGS): Likewise.
12539 (memrw_mod_LDFLAGS): Likewise.
12540
7dd4a573 12541 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12542 fixvideo.mod.
12543 (loadbios_mod_SOURCE): New macro.
12544 (loadbios_mod_CFLAGS): Likewise.
12545 (loadbios_mod_LDFLAGS): Likewise.
12546 (fixvideo_mod_SOURCE): Likewise.
12547 (fixvideo_mod_CFLAGS): Likewise.
12548 (fixvideo_mod_LDFLAGS): Likewise.
12549
7dd4a573 12550 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12551 fixvideo.mod.
12552 (loadbios_mod_SOURCE): New macro.
12553 (loadbios_mod_CFLAGS): Likewise.
12554 (loadbios_mod_LDFLAGS): Likewise.
12555 (fixvideo_mod_SOURCE): Likewise.
12556 (fixvideo_mod_CFLAGS): Likewise.
12557 (fixvideo_mod_LDFLAGS): Likewise.
12558
af63ada2 125592009-04-08 Felix Zielcke <fzielcke@z-51.de>
12560
12561 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12562
c2cdde70 125632009-04-07 David S. Miller <davem@davemloft.net>
12564
12565 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12566 support for R_SPARC_OLO10 relocations. Fix compile warning for
12567 R_SPARC_WDISP30 case.
ea3f72cf 12568 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 12569
761319cf 125702009-04-06 Pavel Roskin <proski@gnu.org>
12571
1007d1f5 12572 * include/grub/misc.h (ARRAY_SIZE): New macro.
12573 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12574 New macro.
12575 * loader/i386/linux.c (allocate_pages): Use free_pages().
12576 (grub_linux_unload): Don't use free_pages().
12577 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12578 wrong index. Treat all other modes as text modes.
12579 (grub_cmd_linux): Initialize vid_mode unconditionally to
12580 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12581
761319cf 12582 * commands/help.c (print_command_help): Use cmd->prio, not
12583 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12584
ea761d40 125852009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 12586
ea761d40 12587 Parttool
12588
12589 * parttool/pcpart.c: new file
12590 * commands/parttool.c: likewise
12591 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12592 (parttool_mod_SOURCES): new variable
12593 (parttool_mod_CFLAGS): likewise
12594 (parttool_mod_LDFLAGS): likewise
12595 (pcpart_mod_SOURCES): likewise
12596 (pcpart_mod_CFLAGS): likewise
12597 (pcpart_mod_LDFLAGS): likewise
7dd4a573 12598 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 12599 and parttool/pcpart.c
12600 * conf/i386-efi.rmk: likewise
12601 * conf/i386-ieee1275.rmk: likewise
12602 * conf/i386-pc.rmk: likewise
12603 * conf/powerpc-ieee1275.rmk: likewise
12604 * conf/sparc64-ieee1275.rmk: likewise
12605 * conf/x86_64-ieee1275.rmk: likewise
12606
05aaebfb 126072009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 Support for mtime and further expandability of dir command
12610
12611 * include/grub/lib/datetime.h: moved to ...
7dd4a573 12612 * include/grub/datetime.h: ... moved here and added
05aaebfb 12613 declaration of grub_unixtime2datetime. All users updated
7dd4a573 12614 * include/grub/fs.h: new syntax for dir and mtime functions in
12615 struct grub_fs
05aaebfb 12616 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12617 and GRUB_FSHELP_FLAGS_MASK
12618 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12619 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12620 (grub_ext2_mtime): new function
12621 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12622 (grub_hfsplus_mtime): new function
12623 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12624 (GRUB_UFS_ATTR_FILE): likewise
12625 (GRUB_UFS_ATTR_LNK): likewise
12626 (struct grub_ufs_sblock): new fields mtime
12627 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12628 all users updated
12629 (grub_ufs_dir): mtime support
12630 (grub_ufs_mtime): new function
12631 * fs/affs.c (grub_affs_dir): use new dir syntax
12632 * fs/afs.c (grub_afs_dir): likewise
12633 * fs/cpio.c (grub_cpio_dir): likewise
12634 * fs/fat.c (grub_fat_find_dir): likewise
12635 * fs/hfs.c (grub_hfs_dir): likewise
12636 * fs/iso9660.c (grub_iso9660_dir): likewise
12637 * fs/jfs.c (grub_jfs_dir): likewise
12638 * fs/minix.c (grub_minix_dir): likewise
12639 * fs/ntfs.c (grub_ntfs_dir): likewise
12640 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12641 * fs/sfs.c (grub_sfs_dir): likewise
12642 * fs/xfs.c (grub_xfs_dir): likewise
12643 * util/hostfs.c (grub_hostfs_dir): likewise
12644 * lib/datetime.c: moved to ...
12645 * normal/datetime.c: ... moved here
12646 (grub_unixtime2datetime): new function
12647 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 12648 * normal/completion.c (iterate_dir): use new dir syntax
12649 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 12650 last modification time of a volume
7dd4a573 12651 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 12652 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 12653 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 12654 (normal_mod_SOURCES): likewise
12655 (datetime_mod_SOURCES): Removed lib/datetime.c
12656 * conf/i386-efi.rmk: likewise
7dd4a573 12657 * conf/i386-ieee1275.rmk: likewise
05aaebfb 12658 * conf/i386-pc.rmk: likewise
12659 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12660 * conf/sparc64-ieee1275.rmk: likewise
12661 * conf/x86_64-efi.rmk: likewise
05aaebfb 12662
8a7e1a14 126632009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 12666
12667 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 12668 on grub_fat_find_dir
12669 (grub_fat_find_dir): use grub_fat_iterate_dir
12670 (grub_fat_label): likewise
12671
04186a9c 126722009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12673
7dd4a573 12674 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 12675 and command.h
12676 remove extraneous kernel_elf_HEADERS
12677
da4c0bb6 126782009-04-04 Bean <bean123ch@gnail.com>
12679
12680 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12681
12682 * util/misc.c: Likewise.
12683
54ad9555 126842009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12685
12686 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12687 instead of grub_printf.
12688
7a6bf9f2 126892009-04-03 Robert Millan <rmh@aybabtu.com>
12690
12691 * loader/i386/linux.c (grub_linux_setup_video): Fill
12692 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12693 values from `mode info' structure instead of hardcoded
12694 values.
12695
3fcc2083 126962009-04-01 Pavel Roskin <proski@gnu.org>
12697
12698 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12699 unused now.
12700 * genmk.rb: Likewise.
12701 * configure.ac: Likewise.
12702
5ec9740b 127032009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12704
12705 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12706 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12707
5270cec8 127082009-04-01 David S. Miller <davem@davemloft.net>
12709
12710 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 12711 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 12712 (grub_setjmp): Mark with 'returns_twice' attribute.
12713 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12714 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12715 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12716
9c3dd854 127172009-04-01 Robert Millan <rmh@aybabtu.com>
12718
12719 Reapply fix from 2008-07-28 which was accidentally reverted; also
12720 perform the same fix to a similar check in same function.
12721
12722 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12723 with the same number are found, just use issue a warning with
12724 grub_dprintf(), as this error has been reported to be non-fatal.
12725
0d818b7e 127262009-03-31 Pavel Roskin <proski@gnu.org>
12727
12728 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12729 for cross-compilation.
12730
95646d92 127312009-03-30 Robert Millan <rmh@aybabtu.com>
12732
12733 Fix i386-ieee1275 build.
12734
12735 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12736 Remove declaration.
12737
6a003ed1 127382009-03-30 Pavel Roskin <proski@gnu.org>
12739
12740 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12741 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12742 zero-terminated, rely only on the strlen value. Fix comparison
12743 of strings differing in length.
12744
92f33540 127452009-03-30 Robert Millan <rmh@aybabtu.com>
12746
12747 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12748 checking for abi version. Improve error messages on BIOS to notify
12749 user about `linux16' command.
12750
a8c48fd5 127512009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12752
f968172e 12753 Leak fixes
a8c48fd5 12754
f968172e 12755 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12756 in case of collision
12757 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 12758
9c323f09 127592009-03-29 Robert Millan <rmh@aybabtu.com>
12760
12761 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12762 set `vid_mode' accordingly.
12763 (grub_linux_boot): Process `vid_mode' and set video mode.
12764
ae68f423 127652009-03-29 Robert Millan <rmh@aybabtu.com>
12766
12767 * util/grub.d/10_linux.in (linux_entry): New function.
12768 Factorize generation of Linux boot entries.
12769
5709cfc4 127702009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12771
12772 Make the format of Environment Block plain text. The boot loader
12773 part is not tested well yet.
7dd4a573 12774
5709cfc4 12775 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
12776 (buffer): Removed.
12777 (envblk): Likewise.
12778 (usage): Remove "info" and "clear". Add "unset". Update the
12779 description of "set", as this does not delete variables any
12780 longer.
12781 (create_envblk_file): Complete rewrite.
12782 (open_envblk_file): Likewise.
12783 (cmd_info): Removed.
12784 (cmd_list): Likewise.
12785 (cmd_set): Likewise.
12786 (cmd_clear): Likewise.
12787 (list_variables): New function.
12788 (write_envblk): Likewise.
12789 (set_variables): Likewise.
12790 (unset_variables): Likewise.
12791 (main): Complete rewrite.
12792
12793 * commands/loadenv.c (buffer): Removed.
12794 (envblk): Likewise.
12795 (open_envblk_file): New function.
12796 (read_envblk_file): Complete rewrite.
12797 (grub_cmd_load_env): Likewise.
12798 (grub_cmd_list_env): Likewise.
12799 (struct blocklist): New struct.
12800 (free_blocklists): New function.
12801 (check_blocklists): Likewise.
12802 (write_blocklists): Likewise.
12803 (grub_cmd_save_env): Complete rewrite.
12804
12805 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
12806 a plain text signature.
12807 (GRUB_ENVBLK_MAXLEN): Removed.
12808 (struct grub_envblk): Complete rewrite.
12809 (grub_envblk_find): Removed.
12810 (grub_envblk_insert): Likewise.
12811 (grub_envblk_open): New prototype.
12812 (grub_envblk_set): Likewise.
12813 (grub_envblk_delete): Put const to VALUE.
12814 (grub_envblk_iterate): Put const to NAME and VALUE.
12815 (grub_envblk_close): New prototype.
12816 (grub_envblk_buffer): New inline function.
12817 (grub_envblk_size): Likewise.
12818
12819 * lib/envblk.c: Include grub/mm.h.
12820 (grub_env_find): Removed.
12821 (grub_envblk_open): New function.
12822 (grub_envblk_close): Likewise.
12823 (escaped_value_len): Likewise.
12824 (find_next_line): Likewise.
12825 (grub_envblk_insert): Removed.
12826 (grub_envblk_set): New function.
12827 (grub_envblk_delete): Complete rewrite.
12828 (grub_envblk_iterate): Likewise.
12829
a9368fd3 128302009-03-28 Robert Millan <rmh@aybabtu.com>
12831
12832 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
12833 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
12834 variables. Use 16-bit loader.
12835 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
12836 loader.
12837 * kern/i386/loader.S (grub_linux_boot): Rename to ...
12838 (grub_linux16_boot): ... this. Update all users.
12839 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
12840 (grub_linux_boot): ... this. Update all users.
12841
12842 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
12843 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
12844 commands to `linux16' and `initrd16'.
12845 (GRUB_MOD_FINI(linux)): Rename to ...
12846 (GRUB_MOD_FINI(linux16)): ... this.
12847
e4dd5a7e 128482009-03-24 Pavel Roskin <proski@gnu.org>
12849
12850 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
12851 not just for compilation.
12852
c04d6e05 128532009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 Move multiboot helper out of kernel
12856
12857 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
12858 `loader/i386/multiboot_helper.S'.
12859 * conf/i386-coreboot.rmk: Likewise
12860 * conf/i386-ieee1275.rmk: Likewise
12861
12862 * kern/i386/loader.S: Move multiboot helpers from here...
12863 * loader/i386/multiboot_helper.S: ...moved here
12864 * include/grub/i386/loader.h: Move declarations of multiboot
12865 helpers from here...
12866 * include/grub/i386/multiboot.h: ...moved here
12867 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
12868
42a5b3fc 128692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12870
12871 * kern/env.c (grub_env_context_open): Added an argument to specify
12872 whether a new context inherits exported variables from current
12873 one. This is useful when making a sandbox to interpret a config
12874 file.
12875 All callers updated.
12876
12877 * include/grub/env.h (grub_env_context_open): Updated the prototype.
12878
b28bbc4e 128792009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12880
12881 * kern/env.c (grub_env_context_close): Fix memory leaks.
12882
f04f02e4 128832009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12884
12885 * normal/main.c (grub_normal_execute): Added an argument
12886 BATCH to specify if an interactive interface should be provided
12887 after reading a config file.
12888 All callers updated.
12889 (read_command_list): Prevent being executed twice.
12890 (read_fs_list): Likewise.
12891
42a5b3fc 12892 * include/grub/normal.h (grub_normal_execute): Updated the
12893 prototype.
f04f02e4 12894
41473ac2 128952009-03-22 Pavel Roskin <proski@gno.org>
12896
fbc00b0c 12897 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
12898 _start.
12899 * kern/i386/pc/startup.S: Likewise.
12900 * kern/i386/efi/startup.S: Likewise.
12901 * kern/i386/ieee1275/startup.S: Likewise.
12902 * kern/i386/coreboot/startup.S: Likewise.
12903 * kern/x86_64/efi/startup.S: Likewise.
12904
41473ac2 12905 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
12906 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
12907 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
12908
2274cc8f 129092009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 Bugfixes in multiboot for bugs uncovered by solaris kernel.
12912
12913 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
12914 limit detection.
12915 Use vaddr of correct segment for entry_point.
12916
b1b797cb 129172009-03-21 Bean <bean123ch@gmail.com>
12918
12919 * commands/blocklist.c: Add include file <grub/command.h>, remove
12920 <grub/normal.h> and <grub/arg.h>.
12921 (grub_cmd_blocklist): Use the new command interface.
12922 (GRUB_MOD_INIT): Likewise.
12923 (GRUB_MOD_FINI): Likewise.
12924 * commands/boot.c: Likewise.
12925 * commands/cat.c: Likewise.
12926 * commands/cmp.c: Likewise.
12927 * commands/configfile.c: Likewise.
12928 * commands/crc.c: Likewise.
12929 * commands/echo.c: Likewise.
12930 * commands/halt.c: Likewise.
12931 * commands/handler.c: Likewise.
12932 * commands/hdparm.c: Likewise.
12933 * commands/help.c: Likewise.
12934 * commands/hexdump.c: Likewise.
12935 * commands/loadenv.c: Likewise.
12936 * commands/ls.c: Likewise.
12937 * commands/lsmmap.c: Likewise.
12938 * commands/lspci.c: Likewise.
12939 * commands/loadenv.c: Likewise.
12940 * commands/read.c: Likewise.
12941 * commands/reboot.c: Likewise.
12942 * commands/search.c: Likewise.
12943 * commands/sleep.c: Likewise.
12944 * commands/test.c: Likewise.
12945 * commands/usbtest.c: Likewise.
12946 * commands/videotest.c: Likewise.
12947 * commands/i386/cpuid.c: Likewise.
12948 * commands/i386/pc/halt.c: Likewise.
12949 * commands/i386/pc/play.c: Likewise.
12950 * commands/i386/pc/pxecmd.c: Likewise.
12951 * commands/i386/pc/vbeinfo.c: Likewise.
12952 * commands/i386/pc/vbetest.c: Likewise.
12953 * commands/ieee1275/suspend.c: Likewise.
12954 * disk/loopback.c: Likewise.
12955 * font/font_cmd.c: Likewise.
12956 * hello/hello.c: Likewise.
12957 * loader/efi/appleloader.c: Likewise.
12958 * loader/efi/chainloader.c: Likewise.
12959 * loader/i386/bsd.c: Likewise.
12960 * loader/i386/efi/linux.c: Likewise.
12961 * loader/i386/ieee1275/linux.c: Likewise.
12962 * loader/i386/linux.c: Likewise.
12963 * loader/i386/pc/chainloader.c: Likewise.
12964 * loader/i386/pc/linux.c: Likewise.
12965 * loader/powerpc/ieee1275/linux.c: Likewise.
12966 * loader/multiboot_loader.c: Likewise.
12967 * term/gfxterm.c: Likewise.
12968 * term/i386/pc/serial.c: Likewise.
12969 * term/terminfo.c: Likewise.
12970
12971 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
12972 * term/i386/pc/vga.c: Likewise.
12973 * video/readers/jpeg.c: Likewise.
12974 * video/readers/png.c: Likewise.
12975 * video/readers/tga.c: Likewise.
12976
12977 * util/grub-fstest (cmd_loopback): Removed.
12978 (cmd_blocklist): Likewise.
12979 (cmd_ls): Likewise.
12980 (grub_register_command): Likewise.
12981 (grub_unregister_command): Likewise.
12982 (execute_command): Use grub_command_find to locate command and execute
12983 it.
12984
12985 * include/grub/efi/chainloader.h: Removed.
12986 * loader/efi/chainloader_normal.c: Likewise.
12987 * loader/i386/bsd_normal.c: Likewise.
12988 * loader/i386/pc/chainloader_normal.c: Likewise.
12989 * loader/i386/pc/multiboot_normal.c: Likewise.
12990 * loader/linux_normal.c: Likewise.
12991 * loader/multiboot_loader_normal.c: Likewise.
12992 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
12993
12994 * gencmdlist.sh: Scan new registration command grub_register_extcmd
12995 and grub_register_command_p1.
12996
12997 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
12998 kern/command.c, lib/arg.c and commands/extcmd.c.
12999 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13000 (minicmd_mod_SOURCES): New variable.
13001 (minicmd_mod_CFLAGS): Likewise.
13002 (minicmd_mod_LDFLAGS): Likewise.
13003 (extcmd_mod_SOURCES): Likewise.
13004 (extcmd_mod_CFLAGS): Likewise.
13005 (extcmd_mod_LDFLAGS): Likewise.
13006 (boot_mod_SOURCES): Removed.
13007 (boot_mod_CFLAGS): Likewise.
13008 (boot_mod_LDFLAGS): Likewise.
13009
13010 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13011 kern/corecmd.c.
13012 (kernel_img_HEADERS): Add command.h.
13013 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13014 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13015 and lib/arg.c.
13016 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13017 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13018 remove the corresponding normal mode command.
13019 (normal_mod_SOURCES): Remove normal/arg.c.
13020 * conf/i386-coreboot.rmk: Likewise.
13021 * conf/i386-efi.rmk: Likewise.
13022 * conf/i386-ieee1275.rmk: Likewise.
13023 * conf/powerpc-ieee1275.rmk: Likewise.
13024 * conf/x86_64-efi.rmk: Likewise.
13025
13026 * include/grub/arg.h: Move from here ...
13027 * include/grub/lib/arg.h: ... to here.
13028
13029 * normal/arg.c: Move from here ...
13030 * lib/arg.c: ... to here.
13031
13032 * commands/extcmd.c: New file.
13033 * commands/minicmd.c: Likewise.
13034 * include/grub/command.h: Likewise.
13035 * include/grub/extcmd.h: Likewise.
13036 * kern/command.c: Likewise.
13037 * kern/corecmd.c: Likewise.
13038
13039 * kern/list.c (grub_list_iterate): Return int instead of void.
13040 (grub_list_insert): New function.
13041 (grub_prio_list_insert): Likewise.
13042
13043 * kern/rescue.c (grub_rescue_command): Removed.
13044 (grub_rescue_command_list): Likewise.
13045 (grub_rescue_register_command): Likewise.
13046 (grub_rescue_unregister_command): Likewise.
13047 (grub_rescue_cmd_boot): Move to minicmd.c
13048 (grub_rescue_cmd_help): Likewise.
13049 (grub_rescue_cmd_info): Likewise.
13050 (grub_rescue_cmd_boot): Likewise.
13051 (grub_rescue_cmd_testload): Likewise.
13052 (grub_rescue_cmd_dump): Likewise.
13053 (grub_rescue_cmd_rmmod): Likewise.
13054 (grub_rescue_cmd_lsmod): Likewise.
13055 (grub_rescue_cmd_exit): Likewise.
13056 (grub_rescue_print_devices): Moved to corecmd.c.
13057 (grub_rescue_print_files): Likewise.
13058 (grub_rescue_cmd_ls): Likewise.
13059 (grub_rescue_cmd_insmod): Likewise.
13060 (grub_rescue_cmd_set): Likewise.
13061 (grub_rescue_cmd_unset): Likewise.
7d074e3c 13062 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 13063 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 13064 commands, remove grub_rescue_register_command calls.
b1b797cb 13065
7d074e3c 13066 * normal/command.c (grub_register_command): Removed.
b1b797cb 13067 (grub_unregister_command): Likewise.
13068 (grub_command_find): Likewise.
13069 (grub_iterate_commands): Likewise.
13070 (rescue_command): Likewise.
13071 (export_command): Moved to corecmd.c.
13072 (set_command): Removed.
13073 (unset_command): Likewise.
13074 (insmod_command): Likewise.
13075 (rmmod_command): Likewise.
13076 (lsmod_command): Likewise.
13077 (grub_command_init): Likewise.
13078
13079 * normal/completion.c (iterate_command): Use cmd->prio to check for
13080 active command.
13081 (complete_arguments): Use grub_extcmd_t structure to find options.
13082 (grub_normal_do_completion): Change function grub_iterate_commands to
13083 grub_command_iterate.
13084
13085 * normal/execute.c (grub_script_execute_cmd): No need to parse
13086 argument here.
13087
13088 * normal/main.c (grub_dyncmd_dispatcher): New function.
13089 (read_command_list): Register unload commands as dyncmd.
13090 (grub_cmd_normal): Use new command interface, register rescue,
13091 unregister normal at entry, register normal, unregister rescue at exit.
13092
13093 * include/grub/list.h (grub_list_test_t): New type.
13094 (grub_list_iterate): Return int instead of void.
13095 (grub_list_insert): New function.
13096 (GRUB_AS_NAMED_LIST_P): New macro.
13097 (GRUB_AS_PRIO_LIST): Likewise.
13098 (GRUB_AS_PRIO_LIST_P): Likewise.
13099 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13100 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13101 (grub_prio_list): New structure.
13102 (grub_prio_list_insert): New function.
13103 (grub_prio_list_remove): New inline function.
13104
13105 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13106 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13107 (GRUB_COMMAND_FLAG_MENU): Likewise.
13108 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13109 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13110 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13111 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13112 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13113 (grub_command): Likewise.
13114 (grub_register_command): Likewise.
13115 (grub_command_find): Likewise.
13116 (grub_iterate_commands): Likewise.
13117 (grub_command_init): Likewise.
13118 (grub_arg_parse): Likewise.
13119 (grub_arg_show_help): Likewise.
13120
13121 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13122 (grub_rescue_unregister_command): Likewise.
13123
13124 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
13125 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
13126 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
13127
13128 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
13129 grub_rescue_cmd_initrd.
13130 * include/grub/i386/loader.h: Likewise.
13131 * include/grub/x86_64/loader.h: Likewise.
13132
13133 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
13134
1f4147aa 131352009-03-21 Bean <bean123ch@gmail.com>
13136
13137 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
13138 instead of stat in mingw environment.
13139
13140 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
13141
13142 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
13143
13144 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
13145 AC_CONFIG_LINKS.
13146
2156d5ba 131472009-03-21 Bean <bean123ch@gmail.com>
13148
13149 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
13150 out of range error.
13151
177b82ca 131522009-03-18 Michel Dänzer <michel@daenzer.net>
13153
13154 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13155 checking inode flags for EXT4_EXTENTS_FLAG.
13156
14aad807 131572009-03-18 Robert Millan <rmh@aybabtu.com>
13158
13159 * loader/i386/linux.c: Include `<grub/video.h>' and
13160 `<grub/i386/pc/vbe.h>'..
13161 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13162 (grub_linux32_boot): Attempt to configure video settings with
13163 grub_linux_setup_video().
13164 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13165 to avoid grub_console_fini() which would step out of graphical mode
13166 unconditionally.
13167
8cf83a27 131682009-03-14 Robert Millan <rmh@aybabtu.com>
13169
13170 Fix build on powerpc.
13171 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13172
40164e75 131732009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13176 background image command.
13177
c58bc32a 131782009-03-12 Colin D Bennett <colin@gibibit.com>
13179
13180 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13181 (grub_gfxterm_putchar): Extract pairs of identical calls to
13182 draw_cursor out of conditional blocks.
13183
5415144a 131842009-03-11 Pavel Roskin <proski@gnu.org>
13185
13186 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13187 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13188
6394042e 131892009-03-11 Robert Millan <rmh@aybabtu.com>
13190
13191 * loader/i386/multiboot_elfxx.c
13192 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13193
b7b50e5f 131942009-03-11 Felix Zielcke <fzielcke@z-51.de>
13195
13196 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13197 `kern/handler.c'.
13198
1ca7fc96 131992009-03-11 Robert Millan <rmh@aybabtu.com>
13200
13201 * loader/i386/multiboot.c (code_size): New variable.
13202 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 13203 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 13204 4-byte alignment to MBI and others by increasing
7d074e3c 13205 `boot_loader_name_length' appropriately.
1ca7fc96 13206
13207 * loader/i386/multiboot_elfxx.c
13208 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13209
a83ea1d2 132102009-03-09 Felix Zielcke <fzielcke@z-51.de>
13211
13212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13213 `fs/ext2.c'.
13214
aa9f3bff 132152009-03-08 Robert Millan <rmh@aybabtu.com>
13216
13217 Make loader/i386/linux.c usable on i386-pc again.
13218
13219 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13220 memory to heap.
13221 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13222 `#error' stanza.
13223
d8b3b60e 132242009-03-07 Bean <bean123ch@gmail.com>
13225
13226 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13227 allocation.
13228
b362c9e9 132292009-03-06 Robert Millan <rmh@aybabtu.com>
13230
13231 Fix display issue on terminals with screen size other than 80x25
13232 (e.g. gfxterm with resolution higher than 640x480).
13233
13234 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 13235 position relative to the center of the terminal instead of relying
b362c9e9 13236 on a hardcoded offset.
13237
9304eef1 132382009-03-04 Robert Millan <rmh@aybabtu.com>
13239
13240 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13241 installed.
13242
13243 * Makefile.in (host_kernel): New variable.
13244 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13245 scripts instead of just the windows one.
13246 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13247
eabc95fb 132482009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 13249
13250 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13251 `kern/handler.c'.
13252 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13253 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13254 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13256 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13257 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13258
ceb1223c 132592009-03-04 Felix Zielcke <fzielcke@z-51.de>
13260
13261 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13262 or if there's no space for the disk label and print the partition number on a
13263 invalid magic.
13264
4910684a 132652009-03-04 Felix Zielcke <fzielcke@z-51.de>
13266
13267 * util/misc.c: Include <time.h>.
13268 (grub_millisleep): New function.
13269
7e9ca17a 132702009-03-04 Bean <bean123ch@gmail.com>
13271
13272 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13273 another option -mno-red-zone.
13274
13275 * commands/handler.c: Change module description.
13276
13277 * kern/handler.c: Add missing space at the end of description line.
13278
13279 * kern/list.c: Likewise.
13280
f501677c 132812009-03-03 Robert Millan <rmh@aybabtu.com>
13282
13283 Move more components to the relocation area, and fix mbi pointer
13284 handling to use the destination rather than the origin (thanks to
13285 Vladimir Serbinenko for spotting).
13286
13287 * loader/i386/multiboot.c (mbi_dest): New variable.
13288 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13289 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13290 relocation area.
13291
9902d047 132922009-03-01 Bean <bean123ch@gmail.com>
13293
50fb7002 13294 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 13295 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13296 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13297 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13298
13299 * loader/i386/efi/linux.c (acpi_guid): New variable.
13300 (acpi_guid): Likewise.
13301 (EBDA_SEG_ADDR): New constant.
13302 (LOW_MEM_ADDR): Likewise.
13303 (FAKE_EBDA_SEG): Likewise.
13304 (fake_bios_data): New function.
13305 (grub_linux_boot): Call fake_bios_data.
13306
71b9f361 133072009-03-01 Bean <bean123ch@gmail.com>
13308
13309 * commands/terminal.c: Removed.
13310
13311 * commands/handler.c: New file.
13312
13313 * include/grub/list.h: Likewise.
13314
13315 * include/grub/handler.h: Likewise.
13316
13317 * kern/list.c: Likewise.
13318
13319 * kern/handler.c: Likewise.
13320
13321 * kern/term.h: Include header file <grub/handler.h>.
13322 (grub_term_input): Move next field to the beginning.
13323 (grub_term_output): Likewise.
13324 (grub_term_input_class): New variable.
13325 (grub_term_output_class): Likewise.
13326 (grub_term_register_input): Changed to inline function.
13327 (grub_term_register_output): Likewise.
13328 (grub_term_unregister_input): Likewise.
13329 (grub_term_unregister_output): Likewise.
13330 (grub_term_set_current_input): Likewise.
13331 (grub_term_set_current_output): Likewise.
13332 (grub_term_get_current_input): Likewise.
13333 (grub_term_get_current_output): Likewise.
13334 (grub_term_iterate_input): Removed.
13335 (grub_term_iterate_output): Likewise.
13336
13337 * kern/term.c (grub_term_list_input): Removed.
13338 (grub_term_list_output): Likewise.
13339 (grub_term_input_class): New variable.
13340 (grub_term_output_class): Likewise.
50fb7002 13341 (grub_cur_term_input): Change variable as macro.
71b9f361 13342 (grub_cur_term_output): Likewise.
13343 (grub_term_register_input): Removed.
13344 (grub_term_register_output): Likewise.
13345 (grub_term_unregister_input): Likewise.
13346 (grub_term_unregister_output): Likewise.
13347 (grub_term_set_current_input): Likewise.
13348 (grub_term_set_current_output): Likewise.
13349 (grub_term_iterate_input): Likewise.
13350 (grub_term_iterate_output): Likewise.
13351 (grub_term_get_current_input): Likewise.
13352 (grub_term_get_current_output): Likewise.
13353
13354 * util/grub-editenv.c: Include header file <grub/handler.h>.
13355 (grub_term_get_current_input): Removed.
13356 (grub_term_get_current_output): Likewise.
13357 (grub_term_input_class): New variable.
50fb7002 13358 (grub_term_output_class): Likewise.
71b9f361 13359
13360 * util/grub-fstest.c (grub_term_get_current_input): Removed.
13361 (grub_term_get_current_output): Likewise.
13362 (grub_term_input_class): New variable.
50fb7002 13363 (grub_term_output_class): Likewise.
71b9f361 13364
13365 * util/grub-probe.c (grub_term_get_current_input): Removed.
13366 (grub_term_get_current_output): Likewise.
13367 (grub_term_input_class): New variable.
50fb7002 13368 (grub_term_output_class): Likewise.
71b9f361 13369
13370 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
13371 (grub_term_get_current_output): Likewise.
13372 (grub_term_input_class): New variable.
50fb7002 13373 (grub_term_output_class): Likewise.
71b9f361 13374
13375 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
13376 (terminal_mod_SOURCES): Likewise.
13377 (terminal_mod_CFLAGS): Likewise.
13378 (terminal_mod_LDFLAGS): Likewise.
13379
13380 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
13381 handler.c.
13382 (kernel_img_SOURCES): Add list.c and handler.c.
13383 (kernel_img_HEADERS): Add list.h and handler.h.
13384
13385 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13386 handler.c.
13387 (kernel_mod_SOURCES): Add list.c and handler.c.
13388 (kernel_mod_HEADERS): Add list.h and handler.h.
13389
13390 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
13391 handler.c.
13392 (kernel_elf_SOURCES): Add list.c and handler.c.
13393 (kernel_elf_HEADERS): Add list.h and handler.h.
13394
13395 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13396 handler.c.
13397 (kernel_elf_SOURCES): Add list.c and handler.c.
13398 (kernel_elf_HEADERS): Add list.h and handler.h.
13399
13400 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13401 handler.c.
13402 (kernel_mod_SOURCES): Add list.c and handler.c.
13403 (kernel_mod_HEADERS): Add list.h and handler.h.
13404
13405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13406 handler.c.
13407 (kernel_elf_SOURCES): Add list.c and handler.c.
13408 (kernel_elf_HEADERS): Add list.h and handler.h.
13409
8a31787f 134102009-02-27 Robert Millan <rmh@aybabtu.com>
13411
13412 Factorize elf32 / elf64 code in Multiboot loader. This will
13413 prevent it from getting out of sync again.
13414
13415 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
13416 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
13417 grub_multiboot_load_elf64): Move from here ...
13418 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
13419 grub_multiboot_load_elf): ... to here (new file).
13420
51cd3dfc 134212009-02-27 Robert Millan <rmh@aybabtu.com>
13422
13423 * util/grub.d/10_linux.in: Rename "single-user mode" to
13424 "recovery mode".
13425
6e8c9c3a 134262009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 Don't leak in SCSI code.
13429 * disk/scsi.c (grub_scsi_close): free `scsi'.
13430
4b6bf4f9 134312009-02-27 Robert Millan <rmh@aybabtu.com>
13432
13433 * loader/i386/pc/multiboot.c: Move from here ...
13434 * loader/i386/multiboot.c: ... to here. Update all users.
13435
b9413424 134362009-02-27 Robert Millan <rmh@aybabtu.com>
13437
13438 Patch from Alexandre Bique <bique.alexandre@gmail.com>
13439 * util/i386/pc/grub-setup.c (setup): Fix directory path.
13440
50fb7002 134412009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 13442
13443 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
13444 b-tree.
13445
8cc50345 134462009-02-27 Robert Millan <rmh@aybabtu.com>
13447
13448 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
13449 `0x' qualifier as 0 when base is specified as parameter).
13450
6e09b8b7 134512009-02-24 Bean <bean123ch@gmail.com>
13452
13453 * configure.ac: Check for -mcmodel=large in x86_64 target.
13454
13455 * include/grub/efi/api.h (efi_call_10): New macro.
13456 (efi_wrap_10): New function.
13457
13458 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
13459 (GRUB_PE32_REL_BASED_HIGH): Likewise.
13460 (GRUB_PE32_REL_BASED_LOW): Likewise.
13461 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
13462 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
13463 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
13464 (GRUB_PE32_REL_BASED_SECTION): Likewise.
13465 (GRUB_PE32_REL_BASED_REL): Likewise.
13466 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
13467 (GRUB_PE32_REL_BASED_DIR64): Likewise.
13468 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
13469
13470 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
13471 issue.
13472
13473 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
13474 (efi_wrap_10): New function.
13475
13476 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
13477
13478 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
13479 MB/MBP model (NV chipset).
13480 (devdata_devs): Add devpath_5 to the list.
13481
13482 * load/i386/efi/linux.c (video_base): Remove variable.
13483 (RGB_MASK): New macro.
13484 (RGB_MAGIC): Likewise.
13485 (LINE_MIN): Likewise.
13486 (LINE_MAX): Likewise.
13487 (FBTEST_STEP): Likewise.
13488 (FBTEST_COUNT): Likewise.
13489 (fb_list): New variable.
13490 (grub_find_video_card): Remove function.
13491 (find_framebuf): New function.
13492 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
13493 line length.
13494
13495 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
13496 problem for x86_64.
13497
74b21bee 134982009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
13499
13500 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
13501
13502 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
13503 coding tool name.
13504
a455f472 135052009-02-22 Robert Millan <rmh@aybabtu.com>
13506
13507 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
13508 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
13509 in our relocation, instead of using it directly from heap. Also
13510 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
13511
6374daf3 135122009-02-21 Robert Millan <rmh@aybabtu.com>
13513
13514 Implement USB keyboard support (based on patch by Marco Gerards)
13515
13516 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
13517 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
13518 (usb_keyboard_mod_LDFLAGS): New variables.
13519
13520 * term/usb_keyboard.c: New file.
13521
8fa4ea70 135222009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 Corrected wrong declaration
13525
13526 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
13527
353976ac 135282009-02-14 Christian Franke <franke@computer.org>
13529
13530 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
13531 (grub_lspci_iter): Print class code and programming interface byte.
13532
6aa1169b 135332009-02-14 Christian Franke <franke@computer.org>
13534
13535 * gendistlist.sh: Ignore `.svn' directories.
13536
265372ca 135372009-02-14 Felix Zielcke <fzielcke@z-51.de>
13538
13539 * fs/fat.c: Add 2009 to Copyright line.
13540
9ff516f3 135412009-02-14 Christian Franke <franke@computer.org>
13542
13543 * commands/hdparm.c: New file. Provides `hdparm' command
13544 which sends ATA commands via grub_disk_ata_pass_through ().
13545
13546 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13547
13548 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13549 and <grub/cpu/io.h> to include/grub/ata.h.
13550 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13551 (GRUB_CDROM_SECTOR_SIZE): Remove.
13552 (GRUB_ATA_*): Move to include/grub/ata.h.
13553 (GRUB_ATAPI_*): Likewise.
13554 (enum grub_ata_commands): Likewise.
13555 (enum grub_ata_timeout_milliseconds): Likewise.
13556 (struct grub_ata_device): Likewise.
13557 (grub_ata_regset): Likewise.
13558 (grub_ata_regget): Likewise.
13559 (grub_ata_regset2): Likewise.
13560 (grub_ata_regget2): Likewise.
13561 (grub_ata_check_ready): Likewise.
13562 (grub_ata_wait_not_busy): Remove static, exported in
13563 include/grub/ata.h.
13564 (grub_ata_wait_drq): Likewise.
13565 (grub_ata_pio_read): Likewise.
13566
13567 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13568 function for hdparm.mod.
13569
13570 * include/grub/ata.h: New file, contains declarations from
13571 disk/ata.c.
13572 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13573
13574 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13575 (grub_disk_ata_pass_through): New exported variable.
13576
13577 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13578
772e23da 135792009-02-13 Colin D Bennett <colin@gibibit.com>
13580
13581 Support multiple fallback entries, and provide an API to support
13582 executing default+fallback menu entries. Renamed the `terminal' menu
13583 viewer to `text'.
13584
13585 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13586 variable declaration.
13587 (grub_menu_execute_callback): New structure declaration.
13588 (grub_menu_execute_callback_t): New typedef.
13589 (grub_menu_execute_with_fallback): New function declaration.
13590 (grub_menu_get_entry): Likewise.
13591 (grub_menu_get_timeout): Likewise.
13592 (grub_menu_set_timeout): Likewise.
13593
13594 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13595
13596 * normal/menu.c (grub_wait_after_message): Moved to
13597 `normal/menu_text.c'.
13598 (draw_border): Likewise.
13599 (print_message): Likewise.
13600 (print_entry): Likewise.
13601 (print_entries): Likewise.
13602 (grub_menu_init_page): Likewise.
13603 (get_entry_number): Likewise.
13604 (print_timeout): Likewise.
13605 (run_menu): Likewise.
13606 (grub_menu_execute_entry): Likewise.
13607 (show_text_menu): Likewise.
13608 (get_and_remove_first_entry_number): New function.
13609 (grub_menu_execute_with_fallback): Likewise.
13610 (get_entry): Renamed to ...
13611 (grub_menu_get_entry): .. this and made it global.
13612 (get_timeout): Renamed to ...
13613 (grub_menu_get_timeout): ... this and made it global.
13614 (set_timeout): Renamed to ...
13615 (grub_menu_set_timeout): ... this and made it global.
13616 (grub_normal_terminal_menu_viewer): Renamed to ...
13617 (grub_normal_text_menu_viewer): ... this.
13618
13619 * normal/menu_text.c: New file. Extracted text-menu-specific code
13620 from normal/menu.c.
13621
13622 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13623 (normal_mod_SOURCES): Likewise.
13624
13625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13626 (normal_mod_SOURCES): Likewise.
13627
13628 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13629 (normal_mod_SOURCES): Likewise.
13630
13631 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13632 (normal_mod_SOURCES): Likewise.
13633
13634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13635 (normal_mod_SOURCES): Likewise.
13636
13637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13638 (normal_mod_SOURCES): Likewise.
13639
13640 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13641 (normal_mod_SOURCES): Likewise.
13642
16ac430e 136432009-02-11 Robert Millan <rmh@aybabtu.com>
13644
13645 * util/grub.d/00_header.in: Update old reference to `font' command.
13646
06ff20fc 136472009-02-10 Felix Zielcke <fzielcke@z-51.de>
13648
13649 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13650
13651 Based on patch from Javier Martín.
13652
96da9407 136532009-02-09 Felix Zielcke <fzielcke@z-51.de>
13654
13655 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 13656 to avoid false positives with FAT.
96da9407 13657 (grub_fstest_SOURCES): Likewise.
13658 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13659 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13664
6dca6fe4 136652009-02-09 Felix Zielcke <fzielcke@z-51.de>
13666
06ff20fc 13667 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 13668 bpb.version_specific.fat12_or_fat16.fstype and
13669 bpb.version_specific.fat32.fstype.
13670
2550c62f 136712009-02-08 Robert Millan <rmh@aybabtu.com>
13672
be110b30 13673 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 13674
56978920 136752009-02-08 Robert Millan <rmh@aybabtu.com>
13676
13677 * Makefile.in (host_os, host_cpu): New variables.
13678 (target_os): Remove. Update all users.
13679
d64399b5 136802009-02-08 Marco Gerards <marco@gnu.org>
13681
13682 * Makefile.in (enable_grub_emu_usb): New variable.
13683 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13684 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13685 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13686 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13687 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13688 `usbtest.mod' and `usbms.mod'.
13689 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13690 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13691 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13692 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13693 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13694 variables.
13695
13696 * disk/usbms.c: New file.
13697
13698 * include/grub/usb.h: Likewise.
13699
13700 * include/grub/usbtrans.h: Likewise.
13701
13702 * include/grub/usbdesc.h: Likewise.
13703
13704 * bus/usb/usbtrans.c: Likewise.
13705
13706 * bus/usb/ohci.c: Likewise.
13707
13708 * bus/usb/uhci.c: Likewise.
13709
13710 * bus/usb/usbhub.c: Likewise.
13711
13712 * bus/usb/usb.c: Likewise.
13713
13714 * commands/usbtest.c: Likewise.
13715
13716 * util/usb.c: Likewise.
50fb7002 13717
d64399b5 13718 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13719
13720 * configure.ac: Test for libusb presence.
50fb7002 13721
d64399b5 13722 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13723
2b40d6bb 137242009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13725
13726 * kern/mm.c: Add more comments.
13727
73a4ce81 137282009-02-08 Robert Millan <rmh@aybabtu.com>
13729
13730 Patch from Javier Martín.
13731 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13732 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13733
f821ce59 137342009-02-08 Robert Millan <rmh@aybabtu.com>
13735
13736 * fs/cpio.c: Split tar functionality to ...
13737 * fs/tar.c: ... here (new file). Update all users.
13738
aebfc4b0 137392009-02-07 Robert Millan <rmh@aybabtu.com>
13740
13741 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13742 backward-incompatible features.
13743
13744 Based on patch from Javier Martín, with some adjustments.
13745
50fb7002 137462009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 13747
13748 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13749
0bb5115e 137502009-02-07 Robert Millan <rmh@aybabtu.com>
13751
13752 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13753 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13754 after the RAID stuff.
13755
38a0f8e7 137562009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13757
50fb7002 13758 Fixes problem when running vbetest command as reported by
38a0f8e7 13759 Vladimir Serbinenko <phcoder@gmail.com>.
13760
13761 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13762
3143cc1c 137632009-02-04 Felix Zielcke <fzielcke@z-51.de>
13764
13765 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13766 /dev/md/NpN style mdraid devices.
13767
9cba6fce 137682009-02-03 Felix Zielcke <fzielcke@z-51.de>
13769
13770 * util/unifont2pff.rb: Remove.
13771
e507a2c1 137722009-02-03 Felix Zielcke <fzielcke@z-51.de>
13773
13774 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
13775 `#'.
13776
d2c2b4cd 137772009-02-03 Felix Zielcke <fzielcke@z-51.de>
13778
13779 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
13780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13781 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13784 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13786
b4315fb0 137872009-02-02 Christian Franke <franke@computer.org>
13788
13789 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
13790
de3aa260 137912009-02-01 Felix Zielcke <fzielcke@z-51.de>
13792
7c3ff286 13793 * INSTALL: Note that we now require at least autoconf 2.59 and
13794 that LZO is optional.
de3aa260 13795
825a182b 137962009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13797
13798 Base on patch on bug #24154 created by Tomas Tintera
13799 <trosos@seznam.cz>.
13800
13801 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
13802
a69ef770 138032009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13804
7c3ff286 13805 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 13806 <bero@arklinux.org>.
13807
13808 * normal/parser.y (script_init): Add missing semicolon.
13809
6fa42fa6 138102009-01-31 Colin D Bennett <colin@gibibit.com>
13811
7c3ff286 13812 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 13813 (free_menu_entry_classes): Added.
13814 (grub_normal_menu_addentry): Added class property handling.
13815 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
13816 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
13817
13818 * normal/menu_viewer.c: New file.
13819
13820 * normal/menu.c (run_menu_entry): Renamed to ...
13821 (grub_menu_execute_entry): ... this and made it as global.
13822 (grub_menu_run): Renamed to ...
13823 (show_text_menu): ... this and made it local.
13824 (show_text_menu): Adapt to new function names.
13825 (grub_normal_terminal_menu_viewer): New global variable.
13826
13827 * include/grub/menu.h: New file.
13828
13829 * include/grub/menu_viewer.h: New file.
13830
13831 * include/grub/normal.h: Added include to grub/menu.h.
13832 (grub_menu_entry): Moved to include/grub/menu.h.
13833 (grub_menu_entry_t): Likewise.
13834 (grub_menu): Likewise.
13835 (grub_menu_t): Likewise.
13836 (grub_normal_terminal_menu_viewer): Added.
13837 (grub_menu_execute_entry): Likewise.
13838 (grub_menu_run): Removed.
13839
13840 * DISTLIST: Added include/grub/menu.h.
13841 Added include/grub/menu_viewer.h.
13842 Added normal/menu_viewer.c.
13843
138442009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
13845
13846 * normal/execute.c (grub_script_execute_menuentry): Changed to use
13847 arglist for menutitle arguments.
13848
13849 * normal/main.c (grub_normal_menu_addentry): Likewise.
13850
13851 * normal/parser.y (menuentry): Likewise.
13852
13853 * normal/script.c (grub_script_create_cmdmenu): Likewise.
13854
13855 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
13856 (grub_script_create_cmdmenu): Likewise.
13857
13858 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
13859
13860 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
13861 changes.
13862
13863 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
13864
13865 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
13866
13867 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
13868
13869 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13870
13871 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13872
13873 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13874
56192c23 138752009-01-30 Christian Franke <franke@computer.org>
13876
13877 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
13878 in option help text.
13879
d72521b3 138802009-01-27 Pavel Roskin <proski@gnu.org>
13881
13882 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
13883
994b5e84 138842009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13885
13886 * commands/lsmmap.c: Add include to grub/machine/memory.h.
13887
13888 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
13889
13890 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
13891 unregister function.
13892
6a7eab2c 138932009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13894
13895 * disk/scsi.c (grub_scsi_read): Fix sign problem.
13896
13897 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
13898
13899 * util/grub-mkfont.c (usage): Fix typo.
13900
13901 * util/elf/grub-mkimage.c (load_modules): Fix warning.
13902
1806b56e 139032009-01-26 Daniel Mierswa <impulze@impulze.org>
13904
3fb18f09 13905 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
13906
336e1fb9 13907 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
13908
1806b56e 13909 * kern/misc.c (grub_strcasecmp): New function.
13910 (grub_strcasecmp): Use grub_size_t instead of int for length.
13911 Fix return value.
13912 * include/grub/misc.h: Update function prototypes.
13913
580b2a0f 139142009-01-26 Robert Millan <rmh@aybabtu.com>
13915
13916 * configure.ac: Fix cross-compilation check.
ef257b36 13917
d31c24f1 139182009-01-22 Christian Franke <franke@computer.org>
13919
13920 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
13921 (precision) digit string. Allow `.format2' without `format1' (width).
13922 Limit input chars for `%s' output to `format2' if specified. This is
13923 compatible with standard printf ().
13924
3138b44c 139252009-01-22 Christian Franke <franke@computer.org>
13926
13927 * disk/ata.c (grub_ata_wait_status): Replace by ...
13928 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
13929 other status bits may be invalid while BSY is asserted.
13930 (grub_ata_check_ready): New function.
13931 (grub_ata_cmd): Removed.
13932 (grub_ata_wait_drq): New function.
13933 (grub_ata_strncpy): Remove inline.
13934 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
13935 and error check now done by grub_ata_wait_drq ().
13936 (grub_ata_pio_write): Likewise.
13937 (grub_atapi_identify): Set DEV before check for !BSY. Use
13938 grub_ata_wait_drq () to wait for data.
13939 (grub_ata_device_initialize): Add status register check to
13940 detect missing SATA slave devices. Add debug messages.
13941 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
13942 (grub_atapi_packet): Set DEV before check for !BSY. Replace
13943 transfer loop by grub_ata_pio_write ().
13944 (grub_ata_identify): Set DEV before check for !BSY. Use
13945 grub_ata_wait_drq () to wait for data.
ef257b36 13946 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 13947 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
13948 read/write in one loop. Fix invalid command on write. Fix incomplete
13949 command on (size % batch) == 0. Add missing error check after write of
13950 last block. Add debug messages.
13951 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
13952
59a64ef6 139532009-01-19 Christian Franke <franke@computer.org>
13954
13955 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
13956 (GRUB_ATAPI_IREASON_*): Likewise.
13957 (grub_ata_pio_write): Fix timeout error return.
13958 (grub_atapi_identify): Add grub_ata_wait () after cmd.
13959 (grub_atapi_wait_drq): New function.
13960 (grub_atapi_packet): New parameter `size'.
13961 Use grub_atapi_wait_drq () and direct write instead of
13962 grub_ata_pio_write ().
13963 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
13964 reads the number of bytes requested by the device for each DRQ
13965 assertion.
13966 (grub_atapi_write): Remove old implementation, return not
13967 implemented instead.
13968
1cfe20b3 139692009-01-19 Christian Franke <franke@computer.org>
13970
13971 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
13972 of 512 to calculate data size.
13973 (grub_scsi_read12): Likewise.
13974 (grub_scsi_write10): Likewise.
13975 (grub_scsi_write12): Likewise.
13976 (grub_scsi_read): Adjust size according to blocksize.
13977 Add checks for invalid blocksize and unaligned transfer.
13978
bee5fe5d 139792009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
13980
13981 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
13982
ef257b36 13983 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 13984 width glyphs.
13985
3e643f8c 139862009-01-19 Robert Millan <rmh@aybabtu.com>
13987
13988 * config.guess: Update to latest version from config git.
13989 * config.sub: Likewise.
13990
4fa80998 139912009-01-17 Felix Zielcke <fzielcke@z-51.de>
13992
13993 * Makefile.in: Change font compilation to use new grub-mkfont instead
13994 of java version.
13995
13996 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
13997 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13998 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13999 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14000 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14001 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14002 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14003 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14004 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14005
7086085b 140062009-01-16 Christian Franke <franke@computer.org>
14007
14008 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14009 (enum grub_ata_timeout_milliseconds): New enum.
14010 (grub_ata_wait_status): Add parameter milliseconds.
14011 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14012 recovery from timed-out commands.
14013 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14014 return grub_errno instead of REG_ERROR.
14015 (grub_ata_pio_write): Add parameter milliseconds.
14016 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14017 Pass milliseconds to grub_ata_wait_status () and
14018 grub_ata_pio_read ().
14019 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14020 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14021 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14022 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14023 It is not suitable for device detection, because DEV bit is ignored,
14024 the command may run too long, and not all devices set the signature
14025 properly.
14026 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14027 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14028 Fix device selection, DEV bit must be set first to address the registers
14029 of the correct device.
14030 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14031 grub_ata_pio_read/write ().
14032 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14033 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14034
4a412913 140352009-01-13 Carles Pina i Estany <carles@pina.cat>
14036
14037 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14038
7795c55e 140392009-01-13 Bean <bean123ch@gmail.com>
d913988c 14040
14041 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14042
7795c55e 140432009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 14044
14045 * Makefile.in: (enable_grub_mkfont): New variable.
14046 (freetype_cflags): Likewise.
14047 (freetype_libs): Likewise.
14048
14049 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14050 (grub_mkfont_SOURCES): New variable.
14051 (grub_mkfont_CFLAGS): Likewise.
14052 (grub_mkfont_LDFLAGS): Likewise.
14053
14054 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14055 library if `--enable-grub-mkfont' is requested.
14056 (enable_grub_mkfont): New variable.
14057 (freetype_cflags): Likewise.
14058 (freetype_libs): Likewise.
14059
14060 * util/grub-mkfont.c: New file.
14061
093af1fe 140622009-01-12 Christian Franke <franke@computer.org>
14063
14064 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14065 mode check. Fix setting of compat_use[].
14066
f36cc108 140672009-01-10 Robert Millan <rmh@aybabtu.com>
14068
14069 Update a few copyright years which we forgot to do in 2008 (only for
14070 files whose changes made in 2008 were copyright-significant)
14071
14072 * Makefile.in: Add 2008 to Copyright line.
14073 * disk/ieee1275/ofdisk.c: Likewise.
14074 * disk/efi/efidisk.c: Likewise.
14075 * kern/dl.c: Likewise.
14076 * kern/sparc64/ieee1275/init.c: Likewise.
14077 * kern/mm.c: Likewise.
14078 * kern/efi/mm.c: Likewise.
14079 * boot/i386/pc/boot.S: Likewise.
14080 * genfslist.sh: Likewise.
14081 * fs/iso9660.c: Likewise.
14082 * fs/hfs.c: Likewise.
14083 * fs/jfs.c: Likewise.
14084 * fs/minix.c: Likewise.
14085 * fs/ufs.c: Likewise.
14086 * gensymlist.sh.in: Likewise.
14087 * genkernsyms.sh.in: Likewise.
14088 * include/grub/misc.h: Likewise.
14089 * include/grub/types.h: Likewise.
14090 * include/grub/symbol.h: Likewise.
14091 * include/grub/elf.h: Likewise.
14092 * include/grub/kernel.h: Likewise.
14093 * include/grub/disk.h: Likewise.
14094 * include/grub/dl.h: Likewise.
14095 * include/grub/i386/linux.h: Likewise.
14096 * include/grub/i386/pc/biosdisk.h: Likewise.
14097 * include/grub/efi/api.h: Likewise.
14098 * include/grub/efi/pe32.h: Likewise.
14099 * include/grub/util/misc.h: Likewise.
14100 * normal/execute.c: Likewise.
14101 * normal/arg.c: Likewise.
14102 * normal/completion.c: Likewise.
14103 * normal/lexer.c: Likewise.
14104 * normal/parser.y: Likewise.
14105 * normal/misc.c: Likewise.
14106 * commands/i386/pc/vbeinfo.c: Likewise.
14107 * commands/hexdump.c: Likewise.
14108 * commands/terminal.c: Likewise.
14109 * commands/ls.c: Likewise.
14110 * commands/help.c: Likewise.
14111 * partmap/pc.c: Likewise.
14112 * loader/efi/chainloader.c: Likewise.
14113 * loader/multiboot_loader.c: Likewise.
14114 * loader/i386/pc/multiboot2.c: Likewise.
14115 * term/efi/console.c: Likewise.
14116 * term/i386/pc/serial.c: Likewise.
14117 * util/lvm.c: Likewise.
14118 * util/console.c: Likewise.
14119 * util/i386/efi/grub-mkimage.c: Likewise.
14120 * util/raid.c: Likewise.
14121
7f02114b 141222009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14123
14124 * commands/videotest.c: Removed include to grub/machine/memory.h.
14125
14126 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
14127 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
14128 (video_mod_SOURCES): Removed.
14129 (video_mod_CFLAGS): Likewise.
14130 (video_mod_LDFLAGS): Likewise.
14131 (gfxterm_mod_SOURCES): Likewise.
14132 (gfxterm_mod_CFLAGS): Likewise.
14133 (gfxterm_mod_LDFLAGS): Likewise.
14134 (videotest_mod_SOURCES): Likewise.
14135 (videotest_mod_CFLAGS): Likewise.
14136 (videotest_mod_LDFLAGS): Likewise.
14137 (bitmap_mod_SOURCES): Likewise.
14138 (bitmap_mod_CFLAGS): Likewise.
14139 (bitmap_mod_LDFLAGS): Likewise.
14140 (tga_mod_SOURCES): Likewise.
14141 (tga_mod_CFLAGS): Likewise.
14142 (tga_mod_LDFLAGS): Likewise.
14143 (jpeg_mod_SOURCES): Likewise.
14144 (jpeg_mod_CFLAGS): Likewise.
14145 (jpeg_mod_LDFLAGS): Likewise.
14146 (png_mod_SOURCES): Likewise.
14147 (png_mod_CFLAGS): Likewise.
14148 (png_mod_LDFLAGS): Likewise.
14149
14150 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
14151 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
14152 (video_mod_SOURCES): Added.
14153 (video_mod_CFLAGS): Likewise.
14154 (video_mod_LDFLAGS): Likewise.
14155 (videotest_mod_SOURCES): Likewise.
14156 (videotest_mod_CFLAGS): Likewise.
14157 (videotest_mod_LDFLAGS): Likewise.
14158 (bitmap_mod_SOURCES): Likewise.
14159 (bitmap_mod_CFLAGS): Likewise.
14160 (bitmap_mod_LDFLAGS): Likewise.
14161 (tga_mod_SOURCES): Likewise.
14162 (tga_mod_CFLAGS): Likewise.
14163 (tga_mod_LDFLAGS): Likewise.
14164 (jpeg_mod_SOURCES): Likewise.
14165 (jpeg_mod_CFLAGS): Likewise.
14166 (jpeg_mod_LDFLAGS): Likewise.
14167 (png_mod_SOURCES): Likewise.
14168 (png_mod_CFLAGS): Likewise.
14169 (png_mod_LDFLAGS): Likewise.
14170 (gfxterm_mod_SOURCES): Likewise.
14171 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 14172 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 14173
14174 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14175 grub/machine/console.h.
14176
644fff97 141772009-01-04 Jerone Young <jerone@gmail.com>
14178
14179 Make on screen instructions clearer
14180
14181 Based on patch created by Jidanni <jidanni@jidanni.org>
14182
14183 * normal/menu.c: print clearer instructions on the screen
14184
1e901a75 141852009-01-02 Colin D Bennett <colin@gibibit.com>
14186
14187 New font engine.
34c44600 14188
1e901a75 14189 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14190 build system and fixed gfxterm.c to work with different sized fonts.
14191
14192 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 14193
1e901a75 14194 * configure: Re-generated.
34c44600 14195
1e901a75 14196 * DISTLIST: Removed font/manager.c.
14197 Added font/font.c.
14198 Added font/font_cmd.c.
34c44600 14199
1e901a75 14200 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14201 compilation.
34c44600 14202
1e901a75 14203 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 14204
14205 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 14206
14207 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 14208
1e901a75 14209 * normal/menu.c: Likewise.
34c44600 14210
1e901a75 14211 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14212 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 14213
1e901a75 14214 * include/grub/font.h: Replaced with new file.
34c44600 14215
1e901a75 14216 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14217 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14218 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14219 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14220 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 14221 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 14222 fg_red, fg_green, fg_blue, fg_alpha.
14223 (grub_video_adapter): Removed blit_glyph.
34c44600 14224 (grub_video_blit_glyph): Removed.
14225
1e901a75 14226 * font/manager.c: Removed file.
34c44600 14227
14228 * font/font.c: New file.
14229
1e901a75 14230 * font/font_cmd.c: Likewise.
34c44600 14231
1e901a75 14232 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 14233
1e901a75 14234 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14235 (grub_video_vbe_map_rgba): Likewise.
14236 (grub_video_vbe_unmap_color_int): Likewise.
14237 (grub_video_vbe_blit_glyph): Removed.
14238 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 14239
1e901a75 14240 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14241 (get_pixel): Likewise.
34c44600 14242 (set_pixel): Likewise.
14243
1e901a75 14244 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 14245
1e901a75 14246 * term/gfxterm.c: Adapted to new font engine.
34c44600 14247
1e901a75 14248 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 14249
1e901a75 14250 * term/i386/pc/vga.c: Likewise.
34c44600 14251
1e901a75 14252 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 14253
1e901a75 14254 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 14255
1e901a75 14256 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14257
1e901a75 14258 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14259
1e901a75 14260 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 14261
1e901a75 14262 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 14263
1e901a75 14264 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 14265
1e901a75 14266 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 14267
1e901a75 14268 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14269
14270 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 14271
1e901a75 14272 * util/grub-mkconfig_lib.in: Changed font extension.
14273
278922e8 142742008-12-28 Felix Zielcke <fzielcke@z-51.de>
14275
14276 * util/getroot.c (grub_util_get_grub_dev): Add support for
14277 /dev/md/dNNpNN style partitionable mdraid devices.
14278
3ced05cf 142792008-12-12 Alex Smith <alex@alex-smith.me.uk>
14280
14281 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14282 at a time limit of the PXE TFTP API correctly.
14283 (grub_pxefs_close): Likewise.
14284
7fd0ee30 142852008-11-29 Robert Millan <rmh@aybabtu.com>
14286
34c44600 14287 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 14288 grub_ata_device_initialize() calls.
14289
34c44600 142902008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 14291
14292 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14293 iteration failed.
14294 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14295
89313780 142962008-11-28 Robert Millan <rmh@aybabtu.com>
14297
14298 Fix build on powerpc-ieee1275. Based on patch created by
14299 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14300 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14301 `kern/ieee1275/mmap.c'.
14302 * include/grub/powerpc/ieee1275/memory.h: New file.
14303
15257703 14304 Provide grub-install on coreboot.
14305 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14306 (grub_install_SOURCES): New variable.
14307 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14308 usable on coreboot.
14309
9fc5388a 143102008-11-25 Felix Zielcke <fzielcke@z-51.de>
14311
14312 * util/grub-fstest.c (grub_term_get_current_input): Change return type
14313 to `grub_term_input_t'.
14314 (grub_term_get_current_output): Change return type to
14315 `grub_term_output_t'.
14316
bc3a2f31 143172008-11-22 Robert Millan <rmh@aybabtu.com>
14318
34c44600 14319 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 14320 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
14321 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
14322 grub_vga_text_cls().
14323
80fc88f2 14324 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 14325 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 14326
cbf36fd3 14327 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
14328 to 0x200000 (avoids trouble with some OFW implementations, and matches
14329 with the one in Yaboot).
14330 Reported by Manoel Abranches
14331
73e8e268 143322008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 14333
14334 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
14335 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
14336
73e8e268 14337 * util/grub-mkconfig_lib.in (grub_warn): New function.
14338 (convert_system_path_to_grub_path): Use grub_warn() when issuing
14339 warnings, to obtain consistent formatting.
14340 * util/grub.d/00_header.in: Likewise.
14341 * util/update-grub_lib.in: Likewise.
14342
e94045a1 14343 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 14344 Move comment text to `#error' stanza.
e94045a1 14345
79d29fd7 14346 Harmonize ieee1275's grub_available_iterate() with the generic
14347 grub_machine_mmap_iterate() interface (fixes a recently-introduced
14348 build problem on i386-ieee1275):
14349 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
14350 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
14351 parameter `type'. Update all users of this function.
14352 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14353 `kern/ieee1275/mmap.c'.
14354 * kern/ieee1275/init.c
14355 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
14356 with ...
14357 (grub_machine_mmap_iterate): ... this.
14358 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
14359 return type to `grub_err_t'. Update all implementations of this
14360 function prototype.
14361 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
14362 Likewise.
14363
60d6b16e 14364 Add `lsmmap' command (lists firmware-provided memory map):
14365 * commands/lsmmap.c: New file.
14366 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
14367 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
14368 variables.
14369 * conf/powerpc-ieee1275.rmk: Likewise.
14370 * conf/i386-coreboot.rmk: Likewise.
14371 * conf/i386-ieee1275.rmk: Likewise.
14372
ebaaf49b 143732008-11-19 Robert Millan <rmh@aybabtu.com>
14374
14375 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 14376 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
14377 constraints to initrd allocation (based on code from
14378 loader/i386/pc/linux.c). Without them, initrd was allocated too high
14379 for Linux to find it.
ebaaf49b 14380
dfab719f 143812008-11-14 Robert Millan <rmh@aybabtu.com>
14382
14383 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
14384 order to cope with duplicate slashes.
14385
10fc3eb9 143862008-11-14 Robert Millan <rmh@aybabtu.com>
14387
14388 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
14389 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
14390 don't want to mess with lower memory, because it is used in the Linux
14391 loader.
14392
14393 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 14394 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 14395 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
14396 is in our heap (probably as a result of it being corrupted during
2f2a3442 14397 decompression). Add #error instance with comment to explain why this
14398 loader isn't currently usable on PC/BIOS.
10fc3eb9 14399
e2e07847 144002008-11-14 Robert Millan <rmh@aybabtu.com>
14401
14402 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 14403 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 14404
fe8e8d69 144052008-11-12 Robert Millan <rmh@aybabtu.com>
14406
14407 Make loader/i386/linux.c buildable on i386-pc (although disabled).
14408
14409 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
14410 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
14411 from here ...
14412 * include/grub/i386/pc/memory.h: ... to here.
14413
976b07d0 144142008-11-12 Robert Millan <rmh@aybabtu.com>
14415
14416 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
14417 split).
14418
14419 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
14420 (grub_console_cur_color, grub_console_real_putchar)
14421 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14422 (grub_console_setcolorstate, grub_console_setcolor)
14423 (grub_console_getcolor): Move from here ...
14424 * include/grub/i386/vga_common.h: ... to here (new file).
14425
14426 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
14427 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
14428 `<grub/i386/io.h>'.
14429 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
14430 `<grub/i386/vga_common.h>'.
14431
76679cd3 144322008-11-12 Robert Millan <rmh@aybabtu.com>
14433
14434 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
14435 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
14436 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
14437 variables.
14438 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14439 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
14440
14441 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
14442 grub_console_init() with call to grub_vga_text_init().
14443 (grub_machine_fini): Replace call to
14444 grub_console_fini() with call to grub_vga_text_fini() and
14445 grub_at_keyboard_fini().
14446
14447 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
14448 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14449 (grub_console_setcolorstate, grub_console_setcolor)
14450 (grub_console_getcolor): New function prototypes.
14451
14452 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
14453 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
14454 (grub_vga_text_setcursor): Static-ize.
14455 (grub_vga_text_term): New structure.
14456 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
14457
14458 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
14459 (grub_console_cur_color, grub_console_standard_color)
14460 (grub_console_normal_color, grub_console_highlight_color)
14461 (map_char, grub_console_putchar, grub_console_getcharwidth)
14462 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
14463 (grub_console_getcolor): Move from here ...
14464 * term/i386/vga_common.c: ... to here (same function names).
14465
95b841d3 144662008-11-12 Robert Millan <rmh@aybabtu.com>
14467
14468 Use newly-added Multiboot support in coreboot.
14469
14470 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14471 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
14472
14473 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
14474 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
14475 (codestart): Store the MBI in `startup_multiboot_info' when we're
14476 being loaded using Multiboot.
14477
14478 * kern/i386/coreboot/init.c (grub_machine_init): Move
14479 grub_at_keyboard_init() call to beginning of function (useful for
14480 debugging). Call grub_machine_mmap_init() before attempting to use
14481 grub_machine_mmap_iterate().
14482 (grub_lower_mem, grub_upper_mem): Move from here ...
14483 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
14484 here (new file).
14485
14486 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
14487 function prototype.
14488
761ca975 144892008-11-12 Robert Millan <rmh@aybabtu.com>
14490
14491 Fix a regression introduced by the at_keyboard.mod split. Because
14492 some terminals are default on some platforms and non-default on
14493 others, the first terminal being registered determines which is
14494 going to be default.
14495
14496 * kern/term.c (grub_term_register_input): If this is the first
14497 terminal being registered, set it as the current one.
14498 (grub_term_register_output): Likewise.
14499
14500 * term/efi/console.c (grub_console_init): Do not call
14501 grub_term_set_current_output() or grub_term_set_current_input().
14502 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
14503 * term/i386/pc/console.c (grub_console_init): Likewise.
14504 (grub_console_fini): Do not call grub_term_set_current_input()
14505 (but leave grub_term_set_current_output() to restore text mode).
14506
6c529df7 145072008-11-10 Robert Millan <rmh@aybabtu.com>
14508
14509 * util/grub.d/00_header.in: Add backward compatibility check for
14510 versions of terminal.mod that don't understand `terminal_input' or
14511 `terminal_output'.
14512
132e4113 145132008-11-09 Robert Millan <rmh@aybabtu.com>
14514
14515 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
14516 `terminal_input' / `terminal_output', not `terminal'.
14517
ac293d50 145182008-11-08 Robert Millan <rmh@aybabtu.com>
14519
14520 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 14521 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 14522
0025933a 145232008-11-08 Robert Millan <rmh@aybabtu.com>
14524
14525 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 14526 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 14527 members. Update all users.
14528 * util/console.c (grub_ncurses_term): Split in ...
14529 (grub_ncurses_term_input): ... this, and ...
14530 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 14531 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 14532
37c86336 145332008-11-08 Robert Millan <rmh@aybabtu.com>
14534
14535 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14536 (PKGDATA): Add $(pkgdata_SRCDIR).
14537 (pkglib_BUILDDIR): New variable.
14538 (pkgdata_SRCDIR): New variable.
14539 (build_env.mk): New target.
14540 (include_DATA): New variable.
14541 (install-local): Install $(include_DATA) files in $(includedir).
14542
b6c15a2d 145432008-11-07 Pavel Roskin <proski@gnu.org>
14544
d99d46f1 14545 * gendistlist.sh: Use C locale for sorting to ensure consistent
14546 output on all systems.
14547
b6c15a2d 14548 * util/grub.d/00_header.in: Remove incorrect space before
14549 "serial".
14550
c32ee8c9 145512008-11-07 Robert Millan <rmh@aybabtu.com>
14552
14553 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14554 per specification.
14555 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14556 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14557 (based on find_multi_boot1_header).
14558 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14559 using find_multi_boot2_header(), and abort if neither Multiboot or
14560 Multiboot headers were found.
14561
651c29b7 145622008-11-07 Robert Millan <rmh@aybabtu.com>
14563
14564 Modularize at_keyboard.mod:
14565
14566 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14567 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14568 (at_keyboard_mod_LDFLAGS): New variables.
14569
14570 Actual terminal split:
14571
14572 * include/grub/term.h (struct grub_term): Split in ...
14573 (struct grub_term_input): ... this, and ...
14574 (struct grub_term_output): ... this. Update all users.
14575 (grub_term_set_current): Split in ...
14576 (grub_term_set_current_input): ... this, and ...
14577 (grub_term_set_current_output): ... this.
14578 (grub_term_get_current): Split in ...
14579 (grub_term_get_current_input): ... this, and ...
14580 (grub_term_get_current_output): ... this.
14581 (grub_term_register): Split in ...
14582 (grub_term_register_input): ... this, and ...
14583 (grub_term_register_output): ... this.
14584 (grub_term_unregister): Split in ...
14585 (grub_term_unregister_input): ... this, and ...
14586 (grub_term_unregister_output): ... this.
14587 (grub_term_iterate): Split in ...
14588 (grub_term_iterate_input): ... this, and ...
14589 (grub_term_iterate_output): ... this.
14590
14591 * kern/term.c (grub_term_list): Split in ...
14592 (grub_term_list_input): ... this, and ...
14593 (grub_term_list_output): ... this. Update all users.
14594 (grub_cur_term): Split in ...
14595 (grub_cur_term_input): ... this, and ...
14596 (grub_cur_term_output): ... this. Update all users.
14597 (grub_term_set_current): Split in ...
14598 (grub_term_set_current_input): ... this, and ...
14599 (grub_term_set_current_output): ... this.
14600 (grub_term_get_current): Split in ...
14601 (grub_term_get_current_input): ... this, and ...
14602 (grub_term_get_current_output): ... this.
14603 (grub_term_register): Split in ...
14604 (grub_term_register_input): ... this, and ...
14605 (grub_term_register_output): ... this.
14606 (grub_term_unregister): Split in ...
14607 (grub_term_unregister_input): ... this, and ...
14608 (grub_term_unregister_output): ... this.
14609 (grub_term_iterate): Split in ...
14610 (grub_term_iterate_input): ... this, and ...
14611 (grub_term_iterate_output): ... this.
14612
14613 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14614 a check for input and one for output (and only attempt to get keys
14615 from user when input works).
14616
14617 * util/grub-probe.c (grub_term_get_current): Split in ...
14618 (grub_term_get_current_input): ... this, and ...
14619 (grub_term_get_current_output): ... this.
14620 * util/grub-fstest.c: Likewise.
14621 * util/i386/pc/grub-setup.c: Likewise.
14622 * util/grub-editenv.c: Likewise.
14623
14624 Portability adjustments:
14625
14626 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14627 `term/i386/pc/at_keyboard.c'.
14628 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14629 grub_keyboard_controller_init() (now handled by terminal .init).
14630 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14631 grub_at_keyboard_init().
14632 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14633 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14634 at_keyboard.mod via input terminal interface).
14635 * include/grub/i386/coreboot/console.h: Convert into a stub for
14636 `<grub/i386/pc/console.h>'.
14637
14638 Migrate full terminals to new API:
14639
14640 * term/efi/console.c (grub_console_term): Split into ...
14641 (grub_console_term_input): ... this, and ...
14642 (grub_console_term_output): ... this. Update all users.
14643 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14644 (grub_ofconsole_init): Split into ...
14645 (grub_ofconsole_init_input): ... this, and ...
14646 (grub_ofconsole_init_output): ... this.
14647 (grub_ofconsole_term): Split into ...
14648 (grub_ofconsole_term_input): ... this, and ...
14649 (grub_ofconsole_term_output): ... this. Update all users.
14650 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14651 (grub_serial_term_input): ... this, and ...
14652 (grub_serial_term_output): ... this. Update all users.
14653 * term/i386/pc/console.c (grub_console_term): Split into ...
14654 (grub_console_term_input): ... this, and ...
14655 (grub_console_term_output): ... this. Update all users.
14656 (grub_console_term_input): Only enable it on PC/BIOS platform.
14657 (grub_console_init): Remove grub_keyboard_controller_init() call.
14658
14659 Migrate input terminals to new API:
14660
14661 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14662 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14663 i386-specific anyway).
14664 (grub_console_checkkey): Rename to ...
14665 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14666 users.
14667 (grub_keyboard_controller_orig): New variable.
14668 (grub_console_getkey): Rename to ...
14669 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14670 users.
14671 (grub_keyboard_controller_init): Static-ize. Save original
14672 controller value so that it can be restored ...
14673 (grub_keyboard_controller_fini): ... here (new function).
14674 (grub_at_keyboard_term): New structure.
14675 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14676 functions.
14677
14678 Migrate output terminals to new API:
14679
14680 * term/i386/pc/vga.c (grub_vga_term): Change type to
14681 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14682 members. Update all users.
14683 * term/gfxterm.c (grub_video_term): Change type to
14684 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14685 members. Update all users.
14686 * include/grub/i386/pc/console.h (grub_console_checkkey)
14687 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14688 etc).
14689
14690 Migrate `terminal' command and userland tools to new API:
14691
14692 * commands/terminal.c (grub_cmd_terminal): Split into ...
14693 (grub_cmd_terminal_input): ... this, and ...
14694 (grub_cmd_terminal_output): ... this.
14695 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14696 `terminal_input' and `terminal_output'.
14697 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14698 `terminal_input' / `terminal_output' API.
14699 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14700 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14701 provided ${GRUB_TERMINAL}, convert it).
14702
96e5d876 147032008-11-04 Robert Millan <rmh@aybabtu.com>
14704
14705 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14706 for FreeBSD.
14707 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14708
556f3775 147092008-11-03 Bean <bean123ch@gmail.com>
14710
14711 * kern/elf.c (grub_elf32_load): Revert to previous code.
14712 (grub_elf64_load): Likewise.
14713
14714 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14715
926b9823 147162008-11-01 Robert Millan <rmh@aybabtu.com>
14717
14718 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14719 (TARGET_CPPFLAGS): Likewise.
14720 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14721
1432e958 147222008-11-01 Carles Pina i Estany <carles@pina.cat>
14723
14724 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14725
dba3f844 147262008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 14727
14728 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14729 addition of objects until the code is not going to be able to fail.
14730
dba3f844 147312008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 14732
14733 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14734 (add a missing NULL check, and correct them by moving the pointer
14735 operations after the actual check).
14736
7ab28c21 147372008-10-29 Robert Millan <rmh@aybabtu.com>
14738
14739 * util/i386/pc/grub-install.in: Handle empty string as output from
14740 make_system_path_relative_to_its_root().
14741
1b7748eb 147422008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14743
14744 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14745 circular metadata worst case scenario. If the metadata is circular
14746 then copy the wrap in place.
14747 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14748 project lib/format_text/layout.h
14749 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14750
c9618ab2 147512008-10-03 Felix Zielcke <fzielcke@z-51.de>
14752
7a36edca 14753 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 14754
bf981c62 147552008-10-03 Felix Zielcke <fzielcke@z-51.de>
14756
14757 * util/update-grub_lib.in: Mention filename in warning message.
14758
6d994591 147592008-09-29 Felix Zielcke <fzielcke@z-51.de>
14760
14761 * NEWS: Update for rename of update-grub to grub-mkconfig.
14762
18ade780 147632008-09-29 Felix Zielcke <fzielcke@z-51.de>
14764
14765 * util/update-grub_lib.in: Copy to ...
14766 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 14767 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 14768 * util/update-grub.in: Rename to ...
14769 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14770 option. Add `--output' option to allow users to specify the generated
14771 configuration file. Default to stdout.
14772 (update_grub_dir): Rename to ...
14773 (grub_mkconfig_dir): ... this.
14774 (grub_cfg): Default to an empty string.
14775 * conf/common.rmk (update-grub): Rename to ...
14776 (grub-mkconfig): ... this.
14777 (update-grub_lib): Copy to ...
14778 (grub-mkconfig_lib): ... this.
14779 (update-grub_SCRIPTS): Copy to ...
14780 (grub-mkconfig_SCRIPTS): ... this. Update all users.
14781 (update-grub_DATA): Rename to ...
14782 (grub-mkconfig_DATA): ... this.
14783
556ce6ac 147842008-09-28 Robert Millan <rmh@aybabtu.com>
14785
14786 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
14787 to `modified'. Add the real `created' field.
14788 (grub_iso9660_uuid): Use `modified' rather than `created' for
14789 constructing the UUID.
14790
147912008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 14792
14793 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
14794 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
14795
92274e85 147962008-09-28 Bean <bean123ch@gmail.com>
14797
14798 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
14799 Thanks to Christian Franke for finding this bug.
14800
add6f17a 148012008-09-25 Robert Millan <rmh@aybabtu.com>
14802
14803 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
14804 instances of grub_util_get_disk_name() (see previous commit).
14805
d2a367b8 148062008-09-25 Robert Millan <rmh@aybabtu.com>
14807
14808 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
14809 `util/i386/get_disk_name.c'.
14810 * conf/i386-efi.rmk: Likewise.
14811 * conf/x86_64-efi.rmk: Likewise.
14812 * conf/i386-coreboot.rmk: Likewise.
14813 * conf/i386-ieee1275.rmk: Likewise.
14814 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
14815 `util/ieee1275/get_disk_name.c'.
14816 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
14817 * util/ieee1275/get_disk_name.c: Remove file.
14818 * util/i386/get_disk_name.c: Remove file.
14819 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
14820 "hd%d" for device.map entries, rather than using
14821 grub_util_get_disk_name().
14822
81a06771 148232008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 14824
14825 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
14826 warning.
14827 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
14828
5a004279 148292008-09-24 Carles Pina i Estany <carles@pina.cat>
14830
14831 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
14832 Changed to 0x5100.
14833 (GRUB_TERM_PPAGE): Changed to 0x4900.
14834
397093d3 148352008-09-24 Robert Millan <rmh@aybabtu.com>
14836
14837 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
14838 macros (they were i386-pc specific).
14839 * include/grub/sparc64/ieee1275/console.h: Likewise.
14840 * include/grub/efi/console.h: Likewise.
14841
a91b6c7c 148422008-09-22 Bean <bean123ch@gmail.com>
14843
14844 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
14845 resident and in attribute list.
14846
14847 * include/grub/ntfs.h (BMP_LEN): Removed.
14848
c40fd116 148492008-09-22 Bean <bean123ch@gmail.com>
14850
81a06771 14851 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 14852 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
14853
14854 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
14855 error occurs, as grub_disk_open will call grub_disk_close, which will
14856 call p->close (scsi).
14857
81a06771 148582008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 14859
14860 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
14861 (AC_PREREQ): Bumped to 2.59.
14862 (AC_TRY_COMPILE): Replace obsolete macro with ...
14863 (AC_COMPILE_IFELSE): ... this.
14864 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
14865 (AC_LINK_IFELSE): ... this.
14866
5dc43410 148672008-09-21 Felix Zielcke <fzielcke@z-51.de>
14868
14869 * autogen.sh: Add a call to `gendistlist.sh'.
14870
9035dce4 148712008-09-19 Christian Franke <franke@computer.org>
14872
14873 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
14874 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
14875 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
14876 Export __enable_execute_stack() to modules.
14877 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
14878 New function.
14879
7fd75377 148802008-09-09 Felix Zielcke <fzielcke@z-51.de>
14881
040030b3 14882 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
14883 Sort the list.
14884
148852008-09-09 Felix Zielcke <fzielcke@z-51.de>
14886
14887 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 14888 #include <grub/util/hostdisk.h>.
14889
89d5ffcf 148902008-09-08 Robert Millan <rmh@aybabtu.com>
14891
14892 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
14893 segments when their filesz is zero (grub_file_read() interprets
81a06771 14894 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 14895 Use `lowest_segment' rather than 0 for calculating the current
14896 segment load address.
14897
40da438f 148982008-09-08 Robert Millan <rmh@aybabtu.com>
14899
14900 * util/hostdisk.c (open_device): Replace a grub_util_info() call
14901 with grub_dprintf("hostdisk", ...), as it was so verbose that it
14902 clobbered useful information.
14903
ddbf5556 149042008-09-08 Robert Millan <rmh@aybabtu.com>
14905
14906 * include/grub/util/biosdisk.h: Move to ...
14907 * include/grub/util/hostdisk.h: ... here. Update all users.
14908 * util/biosdisk.c: Move to ...
14909 * util/hostdisk.c: ... here. Update all users.
14910
783d0f48 149112008-09-07 Robert Millan <rmh@aybabtu.com>
14912
14913 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
14914 variables.
14915 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
14916 and length can be stored directly in the `mbi->mmap_addr' and
14917 `mbi->mmap_length' struct fields.
14918
548e2ea5 149192008-09-07 Robert Millan <rmh@aybabtu.com>
14920
14921 * conf/i386.rmk: New file. Provides declaration for building
14922 `cpuid.mod'.
14923 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
14924 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
14925 variables.
14926 Include `conf/i386.mk'.
14927 * conf/i386-efi.rmk: Likewise.
14928 * conf/x86_64-efi.rmk: Likewise.
14929 * conf/i386-coreboot.rmk: Likewise.
14930 * conf/i386-ieee1275.rmk: Likewise.
14931
0ea85a37 149322008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
14933
14934 Based on patch created by Colin D Bennett <colin@gibibit.com>.
14935 Adds optimization support for BGR based modes.
14936
14937 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
14938 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14939 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14940 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14941 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14942 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14943 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14944 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14945 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14946 (grub_video_i386_vbeblit_index_index): Likewise.
14947 (grub_video_i386_vbeblit_replace_directN): Added.
14948 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14949 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14950 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14951 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14952 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14953 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 14954 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 14955 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14956 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14957 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14958 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14959 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14960 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14961
14962 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
14963 (grub_video_i386_vbefill_R8G8B8): Likewise.
14964 (grub_video_i386_vbefill_index): Likewise.
14965 (grub_video_i386_vbefill_direct32): Added.
14966 (grub_video_i386_vbefill_direct24): Likewise.
14967 (grub_video_i386_vbefill_direct16): Likewise.
14968 (grub_video_i386_vbefill_direct8): Likewise.
14969
81a06771 14970 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 14971 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
14972 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
14973 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
14974 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
14975 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 14976
0ea85a37 14977 * video/video.c (grub_video_get_blit_format): Updated to use new
14978 blit formats. Added handling for 16 bit color modes.
81a06771 14979
14980 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 14981 fillers.
14982 (common_blitter): Updated to use new blitters.
14983
14984 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
14985 Removed.
14986 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14987 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14988 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14989 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14990 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14991 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14992 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14993 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14994 (grub_video_i386_vbeblit_index_index): Likewise.
14995 (grub_video_i386_vbeblit_replace_directN): Added.
14996 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14997 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14998 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14999 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15000 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15001 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15002 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15003 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15004 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15005 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15006 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15007 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15008 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 15009
0ea85a37 15010 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15011 (grub_video_i386_vbefill_R8G8B8): Likewise.
15012 (grub_video_i386_vbefill_index): Likewise.
15013 (grub_video_i386_vbefill_direct32): Added.
15014 (grub_video_i386_vbefill_direct24): Likewise.
15015 (grub_video_i386_vbefill_direct16): Likewise.
15016 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 15017
0ea85a37 15018 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15019 types.
81a06771 15020
0ea85a37 15021 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15022 types.
81a06771 15023
0ea85a37 15024 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15025 blitter types.
81a06771 15026
0ea85a37 15027 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15028 types.
15029
e8a83df6 150302008-09-06 Felix Zielcke <fzielcke@z-51.de>
15031
15032 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15033 RAID level 1.
15034
6bcd8ee5 150352008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 15036
6bcd8ee5 15037 * fs/iso9660.c (grub_iso9660_date): New structure.
15038 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15039 (grub_iso9660_uuid): New function.
c375ae58 15040
59261157 150412008-09-05 Bean <bean123ch@gmail.com>
15042
15043 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15044
15045 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15046 insensitive bit for names in Win32 and Win32 & DOS namespace.
15047
15048 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15049
15050 * include/grub/types.h (LONG_MAX): Likewise.
15051
58b6645a 150522008-09-04 Felix Zielcke <fzielcke@z-51.de>
15053
4ee55921 15054 * util/getroot.c: Include <config.h>.
15055 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15056 add support for /dev/md/N devices and handle LVM double dash escaping.
15057
150582008-09-04 Felix Zielcke <fzielcke@z-51.de>
15059
15060 * config.guess: Update to latest version from config git.
15061 * config.sub: Likewise.
58b6645a 15062
9124f65d 150632008-09-03 Robert Millan <rmh@aybabtu.com>
15064
15065 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15066 `disk->total_sectors'.
15067
81a06771 150682008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 15069
15070 * include/grub/normal.h: Fixed incorrect comment for
15071 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15072
81a06771 150732008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 15074
15075 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15076 values with defines.
15077
15078 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15079 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15080 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15081 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15082 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15083 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15084 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15085 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15086 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15087 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15088 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15089 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15090 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15091 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15092 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15093 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15094 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15095 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15096 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15097
93d5cbf8 150982008-08-31 Robert Millan <rmh@aybabtu.com>
15099
15100 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15101 declaration.
15102 (grub_multiboot): Fix a few warnings.
15103
21751d50 151042008-08-31 Robert Millan <rmh@aybabtu.com>
15105
15106 * loader/i386/pc/multiboot.c: Update comment not to say that
15107 boot_device support is unimplemented.
15108
e27a75c5 151092008-08-31 Robert Millan <rmh@aybabtu.com>
15110
15111 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15112 or memory map support are unimplemented.
15113
81a06771 151142008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 15115
15116 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15117
81a06771 151182008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 15119
15120 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15121 total video memory in 'vbeinfo' output; show color format details for
15122 each video mode.
15123
7c5d8d95 151242008-08-30 Pavel Roskin <proski@gnu.org>
15125
15126 * util/genmoddep.c: Remove for real this time.
15127 * DISTLIST: Remove util/genmoddep.c.
15128
4cebd25a 151292008-08-30 Robert Millan <rmh@aybabtu.com>
15130
15131 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
15132 as required by Multiboot spec (it was already 4-byte aligned, but
15133 only by chance).
15134
b497a269 151352008-08-29 Pavel Roskin <proski@gnu.org>
15136
e3925185 15137 * kern/powerpc/ieee1275/crt0.S: Rename to ...
15138 * kern/powerpc/ieee1275/startup.S: ... this.
15139 * conf/powerpc-ieee1275.rmk: Adjust for the above.
15140 * DISTLIST: Likewise.
15141
b497a269 15142 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
15143 grub/cpu/kernel.h. Add start label for consistency with other
15144 platforms. Add grub_prefix immediately after start. Add jump
15145 to the code after grub_prefix.
15146 * include/grub/powerpc/kernel.h: Provide valid values for
15147 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
15148
6e5a42fe 151492008-08-29 Bean <bean123ch@gmail.com>
15150
15151 * configure.ac: Change host_os to cygwin for mingw.
15152 (asprintf): New check for function.
15153
15154 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15155 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15156
15157 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 15158 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 15159 sync, sleep and grub_util_get_disk_size for mingw.
15160
15161 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15162 to get size in mingw.
15163 (open_device): Use flag O_BINARY if it's defined.
15164 (find_root_device): Add dummy code for mingw.
15165
15166 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15167 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15168 (get_scsi_disk_name): Return 0 for mingw.
15169
15170 * util/hostfs.c: #include <grub/util/misc.h>.
15171 (grub_hostfs_open): Use "rb" flag to open file, use
15172 grub_util_get_disk_size to get disk size for mingw.
15173
15174 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15175 (asprintf): New function if HAVE_ASPRINTF is not set.
15176 (sync): New function for mingw.
15177 (sleep): Likewise.
15178 (grub_util_get_disk_size): Likewise.
15179
ab3f2673 151802008-08-28 Pavel Roskin <proski@gnu.org>
15181
15182 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15183 kern/time.c.
15184
1c282483 151852008-08-28 Robert Millan <rmh@aybabtu.com>
15186
15187 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15188
678e849c 151892008-08-28 Robert Millan <rmh@aybabtu.com>
15190
15191 Change find_grub_drive() syntax so it doesn't prevent it from
15192 detecting NULL names as errors.
15193
15194 * util/biosdisk.c (find_grub_drive): Move free slot search code
15195 from here ...
15196 (find_free_slot): ... to here.
15197 (read_device_map): Use find_free_slot() to search for free slots.
15198
965c75ca 151992008-08-27 Marco Gerards <marco@gnu.org>
15200
15201 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15202 (scsi_mod_SOURCES): New variable.
15203 (scsi_mod_CFLAGS): Likewise
15204 (scsi_mod_LDFLAGS): Likewise.
15205
15206 * disk/scsi.c: New file.
15207
15208 * include/grub/scsi.h: Likewise.
15209
15210 * include/grub/scsicmd.h: Likewise.
15211
15212 * disk/ata.c: Include <grub/scsi.h>.
15213 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15214 instead.
15215 (grub_ata_iterate): Skip ATAPI devices.
15216 (grub_ata_open): Only handle ATAPI devices.
15217 (struct grub_atapi_read): Removed.
15218 (grub_atapi_readsector): Likewise.
15219 (grub_ata_read): No longer handle ATAPI devices.
15220 (grub_ata_write): Likewise.
15221 (grub_atapi_iterate): New function.
15222 (grub_atapi_read): Likewise.
15223 (grub_atapi_write): Likewise.
15224 (grub_atapi_open): Likewise.
15225 (grub_atapi_close): Likewise.
15226 (grub_atapi_dev): New variable.
15227 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15228 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15229
15230 * include/grub/disk.h (enum grub_disk_dev_id): Add
15231 `GRUB_DISK_DEVICE_SCSI_ID'.
15232
c07ae501 152332008-08-26 Robert Millan <rmh@aybabtu.com>
15234
15235 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15236 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15237 descriptive.
15238
5ed20adc 152392008-08-23 Bean <bean123ch@gmail.com>
15240
15241 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15242 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15243 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15244 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15245 dm_nv.mod.
15246 (raid5rec_mod_SOURCES): New macro.
15247 (raid5rec_mod_CFLAGS): Likewise.
15248 (raid5rec_mod_LDFLAGS): Likewise.
15249 (raid6rec_mod_SOURCES): Likewise.
15250 (raid6rec_mod_CFLAGS): Likewise.
15251 (raid6rec_mod_LDFLAGS): Likewise.
15252 (mdraid_mod_SOURCES): Likewise.
15253 (mdraid_mod_CFLAGS): Likewise.
15254 (mdraid_mod_LDFLAGS): Likewise.
15255 (dm_nv_mod_SOURCES): Likewise.
15256 (dm_nv_mod_CFLAGS): Likewise.
15257 (dm_nv_mod_LDFLAGS): Likewise.
15258
15259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15260 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15261 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15262
15263 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15264 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15265
15266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15267
15268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15269
15270 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15271
15272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15273
15274 * disk/raid5_recover.c: New file.
15275
15276 * disk/raid6_recover.c: Likewise.
15277
15278 * disk/mdraid_linux.c: Likewise.
15279
15280 * disk/dmraid_nvidia.c: Likewise.
15281
15282 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15283 ULONG_MAX.
15284
15285 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15286 calculate the size of raid device.
15287 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15288 different layout of raid5.
15289 (grub_raid_scan_device): Remove code specific to mdraid.
15290 (grub_raid_list): New variable.
15291 (free_array): New function.
15292 (grub_raid_register): Likewise.
15293 (grub_raid_unregister): Likewise.
15294 (grub_raid_rescan): Likewise.
15295 (GRUB_MOD_INIT): Don't iterate device here.
15296 (GRUB_MOD_FINI): Use free_array to release resource.
15297
15298 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15299 (grub_raid5_recover_func_t): New function variable type.
15300 (grub_raid6_recover_func_t): Likewise.
15301 (grub_raid5_recover_func): New variable.
15302 (grub_raid6_recover_func): Likewise.
15303 (grub_raid_register): New function.
15304 (grub_raid_unregister): Likewise.
15305 (grub_raid_rescan): Likewise.
15306 (grub_raid_block_xor): Likewise.
15307
15308 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15309 (CMD_CRC): New macro.
15310 (part): Removed.
15311 (read_file): Handle device as well as file.
15312 (cmd_crc): New function.
15313 (fstest): Handle multiple disks.
15314 (options): Remove part, raw and long, add root and diskcount.
15315 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 15316 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 15317 add handling for the new options, support multiple disks.
15318
15319 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
15320
29c18915 153212008-08-23 Bean <bean123ch@gmail.com>
15322
15323 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
15324
15325 * genfslist.sh: Ignore kernel.mod.
15326
15327 * genpartmaplist.sh: Likewise.
15328
8415f261 153292008-08-23 Robert Millan <rmh@aybabtu.com>
15330
15331 * util/getroot.c (find_root_device): Skip anything that starts with
15332 a dot, not just directories. This avoids things like /dev/.tmp.md0.
15333
d5a7dc5b 153342008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 15335
d5a7dc5b 15336 * util/update-grub.in (GRUB_GFXMODE): Export variable.
15337 * util/grub.d/00_header.in: Allow the administrator to change default
15338 gfxmode via ${GRUB_GFXMODE}.
15339
380cfbb4 153402008-08-21 Felix Zielcke <fzielcke@z-51.de>
15341
15342 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
15343
c9baafe7 153442008-08-21 Robert Millan <rmh@aybabtu.com>
15345
15346 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
15347 loader.
15348 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
15349 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
15350
e290bef2 153512008-08-20 Carles Pina i Estany <carles@pina.cat>
15352
15353 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
15354 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
15355
f9dbfc96 153562008-08-19 Robert Millan <rmh@aybabtu.com>
15357
15358 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
15359 (struct grub_virtual_screen): Remove `cursor_color'.
15360 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
15361 initialization.
15362 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
15363
dd6bd6ab 153642008-08-18 Robert Millan <rmh@aybabtu.com>
15365
15366 Unify (identical) linux_normal.c files.
15367 * loader/i386/efi/linux_normal.c: Move from here ...
15368 * loader/linux_normal.c: ... to here. Update all users.
15369 * loader/i386/pc/linux_normal.c: Delete. Update all users.
15370 * loader/i386/ieee1275/linux_normal.c: Likewise.
15371
7f42f83e 153722008-08-18 Robert Millan <rmh@aybabtu.com>
15373
15374 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
15375 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
15376 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
15377 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
15378 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
15379 New macros.
15380 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
15381 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
15382 (GRUB_LINUX_CL_END_OFFSET): ... to here.
15383 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
15384 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
15385 (GRUB_EFI_CL_END_OFFSET): Rename to ...
15386 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
15387 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
15388 Initialize `params->video_cursor_x' and `params->video_cursor_y'
15389 portably using grub_getxy().
15390 Replace `-EFI' with `-bzImage' in boot message.
15391
38487ddb 153922008-08-17 Robert Millan <rmh@aybabtu.com>
15393
15394 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
15395
deceb3ec 153962008-08-17 Robert Millan <rmh@aybabtu.com>
15397
15398 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
15399
15400 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
15401 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
15402 (grub_machine_mmap_iterate): New function declaration.
15403 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
15404 structure.
15405 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
15406 macros.
15407
15408 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
15409 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
15410 Move e820 parsing from here ...
15411 * kern/i386/pc/mmap.c: New file.
15412 (grub_machine_mmap_iterate): ... to here.
15413
15414 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
15415 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
15416 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
15417 (grub_available_iterate): Redeclare to return `void', and redeclare
15418 its hook to use grub_uint64_t as addr and size parameters, and rename
15419 to ...
15420 (grub_machine_mmap_iterate): ... this. Update all users.
15421
15422 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
15423 to make it more readable. Rename to ...
15424 (grub_machine_mmap_iterate): ... this.
15425
15426 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
15427 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
15428 (grub_multiboot): Allocate an extra region after the payload, and fill
15429 it with a Multiboot memory map. Adjust a.out loader to calculate size
15430 with the extra space.
15431 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
15432 with the extra space.
15433
f8aa0f43 154342008-08-17 Carles Pina i Estany <carles@pina.cat>
15435
9807deb9 15436 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 15437
605f5bb6 154382008-08-17 Felix Zielcke <fzielcke@z-51.de>
15439
15440 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
15441 mdate-sh to the list `find' searches for.
15442 * DISTLIST: Regenerated.
15443
210db6c6 154442008-08-16 Felix Zielcke <fzielcke@z-51.de>
15445
15446 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
15447 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 15448 genmoddep.awk, gensymlist.sh.in.
15449 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 15450 * DISTLIST: Regenerated.
48cdbfd4 15451 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 15452
1082b929 154532008-08-16 Robert Millan <rmh@aybabtu.com>
15454
15455 * disk/raid.c (grub_raid_init): Handle/report errors set by
15456 grub_device_iterate().
15457 * disk/lvm.c (grub_lvm_init): Likewise.
15458
42ce5170 154592008-08-15 Bean <bean123ch@gmail.com>
15460
15461 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15462 and datehook.mod.
15463 (datetime_mod_SOURCES): New macro.
15464 (datetime_mod_CFLAGS): Likewise.
15465 (datetime_mod_LDFLAGS): Likewise.
15466 (date_mod_SOURCES): Likewise.
15467 (date_mod_CFLAGS): Likewise.
15468 (date_mod_LDFLAGS): Likewise.
15469 (datehook_mod_SOURCES): Likewise.
15470 (datehook_mod_CFLAGS): Likewise.
15471 (datehook_mod_LDFLAGS): Likewise.
15472
15473 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15474 and datehook.mod.
15475 (datetime_mod_SOURCES): New macro.
15476 (datetime_mod_CFLAGS): Likewise.
15477 (datetime_mod_LDFLAGS): Likewise.
15478 (date_mod_SOURCES): Likewise.
15479 (date_mod_CFLAGS): Likewise.
15480 (date_mod_LDFLAGS): Likewise.
15481 (datehook_mod_SOURCES): Likewise.
15482 (datehook_mod_CFLAGS): Likewise.
15483 (datehook_mod_LDFLAGS): Likewise.
15484
15485 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15486 and datehook.mod.
15487 (datetime_mod_SOURCES): New macro.
15488 (datetime_mod_CFLAGS): Likewise.
15489 (datetime_mod_LDFLAGS): Likewise.
15490 (date_mod_SOURCES): Likewise.
15491 (date_mod_CFLAGS): Likewise.
15492 (date_mod_LDFLAGS): Likewise.
15493 (datehook_mod_SOURCES): Likewise.
15494 (datehook_mod_CFLAGS): Likewise.
15495 (datehook_mod_LDFLAGS): Likewise.
15496
15497 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15498 and datehook.mod.
15499 (datetime_mod_SOURCES): New macro.
15500 (datetime_mod_CFLAGS): Likewise.
15501 (datetime_mod_LDFLAGS): Likewise.
15502 (date_mod_SOURCES): Likewise.
15503 (date_mod_CFLAGS): Likewise.
15504 (date_mod_LDFLAGS): Likewise.
15505 (datehook_mod_SOURCES): Likewise.
15506 (datehook_mod_CFLAGS): Likewise.
15507 (datehook_mod_LDFLAGS): Likewise.
15508
15509 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15510 and datehook.mod.
15511 (datetime_mod_SOURCES): New macro.
15512 (datetime_mod_CFLAGS): Likewise.
15513 (datetime_mod_LDFLAGS): Likewise.
15514 (date_mod_SOURCES): Likewise.
15515 (date_mod_CFLAGS): Likewise.
15516 (date_mod_LDFLAGS): Likewise.
15517 (datehook_mod_SOURCES): Likewise.
15518 (datehook_mod_CFLAGS): Likewise.
15519 (datehook_mod_LDFLAGS): Likewise.
15520
15521 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
15522
15523 * commands/date.c: New file.
15524
15525 * hook/datehook.c: Likewise.
15526
15527 * include/grub/lib/datetime.h: Likewise.
15528
15529 * include/grub/i386/cmos.h: Likewise.
15530
15531 * lib/datetime.c: Likewise.
15532
15533 * lib/i386/datetime.c: Likewise.
15534
15535 * lib/efi/datetime.c: Likewise.
15536
0e9242da 155372008-08-14 Robert Millan <rmh@aybabtu.com>
15538
15539 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15540 (grub_mkelfimage_SOURCES): New variable.
15541 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15542
15543 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15544 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15545 * conf/powerpc-ieee1275.rmk: Likewise.
15546 * conf/i386-ieee1275.rmk: Likewise.
15547
15548 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15549 * kern/i386/coreboot/init.c: Likewise.
15550
15551 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15552 with `<grub/cpu/kernel.h>'.
15553 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15554 to ...
15555 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15556 * kern/i386/coreboot/startup.S: Likewise.
15557
15558 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15559 (GRUB_MOD_GAP): Remove.
15560 * include/grub/powerpc/kernel.h: New file.
15561 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15562 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15563 * include/grub/i386/kernel.h: New file.
15564 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15565 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15566 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15567
15568 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15569 `grub-mkelfimage'.
15570 Use --directory when invoking grub_mkimage.
15571
15572 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15573 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15574 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15575 and GRUB_KERNEL_CPU_PREFIX.
15576
b86408f8 155772008-08-14 Felix Zielcke <fzielcke@z-51.de>
15578
d5e619ca 15579 * include/grub/err.h (grub_err_printf): New function prototype.
15580 * util/misc.c (grub_err_printf): New function.
15581 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15582 grub_printf.
15583 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 15584
7161f0e0 155852008-08-13 Robert Millan <rmh@aybabtu.com>
15586
15587 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15588
a1967522 155892008-08-13 Robert Millan <rmh@aybabtu.com>
15590
15591 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15592 boot entry.
15593
371458b5 155942008-08-12 Robert Millan <rmh@aybabtu.com>
15595
15596 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15597 of the relocation code from here ...
15598 (grub_multiboot): ... to here.
15599 (forward_relocator, backward_relocator): Move from here ...
15600 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15601 (grub_multiboot_backward_relocator): ... to here.
15602 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15603 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15604 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15605 (grub_multiboot_forward_relocator_end)
15606 (grub_multiboot_backward_relocator)
15607 (grub_multiboot_backward_relocator_end): New variables.
15608
05f9452b 156092008-08-12 Bean <bean123ch@gmail.com>
15610
15611 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15612
20024ab0 156132008-08-11 Robert Millan <rmh@aybabtu.com>
15614
15615 * kern/i386/linuxbios/startup.S: Move from here ...
15616 * kern/i386/coreboot/startup.S: ... to here.
15617
15618 * kern/i386/linuxbios/init.c: Move from here ...
15619 * kern/i386/coreboot/init.c: ... to here.
15620
15621 * kern/i386/linuxbios/table.c: Move from here ...
15622 * kern/i386/coreboot/mmap.c: ... to here.
15623
15624 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15625
e352e9cd 156262008-08-11 Robert Millan <rmh@aybabtu.com>
15627
15628 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15629 errors. Leave it to the upper layer to handle them.
15630
2d05bc6a 156312008-08-09 Christian Franke <franke@computer.org>
15632
15633 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15634 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15635 Install `grub.d/10_windows' only on Cygwin.
15636 * configure.ac: Add subst of `target_os'.
15637 Check `target_os' also before setting TARGET_OBJ2ELF.
15638 Add `--enable-grub-pe2elf'.
15639
042bd419 156402008-08-08 Robert Millan <rmh@aybabtu.com>
15641
15642 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15643 (grub_last_time): Change type to grub_uint64_t.
15644 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15645 (grub_disk_close): Likewise.
15646
15647 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15648 (run_menu): Migrate code from to using grub_get_time_ms().
15649
15650 * util/misc.c (grub_get_time_ms): New function.
15651
7f280db5 156522008-08-08 Marco Gerards <marco@gnu.org>
15653
15654 * disk/ata.c (grub_ata_regget): Change return type to
15655 `grub_uint8_t'.
15656 (grub_ata_regget2): Likewise.
15657 (grub_ata_wait_status): New function.
15658 (grub_ata_wait_busy): Removed function, updated all users to use
15659 `grub_ata_wait_status'.
15660 (grub_ata_wait_drq): Likewise.
15661 (grub_ata_cmd): New function.
15662 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15663 error handling.
15664 (grub_ata_pio_write): Add error handling.
15665 (grub_atapi_identify): Likewise.
15666 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15667 handling.
15668 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15669 handling. Actually use the detected registers. Reorder the
15670 detection logic such that it is easier to read.
15671 (grub_ata_pciinit): Do not assign the same ID to each controller.
15672 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15673 handling.
15674 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15675
15676 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15677
1fbc5e66 156782008-08-08 Marco Gerards <marco@gnu.org>
15679
15680 * NEWS: Update.
15681
819ce6c0 156822008-08-07 Bean <bean123ch@gmail.com>
15683
15684 * include/grub/x86_64/pci.h: New file.
15685
5c41d44d 156862008-08-07 Christian Franke <franke@computer.org>
15687
15688 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15689 (TIMER2_GATE): Likewise.
15690 (grub_pit_wait): Add enable/disable of the timer2 gate
15691 bit of port 0x61. This fixes a possible infinite loop.
15692
5ebc275d 156932008-08-07 Bean <bean123ch@gmail.com>
15694
15695 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15696 kern/i386/tsc.c and kern/i386/pit.c.
15697
15698 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15699 x86_64 platform.
15700
15701 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15702 <grub/i386/tsc.h>.
15703
15704 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15705
e383b3d0 157062008-08-07 Bean <bean123ch@gmail.com>
15707
15708 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15709
15710 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15711
15712 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15713 multiple inclusion. Add #include <grub/types.h>.
15714
1cbb58ac 157152008-08-06 Christian Franke <franke@computer.org>
15716
15717 * conf/common.rmk: Build and install `10_windows'.
15718 * util/grub.d/10_windows.in: New script.
15719
337f5a1e 157202008-08-06 Pavel Roskin <proski@gnu.org>
15721
15722 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15723
057bc4ac 157242008-08-06 Robert Millan <rmh@aybabtu.com>
15725
15726 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15727 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15728
2b99f123 157292008-08-06 Bean <bean123ch@gmail.com>
15730
15731 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15732 (grub_pxefs_fs_int): Remove dummy definition.
15733 (grub_pxefs_open): Use data->block_size to store the current block
15734 size setting.
15735 (grub_pxefs_read): Use block size stored in data->block_size. As the
15736 value of grub_pxe_blksize can be changed after the file is opened.
15737
9f0234cb 157382008-08-06 Bean <bean123ch@gmail.com>
15739
15740 * fs/i386/pc/pxe.c (curr_file): new variable.
15741 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15742 require the dummy internal file system anymore.
15743 (grub_pxefs_read): Removed.
15744 (grub_pxefs_close): Likewise.
15745 (grub_pxefs_fs_int): Likewise.
15746 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15747 connection when we switch file.
15748 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15749
a55d42e0 157502008-08-06 Robert Millan <rmh@aybabtu.com>
15751
15752 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15753 `halt.mod'.
15754 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15755 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15756
15757 * kern/i386/halt.c: New file.
15758 * kern/i386/reboot.c: Likewise.
15759 * include/grub/i386/reboot.h: Likewise.
15760 * include/grub/i386/halt.h: Likewise.
15761
15762 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15763 Include `<grub/cpu/halt.h>'.
15764 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15765 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15766
15767 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15768 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15769 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15770 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15771 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
15772 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
15773 from here ...
15774 * include/grub/i386/at_keyboard.h: ... to here.
15775
24371d26 157762008-08-05 Robert Millan <rmh@aybabtu.com>
15777
15778 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
15779 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
15780 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
15781 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15782 `kern/generic/millisleep.c'.
15783
15784 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
15785 instead of grub_get_rtc().
15786 (grub_tsc_init): Initialize `tsc_boot_time'.
15787
15788 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
15789 (grub_machine_init): Use grub_tsc_init() rather than
15790 installing an RTC-based handler via grub_install_get_time_ms().
15791
15792 * kern/i386/pit.c: New file.
15793 * include/grub/i386/pit.h: Likewise.
15794
9e7007b3 157952008-08-05 Bean <bean123ch@gmail.com>
15796
15797 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
15798
15799 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
15800 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
15801 (pxe_mod_SOURCES): New macro.
15802 (pxe_mod_CFLAGS): Likewise.
15803 (pxe_mod_LDFLAGS): Likewise.
15804 (pxecmd_mod_SOURCES): Likewise.
15805 (pxecmd_mod_CFLAGS): Likewise.
15806 (pxecmd_mod_LDFLAGS): Likewise.
15807
15808 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
15809 (grub_pxe_call): Likewise.
15810
15811 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
15812
15813 * commands/i386/pc/pxecmd.c: New file.
15814
9f0234cb 15815 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 15816
15817 * include/grub/i386/pc/pxe.h: Likewise.
15818
6977d49f 158192008-08-05 Bean <bean123ch@gmail.com>
15820
15821 * util/console.c (grub_console_cur_color): New variable.
15822 (grub_console_standard_color): Likewise.
15823 (grub_console_normal_color): Likewise.
15824 (grub_console_highlight_color): Likewise.
15825 (color_map): Likewise.
15826 (use_color): Likewise.
15827 (NUM_COLORS): New macro.
15828 (grub_ncurses_setcolorstate): Handle color properly.
15829 (grub_ncurses_setcolor): Don't change color here, just remember the
15830 settings, color will be set in grub_ncurses_setcolorstate.
15831 (grub_ncurses_getcolor): New function.
15832 (grub_ncurses_init): Initialize color pairs.
15833 (grub_ncurses_term): New member grub_ncurses_getcolor.
15834
9c2ff3ee 158352008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 15836
9c2ff3ee 15837 High resolution timer support. Implemented for x86 CPUs using TSC.
15838 Extracted generic grub_millisleep() so it's linked in only as needed.
15839 This requires a Pentium compatible CPU; if the RDTSC instruction is
15840 not supported, then it falls back on the generic grub_get_time_ms()
15841 implementation that uses the machine's RTC.
15842
15843 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
15844 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15845 `kern/generic/millisleep.c'.
15846
15847 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
15848 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
15849
15850 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
15851 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
15852
15853 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15854
15855 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15856 `kern/generic/millisleep.c'.
15857
15858 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15859
15860 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
15861
15862 * kern/generic/rtc_get_time_ms.c: New file.
15863
15864 * kern/generic/millisleep.c: New file.
337f5a1e 15865
9c2ff3ee 15866 * kern/misc.c: Don't include
15867 <kern/time.h> anymore.
15868 (grub_millisleep_generic): Removed.
15869
15870 * commands/sleep.c (grub_interruptible_millisleep): Uses
15871 grub_get_time_ms() instead of grub_get_rtc().
15872
15873 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
15874 function.
15875 (grub_cpu_is_cpuid_supported): New inline function.
15876 (grub_cpu_is_tsc_supported): New inline function.
15877 (grub_tsc_init): New function prototype.
15878 (grub_tsc_get_time_ms): New function prototype.
15879
15880 * kern/i386/tsc.c (grub_get_time_ms): New file.
15881
15882 * include/grub/time.h: Include <grub/types.h.
15883 (grub_millisleep_generic): Removed.
15884 (grub_get_time_ms): New prototype.
15885 (grub_install_get_time_ms): New prototype.
15886 (grub_rtc_get_time_ms): New prototype.
15887
15888 * kern/time.c (grub_get_time_ms): New function.
15889 (grub_install_get_time_ms): New function.
15890
15891 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
15892 <grub/time.h> anymore.
15893 (grub_millisleep): Removed.
15894 (grub_machine_init): Call grub_tsc_init.
15895
15896 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
15897 get_time_ms() implementation.
15898
15899 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
15900 (ieee1275_get_time_ms): New function.
15901 (grub_machine_init): Install get_time_ms() implementation.
15902
15903 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
15904 (grub_machine_init): Call grub_tsc_init().
15905 (grub_millisleep): Removed.
bf06a93f 15906
9c2ff3ee 15907 * kern/ieee1275/init.c (grub_millisleep): Removed.
15908 (grub_machine_init): Install ieee1275_get_time_ms()
15909 implementation.
15910 (ieee1275_get_time_ms): New function.
15911 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
15912 real work.
15913
9ec92aaf 159142008-08-05 Marco Gerards <marco@gnu.org>
15915
15916 * disk/ata.c: Include <grub/pci.h>.
15917 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
15918 (grub_ata_initialize): Rewritten.
15919 (grub_ata_device_initialize): New function.
15920
8d23f507 159212008-08-04 Pavel Roskin <proski@gnu.org>
15922
15923 * kern/main.c: Include grub/mm.h.
15924
5e15ee3d 159252008-08-04 Robert Millan <rmh@aybabtu.com>
15926
15927 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
15928 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
15929 corruption problem).
15930
a9053f8f 159312008-08-04 Robert Millan <rmh@aybabtu.com>
15932
15933 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
15934 warnings introduced in my last commit.
15935
dd19c7d7 159362008-08-03 Robert Millan <rmh@aybabtu.com>
15937
15938 Make PCI available on all i386 architectures.
15939
15940 * include/grub/i386/pc/pci.h: Move from here ...
15941 * include/grub/i386/pci.h: ... to here.
15942
15943 * include/grub/i386/pc/pci.h: Remove.
15944 * include/grub/i386/efi/pci.h: Remove.
15945 * include/grub/x86_64/efi/pci.h: Remove.
15946
15947 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
15948 `<grub/cpu/pci.h>'.
15949
15950 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
15951 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
15952 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
15953
15954 * conf/i386-ieee1275.rmk: Likewise.
15955
e14a6184 159562008-08-03 Robert Millan <rmh@aybabtu.com>
15957
15958 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
15959 (grub_console_setcursor): Make it possible to set cursor off.
15960
52768e37 159612008-08-03 Robert Millan <rmh@aybabtu.com>
15962
15963 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
15964 of modules instead of assuming which platform provides what.
15965 * util/update-grub.in: Likewise.
15966
2d52f57f 159672008-08-03 Robert Millan <rmh@aybabtu.com>
15968
15969 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
15970 instead of `grub_install_dos_part' to determine whether a drive needs
15971 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 15972 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 15973
2a5cd121 159742008-08-02 Robert Millan <rmh@aybabtu.com>
15975
15976 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
15977
93808428 159782008-08-02 Robert Millan <rmh@aybabtu.com>
15979
15980 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
15981 of informational grub_dprintf() calls.
15982
3bd0a12a 159832008-08-02 Robert Millan <rmh@aybabtu.com>
15984
15985 * disk/memdisk.c (memdisk_size): Don't initialize.
15986 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
15987
15988 * include/grub/i386/pc/kernel.h
15989 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
15990 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
15991 (grub_memdisk_image_size, grub_arch_memdisk_addr)
15992 (grub_arch_memdisk_size): Remove.
15993
15994 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
15995 field (was only used to transfer a constant). Add `type' field to
15996 support multiple module types.
15997 (grub_module_iterate): New function.
15998
15999 * kern/device.c (grub_device_open): Do not hide error messages
16000 when grub_disk_open() fails. Use grub_print_error() instead.
16001
16002 * kern/i386/pc/init.c (grub_arch_modules_addr)
16003 (grub_arch_memdisk_size): Remove functions.
16004 (grub_arch_modules_addr): Return the module address in high memory
16005 (now that it isn't copied anymore).
16006
16007 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16008 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16009 decompression routine (grub_total_module_size already includes that
16010 now). Don't copy modules back to low memory.
16011
16012 * kern/main.c: Include `<grub/mm.h>'.
16013 (grub_load_modules): Split out (and use) ...
16014 (grub_module_iterate): ... this function, which iterates through
16015 module objects and runs a hook.
16016 Comment out grub_mm_init_region() call, as it would cause non-ELF
16017 modules to be overwritten.
16018
16019 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16020 the memdisk image in its own region, make it part of the module list.
16021 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16022 (main): Parse --memdisk|-m option, and pass user-provided path as
16023 parameter to generate_image().
16024 (add_segments): Pass `memdisk_path' down to load_modules().
16025 (load_modules): Embed memdisk image in module section when requested.
16026 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16027 `header.type' instead of `header.offset'.
16028
16029 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16030 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16031 (memdisk_mod_LDFLAGS): New variables.
16032 * conf/i386-coreboot.rmk: Likewise.
16033 * conf/i386-ieee1275.rmk: Likewise.
16034
a927cc73 160352008-08-02 Robert Millan <rmh@aybabtu.com>
16036
16037 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16038 (backward_relocator): New variables. Used to allocate and relocate
16039 the payload, respectively.
16040 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 16041 address, install the appropriate relocator code in each bound of
a927cc73 16042 the payload, and set the entry point such that
16043 grub_multiboot_real_boot() will jump to one of them.
16044
16045 * kern/i386/loader.S (grub_multiboot_payload_size)
16046 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16047 (grub_multiboot_payload_entry_offset): New variables.
16048 (grub_multiboot_real_boot): Set cpu context to what the relocator
16049 expects, and jump to the relocator instead of the payload.
16050
16051 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16052 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16053 (grub_multiboot_payload_entry_offset): Export.
16054
b15d8a0c 160552008-08-01 Bean <bean123ch@gmail.com>
16056
16057 * normal/menu_entry.c (editor_getline): Don't return the original
16058 string as result, as it will be released by lexer once it has done
16059 using it.
16060
cdfb3d22 160612008-08-01 Robert Millan <rmh@aybabtu.com>
16062
16063 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16064 within menuentries, not before them.
16065 util/grub.d/10_hurd.in: Likewise.
16066
9175e93d 160672008-08-01 Bean <bean123ch@gmail.com>
16068
16069 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16070 (bufio_mod_SOURCES): New macro.
16071 (bufio_mod_CFLAGS): Likewise.
16072 (bufio_mod_LDFLAGS): Likewise.
16073
16074 * include/grub/bufio.h: New file.
16075
16076 * io/bufio.c: Likewise.
16077
16078 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16079 (grub_video_reader_png): Use grub_buffile_open to open file.
16080
16081 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16082 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16083
16084 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16085 (grub_video_reader_tga): Use grub_buffile_open to open file.
16086
16087 * font/manager.c: Include <grub/bufio.h>.
16088 (add_font): Use grub_buffile_open to open file.
16089
3d8383e7 160902008-07-31 Robert Millan <rmh@aybabtu.com>
16091
16092 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16093 ELF segments, use a macro for arbitrarily accessing any of them instead
16094 of preparing a pointer that allows access to one at a time.
16095 (grub_multiboot_load_elf64): Likewise.
16096
16e641b6 160972008-07-31 Bean <bean123ch@gmail.com>
16098
16099 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16100 GRUB_KERNEL_MACHINE_DATA_END.
16101
59198b72 161022008-07-30 Robert Millan <rmh@aybabtu.com>
16103
16104 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16105 Increase from 0x50 to 0x60.
16106 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16107 use UUIDs to identify the root drive for them. If that's not
16108 possible, abort.
16109 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16110 check, for cross-disk installs.
16111
ae88bca3 161122008-07-30 Robert Millan <rmh@aybabtu.com>
16113
16114 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16115 is non-empty, use it to set the `prefix' environment variable instead
16116 of the usual approach.
16117 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16118 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16119 environment variable instead of dummy make_install_device().
16120
16121 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16122 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 16123 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 16124
16125 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
16126 New variable reference.
16127 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
16128 New macro. Defines offset of `grub_prefix' within startup.S (relative
16129 to `start').
16130 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
16131 section within startup.S (relative to `start').
16132 * include/grub/i386/coreboot/kernel.h: Likewise.
16133
16134 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
16135 Overwrite grub_prefix with its contents, at the beginning of the
16136 first segment.
16137 (main): Understand -p|--prefix.
16138
14f41dd1 161392008-07-30 Robert Millan <rmh@aybabtu.com>
16140
16141 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
16142
4ca049a3 161432008-07-30 Robert Millan <rmh@aybabtu.com>
16144
16145 * term/i386/pc/vga_text.c (grub_console_cls): Use
16146 grub_console_gotoxy() to go back to beginning of the screen.
16147 Found by Patrick Georgi <patrick.georgi@coresystems.de>
16148
2921d337 161492008-07-29 Christian Franke <franke@computer.org>
16150
16151 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16152 Add conversion of emulated mount points on Cygwin.
16153
b609876d 161542008-07-29 Christian Franke <franke@computer.org>
16155
16156 * util/update-grub.in: Add a check for admin
16157 group on Cygwin.
16158 Remove old `grub.cfg.new' before creation.
16159 Add `-f' to `mv' to handle the different filesystem
16160 semantics of Windows.
16161
e93e4679 161622008-07-29 Bean <bean123ch@gmail.com>
16163
16164 * normal/main.c (get_line): Fix buffer overflow bug.
16165
41694fd0 161662008-07-28 Robert Millan <rmh@aybabtu.com>
16167
16168 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16169 (struct grub_apple_header): New struct. Describes the layout of
16170 the partmap header.
16171 (apple_partition_map_iterate): Check the header magic as well as the
16172 partition magic (which was already being checked).
16173
cfd0b4e6 161742008-07-28 Pavel Roskin <proski@gnu.org>
16175
16176 * genmk.rb: Add a warning to the beginning of the output that
16177 it's a generated file and should not be edited.
16178
93cce016 161792008-07-28 Robert Millan <rmh@aybabtu.com>
16180
16181 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16182 with the same number are found, just use issue a warning with
16183 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 16184
cd1df915 161852008-07-27 Robert Millan <rmh@aybabtu.com>
16186
16187 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16188 information.
16189
b70a8427 161902008-07-27 Bean <bean123ch@gmail.com>
16191
16192 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16193 (grub_fat_find_dir): Ignore case when comparing filename.
16194
8f5e379f 161952008-07-27 Bean <bean123ch@gmail.com>
16196
16197 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16198 smallino, as it's more descriptive, and i8count can be confused with
16199 the other field count.
16200 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16201 inode type.
16202
a85cd5a0 162032008-07-27 Bean <bean123ch@gmail.com>
16204
16205 * commands/crc.c: New file.
16206
16207 * lib/crc.c: Likewise.
16208
16209 * include/grub/lib/crc.h: Likewise.
16210
16211 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16212
16213 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16214 (hexdump): Move this function to ...
16215
16216 * lib/hexdump.c: ... here.
16217
16218 * include/grub/hexdump.h: Renamed to ...
16219
16220 * include/grub/lib/hexdump.h: ... this.
16221
16222 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16223
16224 * util/grub-editenv.c: Likewise.
16225
16226 * include/envblk.h: Renamed to ...
16227
16228 * include/lib/envblk.h: ... this.
16229
16230 * util/envblk.c: Renamed to ...
16231
16232 * lib/envblk.c: ... this.
16233
16234 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16235 lib/hexdump.c.
16236 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16237 (pkglib_MODULES): Add crc.mod.
16238 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16239 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16240 (crc_mod_SOURCES): New macro.
16241 (crc_mod_CFLAGS): Likewise.
16242 (crc_mod_LDFLAGS): Likewise.
16243
16244 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16245
16246 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16247
16248 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16249
16250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16251
16252 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16253
c298def0 162542008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 16255
16256 * commands/help.c: Include <grub/term.h>.
16257 (TERM_WIDTH): Removed. Updated all users.
16258
cc349fb3 162592008-07-27 Pavel Roskin <proski@gnu.org>
16260
16261 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16262 spurious warnings about a comment within a comment.
16263
9051607e 162642008-07-25 Robert Millan <rmh@aybabtu.com>
16265
16266 * util/getroot.c (find_root_device): Skip devices that match
16267 /dev/dm-[0-9]. This lets the real device be found for any type of
16268 abstraction (LVM, EVMS, RAID..).
16269 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16270 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16271 device is found first, find_root_device() will now skip it.
16272
01453bfc 162732008-07-24 Pavel Roskin <proski@gnu.org>
16274
16275 * include/grub/types.h: Use __builtin_bswap32() and
16276 __builtin_bswap64() with gcc 4.3 and newer.
16277
6af9849f 162782008-07-24 Christian Franke <franke@computer.org>
16279
3a0fa256 16280 * util/i386/pc/grub-install.in: If `--debug' is specified,
16281 pass `--verbose' to grub-setup.
16282 Abort script if make_system_path_relative_to_its_root() fails.
16283
7810e747 162842008-07-24 Bean <bean123ch@gmail.com>
16285
16286 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16287 variable `target_platform' should be `platform'.
16288
42290e17 162892008-07-24 Bean <bean123ch@gmail.com>
16290
51cc5193 16291 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 16292 (grub_png_init_fixed_block): New function.
16293 (grub_png_decode_image_data): Handle fixed huffman code compression.
16294
2a8a80e4 162952008-07-24 Bean <bean123ch@gmail.com>
16296
16297 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16298 (grub_pe2elf_SOURCES): New macro.
16299 (CLEANFILES): Add grub-pe2elf.
16300
16301 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16302 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16303 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16304 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16305 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16306 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16307 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16308 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16309 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
16310 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
16311 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
16312 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
16313 (GRUB_PE32_DT_FUNCTION): Likewise.
16314 (GRUB_PE32_REL_I386_DIR32): Likewise.
16315 (GRUB_PE32_REL_I386_REL32): Likewise.
16316 (grub_pe32_symbol): New structure.
16317 (grub_pe32_reloc): Likewise.
16318
16319 * util/grub-pe2elf.c: New file.
16320
16321 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
16322 start symbol in non pc platform.
16323
16324 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
16325
16326 The following patches are from Christian Franke.
16327
16328 * include/grub/dl.h: Remove .previous, gas supports this only
16329 for ELF format.
16330
16331 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
16332 Remove .type, gas supports this only for ELF format.
16333
16334 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
16335 nullbytes in symbol table. This fixes an infinite loop if table is
16336 zero filled.
16337
16338 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
16339 TARGET_IMG_LDFLAGS and EXEEXT.
16340
16341 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
16342 TARGET_IMG_LDFLAGS_AC.
16343 (grub_CHECK_STACK_ARG_PROBE): New function.
16344
16345 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
16346
16347 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
16348
16349 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
16350 to set TARGET_IMG_LD* accordingly.
16351 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
16352 Add call to grub_CHECK_STACK_ARG_PROBE.
16353 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
16354
16355 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
16356
16357 * genmk.rb: Add EXEEXT to CLEANFILES.
16358
12ccdb75 163592008-07-23 Robert Millan <rmh@aybabtu.com>
16360
16361 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
16362 define the codes for arrows and lines used for the menu).
16363 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
16364 as well.
16365
16366 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
16367 fonts, because the latter are too slow.
16368
18eeaf04 163692008-07-21 Bean <bean123ch@gmail.com>
16370
16371 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
16372 a20. Run keyboard test last, as it will cause macbook to halt.
16373
b095e2ad 163742008-07-18 Pavel Roskin <proski@gnu.org>
16375
16376 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
16377 load foreign architecture modules correctly anyway. Keep
16378 support for loading host architecture modules, whether we
16379 compile them or not.
16380
737feb35 163812008-07-17 Pavel Roskin <proski@gnu.org>
16382
3f4ce737 16383 * configure.ac: Use -m32 or -m64 regardless of whether we had to
16384 change target_cpu. The compiler default can mismatch target_cpu
16385 in any case.
16386
4ad2d049 16387 * disk/efi/efidisk.c: Fix format warnings on x86_64.
16388 * kern/efi/efi.c: Likewise.
16389
f6130a12 16390 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
16391 target compiler is functional.
16392 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
16393 are set up.
16394
58393a2d 16395 * configure.ac: Default to efi platform for x86_64-apple. Allow
16396 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
16397 adjustments from the rest, only do them if target is not
16398 explicitly given. Merge other adjustments with the final sanity
16399 check. Remove an extraneous check for supported CPU. Be
16400 specific which CPU and which platform is not supported.
16401
737feb35 16402 * configure.ac: Default to pc platform for x86_64.
16403
546f966a 164042008-07-17 Robert Millan <rmh@aybabtu.com>
16405
16406 Partial LinuxBIOS -> Coreboot rename.
16407
16408 * conf/i386-linuxbios.rmk: Renamed to ...
16409 * conf/i386-coreboot.rmk: ... this.
16410 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
16411 * configure.ac: Accept "coreboot" as input platform (but maintain
16412 compatibility with "linuxbios").
16413 * include/grub/i386/linuxbios: Renamed to ...
16414 * include/grub/i386/coreboot: ... this.
16415
20011694 164162008-07-17 Bean <bean123ch@gmail.com>
16417
16418 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 16419 (appleldr_mod_SOURCE): New variable.
20011694 16420 (appleldr_mod_CFLAGS): Likewise.
16421 (appleldr_mod_LDFLAGS): Likewise.
16422 (pci_mod_SOURCES): Likewise.
16423 (pci_mod_CFLAGS): Likewise.
16424 (pci_mod_LDFLAGS): Likewise.
16425 (lspci_mod_SOURCES): Likewise.
16426 (lspci_mod_CFLAGS): Likewise.
16427 (lspci_mod_LDFLAGS): Likewise.
16428
16429 * conf/x86_64-efi.rmk: New file.
16430
16431 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
16432 macro.
16433 (grub_efidisk_write): Likewise.
16434
16435 * include/efi/api.h (efi_call_0): New macro.
16436 (efi_call_1): Likewise.
16437 (efi_call_2): Likewise.
16438 (efi_call_3): Likewise.
16439 (efi_call_4): Likewise.
16440 (efi_call_5): Likewise.
16441 (efi_call_6): Likewise.
16442
16443 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
16444 grub_rescue_cmd_chainloader.
16445
16446 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
16447 (grub_pe32_optional_header): Change some fields based on i386 or
16448 x86_64 platform.
16449 (GRUB_PE32_PE32_MAGIC): Likewise.
16450
16451 * include/grub/efi/uga_draw.h: New file.
16452
16453 * include/grub/elf.h (STN_ABS): New constant.
16454 (R_X86_64_NONE): Relocation constant for x86_64.
16455 (R_X86_64_64): Likewise.
16456 (R_X86_64_PC32): Likewise.
16457 (R_X86_64_GOT32): Likewise.
16458 (R_X86_64_PLT32): Likewise.
16459 (R_X86_64_COPY): Likewise.
16460 (R_X86_64_GLOB_DAT): Likewise.
16461 (R_X86_64_JUMP_SLOT): Likewise.
16462 (R_X86_64_RELATIVE): Likewise.
16463 (R_X86_64_GOTPCREL): Likewise.
16464 (R_X86_64_32): Likewise.
16465 (R_X86_64_32S): Likewise.
16466 (R_X86_64_16): Likewise.
16467 (R_X86_64_PC16): Likewise.
16468 (R_X86_64_8): Likewise.
16469 (R_X86_64_PC8): Likewise.
16470
16471 * include/grub/i386/efi/pci.h: New file.
16472
16473 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
16474 Change it value based on platform.
16475 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
16476 (GRUB_E820_RAM): Likewise.
16477 (GRUB_E820_RESERVED): Likewise.
16478 (GRUB_E820_ACPI): Likewise.
16479 (GRUB_E820_NVS): Likewise.
16480 (GRUB_E820_EXEC_CODE): Likewise.
16481 (GRUB_E820_MAX_ENTRY): Likewise.
16482 (grub_e820_mmap): New structure.
16483 (linux_kernel_header): Change the efi field according to different
16484 kernel version, also field from linux_kernel_header.
16485
16486 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
16487
16488 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
16489 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
16490 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
16491 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
16492 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
16493 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
16494 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
16495 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
16496 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
16497 (GRUB_PCI_ADDR_IO_MASK): Likewise.
16498
16499 * include/grub/x86_64/efi/kernel.h: New file.
16500
16501 * include/grub/x86_64/efi/loader.h: Likewise.
16502
16503 * include/grub/x86_64/efi/machine.h: Likewise.
16504
16505 * include/grub/x86_64/efi/pci.h: Likewise.
16506
16507 * include/grub/x86_64/efi/time.h: Likewise.
16508
16509 * include/grub/x86_64/linux.h: Likewise.
16510
16511 * include/grub/x86_64/setjmp.h: Likewise.
16512
16513 * include/grub/x86_64/time.h: Likewise.
16514
16515 * include/grub/x86_64/types.h: Likewise.
16516
16517 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
16518 GRUB_TARGET_SIZEOF_VOID_P.
16519
16520 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
16521 (grub_efi_locate_handle): Likewise.
16522 (grub_efi_open_protocol): Likewise.
16523 (grub_efi_set_text_mode): Likewise.
16524 (grub_efi_stall): Likewise.
16525 (grub_exit): Likewise.
16526 (grub_reboot): Likewise.
16527 (grub_halt): Likewise.
16528 (grub_efi_exit_boot_services): Likewise.
16529 (grub_get_rtc): Likewise.
16530
16531 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
16532 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16533 (grub_efi_allocate_pages): Wrap efi calls.
16534 (grub_efi_free_pages): Wrap efi calls.
16535 (grub_efi_get_memory_map): Wrap efi calls.
16536
16537 * kern/x86_64/dl.c: New file.
16538
16539 * kern/x86_64/efi/callwrap.S: Likewise.
16540
16541 * kern/x86_64/efi/startup.S: Likewise.
16542
16543 * loader/efi/appleloader.c: Likewise.
16544
16545 * loader/efi/chainloader.c (cmdline): New variable.
16546 (grub_chainloader_unload): Wrap efi calls.
16547 (grub_chainloader_boot): Likewise.
16548 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16549 command line.
16550
16551 * loader/efi/chainloader_normal.c (chainloader_command):
16552 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16553 command line.
16554
16555 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16556 method.
16557 (grub_e820_add_region): New function.
16558 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16559 booting.
16560 (grub_find_video_card): New function.
16561 (grub_linux_setup_video): New function.
16562 (grub_rescue_cmd_linux): Probe for video information.
16563
16564 * normal/x86_64/setjmp.S: New file.
16565
16566 * term/efi/console.c (map_char): New function.
16567 (grub_console_putchar): Map unicode char.
16568 (grub_console_checkkey): Wrap efi calls.
16569 (grub_console_getkey): Likewise.
16570 (grub_console_getwh): Likewise.
16571 (grub_console_gotoxy): Likewise.
16572 (grub_console_cls): Likewise.
16573 (grub_console_setcolorstate): Likewise.
16574 (grub_console_setcursor): Likewise.
16575
16576 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16577
59652a20 165782008-07-16 Pavel Roskin <proski@gnu.org>
16579
ef294055 16580 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16581 format strings.
16582
59652a20 16583 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16584 pointer, not an integer. This fixes a warning and prevents
16585 precision loss on 64-bit systems.
16586 (relocate_addresses): Remove unneeded cast.
16587
afc3b5d7 165882008-07-15 Pavel Roskin <proski@gnu.org>
16589
506b2b3e 16590 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16591
62ead89c 16592 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16593
c4cd51d7 16594 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16595 Fix comparison between signed and unsigned.
16596
0d3d8f28 16597 * include/grub/i386/ieee1275/console.h: Declare
16598 grub_console_init() and grub_console_fini().
16599
8804b286 16600 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16601 It's empty and unused.
16602
ee01cf35 16603 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16604 beginning to avoid warnings with some compilers.
16605
afc3b5d7 16606 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16607 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16608
e4e8eaa5 166092008-07-14 Pavel Roskin <proski@gnu.org>
16610
407aceb4 16611 * kern/env.c (grub_register_variable_hook): Don't copy empty
16612 string, it leaks memory. Pass "" to grub_env_set(), it should
16613 handle constant strings.
16614
e4e8eaa5 16615 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16616 * commands/cmp.c (grub_cmd_cmp): Likewise.
16617 * kern/dl.c (grub_dl_flush_cache): Likewise.
16618 (grub_dl_load_core): Likewise.
16619 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16620 (grub_elf64_load_phdrs): Likewise.
16621
d4e2dad3 166222008-07-13 Pavel Roskin <proski@gnu.org>
16623
16624 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16625 between signed and unsigned.
16626 (LzmaEnc_Finish): Fix warning about an unused parameter.
16627
aa24b516 166282008-07-13 Bean <bean123ch@gmail.com>
16629
16630 * Makefile.in (enable_lzo): New rule.
16631
16632 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16633
16634 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16635
16636 * boot/i386/pc/lnxboot.S: #include <config.h>.
16637
16638 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 16639 its value according to the compression algorithm used, lzo or lzma.
aa24b516 16640
16641 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16642 compression algorithm according to configure macro.
16643
16644 * kern/i386/pc/startup.S (codestart): Likewise.
16645
16646 * kern/i386/pc/lzma_decode.S: New file.
16647
16648 * include/grub/lib/LzFind.h: Likewise.
16649
16650 * include/grub/lib/LzHash.h: Likewise.
16651
16652 * include/grub/lib/LzmaDec.h: Likewise.
16653
16654 * include/grub/lib/LzmaEnc.h: Likewise.
16655
16656 * include/grub/lib/LzmaTypes.h: Likewise.
16657
16658 * lib/LzFind.c: Likewise.
16659
16660 * lib/LzmaDec.c: Likewise.
16661
16662 * lib/LzmaEnc.c: Likewise.
16663
4ae821ac 166642008-07-13 Bean <bean123ch@gmail.com>
16665
16666 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16667 (grub_ext4_extent_header): New structure.
16668 (grub_ext4_extent): Likewise.
16669 (grub_ext4_extent_idx): Likewise.
16670 (grub_ext4_find_leaf): New function.
16671 (grub_ext2_read_block): Handle extents.
16672
9a745147 166732008-07-12 Robert Millan <rmh@aybabtu.com>
16674
16675 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16676
d49a4cf6 166772008-07-11 Robert Millan <rmh@aybabtu.com>
16678
16679 * util/grub.d/40_custom.in: New file. Example on how to add custom
16680 entries to /etc/grub.d.
16681 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16682 40_custom (implicitly, by merging all the grub.d rules).
16683
947414b4 166842008-07-11 Pavel Roskin <proski@gnu.org>
16685
0059cf6f 16686 * commands/read.c (grub_getline): Fix invalid memory access.
16687 Don't add newline to the variable value.
16688
947414b4 16689 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16690 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16691 (serial_hw_get_port): Check validity of the port number.
16692 (grub_cmd_serial): Check return value of serial_hw_get_port().
16693
62a02d00 166942008-07-07 Pavel Roskin <proski@gnu.org>
16695
16696 * boot/i386/pc/diskboot.S (notification_string): Replace
16697 "Loading kernel" with just "loading". This is shorter, less
16698 confusing and saves a few bytes for possible future changes.
16699
3e5581b0 167002008-07-05 Pavel Roskin <proski@gnu.org>
16701
ea387a48 16702 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16703 size for ATAPI devices, they are undefined. Output sector
16704 number in decimal form.
16705
3e5581b0 16706 * disk/ata.c: Use named constants for status bits.
16707
fdecb8fd 167082008-07-04 Pavel Roskin <proski@gnu.org>
16709
bcd35b90 16710 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16711 grub_addr_t before casting it to the void pointer to fix a
16712 warning. Non-addressable regions are discarded earlier.
16713 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16714 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16715 (check_signature): Don't shadow table_header.
16716 (grub_linuxbios_table_iterate): Cast numeric constants to
16717 grub_linuxbios_table_header_t.
16718 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16719 grub_stop().
16720
af58ab3d 16721 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16722 prevent warnings.
16723
1759aa57 16724 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16725 pointer, which can cause warnings. Support 64-bit addresses.
16726
fdecb8fd 16727 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16728 of sizeof(long). This fixes PowerPC image generation on x86_64.
16729
8516d2a8 167302008-07-04 Robert Millan <rmh@aybabtu.com>
16731
16732 This fixes a performance issue when pc & gpt partmap iterators
16733 didn't abort iteration even after our hook found what it was
fe987087 16734 looking for (often causing expensive probes of non-existent drives).
8516d2a8 16735
16736 Some callers relied on previous buggy behaviour, since they would
34c44600 16737 raise an error when their own hooks caused early abortion of its
8516d2a8 16738 iteration.
16739
16740 * kern/device.c (grub_device_open): Improve error message.
16741 * disk/lvm.c (grub_lvm_open): Likewise.
16742 * disk/raid.c (grub_raid_open): Likewise.
16743
16744 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16745 when hook requests it, independently of grub_errno.
16746 (pc_partition_map_probe): Do not fail when find_func() caused
16747 early abortion of pc_partition_map_iterate().
16748
16749 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16750 when hook requests it, independently of grub_errno.
16751 (gpt_partition_map_probe): Do not fail when find_func() caused
16752 early abortion of gpt_partition_map_iterate().
16753
16754 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16755 when hook requests it, independently of grub_errno. Do not fail when
16756 part_map_iterate_hook() caused early abortion of p->iterate().
16757
16758 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16759 when grub_partition_iterate() returned with non-zero.
16760
277d0de9 167612008-07-03 Pavel Roskin <proski@gnu.org>
16762
16763 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16764 like we do in grub_ata_pio_read().
16765 (grub_ata_readwrite): Always write individual sectors. Fix the
16766 sector count for the remainder.
16767 (grub_ata_write): Enable writing to ATA devices. Correctly
16768 report error for ATAPI devices.
16769
d4c9b428 167702008-07-02 Pavel Roskin <proski@gnu.org>
16771
e43fc690 16772 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
16773 warning.
16774
f707af42 16775 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
16776 for every read sector, we already increment it for the whole
16777 batch. This fixes reading more than 256 sectors at once.
16778
11e16b15 16779 * util/grub-editenv.c (cmd_info): Cast argument to long
16780 explicitly. ptrdiff_t reduces to int on i386.
16781
cbabfdd4 16782 * util/grub-editenv.c (main): Be specific which parameter is
16783 missing.
16784
b8fbce0a 16785 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
16786 (memdisk): Make memdisk_orig_addr a pointer.
16787
c9c8e606 16788 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
16789 for file offsets, use grub_off_t instead. Fix printf format
16790 warnings.
16791
ca62e598 16792 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
16793 there. Real unexpected warnings should not drown in the noise
16794 about known problems.
16795
ce8d1766 16796 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
16797 grub_disk_addr_t for memory addresses.
16798
00c7a56a 16799 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
16800 explicitly to fix a warning.
16801
08d3ef09 16802 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
16803
cb71ba20 16804 * Makefile.in (MODULE_LDFLAGS): New variable.
16805 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
16806 the linker accepts --build-id=none.
16807 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
16808 MODULE_LDFLAGS.
16809 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
16810
d4c9b428 16811 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
16812 those in Linux XFS code. Provide a way to access 64-bit parent
16813 inode.
16814 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
16815 the end of struct grub_xfs_dir_header.
16816
d4156eee 168172008-07-02 Bean <bean123ch@gmail.com>
16818
16819 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
16820 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16821 and GRUB_IEEE1275_FLAG_NO_ANSI.
16822
16823 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
16824 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16825 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
16826
16827 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
16828 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
16829
16830 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
16831 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
16832
16833 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
16834 esc sequence on non ANSI terminal.
16835 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
16836
16837 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
16838 beginning of file.
16839
2270f77b 168402008-07-02 Bean <bean123ch@gmail.com>
16841
16842 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
16843 (grub_editenv_SOURCES): New variable.
16844 (pkglib_MODULES): Add loadenv.mod.
16845 (loadenv_mod_SOURCES): New variable.
16846 (loadenv_mod_CFLAGS): Likewise.
16847 (loadenv_mod_LDFLAGS): Likewise.
16848
16849 * include/grub/envblk.h: New file.
16850
16851 * util/envblk.c: New file.
16852
16853 * util/grub-editenv.c: New file.
16854
16855 * commands/loadenv.c: New file.
16856
0e9e51ec 168572008-07-01 Pavel Roskin <proski@gnu.org>
16858
d89b7634 16859 * include/multiboot2.h (struct multiboot_tag_module): Use char,
16860 not unsigned char. This fixes warnings and is consistent with
16861 other tags.
16862
bf1835b1 16863 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
16864
8222a04b 16865 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
16866
6a42d99d 16867 * term/tparm.c (analyze): Always set *popcount.
16868
10b159d1 16869 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
16870 cast to fix a warning.
16871
b8789f6c 16872 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
16873 cast to suppress a warning.
16874
29d7e38a 16875 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
16876 grub_fshelp_read_file() expects.
16877
f341f669 16878 * fs/fat.c: Fix UUID calculation on big-endian systems. We
16879 write uuid as a 32-bit value in CPU byte order, so declare and
16880 use it as such.
16881
0e9e51ec 16882 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
16883 long if the format specifier expects it.
16884 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
16885 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16886 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
16887 long to fix a warning.
16888 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
16889 grub_dprintf() arguments to fix warnings.
16890
3aefa857 168912008-06-30 Pavel Roskin <proski@gnu.org>
16892
56c7668b 16893 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
16894 install_bsd_part immediately before core.img is embedded or
16895 modified on disk. This fixes core.img verification if core.img
16896 cannot be embedded.
16897
3aefa857 16898 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
16899 core_path to calculate the blocklist.
16900 Patch from Javier Martín <lordhabbit@gmail.com>
16901
5444088d 169022008-06-29 Robert Millan <rmh@aybabtu.com>
16903
16904 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
16905 block to disk block.
16906 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
16907 Patch from Niels Böhm <bitbucket@arcor.de>
16908
674835c8 169092008-06-29 Robert Millan <rmh@aybabtu.com>
16910
16911 * util/update-grub_lib.in (font_path): Search for fonts in
16912 /boot/grub first, which is more likely to be readable (we aren't
16913 deciding where fonts live, just looking for them).
16914
f527dbc8 169152008-06-26 Pavel Roskin <proski@gnu.org>
16916
6c2d8df6 16917 * util/biosdisk.c (read_device_map): Don't leave dead map
16918 entries for devices failing stat() check.
16919
f527dbc8 16920 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
16921 core_path_dev for the core.img path on the target device.
16922
aebe3d13 169232008-06-26 Robert Millan <rmh@aybabtu.com>
16924
16925 * disk/fs_uuid.c: New file.
16926 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
16927 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
16928 (fs_uuid_mod_LDFLAGS): New variables.
16929 * include/grub/disk.h (grub_disk_dev_id): Add
16930 `GRUB_DISK_DEVICE_UUID_ID'.
16931 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
16932 implement iterate().
16933
37aaf354 169342008-06-26 Robert Millan <rmh@aybabtu.com>
16935
16936 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
16937 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
16938 Linux image includes no initrd.
16939
25ff262a 169402008-06-21 Javier Martín <lordhabbit@gmail.com>
16941
16942 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
16943 call to resolve the core image location that effectively appended the
16944 name twice.
16945
76a2bd44 169462008-06-21 Robert Millan <rmh@aybabtu.com>
16947
16948 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
16949 call from here ...
16950
16951 * util/grub.d/10_hurd.in: ... to here ...
16952 * util/grub.d/10_linux.in: ... and here.
16953
650e1c79 169542008-06-19 Robert Millan <rmh@aybabtu.com>
16955
fe987087 16956 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 16957 after it has been set by grub_machine_set_prefix().
16958
6ce63911 169592008-06-19 Robert Millan <rmh@aybabtu.com>
16960
16961 * commands/search.c (search_label, search_fs_uuid, search_file): Print
16962 search result when not saving to variable, not the other way around.
16963 When saving to variable, abort iteration as soon as a match is found.
16964
73940cec 169652008-06-19 Robert Millan <rmh@aybabtu.com>
16966
16967 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
16968 check for partition that provides /boot/grub. Its logic is flawed,
16969 as it prevents prepare_grub_to_access_device() from being called
16970 multiple times.
16971
3c62a39d 169722008-06-19 Robert Millan <rmh@aybabtu.com>
16973
16974 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
16975 "insmod" command directly when abstraction modules are needed,
fe987087 16976 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 16977 since it had already been processed).
16978
47395a42 169792008-06-19 Pavel Roskin <proski@gnu.org>
16980
16981 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
16982 changed. This is needed in case GRUB_LIBDIR changes.
16983 * conf/i386-ieee1275.rmk: Likewise.
16984 * conf/i386-linuxbios.rmk: Likewise.
16985 * conf/i386-pc.rmk: Likewise.
16986 * conf/powerpc-ieee1275.rmk: Likewise.
16987
a145ac2d 169882008-06-18 Pavel Roskin <proski@gnu.org>
16989
16990 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
16991 kernel_elf_symlist.c to symlist.c for consistency with other
16992 architectures. Update all users.
16993 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16994
7847c51e 169952008-06-18 Robert Millan <rmh@aybabtu.com>
16996
16997 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
16998 it in prefix.
16999
17000 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17001 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17002 a RAID device, run setup() for all members independently on whether
17003 LVM abstraction is being used.
17004 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17005 If grub-mkimage has set `*install_dos_part == -2', don't override this
17006 value.
17007 Perform *install_dos_part adjustments independently on whether
17008 we're embedding or not.
17009 Clarify error message when image is too big for embedding.
17010 Remove duplicate *install_dos_part stanza.
17011
b23e5644 170122008-06-17 Robert Millan <rmh@aybabtu.com>
17013
17014 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17015 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17016 variables.
17017 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17018 values in grub_ofconsole_normal_color and
17019 grub_ofconsole_highlight_color (they're not directly related to
17020 background and foreground).
17021 (grub_ofconsole_setcolorstate): Extract background and foreground
17022 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17023
0aac2f79 170242008-06-17 Robert Millan <rmh@aybabtu.com>
17025
17026 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17027 /boot/grub for the check in last commit, not /boot (they could be
17028 different partitions).
17029
3cca7ef3 170302008-06-16 Robert Millan <rmh@aybabtu.com>
17031
17032 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17033 asked to setup access for the same partition that provides /boot,
17034 don't bother using UUIDs since our root already has the value we
17035 want.
17036
347396d8 170372008-06-16 Robert Millan <rmh@aybabtu.com>
17038
17039 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17040 I2O devices.
17041 Patch from Sven Mueller <sven@debian.org>.
17042
991477f8 170432008-06-16 Robert Millan <rmh@aybabtu.com>
17044
17045 * util/update-grub.in: Check for $EUID instead of $UID.
17046 Reported by Vincent Zweije.
17047
d31a32a1 170482008-06-16 Bean <bean123ch@gmail.com>
17049
fe987087 17050 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 17051 (grub_ext2_read_block): Likewise.
17052 (grub_ext2_read_inode): Likewise.
17053 (grub_ext2_mount): Likewise.
17054 (grub_ext2_close): Likewise.
17055 (grub_ext3_get_journal): Removed.
17056
fe987087 17057 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 17058 (grub_reiserfs_read_symlink): Likewise.
17059 (grub_reiserfs_mount): Likewise.
17060 (grub_reiserfs_open): Likewise.
17061 (grub_reiserfs_read): Likewise.
17062 (grub_reiserfs_close): Likewise.
17063 (grub_reiserfs_get_journal): Removed.
17064
17065 * fs/fshelp.c (grub_fshelp_read): Removed.
17066 (grub_fshelp_map_block): Likewise.
17067
17068 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17069 (grub_fshelp_journal): Likewise.
17070 (grub_fshelp_read): Likewise.
17071 (grub_fshelp_map_block): Likewise.
17072
3540a760 170732008-06-16 Pavel Roskin <proski@gnu.org>
17074
17075 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17076 floating point anymore.
17077 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17078
95614c84 170792008-06-15 Pavel Roskin <proski@gnu.org>
17080
17081 * commands/ls.c (grub_ls_list_files): Use integer calculations
17082 for human readable format, avoid floating point use.
17083 * kern/misc.c (grub_ftoa): Remove.
17084 (grub_vsprintf): Remove floating point support.
17085
50465dd6 170862008-06-15 Robert Millan <rmh@aybabtu.com>
17087
fe6b695a 17088 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 17089 devices.
17090 Reported by Max Vozeler.
17091
a9207284 170922008-06-15 Robert Millan <rmh@aybabtu.com>
17093
17094 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17095 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17096 skipped later.
17097 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17098 the beginning of the prefix.
17099
17100 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17101 It is assumed that if we have a memdisk, grub-mkimage has set
17102 grub_prefix to include the "(memdisk)" drive in it.
17103
a7cbd45a 171042008-06-15 Robert Millan <rmh@aybabtu.com>
17105
17106 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17107 Initialize keyboard controller after registering the terminal, so that
17108 grub_printf() can be called from grub_keyboard_controller_init().
17109
21cf716a 171102008-06-15 Robert Millan <rmh@aybabtu.com>
17111
17112 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17113 extent-btree which is written as big endian on disk.
17114 Reported by Alain Greppin <al@chilibi.org>.
17115
23a64d8e 171162008-06-14 Robert Millan <rmh@aybabtu.com>
17117
17118 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17119 * util/i386/pc/grub-install.in (modules): Likewise.
17120
d687651c 171212008-06-13 Pavel Roskin <proski@gnu.org>
17122
17123 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17124
dfe9ddd4 171252008-06-13 Bean <bean123ch@gmail.com>
17126
17127 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
17128
17129 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
17130
17131 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
17132 to indicate sparse block.
17133
16ae7781 171342008-06-12 Pavel Roskin <proski@gnu.org>
17135
e6d1a308 17136 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
17137 number, grub_fshelp_read() does it for us.
17138
16ae7781 17139 * fs/fshelp.c (grub_fshelp_read): New function. Implement
17140 linear disk read with journal translation.
17141 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
17142 * include/grub/fshelp.h: Declare grub_fshelp_read().
17143
40fd3a2b 171442008-06-09 Pavel Roskin <proski@gnu.org>
17145
17146 * fs/minix.c (grub_minix_mount): Handle error reading
17147 superblock.
17148
f5679726 171492008-06-08 Robert Millan <rmh@aybabtu.com>
17150
17151 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
17152 don't append the RAID prefix afterwards.
17153 Reported by Clint Adams.
17154
ce525529 171552008-06-08 Robert Millan <rmh@aybabtu.com>
17156
17157 Based on description from Pavel:
17158 * kern/disk.c (grub_disk_check_range): Rename to ...
17159 (grub_disk_adjust_range): ... this. Add a comment explaining the
17160 tasks performed by this function.
17161
ad4936a0 171622008-06-08 Robert Millan <rmh@aybabtu.com>
17163
17164 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17165 `num_serial' (for consistency with other variables).
17166 (struct grub_ntfs_data): Add `uuid' member.
17167 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17168 (grub_ntfs_uuid): New function.
17169 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17170
dc20b0f9 171712008-06-07 Pavel Roskin <proski@gnu.org>
17172
17173 * util/biosdisk.c (open_device): Revert last change to the
17174 function, it broke installation. The sector needs to be
17175 different dependent on which device is opened.
17176
c5e3cfba 171772008-06-06 Robert Millan <rmh@aybabtu.com>
17178
17179 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17180 rest of GRUB, and breakage doesn't happen if its value were modified.
17181
17182 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17183 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17184 a constant (same value).
17185 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17186 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17187
26a1f8c4 171882008-06-06 Robert Millan <rmh@aybabtu.com>
17189
17190 * util/biosdisk.c (open_device): Do not modify sector offset when
17191 accessing a partition. kern/disk.c already handles this for us.
17192
25d6b327 171932008-06-06 Robert Millan <rmh@aybabtu.com>
17194
17195 * util/grub-emu.c (grub_machine_init): Move code in this function from
17196 here ...
17197 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17198 segfault in case grub_printf() is called).
17199
17200 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17201 grub_probe. Update all users not to explicitly add it again.
17202 (grub_device): New variable; contains corresponding device for grubdir.
17203 (fs_module, partmap_module, devabstraction_module): Pass
17204 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17205 every time.
17206
9ece62fb 172072008-06-05 Robert Millan <rmh@aybabtu.com>
17208
17209 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17210 is found, print it (same layout as with labels).
17211
1ad36d37 172122008-06-04 Robert Millan <rmh@aybabtu.com>
17213
17214 * util/biosdisk.c (get_drive): Rename to ...
17215 (find_grub_drive): ... this. Update all users.
17216
17217 (get_os_disk): Rename to ...
17218 (convert_system_partition_to_system_disk): ... this. Update all users.
17219
17220 (find_drive): Rename to ...
17221 (find_system_device): ... this. Update all users.
17222
e6a30859 172232008-06-04 Robert Millan <rmh@aybabtu.com>
17224
17225 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17226 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17227 (make_device_map): Likewise.
17228
00c108a4 172292008-06-01 Robert Millan <rmh@aybabtu.com>
17230
17231 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17232 before dereferencing it.
17233
17234 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17235 union with fat12/fat16-specific ones. Add some new fields, including
17236 `num_serial' for both versions.
17237 (struct grub_fat_data): Add `uuid' member.
17238 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17239 names. Initialize `data->uuid' using `num_serial'.
17240 (grub_fat_uuid): New function.
17241 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17242
17243 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17244 (grub_reiserfs_uuid): New function.
17245 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17246 member.
17247
17248 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17249 (grub_xfs_uuid): New function.
17250 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17251
1385c5bb 172522008-06-01 Robert Millan <rmh@aybabtu.com>
17253
17254 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17255 code that is backward compatible with pre-uuid search command.
17256
c682dfd7 172572008-05-31 Robert Millan <rmh@aybabtu.com>
17258
17259 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17260 floppies after everything else, to ensure floppy drive isn't accessed
17261 unnecessarily (patch from Bean).
17262
b7db5d47 172632008-05-31 Robert Millan <rmh@aybabtu.com>
17264
17265 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17266 not print device names when we were asked to set a variable.
17267
6e037aa9 172682008-05-31 Robert Millan <rmh@aybabtu.com>
17269
17270 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17271 using "cursor-on" and "cursor-off" commands (understood at least by
17272 the Open Firmware flavour on OLPC).
17273
41305bc8 172742008-05-31 Michael Gorven <michael@gorven.za.net>
17275
17276 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17277 on and off sequences.
17278
69ba137e 172792008-05-31 Robert Millan <rmh@aybabtu.com>
17280
17281 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17282 * util/update-grub.in: Likewise.
17283
520ae21b 172842008-05-30 Pavel Roskin <proski@gnu.org>
17285
17286 * util/biosdisk.c (linux_find_partition): Simplify logic and
17287 make the code more universal. Keep special processing for
17288 devfs, but use a simple rule for all other devices. If the
17289 device ends with a number, append 'p' and the partition number.
17290 Otherwise, append only the partition number.
17291
5786569b 172922008-05-30 Robert Millan <rmh@aybabtu.com>
17293
17294 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17295 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17296 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17297 the `root' parameter to Linux.
17298
51500452 172992008-05-30 Robert Millan <rmh@aybabtu.com>
17300
17301 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17302 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17303 --fs_uuid with --fs-uuid.
17304 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17305 all filesystems support them).
17306
811d3878 173072008-05-30 Robert Millan <rmh@aybabtu.com>
17308
17309 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 17310 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 17311
cab63c95 173122008-05-30 Robert Millan <rmh@aybabtu.com>
17313
17314 * util/grub.d/00_header.in: Remove obsolete comment referencing
17315 convert_system_path_to_grub_path().
17316 * util/update-grub.in: Likewise.
17317 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
17318 (convert_system_path_to_grub_path): Add a warning message explaining
17319 that this function is deprecated. Rely on is_path_readable_by_grub()
17320 for the readability checks.
17321 (font_path): Use is_path_readable_by_grub() for the readability
17322 check rather than convert_system_path_to_grub_path().
17323
972e2f7a 173242008-05-30 Robert Millan <rmh@aybabtu.com>
17325
17326 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
17327 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
17328 converting it first.
17329 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
17330 grub.cfg for access to font file, and afterwards call it again to set
17331 the root device.
17332
62191274 173332008-05-30 Robert Millan <rmh@aybabtu.com>
17334
17335 * commands/search.c (options): Add --fs_uuid option.
17336 (search_fs_uuid): New function.
17337 (grub_cmd_search): Fix --set argument passing.
17338 Use search_fs_uuid() when requested via --fs_uuid.
17339 (grub_search_init): Update help message.
17340 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
17341 and redeclare it as an array of 16-bit words.
17342 (grub_ext2_uuid): New function.
17343 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
17344 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
17345 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
17346 (GRUB_DEVICE_BOOT_UUID): New variables.
17347 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
17348 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
17349 whenever possible.
17350 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
17351 just assume `root' variable has the right value.
17352 * util/grub.d/10_linux.in: Likewise.
17353 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
17354 via PRINT_FS_UUID.
17355 (main): Recognise `-t fs_uuid' argument.
17356
01b73ec8 173572008-05-30 Robert Millan <rmh@aybabtu.com>
17358
17359 * util/biosdisk.c (map): Redefine structure to hold information
17360 about GRUB drive name.
fe6b695a 17361 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 17362 drive names.
17363 (call_hook): Remove.
17364 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
17365 member. Assume drive has partitions.
17366 (grub_util_biosdisk_open): Access device names via `.device' struct
17367 member.
17368 (open_device): Likewise.
17369 (find_drive): Likewise.
17370 (read_device_map): Adjust map[] usage to match the new struct
17371 definition. Don't check for duplicates (still possible, but not cheap
17372 anymore).
17373 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
17374 (make_device_name): Remove assumption of BIOS-like drive names.
17375
22f16596 173762008-05-30 Pavel Roskin <proski@gnu.org>
17377
17378 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
17379 compiling execute.c doesn't need grub_script.tab.h anymore.
17380 (normal/command.c_DEPENDENCIES): Likewise.
17381 (normal/function.c_DEPENDENCIES): Likewise.
17382 * conf/i386-ieee1275.rmk: Likewise.
17383 * conf/i386-linuxbios.rmk: Likewise.
17384 * conf/i386-pc.rmk: Likewise.
17385 * conf/powerpc-ieee1275.rmk: Likewise.
17386 * conf/sparc64-ieee1275.rmk: Likewise.
17387
528ad8f2 173882008-05-29 Pavel Roskin <proski@gnu.org>
17389
d1dff95d 17390 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
17391 when scanning metadata for volume group name.
17392
528ad8f2 17393 * include/grub/script.h: Don't include grub_script.tab.h. It's
17394 a generated file, which may only be included from the files with
17395 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
17396 use union YYSTYPE, as the later allows forward declaration.
17397 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
17398
47248e08 173992008-05-29 Robert Millan <rmh@aybabtu.com>
17400
17401 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
17402 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
17403 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
17404 (grub_console_checkkey): Add grub_dprintf() call to report unknown
17405 scan codes.
17406
ee632529 174072008-05-29 Robert Millan <rmh@aybabtu.com>
17408
17409 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
17410 control key combinations.
17411
eee96e08 174122008-05-29 Robert Millan <rmh@aybabtu.com>
17413
17414 * util/powerpc/ieee1275/grub-install.in: Move from here ...
17415 * util/ieee1275/grub-install.in: ... to here.
17416 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
17417 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
17418 (grub_install_SOURCES): Likewise.
17419
da9a6a94 174202008-05-29 Robert Millan <rmh@aybabtu.com>
17421
17422 * fs/affs.c: Update copyright year.
17423 * fs/ext2.c: Likewise.
17424 * fs/fshelp.c: Likewise.
17425 * fs/hfsplus.c: Likewise.
17426 * fs/ntfs.c: Likewise.
17427 * fs/xfs.c: Likewise.
17428 * include/grub/fshelp.h: Likewise.
17429 * util/grub-mkdevicemap.c: Likewise.
17430
12e65f3a 174312008-05-28 Robert Millan <rmh@aybabtu.com>
17432
17433 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
17434 might need to be fatfs to support some firmware implementations
17435 (e.g. OFW or EFI).
17436
23023641 174372008-05-28 Robert Millan <rmh@aybabtu.com>
17438
17439 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
17440 devices.
17441 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17442 (make_device_map): Likewise.
17443
887d2619 174442008-05-20 Bean <bean123ch@gmail.com>
17445
17446 * fs/fshelp.c (grub_fshelp_map_block): New function.
17447 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
17448 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
17449
17450 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
17451 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
17452 (grub_fshelp_journal): New structure.
17453 (grub_fshelp_map_block): New function prototype.
17454 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
17455 (grub_fshelp_map_block): Likewise.
17456
17457 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
17458 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
17459 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
17460 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
17461 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
17462 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
17463 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
17464 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
17465 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
17466 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
17467 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
17468 (grub_ext2_sblock): New members for journal support.
17469 (grub_ext3_journal_header): New structure.
17470 (grub_ext3_journal_revoke_header): Likewise.
17471 (grub_ext3_journal_block_tag): Likewise.
17472 (grub_ext3_journal_sblock): Likewise.
17473 (grub_fshelp_node): New members logfile and journal.
17474 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
17475 grub_fshelp_map_block to get real block number.
17476 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
17477 number.
17478 (grub_ext2_read_inode): Likewise.
17479 (grub_ext3_get_journal): New function.
17480 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
17481 (grub_ext2_close): Release memory used by journal.
17482
17483 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
17484 (REISERFS_MAGIC_DESC_BLOCK): New macro.
17485 (grub_reiserfs_transaction_header): Renamed to
17486 grub_reiserfs_description_block, replace field data with real_blocks.
17487 (grub_reiserfs_commit_block): New structure.
17488 (grub_reiserfs_data): New member journal.
17489 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
17490 number.
17491 (grub_reiserfs_read_symlink): Likewise.
17492 (grub_reiserfs_iterate_dir): Likewise.
17493 (grub_reiserfs_open): Likewise.
17494 (grub_reiserfs_read): Likewise.
17495 (grub_reiserfs_get_journal): New function.
17496 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
17497 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
17498 using grub_reiserfs_get_journal.
17499 (grub_reiserfs_close): Release memory used by journal.
17500
17501 * fs/affs.c (grub_affs_read_block): Change block type to
17502 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
17503
17504 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
17505
17506 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
17507
17508 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
17509
17510 * fs/udf.c (grub_udf_read_block): Change block type to
17511 grub_disk_addr_t. Use type cast to avoid warning.
17512
17513 * fs/xfs.c (grub_xfs_read_block): Likewise.
17514
b7c6bed5 175152008-05-16 Christian Franke <franke@computer.org>
17516
17517 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
17518 to ensure that break with ESC will always work.
17519 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
17520 Remove ESC from keyboard queue.
17521
eedf167f 175222008-05-16 Christian Franke <franke@computer.org>
17523
17524 * util/biosdisk.c: [__CYGWIN__] Add includes.
17525 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
17526 (get_os_disk): Move variable declarations to OS specific
17527 parts to avoid warning.
17528 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
17529 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
17530 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
17531 Cygwin.
17532 * util/getroot.c: [__CYGWIN__] Add includes.
17533 (strip_extra_slashes): Fix "/" case.
17534 [__CYGWIN__] (get_win32_path): New function.
17535 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17536 [__CYGWIN__] (find_root_device): Disable.
17537 [__CYGWIN__] (get_bootsec_serial): New function.
17538 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17539 [__linux__] (grub_guess_root_device): Add early returns to simplify
17540 structure.
17541 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17542 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17543 check for Linux only.
17544
a079699e 175452008-05-15 Bean <bean123ch@gmail.com>
17546
17547 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17548 keyboard hang problem in apple's intel mac.
17549
1cf4059a 175502008-05-09 Robert Millan <rmh@aybabtu.com>
17551
17552 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17553 devices.
17554 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17555 (make_device_map): Likewise.
17556 Reported by Aurelien Jarno <aurel32@debian.org>
17557
ed759390 175582008-05-07 Ian Campbell <ijc@hellion.org.uk>
17559
17560 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17561 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17562 (make_device_map): Output entries for xvd type disks.
17563
b56c4eaa 175642008-05-07 Robert Millan <rmh@aybabtu.com>
17565
17566 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17567 devices.
17568 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17569 (make_device_map): Likewise.
17570 Reported by Roland Dreier <rdreier@cisco.com>
17571
7f8866ed 175722008-05-07 Robert Millan <rmh@aybabtu.com>
17573
17574 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17575 grub_strstr() call. Correct a few mistakes in failure path handling.
17576
b0346e0f 175772008-05-06 Robert Millan <rmh@aybabtu.com>
17578
17579 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17580 Do not print a trailing slash (therefore, the root directory is an
17581 empty string).
17582 (convert_system_path_to_grub_path): Do not remove trailing slash
17583 from make_system_path_relative_to_its_root() output.
17584
17585 * util/i386/pc/grub-install.in: Add trailing slash to output from
17586 make_system_path_relative_to_its_root().
17587
6cf12cbd 175882008-05-06 Robert Millan <rmh@aybabtu.com>
17589
17590 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17591 ensures that output lines aren't intermangled with those sent to
17592 stderr (via grub_util_info()).
17593 * util/grub-probe.c (grub_refresh): Likewise.
17594 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17595
0fbb3117 175962008-05-05 Christian Franke <franke@computer.org>
17597
17598 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17599 Add Cygwin device names.
17600 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17601 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17602 (check_device): Return error instead of success on empty name.
17603 (make_device_map): Move label inside linux specific code to
17604 prevent compiler warning.
17605
8124cdb7 176062008-04-30 Robert Millan <rmh@aybabtu.com>
17607
17608 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17609 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17610 first boot option.
17611 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17612
094c01d0 176132008-04-29 Robert Millan <rmh@aybabtu.com>
17614
17615 * docs/grub.cfg: New file (example GRUB configuration).
17616
f4b1fc02 176172008-04-26 Robert Millan <rmh@aybabtu.com>
17618
329ce2a5 17619 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17620 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17621 and `disk/ieee1275/nand.c'.
f4b1fc02 17622
25f16ec1 176232008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 17624
25f16ec1 17625 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17626 i386-linuxbios.
17627
17628 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17629 change the buffer size to 4096 for cdrom device.
17630
17631 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17632 and nand.mod.
17633 (_linux_mod_SOURCES): New variable.
17634 (_linux_mod_CFLAGS): Likewise.
17635 (_linux_mod_LDFLAGS): Likewise.
17636 (linux_mod_SOURCES): Likewise.
17637 (linux_mod_CFLAGS): Likewise.
17638 (linux_mod_LDFLAGS): Likewise.
17639 (nand_mod_SOURCES): Likewise.
17640 (nand_mod_CFLAGS): Likewise.
17641 (nand_mod_LDFLAGS): Likewise.
17642
17643 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17644 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17645 type property. (nand device in olpc don't have this property)
17646
17647 * include/grub/disk.h (grub_disk_dev_id): New macro
17648 GRUB_DISK_DEVICE_NAND_ID.
17649
17650 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17651 function prototype.
17652 (grub_rescue_cmd_initrd): Likewise.
17653
17654 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17655 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17656 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 17657
25f16ec1 17658 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17659 GRUB_MACHINE_IEEE1275 is defined.
17660
17661 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17662 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17663
17664 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17665 on nested function heap_init.
17666 (grub_upper_mem): New variable for i386-ieee1275.
17667 (grub_get_extended_memory): New function for i386-ieee1275.
17668 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17669
17670 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17671 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17672 property.
f19dbdb7 17673
25f16ec1 17674 * loader/i386/ieee1275/linux.c: New file.
17675
17676 * loader/i386/ieee1275/linux_normal.c: New file.
17677
17678 * disk/ieee1275/nand.c: New file.
17679
e89d61e9 176802008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17681
17682 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17683 value.
17684 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17685
602566f6 176862008-04-18 Robert Millan <rmh@aybabtu.com>
17687
17688 Restructures early code path on ieee1275 to unify grub_main() as
17689 the first C function that is executed in every platform.
17690
17691 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17692 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17693 cmain().
17694 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17695 * kern/ieee1275/cmain.c (cmain): Rename to ...
17696 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17697 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17698 at the beginning.
17699
57490c2b 177002008-04-18 Robert Millan <rmh@aybabtu.com>
17701
17702 * util/update-grub.in: Fix syntax error when setting
17703 `GRUB_PRELOAD_MODULES'.
17704 Reported by Stephane Chazelas <stephane@artesyncp.com>
17705
1977517d 177062008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17707
17708 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17709 section into account, newer toolchains generate unique build ids
17710 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 17711 we want build ids to be preserved
1977517d 17712 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17713 far from other sections don't cause the raw binary images grow
17714 size
17715
bfb1f1a2 177162008-04-15 Robert Millan <rmh@aybabtu.com>
17717
17718 * disk/lvm.c: Update copyright year.
17719 * kern/misc.c: Likewise.
17720
01979850 177212008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17722
17723 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 17724 there is no memory left for physical volume name.
01979850 17725
0a1150e2 177262008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17727
17728 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17729 volume name mapping to support bigger than 9 character names properly.
17730
82ead3fe 177312008-04-13 Robert Millan <rmh@aybabtu.com>
17732
17733 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17734 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17735
e54a72f5 177362008-04-13 Christian Franke <franke@computer.org>
17737
17738 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17739 to create a floppy emulation boot CD when non emulation mode
17740 does not work.
17741 Enable Joliet CD filesystem extension.
17742
9fe86034 177432008-04-13 Robert Millan <rmh@aybabtu.com>
17744
17745 * kern/misc.c (grub_strncat): Fix off-by-one error.
17746 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17747
17748 * kern/env.c (grub_env_context_close): Clear current context, not
17749 previous one.
17750 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17751
17752 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17753
7ceeee39 177542008-04-13 Robert Millan <rmh@aybabtu.com>
17755
17756 Improve robustness when handling LVM.
17757
17758 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 17759 (and leave `*p' unmodified).
7ceeee39 17760 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17761 through it.
17762 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17763 iterating through it.
17764 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17765 through it.
fe6b695a 17766 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 17767 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17768 Don't assume `vg->pvs != NULL' when iterating through it.
17769
58cd3d85 177702008-04-13 Robert Millan <rmh@aybabtu.com>
17771
17772 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
17773 * genmk.rb (partmap): New variable.
17774 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
17775 (#{partmap}): New target rule.
17776 * genpartmaplist.sh: New file.
17777 * Makefile.in (pkglib_DATA): Add partmap.lst.
17778 (partmap.lst): New target rule.
17779 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
17780 modules (including all partition maps), instead of preloading them.
17781
78b51059 177822007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
17783
17784 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
17785 `linux-boot-prober' (if installed) to detect other operating
17786 systems which are installed on the computer and add them to
17787 the boot menu.
17788 * conf/common.rmk: Build and install 30_os-prober.
17789
a91627b4 177902008-04-12 Robert Millan <rmh@aybabtu.com>
17791
17792 * kern/powerpc/ieee1275/init.c: Move from here ...
17793 * kern/ieee1275/init.c: ... to here. Update all users.
17794
17795 * kern/powerpc/ieee1275/cmain.c: Move from here ...
17796 * kern/ieee1275/cmain.c: ... to here. Update all users.
17797
17798 * kern/powerpc/ieee1275/openfw.c: Move from here ...
17799 * kern/ieee1275/openfw.c: ... to here. Update all users.
17800
17801 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
17802 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
17803
322562ea 178042008-04-10 Pavel Roskin <proski@gnu.org>
17805
17806 * configure.ac: Always use "_cv_" in cache variables for
17807 compatibility with Autoconf 2.62.
17808
a02a73c5 178092008-04-07 Robert Millan <rmh@aybabtu.com>
17810
17811 Revert grub/machine/init.h addition by Pavel (since it breaks on
17812 i386-ieee1275 and others):
17813 * util/i386/pc/misc.c: Remove grub/machine/init.h.
17814 * util/powerpc/ieee1275/misc.c: Likewise.
17815
25c024b1 178162008-04-07 Robert Millan <rmh@aybabtu.com>
17817
17818 * util/grub-probe.c (probe): Improve error message.
17819
3cbd2f98 178202008-04-07 Robert Millan <rmh@aybabtu.com>
17821
17822 * util/biosdisk.c (read_device_map): Skip devices that don't exist
17823 (this prevents the presence of a bogus entry from ruining the whole
17824 thing).
17825
87a297bf 178262008-04-06 Pavel Roskin <proski@gnu.org>
17827
36747a62 17828 * util/biosdisk.c: Include grub/util/biosdisk.h.
17829 * util/grub-fstest.c (execute_command): Make static.
17830 * util/grub-mkdevicemap.c (check_device): Likewise.
17831 * util/i386/pc/misc.c: Include grub/machine/init.h.
17832 * util/powerpc/ieee1275/misc.c: Likewise.
17833 * util/lvm.c: Include grub/util/lvm.h.
17834 * util/misc.c: Include grub/kernel.h, grub/misc.h and
17835 grub/cache.h.
17836 * util/raid.c: Include grub/util/raid.h.
17837 (grub_util_getdiskname): Make static.
17838
87a297bf 17839 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
17840 grub_hostfs_fini(), as they are called from grub_init_all() and
17841 grub_fini_all() respectively. This fixes an infinite loop in
17842 grub-fstest due to double registration of hostfs.
17843 Reported by Christian Franke <Christian.Franke@t-online.de>
17844
f6ce7629 178452008-04-05 Pavel Roskin <proski@gnu.org>
17846
17847 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
17848 all 8 functions. Otherwise, probe function 0 only.
17849
070e49e4 178502008-04-04 Pavel Roskin <proski@gnu.org>
17851
8b088a4c 17852 * commands/lspci.c (grub_lspci_iter): Print the bus number
17853 correctly.
17854
4f657021 17855 * commands/lspci.c (grub_pci_classes): Fix typos.
17856 (grub_lspci_iter): Don't print func twice. Print vendor ID
17857 before device ID, as it's normally done.
17858
070e49e4 17859 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17860 Fix signedness warnings.
17861 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
17862 Likewise.
17863 * util/ieee1275/get_disk_name.c: Include config.h so that
17864 _GNU_SOURCE is defined and getline() is declared. Mark an
17865 unused argument as such. Fix a signedness warning.
17866
ba7328dc 178672008-04-02 Pavel Roskin <proski@gnu.org>
17868
26887f22 17869 * genkernsyms.sh.in: Use more robust assignments for CC and
17870 srcdir. Quote srcdir.
17871 * gensymlist.sh.in: Likewise. Assert at the compile time that
17872 the symbol table is not empty.
17873
ba7328dc 17874 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
17875 * fs/cpio.c (grub_cpio_read): Likewise.
17876
0f582c6b 178772008-04-01 Pavel Roskin <proski@gnu.org>
17878
4b6e1995 17879 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
17880 * disk/host.c (grub_host_open): Likewise.
17881 * disk/loopback.c (grub_loopback_open): Likewise.
17882 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
17883 disk->id as in disk/host.c, not a multi-character constant.
17884
828a2768 17885 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
17886 later is obsolete, potentially dangerous and sets a bad example.
17887 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
17888 * util/misc.c (grub_util_get_image_size): Likewise.
17889
2bb4fb47 17890 * disk/loopback.c (options): Improve help for "--partitions".
17891
0f582c6b 17892 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
17893 options to align them with the short options, e.g. "echo -e".
17894
a33224e0 178952008-03-31 Bean <bean123ch@gmail.com>
17896
17897 * video/reader/png.c (grub_png_data): New member is_16bit and
17898 image_data.
17899 (grub_png_decode_image_header): Detect 16 bit png image.
17900 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
17901 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
17902 (grub_video_reader_png): Release memory occupied by image_data.
17903
17904 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
17905 4096 bytes.
17906 (grub_nfs_mount): Skip the test for sector per cluster.
17907
17908 * include/grub/ntfs.h (MAX_SPC): Removed.
17909
86cb4f54 179102008-03-31 Bean <bean123ch@gmail.com>
17911
17912 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
17913 (grub_probe_SOURCES): Add fs/afs.c.
17914 (grub_fstest_SOURCES): Likewise.
17915 (afs_mod_SOURCES): New variable.
17916 (afs_mod_CFLAGS): Likewise.
17917 (afs_mod_LDFLAGS): Likewise.
17918
17919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
17920 (grub_emu_SOURCES): Likewise.
17921
17922 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17923
17924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17925
17926 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17927
17928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17929
17930 * fs/afs.c: New file.
17931
17c74c21 179322008-03-30 Pavel Roskin <proski@gnu.org>
17933
4cb68e89 17934 * disk/host.c: Include grub/misc.h to fix a warning.
17935 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
17936 warnings about implicit declarations.
17937
8790bb04 17938 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
17939 variable.
17940 * include/grub/i386/loader.h: Change declaration of
17941 grub_linux_boot() to match what grub_loader_set() expects.
17942 * util/getroot.c (grub_guess_root_device): Return const char* to
17943 fix a warning.
17944 * util/grub-probe.c (probe): Fix a warning about uninitialized
17945 abstraction_name variable.
17946 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
17947 second argument as unused to fix a warning.
17948
9a3f3296 17949 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
17950 missing grub_error() call.
17951
0ecef90d 17952 * util/update-grub_lib.in: Define datarootdir, since Autoconf
17953 2.60 and newer uses it to define datadir.
17954
0bf6d401 17955 * commands/sleep.c: Fix warning about implicit declaration.
17956 * disk/memdisk.c: Likewise.
17957 * loader/aout.c: Likewise.
17958 * loader/i386/bsd_normal.c: Likewise.
17959 * util/grub-probe.c: Likewise.
17960
7cdacf97 17961 * commands/i386/cpuid.c (has_longmode): Make static.
17962 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
17963 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
17964
17c74c21 17965 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
17966 GDT. This is more robust, as %ds can change.
17967 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
17968 calling real_to_prot().
17969 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
17970
80a3e68b 179712008-03-28 Pavel Roskin <proski@gnu.org>
17972
17973 * kern/i386/pc/startup.S: Assert that uncompressed functions
17974 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
17975 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
17976 code, as they push parts of the code (error handlers) beyond
17977 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
17978 code as correctness and size.
17979
77bcd272 179802008-03-28 Pavel Roskin <proski@gnu.org>
17981
17982 * kern/i386/pc/startup.S
17983 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
17984 data block address to the real mode, keep offset minimal. This
17985 works around a bug in AWARD BIOS on old Athlon systems, which
17986 makes CD detection hang.
17987
c5dfd43b 179882008-03-26 Pavel Roskin <proski@gnu.org>
17989
17990 * normal/color.c (grub_parse_color_name_pair): Make `name' a
17991 const.
17992 * include/grub/normal.h: Add grub_parse_color_name_pair()
17993 declaration.
17994
bf962df2 179952008-03-24 Bean <bean123ch@gmail.com>
17996
17997 * disk/i386/pc/biosdisk.c (cd_start): Removed.
17998 (cd_count): Removed.
17999 (cd_drive): New variable.
18000 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18001 (grub_biosdisk_call_hook): Likewise.
18002 (grub_biosdisk_iterate): Change cdrom detection method.
18003 (grub_biosdisk_open): Replace cd_start with cd_drive.
18004 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18005 detect cdrom device.
18006
18007 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18008 Removed.
18009 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18010 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18011 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18012 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18013 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18014 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18015 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18016 (grub_biosdisk_cdrp): New structure.
18017 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18018
18019 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18020
18021 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18022 device.
18023
18024 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18025 New function.
18026
68e7fc7a 180272008-03-20 Robert Millan <rmh@aybabtu.com>
18028
18029 Remove 2 TiB limit in ata.mod.
18030 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18031 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18032 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18033 grub_uint64_t instead of grub_uint32_t.
18034
38ad2cf5 180352008-03-05 Bean <bean123ch@gmail.com>
18036
18037 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18038 (grub_multiboot): Set boot device.
18039
18040 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18041
2b89344e 180422008-03-02 Bean <bean123ch@gmail.com>
18043
18044 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18045 symlink_buffer.
18046
87a95d1f 180472008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18048
18049 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18050 texinfo.tex.
18051
18052 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18053 modified.
18054
18055 * docs/fdl.texi: New file.
f19dbdb7 18056
87a95d1f 18057 * docs/mdate-sh: New file. Copied from gnulib.
18058 * docs/texinfo.tex: Likewise.
18059
18060 * config.guess: Updated from gnulib.
18061 * install-sh: Likewise.
18062
7dc15d8e 180632008-02-28 Robert Millan <rmh@aybabtu.com>
18064
18065 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18066 (aout_mod_SOURCES): New variable.
18067 (aout_mod_CFLAGS): Likewise.
18068 (aout_mod_LDFLAGS): Likewise.
18069
18070 * conf/i386-ieee1275.rmk: Likewise.
18071
b00ab696 180722008-02-28 Robert Millan <rmh@aybabtu.com>
18073
18074 * util/update-grub.in: Reorganise terminal validity check. Accept
18075 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18076 Based on suggestion by Franklin PIAT.
18077
79ca2d78 180782008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18079
18080 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18081 function.
18082 * util/getroot.c (grub_util_check_block_device): New function that
18083 returns the given argument if it is a block device and returns NULL else.
18084 * util/grub-probe.c (argument_is_device): New variable.
18085 (probe): Promote device_name from a variable to an argument. Receive
18086 device_name from grub_util_check_block_device() if path is NULL and from
18087 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 18088 (options): Introduce new parameter '-d, --device'.
79ca2d78 18089 (main): Add description of the new parameter to the help screen.
18090 Rename path variable to argument. Set argument_is_device if the '-d'
18091 option is given. Pass argument to probe() depending on
18092 argument_is_device.
18093
0d16e571 180942008-02-24 Bean <bean123ch@gmail.com>
18095
18096 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18097 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18098 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18099 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18100 (GRUB_ISO9660_VOLDESC_END): Likewise.
18101 (grub_iso9660_primary_voldesc): New member escape.
18102 (grub_iso9660_data): New member joliet.
18103 (grub_iso9660_convert_string): New function.
18104 (grub_iso9660_mount): Detect joliet extension.
18105 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18106 (grub_iso9660_iso9660_label): Likewise.
18107
18108 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18109 (grub_setup_SOURCES): Add fs/udf.c.
18110 (grub_fstest_SOURCES): Likewise.
18111 (udf_mod_SOURCES): New variable.
18112 (udf_mod_CFLAGS): Likewise.
18113 (udf_mod_LDFLAGS): Likewise.
18114
18115 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18116 (grub_emu_SOURCES): Likewise.
18117
18118 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18119
18120 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18121
18122 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18123
18124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18125
18126 * fs/udf.c: New file.
18127
8a594a17 181282008-02-24 Robert Millan <rmh@aybabtu.com>
18129
18130 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
18131 (normal/lexer.c_DEPENDENCIES): New variables.
18132 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18133 (normal/lexer.c_DEPENDENCIES): Likewise.
18134 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
18135 (normal/lexer.c_DEPENDENCIES): Likewise.
18136 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
18137 (normal/lexer.c_DEPENDENCIES): Likewise.
18138 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18139 (normal/lexer.c_DEPENDENCIES): Likewise.
18140 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18141 (normal/lexer.c_DEPENDENCIES): Likewise.
18142
2dc33c03 181432008-02-23 Robert Millan <rmh@aybabtu.com>
18144
18145 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
18146 since they were intended to be in hex. This didn't break previously
18147 because of a bug in gpt_partition_map_iterate() (see below).
18148
18149 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
18150 when checking the validity of GPT header.
18151 Remove `partno', since it always provides the same information as `i'.
18152
f6f4cfb0 181532008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
18154
18155 * include/grub/efi/time.h: Fix a wrong comment.
18156
79ff665f 181572008-02-19 Pavel Roskin <proski@gnu.org>
18158
18159 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18160 message.
18161
d38e24c2 181622008-02-19 Bean <bean123ch@gmail.com>
18163
18164 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18165 (aout_mod_SOURCES): New variable.
18166 (aout_mod_CFLAGS): Likewise.
18167 (aout_mod_LDFLAGS): Likewise.
18168 (_bsd_mod_SOURCES): New variable.
18169 (_bsd_mod_CFLAGS): Likewise.
18170 (_bsd_mod_LDFLAGS): Likewise.
18171 (bsd_mod_SOURCES): New variable.
18172 (bsd_mod_CFLAGS): Likewise.
18173 (bsd_mod_LDFLAGS): Likewise.
18174
18175 * include/grub/aout.h: New file.
18176
18177 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18178
18179 * include/grub/i386/bsd.h: New file.
18180
18181 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18182 to make it public.
18183
18184 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18185 function is called, so that it's possible to change it inside the hook.
18186 (grub_elf64_load): Likewise.
18187 (grub_elf_file): Don't close the file if elf header is not found.
18188 (grub_elf_close): Close the file if grub_elf_file fails (The new
18189 grub_elf_file won't close it).
18190 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18191 (grub_elf64_size): Likewise.
18192
18193 * kern/i386/loader.S (grub_unix_real_boot): New function.
18194
18195 * loader/aout.c: New file.
18196
18197 * loader/i386/bsd.c: New file.
18198
18199 * loader/i386/bsd_normal.c: New file.
18200
18201 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18202
18203 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 18204 can test other formats.
d38e24c2 18205
b93bdb0f 182062008-02-19 Robert Millan <rmh@aybabtu.com>
18207
18208 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18209 (grub_gpt_partition_type_empty): Redefine with macro from
18210 `<grub/gpt_partition.h>'.
18211 (gpt_partition_map_iterate): Adjust partition type comparison.
18212
18213 Export `entry' as partmap-specific `part.data' struct.
18214 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18215
18216 * include/grub/gpt_partition.h (grub_gpt_header)
18217 (grub_gpt_partentry): ... to here (new file).
18218
18219 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18220
18221 (grub_gpt_partition_type_bios_boot): New const variable, defined
18222 with macro from `<grub/gpt_partition.h>'.
18223
18224 (setup): Replace `first_start' with `embed_region', which keeps
18225 track of the embed region (and is partmap-agnostic).
18226
18227 Replace find_first_partition_start() with find_usable_region(),
18228 which finds a usable region for embedding using partmap-specific
18229 knowledge (supports PC/MSDOS and GPT).
18230
18231 Fix all assumptions that the embed region start at sector 1, using
18232 `embed_region.start' from now on. Similarly, use `embed_region.end'
18233 rather than `first_start' to calculate available size.
18234
18235 In grub_util_info() message, replace "into after the MBR" with an
18236 indication of the specific sector our embed region starts at.
18237
66cb40f6 182382008-02-19 Robert Millan <rmh@aybabtu.com>
18239
18240 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18241 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18242 `commands/reboot.c'.
18243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18244 (halt_mod_SOURCES): Likewise.
18245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18246 (halt_mod_SOURCES): Likewise.
18247
b7202015 182482008-02-17 Christian Franke <franke@computer.org>
18249
18250 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18251
32b0fc49 182522008-02-17 Robert Millan <rmh@aybabtu.com>
18253
18254 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18255 set `first_start' to 0 for non-PC/MSDOS partition maps.
18256
aca63502 182572008-02-16 Robert Millan <rmh@aybabtu.com>
18258
18259 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18260 do not assume partition map is PC/MSDOS before performing checks that
18261 are specific to that layout.
18262
0de8be86 182632008-02-13 Robert Millan <rmh@aybabtu.com>
18264
18265 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18266 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18267 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18268
c3db8364 182692008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18270
18271 * configure.ac: Only a cosmetic change on the handling of
18272 -fno-stack-protector.
18273
f714229e 182742008-02-12 Alexandre Boeglin <alex@boeglin.org>
18275
c3db8364 18276 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18277 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18278 reboot.c.
f714229e 18279 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18280 (halt_mod_SOURCES): New variable.
18281 (halt_mod_CFLAGS): Likewise.
18282 (halt_mod_LDFLAGS): Likewise.
18283 (reboot_mod_SOURCES): Likewise.
18284 (reboot_mod_CFLAGS): Likewise.
18285 (reboot_mod_LDFLAGS): Likewise.
18286
c3db8364 18287 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18288 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18289 reboot.c.
f714229e 18290 (halt_mod_SOURCES): Likewise.
18291 (reboot_mod_SOURCES): Likewise.
18292
c3db8364 18293 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18294 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 18295 (reboot_mod_SOURCES): Likewise.
18296
18297 * commands/i386/pc/reboot.c: merge this file ...
18298
18299 * commands/ieee1275/reboot.c: ... and this file ...
18300
18301 * commands/reboot.c: ... to this file.
c3db8364 18302 Add some precompiler directive to include the correct header for
18303 each machine.
f714229e 18304
18305 * commands/ieee1275/halt.c: move this file ...
18306
18307 * commands/halt.c: ... to here.
c3db8364 18308 Add some precompiler directive to include the correct header for
18309 each machine.
f714229e 18310
18311 * include/grub/efi/efi.h (grub_reboot): New function declaration.
18312 (grub_halt): Likewise.
18313
18314 * kern/efi/efi.c (grub_reboot): New function.
18315 (grub_halt): Likewise.
18316
c74493e0 183172008-02-12 Robert Millan <rmh@aybabtu.com>
18318
18319 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
18320 /dev (like it is done for /dev/mapper). This doesn't provide support
18321 for EVMS, but at least it is now easy to identify the problem when it
18322 arises.
18323
d0db4b04 183242008-02-11 Robert Millan <rmh@aybabtu.com>
18325
18326 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
18327 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
18328 comparing it with -1, not 0.
18329
bf748642 183302008-02-10 Robert Millan <rmh@aybabtu.com>
18331
18332 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
18333 `disk/lvm.c'.
18334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18335 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18336
18337 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
18338 `disk/lvm.c' to the end of the list.
18339 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18340 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18341
b5db202a 183422008-02-10 Robert Millan <rmh@aybabtu.com>
18343
18344 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
18345 grub_print_error() instead. This will let user know why we're entering
18346 rescue mode.
18347 Based on suggestions from Sam Morris.
18348
83abee31 183492008-02-10 Alexandre Boeglin <alex@boeglin.org>
18350
18351 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
18352 on remaining N args, instead of "--" arg N times.
18353
78d5a08b 183542008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
18355
18356 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
18357 (fill_with_default_glyph): Changed to use unknown_glyph for fill
18358 pattern for unknown glyphs.
18359
68807e5f 183602008-02-09 Robert Millan <rmh@aybabtu.com>
18361
18362 * configure.ac: Probe for `help2man'.
18363 * Makefile.in (builddir): New variable.
18364 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
18365 or otherwise add a few flags/options to it.
18366 (install-local): For every executable utility or script that is
18367 installed, invoke $(HELP2MAN) to install a manpage based on --help
18368 output.
18369
18370 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
18371 that it doesn't prevent --help from working in build tree.
18372
18373 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
18374 with `bug-grub@gnu.org'.
18375 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
18376 * util/update-grub.in (usage): New function.
18377 Implement proper argument check, with support for --help and --version
18378 (as well as existing -y).
18379
183802008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 18381
18382 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
18383 avoid overwriting previous output.
18384 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
18385
c1962162 183862008-02-09 Robert Millan <rmh@aybabtu.com>
18387
18388 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
18389 drawing the menu.
18390
3dac2e3f 183912008-02-09 Robert Millan <rmh@aybabtu.com>
18392
18393 * commands/sleep.c: New file.
18394 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
18395 (sleep_mod_SOURCES): New variable.
18396 (sleep_mod_CFLAGS): Likewise.
18397 (sleep_mod_LDFLAGS): Likewise.
18398
7a634e08 183992008-02-09 Robert Millan <rmh@aybabtu.com>
18400
18401 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
18402 situations in which we can deduce the RAID size and the superblock
18403 doesn't match it.
18404
b92f0c18 184052008-02-09 Robert Millan <rmh@aybabtu.com>
18406
18407 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
18408 and return a grub_diskmemberlist_t composed of LVM physical volumes.
18409 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
18410
18411 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
18412 and return a grub_diskmemberlist_t composed of physical array members.
18413 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
18414
18415 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
18416 prototype.
18417 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
18418 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
18419 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
18420
18421 * util/grub-probe.c (probe): Move partmap probing code from here ...
18422 (probe_partmap): ... to here.
18423 (probe): Use probe_partmap() once for the disk we're probing, and
18424 additionally, when such disk contains a memberlist() struct member,
18425 once for each disk that is contained in the structure returned by
18426 memberlist().
18427
91a4bf68 184282008-02-09 Robert Millan <rmh@aybabtu.com>
18429
18430 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
18431 environment variable to 'all' in order to obtain debug output from
18432 non-util/ code.
18433 * util/i386/pc/grub-setup.c (main): Likewise.
18434
a96f9caa 184352008-02-08 Robert Millan <rmh@aybabtu.com>
18436
18437 * disk/raid.c (grub_raid_scan_device): Check for
18438 `array->device[sb.this_disk.number]' rather than for
18439 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 18440 guaranteed to be accessible.
a96f9caa 18441
b37a9222 184422008-02-08 Robert Millan <rmh@aybabtu.com>
18443
18444 * disk/raid.c: Update copyright.
18445 * fs/cpio.c: Likewise.
18446 * include/grub/raid.h: Likewise.
18447 * loader/i386/pc/multiboot.c: Likewise.
18448 * util/hostfs.c: Likewise.
18449
5626aee1 184502008-02-08 Robert Millan <rmh@aybabtu.com>
18451
18452 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
18453 to a grub_disk_t array.
18454 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
18455 `device[x]'.
18456 (grub_raid_scan_device): Replace `device[x].name' accesses with
18457 `device[x]->name'. Simplify initialization of `array->device[x]'.
18458
554f0187 184592008-02-08 Robert Millan <rmh@aybabtu.com>
18460
18461 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
18462 grub_dprintf() calls.
18463 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
18464 error message.
18465
1ec8425d 184662008-02-07 Christian Franke <franke@computer.org>
18467
18468 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
18469 instead of fseek and ftell to support large files.
18470 (grub_hostfs_read): Likewise.
18471
f2156fda 184722008-02-07 Robert Millan <rmh@aybabtu.com>
18473
18474 Patch from Jeroen Dekkers.
18475 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 18476 failure, since successfully reading all array members might not be
f2156fda 18477 required.
18478
9216e0e7 184792008-02-06 Robert Millan <rmh@aybabtu.com>
18480
18481 * util/grub-probe.c (probe): Simplify partmap probing (with the
18482 assumption that the first word up to the underscore equals to
18483 the module name).
18484
b0dfd29a 184852008-02-06 Christian Franke <franke@computer.org>
18486
18487 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
18488 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
18489 last block of a cpio or tar stream.
18490 Check for "TRAILER!!!" instead of any empty data
18491 block to detect last block of a cpio stream.
18492 (grub_cpio_dir): Fix constness of variable np.
18493 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
18494 cpio or tar trailer is detected. This fixes a crash
18495 on open of a non existing file.
18496
c32865bf 184972008-02-05 Bean <bean123ch@gmail.com>
18498
18499 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
18500 address of entry.
18501 (grub_multiboot_load_elf64): Likewise.
18502 (grub_multiboot): Initialize mbi structure.
18503
18504 * util/grub-fstest.c: Don't include unused header file script.h.
18505
fe6b695a 18506 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 18507 of file.
18508 (grub_fstest_SOURCES): Likewise.
18509
409480b7 185102008-02-05 Robert Millan <rmh@aybabtu.com>
18511
18512 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
18513 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
18514 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
18515 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
18516
18517 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
18518 (translation_table): Replace hardcoded values with macros
18519 provided by `<grub/term.h>'.
18520
18521 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
18522 (keyboard_map): Correct/add a few values, with macros provided
18523 by `<grub/term.h>'.
18524 (keyboard_map_shift): Zero values that don't differ from their
18525 `keyboard_map' equivalents.
18526 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
18527 Discard the second scan code that is always sent by Caps lock.
18528 Only use `keyboard_map_shift' when it provides a non-zero value,
18529 otherwise fallback to `keyboard_map'.
18530
99fadbaa 185312008-02-04 Bean <bean123ch@gmail.com>
18532
18533 * Makefile.in (enable_grub_fstest): New variable.
18534
18535 * conf/common.rmk (grub_fstest_init.lst): New rule.
18536 (grub_fstest_init.h): Likewise.
18537 (grub_fstest_init.c): Likewise.
18538 (util/grub-fstest.c_DEPENDENCIES): New variable.
18539 (grub_fstest_SOURCES): Likewise.
18540
18541 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18542
18543 * util/grub-fstest.c: New file.
18544
bf567c50 185452008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18546
18547 Make grub-setup handle a separate root device.
f19dbdb7 18548
bf567c50 18549 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18550 so that the root device can be compared with the destination
18551 device.
18552 When embedding the core image, if the root and destination devices
18553 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18554 0xFF.
18555 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 18556
9be6b98b 185572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18558
18559 Add support for having a grub directory in a different drive. This
18560 is still only the data handling part.
f19dbdb7 18561
9be6b98b 18562 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18563 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18564 (grub_root_drive): New variable.
18565
18566 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18567 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18568 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18569 as it was.
18570
18571 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18572
18573 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18574 macro.
18575 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18576
18577 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18578 is bogus, because PXE booting does not specify any drive
18579 correctly.
18580
18581 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18582 am not sure if this is really correct.
18583
18584 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18585 is always identical to the boot drive when booting from a CD.
18586
18587 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18588 longer.
18589 (root_drive): New variable.
18590 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18591 (setup_sectors): Push %dx right after popping it, because %dh will
18592 be modified later.
18593 (copy_buffer): Restore %dx.
18594
e0ca0677 185952008-02-03 Robert Millan <rmh@aybabtu.com>
18596
18597 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18598 use `cdboot.img' for cdrom images.
18599
3b3f6629 186002008-02-03 Robert Millan <rmh@aybabtu.com>
18601
18602 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18603 only setup gfxterm when `font' command has succeeded.
18604
d42b3672 186052008-02-03 Robert Millan <rmh@aybabtu.com>
18606
18607 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18608 (grub_rescue_cmd_multiboot_loader)
18609 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18610
fa370ea6 186112008-02-03 Pavel Roskin <proski@gnu.org>
18612
e0c5dacb 18613 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 18614 %edx and %esi from stack only after grub_gate_a20() is called.
18615 grub_gate_a20() clobbers %edx.
18616
f2a76e1d 186172008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18618
18619 * configure.ac (AC_INIT): Bumped to 1.96.
18620
18621 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18622 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18623 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18624 video/readers/png.c.
18625
90fd32d1 186262008-02-03 Bean <bean123ch@gmail.com>
9be665dd 18627
18628 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18629 (cdboot_img_SOURCES): New variable.
18630 (cdboot_img_ASFLAGS): New variable.
18631 (cdboot_img_LDFLAGS): New variable.
18632
18633 * boot/i386/pc/cdboot.S: New file.
18634
18635 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18636 (cd_count): Likewise.
18637 (grub_biosdisk_get_drive): Add support for cd device.
18638 (grub_biosdisk_call_hook): Likewise.
18639 (grub_biosdisk_iterate): Likewise.
18640 (grub_biosdisk_open): Likewise.
18641 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18642 (grub_biosdisk_rw): Support reading from cd device.
18643 (GRUB_MOD_INIT): Iterate cd devices.
18644
18645 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18646 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18647 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18648
18649 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18650
4020aa53 186512008-02-02 Robert Millan <rmh@aybabtu.com>
18652
18653 * commands/read.c: New file.
18654 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18655 (read_mod_SOURCES): New variable.
18656 (read_mod_CFLAGS): Likewise.
18657 (read_mod_LDFLAGS): Likewise.
18658
e03a1132 186592008-02-02 Robert Millan <rmh@aybabtu.com>
18660
18661 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18662 determining whether menu has to be displayed.
18663
58c69220 186642008-02-02 Marco Gerards <marco@gnu.org>
18665
18666 * bus/pci.c: New file.
18667
18668 * include/grub/pci.h: Likewise.
18669
18670 * include/grub/i386/pc/pci.h: Likewise.
18671
18672 * commands/lspci.c: Likewise.
18673
18674 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18675 `lspci.mod'.
18676 (pci_mod_SOURCES): New variable.
18677 (pci_mod_CFLAGS): Likewise.
18678 (pci_mod_LDFLAGS): Likewise.
18679 (lspci_mod_SOURCES): Likewise.
18680 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 18681 (lspci_mod_LDFLAGS): Likewise.
58c69220 18682
c004e1b4 186832008-02-02 Bean <bean123ch@gmail.com>
18684
18685 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18686 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18687
18688 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18689 (grub_xfs_btree_node): New structure.
18690 (grub_xfs_btree_root): New structure.
18691 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18692 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18693 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18694 (GRUB_XFS_EXTENT_SIZE): Likewise.
18695 (grub_xfs_read_block): Support btree format type.
18696 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18697 Use directory block as basic unit.
18698
18699 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18700
18701 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18702 __attribute__ ((__regparm__ (1))).
18703
f95562bf 187042008-02-01 Robert Millan <rmh@aybabtu.com>
18705
18706 Correct a mistake in previous commit.
18707
18708 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18709 top.
18710 (normal/command.c_DEPENDENCIES): New variable.
18711
7d31f41f 187122008-02-01 Robert Millan <rmh@aybabtu.com>
18713
18714 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18715 top.
18716 (normal/command.c_DEPENDENCIES): New variable.
18717 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18718 * conf/i386-ieee1275.rmk: Likewise.
18719 * conf/i386-linuxbios.rmk: Likewise.
18720 * conf/i386-pc.rmk: Likewise.
18721 * conf/sparc64-ieee1275.rmk: Likewise.
18722 * conf/powerpc-ieee1275.rmk: Likewise.
18723 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18724
18725 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18726
60b6be74 187272008-02-01 Robert Millan <rmh@aybabtu.com>
18728
18729 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18730 call at beginning of function.
18731
078522ab 187322008-01-31 Pavel Roskin <proski@gnu.org>
18733
18734 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 18735 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18736 (grub_mkrescue_SOURCES): Likewise.
078522ab 18737 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18738
ccaa8a5f 187392008-01-30 Robert Millan <rmh@aybabtu.com>
18740
18741 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18742 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18743 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18744 (grub_probe_SOURCES): ... to here.
18745
18746 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18747 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18748 * conf/i386-ieee1275.rmk: Likewise.
18749 * conf/i386-linuxbios.rmk: Likewise.
18750 * conf/powerpc-ieee1275.rmk: Likewise.
18751
ae5a9cd7 187522008-01-30 Tristan Gingold <gingold@free.fr>
18753
18754 * kern/rescue.c: Silently accept empty lines.
18755
70bc2ef2 187562008-01-29 Bean <bean123ch@gmail.com>
18757
18758 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18759 (real_code_2): Code cleanup and change comment style.
18760 (move_memory): Avoid using 32-bit address mode.
18761
6a4d50ea 187622008-01-29 Bean <bean123ch@gmail.com>
18763
18764 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18765 (png_mod_SOURCES): New variable.
18766 (png_mod_CFLAGS): Likewise.
18767 (png_mod_LDFLAGS): Likewise.
18768
18769 * video/readers/png.c: New file.
18770
11cc30ac 187712008-01-28 Robert Millan <rmh@aybabtu.com>
18772
18773 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
18774 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
18775 `ifndef GRUB_MOD_GAP' hack.
18776 * util/elf/grub-mkimage.c (add_segments): Likewise.
18777
3abc589f 187782008-01-27 Robert Millan <rmh@aybabtu.com>
18779
18780 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
18781 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 18782 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 18783
e1907778 187842008-01-27 Robert Millan <rmh@aybabtu.com>
18785
18786 Get grub-emu to build again (including parallel builds).
18787
18788 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
18789 Split into ...
18790 (util/grub-emu.c_DEPENDENCIES): ... this, ...
18791 (normal/execute.c_DEPENDENCIES): ... this, ...
18792 (grub-emu_DEPENDENCIES): ... and this.
18793
18794 * conf/i386-efi.rmk: Likewise.
18795 * conf/i386-linuxbios.rmk: Likewise.
18796 * conf/i386-ieee1275.rmk: Likewise.
18797 * conf/powerpc-ieee1275.rmk: Likewise.
18798 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
18799
2216b101 188002008-01-27 Robert Millan <rmh@aybabtu.com>
18801
18802 * NEWS: Add a few items.
18803
f75172d9 188042008-01-27 Robert Millan <rmh@aybabtu.com>
18805
18806 Fix parallel builds with grub-emu. Based on earlier commit for
18807 grub-probe and grub-setup.
18808
18809 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18810 (util/grub-emu.c_DEPENDENCIES): ... this.
18811 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18812 (util/grub-emu.c_DEPENDENCIES): ... this.
18813 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18814 (util/grub-emu.c_DEPENDENCIES): ... this.
18815 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18816 (util/grub-emu.c_DEPENDENCIES): ... this.
18817 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18818 (util/grub-emu.c_DEPENDENCIES): ... this.
18819
3f51de77 188202008-01-27 Pavel Roskin <proski@gnu.org>
18821
18822 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
18823 to create a gap between _end and the modules added to the image
18824 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
18825 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
18826 * util/elf/grub-mkimage.c (add_segments): Likewise.
18827
2033f53e 188282008-01-26 Pavel Roskin <proski@gnu.org>
18829
18830 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
18831 just return an error.
18832
22da1f6f 188332008-01-26 Bean <bean123ch@gmail.com>
18834
18835 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
18836 (grub_reiserfs_get_item): Save offset of the next item.
18837 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
18838
2a9525e6 188392008-01-25 Robert Millan <rmh@aybabtu.com>
18840
18841 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
18842 make all filesystem sources appear together (possibly fixing omissions
18843 while at it).
18844 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18845 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18846 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18848
18849 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
18850 add `kern/file.c'.
18851 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
18852 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18853 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
18854 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18855
18856 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
18857 (probe): Add a sanity check to make sure of our ability to read
18858 requested files when probing for filesystem type.
18859
18860 * genmk.rb: Update copyright year (2007).
18861
18862 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
18863 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
18864 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
18865 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
18866 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
18867 : Remove function prototypes.
18868
b95f71b5 188692008-01-25 Robert Millan <rmh@aybabtu.com>
18870
18871 Revert my previous commits (based on wrong assumption of how grub_errno
18872 works).
18873
fe6b695a 18874 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 18875 * kern/file.c (grub_file_open): Likewise.
18876
d08bbb49 188772008-01-24 Pavel Roskin <proski@gnu.org>
18878
18879 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
18880 that hang if GRUB tries to setup colors.
18881 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
18882 colors for firmwares that don't support it.
18883 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
18884 Recognize Open Hack'Ware, set flags to work around its
18885 limitations.
18886
605e36ed 188872008-01-24 Robert Millan <rmh@aybabtu.com>
18888
18889 * kern/file.c (grub_file_open): Do not account previous failures of
18890 unrelated functions when grub_errno is checked for.
18891 Reported by Oleg Strikov.
18892
bac332a1 188932008-01-24 Bean <bean123ch@gmail.com>
18894
18895 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
18896 (grub_ufs_sblock): New member volume name.
18897 (grub_ufs_find_file): Fix string copy bug.
18898 (grub_ufs_label): Implement this function properly.
18899
18900 * fs/hfs.c (grub_hfs_cnid_type): New enum.
18901 (grub_hfs_iterate_records): Use the correct file number for extents
18902 and catalog file. Fix problem in next index calculation.
18903 (grub_hfs_find_node): Replace recursive function call with loop.
18904 (grub_hfs_iterate_dir): Replace recursive function call with loop.
18905
15c80c09 189062008-01-23 Robert Millan <rmh@aybabtu.com>
18907
18908 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
18909 `<grub/symbol.h>' and `<grub/multiboot.h>'.
18910 (grub_multiboot2_real_boot): New function prototype.
18911
18912 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
18913 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
18914
18915 * kern/i386/ieee1275/init.c (grub_os_area_addr)
18916 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
18917
305338fd 189182008-01-23 Robert Millan <rmh@aybabtu.com>
18919
18920 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
18921 #ifdef'ed out grub_printf().
18922
3ea52685 189232008-01-23 Robert Millan <rmh@aybabtu.com>
18924
18925 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
18926 grub_dprintf calls, since they make "debug=all" mode unusable.
18927 (grub_console_checkkey): Likewise.
18928
5882ae4b 189292008-01-23 Robert Millan <rmh@aybabtu.com>
18930
18931 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18932 `term/i386/pc/at_keyboard.c'.
18933 (pkglib_MODULES): Add `serial.mod'.
18934 (serial_mod_SOURCES): New variable.
18935 (serial_mod_CFLAGS): Likewise.
18936 (serial_mod_LDFLAGS): Likewise.
18937
18938 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
18939 `<grub/powerpc/ieee1275/console.h>'.
18940 (grub_keyboard_controller_init): New function prototype.
18941 (grub_console_checkkey): Likewise.
18942 (grub_console_getkey): Likewise.
18943
18944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
18945 keyboard on i386.
18946
18947 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
18948 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
18949
06ab5303 189502008-01-23 Robert Millan <rmh@aybabtu.com>
18951
18952 * kern/i386/pc/init.c (make_install_device): When memdisk image is
18953 present, "(memdisk)/boot/grub" becomes the default prefix.
18954
18955 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
18956 a memdisk tarball with all the modules. Add --overlay=DIR option that
18957 allows users to overlay additional files into the image.
18958
dbb475a4 189592008-01-23 Robert Millan <rmh@aybabtu.com>
18960
18961 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
18962 and `machine/memory.h'.
18963 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
18964 (_multiboot_mod_SOURCES): New variable.
18965 (_multiboot_mod_CFLAGS): Likewise.
18966 (_multiboot_mod_LDFLAGS): Likewise.
18967 (multiboot_mod_SOURCES): Likewise.
18968 (multiboot_mod_CFLAGS): Likewise.
18969 (multiboot_mod_LDFLAGS): Likewise.
18970
18971 * include/grub/i386/ieee1275/loader.h: New file.
18972
18973 * include/grub/i386/ieee1275/machine.h: Likewise.
18974
18975 * include/grub/i386/ieee1275/memory.h: Likewise.
18976
18977 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
18978 variable declaration.
18979 (grub_os_area_size): Likewise.
18980
18981 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
18982 (grub_lower_mem, grub_upper_mem): New variables.
18983 (grub_stop_floppy): New function (just to make
18984 grub_multiboot2_real_boot() happy).
18985
18986 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
18987 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
18988 (grub_stop): New function.
18989 Include `"../realmode.S"' and `"../loader.S"'.
18990
18991 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
18992 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
18993
18994 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
18995 rely on grub_multiboot2_real_boot() for final boot.
18996
25638629 189972008-01-22 Robert Millan <rmh@aybabtu.com>
18998
18999 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19000 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19001 device that doesn't look like an SD card.
19002 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19003 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19004 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19005 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19006 found.
19007
9dad816d 190082008-01-22 Robert Millan <rmh@aybabtu.com>
19009
19010 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19011 avoid claiming over our own code.
19012
34842f2d 190132008-01-22 Bean <bean123ch@gmail.com>
19014
19015 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19016 (jpeg_mod_SOURCES): New variable.
19017 (jpeg_mod_CFLAGS): Likewise.
19018 (jpeg_mod_LDFLAGS): Likewise.
19019
19020 * video/readers/jpeg.c : New file.
19021
44023a28 190222008-01-22 Bean <bean123ch@gmail.com>
19023
19024 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19025 there are no more items.
19026
bc2d8ac6 190272008-01-21 Robert Millan <rmh@aybabtu.com>
19028
19029 * kern/mm.c (grub_mm_init_region): Improve debug message.
19030
261bd4bc 190312008-01-21 Robert Millan <rmh@aybabtu.com>
19032
19033 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19034 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19035 address.
19036 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19037 a C macro.
19038 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19039 Indicates start of upper memory.
19040 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19041 (generate_image): Abort when image size is big enough to corrupt
19042 upper memory.
19043
19044 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19045 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19046 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19047 instead of hardcoding 0xA0000.
19048 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19049 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19050 instead of hardcoding 0xA0000.
19051
f970b55e 190522008-01-21 Robert Millan <rmh@aybabtu.com>
19053
19054 * disk/memdisk.c (memdisk_size): New variable.
19055 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19056 `memdisk_size'.
19057 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19058 image to dynamic memory.
19059 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19060 `memdisk_size'. Free memdisk block.
19061
1a8b0526 190622008-01-21 Robert Millan <rmh@aybabtu.com>
19063
19064 Fix detection of very small filesystems (like tar).
19065
19066 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19067 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19068 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19069 a problem with this disk).
19070
6e9b4aab 190712008-01-21 Robert Millan <rmh@aybabtu.com>
19072
19073 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19074 on grub_biosdisk_rw_standard() error.
19075
0d8837b2 190762008-01-21 Robert Millan <rmh@aybabtu.com>
19077
19078 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19079 recent changes.
19080 * kern/elf.c: Likewise.
19081 * kern/ieee1275/ieee1275.c: Likewise.
19082 * kern/powerpc/ieee1275/openfw.c: Likewise.
19083 * term/ieee1275/ofconsole.c: Likewise.
19084
ffd36e34 190852008-01-21 Robert Millan <rmh@aybabtu.com>
19086
19087 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19088
3f0093d0 19089 * include/grub/kernel.h (grub_arch_memdisk_addr)
19090 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 19091
3f0093d0 19092 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19093 (grub_arch_memdisk_size): ... to here.
ffd36e34 19094
6c391b21 190952008-01-21 Robert Millan <rmh@aybabtu.com>
19096
19097 Mostly based on bugfix from Bean.
19098
19099 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19100 attribute with hook() parameter.
19101 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19102 declaration.
19103 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19104 attribute with hook() parameter.
19105 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19106 declaration.
19107
55a581dc 191082008-01-21 Robert Millan <rmh@aybabtu.com>
19109
19110 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19111 (pkglib_MODULES): Add `memdisk.mod'.
19112 (memdisk_mod_SOURCES): New variable.
19113 (memdisk_mod_CFLAGS): Likewise.
19114 (memdisk_mod_LDFLAGS): Likewise.
19115
19116 * disk/memdisk.c: New file.
19117
19118 * include/grub/disk.h (grub_disk_dev_id): Add
19119 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19120
19121 * include/grub/i386/pc/kernel.h
19122 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19123 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19124 (grub_kernel_image_size): New variable declaration.
19125 (grub_total_module_size): Likewise.
19126 (grub_memdisk_image_size): Likewise.
19127
19128 * include/grub/i386/pc/memory.h
19129 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
19130
19131 * include/grub/kernel.h: Include `<grub/symbol.h>'.
19132 (grub_arch_memdisk_addr): New variable declaration.
19133 (grub_arch_memdisk_size): Likewise.
19134
19135 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
19136 (grub_arch_memdisk_size): Likewise.
19137
19138 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
19139 (codestart): Replace hardcoded `0x100000' with
19140 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
19141
19142 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
19143 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
19144 not NULL, append the contents of the file it refers to, at the end of
19145 the compressed kernel image. Initialize `grub_memdisk_image_size'
19146 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
19147 (options): Add "memdisk"|'m' option.
19148 (main): Parse --memdisk|-m option, and pass user-provided path as
19149 parameter to generate_image().
19150
3d7f54c9 191512008-01-20 Robert Millan <rmh@aybabtu.com>
19152
19153 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
19154 grub_dprintf() calls from here ...
19155 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19156
0bf74728 191572008-01-20 Robert Millan <rmh@aybabtu.com>
19158
19159 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19160
19161 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19162 declaration.
19163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19164 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19165 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 19166 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 19167 property).
19168 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19169 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19170
33bf70a7 191712008-01-19 Robert Millan <rmh@aybabtu.com>
19172
fe6b695a 19173 Get rid of confusing function (superseded by
33bf70a7 19174 `grub_ieee1275_get_integer_property')
19175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19176 prototype.
19177 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19178 function.
19179 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19180 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 19181 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 19182
e2da7d26 191832008-01-19 Robert Millan <rmh@aybabtu.com>
19184
19185 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19186 command after "shut-down", since implementations differ on which
19187 the command for halt is.
19188
59f1fd8d 191892008-01-19 Robert Millan <rmh@aybabtu.com>
19190
19191 * include/grub/i386/linuxbios/console.h: Add header protection.
19192 (grub_keyboard_controller_init): New function prototype.
19193 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19194 (KEYBOARD_COMMAND_READ): Likewise.
19195 (KEYBOARD_COMMAND_WRITE): Likewise.
19196 (KEYBOARD_SCANCODE_SET1): Likewise.
19197 (grub_keyboard_controller_write): New function.
19198 (grub_keyboard_controller_read): Likewise.
19199 (grub_keyboard_controller_init): Likewise.
19200
19201 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19202 (grub_console_init): On coreboot/LinuxBIOS, call
19203 grub_keyboard_controller_init().
19204
5f5a7c15 192052008-01-19 Robert Millan <rmh@aybabtu.com>
19206
19207 PowerPC changes provided by Pavel Roskin.
19208
19209 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19210 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19211 don't rely on cmain() doing it.
19212 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19213 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19214
1210e168 192152008-01-16 Robert Millan <rmh@aybabtu.com>
19216
19217 * include/grub/i386/linuxbios/memory.h
19218 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19219 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19220 receive `table_header' as argument. Instead, probe for it in the
19221 known memory ranges where it can be present.
19222 (grub_available_iterate): Do not pass a fixed `table_header' address
19223 to grub_linuxbios_table_iterate().
19224
3d04eab8 192252008-01-15 Robert Millan <rmh@aybabtu.com>
19226
19227 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19228 * conf/i386-ieee1275.rmk: New file.
19229 * include/grub/i386/ieee1275/console.h: Likewise.
19230 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19231 * include/grub/i386/ieee1275/kernel.h: Likewise.
19232 * include/grub/i386/ieee1275/time.h: Likewise.
19233 * kern/i386/ieee1275/init.c: Likewise.
19234 * kern/i386/ieee1275/startup.S: Likewise.
19235
d1bc1b73 192362008-01-15 Robert Millan <rmh@aybabtu.com>
19237
19238 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19239 when pointers are 32-bit (but still do set it to one when they are
19240 64-bit).
19241
66a65807 192422008-01-15 Robert Millan <rmh@aybabtu.com>
19243
19244 * include/grub/ieee1275/ieee1275.h
19245 (grub_ieee1275_get_integer_property): New function prototype.
19246
19247 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19248 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 19249 grub_ieee1275_get_property() to handle endianness.
66a65807 19250
19251 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19252 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 19253 where appropriate.
66a65807 19254 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19255 (grub_map): Likewise.
19256 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19257
a83ccafd 192582008-01-15 Bean <bean123ch@gmail.com>
19259
19260 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19261 (grub_script_execute_cmdline): Reset grub_errno.
19262
19263 * normal/main.c (read_config_file): Reset grub_errno.
19264
19265 * normal/parse.y (script_init): New.
19266 (script): Move function and menuentry here.
19267 (delimiter): New.
19268 (command): Add delimiter at the end of command.
19269 (commands): Adjust to match the new command.
19270 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 19271 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 19272 (if): Use the new commands.
19273
19274 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19275
df6ecfc6 192762008-01-15 Robert Millan <rmh@aybabtu.com>
19277
19278 * normal/menu.c (run_menu): Move timeout message from here ...
19279 (print_timeout): ... to here.
19280 (run_menu): Use print_timeout() once during initial draw to print
19281 the whole message, and again in every clock tick to update only
19282 the number of seconds.
19283
87ae25eb 192842008-01-15 Robert Millan <rmh@aybabtu.com>
19285
19286 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19287 actual size of `available' from grub_ieee1275_get_property(), and
19288 restrict parsing to that bound.
19289
47bf09a4 192902008-01-15 Christian Franke <franke@computer.org>
19291
19292 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19293 (argp_program_version): Remove variable.
19294 (argp_program_bug_address): Likewise.
19295 (options): Convert from struct argp_option to struct option.
19296 (struct arguments): Remove.
19297 (parse_opt): Remove.
19298 (usage): New function.
19299 (main): Replace struct args members by simple variables.
19300 Replace argp_parse() by getopt_long().
19301 Add switch to evaluate options.
19302 Add missing "(...)" around root_dev in prefix string.
19303
c86f1469 193042008-01-14 Robert Millan <rmh@aybabtu.com>
19305
19306 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19307 for grub_ieee1275_exit(), in order to improve portability.
19308
e622c559 193092008-01-14 Robert Millan <rmh@aybabtu.com>
19310
19311 * util/grub.d/10_linux.in (prefix): Define.
19312 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
19313
44cb1ec8 193142008-01-13 Pavel Roskin <proski@gnu.org>
19315
19316 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
19317 grub_errno if no errors have been detected.
19318
1eb8c802 193192008-01-12 Robert Millan <rmh@aybabtu.com>
19320
19321 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
19322 (grub_util_get_dev_abstraction): New function prototype.
19323
19324 * util/getroot.c: Include `<grub/util/getroot.h>'
19325 (grub_util_get_grub_dev): Move detection of abstraction type to ...
19326 (grub_util_get_dev_abstraction): ... here (new function).
19327
19328 * util/grub-probe.c: Convert PRINT_* to an enum. Add
19329 `PRINT_ABSTRACTION'.
19330 (probe): Probe for abstraction type when requested.
19331 (main): Understand `--target=abstraction'.
19332
19333 * util/i386/efi/grub-install.in: Add abstraction module to core
19334 image when it is found to be necessary.
19335 * util/i386/pc/grub-install.in: Likewise.
19336 * util/powerpc/ieee1275/grub-install.in: Likewise.
19337
19338 * util/update-grub_lib.in (font_path): Return system path without
19339 converting to GRUB path.
19340 * util/update-grub.in: Convert system path returned by font_path()
19341 to a GRUB path. Use `grub-probe -t abstraction' to determine what
19342 abstraction module is needed for loading fonts (if any). Export
19343 that as `GRUB_PRELOAD_MODULES'.
19344 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
19345 insmod commands).
19346
52bd3de9 193472008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
19348
19349 Remove some unused code from reiserfs.
f19dbdb7 19350
52bd3de9 19351 * fs/reiserfs.c (struct grub_reiserfs_key)
19352 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
19353 (struct grub_reiserfs_node_body): Removed.
19354 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19355 Likewise.
19356 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19357 Likewise.
19358 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19359 Likewise.
19360 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19361 Likewise.
19362 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19363 Likewise.
19364 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
19365 Likewise.
19366 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19367 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19368 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19369
2f80039d 193702008-01-10 Robert Millan <rmh@aybabtu.com>
19371
19372 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
19373 Determines if a file is garbage left by packaging systems, etc.
19374 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
19375 for processing /etc/grub.d scripts.
19376 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
19377 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
19378 as a condition for processing Linux images.
19379
87888032 193802008-01-10 Pavel Roskin <proski@gnu.org>
19381
19382 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
19383 to compile reiserfs.c on PowerPC.
19384
7e54fced 193852008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 19386
19387 * kern/device.c (grub_device_iterate): Do not abort device iteration
19388 when one of the devices cannot be opened.
19389 * kern/disk.c (grub_disk_open): Do not account previous failures of
19390 unrelated functions when grub_errno is checked for.
19391
5aa541e6 193922008-01-08 Robert Millan <rmh@aybabtu.com>
19393
19394 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
19395 `! grub_linux_is_bzimage', change order of address comparison to make
19396 it more intuitive, and improve "too big zImage" error message.
19397
7076340d 193982008-01-08 Robert Millan <rmh@aybabtu.com>
19399
19400 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
19401 `$(update-grub_DATA)'.
19402 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
19403 targets.
19404
9ca70333 194052008-01-07 Robert Millan <rmh@aybabtu.com>
19406
19407 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
19408 which instruction is modified by grub-setup during installation
19409 (since it wasn't obvious by only looking at this file).
19410
38ccf575 194112008-01-07 Robert Millan <rmh@aybabtu.com>
19412
19413 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
19414 listing actual TODO items.
19415
f5db4291 194162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19417
868967cf 19418 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
19419 correctly.
19420 (grub_reiserfs_get_key_offset): Likewise.
19421 (grub_reiserfs_set_key_offset): Likewise.
19422 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 19423 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 19424
19425 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
19426 better to remove the bitfield version completely.
f19dbdb7 19427
868967cf 194282008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19429
f5db4291 19430 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
19431 allocated from the heap, due to the fshelp implementation.
19432 (grub_reiserfs_dir): Free NODE, due to the same reason.
19433
492e6d9d 194342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19435
19436 Mostly from Vincent Pelletier:
f19dbdb7 19437
492e6d9d 19438 * fs/reiserfs.c: New file.
f19dbdb7 19439
492e6d9d 19440 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
19441 (reiserfs_mod_SOURCES): New variable.
19442 (reiserfs_mod_CFLAGS): Likewise.
19443 (reiserfs_mod_LDFLAGS): Likewise.
19444
19445 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
19446 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
19447 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
19448 normal/color.c.
19449
9ce3e7c1 194502008-01-06 Robert Millan <rmh@aybabtu.com>
19451
19452 * normal/color.c: Remove `<grub/env.h>'.
19453
f3b58148 194542008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
19455
19456 * include/grub/normal.h: Include <grub/env.h>.
19457
7ac3bcfa 194582008-01-05 Robert Millan <rmh@aybabtu.com>
19459
19460 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
19461 usage example with `(hd0,1)'.
fb358190 19462 Reported by Samuel Thibault.
7ac3bcfa 19463
c8ee99d7 194642008-01-05 Robert Millan <rmh@aybabtu.com>
19465
19466 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
19467 (grub_linux_boot_zimage): Rename to ...
19468 (grub_linux_boot): ... this.
19469 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
19470 (grub_linux_boot_zimage): Conditionalize zImage copy.
19471
19472 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
19473 (grub_linux_boot_bzimage): Remove prototype.
19474 (grub_linux_boot_zimage): Rename to ...
19475 (grub_linux_boot): ... this.
19476
19477 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
19478 (grub_linux_boot): Remove function.
19479
0ece25b1 194802008-01-05 Robert Millan <rmh@aybabtu.com>
19481
19482 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
19483 (grub_env_write_color_highlight): Likewise.
19484 (grub_wait_after_message): Likewise.
19485
19486 * normal/color.c: New file.
19487
19488 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19489 (normal_mod_DEPENDENCIES): Likewise.
19490
19491 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19492 (normal_mod_DEPENDENCIES): Likewise.
19493
19494 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19495 (normal_mod_DEPENDENCIES): Likewise.
19496
19497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19498 (normal_mod_DEPENDENCIES): Likewise.
19499
19500 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
19501 for waiting after a message is printed.
19502 * normal/main.c (read_config_file): Likewise.
19503 (grub_normal_init): Register grub_env_write_color_normal() and
19504 grub_env_write_color_highlight() hooks. Mark `color_normal' and
19505 `color_highlight' variables as global.
19506
19507 * normal/menu.c (grub_wait_after_message): New function.
19508 (grub_color_menu_normal): New variable. Replaces ...
19509 (GRUB_COLOR_MENU_NORMAL): ... this macro.
19510 (grub_color_menu_highlight): New variable. Replaces ...
19511 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
19512 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
19513 `GRUB_TERM_COLOR_STANDARD'.
19514 (print_message): Use `grub_setcolorstate' to reload colors. Rename
19515 `normal_code' and `highlight_code' to `old_color_normal' and
19516 `old_color_highlight', respectively.
19517 (grub_menu_init_page): Update colors when drawing the menu, based on
19518 `menu_color_normal' and `menu_color_highlight' variables.
19519 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
19520 a message is printed.
19521
182dd4e5 195222008-01-05 Robert Millan <rmh@aybabtu.com>
19523
19524 * kern/env.c (grub_env_context_open): Propagate hooks for global
19525 variables to new context.
19526
19527 * kern/main.c (grub_set_root_dev): Export `root' variable.
19528
ddf8f6ad 195292008-01-05 Robert Millan <rmh@aybabtu.com>
19530
19531 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 19532 discs unconditionally, since udev and others have options to provide
ddf8f6ad 19533 them.
19534
d8b43d9b 195352008-01-05 Robert Millan <rmh@aybabtu.com>
19536
19537 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19538
2bff2de3 195392008-01-04 Christian Franke <franke@computer.org>
19540
19541 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19542 of eisa_mmap.
19543
97eab917 195442008-01-03 Pavel Roskin <proski@gnu.org>
19545
19546 * kern/i386/linuxbios/init.c: Put "void" to all function
19547 declarations with no arguments.
19548 * kern/powerpc/ieee1275/init.c: Likewise.
19549 * term/i386/pc/at_keyboard.c: Likewise.
19550 * term/i386/pc/vga_text.c: Likewise.
19551 * util/grub-mkdevicemap.c: Likewise.
19552
b9416d00 195532008-01-02 Robert Millan <rmh@aybabtu.com>
19554
19555 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19556 message when loaded image is out of bounds.
19557 (grub_multiboot_load_elf64): Likewise.
19558
92695df9 195592008-01-02 Pavel Roskin <proski@gnu.org>
19560
19561 * util/grub.d/10_linux.in: Try version without ".old" when
19562 looking for initrd. It's better to use initrd from the newer
19563 kernel of the same version than no initrd at all.
19564
d98d9cad 195652008-01-01 Robert Millan <rmh@aybabtu.com>
19566
19567 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19568
dbfdce36 195692008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19570
f19dbdb7 19571 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 19572 grub_video_get_active_render_target.
19573 (grub_video_adapter): Added unmap_color and get_active_render_target.
19574
f19dbdb7 19575 * video/video.c: Added grub_video_unmap_color and
dbfdce36 19576 grub_video_get_active_render_target.
19577 (grub_video_get_info): Changed method to accept NULL pointer as an
19578 argument to allow detection of active video adapter.
19579
19580 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19581 grub_video_vbe_unmap_color_int.
19582 Added grub_video_vbe_unmap_color and
19583 grub_video_vbe_get_active_render_target.
19584 (grub_video_vbe_adapter): Added unmap_color and
19585 get_active_render_target.
19586
f19dbdb7 19587 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 19588 with grub_video_vbe_unmap_color_int.
19589
19590 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19591 (DEFAULT_NORMAL_COLOR): Likewise.
19592 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19593 (DEFAULT_FG_COLOR): Removed.
19594 (DEFAULT_BG_COLOR): Likewise.
19595 (DEFAULT_CURSOR_COLOR): Changed value.
19596 (grub_virtual_screen): Added standard_color_setting,
19597 normal_color_setting, highlight_color_setting and term_color.
19598 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19599 (bitmap_width): Added.
19600 (bitmap_height): Likewise.
19601 (bitmap): Likewise.
19602 (set_term_color): Likewise.
19603 (grub_virtual_screen_setup): Changed to use new terminal coloring
19604 settings.
19605 (grub_gfxterm_init): Added init for bitmap.
19606 (grub_gfxterm_fini): Added destroy for bitmap.
19607 (redraw_screen_rect): Updated to use background bitmap and new
19608 terminal coloring.
19609 (scroll_up): Added optimization for case when there is no bitmap.
19610 (grub_gfxterm_cls): Fixed to use correct background color.
19611 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19612 coloring.
19613 (grub_virtual_screen_setcolor): Likewise.
19614 (grub_virtual_screen_getcolor): Added.
19615 (grub_gfxterm_background_image_cmd): Likewise.
19616 (grub_video_term): Added setcolor and getcolor.
19617 (MOD_INIT): Added registration of background_image command.
19618 (MOD_TERM): Added unregistration for background_image command.
19619
c3c20931 196202007-12-30 Pavel Roskin <proski@gnu.org>
19621
19622 * loader/multiboot_loader.c: Fix multiboot command
19623 unregistration. Fix all typos in the word "multiboot".
19624
df266716 196252007-12-29 Pavel Roskin <proski@gnu.org>
94239199 19626
19627 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19628 support for initrd names used in Fedora.
19629
fc6e896c 196302007-12-26 Bean <bean123ch@gmail.com>
19631
19632 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19633 (cpio_mod_SOURCES): New variable.
19634 (cpio_mod_CFLAGS): Likewise.
19635 (cpio_mod_LDFLAGS): Likewise.
19636
19637 * fs/cpio.c: New file.
19638
19639 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19640
19641 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19642
19643 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19644
19645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19646
533110ad 196472007-12-25 Robert Millan <rmh@aybabtu.com>
19648
19649 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19650 (grub_getcolor): New function.
19651
19652 * kern/term.c (grub_getcolor): New function.
19653 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19654 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19655 (print_entry): Set normal and highlight colors to
19656 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19657 respectively, before printing and restore them to old
19658 values afterwards.
19659 (grub_menu_init_page): Likewise. Fill an additional colored space
19660 that would otherwise be left blank.
19661
19662 * term/efi/console.c (grub_console_getcolor): New function.
19663 (struct grub_console_term.getcolor): New variable.
19664 * term/i386/pc/console.c (grub_console_getcolor): New function.
19665 (struct grub_console_term.getcolor): New variable.
19666 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19667 (struct grub_console_term.getcolor): New variable.
19668
19669 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19670 (struct grub_console_term.setcolor): Remove variable.
19671 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19672 (struct grub_console_term.setcolor): Remove variable.
19673 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19674 (struct grub_console_term.setcolor): Remove variable.
19675 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19676 (struct grub_console_term.setcolor): Remove variable.
19677
4931827f 196782007-12-25 Robert Millan <rmh@aybabtu.com>
19679
19680 * configure.ac: Search for possible unifont.hex locations, and
19681 define UNIFONT_HEX if found.
19682
19683 * Makefile.in (UNIFONT_HEX): Define variable.
19684 (DATA): Rename to ...
19685 (PKGLIB): ... this. Update all users.
19686 (PKGDATA): New variable.
19687 (pkgdata_IMAGES): Rename to ...
19688 (pkglib_IMAGES): ... this. Update all users.
19689 (pkgdata_MODULES): Rename to ...
19690 (pkglib_MODULES): ... this. Update all users.
19691 (pkgdata_PROGRAMS): Rename to ...
19692 (pkglib_PROGRAMS): ... this. Update all users.
19693 (pkgdata_DATA): Rename to ...
19694 (pkglib_DATA): ... this. Update all users.
19695 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19696 (unicode.pff, ascii.pff): New rules.
19697 (all-local): Add `$(PKGDATA)' dependency.
19698 (install-local): Process `$(PKGDATA)'.
19699
19700 * util/update-grub_lib.in (font_path): Search for *.pff files in
19701 a few more locations, including `${pkgdata}'.
19702
57e57e31 197032007-12-23 Robert Millan <rmh@aybabtu.com>
19704
19705 Patch from Bean <bean123ch@gmail.com>:
19706 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19707 `size'.
19708
4bc72aa9 197092007-12-21 Bean <bean123ch@gmail.com>
19710
19711 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19712 (ntfscomp_mod_SOURCES): New variable.
19713 (ntfscomp_mod_CFLAGS): Likewise.
19714 (ntfscomp_mod_LDFLAGS): Likewise.
19715
19716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19717 (grub_probe_SOURCES): Likewise.
19718 (grub_emu_SOURCES): Likewise.
19719
19720 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19721 (grub_emu_SOURCES): Likewise.
19722
19723 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19724 (grub_emu_SOURCES): Likewise.
19725
19726 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19727 (grub_emu_SOURCES): Likewise.
19728
19729 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19730 (read_run_list): Renamed to grub_ntfs_read_run_list.
19731 (decomp_nextvcn): Moved to ntfscomp.c.
19732 (decomp_getch): Likewise.
19733 (decomp_get16): Likewise.
19734 (decomp_block): Likewise.
19735 (read_block): Likewise.
19736 (read_data): Partially moved to ntfscomp.c.
19737 (fixup): Change unsigned to grub_uint16_t.
19738 (read_mft): Change unsigned long to grub_uint32_t.
19739 (read_attr): Likewise.
19740 (read_data): Likewise.
19741 (read_run_data): Likewise.
19742 (read_run_list): Likewise.
19743 (read_mft): Likewise.
19744
19745 * fs/ntfscomp.c: New file.
19746
19747 * include/grub/ntfs.h: New file.
19748
af680a87 197492007-12-16 Robert Millan <rmh@aybabtu.com>
19750
19751 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19752 IDE disk check, since Linux is known to support 20 IDE disks.
19753 Reported by Colin Watson.
19754
84be7599 197552007-12-15 Bean <bean123ch@gmail.com>
19756
19757 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19758 (lnxboot_img_SOURCES): New variable.
19759 (lnxboot_img_ASFLAGS): Likewise.
19760 (lnxboot_img_LDFLAGS): Likewise.
19761
19762 * boot/i386/pc/lnxboot.S: New file.
19763
6af9db01 197642007-11-24 Pavel Roskin <proski@gnu.org>
19765
19766 * configure.ac: Test if '--build-id=none' is supported by the
19767 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19768 objcopy to generate incorrect binary files (binutils
19769 2.17.50.0.18-1 as shipped by Fedora 8).
19770 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19771 linking, so that build ID doesn't break the test.
19772
7361cfe6 197732007-11-24 Pavel Roskin <proski@gnu.org>
19774
19775 * include/grub/i386/time.h: use "void" in the argument list
19776 of grub_cpu_idle().
19777 * include/grub/powerpc/time.h: Likewise.
19778 * include/grub/sparc64/time.h: Likewise.
19779
1593e10c 197802007-11-18 Christian Franke <franke@computer.org>
19781
19782 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
19783 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
19784 This fixes the problem that function keys did not work in grub-emu.
19785
3b8db1a8 197862007-11-18 Christian Franke <franke@computer.org>
19787
19788 * disk/host.c (grub_host_open): Remove attribute unused from
19789 name parameter. Add check for "host". This fixes the problem
19790 that grub-emu does not find partitions.
19791
2e29408d 197922007-11-18 Christian Franke <franke@computer.org>
19793
19794 * util/hostfs.c (is_dir): New function.
19795 (grub_hostfs_dir): Handle missing dirent.d_type case.
19796 (grub_hostfs_read): Add missing fseek().
19797 (grub_hostfs_label): Clear label pointer. This fixes a crash
19798 of grub-emu on "ls (host)".
19799
398cd047 198002007-11-18 Christian Franke <franke@computer.org>
19801
19802 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
19803 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
19804 to 64 bit boundary by default.
19805
c405c391 198062007-11-18 Bean <bean123ch@gmail.com>
19807
19808 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
19809 (hexdump_mod_SOURCES): New variable.
19810 (hexdump_mod_CFLAGS): Likewise.
19811 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 19812
c405c391 19813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19814
19815 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19816
19817 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19818
19819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19820
19821 * include/grub/hexdump.h: New file.
19822
19823 * commands/hexdump.c: New file.
19824
5cced7fd 198252007-11-10 Robert Millan <rmh@aybabtu.com>
19826
19827 * commands/i386/pc/play.c (beep_off): Switch order of arguments
19828 in grub_outb() calls.
19829 (beep_on): Likewise.
19830
8b714eb0 198312007-11-10 Christian Franke <franke@computer.org>
19832
19833 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
19834 (grub_menu_run): Likewise.
19835
ce0f1839 198362007-11-10 Robert Millan <rmh@aybabtu.com>
19837
19838 * include/grub/i386/efi/machine.h: New file.
19839 * include/grub/i386/linuxbios/machine.h: Likewise.
19840 * include/grub/i386/pc/machine.h: Likewise.
19841 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19842 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19843
19844 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
19845 (serial_hw_io_addr): New variable.
19846 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
19847 instead of `(unsigned short *) 0x400'.
19848
270c237d 198492007-11-10 Bean <bean123ch@gmail.com>
19850
19851 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
19852
a87783bf 198532007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19854
19855 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
19856 (vga_mod_SOURCES): Added.
19857 (vga_mod_CFLAGS): Likewise.
19858 (vga_mod_LDFLAGS): Likewise.
19859
19860 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
19861 grub_outb() calls.
19862 (set_map_mask): Likewise.
19863 (set_read_map): Likewise.
19864 (set_read_address): Likewise.
19865 (vga_font): Removed variable.
19866 (get_vga_glyph): Removed function.
19867 (invalidate_char): Likewise.
19868 (write_char): Changed to use grub_font_get_glyph() for font
19869 information.
19870 (grub_vga_putchar): Likewise.
19871 (grub_vga_getcharwidth): Likewise.
19872
6433b448 198732007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19874
19875 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
19876 flags.
19877 (pxeboot_img_LDFLAGS): Likewise.
19878 (diskboot_img_LDFLAGS): Likewise.
19879 (kernel_img_LDFLAGS): Likewise.
19880
49178511 198812007-11-06 Robert Millan <rmh@aybabtu.com>
19882
19883 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
19884 in grub_outb() calls.
19885 (serial_hw_init): Likewise.
19886
53b052de 198872007-11-05 Robert Millan <rmh@aybabtu.com>
19888
19889 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
19890 spaces. Skip non-regular files.
19891
5ab33bba 198922007-11-05 Robert Millan <rmh@aybabtu.com>
19893
19894 * kern/disk.c (grub_disk_firmware_fini)
19895 (grub_disk_firmware_is_tainted): New variables.
19896
19897 * include/grub/disk.h (grub_disk_firmware_fini)
19898 (grub_disk_firmware_is_tainted): Likewise.
19899
19900 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
19901 (grub_disk_biosdisk_fini): ... to here.
19902 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
19903 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
19904 is set. Register grub_disk_biosdisk_fini() in
19905 `grub_disk_firmware_fini'.
19906
19907 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
19908 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
19909 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
19910 to finish existing firmware disk interface.
19911
19912 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
19913 (ata_mod_SOURCES): New variable.
19914 (ata_mod_CFLAGS): Likewise.
19915 (ata_mod_LDFLAGS): Likewise.
19916
0149ab7c 199172007-11-05 Robert Millan <rmh@aybabtu.com>
19918
19919 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
19920 (grub_ata_wait): Reimplement using grub_millisleep().
19921
19922 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
19923 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
19924
be7ac41e 199252007-11-03 Marco Gerards <marco@gnu.org>
19926
19927 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
19928 (CRTC_ADDR_PORT): New macro.
19929 (CRTC_DATA_PORT): Likewise.
19930 (CRTC_CURSOR): Likewise.
19931 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19932 (CRTC_CURSOR_ADDR_LOW): Likewise.
19933 (update_cursor): New function.
19934 (grub_console_real_putchar): Call `update_cursor'.
19935 (grub_console_gotoxy): Likewise.
19936 (grub_console_cls): Set the default color when clearing the
19937 screen.
19938 (grub_console_setcursor): Implemented.
19939
bb06ab2e 199402007-11-03 Marco Gerards <marco@gnu.org>
19941
19942 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
19943 become activate.
19944 (grub_ata_pio_write): Likewise.
19945
19946 (grub_atapi_identify): Wait after issuing an ATA command.
19947 (grub_atapi_packet): Likewise.
19948 (grub_ata_identify): Likewise.
19949 (grub_ata_readwrite): Likewise.
19950
cf8f780b 199512007-11-03 Marco Gerards <marco@gnu.org>
19952
19953 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
19954 (grub_ata_pio_write): Likewise.
19955 (grub_ata_readwrite): Use `grub_error', instead of
19956 returning `grub_errno'.
19957
ed649e54 199582007-11-03 Marco Gerards <marco@gnu.org>
19959
19960 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
19961 grub_ata_pio_write once for every single sector, instead of for
19962 multiple sectors.
19963
ca25d8f0 199642007-10-31 Robert Millan <rmh@aybabtu.com>
19965
19966 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
19967
19968 * conf/i386-linuxbios.rmk: New file.
19969
19970 * kern/i386/pc/hardware.c: Likewise.
19971 * term/i386/pc/at_keyboard.c: Likewise.
19972 * term/i386/pc/vga_text.c: Likewise.
19973
19974 * include/grub/i386/linuxbios/boot.h: Likewise.
19975 * include/grub/i386/linuxbios/console.h: Likewise.
19976 * include/grub/i386/linuxbios/init.h: Likewise.
19977 * include/grub/i386/linuxbios/kernel.h: Likewise.
19978 * include/grub/i386/linuxbios/loader.h: Likewise.
19979 * include/grub/i386/linuxbios/memory.h: Likewise.
19980 * include/grub/i386/linuxbios/serial.h: Likewise.
19981 * include/grub/i386/linuxbios/time.h: Likewise.
19982
19983 * kern/i386/linuxbios/init.c: Likewise.
19984 * kern/i386/linuxbios/startup.S: Likewise.
19985 * kern/i386/linuxbios/table.c: Likewise.
19986
e911ecc1 199872007-10-31 Marco Gerards <marco@gnu.org>
19988
19989 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
19990 (ata_mod_SOURCES): New variable.
19991 (ata_mod_CFLAGS): Likewise.
19992 (ata_mod_LDFLAGS): Likewise.
19993
19994 * disk/ata.c: New file.
19995
19996 * include/grub/disk.h (grub_disk_dev_id): Add
19997 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 19998
7f66d0e0 199992007-10-31 Robert Millan <rmh@aybabtu.com>
20000
20001 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20002 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20003
20004 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20005 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20006
20007 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20008 `<grub/types.h>'.
20009
20010 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20011
5cd7dd46 200122007-10-27 Robert Millan <rmh@aybabtu.com>
20013
3236ca65 20014 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 20015
2ebfc90f 200162007-10-22 Robert Millan <rmh@aybabtu.com>
20017
20018 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20019 `"../realmode.S"'.
20020 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20021
73fcb0f3 200222007-10-22 Robert Millan <rmh@aybabtu.com>
20023
20024 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20025 (pkgdata_MODULES): Add `biosdisk.mod'.
20026 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20027 variables.
20028
20029 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20030 (grub_biosdisk_init): Replace with ...
20031 (GRUB_MOD_INIT(biosdisk)): ... this.
20032 (grub_biosdisk_fini): Replace with ...
20033 (GRUB_MOD_FINI(biosdisk)): ... this.
20034
20035 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20036 (grub_machine_init): Remove call to grub_biosdisk_init().
20037 (grub_machine_fini): Remove call to grub_machine_fini().
20038
20039 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20040
3381d274 200412007-10-22 Robert Millan <rmh@aybabtu.com>
20042
20043 * include/grub/time.h: New file.
20044 * include/grub/i386/time.h: Likewise.
20045 * include/grub/powerpc/time.h: Likewise.
20046 * include/grub/sparc64/time.h: Likewise.
20047
20048 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20049 instances to ...
20050 (KERNEL_MACHINE_TIME_HEADER): ... this.
20051 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20052 instances to ...
20053 (KERNEL_MACHINE_TIME_HEADER): ... this.
20054 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20055 instances to ...
20056 (KERNEL_MACHINE_TIME_HEADER): ... this.
20057
20058 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20059 (grub_millisleep): New function.
20060 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20061 (grub_millisleep): New function.
20062 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20063 Remove `grub/machine/time.h' include.
20064 (grub_millisleep): New function.
20065 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20066 Remove `grub/machine/time.h' include.
20067 (grub_millisleep): New function.
20068
20069 * include/grub/misc.h (grub_div_roundup): New function.
20070
20071 * kern/misc.c: Include `<grub/time.h>'.
20072 (grub_millisleep_generic): New function.
20073
20074 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20075 Add `time.h'.
20076 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20077 Add `time.h'.
20078 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20079 `machine/time.h'. Add `time.h'.
20080 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20081
a39a0312 200822007-10-21 Robert Millan <rmh@aybabtu.com>
20083
20084 * include/grub/misc.h (grub_max): New function.
20085
2aad70e2 200862007-10-21 Robert Millan <rmh@aybabtu.com>
20087
20088 * util/misc.c (grub_util_info): Call fflush() before returning.
20089
54b71c4b 200902007-10-20 Robert Millan <rmh@aybabtu.com>
20091
20092 * genmk.rb (Image): Copy `extra_flags' from here ...
20093 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20094
20095 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20096 to `argc' and `args' arguments.
20097
a979f513 200982007-10-17 Robert Millan <rmh@aybabtu.com>
20099
20100 * kern/i386/loader.S: New file.
20101
20102 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20103 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20104 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20105 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20106 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20107 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20108 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20109 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20110 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20111 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20112 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20113 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20114 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20115 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20116
20117 * kern/i386/realmode.S: New file.
20118
20119 * kern/i386/pc/startup.S (protstack): Moved from here ...
20120 * kern/i386/realmode.S (protstack)... to here.
20121 * kern/i386/pc/startup.S (gdt): Moved from here ...
20122 * kern/i386/realmode.S (gdt)... to here.
20123 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20124 * kern/i386/realmode.S (prot_to_real)... to here.
20125
20126 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
20127 `kern/i386/realmode.S'.
20128
825fc8fd 201292007-10-17 Robert Millan <rmh@aybabtu.com>
20130
20131 * include/grub/i386/loader.h: New file.
20132
20133 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
20134 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20135 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20136 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20137 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
20138 * include/grub/i386/loader.h (grub_linux_prot_size)
20139 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20140 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20141 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20142 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
20143
20144 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
20145
e179b2f4 201462007-10-15 Robert Millan <rmh@aybabtu.com>
20147
20148 * normal/misc.c (grub_normal_print_device_info): Do not probe for
20149 filesystem when dev->disk is unset.
20150 Do probe for filesystem even when dev->disk->has_partitions is set.
20151 In case a filesystem is found, always report it.
20152 In case it isn't, if dev->disk->has_partitions is set, report that
20153 a partition table was found instead of reporting that no filesystem
20154 could be identified.
20155
5db82af6 201562007-10-12 Robert Millan <rmh@aybabtu.com>
20157
20158 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20159 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20160
68f6ac74 20161 * include/grub/types.h (grub_host_to_target16): New macro.
20162 (grub_host_to_target32): Likewise.
20163 (grub_host_to_target64): Likewise.
20164 (grub_target_to_host16): Likewise.
20165 (grub_target_to_host32): Likewise.
20166 (grub_target_to_host64): Likewise.
5db82af6 20167
20168 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20169 Renamed from to ...
20170 (GRUB_MOD_ALIGN): ...this. Update all users.
20171
68f6ac74 20172 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20173 grub_host_to_target32.
20174 Replace grub_be_to_cpu32 with grub_target_to_host32.
20175 (load_modules): Likewise.
20176 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20177 Replace grub_be_to_cpu32 with grub_target_to_host32.
20178 Replace grub_cpu_to_be16 with grub_host_to_target16.
20179 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 20180
3cf497cc 201812007-10-12 Robert Millan <rmh@aybabtu.com>
20182
20183 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20184 * util/elf/grub-mkimage.c: ... here.
20185
20186 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20187 `util/powerpc/ieee1275/grub-mkimage.c'.
20188
c8cc3692 201892007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 20190
c8cc3692 20191 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20192 and make it easier to figure out.
20193 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20194 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20195 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20196 leave us with less than HEAP_MIN_SIZE total heap.
20197 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 20198
5c58b791 201992007-10-03 Robert Millan <rmh@aybabtu.com>
20200
20201 * include/grub/i386/io.h: New file.
20202 * commands/i386/pc/play.c (inb): Removed.
20203 (outb): Removed.
20204 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20205 with grub_outb().
afcd2ef8 20206 * term/i386/pc/serial.c (inb): Removed.
20207 (outb): Removed.
20208 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20209 with grub_outb().
20210 * term/i386/pc/vga.c (inb): Removed.
20211 (outb): Removed.
20212 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20213 with grub_outb().
5c58b791 20214
1a477ed6 202152007-10-02 Robert Millan <rmh@aybabtu.com>
20216
20217 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20219 Reported by Marcin Kurek.
20220
6b5d80fa 202212007-09-07 Robert Millan <rmh@aybabtu.com>
20222
20223 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20224 SmartFirmware version updates (as released by Sven Luther), and avoid
20225 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20226 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20227 known broken.
20228
5618afbf 202292007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20230
20231 From Hitoshi Ozeki:
20232 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20233 when merging two regions.
20234
6139dcd9 202352007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20236
508e39ee 20237 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20238 * normal/completion.c (grub_normal_do_completion): Likewise.
20239 Reported by Hitoshi Ozeki.
20240
202412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20242
6139dcd9 20243 Do not use devices at boot in chainloading.
f19dbdb7 20244
6139dcd9 20245 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20246 (boot_part_addr): Likewise.
20247 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20248 with BOOT_DRIVE and BOOT_PART_ADDR.
20249 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20250 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20251
38da6516 202522007-08-29 Robert Millan <rmh@aybabtu.com>
20253
20254 Patch from Simon Peter <dn.tlp@gmx.net>:
20255 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20256 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20257 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20258 util/i386/pc/grub-setup.c_DEPENDENCIES.
20259 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20260 util/grub-probe.c_DEPENDENCIES.
20261 * conf/powerpc-ieee1275.rmk: Likewise.
20262
29d0928c 202632007-08-28 Robert Millan <rmh@aybabtu.com>
20264
20265 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20266 to tell grub-mkdevicemap how to name devices.
20267 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20268 feature).
20269
20270 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20271 util/i386/get_disk_name.c.
20272 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20273 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20274 util/ieee1275/get_disk_name.c.
20275
20276 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20277
20278 * DISTLIST: Add util/i386/get_disk_name.c and
20279 util/ieee1275/get_disk_name.c.
20280
20281 * util/grub-mkdevicemap.c: Replace device naming logic with
20282 grub_util_get_disk_name() calls.
20283
5a0d3cca 202842007-08-20 Robert Millan <rmh@aybabtu.com>
20285
20286 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20287 (so that it works for both plural and singular quantities).
20288
8b72db2f 202892007-08-05 Robert Millan <rmh@aybabtu.com>
20290
20291 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20292 so that [xz] isn't taken into account when determining order.
20293
352466bf 202942007-08-02 Marco Gerards <marco@gnu.org>
20295
20296 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20297 `include/multiboot2.h', `include/grub/elfload.h',
20298 `include/multiboot.h', `include/grub/multiboot.h',
20299 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20300 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20301 `kern/elf.c', `loader/multiboot_loader.c',
20302 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20303 `loader/i386/pc/multiboot2.c',
20304 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20305 `util/i386/pc/grub-mkrescue.in'. Remove
20306 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20307 `include/grub/i386/pc/util/biosdisk.h' and
20308 `include/grub/powerpc/ieee1275/multiboot.h'.
20309
8f096014 203102007-08-02 Bean <bean123ch@gmail.com>
20311
20312 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
20313 (ntfs_mod_SOURCES): New variable.
20314 (ntfs_mod_CFLAGS): Likewise.
20315 (ntfs_mod_LDFLAGS): Likewise.
20316
20317 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
20318 (grub_probe_SOURCES): Likewise.
20319 (grub_emu_SOURCES): Likewise.
20320
20321 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20322 (grub_emu_SOURCES): Likewise.
20323
20324 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20325 (grub_emu_SOURCES): Likewise.
f19dbdb7 20326
8f096014 20327 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
20328
20329 * fs/ntfs.c: New file.
20330
9959f7db 203312007-08-02 Bean <bean123ch@gmail.com>
20332
20333 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
20334
20335 * file.h (grub_file): Likewise.
20336
20337 * fshelp.h (grub_fshelp_read_file): Likewise.
20338
20339 * util/i386/pc/grub-setup.c (setup): Likewise.
20340 (save_first_sector): Likewise.
20341 (save_blocklists): Likewise.
f19dbdb7 20342
9959f7db 20343 * fs/affs.c (grub_affs_read_file): Likewise.
20344
20345 * fs/ext2.c (grub_ext2_read_file): Likewise.
20346
20347 * fs/fat.c (grub_fat_read_data): Likewise.
20348
20349 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
20350
20351 * fs/hfs.c (grub_hfs_read_file): Likewise.
20352
20353 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20354
20355 * fs/jfs.c (grub_jfs_read_file): Likewise.
20356
20357 * fs/minix.c (grub_minix_read_file): Likewise.
20358
20359 * fs/sfs.c (grub_sfs_read_file): Likewise.
20360
20361 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 20362
9959f7db 20363 * fs/xfs.c (grub_xfs_read_file): Likewise.
20364
20365 * command/blocklist.c (read_blocklist): Likewise.
20366 (print_blocklist): Likewise.
20367
0a203f83 203682007-08-02 Marco Gerards <marco@gnu.org>
20369
20370 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
20371 `util/hostfs.c'.
20372
20373 * disk/host.c: New file.
20374
20375 * util/hostfs.c: Likewise.
20376
20377 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
20378 return `GRUB_ERR_BAD_FS'.
20379 * fs/sfs.c (grub_sfs_mount): Likewise.
20380 * fs/xfs.c (grub_xfs_mount): Likewise.
20381
20382 * include/grub/disk.h (enum grub_disk_dev_id): Add
20383 `GRUB_DISK_DEVICE_HOST_ID'.
20384
20385 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
20386
e5dfe777 203872007-07-24 Jerone Young <jerone@gmail.com>
20388
f19dbdb7 20389 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 20390 modules for compilation.
20391 * conf/powerpc-ieee1275.rmk: Likewise.
20392
20393 * include/multiboot.h: Move multiboot definitions to one file. Rename
20394 many definitions to not get grub specific.
20395 * include/multiboot2.h: Create header with multiboot 2 definitions.
20396 * include/grub/multiboot.h: Header for grub specific function
20397 prototypes and definitions.
20398 * include/grub/multiboot2.h: Likewise.
20399 * include/grub/multiboot_loader.h: Likewise.
20400 * include/grub/i386/pc/multiboot.h: Removed.
20401 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
20402
20403 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
20404 and 2 to allow for one multiboot and module commands.
20405 * loader/multiboot2.c: Add multiboot2 functionality.
20406 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
20407 and definition names.
20408 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
20409 2 functions.
20410 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
20411 ieee1275 specific multiboot2 code.
20412
20413 * kern/i386/pc/startup.S: Change headers and definition names for
20414 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
20415
daf0f0ba 204162007-07-22 Robert Millan <rmh@aybabtu.com>
20417
20418 * geninitheader.sh: Process file specified in first parameter rather
20419 than hardcoding grub_modules_init.lst.
fe6b695a 20420 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 20421 than hardcoding grub_modules_init.h.
20422
20423 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
20424 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
20425 grub_probe_init.[ch] and grub_setup_init.[ch].
20426
20427 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
20428 grub_modules_init.h with grub_emu_init.h.
20429 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
20430 grub_probe_init.[ch] files.
20431 * conf/i386-efi.rmk: Likewise.
20432 * conf/i386-pc.rmk: Likewise.
20433 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
20434 grub_setup_init.[ch] files.
20435
20436 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
20437 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
20438 to initialize modules rather than a list of hardcoded functions.
20439 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
20440 grub_init_all() to initialize modules rather than a list of hardcoded
20441 functions.
20442
54cdc1cc 204432007-07-22 Robert Millan <rmh@aybabtu.com>
20444
20445 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20446 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
20447
ad0686cc 204482007-07-22 Robert Millan <rmh@aybabtu.com>
20449
20450 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20451 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
20452 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
20453 flag when running on SmartFirmware.
20454 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
20455 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
20456 was set.
20457
20458 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20459 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
20460 rather than decreasing it.
20461
20462 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
20463 there's not enough space to do it, fail in the same way as when it
20464 can't be done because there are no partitions.
20465
20466 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
20467 when nvsetenv failed.
20468
969c02ec 204692007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20470
20471 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
20472 because this rule is automatically generated.
20473 (grub-mkrescue): Removed for the same reason as above.
20474
5a79f472 204752007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20476
20477 Migrate to GNU General Public License Version 3.
f19dbdb7 20478
5a79f472 20479 * COPYING: Replaced with the plain text version of GPLv3.
20480
20481 * config.guess: Updated from gnulib.
20482 * config.sub: Likewise.
20483
20484 * geninit.sh: Output a GPLv3 copyright notice.
20485 * geninitheader.sh: Likewise.
20486 * genmodsrc.sh: Likewise.
20487 * gensymlist.sh.in: Likewise.
20488
20489 * boot/i386/pc/boot.S: Upgraded to GPLv3.
20490 * boot/i386/pc/diskboot.S: Likewise.
20491 * boot/i386/pc/pxeboot.S: Likewise.
20492 * commands/blocklist.c: Likewise.
20493 * commands/boot.c: Likewise.
20494 * commands/cat.c: Likewise.
20495 * commands/cmp.c: Likewise.
20496 * commands/configfile.c: Likewise.
20497 * commands/echo.c: Likewise.
20498 * commands/help.c: Likewise.
20499 * commands/ls.c: Likewise.
20500 * commands/search.c: Likewise.
20501 * commands/terminal.c: Likewise.
20502 * commands/test.c: Likewise.
20503 * commands/videotest.c: Likewise.
20504 * commands/i386/cpuid.c: Likewise.
20505 * commands/i386/pc/halt.c: Likewise.
20506 * commands/i386/pc/play.c: Likewise.
20507 * commands/i386/pc/reboot.c: Likewise.
20508 * commands/i386/pc/vbeinfo.c: Likewise.
20509 * commands/i386/pc/vbetest.c: Likewise.
20510 * commands/ieee1275/halt.c: Likewise.
20511 * commands/ieee1275/reboot.c: Likewise.
20512 * commands/ieee1275/suspend.c: Likewise.
20513 * disk/loopback.c: Likewise.
20514 * disk/lvm.c: Likewise.
20515 * disk/raid.c: Likewise.
20516 * disk/efi/efidisk.c: Likewise.
20517 * disk/i386/pc/biosdisk.c: Likewise.
20518 * disk/ieee1275/ofdisk.c: Likewise.
20519 * font/manager.c: Likewise.
20520 * fs/affs.c: Likewise.
20521 * fs/ext2.c: Likewise.
20522 * fs/fat.c: Likewise.
20523 * fs/fshelp.c: Likewise.
20524 * fs/hfs.c: Likewise.
20525 * fs/hfsplus.c: Likewise.
20526 * fs/iso9660.c: Likewise.
20527 * fs/jfs.c: Likewise.
20528 * fs/minix.c: Likewise.
20529 * fs/sfs.c: Likewise.
20530 * fs/ufs.c: Likewise.
20531 * fs/xfs.c: Likewise.
20532 * hello/hello.c: Likewise.
20533 * include/grub/acorn_filecore.h: Likewise.
20534 * include/grub/arg.h: Likewise.
20535 * include/grub/bitmap.h: Likewise.
20536 * include/grub/boot.h: Likewise.
20537 * include/grub/cache.h: Likewise.
20538 * include/grub/device.h: Likewise.
20539 * include/grub/disk.h: Likewise.
20540 * include/grub/dl.h: Likewise.
20541 * include/grub/elfload.h: Likewise.
20542 * include/grub/env.h: Likewise.
20543 * include/grub/err.h: Likewise.
20544 * include/grub/file.h: Likewise.
20545 * include/grub/font.h: Likewise.
20546 * include/grub/fs.h: Likewise.
20547 * include/grub/fshelp.h: Likewise.
20548 * include/grub/gzio.h: Likewise.
20549 * include/grub/hfs.h: Likewise.
20550 * include/grub/kernel.h: Likewise.
20551 * include/grub/loader.h: Likewise.
20552 * include/grub/lvm.h: Likewise.
20553 * include/grub/misc.h: Likewise.
20554 * include/grub/mm.h: Likewise.
20555 * include/grub/net.h: Likewise.
20556 * include/grub/normal.h: Likewise.
20557 * include/grub/parser.h: Likewise.
20558 * include/grub/partition.h: Likewise.
20559 * include/grub/pc_partition.h: Likewise.
20560 * include/grub/raid.h: Likewise.
20561 * include/grub/rescue.h: Likewise.
20562 * include/grub/script.h: Likewise.
20563 * include/grub/setjmp.h: Likewise.
20564 * include/grub/symbol.h: Likewise.
20565 * include/grub/term.h: Likewise.
20566 * include/grub/terminfo.h: Likewise.
20567 * include/grub/tparm.h: Likewise.
20568 * include/grub/types.h: Likewise.
20569 * include/grub/video.h: Likewise.
20570 * include/grub/efi/api.h: Likewise.
20571 * include/grub/efi/chainloader.h: Likewise.
20572 * include/grub/efi/console.h: Likewise.
20573 * include/grub/efi/console_control.h: Likewise.
20574 * include/grub/efi/disk.h: Likewise.
20575 * include/grub/efi/efi.h: Likewise.
20576 * include/grub/efi/pe32.h: Likewise.
20577 * include/grub/efi/time.h: Likewise.
20578 * include/grub/i386/linux.h: Likewise.
20579 * include/grub/i386/setjmp.h: Likewise.
20580 * include/grub/i386/types.h: Likewise.
20581 * include/grub/i386/efi/kernel.h: Likewise.
20582 * include/grub/i386/efi/loader.h: Likewise.
20583 * include/grub/i386/efi/time.h: Likewise.
20584 * include/grub/i386/pc/biosdisk.h: Likewise.
20585 * include/grub/i386/pc/boot.h: Likewise.
20586 * include/grub/i386/pc/chainloader.h: Likewise.
20587 * include/grub/i386/pc/console.h: Likewise.
20588 * include/grub/i386/pc/init.h: Likewise.
20589 * include/grub/i386/pc/kernel.h: Likewise.
20590 * include/grub/i386/pc/loader.h: Likewise.
20591 * include/grub/i386/pc/memory.h: Likewise.
20592 * include/grub/i386/pc/multiboot.h: Likewise.
20593 * include/grub/i386/pc/serial.h: Likewise.
20594 * include/grub/i386/pc/time.h: Likewise.
20595 * include/grub/i386/pc/vbe.h: Likewise.
20596 * include/grub/i386/pc/vbeblit.h: Likewise.
20597 * include/grub/i386/pc/vbefill.h: Likewise.
20598 * include/grub/i386/pc/vbeutil.h: Likewise.
20599 * include/grub/i386/pc/vga.h: Likewise.
20600 * include/grub/ieee1275/ieee1275.h: Likewise.
20601 * include/grub/ieee1275/ofdisk.h: Likewise.
20602 * include/grub/powerpc/libgcc.h: Likewise.
20603 * include/grub/powerpc/setjmp.h: Likewise.
20604 * include/grub/powerpc/types.h: Likewise.
20605 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20606 * include/grub/powerpc/ieee1275/console.h: Likewise.
20607 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20608 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20609 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20610 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20611 * include/grub/powerpc/ieee1275/time.h: Likewise.
20612 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20613 * include/grub/sparc64/libgcc.h: Likewise.
20614 * include/grub/sparc64/setjmp.h: Likewise.
20615 * include/grub/sparc64/types.h: Likewise.
20616 * include/grub/sparc64/ieee1275/console.h: Likewise.
20617 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20618 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20619 * include/grub/sparc64/ieee1275/time.h: Likewise.
20620 * include/grub/util/biosdisk.h: Likewise.
20621 * include/grub/util/getroot.h: Likewise.
20622 * include/grub/util/lvm.h: Likewise.
20623 * include/grub/util/misc.h: Likewise.
20624 * include/grub/util/raid.h: Likewise.
20625 * include/grub/util/resolve.h: Likewise.
20626 * io/gzio.c: Likewise.
20627 * kern/device.c: Likewise.
20628 * kern/disk.c: Likewise.
20629 * kern/dl.c: Likewise.
20630 * kern/elf.c: Likewise.
20631 * kern/env.c: Likewise.
20632 * kern/err.c: Likewise.
20633 * kern/file.c: Likewise.
20634 * kern/fs.c: Likewise.
20635 * kern/loader.c: Likewise.
20636 * kern/main.c: Likewise.
20637 * kern/misc.c: Likewise.
20638 * kern/mm.c: Likewise.
20639 * kern/parser.c: Likewise.
20640 * kern/partition.c: Likewise.
20641 * kern/rescue.c: Likewise.
20642 * kern/term.c: Likewise.
20643 * kern/efi/efi.c: Likewise.
20644 * kern/efi/init.c: Likewise.
20645 * kern/efi/mm.c: Likewise.
20646 * kern/i386/dl.c: Likewise.
20647 * kern/i386/efi/init.c: Likewise.
20648 * kern/i386/efi/startup.S: Likewise.
20649 * kern/i386/pc/init.c: Likewise.
20650 * kern/i386/pc/lzo1x.S: Likewise.
20651 * kern/i386/pc/startup.S: Likewise.
20652 * kern/ieee1275/ieee1275.c: Likewise.
20653 * kern/powerpc/cache.S: Likewise.
20654 * kern/powerpc/dl.c: Likewise.
20655 * kern/powerpc/ieee1275/cmain.c: Likewise.
20656 * kern/powerpc/ieee1275/crt0.S: Likewise.
20657 * kern/powerpc/ieee1275/init.c: Likewise.
20658 * kern/powerpc/ieee1275/openfw.c: Likewise.
20659 * kern/sparc64/cache.S: Likewise.
20660 * kern/sparc64/dl.c: Likewise.
20661 * kern/sparc64/ieee1275/init.c: Likewise.
20662 * kern/sparc64/ieee1275/openfw.c: Likewise.
20663 * loader/efi/chainloader.c: Likewise.
20664 * loader/efi/chainloader_normal.c: Likewise.
20665 * loader/i386/efi/linux.c: Likewise.
20666 * loader/i386/efi/linux_normal.c: Likewise.
20667 * loader/i386/pc/chainloader.c: Likewise.
20668 * loader/i386/pc/chainloader_normal.c: Likewise.
20669 * loader/i386/pc/linux.c: Likewise.
20670 * loader/i386/pc/linux_normal.c: Likewise.
20671 * loader/i386/pc/multiboot.c: Likewise.
20672 * loader/i386/pc/multiboot_normal.c: Likewise.
20673 * loader/powerpc/ieee1275/linux.c: Likewise.
20674 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20675 * normal/arg.c: Likewise.
20676 * normal/cmdline.c: Likewise.
20677 * normal/command.c: Likewise.
20678 * normal/completion.c: Likewise.
20679 * normal/execute.c: Likewise.
20680 * normal/function.c: Likewise.
20681 * normal/lexer.c: Likewise.
20682 * normal/main.c: Likewise.
20683 * normal/menu.c: Likewise.
20684 * normal/menu_entry.c: Likewise.
20685 * normal/misc.c: Likewise.
20686 * normal/parser.y: Likewise.
20687 * normal/script.c: Likewise.
20688 * normal/i386/setjmp.S: Likewise.
20689 * normal/powerpc/setjmp.S: Likewise.
20690 * normal/sparc64/setjmp.S: Likewise.
20691 * partmap/acorn.c: Likewise.
20692 * partmap/amiga.c: Likewise.
20693 * partmap/apple.c: Likewise.
20694 * partmap/gpt.c: Likewise.
20695 * partmap/pc.c: Likewise.
20696 * partmap/sun.c: Likewise.
20697 * term/gfxterm.c: Likewise.
20698 * term/terminfo.c: Likewise.
20699 * term/efi/console.c: Likewise.
20700 * term/i386/pc/console.c: Likewise.
20701 * term/i386/pc/serial.c: Likewise.
20702 * term/i386/pc/vesafb.c: Likewise.
20703 * term/i386/pc/vga.c: Likewise.
20704 * term/ieee1275/ofconsole.c: Likewise.
20705 * util/biosdisk.c: Likewise.
20706 * util/console.c: Likewise.
20707 * util/genmoddep.c: Likewise.
20708 * util/getroot.c: Likewise.
20709 * util/grub-emu.c: Likewise.
20710 * util/grub-mkdevicemap.c: Likewise.
20711 * util/grub-probe.c: Likewise.
20712 * util/lvm.c: Likewise.
20713 * util/misc.c: Likewise.
20714 * util/raid.c: Likewise.
20715 * util/resolve.c: Likewise.
20716 * util/update-grub.in: Likewise.
20717 * util/update-grub_lib.in: Likewise.
20718 * util/grub.d/00_header.in: Likewise.
20719 * util/grub.d/10_hurd.in: Likewise.
20720 * util/grub.d/10_linux.in: Likewise.
20721 * util/i386/efi/grub-install.in: Likewise.
20722 * util/i386/efi/grub-mkimage.c: Likewise.
20723 * util/i386/pc/grub-install.in: Likewise.
20724 * util/i386/pc/grub-mkimage.c: Likewise.
20725 * util/i386/pc/grub-mkrescue.in: Likewise.
20726 * util/i386/pc/grub-setup.c: Likewise.
20727 * util/i386/pc/misc.c: Likewise.
20728 * util/powerpc/ieee1275/grub-install.in: Likewise.
20729 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20730 * util/powerpc/ieee1275/misc.c: Likewise.
20731 * video/bitmap.c: Likewise.
20732 * video/video.c: Likewise.
20733 * video/i386/pc/vbe.c: Likewise.
20734 * video/i386/pc/vbeblit.c: Likewise.
20735 * video/i386/pc/vbefill.c: Likewise.
20736 * video/i386/pc/vbeutil.c: Likewise.
20737 * video/readers/tga.c: Likewise.
20738
3572d015 207392007-07-02 Robert Millan <rmh@aybabtu.com>
20740
20741 * conf/i386-efi.rmk: Replace obsolete reference to
20742 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20743 with util/getroot.c.
20744 * conf/powerpc-ieee1275.rmk: Likewise.
20745 * conf/sparc64-ieee1275.rmk: Likewise.
20746
20747 * util/grub-emu.c (main): Fix unchecked pointer handling.
20748
2c2a681b 207492007-07-02 Robert Millan <rmh@aybabtu.com>
20750
20751 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20752 invocation to fail, in order to support partition-less media.
20753
20754 * util/i386/pc/grub-install.in: Likewise.
20755
20756 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20757 which fs or partmap modules are needed (akin to its sister scripts).
20758
20759 Also use grub-probe to get rid of unportable /proc/mounts check.
20760
20761 Print the same informational message that the other scripts do, before
fe6b695a 20762 exiting.
2c2a681b 20763
6193defe 207642007-06-23 Robert Millan <rmh@aybabtu.com>
20765
fe6b695a 20766 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 20767 a font file can be found and, if so, echo the GRUB path to it.
20768
20769 * util/update-grub.in: Handle multiple terminals depending on user
20770 input, platform availability and font file presence. Propagate
20771 variables of our findings to /etc/grub.d/ children.
20772
20773 * util/grub.d/00_header.in: Handle multiple terminals, based on
20774 environment setup by update-grub.
20775
eface1dc 207762007-06-23 Robert Millan <rmh@aybabtu.com>
20777
ba50d28f 20778 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 20779
bf697e28 207802007-06-21 Robert Millan <rmh@aybabtu.com>
20781
20782 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
20783 indicate end of data section in kernel image.
20784 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
20785 GRUB_KERNEL_MACHINE_DATA_END.
20786
20787 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
20788 space for it.
20789 * kern/i386/efi/startup.S: Likewise.
20790
20791 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
20792 during image generation. Implement --prefix option to override this
20793 patch.
20794 * util/i386/efi/grub-mkimage.c: Likewise.
20795
20796 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
20797 code to make path relative to its root into a separate function.
20798
20799 * util/i386/pc/grub-install.in: Use newly provided
20800 make_system_path_relative_to_its_root() to convert ${grubdir}, then
20801 pass the result to grub-install --prefix.
20802
baa574b4 208032007-06-13 Robert Millan <rmh@aybabtu.com>
20804
20805 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
20806 DEFAULT_DEVICE_MAP.
20807 * util/grub-emu.c: Use above definitions from misc.h instead of
20808 defining them.
20809 * util/grub-mkdevicemap.c: Likewise.
20810 * util/i386/pc/grub-setup.c: Likewise.
20811 * util/grub-probe.c: Likewise.
20812 (probe): Abort with grub_util_error() when either
20813 grub_guess_root_device or grub_util_get_grub_dev fails.
20814
0215dcbf 208152007-06-12 Robert Millan <rmh@aybabtu.com>
20816
20817 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
20818 "pager" assignment.
20819 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
20820 "pcdata".
20821 * util/grub-probe.c (probe): Likewise for "drive_name".
20822
8af2ab7b 208232007-06-11 Robert Millan <rmh@aybabtu.com>
20824
20825 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
20826 not just the cdrom one.
20827
59d31694 208282007-06-11 Robert Millan <rmh@aybabtu.com>
20829
20830 * util/i386/pc/grub-mkrescue.in: Add "set -e".
20831 Add --pkglibdir=DIR option to override pkglibdir.
20832 Mention --image-type=TYPE in help output.
20833 Fix --grub-mkimage (it was a no-op).
fe6b695a 20834 Abort gracefully when no parameter is given.
59d31694 20835
7ee367e4 208362007-06-11 Robert Millan <rmh@aybabtu.com>
20837
20838 * util/i386/pc/grub-mkrescue.in: New file.
20839 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
20840 * Makefile.in: Handle bin_SCRIPTS.
20841
29b0ed46 208422007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
20843
20844 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
20845 list of video modes.
20846
c0f90770 208472007-06-06 Robert Millan <rmh@aybabtu.com>
20848
20849 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
20850 file doesn't exist, or if it is in a filesystem grub can't read.
20851
20852 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
20853 not abort if GRUB_DRIVE could not be defined. Rearrange generated
20854 header comment to fit in 80 columns when the variables are resolved.
20855
20856 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
20857 could be identified by update-grub. Remove redundant check for
fe6b695a 20858 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 20859 handles that).
20860
fb36dc26 208612007-06-04 Robert Millan <rmh@aybabtu.com>
20862
20863 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
20864
20865 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
20866
20867 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
20868
0c68c93e 208692007-06-04 Robert Millan <rmh@aybabtu.com>
20870
20871 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
20872
20873 * include/grub/partition.h: Declare grub_apple_partition_map_init and
20874 grub_apple_partition_map_fini.
20875
20876 * util/biosdisk.c
20877 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
20878 to access >2 TiB disks).
20879
20880 Print disk->total_sectors with %llu instead of %lu, since this
20881 variable is always 64-bit (prevents wrong disk size from being displayed
20882 on either >2 TiB disk or big-endian CPU).
20883
20884 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
20885 into a generic case that supports all (sane) partition maps.
20886
20887 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
20888 breaks big-endian.
20889
20890 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
20891 and grub_apple_partition_map_fini() after that.
20892
0f23eb74 208932007-06-01 Robert Millan <rmh@aybabtu.com>
20894
20895 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
20896
20897 * util/grub.d/00_header.in: Only enable gfxterm when
20898 convert_system_path_to_grub_path() succeeds.
20899
42c71976 209002007-05-20 Robert Millan <rmh@aybabtu.com>
20901
20902 * util/update-grub_lib.in: New file.
20903 * DISTLIST: Add update-grub_lib.in.
20904 * conf/common.rmk: Generate update-grub_lib and install it in
20905 $(lib_DATA).
20906 * Makefile.in: Add install routine for $(lib_DATA).
20907
20908 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
20909 function provided by update-grub_lib to support arbitrary paths of
20910 unifont.pff.
20911 * util/update-grub.in: Use convert_system_path_to_grub_path() to
20912 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
20913
5beb2291 209142007-05-19 Robert Millan <rmh@aybabtu.com>
20915
20916 * commands/i386/cpuid.c: New module.
20917 * DISTLIST: Add it.
20918 * conf/i386-efi.rmk: Enable cpuid.mod.
20919 * conf/i386-pc.rmk: Likewise.
20920
7262eca1 209212007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20922
20923 * kern/disk.c (grub_disk_read): Check return value of
20924 grub_realloc().
20925
260ba823 209262007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20927
20928 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
20929 arrays.
20930 * disk/raid.c (grub_raid_open): Likewise.
20931
1ecb6cf2 209322007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20933
20934 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
20935 stack instead of on the heap.
20936
20937 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
20938 before doing a read on it.
20939
20940 * configure.ac: Only use -fno-stack-protector for the target
20941 environment.
f19dbdb7 20942
21c8cbb1 209432007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20944
20945 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
20946 __attribute_ ((unused)) to mode_type argument.
20947
20948 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 20949
21c8cbb1 20950 * kern/misc.c (memcmp): Fix prototype.
20951
20952 * include/grub/partition.h [GRUB_UTIL]
20953 (grub_gpt_partition_map_init): Add prototype.
20954 (grub_gpt_partition_map_fini): Likewise.
20955
20956 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
20957 at the right place.
20958
20959 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
20960 (grub_fat_read_data): Likewise.
20961 (grub_fat_find_dir): Likewise.
20962
20963 * font/manager.c (find_glyph): Make table a const.
20964 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 20965
849d55d3 209662007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
20967
20968 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
20969 code, first search for device in /dev/mapper, then in /dev.
20970 (grub_util_get_grub_dev): New function.
20971 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
20972 prototype.
20973 * util/grub-probe.c (probe): Remove check for RAID, call
20974 grub_util_get_grub_dev() instead of
20975 grub_util_biosdisk_get_grub_dev().
20976 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
20977 grub_util_biosdisk_get_grub_dev().
20978 * util/i386/pc/grub-setup.c (main): Likewise.
20979
8fff7c2f 209802007-05-16 Robert Millan <rmh@aybabtu.com>
20981
20982 * DISTLIST: Update for the latest changes.
20983 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
20984 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
20985 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
20986 grub/util/biosdisk.h.
20987 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
20988 grub/util/biosdisk.h.
20989
48e12b52 209902007-05-16 Robert Millan <rmh@aybabtu.com>
20991
20992 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
20993
46b9d128 209942007-05-16 Robert Millan <rmh@aybabtu.com>
20995
20996 * util/i386/efi/grub-install.in: New.
20997 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
20998 newly added grub-install.
20999 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21000 include.
21001 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21002 grub/util/biosdisk.h.
21003 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21004 grub/util/biosdisk.h.
21005
2d1a40a9 210062007-05-16 Robert Millan <rmh@aybabtu.com>
21007
21008 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21009 * include/grub/util/biosdisk.h: ... here.
21010 * util/i386/pc/biosdisk.c: Moved to ...
21011 * util/biosdisk.c: ... here.
21012 * util/i386/pc/getroot.c: Moved to ...
21013 * util/getroot.c: ... here.
21014 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21015 * util/grub-mkdevicemap.c: ... here.
21016 * util/i386/pc/grub-probe.c: Moved to ...
21017 * util/grub-probe.c: ... here.
21018
9e26e3bc 210192007-05-15 Robert Millan <rmh@aybabtu.com>
21020
21021 * util/update-grub.in: Remove duplicated line in grub.cfg header
21022 message.
21023
57f96397 210242007-05-13 Robert Millan <rmh@aybabtu.com>
21025
21026 * util/update-grub.in: Fix a few assumptions about the devices holding
21027 /, /boot and /boot/grub being the same.
21028 * util/grub.d/00_header.in: Likewise.
21029 * util/grub.d/10_hurd.in: Likewise.
21030 * util/grub.d/10_linux.in: Likewise.
21031
21032 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21033 patterns. Use that to define the `.old' suffix as older than `'.
21034
21035 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21036
21037 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21038 the grub.cfg header message.
21039
2e610d62 210402007-05-11 Robert Millan <rmh@aybabtu.com>
21041
21042 * util/update-grub.in: Create device.map if it doesn't already exist,
21043 before attempting to run grub-probe.
21044 Check for grub-probe and grub-mkdevicemap with the same code
21045 grub-install is using.
21046 Remove test mode.
21047
3f6a10ef 210482007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21049
21050 * Makefile.in: Add the datarootdir autoconf variable.
21051
02e7b75e 210522007-05-09 Robert Millan <rmh@aybabtu.com>
21053
21054 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 21055 fail gracefully if dev->disk->partition == NULL.
02e7b75e 21056
75f396cc 210572007-05-07 Robert Millan <rmh@aybabtu.com>
21058
21059 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21060 determine partition map module.
21061 * util/i386/pc/grub-install.in: Use this feature to decide which
21062 partition module to load, instead of hardcoding pc and gpt.
21063
da65cb36 210642007-05-07 Robert Millan <rmh@aybabtu.com>
21065
21066 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21067 source directory differs from build directory.
21068
b57d6a91 210692007-05-05 Robert Millan <rmh@aybabtu.com>
21070
21071 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21072 initialisation.
21073
509d00f1 210742007-05-05 Robert Millan <rmh@aybabtu.com>
21075
21076 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21077
c48f23ef 210782007-05-05 Robert Millan <rmh@aybabtu.com>
21079
21080 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21081 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21082
20b97658 210832007-05-05 Robert Millan <rmh@aybabtu.com>
21084
21085 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21086 (grub_probe_SOURCES): Likewise.
21087 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21088 GPT and initialize dos_part and bsd_part accordingly.
21089 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21090 install_bsd_part.
21091 (main): Activate gpt module for use during partition identification,
21092 and deactivate it afterwards.
21093 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21094 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21095 partition identification, and deactivate it afterwards.
21096
99123174 210972007-05-05 Robert Millan <rmh@aybabtu.com>
21098
21099 * term/i386/pc/console.c (grub_console_fini): Call
21100 grub_term_set_current() before grub_term_unregister().
21101
ebd97f6e 211022007-05-04 Robert Millan <rmh@aybabtu.com>
21103
21104 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21105 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21106 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21107 and update-grub_DATA.
21108 * conf/common.rmk: Build and install update-grub components.
21109 * conf/common.mk: Regenerate.
21110 * util/update-grub.in: New. Core of update-grub.
21111 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21112 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21113 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21114 * util/grub.d/README: New. Document grub.d directory layout.
21115
b06a264d 211162007-05-01 Robert Millan <rmh@aybabtu.com>
21117
21118 * util/grub-emu.c: Move initialization functions
21119 grub_util_biosdisk_init() and grub_init_all() before
21120 grub_util_biosdisk_get_grub_dev(), which relies on them.
21121
41f0050e 211222007-04-19 Robert Millan <rmh@aybabtu.com>
21123
21124 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
21125 it is used later.
21126
04582bb3 211272007-04-18 Jerone Young <jerone@gmail.com>
21128
f19dbdb7 21129 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 21130 stanza.
21131
08db4632 211322007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 21133
08db4632 21134 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
21135 continue on and look for device node with real device name.
21136
801b76be 211372007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 21138
fe6b695a 21139 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 21140 ability.
21141 * Makefile.in: Add autoconf package transformation code.
21142 * util/i386/pc/grub-install.in: Likewise.
21143 * util/powerpc/ieee1275/grub-install.in: Likewise.
21144
6795c4e1 211452007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21146
21147 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
21148 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
21149 (EXT2_REVISION): Likewise.
21150 (EXT2_INODE_SIZE): Likewise.
21151 (struct grub_ext2_block_group): Added a missing member
21152 "used_dirs".
21153 (grub_ext2_read_inode): Divide by the inode size in a superblock
21154 instead of 128 to obtain INODES_PER_BLOCK.
21155 Use the macro EXT2_INODE_SIZE instead of directly using
21156 SBLOCK->INODE_SIZE.
21157
d70af616 211582007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21159
21160 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21161 superblock instead of the structure size to compute an
21162 offset. This fixes the problem that GRUB could not read a
21163 filesystem when inode size is different from 128-byte.
21164
3b801603 211652007-03-05 Marco Gerards <marco@gnu.org>
21166
21167 * normal/main.c (read_config_file): When "menu" is not set, create
21168 an initial context.
21169
4785bfe4 211702007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21171
21172 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21173 (HEAP_LIMIT): New macro.
21174 (grub_claim_heap): Claim memory up to `heaplimit'.
21175
a0cbb023 211762007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21177
21178 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21179 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21180 (_start): Likewise.
21181 (grub_arch_modules_addr): Return address after `_end'.
21182 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21183 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21184 (add_segments): Calculate `_end' from phdr size and location.
21185 (ALIGN_UP): Moved to ...
21186 * include/grub/misc.h: here.
21187 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21188 New macro.
21189 (GRUB_IEEE1275_MODULE_BASE): Removed.
21190
fd7d8eba 211912007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21192
21193 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21194 loop boundary.
21195
9b09e6fc 211962007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21197
21198 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21199 All users updated.
21200 (grub_elf64_load_hook_t): Likewise.
21201 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21202 debug output.
21203
3ce27299 212042007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21205
21206 * kern/mm.c: Update copyright.
21207 (grub_mm_debug): Correct syntax error.
21208 (grub_mm_dump_free): New function.
21209 (grub_debug_free): Call `grub_free'.
21210 * include/grub/mm.h: Update copyright.
21211 (grub_mm_dump_free): Add declaration.
21212
077d5fee 212132007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21214
21215 * include/grub/ieee1275/ieee1275.h: Update copyright.
21216 * kern/powerpc/ieee1275/init.c: Likewise.
21217 * kern/powerpc/ieee1275/openfw.c: Likewise.
21218
21219 * loader/powerpc/ieee1275/linux.c: Likewise.
21220 * include/grub/elfload.h: Likewise.
21221 * kern/elf.c: Likewise.
21222 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21223 callers.
21224 (grub_elf64_load): Likewise.
21225 (grub_elf32_load_segment): Move to a nested function.
21226 (grub_elf64_load_segment): Likewise.
21227
dc946850 212282007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21229
21230 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21231 prototype.
21232 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21233 (grub_heap_len): Likewise.
21234 (HEAP_SIZE): New macro.
21235 (grub_claim_heap): New function.
21236 (grub_machine_init): Don't claim heap directly. Call
21237 `grub_claim_heap'.
21238 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21239 (grub_available_iterate): New function.
21240
baa2a121 212412007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21242
21243 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21244 * configure.ac: Use it for testing the HOST and TARGET compilers.
21245
4fe9862e 212462006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21247
21248 * Makefile.in (enable_grub_emu): New variable.
21249 * configure.ac (--enable-grub-emu): New option.
21250 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21251 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21252 * conf/i386-pc.rmk: Likewise.
21253 * conf/powerpc-ieee1275.rmk: Likewise.
21254 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21255
a8aa5762 212562006-12-12 Marco Gerards <marco@gnu.org>
21257
21258 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21259
21260 * kern/env.c (grub_env_unset): Don't free the member `value' when
21261 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21262 pointer.
21263
21264 * normal/main.c (current_menu): Removed.
21265 (free_menu): Unset the `menu' environment variable.
21266 (grub_normal_menu_addentry): Make use of the environment variable
21267 `menu', instead of using the global `current_menu'. Allocate
21268 memory for the sourcecode of this entry.
21269 (read_config_file): New argument `nested', changed all callers.
21270 Only in the case of a new context, initialize a new menu. Set the
21271 `menu' environment variable.
21272 (grub_normal_execute): Don't set and unset the environment
21273 variable `menu' here anymore. Only free the menu when leaving the
21274 context.
21275
21276 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21277 leak.
21278
957b3a3e 212792006-12-11 Marco Gerards <marco@gnu.org>
21280
21281 * normal/menu_entry.c (run): Fix off by one bug so the last line
21282 is executed. Move the loader check to outside the loop.
21283
ef875714 212842006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21285
21286 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21287
4e739985 212882006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21289
21290 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21291 the number of sectors. Reported by Andrey Shuvikov
21292 <mr_hyro@yahoo.com>.
f19dbdb7 21293
790707f2 212942006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21295
21296 * kern/disk.c (grub_disk_read): When there is a read error, always
21297 try to read only the necessary data.
f19dbdb7 21298
790707f2 21299 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21300 disk/raid.c.
21301 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21302 prototype.
21303 [GRUB_UTIL] (grub_raid_fini): Likewise.
21304 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 21305 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 21306 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21307 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21308 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21309 and grub_raid_fini().
f19dbdb7 21310
03e58196 213112006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21312
21313 * include/grub/types.h (__unused): Rename to UNUSED.
21314 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
21315 (grub_elf64_size): Likewise.
f19dbdb7 21316
ae4f23bf 213172006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21318
21319 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
21320 grub_error_push and grub_error_pop in the error-handling path.
21321 (grub_elf32_load_segment): Only call grub_file_read with non-zero
21322 length.
21323
2166cc83 213242006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21325
21326 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
21327 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21329 (kernel_elf_SOURCES): Likewise.
21330 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
21331 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
21332 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21333 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21334 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
21335 (elf_mod_SOURCES): New variable.
21336 (elf_mod_CFLAGS): Likewise.
21337 (elf_mod_LDFLAGS): Likewise.
21338 * include/grub/types.h (__unused): New macro.
21339 * include/grub/elfload.h: New file.
21340 * kern/elf.c: Likewise.
21341 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
21342 (ELF32_LOADMASK): New macro.
21343 (ELF64_LOADMASK): Likewise.
21344 (vmlinux): Removed.
21345 (grub_linux_load32): New function.
21346 (grub_linux_load64): Likewise.
21347 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
21348 Use grub_elf_t instead of grub_file_t.
21349
a09d5aa5 213502006-11-02 Hollis Blanchard <hollis@penguinppc.org>
21351
21352 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
21353 `catch_result' to struct set_color_args.
21354
d976fc51 213552006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21356
21357 * normal/menu.c: Include grub/script.h.
21358 * normal/menu_entry.c: Likewise.
21359 * include/grub/normal.h: Do not include grub/script.h.
21360
67507549 213612006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21362
21363 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
21364
69203a99 213652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21366
21367 * kern/disk.c (grub_disk_open): Print debug messages when opening a
21368 disk.
21369 (grub_disk_close): Print debug messages when closing a disk.
21370 (grub_disk_read): Print debug messages when disk read fails.
21371 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
21372 filesystem type.
21373 * kern/partition.c: Include misc.h.
21374 (grub_partition_iterate): Print debug messages when detecting
21375 partition type.
21376
e2b8278c 213772006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21378
21379 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
21380 is negative.
21381 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
21382
97b2f2ff 213832006-10-26 Hollis Blanchard <hollis@penguinppc.org>
21384
21385 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21386 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
21387
6555d655 213882006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
21389
21390 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
21391 instead of sizeof(lv). Patch by Michael Guntsche.
21392
4d42b77f 213932006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
21394
21395 * disk/lvm.c: Rename VGS to VG_LIST.
21396 (grub_lvm_iterate): Change VGS->LV to VG-LV.
21397 (grub_lvm_open): Likewise.
21398 Thanks to Michael Guntsche for finding this bug.
21399
5d74d927 214002006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21401
21402 * configure.ac (AC_INIT): Bumped to 1.95.
21403
a1bb27e4 214042006-10-14 Robert Millan <rmh@aybabtu.com>
21405
21406 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
21407 with "/dev/.static/dev/md".
21408
e0994b8b 214092006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21410
21411 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
21412 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
21413 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
21414 DRIVE_NAME are always freed.
21415
21416 * util/i386/pc/biosdisk.c (make_device_name): Add one into
21417 DOS_PART, as a DOS partition is counted from one instead of zero
21418 now. Reported by Robert Millan.
21419
ddd5cee9 214202006-10-14 Robert Millan <rmh@aybabtu.com>
21421
21422 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
21423 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
21424 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
21425 string returned by grub_guess_root_device.
21426 * util/i386/pc/grub-setup.c: Likewise.
21427 * util/i386/pc/grub-probefs.c: Likewise.
21428
21429 * util/i386/pc/grub-probefs.c: Rename to ...
21430 * util/i386/pc/grub-probe.c: ... this.
21431 * DISTLIST: Remove grub-probefs, add grub-probe.
21432 * conf/i386-efi.rmk: Likewise.
21433 * conf/i386-pc.rmk: Likewise.
21434 * util/i386/pc/grub-install.in: Likewise.
21435
21436 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
21437 choose which information we want to print.
21438
2b002173 214392006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21440
21441 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
21442 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
21443 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
21444 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
21445 video/readers/tga.c and video/i386/pc/vbeutil.c.
21446
214472006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
21448
21449 Added support for RAID and LVM.
f19dbdb7 21450
2b002173 21451 * disk/lvm.c: New file.
21452 * disk/raid.c: Likewise.
21453 * include/grub/lvm.h: Likewise.
f19dbdb7 21454 * include/grub/raid.h: Likewise.
2b002173 21455 * include/grub/util/lvm.h: Likewise.
21456 * include/grub/util/raid.h: Likewise.
21457 * util/lvm.c: Likewise.
21458 * util/raid.c: Likewise.
21459
21460 * include/grub/disk.h (grub_disk_dev_id): Add
21461 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
21462 (grub_disk_get_size): New prototype.
21463 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
21464 returns a partition.
21465 (grub_disk_get_size): New function.
f19dbdb7 21466
2b002173 21467 * kern/i386/pc/init.c (make_install_device): Copy the prefix
21468 verbatim if grub_install_dos_part is -2.
21469
21470 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
21471 and LVM devices.
21472
21473 * util/i386/pc/grub-setup.c (setup): New argument
21474 MUST_EMBED. Force embedding of GRUB when the argument is
21475 true. Close FILE before returning.
21476 (main): Add support for RAID and LVM.
f19dbdb7 21477
2b002173 21478 * conf/common.rmk: Add RAID and LVM modules.
21479 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
21480 util/lvm.c.
21481 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
21482
21483 * kern/misc.c (grub_strstr): New function.
21484 * include/grub/misc.h (grub_strstr): New prototype.
21485
050548d0 214862006-10-10 Tristan Gingold <tristan.gingold@bull.net>
21487
21488 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
21489
da849d2d 214902006-10-05 Tristan Gingold <tristan.gingold@bull.net>
21491
21492 * kern/misc.c (grub_strtoull): Guess the base only if not
21493 specified.
21494
97b2f2ff 214952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 21496
21497 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
21498 PowerMac support.
21499
97b2f2ff 215002006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 21501
21502 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
21503
21504 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
21505 Remove `flags' argument. All callers changed.
21506 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
21507 (IEEE1275_IHANDLE_INVALID): New variable.
21508 (IEEE1275_CELL_INVALID): New variable.
21509 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21510 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
21511 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
21512 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
21513 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
21514 codes from Open Firmware. All callers updated.
21515 (grub_ieee1275_next_property): Directly return Open Firmware return
21516 code.
21517 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21518 Standardize error checking from `grub_ieee1275_get_property'.
21519 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
21520 `devalias' to `aliases'. Correct comments. Consolidate error paths.
21521
97b2f2ff 215222006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 21523
21524 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
21525 `instance_to_package_args' to `instance_to_path_args'.
21526
21527 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
21528 `grub_ieee1275_chosen'.
21529
21530 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
21531 `grub_ieee1275_interpret'.
21532
97b2f2ff 215332006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 21534
21535 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21536
97b2f2ff 215372006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 21538
21539 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21540 (__cmpdi): Likewise.
21541
21542 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21543 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21544 `grub_ssize_t'.
21545
02bb8acc 21546 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 21547
21548 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21549 to type `grub_ssize_t'.
21550 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21551
7f9a8531 215522006-09-22 Marco Gerards <marco@gnu.org>
21553
21554 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21555 newlines.
21556
b5ef1102 215572006-09-22 Marco Gerards <marco@gnu.org>
21558
21559 * commands/echo.c: New file.
21560
21561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21562
21563 * conf/common.rmk (echo_mod_SOURCES): New variable.
21564 (echo_mod_CFLAGS): Likewise.
21565 (echo_mod_LDFLAGS): Likewise.
21566
2cff3677 215672006-09-22 Marco Gerards <marco@gnu.org>
21568
21569 * normal/main.c (get_line): Malloc memory instead of using
21570 preallocated memory. Removed the arguments `cmdline' and
21571 `max_len'. Updated all callers.
21572
6ba4688b 215732006-09-22 Marco Gerards <marco@gnu.org>
21574
21575 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21576 (normal_mod_DEPENDENCIES): Likewise.
21577
21578 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21579 (normal_mod_DEPENDENCIES): Likewise.
21580
21581 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21582
e02ac02c 215832006-09-22 Johan Rydberg <jrydberg@gnu.org>
21584
21585 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21586 programs.
21587 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21588 (normal_mod_DEPENDENCIES): Likewise.
21589 * conf/i386-pc.mk: Regenerate.
21590 * conf/i386-efi.mk: Likewise
21591 * conf/common.mk: Likewise.
21592 * conf/powerpc-ieee1275.mk: Likewise.
21593 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21594
8d252e44 215952006-09-22 Robert Millan <rmh@aybabtu.com>
21596
21597 Sync with i386 version.
21598 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21599 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21600
209bf7ac 216012006-09-21 Robert Millan <rmh@aybabtu.com>
21602
21603 Import from GRUB Legacy (lib/device.c):
21604 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21605 (init_device_map) [__linux__]: Add support for I2O devices.
21606
6b146090 216072006-09-14 Marco Gerards <marco@gnu.org>
21608
21609 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21610 `-melf_i386'.
21611
e38600a8 216122006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 21613
21614 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21615 /boot/grub/*.lst.
78fa1790 21616
2952da5d 21617 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 21618
2952da5d 21619 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21620 before adding it to device.map.
21621
01b82a64 216222006-08-15 Johan Rydberg <jrydberg@gnu.org>
21623
fe6b695a 21624 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 21625 compiles a file; using the -MD option.
21626 * conf/common.mk: Regenerate.
21627 * conf/i386-pc.mk: Likewise.
21628 * conf/i386-efi.mk: Likewise.
21629 * conf/powerpc-ieee1275.mk: Likewise.
21630 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21631
1064790d 216322006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21633
21634 Move the prototypes of grub_setjmp and grub_longjmp to
21635 cpu/setjmp.h, so that each architecture may specify different
21636 attributes.
f19dbdb7 21637
1064790d 21638 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21639 (grub_longjmp): Likewise.
21640 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21641 (grub_longjmp): Likewise.
21642 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21643 (grub_longjmp): Likewise.
21644
21645 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21646 [!GRUB_UTIL] (grub_longjmp): Removed.
21647
29dda3ed 216482006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21649
21650 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21651 "color!" method does not return any value.
21652
ad2a06ed 216532006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21654
21655 * include/grub/bitmap.h: New file.
21656
21657 * include/grub/i386/pc/vbeutil.h: Likewise.
21658
21659 * video/bitmap.c: Likewise.
21660
21661 * video/readers/tga.c: Likewise.
21662
21663 * video/i386/pc/vbeutil.c: Likewise.
21664
21665 * commands/videotest.c: Code cleanup and updated to reflect to new
21666 video API.
21667
21668 * term/gfxterm.c: Likewise.
21669
21670 * video/video.c: Likewise.
21671
21672 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21673 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21674 (bitmap_mod_SOURCES): New entry.
21675 (bitmap_mod_CFLAGS): Likewise.
21676 (bitmap_mod_LDFLAGS): Likewise.
21677 (tga_mod_SOURCES): Likewise.
21678 (tga_mod_CFLAGS): Likewise.
21679 (tga_mod_LDFLAGS): Likewise.
21680
21681 * include/grub/video.h (grub_video_blit_operators): New enum type.
21682 (grub_video_render_target): Changed as forward declaration and moved
21683 actual definition to be video driver specific.
21684 (grub_video_adapter.blit_bitmap): Added blitting operator.
21685 (grub_video_adapter.blit_render_target): Likewise.
21686 (grub_video_blit_bitmap): Likewise.
21687 (grub_video_blit_render_target): Likewise.
21688
21689 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21690 driver specific render target definition.
21691 (grub_video_vbe_map_rgba): Added driver internal helper.
21692 (grub_video_vbe_unmap_color): Updated to use
21693 grub_video_i386_vbeblit_info.
21694 (grub_video_vbe_get_video_ptr): Likewise.
21695
21696 * include/grub/i386/pc/vbeblit.h
21697 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21698 grub_video_i386_vbeblit_info.
21699 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21700 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21701 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21702 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21703 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21704 (grub_video_i386_vbeblit_index_index): Likewise.
21705 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21706 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21707 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21708 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21709 operator.
21710 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21711 operator.
21712
21713 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21714 include/grub/i386/pc/vbeblit.h.
21715
21716 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21717 Updated to use grub_video_i386_vbeblit_info.
21718 (grub_video_i386_vbefill_R8G8B8): Likewise.
21719 (grub_video_i386_vbefill_index): Likewise.
21720 (grub_video_i386_vbefill): Added generic filler.
21721
21722 * video/i386/pc/vbefill.c: Updated to reflect changes on
21723 include/grub/i386/pc/vbefill.h.
21724
21725 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21726 grub_video_i386_vbeblit_info.
21727 (grub_video_vbe_unmap_color): Likewise.
21728 (grub_video_vbe_blit_glyph): Likewise.
21729 (grub_video_vbe_scroll): Likewise.
21730 (grub_video_vbe_draw_pixel): Removed function.
21731 (grub_video_vbe_get_pixel): Likewise.
21732 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21733 updated code to use it.
21734 (common_blitter): Added common blitter for render target and bitmap.
21735 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21736 (grub_video_vbe_blit_render_target): Likewise.
21737
bc8c036d 217382006-07-30 Johan Rydberg <jrydberg@gnu.org>
21739
21740 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21741 is in text mode if there is no console control protocol instance
21742 available.
21743
684a8eff 217442006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21745
21746 * include/grub/video.h: Code cleanup.
21747
21748 * include/grub/i386/pc/vbe.h: Likewise.
21749
21750 * video/i386/pc/vbe.c: Likewise.
21751
21752 * video/i386/pc/vbeblit.c: Likewise.
21753
21754 * video/i386/pc/vbefill.c: Likewise.
21755
21756 * video/video.c: Likewise. Also added more comments.
21757
5915059b 217582006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21759
21760 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21761 (struct grub_biosdisk_dap): Likewise.
21762
21763 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21764 linkage settings for all functions.
21765
90ce5d56 217662006-07-12 Marco Gerards <marco@gnu.org>
21767
21768 * configure.ac (--enable-mm-debug): Fix typo.
21769
21770 * genkernsyms.sh.in: Use proper quoting for `CC'.
21771
43e7f879 217722006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
21773
21774 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
21775 (normal_mod_ASFLAGS): Remove "-m32".
21776
4889bdec 217772006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
21778
21779 * util/misc.c: Include config.h.
21780 [!HAVE_MEMALIGN]: Do not include malloc.h.
21781 (grub_memalign): Use posix_memalign, if present. Then, use
21782 memalign, if present. Otherwise, emit an error.
21783
21784 * util/grub-emu.c: Do not include malloc.h.
21785
21786 * include/grub/util/misc.h: Include unistd.h. This is required for
21787 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
21788 D. Eades III <hde@foobar-qux.org>.
21789
21790 * configure.ac (AC_GNU_SOURCE): Added.
21791 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
21792 type.
21793
fd39d4da 217942006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
21795
21796 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
21797 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
21798
b786f3b5 217992006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
21800
21801 * include/grub/types.h (grub_host_addr_t): Rename to
21802 grub_target_addr_t.
21803 (grub_host_off_t): Rename to grub_target_off_t.
21804 (grub_host_size_t): Rename to grub_target_size_t.
21805 (grub_host_ssize_t): Rename to grub_target_ssize_t.
21806 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
21807
21808 * include/grub/kernel.h (struct grub_module_header): Change type
21809 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
21810 (grub_module_info): Likewise.
f19dbdb7 21811
051988bb 218122006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21813
21814 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
21815 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
21816 Velazquez <jesus.velazquez@gmail.com>.
21817
deae281b 218182006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21819
21820 Count partitions from 1 instead of 0 in the string representation
21821 of partitions. Still use 0-based internally.
f19dbdb7 21822
deae281b 21823 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
21824 (sun_partition_map_iterate): Use grub_partition_t instead of
21825 struct grub_partition *. Cast DESC->START_CYLINDER to
21826 grub_uint64_t after converting the endian.
21827 (sun_partition_map_probe): Subtract 1 for PARTNUM.
21828 (sun_partition_map_get_name): Add 1 to P->INDEX.
21829
21830 * partmap/pc.c (grub_partition_parse): Subtract 1 for
21831 PCDATA->DOS_PART.
21832 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
21833
21834 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
21835 zero instead of one.
21836 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
21837 (gpt_partition_map_get_name): Add 1 into P->INDEX.
21838
21839 * partmap/apple.c (apple_partition_map_iterate): Change the type
21840 of POS to unsigned.
21841 (apple_partition_map_probe): Subtract 1 for PARTNUM.
21842 (apple_partition_map_get_name): Add 1 into P->INDEX.
21843
21844 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
21845 of POS to unsigned.
21846 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
21847 calculate the offset of a partition.
21848 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
21849 (amiga_partition_map_get_name): Add 1 into P->INDEX.
21850
21851 * partmap/acorn.c (acorn_partition_map_find): Change the type of
21852 SECTOR to grub_disk_addr_t.
21853 (acorn_partition_map_iterate): Likewise.
21854 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
21855 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
21856 top.
21857 (acorn_partition_map_get_name): Add 1 into P->INDEX.
21858
21859 * kern/i386/pc/init.c (make_install_device): Add 1 into
21860 GRUB_INSTALL_DOS_PART.
21861
21862 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
21863 conditional.
21864
524a1e6a 218652006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21866
21867 Clean up the code to support 64-bit addressing in disks and
21868 files. This change is not enough for filesystems yet.
f19dbdb7 21869
524a1e6a 21870 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
21871 type of "start" to grub_uint64_t.
21872 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
21873 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
21874 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
21875 convert addresses.
21876
21877 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
21878 to grub_disk_addr_t.
21879
21880 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
21881 string.
21882
21883 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21884
21885 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
21886 to char *.
21887
21888 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
21889
21890 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
21891
21892 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
21893
21894 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
21895 to grub_off_t, to detect an error from grub_file_seek.
21896 (grub_multiboot_load_elf32): Likewise.
21897
21898 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
21899 maximum unsigned long value when an overflow is detected.
21900 (grub_strtoull): New function.
21901 (grub_divmod64): Likewise.
21902 (grub_lltoa): use grub_divmod64.
21903
21904 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
21905 grub_disk_addr_t.
21906 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
21907 the pointer to next character. Use grub_strtoull instead of
21908 grub_strtoul.
21909 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
21910 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
21911 respectively.
21912
fe6b695a 21913 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 21914 return value is signed.
21915 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
21916 test if OFFSET is less than zero, as OFFSET is unsigned now.
21917
21918 * kern/disk.c (struct grub_disk_cache): Change the type of
21919 "sector" to grub_disk_addr_t.
21920 (grub_disk_cache_get_index): Change the type of SECTOR to
21921 grub_disk_addr_t. Calculate the hash with SECTOR casted to
21922 unsigned after shifting.
21923 (grub_disk_cache_invalidate): Change the type of SECTOR to
21924 grub_disk_addr_t.
21925 (grub_disk_cache_unlock): Likewise.
21926 (grub_disk_cache_store): Likewise.
21927 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
21928 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
21929 grub_disk_addr_t and grub_uint64_t, respectively.
21930 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
21931 body, as the value of OFFSET is tweaked by
21932 grub_disk_check_range. Change the types of START_SECTOR, LEN and
21933 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
21934 respectively.
21935 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
21936 body, as the value of OFFSET is tweaked by
21937 grub_disk_check_range. Change the types of LEN and N to
21938 grub_size_t.
21939
21940 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
21941 and "saved_offset" to grub_off_t.
21942 (test_header): Cast BUF to char *.
21943 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
21944 to char *.
21945 (grub_gzio_read): Change the types of OFFSET and SIZE to
21946 grub_off_t and grub_size_t, respectively.
21947
21948 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
21949 Removed.
21950 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
21951 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
21952 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
21953 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
21954 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
21955
21956 * include/grub/types.h (grub_off_t): Unconditionally set to
21957 grub_uint64_t.
21958 (grub_disk_addr_t): Changed to grub_uint64_t.
21959
21960 * include/grub/partition.h (struct grub_partition): Change the
21961 types of "start", "len" and "offset" to grub_disk_addr_t,
21962 grub_uint64_t and grub_disk_addr_t, respectively.
21963 (grub_partition_get_start): Return grub_disk_addr_t.
21964 (grub_partition_get_len): Return grub_uint64_t.
21965
21966 * include/grub/misc.h (grub_strtoull): New prototype.
21967 (grub_divmod64): Likewise.
21968
21969 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
21970 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
21971 grub_off_t, respectively.
21972 All callers and references changed.
21973
21974 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
21975 grub_size_t in "read".
21976 All callers and references changed.
21977
21978 * include/grub/file.h (struct grub_file): Change the types of
21979 "offset" and "size" to grub_off_t and grub_off_t,
21980 respectively. Change the type of SECTOR to grub_disk_addr_t in
21981 "read_hook".
21982 (grub_file_read): Change the type of LEN to grub_size_t.
21983 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
21984 grub_off_t.
21985 (grub_file_size): Return grub_off_t.
21986 (grub_file_tell): Likewise.
21987 All callers and references changed.
21988
21989 * include/grub/disk.h (struct grub_disk_dev): Change the types of
21990 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
21991 "write".
21992 (struct grub_disk): Change the type of "total_sectors" to
21993 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 21994 "read_hook".
524a1e6a 21995 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
21996 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
21997 (grub_disk_write): Likewise.
21998 All callers and references changed.
21999
22000 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22001 char * for grub_strncmp to silence gcc.
22002 (grub_iso9660_mount): Likewise.
22003 (grub_iso9660_mount): Likewise.
22004 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22005 return statement.
22006 (grub_iso9660_iterate_dir): Likewise.
22007 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22008
22009 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22010 LEN to grub_disk_addr_t and grub_size_t, respectively.
22011
22012 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22013
22014 * fs/jfs.c (grub_jfs_read_file): Likewise.
22015
22016 * fs/minix.c (grub_jfs_read_file): Likewise.
22017
22018 * fs/sfs.c (grub_jfs_read_file): Likewise.
22019
22020 * fs/ufs.c (grub_jfs_read_file): Likewise.
22021
22022 * fs/xfs.c (grub_jfs_read_file): Likewise.
22023
22024 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22025 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22026 respectively.
22027
22028 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22029 BLKNR to -1 instead of returning GRUB_ERRNO.
22030 (grub_ext2_read_file): Change the types of SECTOR and
22031 LEN to grub_disk_addr_t and grub_size_t, respectively.
22032
22033 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22034 LEN to grub_disk_addr_t and grub_size_t, respectively.
22035
22036 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22037 grub_file_read.
22038
22039 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22040 string. Do not cast SECTOR explicitly.
22041
22042 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22043 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22044 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22045 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22046 over 2TB and LBA mode is not supported, raise an error.
22047 (get_safe_sectors): New function.
22048 (grub_biosdisk_read): Use get_safe_sectors.
22049 (grub_biosdisk_write): Likewise.
22050
22051 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22052 (grub_efidisk_write): Likewise.
22053
22054 * disk/loopback.c (delete_loopback): Cosmetic changes.
22055 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22056 correctly.
22057 (grub_loopback_open): Likewise.
22058 (grub_loopback_read): Likewise. Also, change the type of POS to
22059 grub_off_t, and fix the usage of grub_memset.
22060
22061 * commands/i386/pc/play.c: Include grub/machine/time.h.
22062
22063 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22064 print FILE->SIZE.
22065
22066 * commands/configfile.c: Include grub/env.h.
22067
22068 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22069 GRUB_ERRNO directly instead. Change the type of POS to
22070 grub_off_t. Follow the coding standard.
22071
22072 * commands/blocklist.c: Include grub/partition.h.
22073 (grub_cmd_blocklist): Return an error if the underlying device is
22074 not a disk. Take the starting sector of a partition into account,
22075 if a partition is used.
22076
22077 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22078 a length field.
22079 (lba_mode): Support 64-bit addresses.
22080 (chs_mode): Likewise.
22081 (copy_buffer): Adapted to the new offsets of a length field and a
22082 segment field.
22083 (blocklist_default_start): Allocate 64-bit space.
22084
22085 * boot/i386/pc/boot.S (force_lba): Removed.
22086 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 22087 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 22088 space.
22089 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22090 is useless.
22091 (lba_mode): Refactored to support a 64-bit address. More size
22092 optimization.
22093 (setup_sectors): Likewise.
22094
53af98ad 220952006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22096
22097 * DISTLIST: Added include/grub/i386/linux.h. Removed
22098 include/grub/i386/pc/linux.h
22099
22100 * configure.ac (AC_INIT): Bumped to 1.94.
22101
22102 * config.guess: Updated from gnulib.
22103 * config.sub: Likewise.
22104 * install-sh: Likewise.
22105 * mkinstalldirs: Likewise.
22106
b4c1940a 221072006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22108
22109 * conf/common.rmk (grub_modules_init.lst): Depended on
22110 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22111 MODSRCFILES.
22112
22113 * genmk.rb (PModule::rule): Reverted the previous change.
22114
cfca1cfd 221152006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22116
22117 * conf/common.rmk (grub_modules_init.lst): Depends on
22118 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22119 that the target does not exist before producing.
22120 (grub_modules_init.h): Remove the target before generating.
22121 (grub_emu_init.c): Likewise.
22122
22123 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22124
aa6d7826 221252006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
22126
22127 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
22128 for the target-specific tests. Make sure that we also have the
22129 up-to-date target variables for those tests.
22130
26c607b9 221312006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22132
22133 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
22134 (PModule::rule): Likewise.
22135
0162321a 221362006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22137
22138 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
22139 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
22140 target-specific flags should be prefixed.
22141 (PModule::rule): Likewise.
22142
6c826348 221432006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
22144
22145 * configure.ac (CMP): Check if cmp is available explicitly.
22146
b977bf01 221472006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
22148
22149 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
22150 (target_cpu): New variable.
22151 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 22152
b977bf01 22153 * util/i386/pc/grub-install.in (host_cpu): Removed.
22154 (target_cpu): New variable.
22155 (pkglibdir): Use target_cpu instead of host_cpu.
22156
22157 * util/genmoddep.c: Removed.
f19dbdb7 22158
b977bf01 22159 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22160 instead of GRUB_HOST_SIZEOF_VOID_P.
22161 * kern/dl.c: Likewise.
22162
22163 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22164 ...
22165 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22166 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22167 (GRUB_TARGET_SIZEOF_LONG): ... this.
22168 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22169 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22170 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22171 to ...
22172 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22173 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22174 (GRUB_TARGET_SIZEOF_LONG): ... this.
22175 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22176 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22177 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22178 to ...
22179 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22180 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22181 (GRUB_TARGET_SIZEOF_LONG): ... this.
22182 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22183 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22184
22185 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22186 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22187 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22188 instead of GRUB_HOST_SIZEOF_LONG.
22189 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22190 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22191 GRUB_CPU_WORDS_BIGENDIAN.
22192 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22193 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22194 grub_host_ssize_t.
22195
22196 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22197 (genmoddep_SOURCES): Likewise.
22198 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22199 (genmoddep_SOURCES): Likewise.
22200 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22201 (genmoddep_SOURCES): Likewise.
22202 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22203 Likewise.
22204 (genmoddep_SOURCES): Likewise.
22205
22206 * genmoddep.awk: New file.
22207
22208 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22209 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22210 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22211 (PModule::rule): Likewise.
22212 (Program::rule): Likewise.
22213 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22214 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22215 respectively.
22216
22217 * configure.ac: Rewritten intensively to use host and target
22218 instead of build and host, respectively.
22219
22220 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22221 (host_cpu): Removed.
22222 (target_cpu): New variable.
22223 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22224 (BUILD_CC): Removed.
22225 (BUILD_CFLAGS): Likewise.
22226 (BUILD_CPPFLAGS): Likewise.
22227 (TARGET_CC): New variable.
22228 (TARGET_CFLAGS): Likewise.
22229 (TARGET_CPPFLAGS): Likewise.
22230 (TARGET_LDFLAGS): Likewise.
22231 (AWK): Likewise.
22232 (include): Use target_cpu instead of host_cpu.
22233 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 22234
b977bf01 22235 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22236
f09771a1 222372006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22238
22239 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22240 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22241 field 'false' to 'exec_on_false'.
22242 (grub_script_create_cmdif): Renamed argument names to reflect above
22243 changes.
22244
22245 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22246
22247 * normal/script.c (grub_script_create_cmdif): Likewise.
22248
118f4fb3 222492006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22250
22251 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22252 top.
22253 (grub_hfsplus_btree_recptr): Likewise.
22254 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22255 FILEBLOCK both to pass a block number and store next block
22256 number.
22257 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22258 overflow file correctly. Specify errors appropriately, because
22259 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22260 grub_hfsplus_btree_recptr to get the pointer to a found key.
22261 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22262 is found.
22263
22264 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22265 linux.mod.
22266 (_linux_mod_SOURCES): New variable.
22267 (_linux_mod_CFLAGS): Likewise.
22268 (_linux_mod_LDFLAGS): Likewise.
22269 (linux_mod_SOURCES): Likewise.
22270 (linux_mod_CFLAGS): Likewise.
22271 (linux_mod_LDFLAGS): Likewise.
22272
22273 * DISTLIST: Added loader/i386/efi/linux.c,
22274 loader/i386/efi/linux_normal.c and
22275 include/grub/i386/efi/loader.h.
22276
22277 * loader/i386/efi/linux.c: New file.
22278 * loader/i386/efi/linux_normal.c: Likewise.
22279 * include/grub/i386/efi/loader.h: Likewise.
22280
89a7d726 222812006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22282
22283 * commands/blocklist.c: New file.
22284
22285 * DISTLIST: Added commands/blocklist.c.
22286
22287 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 22288 color for the background, and a darker color for the foreground.
89a7d726 22289 (grub_console_checkkey): Return READ_KEY.
22290 (grub_console_cls): Set the background to
22291 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22292
22293 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22294
22295 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22296 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22297
22298 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22299 prototype.
22300
22301 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22302 BG. The spec is wrong again.
22303
22304 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22305 prototype.
22306 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22307
22308 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22309 commands/blocklist.c.
22310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 22311
89a7d726 22312 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
22313 (blocklist_mod_SOURCES): New variable.
22314 (blocklist_mod_CFLAGS): Likewise.
22315 (blocklist_mod_LDFLAGS): Likewise.
22316
75c8f258 223172006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
22318
22319 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
22320 duplication.
22321 (lba_mode): Use %eax more intensively to reduce the code size.
22322
da2eb181 223232006-05-20 Marco Gerards <marco@gnu.org>
22324
22325 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
22326
22327 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
22328 for `menuentry'.
22329 (script): Accept leading newlines.
22330 (newlines): New rule to describe 0 or more newlines.
22331 (commands): Accept `command' with trailing newline. Fixed the
22332 order in which arguments were passed to `grub_script_add_cmd'.
22333 Accept commands separated by newlines.
22334 (function): Changed to accept newlines.
22335 (menuentry) Rewritten.
22336
22337 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
22338 front of the list, instead of to the end.
22339
577b4050 223402006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
22341
22342 * util/i386/pc/grub-install.in (bindir): New variable.
22343 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
22344 Shaver <lbgwjl@gmail.com>.
22345
0d6e1189 223462006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
22347
22348 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
22349 grub/machine/linux.h
22350 * loader/i386/pc/linux.c: Likewise.
22351
22352 * include/grub/i386/pc/linux.h: Moved to ...
22353 * include/grub/i386/linux.h: ... here.
22354
22355 * include/grub/i386/linux.h (struct linux_kernel_params): New
22356 struct.
f19dbdb7 22357
31b86e9f 223582006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
22359
22360 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
22361 checking.
22362 (grub_video_vbe_blit_glyph): Likewise.
22363 (grub_video_vbe_blit_bitmap): Likewise.
22364 (grub_video_vbe_blit_render_target): Likewise.
22365
83b984de 223662006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
22367
22368 * configure.ac (--with-platform): Properly quote the square
22369 brackets.
22370
5f0413bd 223712006-05-08 Marco Gerards <marco@gnu.org>
22372
22373 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
22374 this...
22375 (kernel_elf_HEADERS): ...to this. Updated all users.
22376 (grubof_symlist.c): Renamed from this...
22377 (kernel_elf_symlist.c): ...to this. Updated all users.
22378 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22379 (grubof_SOURCES): Renamed from this...
22380 (kernel_elf_SOURCES): ...to this.
22381 (grubof_HEADERS): Renamed from this...
22382 (kernel_elf_HEADERS): ...to this.
22383 (grubof_CFLAGS): Renamed from this...
22384 (kernel_elf_CFLAGS): ...to this.
22385 (grubof_ASFLAGS): Renamed from this...
22386 (kernel_elf_ASFLAGS): ...to this.
22387 (grubof_LDFLAGS): Renamed from this...
22388 (kernel_elf_LDFLAGS): ...to this.
22389
22390 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
22391 this...
22392 (kernel_elf_HEADERS): ...to this. Updated all users.
22393 (grubof_symlist.c): Renamed from this...
22394 (kernel_elf_symlist.c): ...to this. Updated all users.
22395 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22396 (grubof_SOURCES): Renamed from this...
22397 (kernel_elf_SOURCES): ...to this.
22398 (grubof_HEADERS): Renamed from this...
22399 (kernel_elf_HEADERS): ...to this.
22400 (grubof_CFLAGS): Renamed from this...
22401 (kernel_elf_CFLAGS): ...to this.
22402 (grubof_ASFLAGS): Renamed from this...
22403 (kernel_elf_ASFLAGS): ...to this.
22404 (grubof_LDFLAGS): Renamed from this...
22405 (kernel_elf_LDFLAGS): ...to this.
22406
22407 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
22408 `kernel.elf' instead of `grubof'.
22409
05568c2e 224102006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
22411
22412 Add --with-platform to configure. Use pkglibdir instead of
22413 pkgdatadir. This is reported by Roger Leigh.
22414
22415 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
22416 (host_vendor): Likewise.
22417 (host_os): Likewise.
22418 (pkgdatadir): Likewise.
22419 (platform): New variable.
22420 (pkglibdir): Likewise.
22421 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 22422
05568c2e 22423 * util/i386/pc/grub-install.in (datadir): Removed.
22424 (host_vendor): Likewise.
22425 (host_os): Likewise.
22426 (pkgdatadir): Likewise.
22427 (platform): New variable.
22428 (pkglibdir): Likewise.
22429 Use PKGLIBDIR instead of PKGDATADIR.
22430
22431 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
22432 instead of GRUB_DATADIR.
22433 (main): Likewise.
22434 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22435 (main): Likewise.
22436 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22437 (main): Likewise.
22438
22439 * configure.ac (--with-platform): New option.
22440 Use PLATFORM instead of HOST_VENDOR to specify a platform.
22441
22442 * Makefile.in: Include a makefile based on PLATFORM instead of
22443 HOST_VENDOR.
22444 (pkgdatadir): Not appended by the machine type.
22445 (pkglibdir): Appended by the machine type.
22446 (host_vendor): Removed.
22447 (platform): New variable.
22448 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
22449 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
22450 (uninstall): Likewise.
22451
4e93851c 224522006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
22453
22454 Use the environment context in the menu. Remove the commands
22455 "default" and "timeout", and use variables instead.
f19dbdb7 22456
4e93851c 22457 * normal/menu.c: Include grub/env.h.
22458 (print_entry): Cast TITLE to silence gcc.
22459 (get_timeout): New function.
22460 (set_timeout): Likewise.
22461 (get_entry_number): Likewise.
22462 (run_menu): Use a default entry, a fallback entry and a timeout
22463 in the environment variables "default", "fallback" and
22464 "timeout". Also, tweak the default entry if it is not within the
22465 current menu entries.
22466 (grub_menu_run): Use a fallback entry in the environment variable
22467 "fallback".
22468
22469 * normal/main.c (read_config_file): Do not initialize
22470 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
22471 NEWMENU->TIMEOUT.
22472 (grub_normal_execute): Use a data slot to store the menu.
22473
22474 * include/grub/normal.h (struct grub_menu): Removed default_entry,
22475 fallback_entry and timeout.
22476 (struct grub_menu_list): Removed.
22477 (grub_menu_list_t): Likewise.
22478 (struct grub_context): Likewise.
22479 (grub_context_t): Likewise.
22480 (grub_context_get): Likewise.
22481 (grub_context_get_current_menu): Likewise.
22482 (grub_context_push_menu): Likewise.
22483 (grub_context_pop_menu): Likewise.
22484 (grub_default_init): Likewise.
22485 (grub_default_fini): Likewise.
22486 (grub_timeout_init): Likewise.
22487 (grub_timeout_fini): Likewise.
22488
22489 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
22490 and timeout.mod.
22491 (normal_mod_SOURCES): Removed normal/context.c.
22492
22493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
22494 commands/default.c, commands/timeout.c and normal/context.c.
22495 (normal_mod_SOURCES): Removed normal/context.c.
22496
22497 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
22498 commands/timeout.c and normal/context.c.
22499 (normal_mod_SOURCES): Removed normal/context.c.
22500
22501 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
22502 commands/default.c, commands/timeout.c and normal/context.c.
22503 (normal_mod_SOURCES): Removed normal/context.c.
22504
22505 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
22506 timeout.mod.
22507 (default_mod_SOURCES): Removed.
22508 (default_mod_CFLAGS): Likewise.
22509 (default_mod_LDFLAGS): Likewise.
22510 (timeout_mod_SOURCES): Removed.
22511 (timeout_mod_CFLAGS): Likewise.
22512 (timeout_mod_LDFLAGS): Likewise.
22513
22514 * DISTLIST: Removed commands/default.c, commands/timeout.c and
22515 normal/context.c.
22516
22517 * commands/default.c: Removed.
22518 * commands/timeout.c: Likewise.
22519 * normal/context.c: Likewise.
22520
1eb9cc1d 225212006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
22522
22523 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
22524
385bd9c1 225252006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
22526
22527 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
22528 "next" to "prev" for readability.
22529 (struct grub_env_sorted_var): New struct.
22530 (grub_env_context): Renamed to ...
22531 (initial_context): ... this.
22532 (grub_env_var_context): Renamed to ...
22533 (current_context): ... this.
22534 (grub_env_find): Look only at CURRENT_CONTEXT.
22535 (grub_env_context_open): Rewritten to copy exported variables from
22536 previous context.
22537 (grub_env_context_close): Rewritten according to the new
22538 scheme. Also, add an assertion to prevent the initial context from
22539 removed.
22540 (grub_env_insert): Removed the code for the sorted list.
22541 (grub_env_remove): Likewise.
22542 (grub_env_export): Simply mark the variable with
22543 GRUB_ENV_VAR_GLOBAL.
22544 (grub_env_set): A cosmetic change for naming consistency.
22545 (grub_env_get): Likewise.
22546 (grub_env_unset): Likewise.
22547 (grub_env_iterate): Rewritten to sort variables within this
22548 function.
22549 (grub_register_variable_hook): Fixed for naming consistency. Call
22550 grub_env_find again, only if NAME is not found at the first time.
22551 (mangle_data_slot_name): New function.
22552 (grub_env_set_data_slot): Likewise.
22553 (grub_env_get_data_slot): Likewise.
22554 (grub_env_unset_data_slot): Likewise.
22555
22556 * include/grub/env.h (grub_env_var_type): New enum.
22557 (GRUB_ENV_VAR_LOCAL): New constant.
22558 (GRUB_ENV_VAR_GLOBAL): Likewise.
22559 (GRUB_ENV_VAR_DATA): Likewise.
22560 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22561 "type".
22562 (grub_env_set): Replace VAR with NAME for consistency.
22563 (grub_register_variable_hook): Likewise.
22564 (grub_env_export): Specify the name of the argument.
22565 (grub_env_set_data_slot): New prototype.
22566 (grub_env_get_data_slot): Likewise.
22567 (grub_env_unset_data_slot): Likewise.
22568
7f362539 225692006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22570
22571 Extend the loader so that GRUB can accept a loader which comes
22572 back to GRUB when a loaded image exits. Also, this change adds
22573 support for a chainloader on EFI.
f19dbdb7 22574
7f362539 22575 * term/efi/console.c: Include grub/misc.h.
22576 (grub_console_checkkey): Display a scan code on the top for
22577 debugging. This will be removed once the EFI port gets stable.
22578 Correct the scan code mapping.
22579
22580 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22581 allocate memory from larger regions, in order to reduce the number
22582 of allocated regions. Otherwise, the MacOSX loader panics.
22583 (filter_memory_map): Avoid less than 1MB for compatibility with
22584 other loaders.
22585 (add_memory_regions): Allocate from the tail of a region, if
22586 possible, to avoid allocating a region near to 1MB, for the MacOSX
22587 loader.
22588
22589 * kern/efi/init.c (grub_efi_set_prefix): Specify
22590 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22591
22592 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22593 argument IMAGE_HANDLE and specify it to get a loaded image.
22594 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22595 grub_efi_get_loaded_image.
fe6b695a 22596 (grub_efi_get_filename): Divide the length by the size of
7f362539 22597 grub_efi_char16_t.
22598 (grub_efi_get_device_path): New function.
22599 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22600 the length by the size of grub_efi_char16_t for a file path device
22601 path node.
22602
22603 * kern/loader.c (grub_loader_noreturn): New variable.
22604 (grub_loader_set): Accept a new argument NORETURN. Set
22605 GRUB_LOADER_NORETURN to NORETURN.
22606 All callers changed.
22607 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22608 grub_machine_fini.
22609
22610 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22611 prototype.
22612 (grub_efi_get_loaded_image): Take an argument to specify an image
22613 handle.
22614
22615 * include/grub/loader.h (grub_loader_set): Added one more argument
22616 NORETURN.
22617
22618 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22619 instead of grub_efi_open_protocol.
22620 (grub_efidisk_get_device_name): Likewise.
22621 (grub_efidisk_close): Print a newline.
22622 (grub_efidisk_get_device_handle): Fixed to use
22623 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22624 GRUB_EFI_DEVICE_PATH_TYPE.
22625
22626 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22627 * kern/efi/efi.c (device_path_guid): ... here.
22628
22629 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22630 chain.mod.
22631 (kernel_mod_HEADERS): Added efi/disk.h.
22632 (_chain_mod_SOURCES): New variable.
22633 (_chain_mod_CFLAGS): Likewise.
22634 (_chain_mod_LDFLAGS): Likewise.
22635 (chain_mod_SOURCES): Likewise.
22636 (chain_mod_CFLAGS): Likewise.
22637 (chain_mod_LDFLAGS): Likewise.
22638
22639 * DISTLIST: Added include/grub/efi/chainloader.h,
22640 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22641
22642 * include/grub/efi/chainloader.h: New file.
22643 * loader/efi/chainloader.c: Likewise.
22644 * loader/efi/chainloader_normal.c: Likewise.
22645
c0111d6e 226462006-04-30 Marco Gerards <marco@gnu.org>
22647
22648 * commands/configfile.c (grub_cmd_source): New function.
22649 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22650 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22651
df5341da 226522006-04-30 Marco Gerards <marco@gnu.org>
22653
22654 * normal/execute.c (grub_script_execute_cmd): Change the return
22655 type to `grub_err_t'. Correctly return the error.
22656 (grub_script_execute_cmdline): In case a command line is not a
22657 command or a function, try to interpret it as an assignment.
22658
f85934bd 226592006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22660
22661 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22662 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22663 skip a node whose name is obviously invalid as UTF-16,
22664 i.e. contains a NUL character. Stop the iteration when the last
22665 directory entry is found. Instead of using the return value of
22666 grub_hfsplus_btree_iterate_node, store the value in RET and use
22667 it, because the iterator can be stopped by the last directory
22668 entry.
22669
8f8a2cf8 226702006-04-30 Marco Gerards <marco@gnu.org>
22671
22672 * include/grub/env.h (grub_env_export): New prototype. Reported
22673 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22674
a27e84ce 226752006-04-30 Marco Gerards <marco@gnu.org>
22676
22677 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22678 size of the extents in a catalog file record.
22679
eaef0553 226802006-04-29 Marco Gerards <marco@gnu.org>
22681
22682 * commands/configfile.c (grub_cmd_configfile): Execute the
22683 configfile within its own context.
22684
22685 * include/grub/env.h (grub_env_context_open): New prototype.
22686 (grub_env_context_close): Likewise.
22687
22688 * kern/env.c (grub_env): Removed.
22689 (grub_env_sorted): Likewise.
22690 (grub_env_context): New variable.
22691 (grub_env_var_context): Likewise.
22692 (grub_env_find): Search both the active context and the global
22693 context.
22694 (grub_env_context_open): New function.
22695 (grub_env_context_close): Likewise.
22696 (grub_env_insert): Likewise.
22697 (grub_env_remove): Likewise.
22698 (grub_env_export): Likewise.
22699 (grub_env_set): Changed to use helper functions to avoid code
22700 duplication.
22701 (grub_env_iterate): Rewritten so both the current context and the
22702 global context are being used.
22703
22704 * normal/command.c (export_command): New function.
22705 (grub_command_init): Register the `export' function.
22706
7b455f4d 227072006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22708
22709 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22710 explicitly to suppress gcc's warnings.
22711 * fs/fat.c (grub_fat_find_dir): Likewise.
22712 (grub_fat_label): Likewise.
22713 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22714 (grub_xfs_mount): Likewise.
22715 (grub_xfs_label): Likewise.
22716 * fs/affs.c (grub_affs_mount): Likewise.
22717 (grub_affs_label): Likewise.
22718 (grub_affs_iterate_dir): Likewise.
22719 * fs/sfs.c (grub_sfs_mount): Likewise.
22720 (grub_sfs_iterate_dir): Likewise.
22721 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22722 * fs/hfs.c (grub_hfs_mount): Likewise.
22723 (grub_hfs_cmp_catkeys): Likewise.
22724 (grub_hfs_find_dir): Likewise.
22725 (grub_hfs_dir): Likewise.
22726 (grub_hfs_label): Likewise.
22727 * fs/jfs.c (grub_jfs_mount): Likewise.
22728 (grub_jfs_opendir): Likewise.
22729 (grub_jfs_getent): Likewise.
22730 (grub_jfs_lookup_symlink): Likewise.
22731 (grub_jfs_label): Likewise.
22732 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22733 (grub_hfsplus_iterate_dir): Likewise.
22734 (grub_hfsplus_btree_iterate_node): Made static.
22735
22736 * util/grub-emu.c (prefix): New variable.
22737 (grub_machine_set_prefix): New function.
22738 (main): Do not set the environment variable "prefix" here. Only
22739 set PREFIX, which is used later by grub_machine_set_prefix.
22740
22741 * include/grub/video.h: Do not include grub/symbol.h.
22742 (grub_video_register): Not exported. This symbol is not defined in
22743 the kernel.
22744 (grub_video_unregister): Likewise.
22745 (grub_video_iterate): Likewise.
22746 (grub_video_setup): Likewise.
22747 (grub_video_restore): Likewise.
22748 (grub_video_get_info): Likewise.
22749 (grub_video_get_blit_format): Likewise.
22750 (grub_video_set_palette): Likewise.
22751 (grub_video_get_palette): Likewise.
22752 (grub_video_set_viewport): Likewise.
22753 (grub_video_get_viewport): Likewise.
22754 (grub_video_map_color): Likewise.
22755 (grub_video_map_rgb): Likewise.
22756 (grub_video_map_rgba): Likewise.
22757 (grub_video_fill_rect): Likewise.
22758 (grub_video_blit_glyph): Likewise.
22759 (grub_video_blit_bitmap): Likewise.
22760 (grub_video_blit_render_target): Likewise.
22761 (grub_video_scroll): Likewise.
22762 (grub_video_swap_buffers): Likewise.
22763 (grub_video_create_render_target): Likewise.
22764 (grub_video_delete_render_target): Likewise.
22765 (grub_video_set_active_render_target): Likewise.
22766
22767 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22768 Undefined.
22769 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22770
22771 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
22772 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22773 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22774 instead of $(srcdir)/genkernsyms.sh.
22775
22776 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
22777 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22778 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22779 instead of $(srcdir)/genkernsyms.sh.
22780
22781 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
22782 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22783 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22784 instead of $(srcdir)/genkernsyms.sh.
22785
22786 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
22787 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22788 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22789 instead of $(srcdir)/genkernsyms.sh.
22790
22791 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
22792 genkernsyms.sh.
22793
22794 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
22795 genkernsyms.sh.
22796 (gensymlist.sh): New target.
22797 (genkernsyms.sh): Likewise.
22798
22799 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
22800 genkernsyms.sh.in and gensymlist.sh.in.
22801
22802 * genkernsyms.sh: Removed.
22803 * gensymlist.sh: Likewise.
f19dbdb7 22804
7b455f4d 22805 * genkernsyms.sh.in: New file.
22806 * gensymlist.sh.in: Likewise.
22807
1885bb27 228082006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22809
22810 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
22811 clobber "prefix", since we may have already set it manually.
22812
71538dff 228132006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22814
22815 * kern/misc.c (abort): New alias for grub_abort.
22816
2965c7cc 228172006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
22818
22819 A new machine-specific function "grub_machine_set_prefix" is
22820 defined. This is called after loading modules, so that a prefix
22821 initialization can use modules. Also, this change adds an
22822 intensive debugging feature for the memory manager via the
22823 configure option "--enable-mm-debug".
f19dbdb7 22824
2965c7cc 22825 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
22826 PART.LEN.
22827
22828 * kern/sparc64/ieee1275/init.c (abort): Removed.
22829 (grub_stop): Likewise.
22830 (grub_exit): New function.
22831 (grub_set_prefix): Renamed to ...
22832 (grub_machine_set_prefix): ... this.
22833 (grub_machine_init): Do not call grub_set_prefix.
22834
22835 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
22836 (grub_machine_set_prefix): ... this.
22837 (grub_machine_init): Do not call grub_set_prefix.
22838
22839 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
22840 (grub_machine_init): Do not set the prefix here.
22841
22842 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
22843
22844 * kern/efi/init.c: Include grub/mm.h.
22845 (grub_efi_set_prefix): New function.
22846
22847 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
22848 (grub_efi_get_filename): New function.
22849 (grub_print_device_path): Renamed to ...
22850 (grub_efi_print_device_path): ... this.
22851
22852 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
22853 [MM_DEBUG] (grub_realloc): Likewise.
22854 [MM_DEBUG] (grub_free): Likewise.
22855 [MM_DEBUG] (grub_memalign): Likewise.
22856 [MM_DEBUG] (grub_mm_debug): New variable.
22857 [MM_DEBUG] (grub_debug_malloc): New function.
22858 [MM_DEBUG] (grub_debug_free): New function.
22859 [MM_DEBUG] (grub_debug_realloc): New function.
22860 [MM_DEBUG] (grub_debug_memalign): New function.
22861
22862 * kern/misc.c (grub_abort): Print a newline to distinguish
22863 the message.
22864
22865 * kern/main.c (grub_main): Call grub_machine_set_prefix and
22866 grub_set_root_dev after loading modules. This is necessary when
22867 setting a prefix depends on modules.
22868
22869 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
22870 (grub_efi_print_device_path): ... this.
22871 (grub_efi_get_filename): New prototype.
22872 (grub_efi_set_prefix): Likewise.
22873
22874 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
22875 and grub/disk.h.
22876 (grub_efidisk_get_device_handle): New prototype.
22877 (grub_efidisk_get_device_name): Likewise.
22878
22879 * include/grub/mm.h: Include config.h.
22880 (MM_DEBUG): Removed.
22881 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
22882 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
22883 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
22884 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
22885 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
22886 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
22887 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
22888 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
22889 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
22890
22891 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
22892
22893 * disk/efi/efidisk.c: Include grub/partition.h.
22894 (iterate_child_devices): New function.
22895 (add_device): First, compare only last device path nodes, so that
22896 devices are sorted by the types.
22897 (grub_efidisk_get_device_handle): New function.
22898 (grub_efidisk_get_device_name): Likewise.
22899
22900 * configure.ac (--enable-mm-debug): New option to enable the
22901 memory manager debugging feature. This makes the binary much
22902 bigger, so is disabled by default.
22903
9cacaa17 229042006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
22905
22906 Use grub_abort instead of grub_stop, and grub_exit must be
22907 define in each architecture now. Also, this change adds support
22908 for EFI disks.
f19dbdb7 22909
9cacaa17 22910 * util/i386/pc/grub-probefs.c: Include grub/term.h.
22911 (grub_getkey): New function.
22912 (grub_term_get_current): Likewise.
22913
22914 * util/i386/pc/grub-setup.c: Include grub/term.h.
22915 (grub_getkey): New function.
22916 (grub_term_get_current): Likewise.
22917
22918 * util/misc.c (grub_stop): Renamed to ...
22919 (grub_exit): ... this.
22920
22921 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
22922 (grub_exit): ... this.
22923 (grub_machine_init): Use grub_abort instead of abort.
22924 (grub_stop): Removed.
22925
22926 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
22927 abort.
22928
22929 * kern/i386/pc/startup.S (grub_exit): New function.
22930 (cold_reboot): New label.
22931
22932 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
22933 (grub_efi_init): Call grub_efidisk_init.
22934 (grub_efi_fini): Call grub_efidisk_fini.
22935
22936 * kern/efi/efi.c: Include grub/mm.h.
22937 (grub_efi_console_control_guid): Renamed to ...
22938 (console_control_guid): ... this.
22939 (grub_efi_loaded_image_guid): Renamed to ...
22940 (loaded_image_guid): ... this.
22941 (grub_efi_locate_handle): New function.
22942 (grub_efi_open_protocol): Likewise.
22943 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
22944 GRUB_EFI_CONSOLE_CONTROL_GUID.
22945 (grub_efi_exit): Removed.
22946 (grub_stop): Likewise.
22947 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
22948 (grub_exit): New function.
22949 (grub_print_device_path): Likewise.
22950
22951 * kern/rescue.c (grub_rescue_cmd_exit): New function.
22952 (grub_enter_rescue_mode): Register "exit".
22953
22954 * kern/misc.c (grub_real_dprintf): A cosmetic change.
22955 (grub_abort): New function.
22956
22957 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
22958
22959 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
22960
22961 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
22962
22963 * include/grub/efi/efi.h (grub_efi_exit): Removed.
22964 (grub_print_device_path): New prototype.
22965 (grub_efi_locate_handle): Likewise.
22966 (grub_efi_open_protocol): Likewise.
22967
22968 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
22969 * disk/efi/efidisk.c: Likewise.
22970
22971 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
22972
22973 * include/grub/efi/console_control.h
22974 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
22975
22976 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
22977 last 8 bytes as an array.
22978 (GRUB_EFI_DISK_IO_GUID): New macro.
22979 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
22980 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
22981 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
22982 grub_uint8_t.
22983 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
22984 (struct grub_efi_device_path): Rename the member "sub_type" to
22985 "subtype".
22986 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
22987 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
22988 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
22989 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
22990 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
22991 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
22992 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
22993 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
22994 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
22995 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
22996 (struct grub_efi_pci_device_path): New structure.
22997 (grub_efi_pci_device_path_t): New type.
22998 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
22999 (struct grub_efi_pccard_device_path): New structure.
23000 (grub_efi_pccard_device_path_t): New type.
23001 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23002 (struct grub_efi_memory_mapped_device_path): New structure.
23003 (grub_efi_memory_mapped_device_path_t): New type.
23004 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23005 (struct grub_efi_vendor_device_path): New structure.
23006 (grub_efi_vendor_device_path_t): New type.
23007 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23008 (struct grub_efi_controller_device_path): New structure.
23009 (grub_efi_controller_device_path_t): New type.
23010 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23011 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23012 (struct grub_efi_acpi_device_path): New structure.
23013 (grub_efi_acpi_device_path_t): New type.
23014 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23015 (struct grub_efi_expanded_acpi_device_path): New structure.
23016 (grub_efi_expanded_acpi_device_path_t): New type.
23017 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23018 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23019 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23020 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23021 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23022 (struct grub_efi_atapi_device_path): New structure.
23023 (grub_efi_atapi_device_path_t): New type.
23024 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23025 (struct grub_efi_fibre_channel_device_path): New structure.
23026 (grub_efi_fibre_channel_device_path_t): New type.
23027 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23028 (struct grub_efi_1394_device_path): New structure.
23029 (grub_efi_1394_device_path_t): New type.
23030 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23031 (struct grub_efi_usb_device_path): New structure.
23032 (grub_efi_usb_device_path_t): New type.
23033 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23034 (struct grub_efi_usb_class_device_path): New structure.
23035 (grub_efi_usb_class_device_path_t): New type.
23036 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23037 (struct grub_efi_i2o_device_path): New structure.
23038 (grub_efi_i2o_device_path_t): New type.
23039 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23040 (struct grub_efi_mac_address_device_path): New structure.
23041 (grub_efi_mac_address_device_path_t): New type.
23042 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23043 (struct grub_efi_ipv4_device_path): New structure.
23044 (grub_efi_ipv4_device_path_t): New type.
23045 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23046 (struct grub_efi_ipv6_device_path): New structure.
23047 (grub_efi_ipv6_device_path_t): New type.
23048 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23049 (struct grub_efi_infiniband_device_path): New structure.
23050 (grub_efi_infiniband_device_path_t): New type.
23051 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23052 (struct grub_efi_uart_device_path): New structure.
23053 (grub_efi_uart_device_path_t): New type.
23054 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23055 (struct grub_efi_vendor_messaging_device_path): New structure.
23056 (grub_efi_vendor_messaging_device_path_t): New type.
23057 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23058 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23059 (struct grub_efi_hard_drive_device_path): New structure.
23060 (grub_efi_hard_drive_device_path_t): New type.
23061 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23062 (struct grub_efi_cdrom_device_path): New structure.
23063 (grub_efi_cdrom_device_path_t): New type.
23064 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23065 (struct grub_efi_vendor_media_device_path): New structure.
23066 (grub_efi_vendor_media_device_path_t): New type.
23067 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23068 (struct grub_efi_file_path_device_path): New structure.
23069 (grub_efi_file_path_device_path_t): New type.
23070 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23071 (struct grub_efi_protocol_device_path): New structure.
23072 (grub_efi_protocol_device_path_t): New type.
23073 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23074 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23075 (struct grub_efi_bios_device_path): New structure.
23076 (grub_efi_bios_device_path_t): New type.
23077 (struct grub_efi_disk_io): New structure.
23078 (grub_efi_disk_io_t): New type.
23079 (struct grub_efi_block_io_media): New structure.
23080 (grub_efi_block_io_media_t): New type.
23081 (struct grub_efi_block_io): New structure.
23082 (grub_efi_block_io_t): New type.
23083
23084 * include/grub/misc.h (grub_stop): Removed.
23085 (grub_exit): New prototype.
23086 (grub_abort): Likewise.
23087
23088 * include/grub/disk.h (enum grub_disk_dev_id): Added
23089 GRUB_DISK_DEVICE_EFIDISK_ID.
23090
23091 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23092 disk/efi/efidisk.c.
23093 (kernel_syms.lst): Remove the target if an error occurs.
23094
49986a9f 230952006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23096
23097 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23098 as it was simply too buggy.
23099
970d3b8a 231002006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23101
23102 * kern/misc.c (grub_lltoa): New function.
23103 (grub_vsprintf): Added support for the long long suffix,
23104 i.e. "ll".
23105
ff04ec24 231062006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23107
23108 * Makefile.in (LDFLAGS): Add variable.
23109 (LD): Remove variable.
23110 * configure.ac: Add -m32 to LDFLAGS.
23111 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23112 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23113 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23114 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23115 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23116 variables.
23117 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23118 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23119 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23120
37e5e1a4 231212006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23122
23123 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23124 length for unknown glyph.
23125
c352d8dd 231262006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23127
2eab1c0d 23128 Add support for pre-loaded modules into the EFI port.
f19dbdb7 23129
2eab1c0d 23130 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
23131 completely. Accept one more argument DIR. The caller has changed.
23132
23133 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
23134
23135 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
23136 (grub_efi_loaded_image_guid): New variable.
23137 (grub_efi_get_loaded_image): New function.
23138 (grub_arch_modules_addr): Likewise.
23139
23140 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
23141 prototype.
23142
23143 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
23144 (struct grub_efi_loaded_image): New structure.
23145 (grub_efi_loaded_image_t): New type.
23146
231472006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23148
c352d8dd 23149 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
23150 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
23151 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
23152
6d01d6b4 231532006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
23154
23155 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23156
976a4ea0 231572006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23158
23159 * DISTLIST: Added include/grub/efi/console.h,
23160 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23161 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23162
23163 * include/grub/efi/console.h: New file.
23164 * include/grub/efi/time.h: Likewise.
23165 * include/grub/i386/efi/kernel.h: Likewise.
23166 * kern/efi/init.c: Likewise.
23167 * kern/efi/mm.c: Likewise.
23168 * term/efi/console.c: Likewise.
f19dbdb7 23169
976a4ea0 23170 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23171 (grub_stop): Removed.
23172 (grub_get_rtc): Likewise.
23173 (grub_machine_init): Simply call grub_efi_init.
23174 (grub_machine_fini): Call grub_efi_fini.
23175
23176 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23177 (grub_efi_output_string): Removed.
23178 (grub_efi_stall): New function.
23179 (grub_stop): Likewise.
23180 (grub_get_rtc): Likewise.
23181
23182 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23183 (grub_efi_stall): New prototype.
23184 (grub_efi_allocate_pages): Likewise.
23185 (grub_efi_free_pages): Likewise.
23186 (grub_efi_get_memory_map): Likewise.
23187 (grub_efi_mm_init): Likewise.
23188 (grub_efi_mm_fini): Likewise.
23189 (grub_efi_init): Likewise.
23190 (grub_efi_fini): Likewise.
23191
23192 * include/grub/i386/efi/time.h: Do not include
23193 grub/symbol.h. Include grub/efi/time.h.
23194 (GRUB_TICKS_PER_SECOND): Removed.
23195 (grub_get_rtc): Likewise.
23196
23197 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23198 Added padding. The EFI spec is buggy.
23199 (GRUB_EFI_BLACK): New macro.
23200 (GRUB_EFI_BLUE): Likewise.
23201 (GRUB_EFI_GREEN): Likewise.
23202 (GRUB_EFI_CYAN): Likewise.
23203 (GRUB_EFI_RED): Likewise.
23204 (GRUB_EFI_MAGENTA): Likewise.
23205 (GRUB_EFI_BROWN): Likewise.
23206 (GRUB_EFI_LIGHTGRAY): Likewise.
23207 (GRUB_EFI_BRIGHT): Likewise.
23208 (GRUB_EFI_DARKGRAY): Likewise.
23209 (GRUB_EFI_LIGHTBLUE): Likewise.
23210 (GRUB_EFI_LIGHTGREEN): Likewise.
23211 (GRUB_EFI_LIGHTCYAN): Likewise.
23212 (GRUB_EFI_LIGHTRED): Likewise.
23213 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23214 (GRUB_EFI_YELLOW): Likewise.
23215 (GRUB_EFI_WHITE): Likewise.
23216 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23217 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23218 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23219 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23220 (GRUB_EFI_BACKGROUND_RED): Likewise.
23221 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23222 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23223 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23224 (GRUB_EFI_TEXT_ATTR): Likewise.
23225
23226 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23227 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23228 (kernel_mod_HEADERS): Added efi/time.h.
23229
83709125 232302006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23231
23232 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23233 include/grub/efi/api.h, include/grub/efi/console_control.h,
23234 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23235 include/grub/i386/efi/time.h, kern/efi/efi.c,
23236 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23237 and util/i386/efi/grub-mkimage.c.
23238
23239 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23240
23241 * genmk.rb (PModule#rule): Do not export symbols if
23242 #{prefix}_EXPORTS is set to "no".
23243
23244 * conf/i386-efi.mk: New file.
23245 * conf/i386-efi.rmk: Likewise.
23246 * include/grub/efi/api.h: Likewise.
23247 * include/grub/efi/console_control.h: Likewise.
23248 * include/grub/efi/efi.h: Likewise.
23249 * include/grub/efi/pe32.h: Likewise.
23250 * include/grub/i386/efi/time.h: Likewise.
23251 * kern/efi/efi.c: Likewise.
23252 * kern/i386/efi/init.c: Likewise.
23253 * kern/i386/efi/startup.S: Likewise.
23254 * util/i386/efi/grub-mkimage.c: Likewise.
23255
232562006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 23257
23258 * include/grub/script.h: Include <grub/parser.h> and
23259 "grub_script.tab.h".
23260 (struct grub_lexer_param): New struct.
23261 (struct grub_parser_param): Likewise.
23262 (grub_script_create_arglist): Pass the state in an argument.
23263 (grub_script_add_arglist): Likewise.
23264 (grub_script_create_cmdline): Likewise.
23265 (grub_script_create_cmdblock): Likewise.
23266 (grub_script_create_cmdif): Likewise.
23267 (grub_script_create_cmdmenu): Likewise.
23268 (grub_script_add_cmd): Likewise.
23269 (grub_script_arg_add): Likewise.
23270 (grub_script_lexer_ref): Likewise.
23271 (grub_script_lexer_deref): Likewise.
23272 (grub_script_lexer_record_start): Likewise.
23273 (grub_script_lexer_record_stop): Likewise.
23274 (grub_script_mem_record): Likewise.
23275 (grub_script_mem_record_stop): Likewise.
23276 (grub_script_malloc): Likewise.
23277 (grub_script_yylex): Likewise.
23278 (grub_script_yyparse): Likewise.
23279 (grub_script_yyerror): Likewise.
23280 (grub_script_yylex): Likewise.
23281 (grub_script_lexer_init): Return the state.
23282
23283 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23284 (grub_script_lexer_done): Likewise.
23285 (grub_script_lexer_getline): Likewise.
23286 (grub_script_lexer_refs): Likewise.
23287 (script): Likewise.
23288 (newscript): Likewise.
23289 (record): Likewise.
23290 (recording): Likewise.
23291 (recordpos): Likewise.
23292 (recordlen): Likewise.
23293 (grub_script_lexer_init): Return the state instead of setting
23294 global variables.
23295 (grub_script_lexer_ref): Use the newly added argument for state
23296 instead of globals.
23297 (grub_script_lexer_deref): Likewise.
23298 (grub_script_lexer_record_start): Likewise.
23299 (grub_script_lexer_record_stop): Likewise.
23300 (recordchar): Likewise.
23301 (nextchar): Likewise.
23302 (grub_script_yylex2): Likewise.
23303 (grub_script_yylex): Likewise.
23304 (grub_script_yyerror): Likewise.
23305
23306 * normal/parser.y (func_mem): Removed variable.
23307 (menu_entry): Likewise.
23308 (err): Likewise.
23309 (%lex-param): New parser option.
23310 (%parse-param): Likewise.
23311 (script): Always return the AST.
23312 (argument): Pass the state around.
23313 (arguments): Likewise.
23314 (grubcmd): Likewise.
23315 (commands): Likewise.
23316 (function): Likewise.
23317 (menuentry): Likewise.
23318 (if_statement): Likewise.
23319 (if): Likewise.
23320
23321 * normal/script.c (grub_script_memused): Removed variable.
23322 (grub_script_parsed): Likewise.
23323 (grub_script_malloc): Added a state argument. Use that instead of
23324 global variables.
23325 (grub_script_mem_record): Likewise.
23326 (grub_script_mem_record_stop): Likewise.
23327 (grub_script_arg_add): Likewise.
23328 (grub_script_add_arglist): Likewise.
23329 (grub_script_create_cmdline): Likewise.
23330 (grub_script_create_cmdif): Likewise.
23331 (grub_script_create_cmdmenu): Likewise.
23332 (grub_script_add_cmd): Likewise.
23333 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 23334
e2a8c904 233352006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 23336
23337 * normal/command.c (grub_command_init): Remove the title command.
23338
23339 * normal/lexer.c (grub_script_yylex): Renamed from this...
23340 (grub_script_yylex2): ... to this.
23341 (grub_script_yylex): New function. Temporary
23342 introduced to filter some tokens.
23343 (grub_script_yyerror): Print a newline.
23344
23345 * normal/main.c (read_config_file): Output information about the
23346 lines that contain errors. Wait for a key after all lines have
23347 been processed. Don't return an empty menu.
23348
23349 * normal/parser.y (func_mem): Don't initialize.
23350 (menu_entry): Likewise.
23351 (err): New variable.
23352 (script): Don't return anything when an error was encountered.
23353 (ws, returns): Removed rules.
23354 (argument): Disabled concatenated variable support.
23355 (arguments): Remove explicit separators.
23356 (grubcmd): Likewise.
23357 (function): Likewise.
23358 (menuentry): Likewise.
23359 (if): Likewise.
23360 (commands): Likewise. Add error handling.
23361
23362 * normal/script.c (grub_script_create_cmdline): If
23363 `grub_script_parsed' is 0, assume the parser encountered an error.
23364
c9a86192 233652006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
23366
23367 * configure.ac: Add support for EFI. Fix the typo
23368 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
23369
70f3b243 233702006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23371
23372 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
23373 foreign multibyte characters should be shown correctly.
23374
65f201ad 233752006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23376
23377 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
23378 calculation.
23379 (read_config_file): Made it to close file before returning.
23380
b4b93674 233812006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
23382
23383 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
23384 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
23385 video/i386/pc/vbefill.c.
23386
23387 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
23388 video/i386/pc/vbefill.c.
23389
23390 * include/grub/video.h (grub_video_blit_format): New enum.
23391 (grub_video_mode_info): Added new member blit_format.
23392 (grub_video_get_blit_format): New function prototype.
23393
23394 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
23395 function prototype.
23396 (grub_video_vbe_map_rgb): Likewise.
23397 (grub_video_vbe_unmap_color): Likewise.
23398
23399 * include/grub/i386/pc/vbeblit.h: New file.
23400
23401 * include/grub/i386/pc/vbefill.h: New file.
23402
23403 * video/video.c (grub_video_get_blit_format): New function.
23404 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
23405 (grub_video_vbe_map_rgb): Likewise.
23406 (grub_video_vbe_unmap_color): Likewise.
23407
23408 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
23409 optimized fills.
23410 (grub_video_vbe_blit_render_target): Changed to use more optimized
23411 blits.
23412 (grub_video_vbe_setup): Added detection for optimized settings.
23413 (grub_video_vbe_create_render_target): Likewise.
23414
23415 * video/i386/pc/vbeblit.c: New file.
23416
23417 * video/i386/pc/vbefill.c: New file.
23418
c2379b9c 234192006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
23420
23421 * font/manager.c (grub_font_get_glyph): Removed font fixup from
23422 here...
23423
23424 * util/unifont2pff.rb: ... and moved it to here. Improved argument
23425 parsing to support both hex and dec ranges. If filename was missing
23426 show usage information.
23427
bd0d7896 234282006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
23429
23430 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
23431 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
23432
23433 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
23434 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
23435 (video_mod_SOURCES): Added.
23436 (video_mod_CFLAGS): Likewise.
23437 (video_mod_LDFLAGS): Likewise.
23438 (gfxterm_mod_SOURCES): Likewise.
23439 (gfxterm_mod_CFLAGS): Likewise.
23440 (gfxterm_mod_LDFLAGS): Likewise.
23441 (videotest_mod_SOURCES): Likewise.
23442 (videotest_mod_CFLAGS): Likewise.
23443 (videotest_mod_LDFLAGS): Likewise.
23444 (vesafb_mod_SOURCES): Removed.
23445 (vesafb_mod_CFLAGS): Likewise.
23446 (vesafb_mod_LDFLAGS): Likewise.
23447 (vga_mod_SOURCES): Likewise.
23448 (vga_mod_CFLAGS): Likewise.
23449 (vga_mod_LDFLAGS): Likewise.
23450
23451 * commands/videotest.c: New file.
23452
23453 * font/manager.c (fill_with_default_glyph): Modified to use
23454 grub_font_glyph.
23455 (grub_font_get_glyph): Likewise.
23456 (fontmanager): Renamed from this...
23457 (font_manager): ... to this.
23458
23459 * include/grub/font.h (grub_font_glyph): Added new structure.
23460 (grub_font_get_glyph): Modified to use grub_font_glyph.
23461
23462 * include/grub/misc.h (grub_abs): Added as inline function.
23463
23464 * include/grub/video.h: New file.
23465
23466 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
23467 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
23468 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
23469 (grub_vbe_get_controller_info): Renamed from this...
23470 (grub_vbe_bios_get_controller_info): ... to this.
23471 (grub_vbe_get_mode_info): Renamed from this...
23472 (grub_vbe_bios_get_mode_info): ... to this.
23473 (grub_vbe_set_mode): Renamed from this...
23474 (grub_vbe_bios_set_mode): ... to this.
23475 (grub_vbe_get_mode): Renamed from this...
23476 (grub_vbe_bios_get_mode): ... to this.
23477 (grub_vbe_set_memory_window): Renamed from this...
23478 (grub_vbe_bios_set_memory_window): ... to this.
23479 (grub_vbe_get_memory_window): Renamed from this...
23480 (grub_vbe_bios_get_memory_window): ... to this.
23481 (grub_vbe_set_scanline_length): Renamed from this...
23482 (grub_vbe_set_scanline_length): ... to this.
23483 (grub_vbe_get_scanline_length): Renamed from this...
23484 (grub_vbe_bios_get_scanline_length): ... to this.
23485 (grub_vbe_set_display_start): Renamed from this...
23486 (grub_vbe_bios_set_display_start): ... to this.
23487 (grub_vbe_get_display_start): Renamed from this...
23488 (grub_vbe_bios_get_display_start): ... to this.
23489 (grub_vbe_set_palette_data): Renamed from this...
23490 (grub_vbe_bios_set_palette_data): ... to this.
23491 (grub_vbe_set_pixel_rgb): Removed.
23492 (grub_vbe_set_pixel_index): Likewise.
23493
23494 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
23495 from this...
23496 (grub_vbe_bios_get_controller_info): ... to this.
23497 (grub_vbe_get_mode_info): Renamed from this...
23498 (grub_vbe_bios_get_mode_info): ... to this.
23499 (grub_vbe_set_mode): Renamed from this...
23500 (grub_vbe_bios_set_mode): ... to this.
23501 (grub_vbe_get_mode): Renamed from this...
23502 (grub_vbe_bios_get_mode): ... to this.
23503 (grub_vbe_set_memory_window): Renamed from this...
23504 (grub_vbe_bios_set_memory_window): ... to this.
23505 (grub_vbe_get_memory_window): Renamed from this...
23506 (grub_vbe_bios_get_memory_window): ... to this.
23507 (grub_vbe_set_scanline_length): Renamed from this...
23508 (grub_vbe_set_scanline_length): ... to this.
23509 (grub_vbe_get_scanline_length): Renamed from this...
23510 (grub_vbe_bios_get_scanline_length): ... to this.
23511 (grub_vbe_set_display_start): Renamed from this...
23512 (grub_vbe_bios_set_display_start): ... to this.
23513 (grub_vbe_get_display_start): Renamed from this...
23514 (grub_vbe_bios_get_display_start): ... to this.
23515 (grub_vbe_set_palette_data): Renamed from this...
23516 (grub_vbe_bios_set_palette_data): ... to this.
23517 (grub_vbe_bios_get_controller_info): Fixed problem with registers
23518 getting corrupted after calling it. Added more pushes and pops.
23519 (grub_vbe_bios_set_mode): Likewise.
23520 (grub_vbe_bios_get_mode): Likewise.
23521 (grub_vbe_bios_get_memory_window): Likewise.
23522 (grub_vbe_bios_set_scanline_length): Likewise.
23523 (grub_vbe_bios_get_scanline_length): Likewise.
23524 (grub_vbe_bios_get_display_start): Likewise.
23525 (grub_vbe_bios_set_palette_data): Likewise.
23526
23527 * normal/cmdline.c (cl_set_pos): Refresh the screen.
23528 (cl_insert): Likewise.
23529 (cl_delete): Likewise.
23530
23531 * term/gfxterm.c: New file.
23532
23533 * term/i386/pc/vesafb.c: Removed file.
23534
23535 * video/video.c: New file.
23536
23537 * video/i386/pc/vbe.c (real2pm): Added new function.
23538 (grub_video_vbe_draw_pixel): Likewise.
23539 (grub_video_vbe_get_video_ptr): Likewise.
23540 (grub_video_vbe_get_pixel): Likewise
23541 (grub_video_vbe_init): Likewise.
23542 (grub_video_vbe_fini): Likewise.
23543 (grub_video_vbe_setup): Likewise.
23544 (grub_video_vbe_get_info): Likewise.
23545 (grub_video_vbe_set_palette): Likewise.
23546 (grub_video_vbe_get_palette): Likewise.
23547 (grub_video_vbe_set_viewport): Likewise.
23548 (grub_video_vbe_get_viewport): Likewise.
23549 (grub_video_vbe_map_color): Likewise.
23550 (grub_video_vbe_map_rgb): Likewise.
23551 (grub_video_vbe_map_rgba): Likewise.
23552 (grub_video_vbe_unmap_color): Likewise.
23553 (grub_video_vbe_fill_rect): Likewise.
23554 (grub_video_vbe_blit_glyph): Likewise.
23555 (grub_video_vbe_blit_bitmap): Likewise.
23556 (grub_video_vbe_blit_render_target): Likewise.
23557 (grub_video_vbe_scroll): Likewise.
23558 (grub_video_vbe_swap_buffers): Likewise.
23559 (grub_video_vbe_create_render_target): Likewise.
23560 (grub_video_vbe_delete_render_target): Likewise.
23561 (grub_video_vbe_set_active_render_target): Likewise.
23562 (grub_vbe_set_pixel_rgb): Remove function.
23563 (grub_vbe_set_pixel_index): Likewise.
23564 (index_color_mode): Remove static variable.
23565 (active_mode): Likewise.
23566 (framebuffer): Likewise.
23567 (bytes_per_scan_line): Likewise.
23568 (grub_video_vbe_adapter): Added new static variable.
23569 (framebuffer): Likewise.
23570 (render_target): Likewise.
23571 (initial_mode): Likewise.
23572 (mode_in_use): Likewise.
23573 (mode_list): Likewise.
23574
5f97350b 235752006-03-10 Marco Gerards <marco@gnu.org>
23576
23577 * configure.ac (AC_INIT): Bumped to 1.93.
23578
23579 * DISTLIST: Added `include/grub/hfs.h'.
23580
a3c5c6f8 235812006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23582
23583 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23584 18H, which might help the BIOS falling back to next boot media.
23585
6de53d26 235862006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23587
23588 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23589 Poe Chen <poe.poechen@gmail.com>.
23590
77c4a393 235912006-01-17 Marco Gerards <marco@gnu.org>
23592
23593 * include/grub/normal.h: Include <grub/script.h>.
23594 (grub_command_list): Removed struct.
23595 (grub_command_list_t): Removed type.
23596 (grub_menu_entry): Remove members `num' and `command_list'. Add
23597 members `commands' and `sourcecode'.
23598 * include/grub/script.h: Add inclusion guards.
23599 (grub_script_cmd_menuentry): New struct.
23600 (grub_script_execute_menuentry): New prototype.
23601 (grub_script_lexer_record_start): Likewise.
23602 (grub_script_lexer_record_stop): Likewise.
23603 * normal/execute.c (grub_script_execute_menuentry): New function.
23604 * normal/lexer.c (record, recording, recordpos, recordlen): New
23605 variables.
23606 (grub_script_lexer_record_start): New function.
23607 (grub_script_lexer_record_stop): Likewise.
23608 (recordchar): Likewise.
23609 (nextchar): Likewise.
23610 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23611 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23612 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23613 (current_menu): New variable.
23614 (free_menu): Mainly rewritten.
23615 (grub_normal_menu_addentry): New function.
23616 (read_config_file): Rewritten.
23617 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 23618 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 23619 the menu entry.
23620 (run): Mainly rewritten.
23621 * normal/parser.y (menu_entry): New variable.
23622 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23623 (menuentry): New rule.
23624 (command): Add `menuentry'.
23625 (if_statement): Allow additional returns before `fi'.
23626 * normal/script.c (grub_script_create_cmdmenu): New function.
23627
144f1f98 236282006-01-03 Marco Gerards <marco@gnu.org>
23629
23630 * INSTALL: GNU Bison is required.
23631 * configure.ac: Rewritten the test to detect Bison.
23632 * Makefile.in (YACC): New variable. Reported by Xun Sun
23633 <xun.sun.cn@gmail.com>.
23634
af4b2d89 236352006-01-03 Marco Gerards <marco@gnu.org>
23636
23637 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23638 the HFS+ filesystem to filesystem blocks.
23639 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23640 GCC warning is silenced.
23641
15643b71 236422006-01-03 Marco Gerards <marco@gnu.org>
23643
23644 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23645 read from disk from big endian to host byte order.
23646
00905879 236472006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23648
23649 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23650 documentation.
23651 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23652 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23653 embedded HFS+ filesystem.
23654 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23655 (grub_hfs_sblock): Move from here...
23656 * include/grub/hfs.h: To here... New file.
23657 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23658 documentation.
23659 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23660 New macros.
23661 (grub_hfsplus_volheader): Change type of member `magic' to
23662 `grub_uint16_t'.
23663 (grub_hfsplus_data): Add new member `embedded_offset'.
23664 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23665 returned block.
23666 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23667 Calculate the offset.
23668
8899bc3e 236692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23670
23671 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23672 Removed.
23673 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23674
ae8c0277 236752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23676
23677 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23678 ENV->NAME is NULL after allocating ENV->VALUE.
23679
07084456 236802005-12-25 Marco Gerards <marco@gnu.org>
23681
23682 * kern/env.c (grub_env_set): Rewritten the error handling code.
23683
4750f5f1 236842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23685
23686 * geninit.sh: Made more robust, and more portable.
23687
50214199 236882005-12-25 Marco Gerards <marco@gnu.org>
23689
23690 Add support for Apple HFS+ filesystems.
f19dbdb7 23691
50214199 23692 * fs/hfsplus.c: New file.
23693
23694 * DISTLIST: Added `fs/hfsplus.c'.
23695
23696 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23697 (hfsplus_mod_SOURCES): New variable.
23698 (hfsplus_mod_CFLAGS): Likewise.
23699 (hfsplus_mod_LDFLAGS): Likewise.
23700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23701 (grub_setup_SOURCES): Likewise.
23702 (grub_mkdevicemap_SOURCES): Likewise.
23703 (grub_emu_SOURCES): Likewise.
23704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23705
23706 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23707
23708 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23709
befaed6c 237102005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23711
23712 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23713 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23714 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23715 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23716 normal/lexer.c, normal/parser.y, normal/script.c, and
23717 partmap/gpt.c.
23718 Removed kern/sparc64/cache.c.
23719
23720 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23721 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23722 grub_emu_init.c.
23723
23724 * configure.ac (AC_INIT): Bumped to 1.92.
23725
6a124103 237262005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23727
23728 * kern/err.c (grub_error_push): Added new function to support error
23729 stacks.
23730 (grub_error_pop): Likewise.
23731 (grub_error_stack_items): New local variable to support error stacks.
23732 (grub_error_stack_pos): Likewise.
23733 (grub_error_stack_assert): Likewise.
23734 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23735 stack depth.
23736 (grub_print_error): Added support to print errors from error stack.
23737
23738 * include/grub/err.h (grub_error_push): Added function prototype.
23739 (grub_error_pop): Likewise.
23740
be973c1b 237412005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23742
23743 * configure.ac: Accept `powerpc64' as host_cpu.
23744 (amd64): Rename to `biarch32'.
23745
23746 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23747 non-cacheline-aligned addresses.
23748
23749 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23750 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23751 if `size' is non-zero.
23752
b04216ab 237532005-12-03 Marco Gerards <mgerards@xs4all.nl>
23754
23755 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23756 and `cd' to make sure the filename is not prefixed with a
23757 directory name.
23758 (pkgdata_MODULES): Add `gpt.mod'.
23759 (gpt_mod_SOURCES): New variable.
23760 (gpt_mod_CFLAGS): Likewise.
23761 (gpt_mod_LDFLAGS): Likewise.
23762
23763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23764
23765 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23766 New macro.
23767
23768 * partmap/gpt.c: New file.
23769
23770 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23771 GPT partition map is detected.
23772
41730ed9 237732005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
23774
23775 * commands/i386/pc/play.c: New file.
23776 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
23777 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
23778 macros.
f19dbdb7 23779
95dc3643 237802005-11-27 Marco Gerards <mgerards@xs4all.nl>
23781
23782 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
23783 ((unused))' to silence gcc warning.
23784
1569ec51 237852005-11-26 Hollis Blanchard <hollis@penguinppc.org>
23786
23787 * configure.ac: Correct `AC_PROG_YACC' test.
23788
9abde152 237892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23790
23791 * util/powerpc/ieee1275/grub-install.in: Run the mount point
23792 check before installing files.
23793
44b83271 237942005-11-22 Mike Small <smallm@panix.com>
23795
23796 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
23797 number regex so multidigit numbers are recognized correctly.
23798
237992005-11-22 Mike Small <smallm@panix.com>
23800
23801 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
23802 debugging message before attempting to claim memory.
23803 (grub_rescue_cmd_initrd): Add a claim debugging message and try
23804 multiple addresses in case of failure.
23805
9c12956b 238062005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23807
23808 * term/tparm.c (get_space): Remove empty `if' statement.
23809
23810 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
23811
23812 * kern/parser.c (check_varstate): Rename `state' to 's'.
23813
aeaf81d9 238142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23815
23816 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
23817 variable definitions to the beginning of each function. Sort stack
23818 variables by size.
23819 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
23820 `buf' argument to `char *'.
23821
79bbb63f 238222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23823
23824 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
23825 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 23826 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 23827 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23828 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23829 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23830 configfile.mod, search.mod, gzio.mod and test.mod.
23831 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23832 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23833 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23834 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23835 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23836 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23837 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23838 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23839 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23840 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23841 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23842 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23843 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23844 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23845 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23846 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23847 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23848 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23849 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23850 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23851 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23852 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23853 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
23854
23855 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
23856 `grep --include'.
23857 (pkgdata_MODULES): Add test.mod.
23858
233b1628 238592005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23860
23861 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
23862 appending to variables with "+=".
23863 (PModule): Use full pathname to generate *.lst filenames.
23864
23865 * Makefile.in: Fixed list rules moved from genmk.rb.
23866 (.DELETE_ON_ERROR): New special target.
23867 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
23868
23869 * conf/i386-pc.rmk: Include conf/common.mk.
23870 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 23871 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 23872 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23873 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23874 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23875 configfile.mod, search.mod, gzio.mod and test.mod.
23876 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23877 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23878 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23879 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23880 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23881 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23882 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23883 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23884 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23885 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23886 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23887 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23888 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23889 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23890 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23891 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23892 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23893 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23894 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23895 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23896 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23897 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23898 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
23899 here...
23900 * conf/common.rmk: ... to here. New file.
23901
23902 * conf/common.mk: New file.
23903
16f820c8 239042005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
23905
23906 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
23907 (grub_script.tab.c): ... here.
23908
23909 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
23910 (grub_script.tab.c): ... here.
23911
23912 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
23913 (grub_script.tab.c): ... here.
23914
23915 * normal/command.c (grub_command_find): Fixed a memory leak of
23916 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
23917
63ba1554 239182005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23919
23920 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
23921 "@" which marks the start of a comment on ARM.
23922 (VARIABLE): Likewise.
23923
7f67dc13 239242005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23925
79bbb63f 23926 Add support for Linux/ADFS partition tables.
7f67dc13 23927
23928 * partmap/acorn.c: New file.
23929
23930 * include/grub/acorn_filecore.h: Likewise.
23931
23932 * DISTLIST: Added `partmap/acorn.c' and
23933 `include/grub/acorn_filecore.h'.
f19dbdb7 23934
7f67dc13 23935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23936 `partmap/acorn.c'.
23937 (pkgdata_MODULES): Add `acorn.mod'.
23938 (acorn_mod_SOURCES): New variable.
23939 (acorn_mod_CFLAGS): Likewise.
23940
23941 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23942 `partmap/acorn.c'.
23943 (pkgdata_MODULES): Add `acorn.mod'.
23944 (acorn_mod_SOURCES): New variable.
23945 (acorn_mod_CFLAGS): Likewise.
23946
23947 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
23948 (pkgdata_MODULES): Add `acorn.mod'.
23949 (acorn_mod_SOURCES): New variable.
23950 (acorn_mod_CFLAGS): Likewise.
23951 (acorn_mod_LDFLAGS): Likewise.
23952
23953 * include/types.h (grub_disk_addr_t): New typedef.
23954
6d099807 239552005-11-13 Marco Gerards <mgerards@xs4all.nl>
23956
23957 * geninit.sh: New file.
23958
23959 * geninitheader.sh: Likewise.
23960
23961 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
23962 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
23963 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
23964 * commands/configfile.c (grub_configfile_init)
23965 (grub_configfile_fini): Likewise.
23966 * commands/default.c (grub_default_init, grub_default_fini):
23967 Likewise.
23968 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
23969 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
23970 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
23971 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
23972 Likewise.
23973 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
23974 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
23975 Likewise.
23976 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 23977 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 23978 Likewise.
23979 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
23980 Likewise.
fe6b695a 23981 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 23982 Likewise.
23983 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
23984 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
23985 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
23986 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
23987 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
23988 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
23989 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
23990 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
23991 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
23992 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
23993 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
23994 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
23995 * partmap/amiga.c (grub_amiga_partition_map_init)
23996 (grub_amiga_partition_map_fini): Likewise.
23997 * partmap/apple.c (grub_apple_partition_map_init)
23998 (grub_apple_partition_map_fini): Likewise.
23999 * partmap/pc.c (grub_pc_partition_map_init)
24000 (grub_pc_partition_map_fini): Likewise.
24001 * partmap/sun.c (grub_sun_partition_map_init,
24002 grub_sun_partition_map_fini): Likewise.
24003 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24004 Likewise.
24005
24006 * util/grub-emu.c: Include <grub_modules_init.h>.
24007 (main): Don't initialize and de-initialize any modules directly,
24008 use `grub_init_all' and `grub_fini_all' instead.
24009
24010 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24011 `grub_vesafb_mod_init'.
24012 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24013 all users.
24014 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24015 `grub_vga_mod_init'. Updated all users.
24016 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 24017
6d099807 24018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24019 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24020 rules.
24021
24022 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24023 Generate a function to initialize the module in utilities.
24024 Updated all callers.
24025 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24026 initialize the module in utilities. Updated all callers.
24027
9046bcf0 240282005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24029
24030 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24031 escape sequence and a literal ^L to clear the screen.
24032
24033 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24034 when returning from Open Firmware.
24035
d13ea639 240362005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24037
24038 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24039 (grub_ofconsole_height): Likewise.
24040 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24041 manually insert a '\n'.
24042 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24043 `grub_ofconsole_height'. Return early if these are already set.
24044
a8fcf206 240452005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24046
24047 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24048 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24049 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24050 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24051 and `normal/script.c'.
24052 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24053 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24054 (test_mod_SOURCES): New variable.
24055 (test_mod_CFLAGS): Likewise.
24056 (test_mod_LDFLAGS): Likewise.
24057 (pkgdata_MODULES): Add `test.mod'.
24058 (grub_script.tab.c): New rule.
24059 (grub_script.tab.h): Likewise.
24060
b6b32745 240612005-11-07 Marco Gerards <mgerards@xs4all.nl>
24062
24063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24064 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24065 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24066 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24067 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24068 (test_mod_SOURCES): New variable.
24069 (test_mod_CFLAGS): Likewise.
24070 (pkgdata_MODULES): Add `test.mod'.
24071 (grub_script.tab.c): New rule.
24072 (grub_script.tab.h): Likewise.
24073
daac212a 240742005-11-06 Marco Gerards <mgerards@xs4all.nl>
24075
24076 Add initial scripting support.
24077
24078 * commands/test.c: New file.
24079 * include/grub/script.h: Likewise.
24080 * normal/execute.c: Likewise.
24081 * normal/function.c: Likewise.
24082 * normal/lexer.c: Likewise.
24083 * normal/parser.y: Likewise.
24084 * normal/script.c: Likewise.
24085
24086 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 24087
daac212a 24088 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24089 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24090 `normal/function.c' and `normal/script.c'.
24091 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24092 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 24093 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24094 variables.
daac212a 24095 (pkgdata_MODULES): Add `test.mod'.
24096 (grub_script.tab.c): New rule.
24097 (grub_script.tab.h): Likewise.
24098
24099 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24100
24101 * include/grub/normal.h (grub_test_init): New prototype.
24102 (grub_test_fini): Likewise.
f19dbdb7 24103
daac212a 24104 * normal/command.c: Include <grub/script.h>.
24105 (grub_command_execute): Rewritten.
f19dbdb7 24106
daac212a 24107 * util/grub-emu.c (main): Call `grub_test_init' and
24108 `grub_test_fini'.
24109
77500b2b 241102005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24111
24112 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24113 to 0.
24114 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24115 there are no pending characters.
24116
e45deb9e 241172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24118
24119 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24120 `grub_strndup' to drop device arguments. Replace unnecessary
24121 `grub_strndup' with `grub_strdup'.
24122
4ce32619 241232005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24124
24125 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
24126 `debug' environment variable has been set.
24127
241282005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24129
4ce32619 24130 * Makefile.in (install-local): Use $(DATA).
24131 (uninstall): Likewise.
24132 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
24133 (sbin_UTILITIES): ... to here.
24134 (sbin_SCRIPTS): New variable.
24135 (grub_install_SOURCES): New variable.
24136 * util/powerpc/ieee1275/grub-install.in: New file.
24137 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
24138 variable.
24139 (add_segments): Call `grub_util_get_path'.
24140
25fe6f03 241412005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24142
24143 From Timothy Baldwin:
24144 * commands/ls.c (grub_ls_list_files): Close FILE with
24145 grub_file_close.
24146 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
24147
04ccf3ec 241482005-10-24 Marco Gerards <mgerards@xs4all.nl>
24149
24150 * include/grub/parser.h: New file.
24151
24152 * kern/parser.c: Likewise.
24153
24154 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24155 (grub_setup_SOURCES): Likewise.
24156 (grub_probefs_SOURCES): Likewise.
24157 (grub_emu_SOURCES): Likewise.
24158 (kernel_img_HEADERS): Add `parser.h'.
24159
24160 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24161 (grub_emu_SOURCES): Add `kern/parser.c'.
24162 (grubof_SOURCES): Likewise.
24163
24164 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24165 (grubof_SOURCES): Add `kern/parser.c'.
24166
24167 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24168
24169 * kern/misc.c (grub_split_cmdline): Removed function.
24170
24171 * kern/rescue.c: Include <grub/parser.h>.
24172 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24173 of `grub_split_cmdline'.
24174
24175 * normal/command.c: Include <grub/parser.h>.
24176 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24177 of `grub_split_cmdline'.
24178
24179 * normal/completion.c: Include <grub/parser.h>.
24180 (cmdline_state): New variable.
24181 (iterate_dir): End the filename with a quote depending on the
24182 command line state.
24183 (get_state): new function.
24184 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24185 split the arguments and determine the current argument. When the
24186 argument string is not quoted, escape all spaces.
24187
6d8f4b0e 241882005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24189
24190 * normal/sparc64/setjmp.S: New file.
24191
15cf03ed 241922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24193
24194 * include/grub/sparc64/libgcc.h: New file.
24195 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24196 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24197 normal/sparc64/setjmp.c.
24198
03e8661a 241992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24200
24201 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24202 * kern/sparc64/cache.S: New file.
24203 * kern/sparc64/cache.c: Removed.
24204 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24205 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24206 -mtune=ultrasparc.
24207 (COMMON_LDFLAGS): Add -melf64_sparc.
24208 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24209 (grubof_SOURCES): Use cache.S instead of cache.c.
24210 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24211 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24212 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24213 commented though.
24214 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24215 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24216 (linux_mod_CFLAGS): Commented out.
24217 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24218 out because module isn't built.
24219 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24220 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24221 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24222 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24223 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24224 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24225 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24226 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24227 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24228 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24229 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24230 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24231 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24232 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24233
34eeec8a 242342005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24235
24236 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24237 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24238 longer, because HFS should not be used on PC.
24239
708367a3 242402005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24241
24242 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24243 consistently within the loop.
24244
6fa1251a 242452005-10-15 Marco Gerards <mgerards@xs4all.nl>
24246
24247 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24248 directory can not be read.
24249
4801580b 242502005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24251
24252 * configure.ac (AC_INIT): Increase the version number to 1.91.
24253
24254 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24255 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24256 term/i386/pc/serial.c.
24257
219ad426 242582005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24259
24260 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24261 file size must be permitted.
24262
24263 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24264 between %ah and %al.
24265
688e5699 242662005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24267
24268 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24269 grub_uint64_t.
24270 Call the hook with a NUL-terminated filename.
24271 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24272 grub_cpu_to_be32.
24273
24274 * kern/term.c (cursor_state): New variable.
24275 (grub_term_set_current): Reset the cursor state on a new
24276 terminal.
24277 (grub_setcursor): Rewritten to use CURSOR_STATE.
24278 (grub_getcursor): New function.
24279
24280 * include/grub/term.h (grub_getcursor): New prototype.
24281
24282 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24283 integers on ARM. Reported by Timothy Baldwin
24284 <T.E.Baldwin99@members.leeds.ac.uk>.
24285
bb34586c 242862005-10-11 Marco Gerards <mgerards@xs4all.nl>
24287
24288 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24289 allocated.
24290 (grub_sfs_dir): Likewise.
24291
9a909877 242922005-10-09 Marco Gerards <mgerards@xs4all.nl>
24293
24294 Add support for the SFS filesystem.
24295
24296 * fs/sfs.c: New file.
24297
24298 * DISTLIST: Added `fs/sfs.c'.
24299
24300 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24301 (grub_probefs_SOURCES): Likewise.
24302 (grub_emu_SOURCES): Likewise.
24303 (pkgdata_MODULES): Add `sfs.mod'.
24304 (sfs_mod_SOURCES): New variable.
24305 (sfs_mod_CFLAGS): Likewise.
24306 (sfs_mod_LDFLAGS): Likewise.
24307
24308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24309 (pkgdata_MODULES): Add `sfs.mod'.
24310 (sfs_mod_SOURCES): New variable.
24311 (sfs_mod_CFLAGS): Likewise.
24312
24313 * util/grub-emu.c (main): Call `grub_sfs_init' and
24314 `grub_sfs_fini'.
24315
24316 * include/grub/fs.h (grub_sfs_init): New prototype.
24317 (grub_sfs_fini): Likewise.
24318
57bdbde3 243192005-10-07 Marco Gerards <mgerards@xs4all.nl>
24320
24321 Add support for the AFFS filesystem.
24322
24323 * fs/affs.c: New file.
24324
24325 * DISTLIST: Added `fs/affs.c'.
24326
24327 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
24328 (grub_probefs_SOURCES): Likewise.
24329 (grub_emu_SOURCES): Likewise.
24330 (pkgdata_MODULES): Add `affs.mod'.
24331 (affs_mod_SOURCES): New variable.
24332 (affs_mod_CFLAGS): Likewise.
24333 (affs_mod_LDFLAGS): Likewise.
24334
24335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
24336 (pkgdata_MODULES): Add `affs.mod'.
24337 (affs_mod_SOURCES): New variable.
24338 (affs_mod_CFLAGS): Likewise.
24339
24340 * util/grub-emu.c (main): Call `grub_affs_init' and
24341 `grub_affs_fini'.
24342
24343 * include/grub/fs.h (grub_affs_init): New prototype.
24344 (grub_affs_fini): Likewise.
24345
047b67e0 243462005-10-01 Marco Gerards <mgerards@xs4all.nl>
24347
24348 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
24349
59b8208a 243502005-10-01 Marco Gerards <mgerards@xs4all.nl>
24351
24352 * configure.ac: Accept `x86_64' as host_cpu. In that case add
24353 `-m32' to CFLAGS.
24354
24355 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
24356 linking.
f19dbdb7 24357
59b8208a 24358 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
24359 (COMMON_LDFLAGS): New variable.
24360 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
24361 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
24362 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
24363 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
24364 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
24365 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
24366 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
24367 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
24368 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
24369 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
24370 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24371 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24372 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
24373 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
24374 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
24375 variables.
24376 (normal_mod_ASFLAGS): Add `-m32'.
24377
24378 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
24379 (grub_host_size_t, grub_host_ssize_t): New types.
24380 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 24381 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 24382 `GRUB_HOST_SIZEOF_VOID_P'.
24383
24384 * include/grub/kernel.h (struct grub_module_header): Type of
24385 member offset changed to `grub_host_off_t'. Type of member size
24386 changed to `grub_host_size_t'.
24387 (struct grub_module_info): Type of member offset changed to
24388 `grub_host_off_t'. Type of member size changed to
24389 `grub_host_size_t'.
24390
b4093103 243912005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
24392
24393 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 24394
b4093103 24395 * kern/i386/pc/startup.S (multiboot_header): New label.
24396 (multiboot_entry): Likewise.
24397 (multiboot_trampoline): Likewise.
24398
24399 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24400 Increased to 0x4A0.
24401
24402 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
24403 put parentheses after a question mark.
24404 [!GRUB_UTIL] (my_mod): New variable.
24405
24406 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
24407
b2499b29 244082005-09-28 Marco Gerards <mgerards@xs4all.nl>
24409
24410 Adds support for the XFS filesystem. Btrees are not supported
24411 yet.
24412
24413 * fs/xfs.c: New file.
24414
24415 * DISTLIST: Added `fs/xfs.c'.
24416
24417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
24418 (grub_probefs_SOURCES): Likewise.
24419 (grub_emu_SOURCES): Likewise.
24420 (pkgdata_MODULES): Add `xfs.mod'.
24421 (xfs_mod_SOURCES): New variable.
24422 (xfs_mod_CFLAGS): Likewise.
24423
24424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
24425 (pkgdata_MODULES): Add `xfs.mod'.
24426 (xfs_mod_SOURCES): New variable.
24427 (xfs_mod_CFLAGS): Likewise.
24428
24429 * util/grub-emu.c (main): Call `grub_xfs_init' and
24430 `grub_xfs_fini'.
24431
24432 * include/grub/fs.h (grub_xfs_init): New prototype.
24433 (grub_xfs_fini): Likewise.
24434
f19dbdb7 24435
83d37a62 244362005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
24437
24438 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
24439 color modes, allow greater than 16 colors to be configured as
24440 a default palette.
24441
47d2d65e 244422005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24443
24444 * normal/completion.c (complete_arguments): Add the qualifier
24445 const into OPTIONS.
24446
24447 From Omniflux <omniflux+lists@omniflux.com>:
24448 * include/grub/terminfo.h: New file.
24449 * include/grub/tparm.h: Likewise.
24450 * include/grub/i386/pc/serial.h: Likewise.
24451 * term/terminfo.c: Likewise.
24452 * term/tparm.c: Likewise.
24453 * term/i386/pc/serial.c: Likewise.
24454 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
24455 serial.mod.
24456 (terminfo_mod_SOURCES): New variable.
24457 (terminfo_mod_CFLAGS): Likewise.
24458 (serial_mod_SOURCES): Likewise.
24459 (serial_mod_CFLAGS): Likewise.
24460
48b671ff 244612005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
24462
24463 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
24464 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
24465 and kern/powerpc/ieee1275/cmain.c, respectively.
24466
24467 * boot/powerpc/ieee1275/crt0.S: Moved to ...
24468 * kern/powerpc/ieee1275/crt0.S: ... here.
24469
24470 * boot/powerpc/ieee1275/cmain.c: Moved to ...
24471 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 24472
48b671ff 24473 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
24474 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
24475 instead of boot/powerpc/ieee1275/crt0.S and
24476 boot/powerpc/ieee1275/cmain.c, respectively.
24477
24478 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
24479 sectors. It was not used anyway.
24480
09fc77a7 244812005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24482
24483 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
24484 `unused parameter' warning.
24485
003789c7 244862005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24487
24488 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
24489 function.
24490 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
24491 getcharwidth.
24492
67f44c86 244932005-08-28 Marco Gerards <metgerards@student.han.nl>
24494
24495 * include/grub/normal.h (enum grub_completion_type): Added
24496 `GRUB_COMPLETION_TYPE_ARGUMENT'.
24497
24498 * normal/cmdline.c (print_completion): Handle
24499 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
24500 * normal/menu_entry.c (store_completion): Likewise.
24501
24502 * normal/completion.c (complete_arguments): New function.
24503 (grub_normal_do_completion): Call `complete_arguments' when the
24504 current words start with a dash.
24505
0b5abe02 245062005-08-27 Marco Gerards <metgerards@student.han.nl>
24507
24508 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
24509 `gzio.mod' instead of `io.mod').
24510
d9864ee1 245112005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
24512
24513 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
24514 (DISTDIRS): Added io and video.
24515 Rewrite the search routine to make an output consistently.
24516
24517 * DISTLIST: Added conf/sparc64-ieee1275.mk,
24518 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
24519 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
24520 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
24521 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
24522 util/powerpc/ieee1275/misc.c.
f19dbdb7 24523
d9864ee1 24524 * include/grub/gzio.h: New file.
24525 * io/gzio.c: Likewise.
f19dbdb7 24526
d9864ee1 24527 * kern/file.c (grub_file_close): Call grub_device_close only if
24528 FILE->DEVICE is not NULL.
24529
24530 * include/grub/mm.h [!NULL] (NULL): New macro.
24531
24532 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24533
24534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24535 (pkgdata_MODULES): Added gzio.mod.
24536 (gzio_mod_SOURCES): New variable.
24537 (gzio_mod_CFLAGS): Likewise.
24538
24539 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24540 (pkgdata_MODULES): Added gzio.mod.
24541 (gzio_mod_SOURCES): New variable.
24542 (gzio_mod_CFLAGS): Likewise.
24543
24544 * commands/cat.c: Include grub/gzio.h.
24545 (grub_cmd_cat): Use grub_gzfile_open instead of
24546 grub_file_open.
f19dbdb7 24547
d9864ee1 24548 * commands/cmp.c: Include grub/gzio.h.
24549 (grub_cmd_cmp): Use grub_gzfile_open instead of
24550 grub_file_open.
24551
24552 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24553 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24554 grub_file_open.
24555 (grub_rescue_cmd_module): Likewise.
24556
fa46f4b5 245572005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24558
24559 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24560 kern/sparc64/ieee1275/init.c because it contains _start.
24561 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24562
e9211b5d 245632005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24564
24565 * configure.ac: Add support for sparc64 host with ieee1275
24566 firmware.
24567 * configure: Generated from configure.ac.
24568 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24569 instead of int.
24570 (grub_ofdisk_read): Likewise.
24571 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24572 pointers as (void *) to remove a warning.
24573 (grub_ofdisk_close): Likewise.
24574 (grub_ofdisk_read): Likewise.
24575 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24576 returns, so make it return void to remove a warning.
24577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24578 Corresponding prototype change.
24579 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24580 values, and cast the pointers as (void *) to remove a warning.
24581 (grub_mm_dump): Likewise.
24582 * conf/sparc64-ieee1275.mk: New file.
24583 * conf/sparc64-ieee1275.rmk: Likewise.
24584 * include/grub/sparc64/setjmp.h: Likewise.
24585 * include/grub/sparc64/types.h: Likewise.
24586 * include/grub/sparc64/ieee1275/console.h: Likewise.
24587 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24588 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24589 * include/grub/sparc64/ieee1275/time.h: Likewise.
24590 * kern/sparc64/cache.c: Likewise.
24591 * kern/sparc64/dl.c: Likewise.
24592 * kern/sparc64/ieee1275/init.c: Likewise.
24593 * kern/sparc64/ieee1275/openfw.c: Likewise.
24594
385c6a92 245952005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24596
24597 * util/console.c (grub_ncurses_putchar): If C is greater than
24598 0x7f, set C to a question mark.
24599 (grub_ncurses_getcharwidth): New function.
24600 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24601 getcharwidth.
24602
24603 * normal/menu.c (print_entry): Made aware of Unicode. First,
24604 convert TITLE to UCS-4, and predict the cursor position by
24605 grub_getcharwidth.
24606
24607 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24608 const to SRC.
24609 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24610
16ccb8b1 246112005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24612
24613 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24614 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24615 grub_strcat.
24616
24617 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24618 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24619 grub_strcpy and grub_strlen. Take it into account that a space
24620 character is inserted as a delimiter.
24621
6a85ce79 246222005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24623
24624 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 24625 invalid magic in the error.
6a85ce79 24626
24627 * commands/search.c: New file.
f19dbdb7 24628
6a85ce79 24629 * util/grub-emu.c (main): Call grub_search_init and
24630 grub_search_fini.
24631
24632 * kern/rescue.c (grub_rescue_print_disks): Removed.
24633 (grub_rescue_print_devices): New function.
24634 (grub_rescue_cmd_ls): Use grub_device_iterate with
24635 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24636 grub_rescue_print_disks.
24637
24638 * kern/partition.c (grub_partition_iterate): Return the result of
24639 PARTMAP->ITERATE instead of GRUB_ERRNO.
24640
24641 * kern/device.c: Include grub/partition.h.
24642 (grub_device_iterate): New function.
24643
24644 * include/grub/partition.h (grub_partition_iterate): Return int
24645 instead of grub_err_t.
24646
24647 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24648 prototype.
24649 [GRUB_UTIL] (grub_search_fini): Likewise.
24650
24651 * include/grub/device.h (grub_device_iterate): New prototype.
24652
24653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24654 commands/search.c.
24655 (pkgdata_MODULES): Added search.mod.
24656 (search_mod_SOURCES): New variable.
24657 (search_mod_CFLAGS): Likewise.
24658
24659 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24660 (pkgdata_MODULES): Added search.mod.
24661 (search_mod_SOURCES): New variable.
24662 (search_mod_CFLAGS): Likewise.
24663
24664 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24665 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24666 All callers changed.
24667
24668 * DISTLIST: Added commands/search.c.
24669
ef095434 246702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24671
24672 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24673 conversion.
24674 (grub_getcharwidth): New function.
24675
24676 * kern/misc.c (grub_utf8_to_ucs4): New function.
24677
24678 * include/grub/term.h (struct grub_term): Added a new member
24679 "getcharwidth".
24680 (grub_getcharwidth): New prototype.
24681
24682 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24683
24684 * term/i386/pc/console.c (map_char): New function. Segregated from
24685 grub_console_putchar.
24686 (grub_console_putchar): Use map_char.
24687 (grub_console_getcharwidth): New function.
24688 (grub_console_term): Specified grub_console_getcharwidth as
24689 getcharwidth.
24690
24691 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24692 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24693
24694 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24695 GRUB_ERRNO.
24696 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24697 on grub_strtoul completely.
24698 (write_char): Declare local variables in the beginning of the
24699 function.
24700 (grub_vesafb_getcharwidth): New function.
24701 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24702 getcharwidth.
24703
1f0a95e4 247042005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24705
24706 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24707 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24708 commands/i386/pc/vbetest.c.
24709
24710 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24711 call grub_vbe_get_controller_info again, because the returned
24712 information is volatile.
24713 (grub_vbe_set_video_mode): Mostly rewritten.
24714 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24715 grub_vbe_status_t correctly.
24716 (grub_vbe_get_video_mode_info): Likewise.
24717 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24718 several if statements.
24719
24720 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24721 * commands/i386/pc/vbeinfo.c: ... this.
24722
24723 * commands/i386/pc/vbe_test.c: Renamed to ...
24724 * commands/i386/pc/vbetest.c: ... this.
24725
24726 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24727 ...
24728 (grub_cmd_vbeinfo): ... this. Save video modes before
24729 iterating. Skip a video mode, if it is not available, not enough
24730 information is given or it is monochrome. Show the memory
24731 model. Leave the interpretation of MODEVAR to grub_strtoul
24732 completely.
24733 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24734 (GRUB_MOD_FINI): Likewise.
24735
24736 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24737 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24738 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24739 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24740 grub_strtoul completely.
24741 (real2pm): Removed.
24742 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24743 (GRUB_MOD_FINI): Likewise.
24744
24745 * normal/misc.c: Include grub/mm.h.
24746
24747 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24748 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24749 (vbe_list_modes_mod_SOURCES): Removed.
24750 (vbe_list_modes_mod_CFLAGS): Likewise.
24751 (vbe_test_mod_SOURCES): Likewise.
24752 (vbe_test_mod_CFLAGS): Likewise.
24753 (vbeinfo_mod_SOURCES): New variable.
24754 (vbeinfo_mod_CFLAGS): Likewise.
24755 (vbetest_mod_SOURCES): Likewise.
24756 (vbetest_mod_CFLAGS): Likewise.
24757
992ffbbe 247582005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24759
24760 * normal/misc.c: New file.
24761
24762 * DISTLIST: Added normal/misc.c.
f19dbdb7 24763
992ffbbe 24764 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24765 DISK to HOOK. Call HOOK with DISK.
24766 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24767 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24768 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24769
24770 * normal/menu_entry.c (struct screen): Added a new member
24771 "completion_shown".
24772 (completion_buffer): New global variable.
24773 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
24774 (store_completion): New function.
24775 (complete): Likewise.
24776 (clear_completions): Likewise.
24777 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
24778 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
24779 a tab, call complete.
24780
24781 * normal/completion.c (disk_dev): Removed.
24782 (print_simple_completion): Likewise.
24783 (print_partition_completion): Likewise.
24784 (print_func): New global variable.
24785 (add_completion): Do not take the arguments WHAT or PRINT any
24786 longer. Added a new argument TYPE. Instead of printing directly,
24787 call PRINT_FUNC if not NULL.
24788 All callers changed.
24789 (complete_device): Use a local variable DEV instead of
24790 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
24791 (grub_normal_do_completion): Take a new argument HOOK. Do not
24792 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
24793 empty string, return NULL instead.
24794 All callers changed.
24795
24796 * normal/cmdline.c (print_completion): New function.
24797
24798 * kern/partition.c (grub_partition_iterate): Add an argument DISK
24799 to HOOK.
24800 All callers changed.
24801
24802 * kern/disk.c (grub_print_partinfo): Removed.
24803
24804 * include/grub/partition.h (struct grub_partition_map): Add a new
24805 argument DISK into HOOK of ITERATE.
24806 (grub_partition_iterate): Add a new argument DISK to HOOK.
24807
24808 * include/grub/normal.h (enum grub_completion_type): New enum.
24809 (grub_completion_type_t): New type.
24810 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
24811 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
24812 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
24813 (GRUB_COMPLETION_TYPE_FILE): Likewise.
24814 (grub_normal_do_completion): Added a new argument HOOK.
24815 (grub_normal_print_device_info): New prototype.
24816
24817 * include/grub/disk.h (grub_print_partinfo): Removed.
24818
24819 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
24820 (normal_mod_SOURCES): Likewise.
24821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24822 (normal_mod_SOURCES): Likewise.
24823
24824 * commands/ls.c (grub_ls_list_disks): Use
24825 grub_normal_print_device_info instead of grub_print_partinfo. Free
24826 PNAME.
24827 (grub_ls_list_files): Use grub_normal_print_device_info instead of
24828 duplicating the code.
24829
0bd41162 248302005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24831
24832 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 24833 follow GCS more precisely.
24834 * commands/i386/pc/vbe_test.c: Likewise.
24835 * include/grub/i386/pc/vbe.h: Likewise.
24836 * term/i386/pc/vesafb.c: Likewise.
24837 * video/i386/pc/vbe.c: Likewise.
0bd41162 24838
6323696a 248392005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24840
24841 * DISTLIST: Added term/i386/pc/vesafb.c
24842 DISTLIST: Added video/i386/pc/vbe.c
24843 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
24844 DISTLIST: Added commands/i386/pc/vbe_test.c.
24845 * commands/i386/pc/vbe_list_modes.c: New file.
24846 * commands/i386/pc/vbe_test.c: Likewise.
24847 * term/i386/pc/vesafb.c: Likewise.
24848 * video/i386/pc/vbe.c: Likewise.
24849 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
24850 (grub_vbe_probe) Added prototype.
24851 (grub_vbe_set_video_mode) Likewise.
24852 (grub_vbe_get_video_mode) Likewise.
24853 (grub_vbe_get_video_mode_info) Likewise.
24854 (grub_vbe_set_pixel_rgb) Likewise.
24855 (grub_vbe_set_pixel_index) Likewise.
24856 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
24857 (pkgdata_MODULES): Added vesafb.mod.
24858 (pkgdata_MODULES): Added vbe_list_modes.mod.
24859 (pkgdata_MODULES): Added vbe_test.mod.
24860 (vbe_mod_SOURCES): Added.
24861 (vbe_mod_CFLAGS): Likewise.
24862 (vesafb_mod_SOURCES): Likewise.
24863 (vesafb_mod_CFLAGS): Likewise.
24864 (vbe_list_modes_mod_SOURCES): Likewise.
24865 (vbe_list_modes_mod_CFLAGS): Likewise.
24866 (vbe_test_mod_SOURCES): Likewise.
24867 (vbe_test_mod_CFLAGS): Likewise.
24868
0a74e62f 248692005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
24870
0a74e62f 24871 * normal/command.c (grub_command_execute): If INTERACTIVE is
24872 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
24873 CMDLINE. Disable the pager if INTERACTIVE is true.
24874 All callers are changed.
24875
24876 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
24877 before reading a config file.
24878 * normal/main.c (read_config_file): Even if a command is not
24879 found, register it if it is within an entry.
24880
24881 * util/grub-emu.c: Include sys/types.h and unistd.h.
24882 (options): Added --hold.
24883 (struct arguments): Added a new member "hold".
24884 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
24885 missing.
24886 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
24887 cleared by a debugger, if it is not zero.
24888
24889 * include/grub/normal.h (grub_command_execute): Add an argument
24890 INTERACTIVE.
24891
e51f85ae 248922005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
24893
24894 * DISTLIST: Added include/grub/i386/pc/vbe.h.
24895
e9c6f39b 248962005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
24897
24898 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
24899 program with another one, because the old one didn't detect a bug
24900 in gcc-3.4. Always use regparm 2, because the new test is still
24901 not enough for gcc-4.0. Someone must investigate a simple test
24902 case which detects a bug in gcc-4.0.
24903
8de3495c 249042005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
24905
24906 * DISTLIST: Added normal/completion.c.
24907
24908 * normal/completion.c: New file.
f19dbdb7 24909
8de3495c 24910 * term/i386/pc/console.c (grub_console_getwh): New function.
24911 (grub_console_term): Assign grub_console_getwh to getwh.
24912
24913 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
24914 function is defined in normal/completion.c as
24915 grub_normal_do_completion.
24916 (grub_cmdline_get): Use grub_normal_do_completion instead of
24917 grub_tab_complete.
24918
24919 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
24920 returns non-zero, otherwise return 0.
24921 (grub_partition_iterate): First, probe the partition map. Then,
24922 call ITERATE only for this partition map.
24923
24924 * kern/misc.c (grub_strncmp): Rewritten.
24925
24926 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
24927 returns non-zero. Otherwise return 0.
24928
24929 * include/grub/partition.h (grub_partition_map_iterate): Return
24930 int instead of void.
24931
24932 * include/grub/normal.h (grub_normal_do_completion): New prototype.
24933
24934 * include/grub/misc.h (grub_strncmp): Change the type of N to
24935 grub_size_t.
24936
24937 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
24938 of void.
24939
24940 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 24941 unsigned explicitly before comparing it with I.
8de3495c 24942
24943 * kern/main.c (grub_env_write_root): Add the attribute unused into
24944 VAR.
24945
24946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24947 normal/completion.c.
24948 (normal_mod_SOURCES): Likewise.
24949 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24950 (normal_mod_SOURCES): Likewise.
24951
24952 * normal/command.c (grub_iterate_commands): If ITERATE returns
24953 non-zero, return one immediately.
24954
e85e144b 249552005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
24956
24957 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
24958 * kern/i386/pc/startup.S: Updated Global Descriptor table's
24959 descriptions.
24960 (grub_vbe_get_controller_info): New function.
24961 (grub_vbe_get_mode_info): Likewise.
24962 (grub_vbe_set_mode): Likewise.
24963 (grub_vbe_get_mode): Likewise.
24964 (grub_vbe_set_memory_window): Likewise.
24965 (grub_vbe_get_memory_window): Likewise.
24966 (grub_vbe_set_scanline_length): Likewise.
24967 (grub_vbe_get_scanline_length): Likewise.
24968 (grub_vbe_set_display_start): Likewise.
24969 (grub_vbe_get_display_start): Likewise.
24970 (grub_vbe_set_palette_data): Likewise.
24971 * include/grub/i386/pc/vbe.h: New file.
24972
c46153d2 249732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24974
24975 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24976 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
24977 * DISTLIST: Likewise.
24978 * kern/ieee1275/of.c: Moved to ...
24979 * kern/ieee1275/ieee1275.c: ... here.
24980
0cb90c45 249812005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24982
24983 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
24984 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
24985 Pass 0 as `end' parameter to grub_strtoul().
24986
a19fb360 249872005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24988
24989 * include/grub/powerpc/ieee1275/console.h: Do not include
24990 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
24991 ifdef.
24992 (grub_console_cur_color): Remove i386-specific prototype.
24993 (grub_console_real_putchar): Likewise.
24994 (grub_console_checkkey): Likewise.
24995 (grub_console_getkey): Likewise.
24996 (grub_console_getxy): Likewise.
24997 (grub_console_gotoxy): Likewise.
24998 (grub_console_cls): Likewise.
24999 (grub_console_setcursor): Likewise.
25000 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25001 Include <grub/machine/console.h>.
25002 * term/ieee1275/ofconsole.c: Likewise.
25003
4ac9bd04 250042005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25005
25006 * Makefile.in (LIBLZO): New variable.
25007
25008 * configure.ac: Check for LZO version 2.
25009
25010 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25011 lzo/lzo1x.h instead of lzo1x.h.
25012
25013 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25014 of -llzo.
25015
25016 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25017 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25018
25019 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25020 copying the data from PARTITION to P.
25021
f4917dfd 250222005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25023
25024 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25025 negative, unload the module.
25026
25027 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25028 map is "pc_partition_map" but not "pc".
25029 (usage): Fix the description. The options are --boot-image and
25030 --core-image but not --boot-file or --core-file.
25031 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25032 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25033 DEFAULT_DIRECTORY.
25034
25035 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25036 --core-file. Specify INSTALL_DEVICE as an argument.
25037
25038 * util/console.c: Include config.h.
25039 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25040 [HAVE_NCURSES_H]: Include ncurses.h.
25041 [HAVE_CURSES_H]: Include curses.h.
25042 [!A_NORMAL] (A_NORMAL): Defined as zero.
25043 [!A_STANDOUT] (A_STANDOUT): Likewise.
25044
25045 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25046 -lncurses.
25047 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25048
25049 * configure.ac: Check for curses libraries and headers.
25050
25051 * Makefile.in (LIBCURSES): New variable.
25052
25053 * genmk.rb (Script::rule): Set the executable bits.
25054
25055 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25056 name of the PC partition map is "pc_partition_map" but not "pc".
25057
0e143073 250582005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25059
25060 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25061 (modules): Likewise.
25062 (usage): Added descriptions for --modules and --grub-probefs.
25063 Handle --modules and --grub-probefs. Save the arguments in MODULES
25064 and GRUB_PROBEFS, respectively.
25065 Auto-detect a filesystem module against GRUBDIR. If the result is
25066 empty and modules are not specified explicitly, abort the
25067 installation. Add the result to MODULES.
25068
25069 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25070 disk/powerpc/ieee1275/ofdisk.c,
25071 include/grub/powerpc/ieee1275/init.h and
25072 term/powerpc/ieee1275/ofconsole.c.
25073 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25074 term/ieee1275/ofconsole.c.
25075
25076 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25077
25078 * COPYING: Upgraded to the latest version. Only the address of the
25079 FSF office has changed.
f19dbdb7 25080
efd6e6d5 250812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25082
25083 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25084 kern/ieee1275.c with kern/ieee1275/of.c.
25085
25086 * kern/ieee1275.c: Moved to ...
25087 * kern/ieee1275/of.c: ... here.
25088
8ceafda2 250892005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25090
25091 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 25092 readability.
8ceafda2 25093
25094 * config.guess: Updated to the latest version from gnulib.
25095 * config.sub: Likewise.
25096 * install.sh: Likewise.
25097 * mkinstalldirs: Likewise.
25098
25099 * include/grub/console.h: Removed. This file is arch-specific. Do
25100 not put this in include/grub.
25101
25102 * include/grub/i386/pc/console.h: Resurrected.
25103
25104 * util/console.c: Include grub/machine/console.h instead of
25105 grub/console.h.
25106 * util/grub-emu.c: Likewise.
25107
267f6cd9 251082005-08-04 Marco Gerards <metgerards@student.han.nl>
25109
25110 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25111 hardcoded value.
f19dbdb7 25112
267f6cd9 25113 From Vincent Pelletier <subdino2004@yahoo.fr>
25114 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25115 Redefined to use grub_getwh.
25116 (grub_term): New member named getwh.
25117 (grub_getwh): New prototype.
25118 * kern/term.c (grub_getwh): New function.
25119 * term/i386/pc/console.c (grub_console_getwh): New function.
25120 (grub_console_term): New member `getwh'.
25121 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25122 (grub_vga_term): New member `getwh'.
0b5abe02 25123 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 25124 grub_ssize_t.
25125 (grub_ofconsole_getw): New function.
25126 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
25127 (grub_ofconsole_term): New field named getwh and new initial
25128 value.
25129
3be7266d 251302005-08-03 Hollis Blanchard <hollis@penguinppc.org>
25131
25132 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
25133 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
25134 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
25135 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
25136 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
25137 of <grub/machine/ieee1275.h>.
25138 * commands/ieee1275/reboot.c: Likewise.
25139 * boot/powerpc/ieee1275/ieee1275.c: Move ...
25140 * kern/ieee1275.c: ... to here. All users updated. Change all
25141 parameter structs to use new type `grub_ieee1275_cell_t'.
25142 * term/powerpc/ieee1275/ofconsole.c: Move ...
25143 * term/ieee1275/ofconsole.c: ... to here. All users updated.
25144 * disk/powerpc/ieee1275/ofdisk.c: Move ...
25145 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
25146 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
25147 to return int.
25148 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
25149 Remove unused prototypes. All users updated.
25150 * include/grub/powerpc/ieee1275/console.h: Removed.
25151 * include/grub/powerpc/ieee1275/ieee1275.h: Define
25152 `grub_ieee1275_cell_t'.
25153 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
25154 Cast comparisons with -1 to the correct type.
25155 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25156 type to match `grub_ieee1275_entry_fn'.
25157
8b5f3938 251582005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25159
25160 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25161
25162 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25163 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25164 partmap/sun.c.
25165 (grub_probefs_SOURCES): New variable.
25166
25167 * util/i386/pc/grub-probefs.c: New file.
25168
25169 * util/i386/pc/grub-setup.c (main): Call
25170 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25171 grub_hfs_init and grub_jfs_init to initialize the system. Call
25172 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25173 grub_pc_partition_map_fini to finish the system.
25174
ea409713 251752005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25176
25177 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25178 function.
25179 (grub_multiboot_load_elf32): Likewise.
25180 (grub_multiboot_is_elf64): Likewise.
25181 (grub_multiboot_load_elf64): Likewise.
25182 (grub_multiboot_load_elf): Likewise.
25183 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25184 an ELF32 or ELF64 file.
25185 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25186
25187 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25188 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25189 NULL before calling FS->LABEL.
25190 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25191 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25192 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25193 before calling FS->LABEL.
25194
141a288b 251952005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25196
25197 * util/i386/pc/grub-install.in (datadir): New variable.
25198 (libdir): Removed.
25199 (pkgdatadir): New variable.
25200 (pkglibdir): Removed.
25201
0d5f8a54 252022005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25203
25204 * DISTLIST: Added util/i386/pc/grub-install.in.
25205
25206 * util/i386/pc/grub-install.in: New file.
25207
25208 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25209 (grub_install_SOURCES): Likewise.
25210
25211 * genmk.rb: Added support for scripts.
25212 (Script): New class.
25213 (scripts): New variable.
25214
25215 * Makefile.in (install-local): Install sbin_SCRIPTS by
25216 INSTALL_SCRIPT.
25217 (uninstall): Remove sbin_SCRIPTS.
25218
25219 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25220 device, try to get a GRUB device by
25221 grub_util_biosdisk_get_grub_dev.
25222 Free DEST_DEV.
25223
25224 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25225 description for --device-map.
25226
5f968e1e 252272005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25228
25229 Change the semantics of variable hooks. They now return strings
25230 instead of error values.
f19dbdb7 25231
5f968e1e 25232 * util/i386/pc/grub-setup.c: Include grub/env.h.
25233 (setup): Use grub_device_set_root instead of grub_env_set.
25234
25235 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25236 grub_env_get instead of grub_device_set_root and
25237 grub_device_get_root, respectively.
25238
25239 * kern/main.c (grub_env_write_root): New function.
25240 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25241 grub_env_set instead of grub_device_set_root.
25242
25243 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25244 many variables.
25245 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25246 rather than calling ENV->WRITE_HOOK afterwards.
25247 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25248 passing a pointer of a pointer.
25249 (grub_register_variable_hook): Change the types of "read_hook" and
25250 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25251 respectively.
25252 Allocate the default empty string on the heap, because this string
25253 may be freed later.
25254
25255 * kern/device.c: Include grub/env.h.
25256 (grub_device_set_root): Removed.
25257 (grub_device_get_root): Likewise.
25258 (grub_device_open): Use grub_env_get instead of
25259 grub_device_get_root.
25260
25261 * include/grub/env.h (grub_env_read_hook_t): New type.
25262 (grub_env_write_hook_t): Likewise.
25263 (grub_env_var): Change the types of "read_hook" and "write_hook"
25264 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25265 (grub_register_variable_hook): Likewise.
25266
25267 * include/grub/device.h (grub_device_set_root): Removed.
25268 (grub_device_set_root): Likewise.
25269
25270 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25271 make sure that DIRNAME terminates with '/', so that
25272 grub_fat_find_dir will fail if PATH is not a directory.
25273
25274 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25275 from DIRNAME.
25276 Use the qualifier auto for print_files and print_files_long.
25277 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25278 as a regular file.
25279 Put a newline only if there is no error.
25280 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25281 used.
25282
896f0afd 252832005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25284
25285 * kern/partition.c (grub_partition_probe): Initialize PART to
25286 NULL. Otherwise, when no partition map is registered, this returns
25287 a garbage.
25288
b28b81b2 252892005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25290
25291 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25292 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25293 valid.
25294
5f3607e0 252952005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25296
25297 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25298 information on each device, if it does not have partitions. Print
25299 "Device" instead of "Disk", because this function is not specific
25300 to disk devices.
25301
25302 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25303 static to ensure that it is put on the memory rather than a
25304 register.
25305
502c87e8 253062005-07-17 Yoshinori Okuji <okuji@enbug.org>
25307
25308 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25309 (grub_cat_init): Likewise.
25310 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
25311 (options): Likewise.
25312 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25313 (grub_configfile_init): Likewise.
25314 * font/manager.c (GRUB_MOD_INIT): Likewise.
25315 * commands/help.c (GRUB_MOD_INIT): Likewise.
25316 (grub_help_init): Likewise.
25317 * normal/command.c (grub_command_init): Likewise.
25318 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
25319 * disk/loopback.c (grub_loop_init): Likewise.
25320 (GRUB_MOD_INIT): Likewise.
25321 * commands/ls.c (grub_ls_init): Likewise.
25322 (GRUB_MOD_INIT): Likewise.
25323 (options): Likewise.
25324 * commands/boot.c (grub_boot_init): Likewise.
25325 (GRUB_MOD_INIT): Likewise.
25326 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
25327 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
25328 (GRUB_MOD_INIT): Likewise.
25329 * commands/cmp.c (grub_cmp_init): Likewise.
25330 (GRUB_MOD_INIT): Likewise.
25331
25332 * normal/arg.c: Use <> instead of "" to include header files.
25333 (SHORT_ARG_HELP): New macro.
25334 (SHORT_ARG_USAGE): Likewise.
25335 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
25336 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
25337 descriptions.
25338 (find_short): Check if C is 'h' or 'u' explicitly.
25339 (grub_arg_show_help): Use space characters instead of tabs. Treat
25340 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
25341 are shown with --help and --usage only if they are not used for
25342 the command itself.
25343 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
25344 'h' and 'u'.
25345
25346 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
25347 const into "longarg". Change the type of "shortarg" to int.
25348
f806d18e 253492005-07-17 Yoshinori Okuji <okuji@enbug.org>
25350
25351 * boot/i386/pc/boot.S (boot_drive_check): New label.
25352
25353 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
25354 macro.
25355
25356 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
25357 which do not pass a boot drive correctly. Copied from GRUB Legacy.
25358
e293232b 253592005-07-17 Yoshinori Okuji <okuji@enbug.org>
25360
25361 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
25362 When turning off Gate A20, skip the check and return immediately,
25363 because this is not fatal usually.
25364
ebedfd00 253652005-07-17 Yoshinori Okuji <okuji@enbug.org>
25366
25367 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
25368 be 0x7C00 instead of 0x8000.
25369
25370 * boot/i386/pc/pxeboot.S: Rewritten.
25371
25372 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
25373 EXT_C.
25374 (gate_a20_check_state): Read a byte from 0x108000. Invert the
25375 result.
25376
654fc59f 253772005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
25378
25379 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
25380 robustness. This routine now supports a BIOS call and System
25381 Control Port A to modify the gate A20.
25382
25383 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25384 Increased to 0x440.
25385
09f9923f 253862005-07-12 Hollis Blanchard <hollis@penguinppc.org>
25387
25388 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
25389 device path and resulting ihandle.
25390 (grub_ofdisk_close): dprintf the ihandle being closed.
25391 (grub_ofdisk_read): dprintf function parameters.
25392 * kern/mm.c (grub_mm_init_region): Likewise.
25393 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
25394 (grub_linux_boot): dprintf the Linux entry point, initrd address and
25395 size, and boot arguments.
25396 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
25397 before loading into memory.
25398 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
25399 before loading into memory.
25400
7ef504d8 254012005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
25402
25403 * kern/mm.c: Added much documentation.
25404 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
25405 8, set to 5 instead of 8.
25406
e0f050c2 254072005-07-10 Yoshinori Okuji <okuji@enbug.org>
25408
25409 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
25410
25411 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
25412 (grub_mkdevicemap_SOURCES): New variable.
25413
25414 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
25415 lib/device.c of GRUB Legacy.
25416
7224189a 254172005-07-10 Yoshinori Okuji <okuji@enbug.org>
25418
25419 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
25420 instead of PATH is NULL.
25421
68c864eb 254222005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
25423
25424 * commands/cmp.c (BUFFER_SIZE): New macro.
25425 (grub_cmd_cmp): Close the right file at the right time. Compare
25426 only data just read. Don't report files of different size as
25427 identical. Dynamically allocate buffers. Move variable
25428 declarations at the beginning of function.
25429
e6f3e614 254302005-07-09 Yoshinori Okuji <okuji@enbug.org>
25431
25432 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
25433 reverse.
25434
f8f1559a 254352004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
25436
25437 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
25438 when backspace is pressed at beginning of line.
25439
39c9d41d 254402005-07-03 Yoshinori Okuji <okuji@enbug.org>
25441
25442 * DISTLIST: Added genfslist.sh.
25443
25444 * normal/main.c (fs_module_list): New variable.
25445 (autoload_fs_module): New function.
25446 (read_fs_list): Likewise.
25447 (grub_normal_execute): Call read_fs_list.
25448
25449 * kern/fs.c (grub_fs_autoload_hook): New variable.
25450 (grub_fs_probe): Added support for auto-loading.
25451
25452 * include/grub/normal.h (struct grub_fs_module_list): New struct.
25453 (grub_fs_module_list_t): New type.
25454
25455 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
25456 (grub_fs_autoload_hook): New prototype.
25457
25458 * genfslist.sh: New file.
f19dbdb7 25459
39c9d41d 25460 * genmk.rb: Added a rule to generate a filesystem list.
25461
121c1d83 254622005-06-30 Marco Gerards <metgerards@student.han.nl>
25463
25464 * configure.ac: Fix the test for cross-compiling.
25465
25466 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
25467 define GRUB_UTIL anymore.
25468
25469 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
25470 so this function works on other systems than just big endian.
25471 (load_modules): Likewise.
25472 (add_segments): Likewise.
25473
e75d76e1 254742005-06-23 Hollis Blanchard <hollis@penguinppc.org>
25475
25476 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
25477 contains `l' modifier, get a long from va_arg().
25478
50b5a0a7 254792005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
25480
25481 * kern/mm.c (grub_free): If the next free block which is being
25482 merged is the first free block, set the first block to the block
25483 being freed.
25484 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
25485
89371b20 254862005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25487
25488 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
25489 `grub_ieee1275_chosen'.
25490
168d6e58 254912005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25492
25493 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
25494 (grub_ieee1275_chosen): New variable.
25495 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
25496 `chosen'.
25497 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
25498 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25499 Rename first argument to `phandle' for consistency.
25500 (grub_ieee1275_get_property_length): Likewise.
25501 (grub_ieee1275_next_property): Likewise. Change type of first argument
25502 to grub_ieee1275_phandle_t.
25503 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
25504 Move export next to declaration.
25505 (grub_ieee1275_chosen): New variable.
25506 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
25507 Correct cosmetic typo.
25508 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
25509 `grub_ieee1275_chosen'.
25510 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
25511 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
25512 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
25513 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
25514 `grub_ieee1275_chosen'.
25515
ca5baa3f 255162005-05-10 Hollis Blanchard <hollis@penguinppc.org>
25517
25518 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
25519 /chosen/bootargs.
25520 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
25521 /chosen/bootargs as "variable=value" pairs.
25522
708b345f 255232005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
25524
25525 * include/grub/misc.h (grub_dprintf): New macro.
25526 (grub_real_dprintf): New prototype.
25527 (grub_strword): Likewise.
25528 (grub_iswordseparator): Likewise.
25529 * kern/misc.c (grub_real_dprintf): New function.
25530 (grub_strword): Likewise.
25531 (grub_iswordseparator): Likewise.
25532
f4c5e67c 255332005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25534
25535 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25536 (roundup): Remove macro.
25537 (grub_ieee1275_flags): Make static.
25538 (grub_ieee1275_realmode): Remove.
25539 (grub_ieee1275_test_flag): New function.
25540 (grub_ieee1275_set_flag): Likewise.
25541 (find_options): Rename to `grub_ieee1275_find_options'; update
25542 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25543 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25544 (cmain): New prototype.
25545 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25546 `grub_ieee1275_flags' directly.
25547 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25548 machine/biosdisk.h.
25549 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25550 Don't include grub/machine/init.h.
25551 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25552 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25553 Remove prototype.
25554 (grub_ieee1275_realmode): Likewise.
25555 (grub_ieee1275_flag): New enum.
25556 (grub_ieee1275_test_flag): New prototype.
25557 (grub_ieee1275_set_flag): New prototype.
25558 * include/grub/powerpc/ieee1275/init.h: Remove file.
25559 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25560 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25561 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25562 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25563 comment.
25564 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25565 `grub_ieee1275_test_flag'.
25566 (grub_ieee1275_encode_devname): Likewise.
25567
ed16607e 255682005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25569
25570 * include/grub/powerpc/ieee1275/ieee1275.h
25571 (grub_ieee1275_encode_devname): New prototype.
25572 (grub_ieee1275_get_filename): Likewise.
25573 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25574 function.
25575 (grub_set_prefix): Likewise.
25576 (grub_machine_init): Call grub_set_prefix.
25577 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25578 (grub_parse_type): New enum.
25579 (grub_ieee1275_get_devargs): New function.
25580 (grub_ieee1275_get_devname): Likewise.
25581 (grub_ieee1275_parse_args): Likewise.
25582 (grub_ieee1275_get_filename): Likewise.
25583 (grub_ieee1275_encode_devname): Likewise.
25584
be369920 255852005-03-30 Marco Gerards <metgerards@student.han.nl>
25586
25587 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25588 `grub_loader_unset'.
25589
a5ce3a4a 255902005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25591
25592 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25593 instead of grub_ieee1275_interpret.
25594 (grub_halt_init): New function.
25595 (grub_halt_fini): Likewise.
25596 (GRUB_MOD_INIT): Correct message grammar.
25597 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25598 instead of grub_ieee1275_interpret.
25599 (grub_reboot_init): New function.
25600 (grub_reboot_fini): Likewise.
25601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25602 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25603 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25604 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25605 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25606 function.
25607 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25608 Add prototype.
25609 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25610 prototype.
25611 (grub_halt): Likewise.
25612 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25613 (cmain): Remove __attribute__((unused)).
25614 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25615 (grub_heap_len): Likewise.
25616 (grub_machine_fini): New function.
25617 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25618 (grub_halt): Likewise.
25619 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25620 function.
25621 * util/powerpc/ieee1275/misc.c: New file.
25622
0058f771 256232005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25624
25625 * DISTLIST: New file.
25626 * gendistlist.sh: Likewise.
f19dbdb7 25627
0058f771 25628 * Makefile.in (COMMON_DISTFILES): Removed.
25629 (BOOT_DISTFILES): Likewise.
25630 (CONF_DISTFILES): Likewise.
25631 (DISK_DISTFILES): Likewise.
25632 (FS_DISTFILES): Likewise.
25633 (INCLUDE_DISTFILES): Likewise.
25634 (KERN_DISTFILES): Likewise.
25635 (LOADER_DISTFILES): Likewise.
25636 (TERM_DISTFILES): Likewise.
25637 (UTIL_DISTFILES): Likewise.
25638 (DISTFILES): Likewise.
25639 (uninstall): Uninstall files in $(pkgdata_DATA).
25640 (DISTLIST): New target.
25641 (distdir): Use the contents of the file DISTLIST to get a list of
25642 distributed files.
25643
46b3b8a5 256442005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25645
25646 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25647 descriptor. This is ported from GRUB Legacy.
25648
25649 * gencmdlist.sh: Added an extra semicolon to make it work with
25650 old sed versions. Reported by Robert Bihlmeyer
25651 <robbe@orcus.priv.at>.
25652
5822ff87 256532005-03-08 Yoshinori Okuji <okuji@enbug.org>
25654
25655 Automatic loading of commands is supported.
f19dbdb7 25656
5822ff87 25657 * normal/main.c (read_command_list): New function.
25658 (grub_normal_execute): Call read_command_list.
25659
25660 * normal/command.c (grub_register_command): Return zero or CMD.
25661 Allocate CMD->NAME from the heap.
25662 Initialize CMD->MODULE_NAME to zero.
25663 Find the same name as well. If the same command is found and it is
25664 a dummy command, overwrite members. If it is not a dummy command,
25665 return zero.
25666 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25667 (grub_command_find): If a dummy command is found, load a module
25668 and retry to find a command only once.
25669
25670 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25671 make sure that each command is loaded.
25672
25673 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25674 macro.
25675 (struct grub_command): Remove const from the member `name'.
25676 Add a new member `module_name'.
25677 (grub_register_command): Return grub_command_t.
25678
25679 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25680 sure that each command is loaded.
25681
25682 * genmk.rb (PModule::rule): Specify a module name without the
25683 suffix ".mod" to gencmdlist.sh.
25684
7b1f4b57 256852005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25686
25687 * gencmdlist.sh: New file.
f19dbdb7 25688
7b1f4b57 25689 * genmk.rb (PModule::rule): Generate a rule for a command list.
25690 Clean command.lst.
25691 Generate command.lst from $(COMMANDFILES).
25692
25693 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25694 (DATA): Added $(pkgdata_DATA).
25695 (install-local): Install files in $(pkgdata_DATA).
25696
062aaf39 256972005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25698
25699 * term/i386/pc/vga.c (debug_command): Removed.
25700 (GRUB_MOD_INIT): Do not register the command "debug".
25701
25702 From Hollis Blanchard:
25703 * commands/configfile.c: New file.
25704 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25705 commands/configfile.c.
25706 (pkgdata_MODULES): Added configfile.mod.
25707 (configfile_mod_SOURCES): New variable.
25708 (configfile_mod_CFLAGS): Likewise.
25709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25710 commands/configfile.c.
25711 (pkgdata_MODULES): Added configfile.mod.
25712 (configfile_mod_SOURCES): New variable.
25713 (configfile_mod_CFLAGS): Likewise.
25714 * util/grub-emu.c (main): Call grub_configfile_init and
25715 grub_configfile_fini.
25716 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25717 prototype.
25718 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 25719
cee01aa6 257202005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25721
25722 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25723 address.
25724
25725 * commands/help.c (grub_cmd_help): Do not print newlines after
25726 the last command in print_command_help.
25727
93f3a1d8 257282005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25729
25730 * commands/default.h: New file.
25731 * commands/timeout.h: Likewise.
25732 * normal/context.c: Likewise.
f19dbdb7 25733
93f3a1d8 25734 * util/misc.c: Do not include sys/times.h.
25735 Include sys/time.h and grub/machine/time.h.
25736 (grub_get_rtc): Rewritten with gettimeofday.
25737
25738 * util/grub-emu.c (main): Call grub_default_init and
25739 grub_timeout_init before grub_normal_init, and call
25740 grub_timeout_fini and grub_default_fini after grub_main.
25741
25742 * util/console.c (grub_ncurses_checkkey): Return the read
25743 character or -1.
25744
25745 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25746 timeouts.
25747
25748 * normal/main.c (read_config_file): Push MENU. If this fails,
25749 print an error and wait for a user input.
25750 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25751 If a menu is empty or an error occurs, pop MENU.
25752 (grub_normal_execute): Pop and free MENU after grub_menu_run
25753 returns.
25754
25755 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25756
25757 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25758 include time.h.
25759 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25760 without GRUB_UTIL.
25761 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25762 time.h.
25763 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25764 without GRUB_UTIL.
25765
25766 * include/grub/normal.h (struct grub_menu_list): New struct.
25767 (grub_menu_list_t): New type.
25768 (struct grub_context): New struct.
25769 (grub_context_t): New type.
25770 (grub_register_command): Got rid of EXPORT_FUNC.
25771 (grub_unregister_command): Likewise.
25772 (grub_context_get): New prototype.
25773 (grub_context_get_current_menu): Likewise.
25774 (grub_context_push_menu): Likewise.
25775 (grub_context_pop_menu): Likewise.
25776 [GRUB_UTIL] (grub_default_init): Likewise.
25777 [GRUB_UTIL] (grub_default_fini): Likewise.
25778 [GRUB_UTIL] (grub_timeout_init): Likewise.
25779 [GRUB_UTIL] (grub_timeout_fini): Likewise.
25780
25781 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
25782 commands/timeout.c and normal/context.c.
25783 (pkgdata_MODULES): Added default.mod and timeout.mod.
25784 (normal_mod_SOURCES): Added normal/context.c.
25785 (default_mod_SOURCES): New variable.
25786 (default_mod_CFLAGS): Likewise.
25787 (timeout_mod_SOURCES): Likewise.
25788 (timeout_mod_CFLAGS): Likewise.
25789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
25790 conf/i386-pc.rmk.
25791 (pkgdata_MODULES): Added default.mod and timeout.mod.
25792 (normal_mod_SOURCES): Added normal/context.c.
25793 (default_mod_SOURCES): New variable.
25794 (default_mod_CFLAGS): Likewise.
25795 (timeout_mod_SOURCES): Likewise.
25796 (timeout_mod_CFLAGS): Likewise.
25797
25798 * Makefile.in (all-local): Added $(MKFILES).
25799
4ed2e1dd 258002005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
25801
25802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
25803 (grub_emu_SOURCES): Likewise.
25804 (pkgdata_MODULES): Add `sun.mod'.
25805 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25807 `partmap/sun.c'.
25808 (pkgdata_MODULES): Add `sun.mod'.
25809 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25810 * include/grub/partition.h (grub_sun_partition_map_init): New
25811 prototype.
25812 (grub_sun_partition_map_fini): Likewise.
25813 * partmap/sun.c: New file.
25814 * util/grub-emu.c (main): Initialize and de-initialize the sun
25815 partitionmap support.
25816
4d4e372e 258172005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
25818
25819 This implements an Emacs-like menu entry editor.
f19dbdb7 25820
4d4e372e 25821 * normal/menu_entry.c: New file.
f19dbdb7 25822
4d4e372e 25823 * util/console.c (grub_ncurses_putchar): Translate some Unicode
25824 characters to ASCII.
25825 (saved_char): New variable.
25826 (grub_ncurses_checkkey): Rewritten completely.
25827 (grub_ncurses_getkey): Likewise.
25828 (grub_ncurses_init): Call raw instead of cbreak.
25829
25830 * normal/menu.c (print_entry): Do not put a space.
25831 (init_page): Renamed to ...
25832 (grub_menu_init_page): ... this. All callers changed.
25833 (edit_menu_entry): Removed.
25834 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
25835
25836 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
25837
25838 * kern/misc.c (grub_vprintf): Call grub_refresh.
25839
25840 * normal/menu.c (DISP_LEFT): Renamed to ...
25841 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
25842 * normal/menu.c (DISP_UP): Renamed to ...
25843 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
25844 * normal/menu.c (DISP_RIGHT): Renamed to ...
25845 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
25846 * normal/menu.c (DISP_DOWN): Renamed to ...
25847 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
25848 * normal/menu.c (DISP_HLINE): Renamed to ...
25849 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
25850 * normal/menu.c (DISP_VLINE): Renamed to ...
25851 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
25852 * normal/menu.c (DISP_UL): Renamed to ...
25853 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
25854 * normal/menu.c (DISP_UR): Renamed to ...
25855 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
25856 * normal/menu.c (DISP_LL): Renamed to ...
25857 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
25858 * normal/menu.c (DISP_LR): Renamed to ...
25859 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
25860 * normal/menu.c (TERM_WIDTH): Renamed to ...
25861 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
25862 * normal/menu.c (TERM_HEIGHT): Renamed to ...
25863 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
25864 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
25865 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
25866 * normal/menu.c (TERM_MARGIN): Renamed to ...
25867 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
25868 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
25869 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
25870 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
25871 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
25872 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
25873 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
25874 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
25875 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
25876 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
25877 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
25878 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
25879 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
25880 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
25881 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
25882 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
25883 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
25884 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
25885 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
25886 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
25887 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
25888 All callers changed.
25889
25890 * include/grub/normal.h: New prototype.
25891
25892 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25893 normal/menu_entry.c.
25894 (normal_mod_SOURCES): Likewise.
25895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25896 (normal_mod_SOURCES): Likewise.
25897
e6b92c8a 258982005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
25899
25900 * include/grub/normal.h (grub_halt_init): New prototype.
25901 (grub_halt_fini): Likewise.
25902 (grub_reboot_init): Likewise.
25903 (grub_reboot_fini): Likewise.
25904
25905 * util/grub-emu.c: Include signal.h.
25906 (main_env): New global variable.
25907 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
25908 catch C-c.
25909 (grub_machine_fini): New function.
25910 (main): Call grub_halt_init and grub_reboot_init before
25911 grub_main, and grub_reboot_fini and grub_halt_fini after it.
25912 Call setjmp with MAIN_ENV to go back afterwards.
25913 Call grub_machine_fini right before return.
25914
25915 * include/grub/util/misc.h: Include setjmp.h.
25916 (main_env): New prototype.
25917
25918 * include/grub/kernel.h (grub_machine_fini): New prototype.
25919 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
25920 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
25921
25922 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
25923 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
25924 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 25925
e6b92c8a 25926 * util/i386/pc/misc.c: New file.
f19dbdb7 25927
e6b92c8a 25928 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25929 util/i386/pc/misc.c, commands/i386/pc/halt.c and
25930 commands/i386/pc/reboot.c.
25931
c642636f 259322005-02-14 Guillem Jover <guillem@hadrons.org>
25933
25934 * include/grub/dl.h (grub_dl_check_header): New prototype.
25935 (grub_arch_dl_check_header): Change return type to grub_err_t,
25936 remove size parameter and export function. Update all callers.
25937 * kern/dl.c (grub_dl_check_header): New function.
25938 (grub_dl_load_core): Use `grub_dl_check_header' instead of
25939 `grub_arch_dl_check_header'. Check ELF type. Check if sections
25940 are inside the core.
25941 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
25942 independent ELF header checks.
25943 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25944 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
25945 `grub_dl_check_header' instead of explicit checks. Check for the
25946 ELF type.
25947 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
25948 `grub_dl_check_header' instead of explicit checks. Remove arch
25949 specific ELF header checks.
25950
e6b92c8a 25951 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
25952 argument SIZE.
25953
5eabe94b 259542005-02-13 Hollis Blanchard <hollis@penguinppc.org>
25955
25956 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
25957 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
25958
1b14a681 259592005-02-12 Hollis Blanchard <hollis@penguinppc.org>
25960
25961 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 25962 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 25963 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 25964 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 25965 * partmap/amiga.c (amiga_partition_map_iterate): Return
25966 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
25967 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25968
aca108aa 259692005-02-01 Guillem Jover <guillem@hadrons.org>
25970
25971 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
25972 help info.
25973
c9f9c556 259742005-01-31 Marco Gerards <metgerards@student.han.nl>
25975
25976 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
25977 Removed prototype.
25978 (grub_rescue_cmd_linux): New prototype.
25979 (grub_rescue_cmd_initrd): Likewise.
25980 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
25981 `bi_rec'.
25982 (grub_linux_release_mem): Release the memory for the initrd.
25983 (grub_load_linux): Renamed from this...
25984 (grub_rescue_cmd_linux): ...To this. Changed all callers.
25985 Changed `entry' not to be static. Loop over memory regions to
25986 find another one when the default fails.
25987 (grub_rescue_cmd_initrd): New function.
25988 (grub_linux_init): Remove function.
25989 (grub_linux_fini): Likewise.
25990 (GRUB_MOD_INIT): Register `initrd'.
25991 (GRUB_MOD_FINI): Unregister `initrd'.
25992 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
25993 Function removed.
25994 (grub_linux_normal_fini): Likewise.
25995 (GRUB_MOD_INIT): Register `initrd'.
25996 (GRUB_MOD_FINI): Unregister `initrd'.
25997
990cf3aa 259982005-01-31 Marco Gerards <metgerards@student.han.nl>
25999
26000 * commands/help.c: New file.
26001 * normal/arg.c (show_help): Renamed to...
26002 (grub_arg_show_help): ... this.
26003 * commands/i386/pc/halt.c: New file.
26004 * commands/i386/pc/reboot.c: Likewise.
26005 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26006 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26007 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26008 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26009 variables.
26010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26011 `commands/help.c'.
26012 (pkgdata_MODULES): Add `help.mod'.
26013 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26014 * grub/i386/pc/init.h (grub_reboot): New prototype.
26015 (grub_halt): Likewise.
26016 * include/grub/normal.h (grub_arg_show_help): New prototype.
26017 (grub_help_init): Likewise.
26018 (grub_help_fini): Likewise.
26019 * util/grub-emu.c (main): Initialize and deinitialize the help
26020 command.
26021
26022 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26023
26024 * normal/command.c (grub_command_init): Fixed the description of
26025 the `set' and `unset' commands.
26026
260272005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 26028
26029 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26030 function.
26031 * commands/ieee1275/halt.c: New file.
26032 * commands/ieee1275/reboot.c: Likewise.
26033 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26034 `__attribute__ ((unused))'. Some GCS related fixed.
26035 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26036 (grub_suspend_fini): Likewise.
26037 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26038 and `halt.mod'.
26039 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26040 (halt_mod_CFLAGS): New variables.
26041 * include/grub/powerpc/ieee1275/ieee1275.h
26042 (grub_ieee1275_interpret): New prototype.
26043
1ab09cc7 260442005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26045
26046 * include/grub/misc.h (memmove): New prototype.
26047 (memcpy): Likewise.
26048
8b8cbdb2 260492005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26050
26051 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26052 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26053
e3741a27 260542005-01-22 Marco Gerards <metgerards@student.han.nl>
26055
26056 * kern/misc.c (grub_strndup): Function rewritten.
26057
776bd780 260582005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26059
26060 * normal/menu.c (TERM_WIDTH): Macro redefined.
26061 (TERM_TOP_BORDER_Y): Likewise.
26062 (draw_border): Replaced while-loop by a for-loop. Make the number
26063 of lines consistent with the number of lines displayed in
26064 print_entries. Added a margin below the rectangle.
26065 (print_entry): Make the entry fit in the rectangle.
26066 (print_entries): Display the scroll arrows next to the right
26067 border.
26068
78026bce 260692005-01-21 Marco Gerards <metgerards@student.han.nl>
26070
26071 * fs/minix.c (grub_minix_find_file): Reserve more space for
26072 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26073 `grub_strncpy' to copy `path' into it.
26074
67bbaf0f 260752005-01-21 Marco Gerards <metgerards@student.han.nl>
26076
26077 Add the loopback device, a device via which files can be accessed
26078 as devices.
f19dbdb7 26079
67bbaf0f 26080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26081 (pkgdata_MODULES): Add loopback.mod.
26082 (loopback_mod_SOURCES): New variable.
26083 (loopback_mod_CFLAGS): Likewise.
26084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26085 `disk/loopback.c'.
26086 (pkgdata_MODULES): Add loopback.mod.
26087 (loopback_mod_SOURCES): New variable.
26088 (loopback_mod_CFLAGS): Likewise.
26089 * disk/loopback.c: new file.
26090 * include/grub/normal.h (grub_loop_init): New prototype.
26091 (grub_loop_fini): New prototype.
26092 * util/grub-emu.c (main): Initialize and de-initialize loopback
26093 support.
26094 * include/grub/disk.h (grub_disk_dev_id): Add
26095 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26096
6f1c18bd 260972005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26098
26099 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26100 function.
26101 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26102 (suspend_mod_SOURCES): New variable.
26103 (suspend_mod_CFLAGS): Likewise.
26104 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26105 New prototype.
26106 * commands/ieee1275/suspend.c: New file.
26107
b38551da 261082005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26109
26110 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 26111 ((unused))' to `__attribute__ ((used))'.
b38551da 26112 (GRUB_MOD_FINI): Likewise.
26113 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26114 * genmk.rb (PModule): Assign space to common symbols when linking
26115 modules.
26116
777aff39 261172005-01-20 Marco Gerards <metgerards@student.han.nl>
26118
26119 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26120 `unsigned' arguments to `grub_size_t'.
26121 (grub_malloc): Likewise.
26122 (grub_realloc): Likewise.
26123 (grub_memalign): Likewise.
26124 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
26125 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26126 * util/misc.c (grub_malloc): Likewise.
26127 (grub_realloc): Likewise.
26128 * kern/mm.c (get_header_from_pointer): Change the casts to
26129 `unsigned' into a cast to `grub_size_t'.
26130
26131 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
26132 point to `currnode' when `currnode' is changed.
26133
26134 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
26135 Schottelius <nico-linux@schottelius.org>.
26136
d0ff18e1 261372005-01-09 Hollis Blanchard <hollis@penguinppc.org>
26138
26139 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
26140 (note_path): Remove variable.
26141 (GRUB_IEEE1275_NOTE_NAME): New macro.
26142 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
26143 (grub_ieee1275_note_hdr): New structure.
26144 (grub_ieee1275_note_desc): Likewise.
26145 (grub_ieee1275_note): Likewise.
26146 (load_note): Remove `dir' argument. All callers updated. Remove
26147 `note_img' and `path'. Do not load a file from `note_path'.
26148 Initialize a struct grub_ieee1275_note and write that to `out'.
26149 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
26150
4ca7004c 261512005-01-05 Marco Gerards <metgerards@student.han.nl>
26152
26153 * util/misc.c (grub_util_read_image): Revert last change. It
26154 called `grub_util_read_at', which seeks from the beginning of the
26155 file.
26156
0b412211 261572005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26158
26159 * TODO: Add note about endianness in grub-mkimage.
26160 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26161 section.
26162 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26163 (grub_mkimage_SOURCES): New target.
26164 * include/grub/kernel.h (grub_start_addr): Remove variable.
26165 (grub_end_addr): Likewise.
26166 (grub_total_module_size): Likewise.
26167 (grub_kernel_image_size): Likewise.
26168 (GRUB_MODULE_MAGIC): New constant.
26169 (grub_module_info): New structure.
26170 (grub_arch_modules_addr): New prototype.
26171 (grub_get_end_addr): Remove prototype.
26172 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26173 * include/grub/powerpc/ieee1275/kernel.h: New file.
26174 * include/grub/util/misc.h (grub_util_get_fp_size): New
26175 prototype.
26176 (grub_util_read_at): Likewise.
26177 (grub_util_write_image_at): Likewise.
26178 * kern/main.c (grub_get_end_addr): Remove function.
26179 (grub_load_modules): Call grub_arch_modules_addr instead of using
26180 grub_end_addr. Look for a grub_module_info struct in memory. Use
26181 the grub_module_info fields instead of calling grub_get_end_addr
26182 as loop conditions. Move grub_add_unused_region code here.
26183 (grub_add_unused_region): Remove function.
26184 * kern/i386/pc/init.c: Include grub/cache.h.
26185 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26186 one call to add_mem_region.
26187 (grub_arch_modules_addr): New function.
26188 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26189 (grub_total_module_size): Likewise.
26190 Include grub/machine/kernel.h.
26191 (grub_arch_modules_addr): New function.
26192 * util/grub-emu.c (grub_end_addr): Remove variable.
26193 (grub_total_module_size): Likewise.
26194 (grub_arch_modules_addr): New function.
26195 * util/misc.c: Include unistd.h.
26196 (grub_util_get_fp_size): New function.
26197 (grub_util_read_at): Likewise.
26198 (grub_util_write_image_at): Likewise.
26199 (grub_util_read_image): Call grub_util_read_at.
26200 (grub_util_write_image): Call grub_util_write_image_at.
26201 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26202 additional memory in kernel_img for a struct grub_module_info.
26203 Fill in that grub_module_info.
26204 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26205
458786f8 262062005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26207
26208 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26209 New function.
26210 * include/grub/powerpc/ieee1275/ieee1275.h
26211 (grub_ieee1275_milliseconds): New prototype.
26212 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26213 Change to 1000.
26214 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26215 grub_ieee1275_milliseconds.
26216
ac507d1b 262172005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26218
26219 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26220 variable.
26221 (find_options): New function.
26222 (cmain): Call find_options.
26223 * include/grub/powerpc/ieee1275/ieee1275.h
26224 (grub_ieee1275_realmode): New extern variable.
26225 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26226 grub_map if grub_ieee1275_realmode is false.
26227
6b8fd1c4 262282004-12-29 Marco Gerards <metgerards@student.han.nl>
26229
26230 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26231 lines are inserted and make it work like readline. Reported by
26232 Vincent Pelletier <subdino2004@yahoo.fr>.
26233
8514a1e0 262342004-12-28 Marco Gerards <metgerards@student.han.nl>
26235
26236 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26237
26238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26239 `kern/powerpc/cache.S'.
26240
924b6140 262412004-12-27 Marco Gerards <metgerards@student.han.nl>
26242
26243 * genmk.rb: Handle the `Program' class in the main loop. Written
26244 by Johan Rydberg <jrydberg@gnu.org>.
26245 (Program): New class.
26246 (programs): New variable.
26247 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26248 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26249 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26250 (help_arch): Function removed.
26251 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26252 `powerpc/libgcc.h' and `loader.h'.
26253 (pkgdata_PROGRAMS): New variable.
26254 (sbin_UTILITIES): Variable removed.
26255 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26256 (grubof_SOURCES): Variable re-defined so it only includes the
26257 core functionality.
26258 (grubof_CFLAGS): Remove `-DGRUBOF'.
26259 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26260 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26261 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26262 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26263 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26264 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26265 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26266 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26267 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26268 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26269 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26270 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26271 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26272 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26273 (pc_mod_CFLAGS): New variables.
26274 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26275 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26276 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26277 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26278 Moved from here...
26279 * include/grub/i386/pc/init.h (grub_os_area_addr)
26280 (rub_os_area_size): ... to here.
26281 * include/grub/powerpc/ieee1275/ieee1275.h
26282 (grub_ieee1275_entry_fn): Export symbol.
26283 * include/grub/powerpc/ieee1275/init.h: New file.
26284 * include/grub/powerpc/libgcc.h: Likewise.
26285 * include/grub/cache.h: Likewise.
26286 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26287 <hollis@penguinppc.org>.
26288 * kern/dl.c: Include <grub/cache.h>.
26289 (grub_dl_flush_cache): New function.
26290 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26291 for this module.
26292 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26293 (grub_console_init): Removed prototypes.
26294 (grub_machine_init): Don't initialize the modules anymore.
26295 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26296 static.
26297 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26298 Macro undef removed.
26299 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26300 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26301 relocation `R_PPC_REL32'. Return an error when the relocation is
26302 unknown.
26303 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26304 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26305 * util/misc.c (grub_arch_sync_caches): Likewise.
26306
e4b47e0c 263072004-12-19 Marco Gerards <metgerards@student.han.nl>
26308
26309 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
26310 `symlist.c', add `grubof_symlist.c'.
26311 (symlist.c): Variable removed.
26312 (grubof_HEADERS): Variable added.
26313 (grubof_symlist.c): New target.
26314 (kernel_syms.lst): Use `grubof_HEADERS' instead of
26315 `kernel_img_HEADERS'.
26316 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
26317 * kern/powerpc/dl.c: New file.
26318 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
26319 Function removed.
26320 (grub_arch_dl_relocate_symbols): Likewise.
26321 (grub_register_exported_symbols): Likewise.
26322
4ceb3636 263232004-12-13 Marco Gerards <metgerards@student.han.nl>
26324
26325 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
26326 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
26327 to fail instead. Reported by Vincent Pelletier
26328 <subdino2004@yahoo.fr>.
26329
26330 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
26331 it is not allocated. Reported by Vincent Pelletier
26332 <subdino2004@yahoo.fr>.
26333
26334 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
26335 output so the output looks better.
f19dbdb7 26336
3f1578fe 263372004-12-04 Marco Gerards <metgerards@student.han.nl>
26338
26339 Modulize the partition map support and add support for the amiga
26340 partition map.
f19dbdb7 26341
3f1578fe 26342 * commands/ls.c: Include <grub/partition.h> instead of
26343 <grub/machine/partition.h>.
26344 * kern/disk.c: Likewise.
26345 * kern/rescue.c: Likewise.
26346 * loader/i386/pc/chainloader.c: Likewise.
26347 * normal/cmdline.c: Likewise.
26348 * kern/powerpc/ieee1275/init.c: Likewise.
26349 (grub_machine_init): Call `grub_pc_partition_map_init',
26350 `grub_amiga_partition_map_init' and
26351 `grub_apple_partition_map_init'.
26352 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
26353 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
26354 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
26355 `partition.h' and `pc_partition.h'.
26356 (grub_setup_SOURCES): Remove
26357 `disk/i386/pc/partition.c'. Add `kern/partition.c',
26358 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26359 (grub_emu_SOURCES): Likewise.
26360 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
26361 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
26362 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
26363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26364 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
26365 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26366 (grubof_SOURCES): Likewise.
26367 * disk/i386/pc/partition.c: File removed.
26368 * disk/powerpc/ieee1275/partition.c: Likewise.
26369 * include/grub/powerpc/ieee1275/partition.h: Likewise.
26370 * include/grub/i386/pc/partition.h: Likewise.
26371 * kern/partition.c: New file.
26372 * partmap/amiga.c: Likewise.
26373 * partmap/apple.c: Likewise.
26374 * partmap/pc.c: Likewise.
26375 * include/grub/partition.h: Likewise..
26376 * include/grub/pc_partition.h: Likewise.
26377 * util/grub-emu.c: Include <grub/partition.h> instead of
26378 <grub/machine/partition.h>.
26379 (main): Call `grub_pc_partition_map_init',
26380 `grub_amiga_partition_map_init' and
26381 `grub_apple_partition_map_init' and deinitialize afterwards.
26382 * util/i386/pc/biosdisk.c: Include `#include
26383 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26384 `<grub/machine/partition.h>'.
26385 * util/i386/pc/grub-setup.c: Likewise.
26386 * util/i386/pc/biosdisk.c: Likewise.
26387 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
26388 partition information in case of a PC partition.
26389 * util/i386/pc/grub-setup.c: Include `#include
26390 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26391 `<grub/machine/partition.h>'.
26392 (setup): Only access the PC specific partition information in case
26393 of a PC partition.
26394
0ef4ced9 263952004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 26396
0ef4ced9 26397 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
26398 (grub_longjmp): Likewise.
26399 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
26400 20.
26401 * normal/powerpc/setjmp.S: New file.
26402 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26403 `normal/powerpc/setjmp.S'.
26404 (grubof_CFLAGS): Add `-DGRUBOF'.
26405 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
26406 [GRUB_UTIL && !GRUBOF].
f19dbdb7 26407
19950e29 264082004-11-16 Marco Gerards <metgerards@student.han.nl>
26409
26410 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
26411 property named `name'. Correctly handle the error returned by
26412 `grub_ieee1275_finddevice' if a device can not be opened.
26413
a2fea427 264142004-11-02 Hollis Blanchard <hollis@penguinppc.org>
26415
26416 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
26417 `actual' for negativity.
26418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26419 kern/fshelp.c.
26420
41ea0ea3 264212004-11-01 Marco Gerards <metgerards@student.han.nl>
26422
26423 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
26424 (PAGE_OFFSET): New macro.
26425 (CRTC_ADDR_PORT): Likewise.
26426 (CRTC_DATA_PORT): Likewise.
26427 (START_ADDR_HIGH_REGISTER): Likewise.
26428 (START_ADDR_LOW_REGISTER): Likewise.
26429 (GRAPHICS_ADDR_PORT): Likewise.
26430 (GRAPHICS_DATA_PORT): Likewise.
26431 (READ_MAP_REGISTER): Likewise.
26432 (INPUT_STATUS1_REGISTER): Likewise.
26433 (INPUT_STATUS1_VERTR_BIT): Likewise.
26434 (page): New variable.
26435 (wait_vretrace): New function.
26436 (set_read_map): Likewise.
26437 (set_start_address): Likewise.
26438 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
26439 the right page.
26440 (check_vga_mem): Take the page into account.
26441 (write_char): Likewise.
26442 (write_cursor): Likewise.
26443 (scroll_up): Likewise. Copy the page to the page that is not
26444 shown and switch between both pages.
26445 (grub_vga_putchar): Fix off by one error.
26446 (grub_vga_cls): Wait for the vertical retrace. Take the page into
26447 account.
26448
ad0bd20b 264492004-11-01 Marco Gerards <metgerards@student.han.nl>
26450
26451 Add support for iso9660 (including rockridge).
f19dbdb7 26452
ad0bd20b 26453 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26454 (iso9660_mod_SOURCES): New variable.
26455 (iso9660_mod_CFLAGS): Likewise.
26456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26457 * include/grub/fs.h (grub_iso9660_init): New prototype.
26458 * util/grub-emu.c (main): Call `grub_iso9660_init'.
26459 * fs/iso9660.c: New file.
26460
26461 * include/grub/misc.h (grub_strncat): New prototype.
26462 * kern/misc.c (grub_strncat): New function.
f19dbdb7 26463
ad0bd20b 26464 * fs/hfs.c (grub_hfs_mount): Translate the error
26465 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
26466 * fs/jfs.c (grub_jfs_mount): Likewise.
26467 * fs/ufs.c (grub_ufs_mount): Likewise.
26468
a5477a59 264692004-10-28 Hollis Blanchard <hollis@penguinppc.org>
26470
26471 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
26472 which initialized BAT registers.
26473 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
26474 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26475 Move from here...
26476 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
26477 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26478 ... to here.
26479 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
26480 (grub_mapclaim): Likewise.
26481 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
26482 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
26483 hand.
26484
9304c1f8 264852004-10-19 Hollis Blanchard <hollis@penguinppc.org>
26486
26487 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
26488 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
26489 -ffreestanding and -msoft-float.
26490
86f4ae25 264912004-10-15 Hollis Blanchard <hollis@penguinppc.org>
26492
26493 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
26494 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
26495 set in grub_ieee1275_flags.
26496
38912228 264972004-10-14 Hollis Blanchard <hollis@penguinppc.org>
26498
26499 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
26500 prototype.
26501 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
26502 grub_console_init first.
26503 Change the memory range used for grub_ieee1275_claim and
26504 grub_mm_init_region.
26505 Print an error message if the claim fails.
26506 Include <grub/misc.h>.
26507
d1923dc8 265082004-10-13 Hollis Blanchard <hollis@penguinppc.org>
26509
26510 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
26511 Call grub_children_iterate for device nodes of type `scsi',
26512 `ide', or `ata'.
26513 (grub_ofdisk_open): Remove manual device alias resolution.
26514 Fix memory leak when device cannot be opened.
f19dbdb7 26515 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 26516 (grub_children_iterate): New prototype.
26517 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
26518 New function.
26519 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26520 Return -1 if args.size was -1.
26521
4512e4f3 265222004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26523
26524 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
26525 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
26526 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
26527 Open Firmware's memory for it; claim memory from _start to _end.
26528 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
26529 (_end): New extern.
26530 (_start): Zero BSS from __bss_start to _end.
26531 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26532 New extern.
26533 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26534
4d61feb0 265352004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26536
ad0bd20b 26537 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26538 -1 if args.base was -1.
4d61feb0 26539
026fa2f9 265402004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26541
26542 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26543 escape sequence instead of a literal ^L. Also call
26544 grub_ofconsole_gotoxy.
26545
9f2220ef 265462004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26547
26548 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26549 void * arguments to grub_addr_t. All callers updated. Also make
26550 the `result' argument optional.
26551 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26552 All callers updated.
26553
8a572cd7 265542004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26555
26556 * commands/ls.c (grub_ls_list_files): Use the string following the
26557 initial ')', if present, as the filesystem path.
26558 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26559
26560 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26561
18aa81f2 265622004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26563
26564 Make the source code of the menu interface more readable.
f19dbdb7 26565
18aa81f2 26566 * normal/menu.c: Include grub/mm.h.
26567 (TERM_WIDTH): New macro.
26568 (TERM_HEIGHT): Likewise.
26569 (TERM_INFO_HEIGHT): Likewise.
26570 (TERM_MARGIN): Likewise.
26571 (TERM_SCROLL_WIDTH): Likewise.
26572 (TERM_TOP_BORDER_Y): Likewise.
26573 (TERM_LEFT_BORDER_X): Likewise.
26574 (TERM_BORDER_WIDTH): Likewise.
26575 (TERM_MESSAGE_HEIGHT): Likewise.
26576 (TERM_BORDER_HEIGHT): Likewise.
26577 (TERM_NUM_ENTRIES): Likewise.
26578 (TERM_FIRST_ENTRY_Y): Likewise.
26579 (TERM_ENTRY_WIDTH): Likewise.
26580 (TERM_CURSOR_X): Likewise.
26581 (draw_border): Use macros instead of magic numbers.
26582 (print_entry): Likewise.
26583 (print_entries): Likewise.
26584 (run_menu): Likewise. Also, handle the key 'e'.
26585 (run_menu_entry): Ignore empty command lines.
26586 (print_message): Added a new argument EDIT. If EDIT is true,
26587 print a different message.
26588 (init_page): Likewise.
26589 (edit_menu_entry): New function. Not implemented yet.
26590
b47efe30 265912004-09-17 Marco Gerards <metgerards@student.han.nl>
26592
26593 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26594 can be loaded from normal mode.
f19dbdb7 26595
b47efe30 26596 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26597 `multiboot.mod'.
26598 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26599 (multiboot_mod_CFLAGS): New variables.
26600 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 26601 * loader/i386/pc/multiboot_normal.c: Likewise.
26602
b47efe30 26603 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26604 attribute `unused'.
f19dbdb7 26605
b47efe30 26606 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26607 `fdiro' to read the mode information from instead of `diro'.
26608
26609 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26610 looking up a symlink.
26611
26612 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26613 macro.
26614 * normal/command.c (grub_command_execute): Don't parse the
26615 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26616 flags of the command.
26617
26618 * normal/menu.c (grub_menu_run): Fix typo.
26619
da75ac71 266202004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26621
26622 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26623
26624 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26625 `y + 1' instead of `y - 1'.
26626
26627 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 26628
062b24c2 266292004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26630
26631 From Hollis Blanchard <hollis@penguinppc.org>:
26632 * kern/misc.c (memmove): New alias for grub_memmove.
26633 (memcmp): New alias for grub_memcmp.
26634 (memset): New alias for grub_memset.
f19dbdb7 26635 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 26636 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 26637 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 26638 (grub_ieee1275_get_property): Likewise.
f19dbdb7 26639
8ddad845 266402004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26641
26642 Added normal mode command `chainloader' as module chain.mod, which
26643 depends on normal.mod and _chain.mod.
f19dbdb7 26644
8ddad845 26645 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26646 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26647 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26648 Deleted prototype.
26649 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26650 but arguments parsing moved to ...
26651 (grub_chainloader_cmd): ... here. New function.
26652 * include/grub/i386/pc/chainloader.h: New file.
26653 * loader/i386/pc/chainloader_normal.c: Likewise.
26654
2c1f4ce3 266552004-09-11 Marco Gerards <metgerards@student.han.nl>
26656
26657 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26658 (grub_mkimage_LDFLAGS): Likewise.
26659 (grub_emu_SOURCES): Likewise.
26660 (kernel_img_HEADERS): Added fshelp.h.
26661 * fs/ext2.c: Include <grub/fshelp.h>.
26662 (FILETYPE_REG): New macro.
26663 (FILETYPE_INO_REG): Likewise.
26664 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26665 Changed all users.
26666 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26667 all users.
26668 (grub_fshelp_node): New struct.
26669 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26670 to a pointer.
26671 (grub_ext2_get_file_block): Removed function.
26672 (grub_ext2_read_block): New function.
26673 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26674 This function was written.
26675 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26676 (grub_ext2_find_file): Removed function.
26677 (grub_ext2_read_symlink): New function.
26678 (grub_ext2_iterate_dir): Likewise.
26679 (grub_ext2_open): Rewritten.
26680 (grub_ext2_dir): Rewritten.
26681 * include/grub/fshelp.h: New file.
26682 * fs/fshelp.c: Likewise.
26683
3c52136a 266842004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26685
26686 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26687 (print_message): Add a missing newline.
26688 (run_menu): Added timeout support.
26689 (run_menu_entry): New local function.
26690 (grub_menu_run): Added support for booting.
26691
26692 * kern/loader.c (grub_loader_is_loaded): New function.
26693
26694 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26695 (grub_get_rtc): Exported.
26696
26697 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26698 (grub_get_rtc): Exported.
26699
26700 * include/grub/normal.h (struct grub_command_list): Remove
26701 constant from the member `command'.
26702
26703 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26704
26705 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26706
26707 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26708
aa033560 267092004-08-28 Marco Gerards <metgerards@student.han.nl>
26710
26711 Add support for the JFS filesystem.
26712
26713 * fs/jfs.c: New file.
26714 * include/grub/fs.h (grub_jfs_init): New prototype.
26715 (grub_jfs_fini): New prototype.
26716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26717 (grub_emu_SOURCES): Likewise.
26718 (pkgdata_MODULES): Add jfs.mod.
26719 (jfs_mod_SOURCES): New variable.
26720 (jfs_mod_CFLAGS): Likewise.
26721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26722 (grubof_SOURCES): Likewise.
26723 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26724
26725 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26726 endian to the host endian.
26727 (grub_fat_utf16_to_utf8): Move function from there...
26728 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 26729 the endianness of the source string anymore.
aa033560 26730 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26731
94bc45af 267322004-08-24 Marco Gerards <metgerards@student.han.nl>
26733
26734 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26735 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26736 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26737 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 26738
94bc45af 26739 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26740 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26741 for `node_found' and `it_dir'.
26742 (grub_hfs_dir): Add prototype for `dir_hook'.
26743
26744 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26745 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26746 and `indir32' to silence a gcc warning.
26747
26748 * include/grub/fs.h (grub_hfs_init): New prototype.
26749 (grub_hfs_fini): Likewise.
f19dbdb7 26750
26751
97543f08 267522004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26753
26754 Each disk device has its own id now. This is useful to make use
26755 of multiple disk devices.
f19dbdb7 26756
97543f08 26757 * include/grub/disk.h (grub_disk_dev_id): New enum.
26758 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26759 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26760
26761 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26762 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26763
26764 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26765 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26766
26767 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26768 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26769
26770 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26771 "id" which is used by the cache manager.
26772
26773 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
26774 of just "GRUB".
26775
64372eb4 267762004-08-18 Marco Gerards <metgerards@student.han.nl>
26777
26778 * fs/hfs.c: New file.
26779 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
26780 (grub_emu_SOURCES): Likewise.
26781 (pkgdata_MODULES): Add hfs.mod.
26782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
26783 (grubof_SOURCES): Likewise.
26784 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
26785
26786 * include/grub/misc.h (grub_strncasecmp): Add prototype.
26787 * kern/misc.c (grub_strncasecmp): Add function.
26788
cc61b58f 267892004-08-14 Marco Gerards <metgerards@student.han.nl>
26790
26791 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
26792 with parentheses.
26793
26794 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
26795 (grub_ext2_dir): In case the directory entry type is unknown, read
26796 it from the inode.
26797
0ef123f6 267982004-08-02 Peter Bruin <pjbruin@dds.nl>
26799
26800 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
26801 grub_load_linux instead of grub_rescue_cmd_linux as second
26802 argument of grub_rescue_register_command.
26803
26804 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
26805
a447c5df 268062004-07-27 Marco Gerards <metgerards@student.han.nl>
26807
26808 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
26809 function.
26810 * commands/boot.c: Remove the check for `GRUB_UTIL'.
26811 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26812 `loader/powerpc/ieee1275/linux.c',
26813 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
26814 * include/grub/powerpc/ieee1275/ieee1275.h
26815 (grub_ieee1275_release): New prototype.
26816 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
26817 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
26818 normal, boot, linux and linux_normal.
26819 * loader/powerpc/ieee1275/linux.c: New file.
26820 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26821
5a9e3546 268222004-07-12 Marco Gerards <metgerards@student.han.nl>
26823
26824 * normal/arg.c (grub_arg_parse): Correct error handling after
26825 reallocating the argumentlist (check if `argl' is not null instead
26826 of checking if `args' is not null).
26827 * kern/mm.c (grub_realloc): Return the same pointer when using the
26828 same region, instead of returning the header address.
26829
e15199cb 268302004-07-11 Marco Gerards <metgerards@student.han.nl>
26831
26832 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
26833 one block instead of two when looking for the initial partition.
26834 (grub_partition_probe): Initialize the local variable `p' with 0.
26835 Use base 10 for the grub_strtoul call.
26836 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
26837 need for one local variable.
26838 (grub_strtoul): Don't add the new value to `num', instead of that
26839 just assign it.
26840
020616c2 268412004-07-11 Marco Gerards <metgerards@student.han.nl>
26842
26843 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
26844 (pxeboot_img_SOURCES): New variable.
26845 (pxeboot_img_ASFLAGS): Likewise.
26846 (pxeboot_img_LDFLAGS): Likewise.
26847 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
26848 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
26849 <lode_leroy@hotmail.com>.
26850
6c51eb64 268512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26852
26853 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
26854 there was no input.
26855
cfb12aff 268562004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26857
26858 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
26859 the history buffer logic.
26860
6eabba74 268612004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26862
26863 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
26864 (FILETYPE_INO_SYMLINK): New macros.
26865 (grub_ext2_find_file): Check if the node is a directory using the
26866 inode stat information instead of using the filetype in the
26867 dirent. Exclude the first character of an absolute symlink.
26868 (grub_ext2_dir): Mask out the filetype part of the mode member of
26869 the inode.
26870
66e19ef8 268712004-05-24 Marco Gerards <metgerards@student.han.nl>
26872
26873 Add support for UFS version 1 and 2. Add support for the minix
26874 filesystem version 1 and 2, both the variants with 14 and 30 long
26875 filenames.
f19dbdb7 26876
66e19ef8 26877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
26878 fs/minix.c.
26879 (grub_emu_SOURCES): Likewise.
26880 (pkgdata_MODULES): Add ufs.mod and minix.mod.
26881 (ufs_mod_SOURCES): New variable.
26882 (ufs_mod_CFLAGS): Likewise.
26883 (minix_mod_SOURCES): Likewise.
26884 (minix_mod_CFLAGS): Likewise.
26885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
26886 fs/minix.c.
26887 (grubof_SOURCES): Likewise.
26888 * fs/ufs.c: New file.
26889 * fs/minix.c: New file.
26890 * include/grub/fs.h (grub_ufs_init): New prototype.
26891 (grub_ufs_fini): Likewise.
26892 (grub_minix_init): Likewise.
26893 (grub_minix_fini): Likewise.
26894 * util/grub-emu.c (main): Initialize and deinitialize UFS and
26895 minix fs.
26896
cc2e748a 268972004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
26898
26899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
26900 commands/ls.c, commands/terminal.c, commands/boot.c,
26901 commands/cmp.c and commands/cat.c.
26902 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
26903
26904 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
26905 "env.h"
26906
4b13b216 269072004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26908
26909 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
26910 and grub_, respectively. Because the conversion is trivial and
26911 mechanical, I omit the details here. Please refer to the CVS
26912 if you need more information.
26913
6a142551 269142004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26915
26916 * include/pupa: Renamed to ...
26917 * include/grub: ... this.
26918 * util/i386/pc/pupa-mkimage.c: Renamed to ...
26919 * util/i386/pc/grub-mkimage.c: ... this.
26920 * util/i386/pc/pupa-setup.c: Renamed to ...
26921 * util/i386/pc/grub-setup.c: ... this.
26922 * util/pupa-emu.c: Renamed to ...
26923 * util/grub-emu.c: ... this.
26924
e56cdf21 269252004-03-29 Marco Gerards <metgerards@student.han.nl>
26926
26927 Add support for the newworld apple macintosh (PPC). This has been
26928 tested on the powerbook 2000 only. It only adds support for
26929 generic ieee1275 functions, console and disk support. This should
26930 be easy to port to other architectures with support for Open
26931 Firmware.
f19dbdb7 26932
e56cdf21 26933 * configure.ac: Accept the powerpc as host_cpu. In the case of
26934 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
26935 specific tests are only executed while building for the i386.
26936 Inverse test for crosscompile.
26937 * genmk.rb (Utility): Allow assembler files.
26938 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
26939 * conf/powerpc-ieee1275.rmk: New file.
26940 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
26941 * disk/powerpc/ieee1275/partition.c: Likewise.
26942 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
26943 * include/pupa/powerpc/ieee1275/console.h: Likewise.
26944 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
26945 * include/pupa/powerpc/ieee1275/time.h: Likewise.
26946 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
26947 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
26948 * include/pupa/powerpc/ieee1275/loader.h
26949 * include/pupa/powerpc/setjmp.h: Likewise.
26950 * include/pupa/powerpc/types.h: Likewise.
26951 * kern/powerpc/ieee1275/init.c: Likewise.
26952 * kern/powerpc/ieee1275/openfw.c: Likewise.
26953 * term/powerpc/ieee1275/ofconsole.c: Likewise.
26954
26955 These files were written by Johan Rydberg
26956 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 26957
e56cdf21 26958 * boot/powerpc/ieee1275/cmain.c: New file.
26959 * boot/powerpc/ieee1275/crt0.S: Likewise.
26960 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
26961 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
26962
8c8cc205 269632004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
26964
26965 * Makefile.in: Update copyright.
26966 * genmodsrc.sh: Likewise.
26967 * gensymlist.sh: Likewise.
26968 * term/i386/pc/vga.c: Indent correctly.
26969
26970 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
26971 bugreporting address.
26972 * util/i386/pc/pupa-setup.c (usage): Likewise,
26973 (main): Call pupa_ext2_init and pupa_ext2_fini.
26974
f19dbdb7 26975 * fs/fat.c (log2): Renamed to ...
8c8cc205 26976 (fat_log2): ... this.
26977 All callers changed.
26978 * kern/misc.c (memcpy): Alias to pupa_memmove.
26979 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
26980 lvalue cast.
26981 * util/console.c (pupa_ncurses_fini): Return 0.
26982
26983 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
26984 Move fail label here.
26985 [__GNU__]: Don't warn when using stat.
26986 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
26987 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
26988 long int. Use strtol instead of strtoul.
f19dbdb7 26989
db1771cf 269902004-03-14 Marco Gerards <metgerards@student.han.nl>
26991
26992 * commands/boot.c: New file.
26993 * commands/cat.c: Likewise.
26994 * commands/cmp.c: Likewise.
26995 * commands/ls.c: Likewise.
26996 * commands/terminal.c: Likewise.
26997 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
26998 (pupa_register_command): Changed interface to match the new
26999 argument parser.
27000 (pupa_command_execute): Changed (almost rewritten) so it uses
27001 pupa_split_command. Added support for setting variables using the
27002 syntax `foo=bar'.
27003 (rescue_command): Changed to work with the new argument parser.
27004 (terminal_command): Moved from here to commands/terminal.c.
27005 (set_command): New function.
27006 (unset_command): New function.
27007 (insmod_command): New function.
27008 (rmmod_command): New function.
27009 (lsmod_command): New function.
27010 (pupa_command_init): Don't initialize the command terminal
27011 anymore. Initialize the commands set, unset, insmod, rmmod and
27012 lsmod.
27013 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27014 (kernel_img_HEADERS): Add arg.h and env.h.
27015 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27016 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27017 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27018 normal/arg.c.
27019 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27020 terminal.mod.
27021 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27022 (boot_mod_SOURCES): New variable.
27023 (terminal_mod_SOURCES): Likewise.
27024 (ls_mod_SOURCES): Likewise.
27025 (cmp_mod_SOURCES): Likewise.
27026 (cat_mod_SOURCES): Likewise.
27027
27028 * normal/arg.c: New file.
27029 * kern/env.c: Likewise.
27030 * include/pupa/arg.h: Likewise.
27031 * include/pupa/env.h: Likewise.
27032 * font/manager.c (font_command): Changed to match argument parsing
27033 interface changes.
27034 (PUPA_MOD_INIT): Likewise.
27035 * hello/hello.c (pupa_cmd_hello): Likewise.
27036 (PUPA_MOD_INIT): Likewise.
27037 * include/pupa/disk.h: Include <pupa/device.h>.
27038 (pupa_print_partinfo): New prototype.
27039 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27040 (pupa_dl_get_prefix): Likewise.
27041 * include/pupa/misc.h: Include <pupa/err.h>.
27042 (pupa_isgraph): New prototype.
27043 (pupa_isdigit): Likewise.
27044 (pupa_split_cmdline): Likewise.
27045 * include/pupa/normal.h: Include <pupa/arg.h>.
27046 (pupa_command): Changed the prototype of the member `func' to
27047 match the argument parsing interface. Added member `options'.
27048 (pupa_register_command): Updated to match function.
27049 (pupa_arg_parse): New prototype.
27050 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27051 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27052 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27053 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27054 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27055 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27056 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27057 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27058 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27059 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27060 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27061 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27062 * kern/disk.c: Include <pupa/file.h>.
27063 (pupa_print_partinfo): New function.
27064 * kern/dl.c: Include <pupa/env.h>.
27065 (pupa_dl_dir): Variable removed.
27066 (pupa_dl_load): Use the environment variable `prefix' instead of
27067 the variable pupa_dl_dir.
27068 (pupa_dl_set_prefix): Function removed.
27069 (pupa_dl_get_prefix): Likewise.
27070 * kern/i386/pc/init.c: Include <pupa/env.h>.
27071 (pupa_machine_init): Use the environment variable `prefix' instead of
27072 using pupa_dl_set_prefix to set the prefix.
27073 * kern/main.c: Include <pupa/env.h>.
27074 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27075 using pupa_dl_get_prefix to get the prefix.
27076 * kern/misc.c: Include <pupa/env.h>.
27077 (pupa_isdigit): New function.
27078 (pupa_isgraph): Likewise.
27079 (pupa_ftoa): Likewise.
27080 (pupa_vsprintf): Added support for printing values of the type
27081 `double'. Make it possible to format variable output when using
27082 formatting like `%1.2%f'.
27083 (pupa_split_cmdline): New function.
27084 * kern/rescue.c: Include <pupa/env.h>.
27085 (next_word): Removed function.
27086 (pupa_rescue_cmd_prefix): Likewise.
27087 (pupa_rescue_cmd_set): New function.
27088 (pupa_rescue_cmd_unset): New function.
27089 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27090 split the command line instead of splitting it here. Added
27091 support for setting variables using the syntax `foo=bar'. Don't
27092 initialize the prefix command anymore. Initialized the set and
27093 unset commands.
27094 * normal/cmdline.c: Include <pupa/env.h>.
27095 (pupa_tab_complete): Added prototypes for print_simple_completion,
27096 print_partition_completion, add_completion, iterate_commands,
27097 iterate_dev, iterate_part and iterate_dir. Moved code to print
27098 partition information from here to kern/disk.c.
fe6b695a 27099 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 27100 * normal/main.c: Include <pupa/env.h>.
27101 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27102 instead of using pupa_dl_get_prefix to get the prefix.
27103 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27104 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27105 warning.
27106 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27107 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27108 ((unused))' to silence a gcc warning.
27109 (pupa_vga_setcolor): Likewise.
27110 (debug_command): Changed to match argument parsing
27111 interface changes.
27112 * util/pupa-emu.c: Include <pupa/env.h>.
27113 (options): Added 0's for unused fields to silence a gcc warning.
27114 (argp): Likewise.
27115 (main): Use the environment variable `prefix' instead of using
27116 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27117 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27118 and terminal.
27119
27120 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27121 * util/misc.c: Include <malloc.h>.
27122 (pupa_malloc): Rewritten so errors are correctly reported.
27123 (pupa_realloc): Likewise.
27124 (pupa_memalign): Likewise.
27125 (pupa_mm_init_region): Declare unused variables with
27126 `__attribute__ ((unused))' to silence a gcc warning.
27127 * normal/i386/setjmp.S: Remove tab at the end of the file to
27128 silence a gcc warning.
27129 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
27130 variables with `__attribute__ ((unused))' to silence a gcc
27131 warning.
27132 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
27133 local variable i unsigned to silence a gcc warning.
27134
27135 * kern/term.c: Include <pupa/misc.h>.
27136 (pupa_more_lines): New variable.
27137 (pupa_more): Likewise.
27138 (pupa_putcode): When the pager is active pause at the end of every
27139 screen.
27140 (pupa_set_more): New function.
27141 * include/pupa/term.h (pupa_set_more): New prototype.
27142
27143
3b1139cb 271442004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
27145
27146 Now this project is GRUB 2 rather than PUPA. The location of
27147 the CVS repository was moved to GRUB's.
f19dbdb7 27148
3b1139cb 27149 * configure.ac: Use bug-grub as the reporting address.
27150 Use GRUB instead of PUPA.
27151 Change the version number to 1.90.
27152
8367695c 271532004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
27154
27155 * genkernsyms.sh: Updated copyright information.
27156 * genmk.rb: Likewise.
27157 * genmodsrc.sh: Likewise.
27158 * gensymlist.sh: Likewise.
27159 * boot/i386/pc/boot.S: Likewise.
27160 * boot/i386/pc/diskboot.S: Likewise.
27161 * disk/i386/pc/biosdisk.c: Likewise.
27162 * disk/i386/pc/partition.c: Likewise.
27163 * font/manager.c: Likewise.
27164 * fs/ext2.c: Likewise.
27165 * fs/fat.c: Likewise.
27166 * include/pupa/boot.h: Likewise.
27167 * include/pupa/device.h: Likewise.
27168 * include/pupa/disk.h: Likewise.
27169 * include/pupa/dl.h: Likewise.
27170 * include/pupa/elf.h: Likewise.
27171 * include/pupa/err.h: Likewise.
27172 * include/pupa/file.h: Likewise.
27173 * include/pupa/font.h: Likewise.
27174 * include/pupa/fs.h: Likewise.
27175 * include/pupa/kernel.h: Likewise.
27176 * include/pupa/loader.h: Likewise.
27177 * include/pupa/misc.h: Likewise.
27178 * include/pupa/mm.h: Likewise.
27179 * include/pupa/net.h: Likewise.
27180 * include/pupa/normal.h: Likewise.
27181 * include/pupa/rescue.h: Likewise.
27182 * include/pupa/setjmp.h: Likewise.
27183 * include/pupa/symbol.h: Likewise.
27184 * include/pupa/term.h: Likewise.
27185 * include/pupa/types.h: Likewise.
27186 * include/pupa/i386/setjmp.h: Likewise.
27187 * include/pupa/i386/types.h: Likewise.
27188 * include/pupa/i386/pc/biosdisk.h: Likewise.
27189 * include/pupa/i386/pc/boot.h: Likewise.
27190 * include/pupa/i386/pc/console.h: Likewise.
27191 * include/pupa/i386/pc/init.h: Likewise.
27192 * include/pupa/i386/pc/kernel.h: Likewise.
27193 * include/pupa/i386/pc/linux.h: Likewise.
27194 * include/pupa/i386/pc/loader.h: Likewise.
27195 * include/pupa/i386/pc/memory.h: Likewise.
27196 * include/pupa/i386/pc/multiboot.h: Likewise.
27197 * include/pupa/i386/pc/partition.h: Likewise.
27198 * include/pupa/i386/pc/time.h: Likewise.
27199 * include/pupa/i386/pc/vga.h: Likewise.
27200 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27201 * include/pupa/util/getroot.h: Likewise.
27202 * include/pupa/util/misc.h: Likewise.
27203 * include/pupa/util/resolve.h: Likewise.
27204 * kern/device.c: Likewise.
27205 * kern/disk.c: Likewise.
27206 * kern/dl.c: Likewise.
27207 * kern/err.c: Likewise.
27208 * kern/file.c: Likewise.
27209 * kern/fs.c: Likewise.
27210 * kern/loader.c: Likewise.
27211 * kern/main.c: Likewise.
27212 * kern/misc.c: Likewise.
27213 * kern/mm.c: Likewise.
27214 * kern/rescue.c: Likewise.
27215 * kern/term.c: Likewise.
27216 * kern/i386/dl.c: Likewise.
27217 * kern/i386/pc/init.c: Likewise.
27218 * kern/i386/pc/lzo1x.S: Likewise.
27219 * kern/i386/pc/startup.S: Likewise.
27220 * loader/i386/pc/chainloader.c: Likewise.
27221 * loader/i386/pc/linux.c: Likewise.
27222 * loader/i386/pc/multiboot.c: Likewise.
27223 * normal/cmdline.c: Likewise.
27224 * normal/command.c: Likewise.
27225 * normal/main.c: Likewise.
27226 * normal/menu.c: Likewise.
27227 * normal/i386/setjmp.S: Likewise.
27228 * term/i386/pc/console.c: Likewise.
27229 * term/i386/pc/vga.c: Likewise.
27230 * util/console.c: Likewise.
27231 * util/genmoddep.c: Likewise.
27232 * util/misc.c: Likewise.
27233 * util/pupa-emu.c: Likewise.
27234 * util/resolve.c: Likewise.
27235 * util/unifont2pff.rb: Likewise.
27236 * util/i386/pc/biosdisk.c: Likewise.
27237 * util/i386/pc/getroot.c: Likewise.
27238 * util/i386/pc/pupa-mkimage.c: Likewise.
27239 * util/i386/pc/pupa-setup.c: Likewise.
27240
e6eced71 272412004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27242
27243 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27244 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27245 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27246 reading and reset it after reading.
27247 (pupa_ext2_close): Return PUPA_ERR_NONE.
27248
27249 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27250 Correct value.
27251 (struct linux_kernel_header): Add kernel_version and
27252 initrd_addr_max.
27253 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27254 pupa_file_read succeeds.
27255 (pupa_rescue_cmd_initrd): Implement.
27256
5aded270 272572003-12-03 Marco Gerards <metgerards@student.han.nl>
27258
27259 * fs/ext2.c (pupa_ext2_label): New function.
27260 (pupa_ext2_fs): Added label.
27261 * fs/fat.c (pupa_fat_label): New function.
27262 (pupa_fat_fs): Added label.
27263 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27264
27265 * kern/misc.c (pupa_strndup): New function.
27266 * include/pupa/misc.h (pupa_strndup): New prototype.
27267
27268 * include/pupa/normal.h: Include <pupa/err.h>.
27269 (pupa_set_history): New prototype.
27270 (pupa_iterate_commands): New prototype.
27271 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27272 <pupa/disk.h>, <pupa/file.h>.
27273 (hist_size): New variable.
27274 (hist_lines): Likewise.
27275 (hist_end): Likewise.
27276 (hist_used): Likewise.
27277 (pupa_set_history): New function.
27278 (pupa_history_get): Likewise.
27279 (pupa_history_add): Likewise.
27280 (pupa_history_replace): Likewise.
27281 (pupa_tab_complete): Likewise.
27282 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27283 completion shows partitionnames while completing partitions, this
27284 feature was suggested by Jeff Bailey.
27285 * normal/command.c (pupa_iterate_commands): New function.
27286 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27287 (pupa_normal_init): Initialize history buffer.
27288 (PUPA_MOD_INIT): Likewise.
27289 (pupa_normal_fini): Free the history buffer.
27290 (PUPA_MOD_FINI): Likewise.
27291
27292 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27293 key.
27294
27295 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27296 * configure.ac [i386]: Check for regparam bug.
27297 (NESTED_FUNC_ATTR) [! i386]: Defined.
27298
1f7315a3 272992003-11-17 Marco Gerards <metgerards@student.han.nl>
27300
27301 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27302 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27303 (pupa_emu_SOURCES): New variable.
27304 (pupa_emu_LDFLAGS): Likewise.
27305 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27306 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27307 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27308 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27309 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
27310 (pupa_jmp_buf): New typedef.
27311 (pupa_setjmp) [PUPA_UTIL]: New macro.
27312 (pupa_longjmp) [PUPA_UTIL]: Likewise.
27313 * include/pupa/term.h (struct pupa_term): New member `refresh'.
27314 (pupa_refresh): New prototype.
27315 * include/pupa/util/getroot.h: New file.
27316 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
27317 it.
27318 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
27319 (pupa_rescue_cmd_cat): Likewise.
27320 (pupa_rescue_cmd_ls): Likewise.
27321 (pupa_rescue_cmd_testload): Likewise.
27322 (pupa_rescue_cmd_lsmod): Likewise.
27323 * normal/cmdline.c (pupa_cmdline_get): Likewise.
27324 * normal/menu.c (run_menu): Likewise.
27325 * kern/term.c (pupa_cls): Likewise.
27326 (pupa_refresh): New function.
27327 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
27328 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27329 * util/console.c: New file.
f19dbdb7 27330
1f7315a3 27331 * util/i386/pc/getroot.c: New file.
27332 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
27333 (pupa_putchar): New function.
27334 (pupa_refresh): Likewise.
27335 (xgetcwd): Function moved to ...
27336 (strip_extra_slashes): Likewise.
27337 (get_prefix): Likewise.
f19dbdb7 27338 * util/i386/pc/getroot.c: ... here.
1f7315a3 27339 (find_root_device): Function moved and renamed to...
27340 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
27341 Changed all callers.
27342 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
27343 and renamed to...
27344 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
27345 Changed all callers.
27346 * util/misc.c (pupa_memalign): New function.
27347 (pupa_mm_init_region): Likewise.
27348 (pupa_register_exported_symbols): Likewise.
27349 (pupa_putchar): Function removed.
27350 * util/pupa-emu.c: New file.
27351
9a5c1ade 273522003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
27353
27354 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
27355 (_multiboot_mod_SOURCES): New variable.
27356 (_multiboot_mod_CFLAGS): Likewise.
27357 * loader/i386/pc/multiboot.c: New file.
27358 * include/pupa/i386/pc/multiboot.h: Likewise.
27359 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
27360 (pupa_multiboot_real_boot): New function.
27361 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
27362 (pupa_multiboot_real_boot): New prototype.
27363 (pupa_rescue_cmd_multiboot): Likewise
27364 (pupa_rescue_cmd_module): Likewise.
27365
27366 * kern/loader.c (pupa_loader_set): Continue when
27367 pupa_loader_unload_func() fails.
27368 (pupa_loader_unset): New function.
27369 * include/pupa/loader.h (pupa_loader_unset): New prototype.
27370
27371 * kern/misc.c (pupa_stpcpy): New function.
27372 * include/pupa/misc.h (pupa_stpcpy): New prototype.
27373
8e72a9c0 273742003-11-12 Marco Gerards <metgerards@student.han.nl>
27375
27376 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
27377 for available extensions.
27378
27379 * include/pupa/i386/pc/time.h: New file.
27380 * kern/disk.c: Include <pupa/machine/time.h>.
27381 (PUPA_CACHE_TIMEOUT): New macro.
27382 (pupa_last_time): New variable.
27383 (pupa_disk_open): Flush the cache when there was a timeout.
27384 (pupa_disk_close): Reset the timer.
27385 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
27386 pupa_currticks.
27387 * util/misc.c: Include <sys/times.h>
27388 (pupa_get_rtc): New function.
27389
c4adbd32 273902003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27391
27392 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
27393 as blocks.
27394 (pupa_ext2_get_file_block): Use blocks member.
27395
27396 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
27397 first block. Return -1 instead of pupa_errno on error.
27398
bfd30f06 273992003-10-27 Marco Gerards <metgerards@student.han.nl>
27400
27401 * README: In the pupa-mkimage example use _chain instead of chain
27402 and ext2 instead of fat.
27403 * TODO: Replace ext2fs with jfs as an example. Add an item for
27404 adding journal playback for ext2fs.
27405 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
27406 (pkgdata_MODULES): Added ext2.mod.
27407 (ext2_mod_SOURCES): New variable.
27408 (ext2_mod_CFLAGS): Likewise.
27409 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
27410 * include/pupa/misc.h (pupa_strncpy): New prototype.
27411 (pupa_strcat): Likewise.
27412 (pupa_strncmp): Likewise.
27413 * kern/misc.c (pupa_strcat): Enable function.
27414 (pupa_strncpy): New function.
27415 (pupa_strncmp): Likewise.
27416 * fs/ext2.c: New file.
f19dbdb7 27417
bfd30f06 27418 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
27419 when the read failed before retrying.
27420 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
27421 (_FILE_OFFSET_BITS): Likewise.
27422 * configure.ac: Added AC_SYS_LARGEFILE.
27423
98d15063 274242003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27425
27426 * genmk.rb (PModule#rule): Make sure to get only symbol names
27427 from the output of nm.
59cad637 27428 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 27429
18d9c7cd 274302003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27431
27432 I forgot to check in these changes for a long time. This adds
27433 incomplete support for VGA console, and this is still very
27434 buggy. Also, a lot of consideration is required for I18N,
27435 UNICODE, and VGA font issues. Therefore, assume that this is
27436 such that "better than nothing".
f19dbdb7 27437
18d9c7cd 27438 * font/manager.c: New file.
27439 * include/pupa/font.h: Likewise.
27440 * include/pupa/i386/pc/vga.h: Likewise.
27441 * term/i386/pc/vga.c: Likewise.
27442 * util/unifont2pff.rb: Likewise.
27443
27444 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
27445 (pkgdata_MODULES): Added vga.mod and font.mod.
27446 (vga_mod_SOURCES): New variables.
27447 (vga_mod_CFLAGS): Likewise.
27448 (font_mod_SOURCES): Likewise.
27449 (font_mod_CFLAGS): Likewise.
27450
27451 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
27452
27453 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 27454 (struct pupa_term): Added init and fini.
18d9c7cd 27455 Changed the argument of putchar to pupa_uint32_t.
27456
27457 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
27458 (pupa_console_real_putchar): New prototype.
27459 (pupa_console_putchar): Removed.
27460 (pupa_console_checkkey): Exported.
27461 (pupa_console_getkey): Likewise.
27462
27463 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
27464 characters.
27465
27466 * kern/term.c (pupa_term_set_current): Rewritten.
27467 (pupa_putchar): Likewise.
27468 (pupa_putcode): New function.
27469
27470 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
27471 (pupa_console_real_putchar): ... this.
27472 (pupa_vga_set_mode): New function.
27473 (pupa_vga_get_font): Likewise.
27474
27475 * normal/command.c: Include pupa/term.h.
27476 (terminal_command): New function.
27477 (pupa_command_init): Register the command "terminal".
27478
27479 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
27480 (DISP_UP): Likewise.
27481 (DISP_RIGHT): Likewise.
27482 (DISP_DOWN): Likewise.
27483 (DISP_HLINE): Likewise.
27484 (DISP_VLINE): Likewise.
27485 (DISP_UL): Likewise.
27486 (DISP_UR): Likewise.
27487 (DISP_LL): Likewise.
27488 (DISP_LR): Likewise.
27489
27490 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 27491
977329f5 274922003-02-08 NIIBE Yutaka <gniibe@m17n.org>
27493
27494 * util/resolve.c (pupa_util_resolve_dependencies): BUG
27495 FIX. Reverse the path_list.
27496
27497 * include/pupa/normal.h: Export pupa_register_command and
27498 pupa_unregister_command.
27499
27500 * hello/hello.c (pupa_cmd_hello): New module.
27501 * conf/i386-pc.rmk: Added hello.mod.
27502
1f5ab428 275032003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
27504
27505 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 27506
1f5ab428 27507 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
27508 (compress_kernel): New variable.
27509 (generate_image): Heavily modified to support compressing a
27510 large part of the core image.
27511
27512 * util/misc.c (pupa_util_read_image): Fix a file descriptor
27513 leak.
27514 (pupa_util_load_image): New function.
27515
27516 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
27517 (pupa_compressed_size): New variable.
27518 (codestart): Enable Gate A20 here.
27519 Decompress the compressed part of the core image.
27520 Rearrange the code to put functions and variables which are
27521 required for initialization in the non-compressed part.
27522 Include lzo1x.S.
27523
27524 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
27525 here.
27526
27527 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
27528
f19dbdb7 27529 * include/pupa/i386/pc/kernel.h
1f5ab428 27530 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
27531 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
27532 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27533 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27534 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27535
27536 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27537
27538 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27539 (Utility#rule): Likewise.
27540
27541 * configure.ac: Check if LZO is available.
27542
ce5bf700 275432003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27544
27545 * include/pupa/normal.h: New file.
27546 * include/pupa/setjmp.h: Likewise.
27547 * include/pupa/i386/setjmp.h: Likewise.
27548 * normal/cmdline.c: Likewise.
27549 * normal/command.c: Likewise.
27550 * normal/main.c: Likewise.
27551 * normal/menu.c: Likewise.
27552 * normal/i386/setjmp.S: Likewise.
f19dbdb7 27553
ce5bf700 27554 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27555 (pupa_rescue_cmd_initrd): Likewise.
27556
27557 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27558 Likewise.
27559
27560 * kern/i386/pc/startup.S (translation_table): New variable.
27561 (translate_keycode): New function.
27562 (pupa_console_getkey): Call translate_keycode.
27563
27564 * kern/rescue.c (attempt_normal_mode): New function.
27565 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27566 it failed, print a message.
27567
27568 * kern/mm.c (pupa_real_malloc): Print more information when a
27569 free magic is broken.
27570 (pupa_free): If the first free header is not free actually, set
27571 it to P.
27572
27573 * kern/main.c (pupa_load_normal_mode): Just load the module
27574 "normal".
27575 (pupa_main): Don't print the message
27576 "Entering into rescue mode..." here.
27577
27578 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27579 Declared.
27580 (pupa_rescue_cmd_initrd): Likewise.
27581 (pupa_rescue_cmd_initrd): Likewise.
27582
27583 * include/pupa/symbol.h (FUNCTION): Specify the type.
27584 (VARIABLE): Likewise.
27585
27586 * include/pupa/err.h (pupa_err_t): Added
27587 PUPA_ERR_UNKNOWN_COMMAND.
27588
27589 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27590 (pupa_dl_get_prefix): Likewise.
27591
27592 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27593 Added _chain.mod and _linux.mod instead of chain.mod and
27594 linux.mod.
27595 (chain_mod_SOURCES): Renamed to ...
27596 (_chain_mod_SOURCES): ... this.
27597 (chain_mod_CFLAGS): Renamed to ...
27598 (_chain_mod_CFLAGS): ... this.
27599 (linux_mod_SOURCES): Renamed to ...
27600 (_linux_mod_SOURCES): ... this.
27601 (linux_mod_CFLAGS): Renamed to ...
27602 (_linux_mod_CFLAGS): ... this.
27603 (normal_mod_SOURCES): New variable.
27604 (normal_mod_CFLAGS): Likewise.
27605 (normal_mod_ASFLAGS): Likewise.
27606
276072003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27608
27609 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27610 possible.
27611
fe6b695a 27612 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 27613 recursively.
27614 (pupa_dl_unref): Unrefer depending modules recursively.
27615 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27616 a module is unloaded before one depending on that module is
27617 unloaded.
27618 (pupa_dl_unload): Unload depending modules explicitly,
27619 if possible.
27620
c04da074 276212003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27622
27623 * include/pupa/i386/pc/linux.h: New file.
27624 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 27625
c04da074 27626 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27627 Removed.
27628 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27629 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27630 of PUPA_CHAINLOADER_BOOT_SECTOR.
27631
27632 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27633 (pupa_linux_prot_size): New variable.
27634 (pupa_linux_tmp_addr): Likewise.
27635 (pupa_linux_real_addr): Likewise.
27636 (pupa_linux_boot_zimage): New function.
27637 (pupa_linux_boot_bzimage): Likewise.
27638
27639 * kern/i386/pc/init.c (struct mem_region): New structure.
27640 (MAX_REGIONS): New macro.
27641 (mem_regions): New variable.
27642 (num_regions): Likewise.
27643 (pupa_os_area_addr): Likewise.
27644 (pupa_os_area_size): Likewise.
27645 (pupa_lower_mem): Likewise.
27646 (pupa_upper_mem): Likewise.
27647 (add_mem_region): New function.
27648 (compact_mem_regions): Likewise.
27649 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27650 the size of the conventional memory and that of so-called upper
27651 memory (before the first memory hole).
27652 Instead of adding each found region to free memory, use
27653 add_mem_region and add them after removing overlaps.
27654 Also, add only 1/4 of the upper memory to free memory. The rest
27655 is used for loading OS images. Maybe this is ad hoc, but this
27656 makes it much easier to relocate OS images when booting.
27657
27658 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27659 (pupa_enter_rescue_mode): Don't register initrd and module.
27660
27661 * kern/mm.c: Include pupa/dl.h.
27662
27663 * kern/main.c: Include pupa/file.h and pupa/device.h.
27664
27665 * kern/loader.c (pupa_loader_load_module_func): Removed.
27666 (pupa_loader_load_module): Likewise.
27667
27668 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27669 ``.o''.
27670
27671 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27672 (pupa_linux_tmp_addr): Likewise.
27673 (pupa_linux_real_addr): Likewise.
27674 (pupa_linux_boot_zimage): Likewise.
27675 (pupa_linux_boot_bzimage): Likewise.
27676
27677 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27678 (pupa_upper_mem): Likewise.
27679 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27680 module is too dangerous.
27681
27682 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27683 (pupa_os_area_size): Likewise.
27684 (pupa_loader_set): Remove the first argument. Loader doesn't
27685 manage modules or initrd any longer.
27686 (pupa_loader_load_module): Removed.
27687
27688 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27689 (linux_mod_SOURCES): New variable.
27690 (linux_mod_CFLAGS): Likewise.
27691
a13f9237 276922003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27693
27694 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27695 the length of a blocklist correctly.
27696
27697 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27698 Use ioctl only if the OS file is a block device.
27699 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27700 not very useful for normal files.
27701
27702 * kern/main.c (pupa_set_root_dev): New function.
27703 (pupa_load_normal_mode): Likewise.
27704 (pupa_main): Call those above.
27705
27706 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27707 pupa_uint16_t.
27708
27709 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27710
a5ffe966 277112003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27712
27713 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27714 (setup): Configure the installed partition information and the
27715 dl prefix.
27716
27717 * loader/i386/pc/chainloader.c (my_mod): New variable.
27718 (pupa_chainloader_unload): New function.
27719 (pupa_rescue_cmd_chainloader): Refer itself.
27720 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27721
27722 * kern/i386/pc/startup.S (install_partition): Removed.
27723 (version_string): Likewise.
27724 (config_file): Likewise.
27725 (pupa_install_dos_part): New variable.
27726 (pupa_install_bsd_part): Likewise.
27727 (pupa_prefix): Likewise.
27728 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27729
27730 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27731 and pupa/misc.h.
27732 (make_install_device): New function.
27733 (pupa_machine_init): Set the dl prefix.
27734
27735 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27736 (buf): Renamed to ...
27737 (linebuf): ... this.
27738 (pupa_rescue_cmd_prefix): New function.
27739 (pupa_rescue_cmd_insmod): Likewise.
27740 (pupa_rescue_cmd_rmmod): Likewise.
27741 (pupa_rescue_cmd_lsmod): Likewise.
27742 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27743 rmmod and lsmod.
27744
27745 * kern/mm.c (pupa_memalign): If failed even after invalidating
27746 disk caches, unload unneeded modules and retry.
27747
27748 * kern/misc.c (pupa_memmove): New function.
27749 (pupa_memcpy): Removed.
27750 (pupa_strcpy): New function.
27751 (pupa_itoa): Made static.
27752
27753 * kern/dl.c (pupa_dl_iterate): New function.
27754 (pupa_dl_ref): Likewise.
27755 (pupa_dl_unref): Likewise.
27756 (pupa_dl_unload): Return if succeeded or not.
27757 (pupa_dl_unload_unneeded): New function.
27758 (pupa_dl_unload_all): Likewise.
27759 (pupa_dl_init): Renamed to ...
27760 (pupa_dl_set_prefix): ... this.
27761 (pupa_dl_get_prefix): New function.
27762
27763 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27764 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27765 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27766 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27767 (pupa_install_dos_part): Declared.
27768 (pupa_install_bsd_part): Likewise.
27769 (pupa_prefix): Likewise.
27770 (pupa_boot_drive): Likewise.
27771
27772 * include/pupa/types.h: Fix a typo.
27773
27774 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
27775 pupa_memmove.
27776 (pupa_memmove): Declared.
27777 (pupa_strcpy): Likewise.
27778
27779 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
27780 pupa_mod_init takes one argument, its own module.
27781 (pupa_dl_unload_unneeded): Declared.
27782 (pupa_dl_unload_all): Likewise.
27783 (pupa_dl_ref): Likewise.
27784 (pupa_dl_unref): Likewise.
27785 (pupa_dl_iterate): Likewise.
27786 (pupa_dl_init): Renamed to ...
27787 (pupa_dl_set_prefix): ... this.
27788 (pupa_dl_get_prefix): Declared.
27789
27790 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 27791 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 27792 unloaded.
27793 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
27794 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
27795
27796 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
27797 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
27798
012d7999 277992003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27800
27801 * util/i386/pc/pupa-setup.c (setup): Define the internal
27802 function find_first_partition_start at the top level, because GCC
27803 3.0.x cannot compile internal functions in deeper scopes
27804 correctly.
27805 (find_root_device): Use lstat instead of stat.
27806 Don't follow symbolic links.
27807 Fix the path-constructing code.
27808
27809 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
27810 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
27811 by a BLKGETSIZE ioctl first, because block devices don't fill
27812 the member st_mode of the structure stat on Linux.
27813 [__linux__] (linux_find_partition): Use a temporary buffer
27814 REAL_DEV for the working space. Copy it to DEV before returning.
27815 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
27816 buffer cache consistent.
27817 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
27818 strncmp. The previous value was merely wrong.
27819 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
27820
27821 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
27822 FAT size is 12. The previous value was merely wrong.
27823
27824 * kern/main.c (pupa_main): Don't split the starting message from
27825 newlines.
27826
27827 * kern/term.c (pupa_putchar): Put CR after LF instead of before
27828 LF, because BIOS goes crazy about character attributes in this
27829 case.
27830
1cc73a62 278312003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27832
27833 * include/i386/pc/util/biosdisk.h: New file.
27834 * util/i386/pc/biosdisk.c: Likewise.
27835 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 27836
1cc73a62 27837 * Makefile.in (INCLUDE_DISTFILES): Added
27838 include/pupa/i386/pc/util/biosdisk.h.
27839 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
27840 directory util/i386/pc.
27841 (install-local): Added a rule for sbin_UTILITIES.
27842 (uninstall): Likewise.
27843
27844 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
27845
27846 * util/misc.c (xrealloc): New function.
27847 (pupa_malloc): Likewise.
27848 (pupa_free): Likewise.
27849 (pupa_realloc): Likewise.
27850 (pupa_stop): Likewise.
27851 (pupa_putchar): Likewise.
27852
27853 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
27854
27855 * include/pupa/util/misc.h (xrealloc): Declared.
27856
27857 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
27858 macro.
27859 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
27860 (PUPA_BOOT_MACHINE_BPB_END): ... this.
27861
27862 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
27863 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27864
27865 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
27866 way should be implemented.
27867 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27868
27869 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
27870 the size of NAME for safety.
27871 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
27872 0x88.
27873
27874 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
27875 (pupa_setup_SOURCES): Likewise.
27876
27877 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
27878
08b70fe8 278792002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27880
27881 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
27882 bunch of pushl's from pusha, because this destroys the return
27883 value.
27884
62ddcc8f 278852002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27886
27887 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
27888 This means that any missing prototypes could be fatal. Also, you
27889 must take care when writing assembly code. See the comments at
27890 the beginning of startup.S, for more details.
f19dbdb7 27891
62ddcc8f 27892 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
27893 compilation mechanism.
27894 (pupa_chainloader_real_boot): Likewise.
27895 (pupa_biosdisk_rw_int13_extensions): Likewise.
27896 (pupa_biosdisk_rw_standard): Likewise.
27897 (pupa_biosdisk_check_int13_extensions): Likewise.
27898 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
27899 (pupa_biosdisk_get_diskinfo_standard): Likewise.
27900 (pupa_get_memsize): Likewise.
27901 (pupa_get_mmap_entry): Likewise.
27902 (pupa_console_putchar): Likewise.
27903 (pupa_console_setcursor): Likewise.
27904 (pupa_getrtsecs): Use pushl instead of push.
27905
27906 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
27907 memory instead of the stack for a mmap entry, because some
27908 BIOSes may ignore the maximum size and overflow.
27909
27910 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
27911
27912 * genmk.rb (PModule#rule): Compile automatically generated
27913 sources with module-specific CFLAGS as well as other sources.
27914
9962ed99 279152002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27916
27917 * configure.ac: Check ld.
27918 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
27919 respectively, before checking endianness and sizes.
27920
27921 * Makefile.in (LD): New variable.
f19dbdb7 27922
abdfc3c5 279232002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27924
27925 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
27926
6a161fa9 279272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27928
27929 * Changelog: New file.
27930