]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
[grub2.git] / ChangeLog
1 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2
3 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4 entry_name also for entries without stat blocks (e.g. ".."); fixes
5 corruption of the first entry in a directory.
6
7 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8
9 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11 doesn't work otherwise.
12
13 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14
15 * docs/grub.texi (Features): Update list of supported file systems.
16 (GNU/Linux): Update for GRUB 2.
17 (Serial terminal): Remove mention of --disable-serial, which was a
18 GRUB Legacy configure option. Update instructions to use
19 `terminal_input' and `terminal_output' rather than `terminal'.
20 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21 configuration' and `Installing GRUB using grub-install'.
22 (Menu entry editor): Update for GRUB 2.
23 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24 Document new -a, -u, and -v options.
25 (initrd): New section.
26 (initrd16): New section.
27 (linux): New section.
28 (linux16): New section.
29 (search): The `var' argument to `--set' is optional.
30 (GRUB only offers a rescue shell): Go into a little more detail on
31 drive ordering.
32
33 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
34
35 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
36
37 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
38
39 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
40 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
41
42 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
43
44 * util/i386/pc/grub-setup.c (setup): Rename prefix to
45 install_prefix, in line with install_dos_part and install_bsd_part.
46 Add new prefix variable, which is copied to install_prefix after
47 comparing core.img in memory with the one read from disk in the
48 no-embedding case, and use that rather than overwriting
49 install_prefix immediately when installing to a partition.
50 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
51 Bicakci.
52
53 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
54
55 * configure.ac: Avoid == in test command, it's not portable.
56 * util/grub.d/30_os-prober.in: Likewise.
57
58 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
59
60 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
61
62 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
63
64 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
65 multiple (top-level) partmaps.
66
67 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/i386/efi/grub-install.in: Don't use empty grub_device.
70 Reported by: Tino Keitel.
71
72 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
73
74 Bidi and diacritics support.
75
76 * Makefile.in (widthspec.bin): New target.
77 (widthspec.h): Likewise.
78 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
79 * autogen.sh: Generate unidata.c.
80 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
81 * commands/ls.c (grub_ls_list_devices): Likewise.
82 (grub_ls_list_files): Likewise.
83 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
84 (grub_mini_cmd_lsmod): Likewise.
85 * commands/read.c: Likewise.
86 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
87 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
88 * lib/arg.c (grub_arg_show_help): Likewise.
89 * lib/crypto.c (grub_password_get): Likewise.
90 * normal/auth.c (grub_username_get): Likewise.
91 * normal/misc.c (grub_normal_print_device_info): Likewise.
92 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
93 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
94 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
95 (normal/charset.c_DEPENDENCIES): New variable.
96 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
97 (pkglib_MODULES): Remove charset.mod.
98 (charset_mod_SOURCES): Removed.
99 (charset_mod_CFLAGS): Likewise.
100 (charset_mod_LDFLAGS): Likewise.
101 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
102 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
103 and term/tparm.c.
104 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
105 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
106 (kernel_img_HEADERS): Add terminfo.h.
107 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
108 Fill ->font. Reverse ascii bitmaps.
109 (grub_font_get_xheight): New function.
110 * font/font.c (grub_font_get_string_width): Moved from here ...
111 * gfxmenu/font.c (grub_font_get_string_width): ... here.
112 * font/font.c (grub_font_draw_string): Moved from here ...
113 * gfxmenu/font.c (grub_font_draw_string): ... here.
114 * font/font.c (grub_font_dup_glyph): New function.
115 (grub_font_blit_glyph): Likewise.
116 (grub_font_blit_glyph_mirror): Likewise.
117 (blit_comb): Likewise.
118 (grub_font_construct_dry_run): Likewise.
119 (grub_font_get_constructed_device_width): Likewise.
120 (grub_font_construct_glyph): Likewise.
121 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
122 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
123 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
124 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
125 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
126 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
127 (grub_font_get_xheight): New proto.
128 (grub_font_get_constructed_device_width): Likewise.
129 (grub_font_construct_glyph): Likewise.
130 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
131 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
132 * include/grub/font.h (grub_font_draw_string): Moved from here ...
133 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
134 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
135 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
136 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
137 (grub_console_getcharwidth): Likewise.
138 * include/grub/misc.h (grub_xputs): New proto.
139 (grub_puts): Inlined.
140 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
141 (grub_normal_get_line_counter): Removed.
142 (grub_install_newline_hook): Likewise.
143 (grub_normal_get_char_counter): New proto.
144 (grub_normal_reset_more): Likewise.
145 (grub_xputs_normal): Likewise.
146 * include/grub/powerpc/ieee1275/console.h: Removed.
147 * include/grub/sparc64/ieee1275/console.h: Likewise.
148 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
149 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
150 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
151 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
152 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
153 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
154 (grub_term_input): Pass reference to self. All users updated.
155 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
156 Pass reference to self. New fields normal_color, highlight_color and
157 data. All users updated.
158 (grub_putchar): Removed.
159 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
160 (grub_unicode_estimate_width): New function.
161 (grub_term_getcharwidth): Add defaults.
162 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
163 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
164 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
165 (grub_cls): Remove EXPORT_FUNC.
166 (grub_setcolorstate): Inline.
167 (grub_newline_hook): Removed.
168 * include/grub/terminfo.h: Rewritten. All users updated.
169 * include/grub/unicode.h: New file.
170 * include/grub/video.h (grub_video_signed_rect): New type.
171 * kern/emu/console.c (grub_console_highlight_color): Removed.
172 (grub_console_normal_color): Likewise.
173 (grub_console_standard_color): Made static.
174 (grub_ncurses_putchar): Remove mapping.
175 (grub_ncurses_getcharwidth): Removed.
176 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
177 (grub_ncurses_setcolor): Removed.
178 (grub_ncurses_getcolor): Likewise.
179 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
180 (grub_console_putchar): ... this.
181 (grub_console_putchar): Handle argument difference.
182 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
183 console_init_early and console_init_lately.
184 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
185 * kern/misc.c (grub_puts): Removed.
186 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
187 (grub_vsnprintf_real): Remove str = NULL support.
188 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
189 * normal/charset.c (grub_utf8_to_ucs4): ... here.
190 * kern/term.c (grub_putcode): Renamed to ...
191 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
192 (grub_putchar): Removed.
193 (grub_xputs_dumb): New function.
194 (grub_xputs): New variable.
195 * lib/charset.c: Move from here ...
196 * normal/charset.c: ... to here.
197 (grub_ucs4_to_utf8): New function.
198 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
199 (join_types): New variable.
200 (unpack_join): New function.
201 (bidi_types): New variable.
202 (unpack_bidi): New function.
203 (get_bidi_type): Likewise.
204 (get_join_type): Likewise.
205 (is_mirrored): Likewise.
206 (grub_unicode_get_comb_type): Likewise.
207 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
208 (is_type_after): Likewise.
209 (grub_unicode_aglomerate_comb): Likewise.
210 (bidi_line_wrap): Likewise.
211 (grub_bidi_line_logical_to_visual): Likewise.
212 (grub_bidi_logical_to_visual): Likewise.
213 (grub_unicode_mirror_code): Likewise.
214 (grub_unicode_shape_code): Likewise.
215 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
216 Don't use grub_putchar.
217 * normal/main.c (grub_normal_init_page): Use grub_putcode.
218 (grub_normal_reader_init): Likewise.
219 (grub_xputs_saved): New variable.
220 (GRUB_MOD_INIT): Set grub_xputs.
221 (GRUB_MOD_FINI): Restore grub_xputs.
222 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
223 (menu_init): Avoid printing gfxmenu error.
224 (show_menu): Use grub_normal_get_char_counter.
225 * normal/menu_entry.c (update_screen): Fix out-of-array.
226 (complete): Avoid NULL dereferencing.
227 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
228 * normal/menu_text.c (print_spaces): Removed.
229 (grub_print_ucs4): Likewise.
230 (grub_print_message_indented): Use grub_print_ucs4.
231 (print_message): Use grub_putcode.
232 (print_entry): Hanlde diacritics.
233 * normal/term.c (term_state): New type.
234 (grub_more_lines): Removed.
235 (term_states): New variable.
236 (grub_normal_line_counter): Renamed to ..
237 (grub_normal_char_counter): ...this. All users updated.
238 (grub_normal_get_line_counter): Renamed to ...
239 (grub_normal_get_char_counter): ... this.
240 (grub_normal_reset_more): New function.
241 (process_newline): Removed.
242 (print_more): New function.
243 (grub_install_newline_hook): Removed.
244 (map_code): New function.
245 (grub_puts_terminal): Use grub_print_ucs4.
246 (putglyph): New function.
247 (putcode_real): Likewise.
248 (grub_putcode): Use putcode_real.
249 (get_maxwidth): New function.
250 (get_startwidth): Likewise.
251 (print_ucs4_terminal): Likewise.
252 (find_term_state): Likewise.
253 (put_glyphs_terminal): Likewise.
254 (print_backlog): Likewise.
255 (print_ucs4_real): Likewise.
256 (grub_print_ucs4): Likewise.
257 (grub_xputs_normal): Likewise.
258 * term/efi/console.c (grub_console_putchar): Output diacritics.
259 (grub_console_getcharwidth): Removed.
260 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
261 * term/gfxterm.c (clear_char): Free chars.
262 (scroll_up): Avoid leaking memory.
263 (grub_gfxterm_putchar): Support diacritics.
264 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
265 * term/i386/pc/console.c (grub_console_term_output): Declare as
266 GRUB_TERM_CODE_TYPE_VGA.
267 * term/i386/pc/vga.c (grub_vga_term): Declare as
268 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
269 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
270 GRUB_TERM_CODE_TYPE_VGA.
271 * term/i386/vga_common.c (map_char): Removed.
272 (grub_console_putchar): Likewise.
273 (grub_console_getcharwidth): Likewise.
274 * term/ieee1275/ofconsole.c: Simplify using terminfo.
275 (colors): Reordered to match terminfo.
276 (grub_ofconsole_normal_color): Removed.
277 (grub_ofconsole_writeesc): Likewise.
278 (grub_ofconsole_highlight_color): Likewise.
279 (grub_ofconsole_getcharwidth): Likewise.
280 (grub_ofconsole_setcolorstate): Likewise.
281 (grub_ofconsole_setcolor): Likewise.
282 (grub_ofconsole_getcolor): Likewise.
283 (grub_ofconsole_readkey): Renamed to ...
284 (readkey): ... this. Remove escape sequence handling. Return -1 on no
285 key.
286 (grub_ofconsole_checkkey): Removed.
287 (grub_ofconsole_getkey): Likewise.
288 (grub_ofconsole_getxy): Likewise.
289 (grub_ofconsole_gotoxy): Likewise.
290 (grub_ofconsole_cls): Likewise.
291 (grub_ofconsole_refresh): Likewise.
292 (grub_ofconsole_terminfo_input): New struct.
293 (grub_ofconsole_terminfo_output): Likewise.
294 (grub_ofconsole_term_input): Use terminfo.
295 (grub_ofconsole_term_output): Likewise.
296 (grub_console_init): Split into ...
297 (grub_console_init_early): ...this and ...
298 (grub_console_init_lately): ...this. Use terminfo.
299 (grub_ofconsole_putchar): Renamed to ...
300 (put): ... this. Remove mapping.
301 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
302 * term/serial.c: Simplify using terminfo.
303 (xpos): Removed.
304 (ypos): Likewise.
305 (keep_track): Likewise.
306 (registered): Likewise.
307 (input_buf): Likewise.
308 (npending): Likewise.
309 (serial_translate_key_sequence): Likewise.
310 (fill_input_buf): Likewise.
311 (grub_serial_checkkey): Likewise.
312 (grub_serial_getkey): Likewise.
313 (grub_serial_getxy): Likewise.
314 (grub_serial_gotoxy): Likewise.
315 (grub_serial_putchar): Likewise.
316 (grub_serial_cls): Likewise.
317 (grub_serial_setcolorstate): Likewise.
318 (grub_serial_setcursor): Likewise.
319 (serial_hw_init): Use serial_hw_fetch.
320 (grub_serial_terminfo_input): New variable.
321 (grub_serial_terminfo_output): Likewise.
322 (grub_serial_term_input): Use terminfo.
323 (grub_serial_term_output): Likewise.
324 * term/terminfo.c (putstr): Use put.
325 (grub_terminfo_all_free): New function
326 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
327 (grub_terminfo_output_register): New function.
328 (grub_terminfo_output_unregister): Likewise.
329 (grub_terminfo_getxy): Likewise.
330 (grub_terminfo_readkey): Likewise.
331 (grub_terminfo_checkkey): Likewise.
332 (grub_terminfo_getkey): Likewise.
333 (grub_terminfo_input_init): Likewise.
334 (print_terminfo): Likewise.
335 (grub_cmd_terminfo): Handle encoding.
336 (grub_terminfo_gotoxy): Track position.
337 (grub_terminfo_cls): Likewise.
338 (grub_terminfo_putchar): Likewise.
339 (grub_terminfo_setcolorstate): Handle colors
340 (grub_terminfo_cursor_on): This ...
341 (grub_terminfo_cursor_off): ... and this merged into ...
342 (grub_terminfo_setcursor): ... this.
343 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
344 * unicode/ArabicShaping.txt: New file (imported from Unicode).
345 * unicode/BidiMirroring.txt: Likewise.
346 * unicode/UnicodeData.txt: Likewise.
347 * unicode/COPYING: Likewise.
348 * util/grub-editenv.c (grub_putchar): Removed.
349 (grub_xputs_real): New function.
350 (grub_xputs): New variable.
351 * util/grub-fstest.c (grub_putchar): Removed.
352 (grub_xputs_real): New function.
353 (grub_xputs): New variable.
354 * util/grub-mkdevicemap.c (grub_putchar): Removed.
355 (grub_xputs_real): New function.
356 (grub_xputs): New variable.
357 * util/grub-probe.c (grub_putchar): Removed.
358 (grub_xputs_real): New function.
359 (grub_xputs): New variable.
360 * util/grub-script-check.c (grub_putchar): Removed.
361 (grub_xputs_real): New function.
362 (grub_xputs): New variable.
363 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
364 (grub_xputs_real): New function.
365 (grub_xputs): New variable.
366 * util/import_unicode.py: New file.
367 * util/grub-mkfont.c (ft_errmsgs): New array.
368 (grub_glyph_info): Make bitmap a pointer.
369 (file_formats): New type WIDTH_SPEC.
370 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
371 (options): Add width-spec.
372 (help): Likewise.
373 (add_char): Renamed to ...
374 (add_glyph): ... this.
375 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
376 (glyph_replace): New type.
377 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
378 (add_char): New function.
379 (add_subst): Likewise.
380 (process_cursive): Likewise.
381 (add_font): Handle GSUB.
382 (write_font_width_spec): New function.
383 (main): Sort glyphs.
384 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
385 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
386 * kern/term.c (grub_cls): Moved from here...
387 * normal/term.c (grub_cls): ... here.
388
389 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
390
391 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
392 suitable for using within the format argument of printf when
393 converting grub_size_t.
394 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
395 "x" to convert grub_size_t arguments.
396
397 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
400 too long captions.
401 (list_get_minimal_size): Take selection box into account.
402
403 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
406 NULL font.
407
408 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
409
410 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
411 devices when iterating over /dev/disk/by-id; they will be handled
412 later if appropriate, which they aren't always (e.g. LVM).
413
414 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
415
416 * include/grub/misc.h (grub_reboot): Declare as noreturn.
417 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
418 fails.
419 (grub_halt): Likewise.
420 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
421 reset-all fails.
422 (grub_halt): Don't return, even if all of shut-down, power-off, and
423 poweroff fail.
424
425 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
426
427 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
428 arguments, not three.
429
430 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
431
432 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
433 * util/grub.d/10_linux.in: Use it to check for LVM, so that
434 LVM-on-RAID is handled correctly.
435
436 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
437
438 * docs/grub.texi (Changes from GRUB Legacy): New section.
439 (Future): Fix typo.
440
441 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
442
443 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
444 grub.d/README accidentally ends up executable for one reason or
445 another. Ignore it.
446
447 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
450 (gpt_partition_map_iterate): Support non-512B sectors.
451
452 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * kern/efi/init.c (grub_efi_init): Disable watchdog.
455 Tested by: Seth Goldberg.
456
457 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
460 Properly align mbi.
461 Reported by: Seth Goldberg.
462
463 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * util/grub-mkrescue.in: Avoid module duplication.
466
467 2010-07-01 Sean Finney <seanius@seanius.net>
468
469 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
470
471 2010-07-01 Sean Finney <seanius@seanius.net>
472
473 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
474
475 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * disk/lvm.c (grub_lvm_checkvalue): New function.
478 (grub_lvm_check_flag): Likewise.
479
480 2010-07-01 Robert Millan <rmh@gnu.org>
481
482 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
483 Support 'p' as partition separator on kernel of FreeBSD (used
484 with GPT labels).
485 (grub_util_biosdisk_get_grub_dev): Likewise.
486
487 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
488
489 Yeeloong firmware port.
490
491 * boot/mips/yeeloong/fwstart.S: New file.
492 * bus/cs5536.c (gpiodump): New const.
493 (set_io_space): New function.
494 (set_iod): Likewise.
495 (set_p2d): Likewise.
496 (grub_cs5536_init_geode): Likewise.
497 * commands/mips/yeeloong/lsspd.c: New file.
498 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
499 (serial_mod_SOURCES): New variable.
500 (serial_mod_CFLAGS): Likewise.
501 (serial_mod_LDFLAGS): Likewise.
502 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
503 term/terminfo.c and term/tparm.c.
504 (pkglib_IMAGES): Add fwstart.img.
505 (fwstart_img_SOURCES): New variable.
506 (fwstart_img_CFLAGS): Likewise.
507 (fwstart_img_ASFLAGS): Likewise.
508 (fwstart_img_LDFLAGS): Likewise.
509 (fwstart_img_FORMAT): Likewise.
510 (pkglib_MODULES): Add lsspd.mod.
511 (lsspd_mod_SOURCES): New variable.
512 (lsspd_mod_CFLAGS): Likewise.
513 (lsspd_mod_LDFLAGS): Likewise.
514 (pkglib_MODULES): Add halt.mod.
515 (halt_mod_SOURCES): New variable.
516 (halt_mod_CFLAGS): Likewise.
517 (halt_mod_LDFLAGS): Likewise.
518 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
519 (serial_mod_SOURCES): Removed.
520 (serial_mod_CFLAGS): Likewise.
521 (serial_mod_LDFLAGS): Likewise.
522 * disk/ata.c (check_device): New function.
523 (grub_ata_device_initialize): Use check_device.
524 (grub_ata_iterate): Recheck devices.
525 (grub_ata_open): Likewise.
526 (grub_atapi_iterate): Likewise.
527 (grub_atapi_open): Likewise.
528 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
529 (GRUB_ATA_CH1_PORT1): Likewise.
530 (GRUB_ATA_CH0_PORT2): Likewise.
531 (GRUB_ATA_CH1_PORT2): Likewise.
532 * include/grub/mips/loongson.h: New file.
533 * include/grub/mips/yeeloong/ec.h: Likewise.
534 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
535 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
536 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
537 * include/grub/misc.h (grub_halt): Declare as noreturn.
538 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
539 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
540 (UART_ENABLE_FIFO_TRIGGER1): New definition.
541 (UART_ENABLE_DTRRTS): Likewise.
542 (UART_ENABLE_MODEM): Removed.
543 (UART_ENABLE_OUT2): New const.
544 * include/grub/term.h (grub_term_register_input_active): New function.
545 (grub_term_register_output_active): Likewise.
546 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
547 argument.
548 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
549 (init_pci): New function.
550 (grub_machine_init): Execute platform init when firmware. Init serial.
551 (grub_halt): Implement.
552 (grub_exit): Likewise.
553 (grub_reboot): Likewise.
554 * term/serial.c (serial_hw_init): Update macros.
555 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
556 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
557 (image_targets): New target mipsel-yeeloong-flash.
558 (generate_image): Support IMAGE_YEELOONG_FLASH.
559 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
560 (grub_video_sm712_setup): Init card.
561 (grub_video_sm712_set_palette): Removed.
562 * video/sm712_init.c: New file.
563
564 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
565
566 * Makefile.in (install-local): Temporarily prepend $(builddir) to
567 PATH when running help2man and then run it on the unadorned
568 executable names, rather than passing $(builddir)/* paths to
569 help2man. This avoids the build directory ending up in generated
570 manual pages.
571
572 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
573
574 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
575 to avoid accidents when debugging with 'sh -x'.
576 * util/grub-mkrescue.in: Likewise.
577 * util/grub.d/00_header.in: Likewise.
578 * util/grub.d/10_hurd.in: Likewise.
579 * util/grub.d/10_kfreebsd.in: Likewise.
580 * util/grub.d/10_linux.in: Likewise.
581 * util/grub.d/10_netbsd.in: Likewise.
582 * util/grub.d/10_windows.in: Likewise.
583 * util/grub.d/20_linux_xen.in: Likewise.
584 * util/grub.d/30_os-prober.in: Likewise.
585 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
586
587 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
588
589 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
590 last character in the buffer.
591 Reported by: Vladimir Serbinenko.
592
593 2010-06-29 Robert Millan <rmh@gnu.org>
594
595 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
596 (Command-line and menu entry commands): Document `badram' command.
597
598 2010-06-28 Robert Millan <rmh@gnu.org>
599
600 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
601 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
602 command using ${GRUB_BADRAM} as parameter.
603
604 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
605
606 * docs/grub.texi (Device map): New section.
607 (Themes): New section (stub).
608 * Makefile.in (docs/grub.info): The info documentation now builds
609 without errors. Make sure it stays that way.
610
611 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
612
613 Use normal parser for menu entries.
614 Reported by: Thomas Frauendorfer
615
616 * include/grub/parser.h (grub_parser_execute): Don't export.
617 * normal/menu.c (grub_menu_execute_entry_real): New function.
618 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
619
620 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
621
622 * docs/grub.texi (Embedded configuration): New section (replacing
623 old "Preset Menu" stub).
624 (Images): New section.
625 (configfile): Note that any menu entries defined in `file' are shown
626 immediately.
627
628 2010-06-28 Josh Triplett <josh@joshtriplett.org>
629
630 * mmap/i386/pc/mmap_helper.S: Set CF on return.
631
632 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
633
634 * util/grub-install.in: Add --debug-image= option.
635
636 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
637
638 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
639 possible on Linux.
640
641 * util/deviceiter.c (check_device): Rename to ...
642 (check_device_readable_unique): ... this. Update all callers.
643 Maintain and check a list of which devices (by canonicalized name)
644 have already been seen.
645 (clear_seen_devices): New function.
646 (compare_file_names) [__linux__]: New function.
647 (grub_util_iterate_devices): Clear the list of seen devices on exit
648 and (just in case) on entry.
649 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
650 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
651 seen-devices list, superseded by general code in check_device.
652
653 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
654
655 * commands/cat.c (options): New variable.
656 (grub_cmd_cat): Parse options. If the --dos option is given, print
657 DOS-style "\r\n" line endings as simple newlines (Debian bug
658 #586358).
659 (GRUB_MOD_INIT): Use extcmd.
660 (GRUB_MOD_FINI): Likewise.
661 * docs/grub.texi (cat): Document --dos.
662
663 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
664
665 XEN with Linux grub-mkconfig support.
666
667 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
668 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
669 GRUB_CMDLINE_XEN_DEFAULT.
670 * util/grub.d/20_linux_xen.in: New file.
671
672 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Initialise VGA video on qemu ourselves.
675
676 * boot/i386/qemu/boot.S: Don't call 0xc000.
677 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
678 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
679 (kernel_img_HEADERS): Add pci.h.
680 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
681 * configure.ac: Force unifont on qemu and yeeloong.
682 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
683 (grub_vga_palette_write): Use correct register.
684 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
685 Call grub_qemu_init_cirrus.
686 * kern/i386/qemu/init.c: New file.
687 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
688
689 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
690
691 2010-06-26 Pavel Roskin <proski@gnu.org>
692
693 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
694 13.
695
696 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
697
698 * docs/grub.texi (Simple configuration): Explain that
699 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
700 set to `true' to disable their respective recovery entries, not
701 merely set.
702
703 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
704
705 Make the `source' command slightly faster.
706
707 * normal/main.c (grub_normal_execute): Don't re-read list files when
708 nested.
709
710 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
711
712 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
713 field position and mask size to red fields from mode_info, not
714 green.
715 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
716 Remove redundant tag->common.framebuffer_type assignment.
717 Reported by: Seth Goldberg.
718
719 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
720
721 Sync up other versions of the Linux loader with Robert Millan's
722 change of 2010-01-09, "Make loader output a bit more user-friendly".
723
724 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
725 grub_dprintf().
726 (grub_cmd_linux): Likewise.
727 (grub_cmd_initrd): Likewise.
728 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
729 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
730
731 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
732
733 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
734 larger than MEMORY_MAP_SIZE.
735
736 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
737
738 Fix parallel build.
739
740 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
741 dependency.
742 * script/parser.y: #include grub_script.tab.h header.
743
744 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
745
746 Support >3GiB and <16MiB RAM in i386-qemu.
747
748 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
749 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
750 (grub_lower_mem): Removed.
751 (grub_upper_mem): Likewise.
752 (mem_size): Made static.
753 (above_4g): New variable.
754 (grub_machine_mmap_init): Detect small mem_size and above_4g.
755 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
756 support.
757
758 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
759
760 Cirrus 5446 and Bochs video cards support.
761
762 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
763 video_bochs.mod
764 (video_cirrus_mod_SOURCES): New variable.
765 (video_cirrus_mod_CFLAGS): Likewise.
766 (video_cirrus_mod_LDFLAGS): Likewise.
767 (video_bochs_mod_SOURCES): Likewise.
768 (video_bochs_mod_CFLAGS): Likewise.
769 (video_bochs_mod_LDFLAGS): Likewise.
770 * include/grub/vga.h: New file.
771 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
772 (grub_video_fb_set_page_t): New type.
773 (grub_video_fb_setup): New prototype.
774 (grub_video_fb_swap_buffers): Likewise.
775 (grub_video_fb_get_info_and_fini): Likewise.
776 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
777 (CRTC_DATA_PORT): Likewise.
778 (CRTC_CURSOR): Likewise.
779 (CRTC_CURSOR_ADDR_HIGH): Likewise.
780 (CRTC_CURSOR_ADDR_LOW): Likewise.
781 (CRTC_CURSOR_DISABLE): Likewise.
782 (update_cursor): Use grub_vga_cr_write.
783 (grub_vga_text_setcursor): Likewise.
784 * video/bochs.c: New file.
785 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
786 (palette): Likewise.
787 (palette_size): Likewise.
788 (framebuffer): New variable.
789 (grub_video_fb_init): Use 'framebuffer'.
790 (grub_video_fb_fini): Likewise.
791 (grub_video_fb_get_info): Likewise.
792 (grub_video_fb_get_palette): Likewise.
793 (grub_video_fb_set_palette): Likewise.
794 (grub_video_fb_set_viewport): Likewise.
795 (grub_video_fb_get_viewport): Likewise.
796 (grub_video_fb_map_color): Likewise.
797 (grub_video_fb_map_rgb): Likewise.
798 (grub_video_fb_map_rgba): Likewise.
799 (grub_video_fb_unmap_color): Likewise.
800 (grub_video_fb_unmap_color_int): Likewise.
801 (grub_video_fb_fill_rect): Likewise.
802 (grub_video_fb_blit_bitmap): Likewise.
803 (grub_video_fb_blit_render_target): Likewise.
804 (grub_video_fb_scroll): Likewise.
805 (grub_video_fb_create_render_target): Likewise.
806 (grub_video_fb_doublebuf_blit_init): Likewise.
807 (grub_video_fb_set_active_render_target): Handle doublebuffering.
808 (doublebuf_pageflipping_update_screen): New function.
809 (doublebuf_pageflipping_init): Likewise.
810 (grub_video_fb_setup): Likewise.
811 (grub_video_fb_swap_buffers): Likewise.
812 (grub_video_fb_get_info_and_fini): Likewise.
813 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
814 All users updated.
815 (doublebuf_pageflipping_commit): Restructured into ...
816 (doublebuf_pageflipping_set_page): ... this.
817 (doublebuf_pageflipping_update_screen): Removed.
818 (doublebuf_pageflipping_init): Likewise.
819 (double_buffering_init): Likewise.
820 (grub_video_vbe_setup): Use grub_video_fb_setup.
821 (grub_video_vbe_swap_buffers): Removed.
822 (grub_video_vbe_set_active_render_target): Likewise.
823 (grub_video_vbe_get_active_render_target): Likewise.
824 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
825 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
826 grub_video_fb_set_active_render_target and
827 grub_video_fb_get_active_render_target.
828 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
829 (SEQUENCER_DATA_PORT): Likewise.
830 (MAP_MASK_REGISTER): Likewise.
831 (CRTC_ADDR_PORT): Likewise.
832 (CRTC_DATA_PORT): Likewise.
833 (START_ADDR_HIGH_REGISTER): Likewise.
834 (START_ADDR_LOW_REGISTER): Likewise.
835 (GRAPHICS_ADDR_PORT): Likewise.
836 (GRAPHICS_DATA_PORT): Likewise.
837 (READ_MAP_REGISTER): Likewise.
838 (INPUT_STATUS1_REGISTER): Likewise.
839 (INPUT_STATUS1_VERTR_BIT): Likewise.
840 (get_map_mask): Use grub_vga_sr_read.
841 (set_map_mask): Use grub_vga_sr_write.
842 (set_read_map): Use grub_vga_gr_write.
843 (set_start_address): Use grub_vga_cr_write.
844 * video/sm712.c (framebuffer): Remove leftover fields.
845
846 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
847
848 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
849 setting GRUB_VIDEO_BACKEND. Make it available as a user override
850 instead. Replace the gfxterm backend check with a check that
851 ${GRUB_PREFIX}/video.lst is non-empty.
852 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
853 again.
854 (load_video): New generated function. Call it before loading
855 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
856 * util/grub.d/10_linux.in (linux_entry): Call load_video.
857 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
858 * docs/grub.texi (Simple configuration): Document
859 GRUB_VIDEO_BACKEND.
860
861 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
862
863 Use video functions in linux and xnu loaders.
864
865 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
866 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
867 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
868 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
869 loader/i386/pc/linux.c.
870 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
871 (find_line_len): Removed.
872 (find_framebuf): Likewise.
873 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
874 * loader/i386/efi/xnu.c: Removed.
875 * loader/i386/pc/xnu.c: Moved from here...
876 * loader/i386/xnu.c: ...here.
877
878 Enable priorities in video drivers.
879
880 * include/grub/video.h (grub_video_adapter_prio_t): New type.
881 (grub_video_adapter): New field prio.
882 (grub_video_register): Respect prio when inserting.
883 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
884 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
885 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
886 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
887 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
888 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
889 * video/sm712.c (grub_video_sm712_adapter): Likewise.
890
891 Fix SDL driver ID.
892
893 * include/grub/video.h (grub_video_driver_id_t): New value
894 GRUB_VIDEO_DRIVER_SDL.
895 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
896
897 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
898
899 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
900 argument to printf.
901 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
902
903 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
904
905 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
906 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
907
908 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
909
910 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
911 directly, and recommend grub-install instead.
912 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
913
914 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
915
916 Fix i386-pc prefix handling with nested partitions (Debian bug
917 #585068). Note that the case where the core image is booted using
918 multiboot and relocated from its original location still requires
919 more work.
920
921 * kern/i386/pc/init.c (make_install_device): If the prefix starts
922 with "(,", fill the boot drive in between those two characters, but
923 expect that a full partition specification including partition map
924 names will follow.
925 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
926 specified, write a prefix without the drive name but including a
927 full partition specification.
928
929 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
930
931 * util/grub-mkconfig.in: Ignore non-option arguments, for
932 compatibility with older versions (before 2010-06-12) which did the
933 same. In particular, this makes it easier to ship an update-grub
934 wrapper which is compatible with that used with GRUB Legacy (Debian
935 bug #586056).
936
937 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
938
939 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
940 for manual page generation.
941
942 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
943
944 * po/POTFILES: Remove leftover commands/handler.c.
945
946 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
947
948 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
949 left this script non-functional.
950
951 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
952
953 * docs/man/grub-emu.h2m: New file.
954
955 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
956
957 * docs/grub.texi (Commands): Document reduced command set in rescue
958 mode.
959 (cpuid): New section.
960
961 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
962
963 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
964 new partition naming style.
965 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
966
967 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
968
969 Add "-o grub.iso" like cmdline options support.
970
971 * util/grub-install.in: Improve cmdline option parsing.
972 * util/grub-mkconfig.in: Likewise.
973 * util/grub-mkrescue.in: Likewise.
974 * util/grub-reboot.in: Likewise.
975 * util/grub-set-default.in: Likewise.
976 * util/i386/efi/grub-install.in: Likewise.
977 * util/ieee1275/grub-install.in: Likewise.
978 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
979
980 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
981
982 * .bzrignore: Ignore 41_custom.
983
984 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
985
986 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
987
988 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
989
990 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
991 prototype declarations.
992
993 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
994 generating fs, partmap, and video lists.
995 * include/grub/fs.h (grub_fs_register): Omit prototype if
996 GRUB_LST_GENERATOR is defined.
997 * include/grub/partition.h (grub_partition_map_register): Likewise.
998 * include/grub/video.h (grub_video_register): Likewise.
999
1000 2010-06-12 Javier Martín <lordhabbit@gmail.com>
1001
1002 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1003
1004 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1005
1006 * util/grub-mkrescue.in: Support --xorriso argument.
1007
1008 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1011 Suggested by: Thomas Schmitt.
1012
1013 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1016 Suggested by: Thomas Schmitt.
1017
1018 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 custom.cfg support.
1021
1022 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1023 * util/grub.d/41_custom.in: New file.
1024
1025 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1026
1027 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1028 been merged back into normal.
1029
1030 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1031
1032 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1033 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1034
1035 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1036
1037 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1038 when generating manual pages.
1039 * docs/man/grub-bin2h.h2m: New file.
1040 * docs/man/grub-editenv.h2m: New file.
1041 * docs/man/grub-fstest.h2m: New file.
1042 * docs/man/grub-install.h2m: New file.
1043 * docs/man/grub-macho2img.h2m: New file.
1044 * docs/man/grub-mkconfig.h2m: New file.
1045 * docs/man/grub-mkdevicemap.h2m: New file.
1046 * docs/man/grub-mkfont.h2m: New file.
1047 * docs/man/grub-mkimage.h2m: New file.
1048 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1049 * docs/man/grub-mkrelpath.h2m: New file.
1050 * docs/man/grub-mkrescue.h2m: New file.
1051 * docs/man/grub-ofpathname.h2m: New file.
1052 * docs/man/grub-pe2elf.h2m: New file.
1053 * docs/man/grub-probe.h2m: New file.
1054 * docs/man/grub-reboot.h2m: New file.
1055 * docs/man/grub-script-check.h2m: New file.
1056 * docs/man/grub-set-default.h2m: New file.
1057 * docs/man/grub-setup.h2m: New file.
1058
1059 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Use FOR_* macros instead of *_iterate whenever possible.
1062
1063 * commands/handler.c: Removed.
1064 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1065 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1066 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1067 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1068 (grub_probe_SOURCES): Remove kern/parser.c.
1069 (util/grub-script-check.c_DEPENDENCIES): Removed.
1070 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1071 and grub_script_check_init.c.
1072 (grub_script_check_init.lst): Removed.
1073 (grub_script_check_init.h): Likewise.
1074 (grub_script_check_init.c): Likewise.
1075 (pkglib_MODULES): Remove handler.mod and sh.mod.
1076 (handler_mod_SOURCES): Removed.
1077 (handler_mod_CFLAGS): Likewise.
1078 (handler_mod_LDFLAGS): Likewise.
1079 (normal_mod_SOURCES): Remove normal/handler.c.
1080 Add script/main.c, script/script.c, script/execute.c,
1081 script/function.c, script/lexer.c, grub_script.tab.c
1082 and grub_script.yy.c.
1083 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1084 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1085 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1086 (grub_setup_SOURCES): Remove kern/parser.c.
1087 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1088 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1089 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1090 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1091 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1092 (grub_setup_SOURCES): Remove kern/parser.c.
1093 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1094 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1095 * include/grub/command.h (grub_command_iterate): Removed.
1096 (FOR_COMMANDS): New macro.
1097 * include/grub/dl.h (grub_dl): New member next.
1098 (grub_dl_iterate): Removed.
1099 (grub_dl_head): New variable declaration.
1100 (FOR_DL_MODULES): New macro.
1101 * include/grub/fs.h: Include list.h.
1102 (grub_fs): Make next first element.
1103 (grub_fs_list): New variable declaration.
1104 (grub_fs_register): Make inline.
1105 (grub_fs_unregister): Likewise.
1106 (grub_fs_iterate): Removed.
1107 (FOR_FILESYSTEMS): New macro.
1108 * include/grub/handler.h: Removed.
1109 * include/grub/list.h (grub_list_hook_t): Removed.
1110 (grub_list_test_t): Likewise.
1111 (grub_list_pop): Likewise.
1112 (grub_list_iterate): Likewise.
1113 (grub_list_insert): Likewise.
1114 (FOR_LIST_ELEMENTS): New macro.
1115 * include/grub/parser.h (grub_parser_class): Removed.
1116 (grub_parser_register): Likewise.
1117 (grub_parser_unregister): Likewise.
1118 (grub_parser_get_current): Likewise.
1119 (grub_parser_set_current): Likewise.
1120 (grub_register_rescue_parser): Likewise.
1121 (grub_rescue_parse_line): New function.
1122 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1123 * include/grub/script_sh.h (grub_script_function_list): New variable
1124 declaration.
1125 (FOR_SCRIPT_FUNCTIONS): New macro.
1126 (grub_script_function_iterate): Removed.
1127 (grub_normal_parse_line): New prototype.
1128 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1129 (FOR_DISABLED_TERM_INPUTS): Likewise.
1130 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1131 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1132 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1133 element.
1134 (grub_video_register): Inline.
1135 (grub_video_unregister): Likewise.
1136 (grub_video_adapter_list): New variable declaration.
1137 (grub_video_iterate): Removed.
1138 (FOR_VIDEO_ADAPTERS): New macro.
1139 * kern/dl.c (grub_dl_list): Removed. All users updated.
1140 (grub_dl_iterate): Removed.
1141 * kern/fs.c (grub_fs_list): Make global.
1142 (grub_fs_register): Removed.
1143 (grub_fs_unregister): Likewise.
1144 (grub_fs_iterate): Likewise.
1145 * kern/handler.c: Removed.
1146 * kern/list.c (grub_list_pop): Removed.
1147 (grub_list_iterate): Likewise.
1148 (grub_list_insert): Likewise.
1149 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1150 (grub_prio_list_insert): Don't use grub_list_insert.
1151 * kern/main.c (grub_register_rescue_parser): Don't call
1152 grub_register_rescue_parser.
1153 * kern/parser.c (grub_parser_class): Removed.
1154 (grub_parser_execute): Use grub_rescue_parse_line.
1155 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1156 (grub_rescue_parser): Removed.
1157 (grub_register_rescue_parser): Likewise.
1158 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1159 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1160 (grub_auth_check_authentication): Likewise.
1161 * normal/completion.c (iterate_command): Removed.
1162 (grub_normal_do_completion): Use FOR_COMMANDS.
1163 * normal/handler.c: Removed.
1164 * normal/main.c (read_config_file): Remove parser changing.
1165 (grub_normal_execute): Don't call read_handler_list.
1166 (grub_normal_read_line_real): Statically allocate prompt.
1167 (grub_cmdline_run): Use grub_normal_parse_line.
1168 (GRUB_MOD_FINI): Don't call free_handler_list.
1169 * normal/menu_entry.c (run): Likewise.
1170 * script/function.c (grub_script_function_list): Make global.
1171 (grub_script_function_iterate): Removed.
1172 * script/main.c (grub_normal_parse_line): Make global.
1173 (grub_sh_parser): Removed.
1174 (GRUB_MOD_INIT): Likewise.
1175 (GRUB_MOD_FINI): Likewise.
1176 * tests/lib/functional_test.c (grub_functional_test): Use
1177 FOR_LIST_ELEMENTS.
1178 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1179 (grub_test_run): Use FOR_LIST_ELEMENTS.
1180 * tests/lib/unit_test.c (main): Likewise.
1181 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1182 grub_list_pop.
1183 * util/grub-fstest.c (grub_term_input_class): Removed.
1184 (grub_term_output_class): Likewise.
1185 * util/grub-probe.c: Likewise.
1186 * util/i386/pc/grub-setup.c: Likewise.
1187 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1188 * util/grub-script-check.c (main): Don't call grub_init_all and
1189 grub_fini_all.
1190 * video/video.c (grub_video_adapter_list): Make global.
1191 (grub_video_register): Removed.
1192 (grub_video_unregister): Likewise.
1193 (grub_video_iterate): Likewise.
1194
1195 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1198 reported by Henrique Ferreiro.
1199
1200 2010-06-09 Robert Millan <rmh@gnu.org>
1201
1202 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1203 ones, when both are available.
1204
1205 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1206
1207 Make --version uniform and avoid hard-coded program name.
1208
1209 * util/grub-mkimage.c (main): Use `program_name' instead of
1210 hard-coded string.
1211 * util/i386/pc/grub-setup.c (main): Likewise.
1212 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1213 * util/grub-install.in: Save the basename of $0 in $self, and use the
1214 latter in informational messages. Use the same format for --version
1215 as the binary programs.
1216 * util/grub-mkconfig.in: Likewise.
1217 * util/grub-mkrescue.in: Likewise.
1218 * util/grub-reboot.in: Likewise.
1219 * util/grub-set-default.in: Likewise.
1220 * util/i386/efi/grub-install.in: Likewise.
1221 * util/ieee1275/grub-install.in: Likewise.
1222 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1223
1224 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1225
1226 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1227 embedding area. Use <= instead of == when checking for non-emptiness.
1228
1229 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1230
1231 * configure.ac: Add `.' to the directories searched for unifont.
1232
1233 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1234
1235 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1236 grub_script.yy.h.
1237
1238 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1239
1240 * docs/grub.texi (History): Expand to cover GRUB 2.
1241 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1242 commands, not `terminal'.
1243 (serial): Likewise.
1244 (terminal_input): New section.
1245 (terminal_output): New section.
1246 (uppermem): New section (stub).
1247 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1248
1249 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1250
1251 * docs/grub.texi (Security): Menu entries are unrestricted by
1252 default, not restricted to superusers as I had previously thought.
1253 Reword to account for this.
1254
1255 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1256
1257 * kern/emu/misc.c (device_mapper_null_log): New function.
1258 (grub_device_mapper_supported): New function.
1259 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1260 prototype.
1261 * kern/emu/hostdisk.c (find_partition_start): Check whether
1262 device-mapper is supported before trying to use it.
1263 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1264
1265 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1266
1267 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1268 (File name syntax): Likewise.
1269 (help): --all is no longer supported in GRUB 2. Be more precise
1270 about pattern matching.
1271
1272 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1273
1274 * normal/completion.c (grub_normal_do_completion): When completing
1275 arguments to "set" and the current word contains an equals sign,
1276 skip to after the equals sign before starting completion.
1277
1278 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1279
1280 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1281
1282 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1283
1284 * docs/grub.texi (Network): New section.
1285 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1286 `(nd)' as in GRUB Legacy.
1287 (pxe_unload): New section.
1288
1289 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1290
1291 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1292 in the rescue shell, so recommend using `set' instead. Thanks,
1293 Jordan Uggla.
1294
1295 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1296
1297 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1298 (password): New section.
1299 (password_pbkdf2): New section.
1300 (search): New section.
1301 (Security): New section.
1302 (Troubleshooting): New section, currently very incomplete.
1303 (Invoking grub-mkpasswd-pbkdf2): New section.
1304 (Internals): New section, currently very incomplete.
1305
1306 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1307
1308 * util/grub.d/00_header.in: Add some more quoting (of
1309 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1310 work again.
1311 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1312
1313 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1314
1315 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1316 to `count', fixing variable shadowing that broke the -c option.
1317
1318 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
1319
1320 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1321 in case they contain spaces.
1322
1323 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1324
1325 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1326 "part_" to partmap module names, in line with grub-install.
1327 Reported by: Jindřich Makovička (Debian bug #584426).
1328
1329 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1330
1331 * util/grub-mkimage.c: Make target-related error messages slightly
1332 more helpful; -O talks about "format". Explicitly point to the use
1333 of -O if no target is specified.
1334 Reported by: Didier Raboud (Debian bug #584415).
1335
1336 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
1337
1338 * INSTALL: Document several build requirements for optional features
1339 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1340
1341 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1342
1343 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1344 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1345 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1346
1347 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1348
1349 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1350 Thanks to Jordan Uggla for spotting this.
1351
1352 2010-06-02 Aleš Nesrsta <starous@volny.cz>
1353
1354 Finally make USB usable.
1355
1356 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1357 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1358 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1359 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1360 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1361 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1362 (GRUB_OHCI_FSMPS): Likewise.
1363 (GRUB_OHCI_PERIODIC_START): Likewise.
1364 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1365 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1366 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1367 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1368 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1369 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1370 (grub_ohci_transaction): Likewise.
1371 (grub_ohci_transfer): Improve condition detection algorithms.
1372 Handle toggle property. Program the transactions correctly.
1373 Improve error handling. Various important fixups.
1374 (grub_ohci_portstatus): Put register writes in right order.
1375 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1376 (grub_uhci_transfer): Don't show "failed" message on success.
1377 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1378 array.
1379 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1380 determine its size.
1381 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1382 before initialization is completed. Use IN direction for empty
1383 transfers. Use last_trans and compute toggle.
1384 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1385 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1386 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1387 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1388 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1389 (grub_usb_device): Increase toggle to 256.
1390 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1391 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1392 GRUB_USBMS_SUBCLASS_SFF8070.
1393 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1394 (grub_scsi_inquiry): New member page and alloc_length.
1395 (grub_scsi_request_sense): New structure.
1396 (grub_scsi_request_sense_data): Likewise.
1397 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1398 control.
1399 * disk/scsi.c (grub_scsi_request_sense): New function.
1400 (grub_scsi_test_unit_ready): Likewise.
1401 (grub_scsi_inquiry): Fill new fields.
1402 (grub_scsi_read_capacity): Likewise.
1403 (grub_scsi_read10): Add request sense at the end.
1404 (grub_scsi_read12): Likewise.
1405 (grub_scsi_write10): Likewise.
1406 (grub_scsi_write12): Likewise.
1407 (grub_scsi_open): Add Test Unit Ready.
1408 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1409 Support additional subclasses. Con't clear halt yet. Activate the
1410 proper config. Calculate LUNs correctly.
1411 (grub_usbms_transfer): Various important fixups.
1412
1413 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1416 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1417 (grub_ohci_fini_hw): New function.
1418 (grub_ohci_restore_hw): Likewise.
1419 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1420 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1421 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1422
1423 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Dedicated DMA allocations.
1426
1427 * bus/pci.c (grub_memalign_dma32): New function
1428 (grub_dma_free): Likewise.
1429 (grub_dma_get_virt): Likewise.
1430 (grub_dma_get_phys): Likewise.
1431 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1432 (grub_ohci_pci_iter): Use dma32_alloc.
1433 (grub_ohci_transfer): Likewise.
1434 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1435 (grub_usb_bulk_readwrite): Likewise.
1436 * include/grub/pci.h: Add declarations.
1437
1438 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 CS5536 support.
1441
1442 * bus/cs5536.c: New file.
1443 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1444 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1445 (cs5536_mod_SOURCES): New variable.
1446 (cs5536_mod_CFLAGS): Likewise.
1447 (cs5536_mod_LDFLAGS): Likewise.
1448 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1449 machine/pci.h.
1450 (kernel_img_SOURCES): Add bus/cs5536.c.
1451 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1452 usb_keyboard.mod.
1453 (usb_mod_SOURCES): New variable.
1454 (usb_mod_CFLAGS): New variable.
1455 (usb_mod_LDFLAGS): New variable.
1456 (usbtest_mod_SOURCES): New variable.
1457 (usbtest_mod_CFLAGS): New variable.
1458 (usbtest_mod_LDFLAGS): New variable.
1459 (ohci_mod_SOURCES): New variable.
1460 (ohci_mod_CFLAGS): New variable.
1461 (ohci_mod_LDFLAGS): New variable.
1462 (usbms_mod_SOURCES): New variable.
1463 (usbms_mod_CFLAGS): New variable.
1464 (usbms_mod_LDFLAGS): New variable.
1465 (usb_keyboard_mod_SOURCES): New variable.
1466 (usb_keyboard_mod_CFLAGS): New variable.
1467 (usb_keyboard_mod_LDFLAGS): New variable.
1468 * include/grub/smbus.h: New file.
1469 * include/grub/cs5536.h: New file.
1470
1471 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1472
1473 * util/grub.d/00_header.in: Add safety check to make sure that
1474 ${locale_dir} exists before trying to probe it.
1475
1476 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1477
1478 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1479 per the GNU Coding Standards; this is now too obscure to be worth
1480 documenting.
1481 (QNX): Likewise.
1482 (chainloader): Remove cross-reference to `SCO UnixWare'.
1483
1484 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1485
1486 * docs/grub.texi (Chain-loading): New section.
1487 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1488 adjusted for GRUB 2.
1489 (SCO UnixWare): Likewise.
1490 (QNX): Likewise.
1491 (chainloader): Add reference to `Block list syntax'.
1492 (drivemap): New section.
1493 (parttool): New section.
1494
1495 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1496
1497 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1498 the grub shell'.
1499 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1500 (Installing GRUB using grub-install): Remove reference to the grub
1501 shell; mention `grub-mkimage' and `grub-setup' instead.
1502 (Invoking grub-install): Likewise.
1503 (Interface): Add reference to `Menu entry editor'.
1504 (serial): Remove `--device' option.
1505
1506 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1507
1508 * docs/grub.texi (Configuration): New section, documenting
1509 configuration file generation using grub-mkconfig. I've left a slot
1510 for documenting the full shell scripting format but have not yet
1511 started on writing that up.
1512 (Invoking grub-mkconfig): New section.
1513
1514 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1515
1516 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1517 (GNU GRUB manual): Likewise.
1518 (General commands): Update description of `terminfo' for GRUB 2.
1519
1520 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1521
1522 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1523 (GRUB_MOD_INIT): Fix capitalisation.
1524 * docs/grub.texi (Command-line and menu entry commands): Document
1525 gettext and gptsync commands.
1526
1527 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1528
1529 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1530 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1531
1532 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
1533
1534 Add btrfs probing support, currently only in the single-device case.
1535
1536 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1537 function.
1538 (grub_guess_root_device): Call find_root_device_from_mountinfo
1539 before looking in /dev.
1540
1541 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1544 GRUB_DISK_SIZE_UNKNOWN.
1545 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1546
1547 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
1548
1549 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1550 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1551 corrupted or not synced properly.
1552
1553 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1556 Reported by: Seth Goldberg.
1557
1558 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1561 addition of dest.
1562 Reported by: Seth Goldberg.
1563
1564 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1567 Reported by: Seth Goldberg.
1568
1569 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1572 64-bit address as signed on MIPS.
1573
1574 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1575
1576 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1577 to the empty string.
1578
1579 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1580
1581 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1582
1583 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1584 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1585 * kern/misc.c (__enable_execute_stack): Disable on
1586 GRUB_MACHINE_EMU.
1587
1588 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1589
1590 Make grub-probe work with symbolic links under /dev/mapper as well
1591 as with real block devices. The Linux world seems to be (at best)
1592 in transition here, and GRUB shouldn't get caught in the middle.
1593
1594 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1595 /dev/mapper.
1596
1597 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1598
1599 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1600 input files (in which case exit zero).
1601
1602 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1603
1604 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1605 return NULL for various reasons even if it has a maximum-length
1606 buffer: for example, there might be a symlink loop, or the path
1607 might exceed PATH_MAX. If this happens, return NULL.
1608
1609 2010-05-27 Robert Millan <rmh@gnu.org>
1610
1611 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1612 partmap module to handle cross-partmap setups.
1613 Reported by Orestes Mas. Gràcies!
1614
1615 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1616
1617 * util/grub-mkrescue.in: Initialise override_dir rather than
1618 assuming that it's unset or empty in the environment.
1619
1620 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1621
1622 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1623 variable index into p_index to suppress a warning with -Wshadow.
1624
1625 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1626
1627 * INSTALL: Added flex >= 2.5.35 requirement.
1628
1629 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1632
1633 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 cmostest support.
1636
1637 * commands/i386/cmostest.c: New file.
1638 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1639 (cmostest_mod_SOURCES): New variable.
1640 (cmostest_mod_CFLAGS): Likewise.
1641 (cmostest_mod_LDFLAGS): Likewise.
1642 * conf/i386-pc.rmk: Likewise.
1643 * docs/grub.texi (Vendor power-on keys): New section.
1644 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1645 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1646 and GRUB_BUTTON_CMOS_ADDRESS.
1647 * util/grub.d/00_header.in: Handle powering-on by separate button.
1648
1649 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1652 Removed drawing_scrollbar argument. All users updated
1653 Fixes #29792.
1654 Reported by Jo Shields
1655
1656 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1659 buffer since gfxterm handles double repaint.
1660
1661 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1664 * term/gfxterm.c (real_scroll): Likewise.
1665
1666 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1669 before calling BIOS.
1670
1671 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * include/grub/i18n.h: Always enable grub_gettext.
1674
1675 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1678 partition naming style.
1679
1680 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
1681
1682 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1683 not the first option.
1684
1685 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1686
1687 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1688
1689 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1690
1691 * util/misc.c: Move inclusion of <limits.h> to ...
1692 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1693
1694 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1695
1696 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1697 Fix merge error in NetBSD code.
1698 (find_partition_start) [__NetBSD__]: Likewise.
1699
1700 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1701
1702 Fix grub-mkrescue usage unit testing.
1703
1704 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1705
1706 2010-05-18 Christian Franke <franke@computer.org>
1707
1708 * util/grub.d/10_windows.in: Use path names instead of
1709 drive letters to prevent warning from Cygwin 1.7.
1710 Add drivemap command to menuentry if needed.
1711
1712 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1713
1714 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1715 gnumach and gnumach.gz.
1716
1717 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * include/grub/i18n.h (gettext): Inline instead of using #define.
1720 (grub_gettext): Likewise.
1721 (_): Likewise.
1722
1723 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1726 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1727 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1728 (main): Add a slash after pkglibdirroot.
1729
1730 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * util/grub-install.in: Add missing "in" keyword.
1733
1734 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1737 Reported by: Seth Goldberg.
1738
1739 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1742
1743 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1744
1745 * configure.ac: Check for Linux device-mapper support.
1746
1747 * util/hostdisk.c (device_is_mapped): New function.
1748 (find_partition_start): New function, partly broken out from
1749 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1750 device-mapper support added.
1751 (linux_find_partition): Use find_partition_start.
1752 (convert_system_partition_to_system_disk): Add `st' argument.
1753 Support Linux /dev/mapper/* devices if device-mapper support is
1754 available; only DM-RAID devices are understood at present.
1755 (find_system_device): Add `st' argument. Pass it to
1756 convert_system_partition_to_system_disk.
1757 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1758 find_system_device and convert_system_partition_to_system_disk. Use
1759 find_partition_start.
1760
1761 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1762 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1763 * util/deviceiter.c [__linux__]: Define MINOR.
1764 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1765 * util/mkdevicemap.c (grub_putchar): New function.
1766 (grub_getkey): New function.
1767 (grub_refresh): New function.
1768 (main): Set debug=all if -v -v is used.
1769
1770 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1771
1772 Fix build with non-GNU libcs.
1773
1774 * util/misc.c (canonicalize_file_name): Move to ...
1775 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1776 grub_make_system_path_relative_to_its_root.
1777
1778 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1779
1780 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1781 we handle finding grub-mkimage. Default to finding grub-mkimage in
1782 ${bindir} with program_transform_name applied, and provide a
1783 --grub-mkimage option to override this.
1784
1785 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 Remove grub-mkisofs.
1788
1789 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1790 (grub_mkisofs_SOURCES): Removed.
1791 (grub_mkisofs_CFLAGS): Removed.
1792 * util/mkisofs/defaults.h: Removed.
1793 * util/mkisofs/eltorito.c: Likewise.
1794 * util/mkisofs/exclude.h: Likewise.
1795 * util/mkisofs/hash.c: Likewise.
1796 * util/mkisofs/include/: Likewise.
1797 * util/mkisofs/include/fctldefs.h: Likewise.
1798 * util/mkisofs/include/mconfig.h: Likewise.
1799 * util/mkisofs/include/prototyp.h: Likewise.
1800 * util/mkisofs/include/statdefs.h: Likewise.
1801 * util/mkisofs/iso9660.h: Likewise.
1802 * util/mkisofs/joliet.c: Likewise.
1803 * util/mkisofs/match.c: Likewise.
1804 * util/mkisofs/match.h: Likewise.
1805 * util/mkisofs/mkisofs.c: Likewise.
1806 * util/mkisofs/mkisofs.h: Likewise.
1807 * util/mkisofs/msdos_partition.h: Likewise.
1808 * util/mkisofs/multi.c: Likewise.
1809 * util/mkisofs/name.c: Likewise.
1810 * util/mkisofs/rock.c: Likewise.
1811 * util/mkisofs/tree.c: Likewise.
1812 * util/mkisofs/write.c: Likewise.
1813
1814 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 Unify grub-mkimage accross platforms.
1817
1818 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
1819 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
1820 (grub_mkelfimage_SOURCES): Removed.
1821 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
1822 (util/grub-mkimage.c_DEPENDENCIES): .. this.
1823 (bin_UTILITIES): Add grub-mkimage.
1824 (grub_mkimage_SOURCES): New variable.
1825 (kernel_img_HEADERS): Remove machine/kernel.h.
1826 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
1827 (pkglib_PROGRAMS): Add kernel.img.
1828 (kernel_img_HEADERS): Add machine/kernel.h.
1829 (kernel_img_FORMAT): Removed.
1830 (bin_UTILITIES): Remove grub-mkimage.
1831 (grub_mkimage_SOURCES): Removed.
1832 (grub_mkimage_CFLAGS): Likewise.
1833 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1834 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
1835 (pkglib_PROGRAMS): Add kernel.img.
1836 (bin_UTILITIES): Remove grub-mkimage.
1837 (grub_mkimage_SOURCES): Removed.
1838 (grub_mkimage_CFLAGS): Likewise.
1839 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1840 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
1841 (pkglib_PROGRAMS): Add kernel.img.
1842 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
1843 (pkglib_PROGRAMS): Add kernel.img.
1844 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1845 (grub_mkimage_SOURCES): Removed.
1846 (grub_mkimage_CFLAGS): Likewise.
1847 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1848 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1849 (pkglib_PROGRAMS): Add kernel.img.
1850 (bin_UTILITIES): Remove grub-mkimage.
1851 (grub_mkimage_SOURCES): Removed.
1852 (grub_mkimage_CFLAGS): Likewise.
1853 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1854 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1855 (grub_mkimage_SOURCES): Removed.
1856 (grub_mkimage_CFLAGS): Likewise.
1857 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1858 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1859 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1860 (grub_pe32_optional_header): ... this.
1861 (grub_pe64_optional_header): ... and this. All users updated.
1862 (GRUB_PE32_PE32_MAGIC): Split into ..
1863 (GRUB_PE32_PE32_MAGIC): .. this.
1864 (GRUB_PE32_PE64_MAGIC): .. and this.
1865 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1866 * include/grub/elf.h (PT_GNU_STACK): New definition.
1867 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1868 * include/grub/i386/efi/kernel.h: Likewise.
1869 * include/grub/i386/kernel.h: Likewise.
1870 * include/grub/i386/pc/kernel.h: Likewise.
1871 * include/grub/i386/qemu/boot.h: Likewise.
1872 * include/grub/mips/kernel.h: Likewise.
1873 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1874 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1875 * include/grub/powerpc/kernel.h: Likewise.
1876 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1877 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1878 * include/grub/sparc64/kernel.h: Likewise.
1879 * include/grub/x86_64/efi/kernel.h: Likewise.
1880 * include/grub/x86_64/kernel.h: Likewise.
1881 * include/grub/offsets.h: New file.
1882 * include/grub/kernel.h (grub_module_info): Split into ...
1883 (grub_module_info32): ... this.
1884 (grub_module_info64): ... and this.
1885 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1886 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1887 (grub_boot_blocklist): Moved from here ...
1888 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1889 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1890 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1891 * include/grub/types.h (grub_target_to_host16): Removed.
1892 (grub_target_to_host32): Likewise.
1893 (grub_target_to_host64): Likewise.
1894 (grub_host_to_target16): Likewise.
1895 (grub_host_to_target32): Likewise.
1896 (grub_host_to_target64): Likewise.
1897 (grub_host_to_target_addr): Likewise.
1898
1899 Support grub-mkrescue for efi, coreboot and qemu.
1900
1901 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1902 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1903 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1904 * util/grub-mkrawimage.c: Moved from here ...
1905 * util/grub-mkimage.c: ... here. All users updated.
1906 (ALIGN_ADDR): Use image_target.
1907 (TARGET_NO_FIELD): New const.
1908 (image_target_desc): New type.
1909 (image_targets): New array.
1910 (grub_target_to_host64): Use image_target.
1911 (grub_target_to_host32): Likewise.
1912 (grub_target_to_host16): Likewise.
1913 (grub_host_to_target64): Likewise.
1914 (grub_host_to_target32): Likewise.
1915 (grub_host_to_target16): Likewise.
1916 (grub_host_to_target_addr): Likewise.
1917 (generate_image): Handle multiimage.
1918 (main): Require -O parameter. All users updated.
1919 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1920 util/efi/grub-mkimage.c
1921 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1922 New option --rom-directory.
1923 Use xorriso.
1924 * util/i386/efi/grub-mkimage.c: Removed.
1925 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1926 (grub_target_to_host32): Likewise.
1927 (grub_target_to_host64): Likewise.
1928 (grub_host_to_target16): Likewise.
1929 (grub_host_to_target32): Likewise.
1930 (grub_host_to_target64): Likewise.
1931 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1932 (grub_target_to_host32): Likewise.
1933 (grub_target_to_host64): Likewise.
1934 (grub_host_to_target16): Likewise.
1935 (grub_host_to_target32): Likewise.
1936 (grub_host_to_target64): Likewise.
1937
1938 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1939
1940 Source tree is reorganized for emu build.
1941
1942 * include/grub/util/console.h: Move from here...
1943 * include/grub/emu/console.h: ...to here.
1944 * include/grub/util/getroot.h: Move from here...
1945 * include/grub/emu/getroot.h: ...to here.
1946 * include/grub/util/hostdisk.h: Move from here...
1947 * include/grub/emu/hostdisk.h: ...to here.
1948 * util/console.c: Move from here...
1949 * kern/emu/console.c: ...to here.
1950 * util/getroot.c: Move from here...
1951 * kern/emu/getroot.c: ...to here.
1952 * util/grub-emu.c: Move from here...
1953 * kern/emu/main.c: ...to here.
1954 * util/hostdisk.c: Move from here...
1955 * kern/emu/hostdisk.c: ...to here.
1956 * util/hostfs.c: Move from here...
1957 * kern/emu/hostfs.c: ...to here.
1958 * util/mm.c: Move from here...
1959 * kern/emu/mm.c: ...to here.
1960 * util/pci.c: Move from here...
1961 * bus/emu/pci.c: ...to here.
1962 * util/sdl.c: Move from here...
1963 * video/emu/sdl.c: ...to here.
1964 * util/time.c: Move from here...
1965 * kern/emu/time.c: ...to here.
1966 * util/usb.c: Move from here...
1967 * bus/usb/emu/usb.c: ...to here.
1968
1969 * include/grub/emu/misc.h: New header for grub-emu functions.
1970 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1971
1972 * conf/any-emu.rmk: Rule updates for above renames.
1973 * conf/common.rmk: Likewise.
1974 * conf/i386-pc.rmk: Likewise.
1975 * conf/i386-qemu.rmk: Likewise.
1976 * conf/mips.rmk: Likewise.
1977 * conf/sparc64-ieee1275.rmk: Likewise.
1978 * conf/x86-efi.rmk: Likewise.
1979
1980 * disk/lvm.h: #include updates for above renames.
1981 * util/grub-mkrelpath.c: Likewise.
1982 * util/grub-probe.c: Likewise.
1983 * util/i386/pc/grub-setup.c: Likewise.
1984 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1985 * kern/emu/console.c: Likewise.
1986 * kern/emu/getroot.c: Likewise.
1987 * kern/emu/hostdisk.c: Likewise.
1988 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1989
1990 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1991 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1992 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1993 * util/misc.c: Remove grub-emu functions.
1994
1995 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Fix gfxmenu crash.
1998 Reported by: Thorsten Grützmacher.
1999
2000 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2001 timeout hook.
2002 (circprog_set_property): Register and unregister timeout hook.
2003 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2004 (label_destroy): Free template. and unregister hook.
2005 (label_set_state): New function.
2006 (label_set_property): Handle templates and hooks.
2007 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2008 timeout hook.
2009 (progress_bar_set_property): Register and unregister timeout hook.
2010 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2011 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2012 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2013 (update_timeout_visit): Removed.
2014 (update_timeouts): New function.
2015 (redraw_timeouts): Likewise.
2016 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2017 (grub_gfxmenu_clear_timeout): Likewise.
2018 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2019 (grub_gfxmenu_timeout_notify): Likewise.
2020 (grub_gfxmenu_timeout_notifications): New external variable.
2021 (grub_gfxmenu_timeout_register): New function.
2022 (grub_gfxmenu_timeout_unregister): Likewise.
2023
2024 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Transform (broken) vga terminal into (working) vga video driver.
2027
2028 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2029 video/i386/pc/vga.c.
2030 * include/grub/video.h (grub_video_driver_id):
2031 Add GRUB_VIDEO_DRIVER_VGA.
2032 * term/i386/pc/vga.c: Renamed to ...
2033 * video/i386/pc/vga.c: ...this
2034 (DEBUG_VGA): Removed.
2035 (CHAR_WIDTH): Likewise.
2036 (CHAR_HEIGHT): Likewise.
2037 (TEXT_WIDTH): Likewise.
2038 (TEXT_HEIGHT): Likewise.
2039 (DEFAULT_FG_COLOR): Likewise.
2040 (DEFAULT_BG_COLOR): Likewise.
2041 (colored_char): Likewise.
2042 (xpos): Likewise.
2043 (ypos): Likewise.
2044 (cursor_state): Likewise.
2045 (fg_color): Likewise.
2046 (bg_color): Likewise.
2047 (text_buf): Likewise.
2048 (page): Likewise.
2049 (font): Likewise.
2050 (framebuffer): New variable.
2051 (set_read_map): Disabled.
2052 (setup): New variable.
2053 (is_target): Likewise.
2054 (grub_vga_mod_init): Likewise.
2055 (grub_vga_mod_fini): Likewise.
2056 (check_vga_mem): Likewise.
2057 (write_char): Likewise.
2058 (write_cursor): Likewise.
2059 (scroll_up): Likewise.
2060 (grub_vga_putchar): Likewise.
2061 (grub_vga_getcharwidth): Likewise.
2062 (grub_vga_getwh): Likewise.
2063 (grub_vga_getxy): Likewise.
2064 (grub_vga_gotoxy): Likewise.
2065 (grub_vga_cls): Likewise.
2066 (grub_vga_setcolorstate): Likewise.
2067 (grub_vga_setcursor): Likewise.
2068 (grub_video_vga_init): New function.
2069 (grub_video_vga_setup): Likewise.
2070 (grub_video_vga_fini): Likewise.
2071 (update_target): Likewise.
2072 (grub_video_vga_blit_bitmap): Likewise.
2073 (grub_video_vga_blit_render_target): Likewise.
2074 (grub_video_vga_set_active_render_target): Likewise.
2075 (grub_video_vga_get_active_render_target): Likewise.
2076 (grub_video_vga_swap_buffers): Likewise.
2077 (grub_video_vga_set_palette): Likewise.
2078 (grub_video_vga_get_info_and_fini): Likewise.
2079 (grub_vga_term): Removed.
2080 (grub_video_vga_adapter): New variable.
2081 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2082 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2083
2084 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * video/readers/jpeg.c: Indented.
2087
2088 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 Various jpeg cleanups.
2091
2092 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2093 (grub_jpeg_decode_quan_table): Use sizeof.
2094 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2095
2096 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
2097
2098 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2099 tables. Ignore non-last ac bit.
2100 (grub_jpeg_decode_quan_table): Likewise.
2101
2102 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2105 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2106 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2107 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2108 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2109 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2110
2111 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2114 error.
2115
2116 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2119
2120 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2123 condition.
2124
2125 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2128 part.
2129
2130 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2133 pointers.
2134
2135 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2138
2139 2010-05-01 Christian Franke <franke@computer.org>
2140
2141 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2142 Remove broken Cygwin path conversion.
2143 * util/misc.c: [__CYGWIN__] Add include and define.
2144 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2145 for Cygwin 1.7.
2146 (make_system_path_relative_to_its_root): Simplify loop, replace early
2147 return by break.
2148 [__CYGWIN__] Add conversion to win32 path.
2149 Include "/" case in trailing slash removal.
2150
2151 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2154 Reported by: Seth Goldberg
2155
2156 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * commands/help.c (grub_cmd_help): Fix a typo.
2159 Reported by: Seth Goldberg
2160
2161 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2164 name and add N_.
2165 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2166 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2167 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2168 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2169 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2170 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2171 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2172 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2173 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2174 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2175 * normal/context.c (GRUB_MOD_INIT): Likewise.
2176 * normal/main.c (GRUB_MOD_INIT): Likewise.
2177 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2178 * term/serial.c (GRUB_MOD_INIT): Likewise.
2179 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2180
2181 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2184 extra == 0.
2185
2186 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * commands/iorw.c: New file.
2189 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2190 (iorw_mod_SOURCES): New variable.
2191 (iorw_mod_CFLAGS): Likewise.
2192 (iorw_mod_LDFLAGS): Likewise.
2193
2194 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 Hotkey support
2197
2198 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2199 * normal/main.c (hotkey_aliases): New variable.
2200 (grub_normal_add_menu_entry): Parse "--hotkey".
2201 * normal/menu_text.c (run_menu): Handle hotkeys.
2202
2203 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * kern/i386/coreboot/init.c (grub_machine_init): Call
2206 grub_machine_mmap_init on qemu.
2207
2208 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * boot/i386/qemu/boot.S: Add a missing .code16.
2211
2212 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 Use LBIO on coreboot.
2215
2216 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2217 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2218 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2219 New declaration.
2220 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2221 grub_machine_mmap_init on coreboot.
2222 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2223 GRUB_LINUXBIOS_MEMBER_LINK.
2224 (grub_machine_mmap_iterate): Fix declaration.
2225 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2226
2227 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Split coreboot and multiboot ports.
2230
2231 * conf/i386-multiboot.rmk: New file.
2232 * configure.ac: Add multiboot port.
2233 * include/grub/i386/multiboot/boot.h: New file.
2234 * include/grub/i386/multiboot/console.h: Likewise.
2235 * include/grub/i386/multiboot/init.h: Likewise.
2236 * include/grub/i386/multiboot/kernel.h: Likewise.
2237 * include/grub/i386/multiboot/loader.h: Likewise.
2238 * include/grub/i386/multiboot/memory.h: Likewise.
2239 * include/grub/i386/multiboot/serial.h: Likewise.
2240 * include/grub/i386/multiboot/time.h: Likewise.
2241 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2242 * loader/multiboot.c: Likewise.
2243 * loader/multiboot_mbi2.c: Likewise.
2244 * util/grub-mkrescue.in: Generate multiboot rescue.
2245
2246 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2249
2250 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 Merge handling of input and output terminals. Fix a hang.
2253
2254 * commands/terminal.c (abstract_terminal): New struct.
2255 (handle_command): New function. Based on grub_cmd_terminal_input.
2256 (grub_cmd_terminal_input): Use handle_command.
2257 (grub_cmd_terminal_output): Use handle_command.
2258
2259 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2260
2261 Fix comment handling.
2262
2263 * tests/grub_script_comments.in: New testcase.
2264 * conf/tests.rmk: Rules for new testcase.
2265 * script/yylex.l: Updated flex rules.
2266
2267 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2268
2269 * docs/grub.texi (play): Document that zero pitches produce rests.
2270 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2271 if argc is 1.
2272
2273 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2276 autogen issues.
2277
2278 2010-04-26 Christian Franke <franke@computer.org>
2279
2280 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2281 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2282 (grub_get_prefix): Remove function.
2283 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2284 make_system_path_relative_to_its_root ().
2285 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2286
2287 2010-04-24 Christian Franke <franke@computer.org>
2288
2289 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2290 (kernel_img_LDFLAGS): Remove -static-libgcc.
2291
2292 2010-04-24 Christian Franke <franke@computer.org>
2293
2294 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2295 and CHECK_END_SYMBOL if grub-emu is built.
2296 Unset TARGET_OBJ2ELF if grub-emu is built
2297 without module support.
2298
2299 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
2300
2301 Nilfs2 support.
2302
2303 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2304 (grub_fstest_SOURCES): Likewise.
2305 (pkglib_MODULES): Add nilfs2.mod.
2306 (nilfs2_mod_SOURCES): New variable.
2307 (nilfs2_mod_CFLAGS): Likewise.
2308 (nilfs2_mod_LDFLAGS): Likewise.
2309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2310 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2311 * fs/nilfs2.c: New file.
2312
2313 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2316 is not supported.
2317
2318 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2319
2320 Add grub-mkconfig support for NetBSD.
2321
2322 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2323 * util/grub-mkconfig.in: export new NetBSD specific variables.
2324 * po/POTFILES-shell: added 10_netbsd.in.
2325 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2326
2327 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2328
2329 Fix emu build with grub-emu-pci and grub-emu-modules.
2330
2331 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2332 functions.
2333 * include/grub/libpciaccess.h: New file.
2334 * conf/any-emu.rmk: Update kernel headers for emu build.
2335
2336 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2339
2340 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2343
2344 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2347 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2348 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2349 util/ieee1275/ofpath.c.
2350 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2351 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2352 * include/grub/sparc64/ieee1275/boot.h
2353 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2354 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2355 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2356 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2357 const char *.
2358 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2359 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2360 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2361 install.
2362
2363 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2364
2365 * util/grub-mkconfig.in: Corrected two == equality tests.
2366 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2367 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2368 expect a number appended to it.
2369 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2370 expects a number appended to it.
2371
2372 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2375
2376 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * util/hostdisk.c (make_device_name): Change to new partition naming.
2379
2380 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2383
2384 2010-04-17 Christian Franke <franke@computer.org>
2385
2386 * Makefile.in: Add missing localedir setting.
2387
2388 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
2389
2390 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2391 mistake in r2156. Noticed by Anthony Fok.
2392
2393 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2394 @localedir@.
2395 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2396
2397 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2398
2399 Fix a spurious, uninitialized variable warning.
2400
2401 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2402 Initialize variable, shdr.
2403 (grub_freebsd_load_elfmodule): Likewise.
2404 (grub_freebsd_load_elf_meta): Likewise.
2405
2406 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2407
2408 Fix for escaped dollar in double quoted strings.
2409
2410 * script/yylex.l: Updated flex rules.
2411 * conf/tests.rmk: Rule for new testcase.
2412 * tests/grub_script_dollar.in: New testcase.
2413
2414 2010-04-13 Carles Pina i Estany <carles@pina.cat>
2415 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
2416
2417 Enclose all translated strings in grub.cfg in single quotes, and
2418 escape them appropriately (Ubuntu bug #552921).
2419
2420 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2421 * util/grub.d/10_hurd.in: Use it.
2422 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2423 * util/grub.d/10_linux.in (linux_entry): Likewise.
2424
2425 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 Fix cygwin compilation.
2428
2429 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2430 * include/grub/misc.h (__register_frame_info)
2431 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2432 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2433 * kern/misc.c (__register_frame_info)
2434 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2435 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2436
2437 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2440
2441 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 Unify libgcc processing.
2444
2445 * Makefile.in (kernel_img_LDFLAGS): New variable.
2446 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2447 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2448 overwriting.
2449 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2450 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2451 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2452 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2453 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2454 overwriting. Remove -lgcc and -static-libgcc
2455 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2456 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2457 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2458 (kernel_img_LDFLAGS): Append instead of overwriting.
2459 Remove -lgcc and -static-libgcc
2460 * conf/sparc64-ieee1275.rmk: Likewise.
2461 * include/grub/powerpc/libgcc.h: Move to ...
2462 * include/grub/libgcc.h: .. this.
2463 * include/grub/libgcc.h: Don't export most of the function on x86.
2464 (__bswapsi2): New export.
2465 (__bswapdi2): Likewise.
2466 * include/grub/mips/libgcc.h: Removed.
2467 * include/grub/sparc64/libgcc.h: Likewise.
2468
2469 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2472 disk_info_msg (conflicts with gettexting into languages with cases).
2473
2474 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2475
2476 Add grub-probe support for NetBSD.
2477
2478 * util/getroot.c (find_root_device): Convert block device to
2479 character device on NetBSD.
2480 * util/probe.c (probe): Require character device on NetBSD.
2481 * util/hostdisk.c: NetBSD specific headers.
2482 (configure_device_driver): new function to tune device driver
2483 parameters (currently only for NetBSD floppy driver).
2484 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2485 via disklabel ioctl).
2486 (open_device): call configure_device_driver on NetBSD.
2487 (convert_system_partition_to_system_disk): NetBSD specific code.
2488 (device_is_wholedisk): Likewise.
2489 (grub_util_biosdisk_get_grub_dev): Likewise.
2490 (make_device_name): Fixed a typo in bsd_part_str.
2491 * configure.ac: check for opendisk() and getrawpartition() on
2492 NetBSD and set LIBUTIL.
2493 * Makefile.in: add LIBUTIL to LIBS.
2494
2495 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2496
2497 Documentation fix.
2498
2499 * util/grub-script-check.c: Better help message.
2500
2501 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2502
2503 Fix FreeBSD build.
2504
2505 * configure.ac: Flex version check.
2506 * conf/common.rmk: Add -Wno-error to sh.mod.
2507 * script/yylex.l: Remove all #pragma.
2508
2509 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2512 prototype.
2513 Reported by: Seth Goldberg.
2514
2515 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2518 Rename "module" to "module2".
2519 Reported by: Seth Goldberg.
2520
2521 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2524 EXPORT_FUNC.
2525 Reported by: Seth Goldberg.
2526
2527 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * lib/posix_wrap/locale.h: Add missing file.
2530 Reported by: Seth Goldberg.
2531
2532 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 grub-emu module load support.
2535
2536 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2537 NO_DYNAMIC_MODULES switched to this.
2538 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2539 (CFLAGS): Likewise.
2540 * conf/any-emu.rmk: Generate symlist.
2541 (kernel_img_HEADERS): Add util/datetime.h.
2542 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2543 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2544 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2545 kern/$(target_cpu)/cache.S.
2546 * configure.ac (grub-emu-modules): New option.
2547 * genmk.rb: Handle multiple source lists.
2548 * include/grub/sdl.h: New file.
2549 * include/grub/libusb.h: Likewise.
2550 * util/grub-emu.c (main): Hanle (host) root.
2551 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2552 GRUB_ERR_UNKNOWN_DEVICE.
2553 * util/misc.c: Move mm functions to ...
2554 * util/mm.c: ... here. All users updated.
2555
2556 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2559 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2560 missing files.
2561 (maintainer-clean): Remove libgcrypt-grub.
2562
2563 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2566
2567 2010-04-09 EFI Coder <eficoder@hotmail.com>
2568
2569 * normal/menu_text.c (print_message): Clean up the message and show
2570 the Fn information when on EFI
2571 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2572
2573 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2576 All users updated.
2577 * normal/crypto.c (read_crypto_list): Likewise.
2578 * normal/dyncmd.c (read_command_list): Likewise.
2579 * normal/term.c (read_terminal_list): Likewise.
2580 * normal/main.c (read_lists): Use explicit prefix.
2581 (read_lists_hook): Use read_lists.
2582 (grub_normal_execute): Likewise.
2583
2584 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2587 Reported by: Thomas Schmitt.
2588 Add -no-emul-boot to grub-mkisofs parameters.
2589
2590 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * font/font.c: Indented.
2593
2594 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2595
2596 Elif support to GRUB script (by Deepak Vankadaru).
2597
2598 * tests/grub_script_if.in: New testcase.
2599 * conf/tests.rmk: Rule for new testcase.
2600 * script/parser.y: Grammar rules for elif.
2601
2602 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2603
2604 While and until loops support to GRUB script.
2605
2606 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2607 (grub_script_create_cmdwhile): New function prototype.
2608 (grub_script_execute_cmdwhile): New function prototype.
2609 * script/execute.c (grub_script_execute_cmdwhile): New function.
2610 * script/parser.y (command): New commands.
2611 (whilecmd): New grammar rule.
2612 (untilcmd): New grammar rule.
2613 * script/script.c (grub_script_create_cmdwhile): New function.
2614 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2615 function.
2616
2617 * tests/grub_script_while1.in: New testcase.
2618 * conf/tests.rmk: Rule for new testcase.
2619
2620 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2623 as *.jpg.
2624
2625 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
2626
2627 GRUB_BACKGROUND support.
2628
2629 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2630 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2631
2632 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 Load fonts and modules for gfxmenu in grub-mkconfig.
2635 Idea by: Mario Vazquez
2636
2637 * util/grub.d/00_header.in: Load pf2 and image modules.
2638
2639 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 grub-mkconfig multiple terminal support.
2642
2643 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2644 * util/grub.d/00_header.in: Likewise.
2645
2646 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2649 we use cd $(srcdir).
2650
2651 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
2652
2653 * util/grub.d/10_linux.in: Only use the first word of
2654 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2655 spaces in GRUB_DISTRIBUTOR.
2656 * util/grub.d/10_kfreebsd.in: Likewise.
2657 * util/grub.d/10_hurd.in: Likewise.
2658
2659 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2660
2661 Fix unit testing framework for Qemu 0.12.
2662
2663 * tests/util/grub-shell.in: Remove -serial stdio option.
2664
2665 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 POSIX header file wrappers.
2668
2669 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2670 equivalents.
2671 * lib/posix_wrap/ctype.h: Likewise.
2672 * lib/posix_wrap/errno.h: Likewise.
2673 * lib/posix_wrap/langinfo.h: Likewise.
2674 * lib/posix_wrap/limits.h: Likewise.
2675 * lib/posix_wrap/localcharset.h: Likewise.
2676 * lib/posix_wrap/stdint.h: Likewise.
2677 * lib/posix_wrap/stdio.h: Likewise.
2678 * lib/posix_wrap/stdlib.h: Likewise.
2679 * lib/posix_wrap/string.h: Likewise.
2680 * lib/posix_wrap/sys/types.h: Likewise.
2681 * lib/posix_wrap/unistd.h: Likewise.
2682 * lib/posix_wrap/wchar.h: Likewise.
2683 * lib/posix_wrap/wctype.h: Likewise.
2684 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2685 (grub_script.yy.h): Likewise.
2686 * script/yylex.l: Remove POSIX emulation #defines.
2687 * Makefile.in (POSIX_CFLAGS): New variable.
2688 (GNULIB_UTIL_CFLAGS): Likewise.
2689
2690 Regexp support.
2691
2692 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2693 (regexp_mod_SOURCES): New variable.
2694 (regexp_mod_CFLAGS): Likewise.
2695 (regexp_mod_LDFLAGS): Likewise.
2696 * commands/regexp.c: New file.
2697 * gnulib/regcomp.c: New file. Imported from gnulib.
2698 * gnulib/regex.c: Likewise.
2699 * gnulib/regex_internal.c: Likewise.
2700 * gnulib/regex_internal.h: Likewise.
2701 * gnulib/regexec.c: Likewise.
2702 * gnulib/regex.h: Likewise.
2703
2704 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2707 unsupported video mode types.
2708
2709 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2712
2713 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2716 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2717
2718 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Remove unused grub_vga_get_font.
2721
2722 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2723 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2724
2725 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2726
2727 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2728 * include/grub/misc.h: Likewise.
2729
2730 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2731
2732 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2733 for which failure is fatal.
2734
2735 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2736
2737 * util/grub-install.in: Use mkdir -p to create grub directory.
2738 * util/i386/efi/grub-install.in: Likewise.
2739 * util/ieee1275/grub-install.in: Likewise.
2740
2741 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2742
2743 * Makefile.in (LEX): new variable.
2744
2745 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2746
2747 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2748 `=' and added double quotes on operands of this equality test.
2749
2750 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * Makefile.in (uninstall): Remove a leftover debug echo.
2753 Reported by: Grégoire Sutre
2754
2755 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 MIPS multiboot2 support.
2758
2759 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2760 (multiboot2_mod_SOURCES): New variable.
2761 (multiboot2_mod_CFLAGS): Likewise.
2762 (multiboot2_mod_LDFLAGS): Likewise.
2763 (multiboot2_mod_ASFLAGS): Likewise.
2764 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2765 definition.
2766 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2767 (MULTIBOOT_MBI_REGISTER): Likewise.
2768 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2769 (MULTIBOOT_ELF32_MACHINE): Likewise.
2770 (MULTIBOOT_ELF64_MACHINE): Likewise.
2771 * include/grub/mips/multiboot.h: New file.
2772 * include/grub/video.h (grub_video_driver_id): New type
2773 GRUB_VIDEO_DRIVER_SM712.
2774 (grub_video_get_info_and_fini): Export.
2775 (grub_video_get_palette): Likewise.
2776 (grub_video_get_driver_id): Likewise.
2777 * include/multiboot2.h: Resynced with spec.
2778 * loader/i386/multiboot.c: Moved from here ...
2779 * loader/multiboot.c: ... here. All users updated.
2780 (grub_multiboot_boot): Use platform-specific macros.
2781 * loader/i386/multiboot_elfxx.c: Moved from here ...
2782 * loader/multiboot_elfxx.c: ... here. All users updated.
2783 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2784 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2785 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2786
2787 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 Import gnulib argp module.
2790
2791 * gnulib/argp-ba.c: New file.
2792 * gnulib/argp-eexst.c: Likewise.
2793 * gnulib/argp-fmtstream.c: Likewise.
2794 * gnulib/argp-fmtstream.h: Likewise.
2795 * gnulib/argp-fs-xinl.c: Likewise.
2796 * gnulib/argp-help.c: Likewise.
2797 * gnulib/argp-namefrob.h: Likewise.
2798 * gnulib/argp-parse.c: Likewise.
2799 * gnulib/argp-pin.c: Likewise.
2800 * gnulib/argp-pv.c: Likewise.
2801 * gnulib/argp-pvh.c: Likewise.
2802 * gnulib/argp-version-etc.c: Likewise.
2803 * gnulib/argp-version-etc.h: Likewise.
2804 * gnulib/argp-xinl.c: Likewise.
2805 * gnulib/argp.h: Likewise.
2806
2807 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * kern/device.c (grub_device_iterate): Clear errors after failed
2810 opening device.
2811
2812 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
2815 returned by firmware.
2816
2817 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
2820 compilation on coreboot and qemu
2821
2822 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * include/multiboot2.h: Resync with spec.
2825
2826 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 Multiboot2 tag support
2829
2830 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
2831 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
2832 Remove loader/multiboot_loader.c.
2833 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
2834 (grub_multiboot2_real_boot): Likewise.
2835 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
2836 (grub_get_multiboot_mmap_count): New proto.
2837 (grub_fill_multiboot_mmap): Likewise.
2838 (grub_multiboot_set_video_mode): Likewise.
2839 (grub_multiboot_set_console): Likewise.
2840 (grub_multiboot_load): Likewise.
2841 (grub_multiboot_load_elf): Likewise.
2842 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
2843 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
2844 * include/multiboot.h: Resynced with specification.
2845 * include/multiboot2.h: Resynced with specification.
2846 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2847 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2848 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2849 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2850 users updated.
2851 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2852 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2853 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2854 Removed.
2855 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2856 Moved from here...
2857 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2858 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2859 Moved from here...
2860 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2861 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2862 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2863 All users updated.
2864 * loader/i386/multiboot_mbi2.c: New file.
2865
2866 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Resync with gnulib.
2869
2870 * Makefile.in (GNULIB_CFLAGS): New variable.
2871 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2872 (grub_script_check_CFLAGS): New variable.
2873 * gnulib/alloca.h: Resync with gnulib.
2874 * gnulib/error.c: Likewise.
2875 * gnulib/error.h: Likewise.
2876 * gnulib/fnmatch.c: Likewise.
2877 * gnulib/fnmatch_loop.c: Likewise.
2878 * gnulib/getdelim.c: Likewise.
2879 * gnulib/getline.c: Likewise.
2880 * gnulib/getopt.c: Likewise.
2881 * gnulib/getopt1.c: Likewise.
2882 * gnulib/getopt_int.h: Likewise.
2883 * gnulib/gettext.h: Likewise.
2884 * gnulib/progname.c: Likewise.
2885 * gnulib/progname.h: Likewise.
2886
2887 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2888
2889 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2890 which is the case with --disabled-nls.
2891
2892 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2893 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2894 * util/misc.c: Likewise.
2895 * util/mkisofs/mkisofs.c: Likewise.
2896 * util/mkisofs/mkisofs.h: Likewise.
2897
2898 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 Simplify Apple CC support.
2901
2902 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2903 Add 0 byte at the end not to have a symbol with empty target.
2904 * mmap/i386/pc/mmap_helper.S: Likewise.
2905 * genmk.rb: Ignore errors 2030 and 2050.
2906 * kern/i386/pc/startup.S: Use LOCAL when possible.
2907
2908 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2909
2910 Testcase and the fix for final semicolon on cmdline.
2911
2912 * tests/grub_script_final_semicolon.in: New testcase.
2913 * conf/tests.rmk: Rules for the new testcase.
2914 * script/parser.y: Grammar fix.
2915
2916 2010-03-26 BVK Chaitanya <bvk@localhost>
2917
2918 Blank lines testcase for GRUB script.
2919
2920 * tests/grub_script_blanklines.in: New testcase.
2921 * conf/tests.rmk: Rules for the new testcase.
2922
2923 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 Don't use __FILE__.
2926
2927 * genmk.rb: Add -DGRUB_FILE to all C targets.
2928 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2929 * include/grub/list.h: Likewise.
2930 * include/grub/misc.h: Likewise.
2931 * include/grub/mm.h: Likewise.
2932 * include/grub/test.h: Likewise.
2933 * kern/mm.c: Likewise.
2934 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2935
2936 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 Sunpc partitions support.
2939
2940 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2941 (grub_fstest_SOURCES): Likewise.
2942 (pkglib_MODULES): Add part_sunpc.mod.
2943 (part_sunpc_mod_SOURCES): New variable.
2944 (part_sunpc_mod_CFLAGS): Likewise.
2945 (part_sunpc_mod_LDFLAGS): Likewise.
2946 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2947 * partmap/sunpc.c: New file.
2948
2949 2010-03-26 BVK Chaitanya <bvk@localhost>
2950
2951 For loop support to GRUB script.
2952
2953 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2954 (grub_script_create_cmdfor): New function prototype.
2955 (grub_script_execute_cmdfor): New function prototype.
2956 * script/execute.c (grub_script_execute_cmdfor): New function.
2957 * script/parser.y (command): New for command.
2958 (forcmd): New grammar rule.
2959 * script/script.c (grub_script_create_cmdfor): New function.
2960 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2961 function.
2962 * tests/grub_script_for1.in: New testcase.
2963 * conf/tests.rmk: Rules for new testcase.
2964
2965 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 Nested partitions
2968
2969 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2970 'partition' is NULL, grub_partition_get_start already does that.
2971 * commands/loadenv.c (check_blocklists): Likewise.
2972 (write_blocklists): Likewise.
2973 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2974 (grub_fstest_SOURCES): Likewise.
2975 (pkglib_MODULES): Add part_bsd.mod.
2976 (part_bsd_mod_SOURCES): New variable.
2977 (part_bsd_mod_CFLAGS): Likewise.
2978 (part_bsd_mod_LDFLAGS): Likewise.
2979 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2980 (grub_emu_SOURCES): Likewise.
2981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2982 * include/grub/bsdlabel.h: New file.
2983 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2984 'get_name'.
2985 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2986 (grub_partition_map_list): New variable.
2987 (grub_partition_map_register): Inline.
2988 (grub_partition_map_unregister): Likewise.
2989 (FOR_PARTITION_MAPS): New macro.
2990 (grub_partition_map_iterate): Removed.
2991 (grub_partition_get_start): Handle nested partitions.
2992 * include/grub/msdos_partition.h: Remove bsd-related entries.
2993 (grub_pc_partition): Remove.
2994 * kern/disk.c (grub_disk_close): Free partition data.
2995 (grub_disk_adjust_range): Handle nested partitions.
2996 * kern/partition.c (grub_partition_map_probe): New function.
2997 (grub_partition_probe): Parse name to number, handle subpartitions.
2998 (get_partmap): New function.
2999 (grub_partition_iterate): Handle subpartitions.
3000 (grub_partition_get_name): Likewise.
3001 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3002 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3003 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3004 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3005 Set 'number'.
3006 (acorn_partition_map_probe): Remove.
3007 (acorn_partition_map_get_name): Likewise.
3008 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3009 Set 'number'.
3010 Set 'index' to 0 since there can be only one partition entry per sector.
3011 (amiga_partition_map_probe): Remove.
3012 (amiga_partition_map_get_name): Likewise.
3013 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3014 Set 'number'.
3015 Set 'offset' and 'index' to real positions of partitions.
3016 (apple_partition_map_probe): Remove.
3017 (apple_partition_map_get_name): Likewise.
3018 * partmap/bsdlabel.c: New file.
3019 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3020 Set 'number'.
3021 Allocate 'data' so it can be correctly freed.
3022 Set 'index' to offset inside sector.
3023 (gpt_partition_map_probe): Remove.
3024 (gpt_partition_map_get_name): Likewise.
3025 * partmap/msdos.c (grub_partition_parse): Remove.
3026 (pc_partition_map_iterate): Don't force raw access.
3027 Set 'number'.
3028 Make 'ext_offset' a local variable.
3029 (pc_partition_map_probe): Remove.
3030 (pc_partition_map_get_name): Remove.
3031 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3032 Set 'number'.
3033 (sun_partition_map_probe): Remove.
3034 (sun_partition_map_get_name): Likewise.
3035 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3036 (grub_pcpart_type): Likewise.
3037 * util/hostdisk.c (open_device): Handle new numbering scheme.
3038 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3039 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3040 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3041 * util/grub-install.in: Insert all subpartition modules.
3042 * util/ieee1275/grub-install.in: Likewise.
3043
3044 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3045
3046 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3047 grammar.
3048
3049 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
3050
3051 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3052
3053 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
3054
3055 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3056 match where 'make install' puts them.
3057 * util/i386/efi/grub-install.in: Likewise.
3058
3059 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
3060
3061 * .bzrignore: Add gentrigtables, grub-script-check,
3062 grub_script_check_init.c, grub_script_check_init.h, and
3063 trigtables.c.
3064
3065 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * kern/parser.c: Indented.
3068
3069 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3072
3073 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3076 alpha_mask_size == 0 case.
3077
3078 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3079
3080 GRUB shell lexer and parser improvements.
3081
3082 * conf/any-emu.rmk: Build rule updates.
3083 * conf/common.rmk: Likewise.
3084 * conf/i386-coreboot.rmk: Likewise.
3085 * conf/i386-efi.rmk: Likewise.
3086 * conf/i386-ieee1275.rmk: Likewise.
3087 * conf/i386-pc.rmk: Likewise.
3088 * conf/powerpc-ieee1275.rmk: Likewise.
3089 * conf/x86_64-efi.rmk: Likewise.
3090
3091 * configure.ac: Configure check for flex.
3092
3093 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3094 types.
3095 (grub_lexer_param): Struct member updates.
3096 (grub_parser_param): Likewise.
3097 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3098 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3099 (grub_script_lexer_init): Prototype update.
3100 (grub_script_lexer_record_start): Likewise.
3101 (grub_script_lexer_record_stop): Likewise.
3102 (grub_script_lexer_yywrap): New function prototype.
3103 (grub_script_lexer_fini): Likewise.
3104 (grub_script_execute_argument_to_string): Removed by...
3105 (grub_script_execute_argument_to_argv): ...better version.
3106
3107 * script/execute.c (ROUND_UPTO): New macro.
3108 (grub_script_execute_cmdline): Out of memory fixes.
3109 (grub_script_execute_menuentry): Likewise.
3110 (grub_script_execute_argument_to_string): Removed. Update all
3111 users by...
3112 (grub_script_execute_argument_to_argv): ...better version.
3113 * script/function.c (grub_script_function_create): Use
3114 grub_script_execute_argument_to_argv instead of
3115 grub_script_execute_argument_to_string.
3116
3117 * script/lexer.c (check_varstate): Removed.
3118 (check_textstate): Removed.
3119 (grub_script_lexer_record_start): Likewise.
3120 (grub_script_lexer_record_stop): Likewise.
3121 (recordchar): Replaced with...
3122 (grub_script_lexer_record): ...new function.
3123 (nextchar): Removed.
3124 (grub_script_lexer_init): Rewritten.
3125 (grub_script_yylex): Rewritten.
3126 (append_newline): New function.
3127 (grub_script_lexer_yywrap): New function.
3128 (grub_script_lexer_fini): New function.
3129 (grub_script_yyerror): Sets error flag.
3130
3131 * script/yylex.l: New file.
3132 (grub_lexer_yyfree): Wrapper for flex yyffre.
3133 (grub_lexer_yyalloc): Likewise.
3134 (grub_lexer_yyrealloc): Likewise.
3135 * script/parser.y: Refactored.
3136
3137 * script/script.c (grub_script_arg_add): Out of memory fixes.
3138 (grub_script_add_arglist): Likewise.
3139 (grub_script_create_cmdline): Likewise.
3140 (grub_script_create_cmdmenu): Likewise.
3141 (grub_script_add_cmd): Likewise.
3142 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3143 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3144 unnecessary code.
3145
3146 * tests/grub_script_echo1.in: New testcase.
3147 * tests/grub_script_vars1.in: New testcase.
3148 * tests/grub_script_echo_keywords.in: New testcase.
3149
3150 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 Remove some redundancy in build system.
3153
3154 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3155 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3156 (TARGET_LDFLAGS): Add -nostdlib.
3157 (TARGET_IMG_LDFLAGS): Likewise.
3158 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3159 anything since mmap isn't available.
3160 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3161 Add util/time.c.
3162 (pkglib_MODULES): Remove reboot.mod.
3163 (reboot_mod_SOURCES): Removed.
3164 (reboot_mod_CFLAGS): Likewise.
3165 (reboot_mod_LDFLAGS): Likewise.
3166 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3167 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3168 (DEFSYMFILES): Add kernel_syms.lst.
3169 (kernel_img_HEADERS): Add common headers.
3170 (symlist.c): New target.
3171 (kernel_syms.lst): Likewise.
3172 (pkglib_MODULES): Add memdisk.mod.
3173 (memdisk_mod_SOURCES): New variable.
3174 (memdisk_mod_CFLAGS): Likewise.
3175 (memdisk_mod_LDFLAGS): Likewise.
3176 (pkglib_MODULES): Add reboot.mod.
3177 (reboot_mod_SOURCES): New variable.
3178 (reboot_mod_CFLAGS): Likewise.
3179 (reboot_mod_LDFLAGS): Likewise.
3180 (pkglib_MODULES): Add date.mod.
3181 (date_mod_SOURCES): New variable.
3182 (date_mod_CFLAGS): Likewise.
3183 (date_mod_LDFLAGS): Likewise.
3184 (pkglib_MODULES): Add datehook.mod.
3185 (datehook_mod_SOURCES): New variable.
3186 (datehook_mod_CFLAGS): Likewise.
3187 (datehook_mod_LDFLAGS): Likewise.
3188 (pkglib_MODULES): Add lsmmap.mod.
3189 (lsmmap_mod_SOURCES): New variable.
3190 (lsmmap_mod_CFLAGS): Likewise.
3191 (lsmmap_mod_LDFLAGS): Likewise.
3192 (pkglib_MODULES): Add boot.mod.
3193 (boot_mod_SOURCES): New variable.
3194 (boot_mod_CFLAGS): Likewise.
3195 (boot_mod_LDFLAGS): Likewise.
3196 * conf/i386-coreboot.rmk: Removed redundant parts.
3197 * conf/i386-ieee1275.rmk: Likewise.
3198 * conf/i386-pc.rmk: Likewise.
3199 * conf/mips-yeeloong.rmk: Likewise.
3200 * conf/mips.rmk: Likewise.
3201 * conf/powerpc-ieee1275.rmk: Likewise.
3202 * conf/sparc64-ieee1275.rmk: Likewise.
3203 * conf/x86_64-efi.rmk: Likewise.
3204 * conf/i386-coreboot.rmk: Moved qemu parts ..
3205 * conf/i386-qemu.rmk: ... here
3206 * conf/i386-efi.rmk: Moved common parts to...
3207 * conf/x86-efi.rmk: ... here.
3208 * conf/i386.rmk: Added modules common to all x86 variants.
3209 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3210 * disk/memdisk.c: Remove grub/machine/kernel.h.
3211 * gensymlist.sh.in: Include symbol.h.
3212 * hook/datehook.c: Correct module name.
3213 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3214 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3215 * include/grub/i386/efi/serial.h: New file.
3216 * include/grub/x86_64/efi/serial.h: Likewise.
3217 * util/time.c: Likewise.
3218 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3219
3220 2010-03-14 Colin King <colin.king@ubuntu.com>
3221 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3222
3223 Shrink the pre-partition-table part of boot.img by eight bytes.
3224
3225 * boot/i386/pc/boot.S (ERR): New macro.
3226 (chs_mode): Use ERR.
3227 (geometry_error): Likewise.
3228 (hd_probe_error): Remove. This is only used once, so we wrwite
3229 it inline instead.
3230 (read_error): Instead of printing read_error_string, just set up
3231 %si and fall through to ...
3232 (error_message): ... this new function, also used by ERR.
3233
3234 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3235
3236 Speed up consecutive hostdisk operations on the same device.
3237
3238 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3239 (grub_util_biosdisk_open): Initialise disk->data.
3240 (struct linux_partition_cache): New structure.
3241 (linux_find_partition): Cache partition start positions; these are
3242 expensive to compute on every read and write.
3243 (open_device): Cache open file descriptor in disk->data, so that we
3244 don't have to reopen it and flush the buffer cache for consecutive
3245 operations on the same device.
3246 (grub_util_biosdisk_close): New function.
3247 (grub_util_biosdisk_dev): Set `close' member.
3248
3249 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3250 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3251 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3252 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3253 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3254
3255 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 Compile parts of grub-emu as modules.
3258
3259 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3260 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3261 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3262 (all-local): Add $(GRUB_EMU).
3263 (install-local): Install $(GRUB_EMU).
3264 (uninstall): Uninstall $(GRUB_EMU).
3265 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3266 * kern/dl.c: Likewise.
3267 * commands/sleep.c: Not include machine/time.h.
3268 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3269 (COMMON_CFLAGS): Likewise.
3270 (sbin_UTILITIES): Remove grub-emu.
3271 (grub_emu_SOURCES): Removed.
3272 (kernel_img_RELOCATABLE): New variable.
3273 (pkglib_PROGRAMS): Add kernel.img.
3274 (kernel_img_SOURCES): New variable
3275 (kernel_img_CFLAGS): Likewise.
3276 (kernel_img_LDFLAGS): Likewise.
3277 (TARGET_NO_STRIP): Likewise.
3278 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3279 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3280 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3281 (grub-emu): New target.
3282 (GRUB_EMU): New variable.
3283 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3284 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3285 * loader/xnu.c: Likewise.
3286 * include/grub/pci.h: Likewise.
3287 * genemuinit.sh: New file.
3288 * genemuinitheader.sh: Likewise.
3289 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3290 Support TARGET_NO_DYNAMIC_MODULES.
3291 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3292 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3293 * disk/loopback.c: Likewise.
3294 * font/font_cmd.c: Likewise.
3295 * partmap/acorn.c: Likewise.
3296 * partmap/amiga.c: Likewise.
3297 * partmap/apple.c: Likewise.
3298 * partmap/gpt.c: Likewise.
3299 * partmap/msdos.c: Likewise.
3300 * partmap/sun.c: Likewise.
3301 * parttool/msdospart.c: Likewise.
3302 * term/gfxterm.c: Likewise.
3303 * video/bitmap.c: Likewise.
3304 * video/readers/jpeg.c: Likewise.
3305 * video/readers/png.c: Likewise.
3306 * video/readers/tga.c: Likewise.
3307 * video/video.c: Likewise.
3308 * util/grub-emu.c (read_command_list): Removed.
3309 (main): Don't call util_init_nls.
3310 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3311 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3312
3313 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3316 date.mod, datehook.mod.
3317 (datetime_mod_SOURCES): New variable.
3318 (datetime_mod_CFLAGS): Likewise.
3319 (datetime_mod_LDFLAGS): Likewise.
3320 (date_mod_SOURCES): Likewise.
3321 (date_mod_CFLAGS): Likewise.
3322 (date_mod_LDFLAGS): Likewise.
3323 (datehook_mod_SOURCES): Likewise.
3324 (datehook_mod_CFLAGS): Likewise.
3325 (datehook_mod_LDFLAGS): Likewise.
3326 * conf/sparc64-ieee1275.rmk: Likewise.
3327 * lib/ieee1275/datetime.c: New file.
3328
3329 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3332 (ieee1275_fb_mod_SOURCES): New variable.
3333 (ieee1275_fb_mod_CFLAGS): Likewise.
3334 (ieee1275_fb_mod_LDFLAGS): Likewise.
3335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3336 New proto.
3337 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3338 (HEAP_MAX_ADDR): Likewise.
3339 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3340 type.
3341 Correct stop condition.
3342 (grub_ieee1275_devices_iterate): New function.
3343 * video/ieee1275.c: New file.
3344
3345 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3348
3349 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3350 as scratch.
3351 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3352 SCRATCH_PAD_DISKBOOT as scratch.
3353 (bootit): Pass Openfirmware pointer in %o4.
3354 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3355 of 0x200000.
3356 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3357 with util/grub-mkrawimage.c.
3358 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3359 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3360 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3361 (grub_aout_load) [GRUB_UTIL]: Likewise.
3362 * include/grub/kernel.h (grub_modules_get_end): New proto.
3363 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3364 (SCRATCH_PAD_BOOT): New definition.
3365 (SCRATCH_PAD_DISKBOOT): Likewise.
3366 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3367 * include/grub/sparc64/ieee1275/ieee1275.h
3368 (grub_ieee1275_original_stack): New variable
3369 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3370 New definition
3371 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3372 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3373 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3374 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3375 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3376 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3377 (grub_platform_image_format_t): New type.
3378 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3379 * kern/main.c (grub_modules_get_end)
3380 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3381 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3382 (codestart): Switch stacks.
3383 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3384 variable.
3385 (grub_heap_init): Use grub_modules_get_end.
3386 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3387 stack.
3388 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3389 (main): Likewise.
3390 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3391
3392 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
3393
3394 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3395
3396 2010-03-08 Matt Kraai <kraai@ftbfs.org>
3397
3398 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3399 bug #559005).
3400
3401 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * genmoddep.awk: Output all missing symbols and not only first.
3404
3405 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * NEWS: Put the date of 1.98 release.
3408
3409 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3412 ft2build.h.
3413
3414 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3417 completition in the middle of string.
3418
3419 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * util/grub-mkrescue.in: Use mktemp with explicit template.
3422
3423 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3426
3427 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3430 right pointer.
3431
3432 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 Fix FreeBSD compilation.
3435
3436 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3437 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3438
3439 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3442
3443 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3446
3447 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3450
3451 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3452
3453 Support relative image path in theme file.
3454
3455 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3456 (image_set_property): Handle theme_dir and relative path.
3457
3458 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * configure.ac: Alias amd64 to x86_64.
3461
3462 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * NEWS: mention multiboot on EFI.
3465
3466 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * kern/main.c (grub_load_modules): Handle errors from init functions of
3469 embeded modules.
3470
3471 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * normal/autofs.c (autoload_fs_module): Handle errors.
3474
3475 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Disable linux.mod on qemu-mips since it's not functional and leads
3478 to compilation failure.
3479
3480 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3481 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3482 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3483 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3484 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3485 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3486 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3487 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3488 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3489 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3490 Reported by: BVK Chaitanya
3491
3492 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3493
3494 * INSTALL: Add gettext as a dependency and add qemu to a new section
3495 "Prerequisites for make-check".
3496
3497 2010-03-04 Christian Franke <franke@computer.org>
3498
3499 * util/grub-pe2elf.c: Add missing include "progname.h".
3500
3501 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * normal/crypto.c (read_crypto_list): Fix a typo.
3504 Reported by: Seth Goldberg.
3505
3506 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
3509 Reported by: Seth Goldberg.
3510
3511 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3514 ascii.bitmaps.
3515
3516 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * genmk.rb: Remove terminal*.lst in make clean.
3519 Reported by: Seth Goldberg.
3520
3521 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * util/i386/efi/grub-install.in: Copy gettext files.
3524
3525 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3528
3529 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Wait for user entry basing on presence of output rather than on errors.
3532
3533 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3534 (grub_install_newline_hook): Likewise.
3535 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3536 * normal/menu.c (show_menu): Check line_counter to determine presence
3537 of output.
3538 * normal/term.c (grub_normal_line_counter): New variable.
3539 (grub_normal_get_line_counter): New function.
3540 (grub_install_newline_hook): Likewise.
3541
3542 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3545
3546 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * configure.ac: Update version to 1.98.
3549
3550 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * util/grub.d/10_linux.in (linux_entry): Don't default to
3553 gfxpayload=keep if Linux doesn't support video handover.
3554
3555 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 Don't compile video modules on yeeloong since video subsystem is part
3558 of kernel.
3559
3560 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3561 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3562 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3563 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3564 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3565 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3566 * include/grub/bitmap_scale.h: Likewise.
3567 * include/grub/bufio.h: Likewise.
3568 * include/grub/font.h: Likewise.
3569 * include/grub/gfxterm.h: Likewise.
3570 * include/grub/video.h: Likewise.
3571 * include/grub/vbe.h: Don't include video_fb.h.
3572 * video/i386/pc/vbe.c: Include video_fb.h.
3573 * commands/i386/pc/vbetest.c: Include video.h.
3574
3575 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3576
3577 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3578 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3579 default entry if GRUB_SAVEDEFAULT=true. This allows using
3580 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3581 saving a new default on every boot.
3582
3583 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3586 * normal/term.c (read_terminal_list): Likewise.
3587 * normal/main.c (grub_normal_init_page): Likewise.
3588 (grub_normal_read_line_real): Likewise.
3589
3590 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3593 memory leak.
3594 Reported by: Seth Goldberg.
3595
3596 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3597
3598 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3599 duplicate declaration of `start'.
3600
3601 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3604 filename.
3605 Reported by: Georgy Buranov
3606
3607 2010-02-20 Carles Pina i Estany <carles@pina.cat>
3608
3609 * util/grub-mkrawimage.c (usage): Change string formatting to
3610 improve gettext.
3611
3612 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3613
3614 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3615 backspace keys.
3616
3617 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3620 Reported by: Michael Suchanek.
3621
3622 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
3623
3624 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3625 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3626
3627 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 Remove any reference to non-free fonts.
3630
3631 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3632 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3633 uses non-free components.
3634 * font/font.c (grub_font_get_name): Remove example name.
3635 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3636 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3637 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3638 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3639
3640 2010-02-16 Georgy Buranov <gburanov@gmail.com>
3641
3642 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3643
3644 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3647 Double divisor.
3648 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3649 features.
3650 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3651
3652 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3655
3656 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3657
3658 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3659 * docs/grub.texi (Command-line and menu entry commands): Document play
3660 command.
3661
3662 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3663
3664 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3665 parse arguments as inline tempo and notes. Move code for playing notes
3666 to...
3667 (play): ... new function.
3668
3669 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3670
3671 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3672 grub_uint16_t instead of short.
3673 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3674 disk from little endian to cpu endianness.
3675
3676 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3677
3678 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3679 GRUB_TICKS_PER_SECOND instead of 120.
3680
3681 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3684 escape sequence after \e.
3685
3686 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3689 non-ASCII characters.
3690
3691 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3694 set root in single quotes to prevent \, from being unescaped.
3695
3696 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 Prevent unknown commands from stopping menuentry execution.
3699
3700 * script/execute.c (grub_script_execute_cmdline): Print error after
3701 unknown command.
3702
3703 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3706 Reported by: Pavel Pisa.
3707
3708 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3711
3712 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 Merge grub_ieee1275_map_physical into grub_map and rename to
3715 grub_ieee1275_map
3716
3717 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3718 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3719 Remove.
3720 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3721 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3722 necessary.
3723 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3724
3725 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3728 opening and not after.
3729
3730 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3733 constants.
3734
3735 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3738 (alloc_phys): Use ALIGN_UP instead of align_addr.
3739
3740 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3743
3744 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3747
3748 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3751 verbose dprintf.
3752
3753 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 Fix over-4GiB seek on sparc64.
3756
3757 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3758 Replace pos_i and pos_lo with pos. All users updated.
3759 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3760 New constant.
3761 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3762 Likewise.
3763 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3764 and pos_lo.
3765
3766 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * util/grub-mkrawimage.c (main): Call set_program_name.
3769
3770 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 Properly align 64-bit targets.
3773
3774 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3775 (generate_image): Use ALIGN_ADDR.
3776
3777 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 Properly create cross-endian images.
3780
3781 * include/grub/types.h (grub_host_to_target_addr): New macro
3782 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3783
3784 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3787
3788 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3791
3792 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3793 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3794 (grub_linux_boot): Divide by 64K when on VESA.
3795
3796 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 Support GRUB_GFXPAYLOAD_LINUX.
3799
3800 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3801 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3802
3803 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3806 to show messages instead of discarding them.
3807 Process errors after executing command and not before. Keep old method
3808 too as precaution.
3809
3810 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * configure.ac: Check for ft2build.h.
3813
3814 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
3817
3818 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * genkernsyms.sh.in: Use TARGET_CC.
3821
3822 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
3823
3824 * NEWS: Update.
3825
3826 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * include/grub/multiboot2.h: Remove leftover file.
3829 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
3830 * include/grub/partition.h [GRUB_UTIL]: Likewise.
3831
3832 2010-02-07 Yves Blusseau <blusseau@zetam.org>
3833
3834 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
3835
3836 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Fix warnings in grub-emu when compiling with maximum warning options.
3839
3840 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
3841 (grub_arch_modules_addr): Return 0 and not NULL.
3842 * util/misc.c (ENABLE_RELOCATABLE): New definition.
3843 (xstrdup): Use newstr instead of dup.
3844 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3845 of disk to dsk to avoid shadowing.
3846 (find_free_slot): Fix prototype.
3847 * util/getroot.c (grub_util_is_dmraid): Make static.
3848 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3849 Add missing prototype.
3850 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
3851
3852 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3855 appropriately.
3856
3857 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3860 code out.
3861
3862 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3865 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3866 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3867 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3868 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3869 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3870
3871 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * include/grub/err.h (grub_err_printf): Don't export.
3874
3875 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3878
3879 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3882 * kern/misc.c (grub_gettext_dummy): Make static.
3883
3884 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3887 by non-valid ones.
3888 * kern/term.c (grub_putchar): Likewise.
3889
3890 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3893 buggy hook call and memory leak.
3894
3895 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3898
3899 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3902
3903 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3906 modevar.
3907 Return grub_errno on allocation error.
3908
3909 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3912
3913 2010-02-06 Yves Blusseau <blusseau@zetam.org>
3914
3915 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3916 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3917
3918 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3921 non-pxe disk.
3922 (grub_pxefs_open): Likewise.
3923
3924 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3925
3926 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3927 * util/grub.d/10_kfreebsd.in: Likewise.
3928 * util/grub.d/10_linux.in: Likewise.
3929
3930 2010-02-06 Colin D Bennett <colin@gibibit.com>
3931
3932 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3933 (gfxmenu_mod_SOURCES): New variable.
3934 (gfxmenu_mod_CFLAGS): Likewise.
3935 (gfxmenu_mod_LDFLAGS): Likewise.
3936 * include/grub/term.h (grub_term_set_current_output): Declare
3937 argument as const.
3938 * docs/gfxmenu-theme-example.txt: New file.
3939 * gfxmenu/gfxmenu.c: Likewise.
3940 * gfxmenu/gui_box.c: Likewise.
3941 * gfxmenu/gui_canvas.c: Likewise.
3942 * gfxmenu/gui_circular_progress.c: Likewise.
3943 * gfxmenu/gui_image.c: Likewise.
3944 * gfxmenu/gui_label.c: Likewise.
3945 * gfxmenu/gui_list.c: Likewise.
3946 * gfxmenu/gui_progress_bar.c: Likewise.
3947 * gfxmenu/gui_string_util.c: Likewise.
3948 * gfxmenu/gui_util.c: Likewise.
3949 * gfxmenu/icon_manager.c: Likewise.
3950 * gfxmenu/model.c: Likewise.
3951 * gfxmenu/named_colors.c: Likewise.
3952 * gfxmenu/theme_loader.c: Likewise.
3953 * gfxmenu/view.c: Likewise.
3954 * gfxmenu/widget-box.c: Likewise.
3955 * include/grub/gfxmenu_model.h: Likewise.
3956 * include/grub/gfxmenu_view.h: Likewise.
3957 * include/grub/gfxwidgets.h: Likewise.
3958 * include/grub/gui.h: Likewise.
3959 * include/grub/gui_string_util.h: Likewise.
3960 * include/grub/icon_manager.h: Likewise.
3961
3962 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Agglomerate scrolling in gfxterm.
3965
3966 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3967 (grub_virtual_screen_setup): Initialise 'total_screen'.
3968 (write_char): Split to ...
3969 (paint_char): ... this ...
3970 (write_char): ... and this.
3971 (paint_char): Handle delayed scrolling.
3972 (draw_cursor): Likewise.
3973 (scroll_up): Split to ...
3974 (real_scroll): ... this ...
3975 (scroll_up): ... and this.
3976 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3977 characters.
3978 (grub_gfxterm_refresh): Call real_scroll.
3979
3980 2010-02-06 Colin D Bennett <colin@gibibit.com>
3981
3982 * include/grub/misc.h (grub_iscntrl): New inline function.
3983 (grub_isalnum): Likewise.
3984 (grub_strtol): Likewise.
3985
3986 2010-02-06 Colin D Bennett <colin@gibibit.com>
3987
3988 * normal/menu_text.c (get_entry_number): Move from here ...
3989 * normal/menu.c (get_entry_number): ... moved here.
3990 * include/grub/menu.h (grub_menu_get_default_entry_index):
3991 New prototype.
3992 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3993 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3994 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3995 (grub_menu_viewer_should_return): Likewise.
3996 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3997 * normal/menu_text.c (run_menu): Enable menu switching.
3998 * normal/menu_viewer.c (should_return): New variable.
3999 (menu_viewer_changed): Likewise.
4000 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4001 (grub_menu_viewer_should_return): New function.
4002 (menuviewer_write_hook): Likewise.
4003 (grub_menu_viewer_init): Likewise.
4004
4005 2010-02-06 Colin D Bennet <colin@gibibit.com>
4006 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 Support for gfxterm in a window.
4009
4010 * include/grub/gfxterm.h: New file.
4011 * include/grub/video.h (struct grub_video_rect): New declaration.
4012 (grub_video_rect_t): Likewise.
4013 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4014 (refcount): New variable.
4015 (render_target): Likewise.
4016 (window): Likewise.
4017 (repaint_callback): Likewise.
4018 (grub_virtual_screen_setup): Use 'render_target'.
4019 (init_window): New function.
4020 (grub_gfxterm_init_window): Likewise.
4021 (grub_gfxterm_init): Check reference counter.
4022 Use init_window.
4023 (destroy_window): New function.
4024 (grub_gfxterm_destroy_window): Likewise.
4025 (grub_gfxterm_fini): Check reference counter.
4026 Use destroy_window.
4027 (redraw_screen_rect): Restore viewport.
4028 Use 'render_target' and 'window'.
4029 Call 'repaint_callback'.
4030 (write_char): Use 'render_target'.
4031 (draw_cursor): Likewise.
4032 (scroll_up): Restore viewport.
4033 Use 'render_target' and 'window'.
4034 Call 'repaint_callback'.
4035 (grub_gfxterm_cls): Likewise.
4036 (grub_gfxterm_refresh): Use 'window'.
4037 (grub_gfxterm_set_repaint_callback): New function.
4038 (grub_gfxterm_background_image_cmd): Use 'window'.
4039 (grub_gfxterm_get_term): New function.
4040 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4041
4042 2010-02-06 Colin D Bennett <colin@gibibit.com>
4043
4044 Bitmap scaling support.
4045
4046 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4047 (bitmap_scale_mod_SOURCES): New variable.
4048 (bitmap_scale_mod_CFLAGS): Likewise.
4049 (bitmap_scale_mod_LDFLAGS): Likewise.
4050 * include/grub/bitmap_scale.h: New file.
4051 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4052 (background_image_cmd_options): New variable.
4053 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4054 (cmd): Rename and change type to ...
4055 (background_image_cmd_handle): ... this. All users updated.
4056 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4057 * video/bitmap_scale.c: New file.
4058
4059 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 SDL support.
4062
4063 * Makefile.in (LIBSDL): New variable.
4064 (enable_grub_emu_sdl): Likewise.
4065 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4066 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4067 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4068 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4069 * util/sdl.c: New file.
4070
4071 2010-02-06 Colin D Bennett <colin@gibibit.com>
4072 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 Double buffering support.
4075
4076 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4077 * include/grub/video.h: Update comment.
4078 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4079 New type.
4080 (grub_video_fb_doublebuf_blit_init): New prototype.
4081 * term/gfxterm.c (scroll_up): Support double buffering.
4082 (grub_gfxterm_refresh): Likewise.
4083 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4084 (grub_video_fb_doublebuf_blit_init): Likewise.
4085 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4086 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4087 'displayed_page', 'render_page' and 'update_screen'.
4088 (grub_video_vbe_fini): Free offscreen buffer.
4089 (doublebuf_pageflipping_commit): New function.
4090 (doublebuf_pageflipping_update_screen): Likewise.
4091 (doublebuf_pageflipping_init): Likewise.
4092 (double_buffering_init): Likewise.
4093 (grub_video_vbe_setup): Enable doublebuffering.
4094 (grub_video_vbe_swap_buffers): Implement.
4095 (grub_video_vbe_set_active_render_target): Handle double buffering.
4096 (grub_video_vbe_get_active_render_target): Likewise.
4097 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4098 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4099 (grub_video_vbe_enable_double_buffering): Likewise.
4100 (grub_video_vbe_swap_buffers): Use update_screen.
4101 (grub_video_set_mode): Use double buffering.
4102
4103 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4104
4105 * maintainance/gentrigtables.py: Remove.
4106 * lib/trig.c: Likewise.
4107
4108 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4109
4110 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4111 `trigtables.c'.
4112 (trigtables.c): New rule.
4113 (gentrigtables): Likewise.
4114 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4115
4116 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4117
4118 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4119 integer constants.
4120
4121 2010-02-06 Colin D Bennet <colin@gibibit.com>
4122
4123 Trigonometry support.
4124
4125 * include/grub/trig.h: New file.
4126 * lib/trig.c: Likewise.
4127 * maintainance/gentrigtables.py: Likewise.
4128 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4129 (trig_mod_SOURCES): New variable.
4130 (trig_mod_CFLAGS): Likewise.
4131 (trig_mod_LDFLAGS): Likewise.
4132
4133 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4136 disk devices.
4137
4138 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4141 error.
4142
4143 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * util/hostdisk.c (open_device): Don't use partition device when reading
4146 before the partition.
4147 (grub_util_biosdisk_read): Don't read from partition and before the
4148 partition in single operation.
4149 (grub_util_biosdisk_write): Don't write to partition and before the
4150 partition in single operation.
4151
4152 2010-02-03 Torsten Landschoff <torsten@debian.org>
4153
4154 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4155 last sectors.
4156
4157 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4160 CDROM reads.
4161 (grub_biosdisk_write): Refuse to write to CDROM.
4162
4163 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4166
4167 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * font/font.c (find_glyph): Check that bmp_idx is available before
4170 using it.
4171 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4172 with (font == NULL).
4173
4174 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
4175
4176 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4177
4178 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4179
4180 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4181 * util/grub-script-check.c (getline): Fix empty lines case.
4182
4183 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4184
4185 * Makefile.in (check): Exit with fail status when one of the tests
4186 fails.
4187 * tests/example_functional_test.c (example_test): Fix reversed assert.
4188 * tests/example_unit_test.c (example_test): Likewise.
4189
4190 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
4191
4192 * util/grub.d/10_linux.in: This script does not use any of the
4193 contents of gettext.sh, only the external command `gettext', so stop
4194 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4195 the same prefix as GRUB.)
4196 * util/grub.d/10_kfreebsd.in: Likewise.
4197
4198 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4201 of the line.
4202
4203 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4206 last sectors.
4207
4208 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4211 having a 4KiB and not 32KiB buffer size.
4212
4213 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4214
4215 * util/hostfs.c: Include `<errno.h>'.
4216 (grub_hostfs_read): Handle errors from fseeko() and fread().
4217
4218 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4219
4220 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4221 loop when using read hooks on files whose size isn't sector-aligned.
4222
4223 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4224
4225 Remove unused parameter.
4226
4227 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4228 (grub_iso9660_open): Remove initialization of `data->length'.
4229
4230 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4231
4232 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4233 memleak conditions.
4234
4235 2010-01-27 Carles Pina i Estany <carles@pina.cat>
4236
4237 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4238 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4239
4240 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4241
4242 * util/bin2h.c (usage): Fix warning (space after backslash).
4243
4244 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4245
4246 * font/font.c: Include `grub/fontformat.h.
4247 Remove font file format constants.
4248 (grub_font_load): Use the new macros.
4249 * include/grub/fontformat.h: New file.
4250 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4251 (write_font_pf2): Use the new macros.
4252
4253 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4254
4255 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4256 does.
4257
4258 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4259
4260 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4261
4262 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4263 (_start): Macroify `0x7F'.
4264
4265 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4266 (make_install_device): Use "(pxe)" as fallback prefix when booting
4267 via PXE.
4268
4269 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * configure.ac: Reset LIBS after check for libgcc symbols.
4272
4273 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
4274
4275 * util/hostdisk.c (open_device): Add trailing newline to debug
4276 message.
4277
4278 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4279
4280 * configure.ac: Check for `limits.h'.
4281 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4282
4283 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4284
4285 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4286 capitalize error strings.
4287
4288 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4289
4290 * util/grub.d/10_hurd.in: Add a recovery mode.
4291
4292 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * configure.ac: Check for libgcc symbols with -nostdlib.
4295
4296 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4297
4298 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4299
4300 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4303 stack since heap may be unavailable at that point.
4304 (grub_ofconsole_gotoxy): Likewise.
4305
4306 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * configure.ac: Check for _restgpr_14_x.
4309 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4310 and _savegpr_* prototypes.
4311
4312 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4313
4314 Use generic grub_reboot() for i386-efi.
4315
4316 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4317 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4318 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4319
4320 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4323 presence of "prefix" variable as it breaks when normal.mod is
4324 embedded.
4325
4326 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4329 stack since heap is unavailable at that point.
4330
4331 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4334 (grub_freebsd_bootinfo): Rewritten.
4335 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4336
4337 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4340
4341 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4342
4343 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4344 domain now.
4345
4346 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
4347
4348 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4349 around for handling "/" to the correct fix. Fix a memory leak. Use
4350 xstrdup instead of strdup.
4351
4352 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4355
4356 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4359
4360 * font/font.c (struct grub_font): New member 'bmp_idx'.
4361 (font_init): Initialise 'bmp_idx'.
4362 (load_font_index): Fill 'bmp_idx'.
4363 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4364
4365 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4368 unnecessary calls.
4369
4370 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 Move context handling out of the kernel.
4373
4374 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4375 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4376 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4377 * conf/i386-efi.rmk: Likewise.
4378 * conf/i386-ieee1275.rmk: Likewise.
4379 * conf/i386-pc.rmk: Likewise.
4380 * conf/powerpc-ieee1275.rmk: Likewise.
4381 * conf/sparc64-ieee1275.rmk: Likewise.
4382 * conf/x86_64-efi.rmk: Likewise.
4383 * include/grub/env.h: Include grub/menu.h.
4384 (grub_env_var_type): Removed.
4385 (grub_env_var): Replaced field 'type' with 'global'.
4386 (grub_env_find): New prototype.
4387 (grub_env_context_open): Remove EXPORT_FUNC.
4388 (grub_env_context_close): Likewise.
4389 (grub_env_export): Likewise.
4390 (grub_env_set_data_slot): Removed.
4391 (grub_env_get_data_slot): Likewise.
4392 (grub_env_unset_data_slot): Likewise.
4393 (grub_env_unset_menu): New prototype.
4394 (grub_env_set_menu): Likewise.
4395 (grub_env_get_menu): Likewise.
4396 * include/grub/env_private.h: New file.
4397 * include/grub/normal.h (grub_context_init): New prototype.
4398 (grub_context_fini): Likewise.
4399 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4400 * normal/context.c (grub_cmd_export): ... to here.
4401 * kern/env.c: Include env_private.h.
4402 (HASHSZ): Moved to include/grub/env_private.h.
4403 (grub_env_context): Likewise.
4404 (grub_env_sorted_var): Likewise.
4405 (current_context): Renamed from this ...
4406 (grub_current_context): ...to this. 'static' removed. All users updated.
4407 (grub_env_find): Removed 'static'.
4408 (grub_env_context_open): Moved to normal/context.c.
4409 (grub_env_context_close): Likewise.
4410 (grub_env_export): Likewise.
4411 (mangle_data_slot_name): Removed.
4412 (grub_env_set_data_slot): Likewise.
4413 (grub_env_get_data_slot): Likewise.
4414 (grub_env_unset_data_slot): Likewise.
4415 * kern/main.c (grub_set_root_dev): Don't export root.
4416 It will be done later.
4417 (grub_main): Don't export prefix.
4418 It will be done later.
4419 * normal/context.c: New file.
4420 * normal/main.c (free_menu): Use grub_env_unset_menu.
4421 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4422 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4423 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4424 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4425
4426 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 setpci support.
4429
4430 * commands/setpci.c: New file.
4431 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4432 (setpci_mod_SOURCES): New variable.
4433 (setpci_mod_CFLAGS): Likewise.
4434 (setpci_mod_LDFLAGS): Likewise.
4435
4436 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 Byte-addressable PCI configuration space.
4439
4440 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4441 dword address.
4442 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4443 GRUB_PCI_REG_CACHELINE.
4444 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4445 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4446 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4447 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4448 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4449 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4450 grub_pci_make_address.
4451 (lock_rom_area): Likewise.
4452 * commands/lspci.c (grub_lspci_iter): Use macroses
4453 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4454 of grub_pci_make_address.
4455 * disk/ata.c (grub_ata_pciinit): Likewise.
4456 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4457 (GRUB_PCI_REG_VENDOR): Likewise.
4458 (GRUB_PCI_REG_DEVICE): Likewise.
4459 (GRUB_PCI_REG_COMMAND): Likewise.
4460 (GRUB_PCI_REG_STATUS): Likewise.
4461 (GRUB_PCI_REG_REVISION): Likewise.
4462 (GRUB_PCI_REG_CLASS): Likewise.
4463 (GRUB_PCI_REG_CACHELINE): Likewise.
4464 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4465 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4466 (GRUB_PCI_REG_BIST): Likewise.
4467 (GRUB_PCI_REG_ADDRESSES): Likewise.
4468 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4469 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4470 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4471 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4472 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4473 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4474 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4475 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4476 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4477 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4478 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4479 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4480 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4481 (GRUB_PCI_REG_MIN_GNT): Likewise.
4482 (GRUB_PCI_REG_MAX_LAT): Likewise.
4483 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4484 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4485 * video/efi_uga.c (find_framebuf): Likewise.
4486 * video/sm712.c (grub_video_sm712_setup): Likewise.
4487 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4488 space.
4489
4490 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4491
4492 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4493 can be reliably determined to be supported.
4494
4495 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4496
4497 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4498 that VESA is supported.
4499 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4500 supported.
4501
4502 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4505
4506 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4507
4508 * util/misc.c (make_system_path_relative_to_its_root): Work around
4509 special-casing of "/", as previous incarnation of this routine did.
4510
4511 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Fix any-emu compilation.
4514
4515 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4516 * grub_bin2h_SOURCES: New variable.
4517
4518 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4519
4520 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4521
4522 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4523
4524 * util/grub.d/00_header.in: Fix handling of locale_dir.
4525
4526 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4529 as possible unifont location (Gentoo).
4530 Reported by: Alexander Brüning
4531
4532 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Don't try to generate lists for kernel.img.
4535
4536 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4537 (pkglib_MODULES): Remove kernel.img.
4538 (kernel_img_EXPORTS): Removed.
4539 (kernel_img_RELOCATABLE): New variable.
4540 * conf/x86_64-efi.rmk: Likewise.
4541 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4542
4543 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4546 grub_xasprintf or grub_snprintf.
4547 (grub_vsprintf): Likewise.
4548 (grub_snprintf): New proto.
4549 (grub_vsnprintf): Likewise.
4550 (grub_xasprintf): Likewise.
4551 (grub_xvasprintf): Likewise.
4552 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4553 (grub_sprintf): Removed.
4554 (grub_vsnprintf): New function.
4555 (grub_snprintf): Likewise.
4556 (grub_xvasprintf): Likewise.
4557 (grub_xasprintf): Likewise.
4558 (grub_vsprintf): Renamed to ...
4559 (grub_vsnprintf_real): ...this. New argument max_len.
4560
4561 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4562
4563 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4564 fix grub-script-check warning.
4565
4566 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * include/grub/font.h (grub_font_load): Fix prototype.
4569
4570 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4573
4574 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * include/grub/x86_64/at_keyboard.h: New file.
4577
4578 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * loader/mips/linux.c: Include missing grub/i18n.h.
4581
4582 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4583
4584 * normal/menu.c (notify_execution_failure): Clarify error message.
4585
4586 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4587
4588 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4589 return value (and revert all return statements). Update users.
4590
4591 2010-01-20 Dan Merillat <debian@dan.merillat.org>
4592
4593 * kern/device.c (grub_device_iterate): Allocate new part_ent
4594 structure based on sizeof (*p) rather than sizeof (p->next), to
4595 account for structure padding.
4596
4597 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4598 disk is NULL, which might happen for LVM physical volumes with no
4599 LVM signature.
4600
4601 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4602
4603 * loader/mips/linux.c (grub_cmd_initrd)
4604 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4605
4606 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4607
4608 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4609 (grub_video_video_init, grub_video_bitmap_init)
4610 (grub_font_manager_init, grub_term_gfxterm_init)
4611 (grub_at_keyboard_init): New extern declarations.
4612 (grub_machine_init): Initialize gfxterm and at_keyboard.
4613
4614 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4615
4616 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4617 `gfxterm.mod' into core image.
4618
4619 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4620 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4621 (kernel_img_FORMAT): Copy to ...
4622
4623 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4624 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4625 (kernel_img_FORMAT): ... here, and ...
4626
4627 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4628 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4629 (kernel_img_FORMAT): ... here.
4630
4631 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4632 and input (at_keyboard) terminals in kernel.
4633 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4634
4635 (pkglib_MODULES): Remove `pci.mod'.
4636 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4637 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4638 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4639 (at_keyboard_mod_LDFLAGS): Remove variables.
4640
4641 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
4642
4643 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4644
4645 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4646
4647 * include/grub/mips/libgcc.h: Only export symbols for functions
4648 that libgcc provides.
4649
4650 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 MIPS support.
4653
4654 * bus/bonito.c: New file.
4655 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4656 GRUB_PCI_NUM_DEVICES.
4657 * term/i386/pc/serial.c: Move to ...
4658 * term/serial.c: ... here. All users updated.
4659 * util/i386/pc/grub-mkimage.c: Move to ...
4660 * util/grub-mkrawimage.c: ... here. All users updated.
4661 * term/i386/pc/at_keyboard.c: Move to ...
4662 * term/at_keyboard.c: ... here. All users updated.
4663 * conf/mips-qemu-mips.rmk: New file.
4664 * conf/mips-yeeloong.rmk: Likewise.
4665 * conf/mips.rmk: Likewise.
4666 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4667 mipsel-qemu-mips.
4668 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4669 to port addresses.
4670 (grub_ata_pciinit): Support CS5536.
4671 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4672 * font/font_cmd.c (loadfont_command): Open file before passing it to
4673 grub_font_load.
4674 (pseudo_file_read): New function.
4675 (pseudo_file_close): Likewise.
4676 (pseudo_fs): New structure.
4677 (load_font_module): New function.
4678 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4679 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4680 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4681 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4682 * include/grub/i386/at_keyboard.h: Split into ...
4683 * include/grub/at_keyboard.h: ... this ...
4684 * include/grub/i386/at_keyboard.h: ... and this.
4685 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4686 New prototype.
4687 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4688 updated.
4689 (grub_elf64_size): Likewise.
4690 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4691 filename.
4692 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4693 * include/grub/i386/coreboot/serial.h: Rewritten.
4694 * include/grub/i386/ieee1275/serial.h: Include
4695 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4696 * include/grub/i386/pc/serial.h: Moved from here ...
4697 * include/grub/serial.h: ... to here. All users updated.
4698 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4699 (GRUB_PCI_NUM_BUS): Likewise.
4700 (GRUB_PCI_NUM_DEVICES): Likewise.
4701 (grub_pci_device_map_range): Add missing volatile keyword.
4702 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4703 * include/grub/mips/at_keyboard.h: New file.
4704 * include/grub/mips/cache.h: Likewise.
4705 * include/grub/mips/io.h: Likewise.
4706 * include/grub/mips/kernel.h: Likewise.
4707 * include/grub/mips/libgcc.h: Likewise.
4708 * include/grub/mips/pci.h: Likewise.
4709 * include/grub/mips/qemu-mips/boot.h: Likewise.
4710 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4711 * include/grub/mips/qemu-mips/loader.h: Likewise.
4712 * include/grub/mips/qemu-mips/memory.h: Likewise.
4713 * include/grub/mips/qemu-mips/serial.h: Likewise.
4714 * include/grub/mips/qemu-mips/time.h: Likewise.
4715 * include/grub/mips/relocator.h: Likewise.
4716 * include/grub/mips/time.h: Likewise.
4717 * include/grub/mips/types.h: Likewise.
4718 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4719 * include/grub/mips/yeeloong/boot.h: Likewise.
4720 * include/grub/mips/yeeloong/kernel.h: Likewise.
4721 * include/grub/mips/yeeloong/loader.h: Likewise.
4722 * include/grub/mips/yeeloong/memory.h: Likewise.
4723 * include/grub/mips/yeeloong/pci.h: Likewise.
4724 * include/grub/mips/yeeloong/serial.h: Likewise.
4725 * include/grub/mips/yeeloong/time.h: Likewise.
4726 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4727 * kern/elf.c (grub_elf32_size): New parameter. All users
4728 updated.
4729 (grub_elf64_size): Likewise.
4730 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4731 Load modules before saying "Welcome to GRUB!".
4732 Call grub_refresh after saying "Welcome to GRUB!".
4733 * kern/mips/cache.S: New file.
4734 * kern/mips/cache_flush.S: Likewise.
4735 * kern/mips/dl.c: Likewise.
4736 * kern/mips/init.c: Likewise.
4737 * kern/mips/qemu-mips/init.c: Likewise.
4738 * kern/mips/startup.S: Likewise.
4739 * kern/mips/yeeloong/init.c: Likewise.
4740 * kern/term.c (grub_putcode): Handle NULL terminal.
4741 (grub_getcharwidth): Likewise.
4742 (grub_getkey): Likewise.
4743 (grub_checkkey): Likewise.
4744 (grub_getkeystatus): Likewise.
4745 (grub_getxy): Likewise.
4746 (grub_getwh): Likewise.
4747 (grub_gotoxy): Likewise.
4748 (grub_cls): Likewise.
4749 (grub_setcolorstate): Likewise.
4750 (grub_setcolor): Likewise.
4751 (grub_getcolor): Likewise.
4752 (grub_refresh): Likewise.
4753 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4754 (write_jump): Add hatch nop.
4755 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4756 * lib/mips/setjmp.S: New file.
4757 * loader/mips/linux.c: Likewise.
4758 * term/i386/pc/at_keyboard.c: Move from here ...
4759 * term/at_keyboard.c: ... to here.
4760 * term/i386/pc/serial.c: Moved from here ...
4761 * term/serial.c: ... to here. All users updated.
4762 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4763 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4764 (serial_translate_key_sequence): Avoid deadlock.
4765 (grub_serial_getkey): Handle backspace.
4766 (grub_serial_putchar): Fix newline handling.
4767 * util/i386/pc/grub-mkimage.c: Move from here ...
4768 * util/grub-mkrawimage.c: ... to here. All users updated.
4769 (generate_image): New parameters 'font_path' and 'format'.
4770 Support embedding font.
4771 Use grub_host_to_target* instead of grub_cpu_to_le*.
4772 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4773 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4774 (options): New option "--font".
4775 (usage): Likewise.
4776 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4777 (main): Handle "--font".
4778 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4779 (grub_virtual_screen_setup): Set bg_color_display.
4780 (redraw_screen_rect): Use bg_color_display instead of incorrect
4781 bg_color.
4782 (grub_gfxterm_cls): Likewise.
4783 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4784 Support embedding config file.
4785 (add_segments): Likewise.
4786 (options): New option "--config".
4787 (main): Handle "--config".
4788 * video/sm712.c: New file.
4789
4790 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4791
4792 Fix parallel builds.
4793
4794 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4795 font.c depend on ascii.h).
4796
4797 2010-01-12 Carles Pina i Estany <carles@pina.cat>
4798
4799 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4800
4801 2010-01-11 Carles Pina i Estany <carles@pina.cat>
4802
4803 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4804 By default: disabled.
4805 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4806 parameter.
4807
4808 2010-01-10 Carles Pina i Estany <carles@pina.cat>
4809
4810 * font/font.c: Update copyright years.
4811 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4812
4813 2010-01-10 Carles Pina i Estany <carles@pina.cat>
4814
4815 * font/font.c: Include `ascii.h'.
4816 (ASCII_BITMAP_SIZE): New macro.
4817 (ascii_font_glyph): Define.
4818 (ascii_glyph_lookup): New function.
4819 (grub_font_get_string_width): Change comment. If glyph not found, use
4820 ascii_glyph_lookup.
4821 (grub_font_get_glyph_with_fallback): If glyph not available returns
4822 ascii_glyph_lookup.
4823 * util/grub-mkfont.c (file_formats): New enum.
4824 (options): Add `ascii-bitmaps' new option.
4825 (usage): Add `asii-bitmaps' new option.
4826 (write_font_ascii_bitmap): New function.
4827 (write_font): Rename to ...
4828 (write_font_p2): ... this. Remove print_glyphs call.
4829 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
4830 used. Call print_glyphs.
4831 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
4832
4833 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4834
4835 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
4836 (grub_bin2h_SOURCES): New variable.
4837 * util/bin2h.c: New file.
4838
4839 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * include/multiboot.h: Resynced with spec.
4842 * include/multiboot2.h: Likewise.
4843 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
4844 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4845
4846 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4847
4848 * include/grub/term.h (grub_term_register_input,
4849 grub_term_register_output): Check return of terminal init()
4850 routines, and abort if errors are raised.
4851
4852 * commands/terminal.c: Update copyright year.
4853
4854 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4855
4856 * commands/terminal.c (grub_cmd_terminal_input)
4857 (grub_cmd_terminal_output): Check return of terminal init()
4858 routines, and abort if errors are raised.
4859
4860 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * include/grub/i386/bsd.h: Fix include pathes.
4863
4864 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 Add missing *BSD copyright headers.
4867
4868 * include/grub/aout.h: Add BSD licence.
4869 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4870 * include/grub/i386/freebsd_linker.h: ... here,
4871 * include/grub/i386/freebsd_reboot.h: ... here,
4872 * include/grub/i386/netbsd_bootinfo.h: ... here,
4873 * include/grub/i386/netbsd_reboot.h: ... here,
4874 * include/grub/i386/openbsd_bootarg.h: ... here,
4875 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4876 licence to each file.
4877
4878 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4879
4880 * acinclude.m4: Remove `nop' assembly instruction; it's not
4881 implemented by all architectures.
4882
4883 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4884
4885 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4886 ELILO. This is no longer necessary.
4887
4888 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4889
4890 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4891
4892 * util/grub-script-check.c: grub-script-check tool.
4893 * conf/common.rmk: Make rules for grub-script-check.
4894
4895 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4896
4897 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4898 spotting it back in 2008. Shame on me for forgetting he did.
4899
4900 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4901
4902 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4903
4904 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4905 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4906 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4907 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4908 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4909 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4910
4911 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4912
4913 * include/grub/test.h: Add license header.
4914 * tests/example_functional_test.c: Likewise.
4915 * tests/example_unit_test.c: Likewise.
4916 * tests/lib/functional_test.c: Likewise.
4917 * tests/lib/test.c: Likewise.
4918 * tests/lib/unit_test.c: Likewise.
4919
4920 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 Use flag-based instead of hook-based video mode selection and "auto"
4923 keyword.
4924
4925 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4926 (grub_video_set_mode): Changed prototype. All users updated.
4927 (grub_video_check_mode_flag): New inline function.
4928 * video/video.c (parse_modespec): New function.
4929 (grub_video_set_mode): Parse flags and keywords.
4930
4931 2010-01-17 Carles Pina i Estany <carles@pina.cat>
4932
4933 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4934 fprintf call.
4935
4936 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4937
4938 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4939
4940 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4941
4942 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4943 string.
4944 * util/grub-emu.c (usage): Likewise.
4945 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4946 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4947 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4948 * util/i386/pc/grub-setup.c (usage): Likewise.
4949
4950 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4951
4952 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4953 the message.
4954 (grub_util_info): Likewise.
4955 (grub_util_error): Likewise.
4956 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4957 and/or new lines in `grub_util_warna', `grub_util_info',
4958 `grub_util_error' calls.
4959 * util/getroot.c: Likewise.
4960 * util/grub-editenv.c: Likewise.
4961 * util/grub-emu.c: Likewise.
4962 * util/grub-fstest.c: Likewise.
4963 * util/grub-mkdevicemap.c: Likewise.
4964 * util/grub-mkfont.c: Likewise.
4965 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4966 * util/grub-mkrelpath.c: Likewise.
4967 * util/grub-pe2elf.c: Likewise.
4968 * util/grub-probe.c: Likewise.
4969 * util/hostdisk.c: Likewise.
4970 * util/i386/efi/grub-mkimage.c: Likewise.
4971 * util/i386/pc/grub-mkimage.c: Likewise.
4972 * util/i386/pc/grub-setup.c: Likewise.
4973 * util/ieee1275/ofpath.c: Likewise.
4974 * util/mkisofs/eltorito.c: Likewise.
4975 * util/mkisofs/rock.c: Likewise.
4976 * util/mkisofs/write.c: Likewise.
4977 * util/raid.c: Likewise.
4978 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4979 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4980
4981 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Enable multiboot on non-pc.
4984
4985 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4986 multiboot.mod and multiboot2.mod to ...
4987 * conf/i386.rmk (pkglib_MODULES): ... here.
4988 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4989 Moved to ...
4990 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4991 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4992 Moved to ...
4993 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4994 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4995 Moved to ...
4996 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4997 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4998 Moved to ...
4999 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5000 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5001 relocator.mod.
5002 (ata_mod_SOURCES): Removed.
5003 (ata_mod_CFLAGS): Likewise.
5004 (ata_mod_LDFLAGS): Likewise.
5005 (relocator_mod_SOURCES): Removed.
5006 (relocator_mod_CFLAGS): Likewise.
5007 (relocator_mod_ASFLAGS): Likewise.
5008 (relocator_mod_LDFLAGS): Likewise.
5009 Include i386.mk.
5010 * include/grub/x86_64/multiboot.h: New file.
5011 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5012 Terminate EFI.
5013
5014 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 Video multiboot support.
5017
5018 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5019 New prototype.
5020 * include/multiboot.h: Resynced with multiboot specification.
5021 * include/multiboot2.h: Likewise.
5022 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5023 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5024 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5025 (HAS_VGA_TEXT): Likewise.
5026 (accepts_video): New variable.
5027 (grub_multiboot_set_accepts_video): New function.
5028 (grub_multiboot_get_mbi_size): Account for video structures.
5029 (set_video_mode): New function.
5030 (retrieve_video_parameters): Likewise.
5031 (grub_multiboot_make_mbi): Fill video fields.
5032
5033 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 Video driver ids.
5036
5037 * include/grub/video.h (grub_video_driver_id): New type.
5038 (grub_video_adapter): New member 'id'. All users updated.
5039 (grub_video_get_driver_id): New proto.
5040 * video/video.c (grub_video_get_driver_id): New function.
5041
5042 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5043
5044 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5045 `var=val'.
5046
5047 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5048
5049 * normal/cmdline.c (print_completion): Gettextizze.
5050
5051 2001-01-14 Carles Pina i Estany <carles@pina.cat>
5052
5053 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5054
5055 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5056
5057 * gettext/gettext.c (grub_gettext_translate): Push and pop
5058 grub_errno.
5059 (grub_gettext_delete_list): Change comment style.
5060 * kern/err.c (grub_error): Gettextizze.
5061 (grub_fatal): Gettextizze.
5062
5063 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5064
5065 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5066 (grub_linux16_real_boot): ... this.
5067 * kern/i386/loader.S: Likewise.
5068 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5069 (grub_linux16_boot): New function. Switches to text mode and calls
5070 grub_linux16_real_boot().
5071
5072 * loader/i386/bsd.c: Include `<grub/video.h>'.
5073 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5074 text mode before calling grub_unix_real_boot().
5075
5076 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5077 (grub_multiboot_boot): Switch to text mode before calling
5078 grub_relocator32_boot().
5079
5080 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5081 (grub_chainloader_boot): Switch to text mode before calling
5082 grub_chainloader_real_boot().
5083
5084 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5085 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5086
5087 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5088 non-empty value.
5089
5090 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5091 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5092
5093 * util/grub.d/00_header.in: Define a "savedefault" function for use
5094 in menu entries.
5095 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5096
5097 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5098 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5099
5100 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5101 saved_entry if boot_once is unset.
5102 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5103 previous saved entry (i.e. grub-reboot).
5104
5105 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5106
5107 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5108
5109 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5110
5111 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5112 `var=val'.
5113 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5114
5115 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5116
5117 * util/grub-reboot.in: Fix --version output.
5118 * util/grub-set-default.in: Likewise.
5119
5120 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5121
5122 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5123 blocks.
5124
5125 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5126
5127 * util/grub.d/00_header.in: Quote the value assigned to `default',
5128 in case it contains spaces.
5129
5130 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5131
5132 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5133 `save_default_entry' call from the macosx case to the linux case.
5134
5135 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5136 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
5137
5138 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5139 in `chosen' environment variable.
5140 * normal/menu_text.c (get_entry_number): Check if the variable
5141 matches the title of a menu entry.
5142 (run_menu): Pass menu to get_entry_number.
5143
5144 * util/grub-reboot.in: New file.
5145 * util/grub-set-default.in: New file.
5146 * conf/common.rmk (grub-reboot): New utility.
5147 (grub-set-default): New utility.
5148
5149 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5150 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5151 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5152 move it to `saved_entry' for the next boot. Load environment on
5153 initialisation.
5154 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5155 * util/grub.d/10_hurd.in: Likewise.
5156 * util/grub.d/10_linux.in (linux_entry): Likewise.
5157 * util/grub.d/10_windows.in: Likewise.
5158 * util/grub.d/30_os-prober.in: Likewise.
5159
5160 * util/grub-install.in: Create environment block.
5161 * util/i386/efi/grub-install.in: Likewise.
5162 * util/ieee1275/grub-install.in: Likewise.
5163 * util/sparc64/ieee1275/grub-install.in: Likewise.
5164
5165 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5166
5167 Unit testing framework for GRUB.
5168
5169 * Makefile.in: Test framework build rules for 'make check'.
5170 * conf/tests.rmk: Build rules for individual tests and framework.
5171
5172 * include/grub/test.h: Header file for whitebox tests.
5173 * tests/lib/functional_test.c: Framework support for whitebox
5174 functional tests.
5175 * tests/lib/test.c: Common whitebox testing code for unit and
5176 functional tests.
5177 * tests/lib/unit_test.c: Framework support for whitebox unit
5178 tests.
5179
5180 * tests/util/grub-shell-tester.in: Support utility for grub-script
5181 tests.
5182 * tests/util/grub-shell.in: Utility to execute grub-script
5183 commands in a Qemu instance.
5184
5185 * tests/example_functional_test.c: Example whitebox functional
5186 test.
5187 * tests/example_grub_script_test.in: Example grub-script test.
5188 * tests/example_scripted_test.in: Example scripted test.
5189 * tests/example_unit_test.c: Example whitebox unit test.
5190
5191 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5194 Add loader/i386/multiboot_mbi.c.
5195 (multiboot2_mod_SOURCES): Likewise.
5196 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5197 (multiboot2_mod_SOURCES): Likewise.
5198 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5199 (grub_multiboot_make_mbi): Likewise.
5200 (grub_multiboot_free_mbi): Likewise.
5201 (grub_multiboot_init_mbi): Likewise.
5202 (grub_multiboot_add_module): Likewise.
5203 (grub_multiboot_set_bootdev): Likewise.
5204 * loader/i386/multiboot.c (mbi): Removed.
5205 (mbi_dest): Likewise.
5206 (alloc_mbi): New variable.
5207 (grub_multiboot_payload_size): Removed. All users updated.
5208 (grub_multiboot_pure_size): New variable.
5209 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5210 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5211 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5212 (grub_fill_multiboot_mmap): Likewise.
5213 (grub_multiboot_get_bootdev): Likewise.
5214 (grub_multiboot): Use multiboot_mbi functions.
5215 * loader/i386/multiboot_mbi.c: New file.
5216
5217 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5220 it would result in module crash.
5221
5222 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5225 (grub_ofconsole_getwh): Split to ...
5226 (grub_ofconsole_getwh): ... this.
5227 (grub_ofconsole_dimensions): ...and this.
5228 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5229
5230 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5231
5232 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5233
5234 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * loader/i386/pc/multiboot2.c: Removed stalled file.
5237
5238 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5241 Reported by: Grégoire Sutre
5242
5243 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5244
5245 * util/misc.c (canonicalize_file_name): New function.
5246 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5247 instead of realpath().
5248
5249 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
5250
5251 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5252 and make it clearer that it's optional. Based on confusion
5253 witnessed on IRC.
5254
5255 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5258 in premature implicit newline.
5259
5260 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5263 which resulted in garbled command line at the end of screen.
5264
5265 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5266
5267 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5268 initialization with similar approach as with other Linux loaders.
5269
5270 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5271
5272 Fix i386-ieee1275 build.
5273
5274 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5275 and grub_term_height() for video_{width,height} initialization.
5276
5277 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5278
5279 Fix grub-emu build.
5280
5281 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5282
5283 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5284 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5285
5286 Support for multiple terminals.
5287
5288 * Makefile.in (pkglib_DATA): terminal.lst.
5289 (terminal.lst): New target.
5290 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5291 (GRUB_MOD_INIT(handler)): Likewise.
5292 (GRUB_MOD_FINI(handler)): Likewise.
5293 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5294 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5295 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5296 (grub_cmd_sleep): Use grub_term_save_pos.
5297 * commands/terminal.c: New file.
5298 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5299 commands/terminal.c and lib/charset.c.
5300 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5301 (pkglib_MODULES): Add terminal.mod.
5302 (terminal_mod_SOURCES): New variable.
5303 (terminal_mod_CFLAGS): Likewise.
5304 (terminal_mod_LDFLAGS): Likewise.
5305 * genhandlerlist.sh: Don't handle terminals.
5306 * genmk.rb: Generate terminal-*.lst.
5307 * genterminallist.sh: New file.
5308 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5309 (grub_is_valid_utf8): Likewise.
5310 (grub_utf8_to_ucs4_alloc): Likewise.
5311 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5312 (grub_menu_register_viewer): Changed argument.
5313 (grub_menu_try_text): New proto.
5314 (grub_gfxmenu_try_hook): New declaration.
5315 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5316 (grub_menu_init_page): Additional argument term.
5317 (grub_normal_init_page): Likewise.
5318 (grub_cmdline_get): Arguments simplified.
5319 (grub_utf8_to_ucs4_alloc): Removed.
5320 (grub_print_ucs4): Additional argument term.
5321 (grub_getstringwidth): Likewise.
5322 (grub_print_message_indented): Likewise.
5323 (grub_menu_text_register_instances): New proto.
5324 (grub_show_menu): Likewise.
5325 (read_terminal_list): Likewise.
5326 (grub_set_more): Likewise.
5327 * include/grub/parser.h: Include handler.h.
5328 * include/grub/reader.h: Rewritten.
5329 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5330 (GRUB_TERM_WIDTH): Changed to function.
5331 (GRUB_TERM_HEIGHT): Likewise.
5332 (GRUB_TERM_BORDER_WIDTH): Likewise.
5333 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5334 (GRUB_TERM_NUM_ENTRIES): Likewise.
5335 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5336 (GRUB_TERM_CURSOR_X): Likewise.
5337 (grub_term_input_class): Likewise.
5338 (grub_term_output_class): Likewise.
5339 (grub_term_outputs_disabled): New declaration.
5340 (grub_term_inputs_disabled): Likewise.
5341 (grub_term_outputs): Likewise.
5342 (grub_term_inputs): Likewise.
5343 (grub_term_register_input): Rewritten.
5344 (grub_term_register_output): Likewise.
5345 (grub_term_unregister_input): Likewise.
5346 (grub_term_unregister_output): Likewise.
5347 (FOR_ACTIVE_TERM_INPUTS): New macro.
5348 (FOR_DISABLED_TERM_INPUTS): Likewise.
5349 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5350 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5351 * include/grub/terminfo.h: Add oterm argument to all protypes.
5352 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5353 Use grub_rescue_run.
5354 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5355 All users updated.
5356 * kern/reader.c: Removed. All users updated.
5357 * kern/rescue_reader.c (grub_rescue_init): Removed.
5358 (grub_rescue_reader): Likewise.
5359 (grub_register_rescue_reader): Likewise.
5360 (grub_rescue_run): New function based on kern/reader.c.
5361 * kern/term.c: Adapted for multiterm.
5362 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5363 (grub_is_valid_utf8): Likewise.
5364 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5365 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5366 right terminal.
5367 * loader/i386/linux.c (grub_linux_boot): Likewise.
5368 * normal/auth.c (grub_username_get): New function.
5369 (grub_auth_check_authentication): Use grub_username_get.
5370 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5371 * normal/color.c: Adapt for multiterm.
5372 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5373 (grub_normal_init_page): Additional argument term.
5374 (read_lists): Call read_terminal_lists.
5375 (grub_enter_normal_mode): Call grub_cmdline_run.
5376 Handle grub_normal_exit_level.
5377 (grub_cmd_normal): Make reentrant.
5378 (grub_cmd_normal_exit): New function.
5379 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5380 * normal/menu.c: Adapt for multiterm.
5381 * normal/menu_entry.c: Likewise.
5382 * normal/menu_text.c: Likewise.
5383 * normal/menu_viewer.c: Removed. All users updated.
5384 * normal/term.c: New file.
5385 * util/console.c: Change order of includes to workaround a bug in
5386 ncurses headers.
5387 * term/terminfo.c: New argument oterm on all exported functions.
5388 All users updated.
5389 * util/grub-editenv.c (grub_term_input_class): Removed.
5390 (grub_term_output_class): Likewise.
5391
5392 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5393
5394 Make loader output a bit more user-friendly.
5395
5396 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5397 is being loaded. Likewise for the Hurd.
5398
5399 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5400 that kernel of FreeBSD ${version} is being loaded.
5401
5402 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5403 grub_dprintf().
5404 (grub_cmd_initrd): Likewise.
5405 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5406 that Linux ${version} is being loaded. Likewise for initrd.
5407
5408 2010-01-09 Carles Pina i Estany <carles@pina.cat>
5409
5410 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5411
5412 2010-01-08 Carles Pina i Estany <carles@pina.cat>
5413
5414 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5415 (GRUB_MOD_INIT): Gettextizze.
5416 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5417 (GRUB_MOD_INIT): Gettextizze.
5418 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5419 (grub_cmd_linux): Capitalise Linux.
5420 (GRUB_MOD_INIT): Gettextizze.
5421 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5422 (grub_cmd_linux): Capitalise Linux.
5423 (GRUB_MOD_INIT): Gettextizze.
5424 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5425 (grub_cmd_linux): Capitalise Linux.
5426 (GRUB_MOD_INIT): Gettextizze.
5427 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5428 (GRUB_MOD_INIT): Gettextizze.
5429 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5430 (grub_cmd_linux): Capitalise Linux.
5431 (GRUB_MOD_INIT): Gettextizze.
5432 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5433 (grub_cpu_xnu_init): Gettextizze.
5434 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5435 (GRUB_MOD_INIT): Gettextizze.
5436 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5437 (GRUB_MOD_INIT): Gettextizze.
5438 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5439 (grub_linux_load64): Capitalise Linux.
5440 (GRUB_MOD_INIT): Gettextizze.
5441 * loader/xnu.c: Include `<grub/i18n.h>'.
5442 (GRUB_MOD_INIT): Gettextizze.
5443 * po/POTFILES: Add `loader/efi/appleloader.c',
5444 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5445 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5446 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5447 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5448 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5449 and `loader/xnu.c'.
5450
5451 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5452
5453 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5454
5455 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5456
5457 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5458 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5459 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5460
5461 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5462
5463 Reset Multiboot 2 support. New loader implements the draft in
5464 /branches/multiboot2 and shares as much code as possible with the
5465 production Multiboot 1 implementation.
5466
5467 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5468 * loader/multiboot2.c: Likewise.
5469 * loader/i386/multiboot_helper.S: Likewise.
5470 * include/multiboot2.h: Replace with latest version from the draft
5471 in /branches/multiboot2.
5472
5473 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5474 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5475 and `loader/multiboot2.c'.
5476 (pkglib_MODULES): Add `multiboot2.mod'.
5477 (multiboot2_mod_SOURCES): New variable.
5478 (multiboot2_mod_LDFLAGS): Likewise.
5479 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5480
5481 * conf/i386-pc.rmk: Likewise.
5482
5483 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5484 (multiboot_mod_SOURCES): Remove variable.
5485 (multiboot_mod_LDFLAGS): Likewise.
5486 (multiboot_mod_CFLAGS): Likewise.
5487
5488 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5489 `<multiboot2.h>' instead of `<multiboot.h>'.
5490 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5491 (MULTIBOOT_HEADER_MAGIC): New macros.
5492
5493 * loader/multiboot_loader.c (module_version_status): Remove variable.
5494 (find_multi_boot2_header): Remove function.
5495 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5496 logic. Always check for the Multiboot version we're compiling for.
5497 (grub_cmd_module_loader): Likewise.
5498 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5499 command instead of `multiboot'.
5500
5501 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5502
5503 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5504 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5505 all users.
5506
5507 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5508 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 Fix breakage introduced with previous commit.
5511
5512 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5513 commands.
5514 * normal/handler.c (read_handler_list): Revert part of previous commit
5515 affecting this file.
5516 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5517 (grub_normal_execute): ... here.
5518
5519 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5520
5521 Merge prefix-redefinition-fix branch.
5522
5523 * normal/autofs.c (read_fs_list): Make function capable of being
5524 run multiple times, gracefuly replacing the previous data
5525 structures.
5526 * normal/dyncmd.c (read_command_list): Likewise.
5527 * normal/handler.c (read_handler_list): Likewise.
5528 * normal/main.c (read_lists): New function. Calls all the
5529 list reading functions.
5530 (grub_normal_execute): Use read_lists() instead of calling all
5531 list reading functions explicitly. Register read_lists() as a
5532 variable hook attached to ${prefix}.
5533
5534 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Merge crypto branch.
5537
5538 * Makefile.in (pkglib_DATA): Add crypto.lst.
5539 (crypto.lst): New target.
5540 * commands/hashsum.c: New file.
5541 * commands/password.c (check_password): Use grub_crypto_memcmp.
5542 * commands/password_pbkdf2.c: New file.
5543 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5544 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5545 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5546 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5547 -I$(srcdir)/lib/libgcrypt_wrap.
5548 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5549 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5550 password_pbkdf2.mod.
5551 (crypto_mod_SOURCES): New variable.
5552 (crypto_mod_CFLAGS): Likewise.
5553 (crypto_mod_LDFLAGS): Likewise.
5554 (hashsum_mod_SOURCES): New variable.
5555 (hashsum_mod_CFLAGS): Likewise.
5556 (hashsum_mod_LDFLAGS): Likewise.
5557 (pbkdf2_mod_SOURCES): New variable.
5558 (pbkdf2_mod_CFLAGS): Likewise.
5559 (pbkdf2_mod_LDFLAGS): Likewise.
5560 (password_pbkdf2_mod_SOURCES): New variable.
5561 (password_pbkdf2_mod_CFLAGS): Likewise.
5562 (password_pbkdf2_mod_LDFLAGS): Likewise.
5563 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5564 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5565 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5566 Include conf/gcry.rmk.
5567 * include/grub/auth.h: Rewritten.
5568 * include/grub/crypto.h: New file.
5569 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5570 * include/grub/normal.h (read_crypto_list): New prototype.
5571 * lib/crypto.c: New file.
5572 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5573 * lib/pbkdf2.c: Likewise.
5574 * normal/auth.c (grub_auth_strcmp): Removed.
5575 (grub_iswordseparator): Likewise.
5576 (grub_auth_strword): Likewise.
5577 (is_authenticated): Use grub_strword.
5578 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5579 and grub_strword. Pass entered password to authentication callback.
5580 * normal/crypto.c: New file.
5581 * normal/main.c: Call read_crypto_list.
5582 * util/grub-mkpasswd-pbkdf2.c: New file.
5583 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5584
5585 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 Fix descent and ascent calculation.
5588
5589 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5590 (options): New option "asce".
5591 (usage): Likewise.
5592 (add_char): Ignore invalid glyphs for descent calculation.
5593 Calculate ascent from actual content.
5594 (print_glyphs): Use 'asce'.
5595 (write_font): Likewise. Allow ascent override.
5596 (main): Handle "asce" option.
5597
5598 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5599
5600 * kern/err.c: Include `<grub/i18n.h>'.
5601 (grub_print_error): Add full stop. Gettextizze.
5602 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5603 (grub_bsd_load_elf): Capitalise ELF.
5604 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5605 (grub_cmd_freebsd_module): Likewise.
5606 (grub_cmd_freebsd_module_elf): Likewise.
5607 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5608
5609 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5610
5611 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5612 * commands/search_file.c (HELP_MESSAGE): New macro.
5613 * commands/search_label.c (HELP_MESSAGE): Likewise.
5614 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5615 * po/POTFILES: Add `commands/search_file.c',
5616 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5617 `commands/search.c'.
5618
5619 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5620
5621 * config.rpath: Update from Gnulib.
5622
5623 2010-01-05 Yves Blusseau <blusseau@zetam.org>
5624
5625 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5626
5627 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5628
5629 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5630
5631 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5632
5633 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5634 arguments to fread so that we get a return value in bytes, rather
5635 than something that will normally be rounded down to 0.
5636 Adjust error handling to avoid producing garbage when size_t is not
5637 the same size as long long.
5638
5639 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5640
5641 * util/mkisofs/write.c (padblock_write): Check return value of
5642 fread.
5643
5644 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5645
5646 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5647 floppy images now.
5648
5649 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5650
5651 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5652
5653 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5654 instead of manual alignment.
5655 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5656 verbose). Avoid attempts to read past end of the device
5657 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5658 but GRUB_DISK_CACHE_SIZE may exceed that).
5659
5660 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5661
5662 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5663 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5664 it to upper layer.
5665
5666 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5669 New constant.
5670 (grub_efi_piwg_device_path): New structure
5671 (grub_efi_piwg_device_path_t): New type.
5672 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5673 (devpath_1): Transform to a structure. All users updated.
5674 (devpath_2): Likewise.
5675 (devpath_3): Likewise.
5676 (devpath_4): Likewise.
5677 (devpath_5): Likewise.
5678
5679 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * loader/efi/appleloader.c: Restored. Update all users.
5682
5683 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5684
5685 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5686
5687 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5688 (struct boot_blocklist): Move from here ...
5689 * include/grub/i386/pc/boot.h [ASM_FILE]
5690 (struct grub_boot_blocklist): ... to here. Update all users.
5691 (setup): Only initialize `start' member of `first_block'
5692 structure. Add assert() calls to verify the other members.
5693
5694 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5695 (generate_image): Fix broken blocklist length initialization.
5696 Add assert() call to verify blocklist `segment' field.
5697
5698 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5699
5700 * loader/efi/appleloader.c: Remove. Update all users.
5701
5702 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5703
5704 * boot/i386/pc/boot.S: Update copyright year.
5705 * boot/i386/pc/cdboot.S: Likewise.
5706 * boot/i386/pc/diskboot.S: Likewise.
5707 * boot/i386/pc/lnxboot.S: Likewise.
5708 * boot/i386/pc/pxeboot.S: Likewise.
5709 * bus/pci.c: Likewise.
5710 * commands/cmp.c: Likewise.
5711 * commands/help.c: Likewise.
5712 * commands/hexdump.c: Likewise.
5713 * commands/i386/pc/halt.c: Likewise.
5714 * commands/i386/pc/play.c: Likewise.
5715 * commands/i386/pc/vbeinfo.c: Likewise.
5716 * commands/ls.c: Likewise.
5717 * commands/test.c: Likewise.
5718 * disk/dmraid_nvidia.c: Likewise.
5719 * disk/i386/pc/biosdisk.c: Likewise.
5720 * disk/ieee1275/nand.c: Likewise.
5721 * disk/ieee1275/ofdisk.c: Likewise.
5722 * disk/lvm.c: Likewise.
5723 * disk/raid.c: Likewise.
5724 * disk/raid6_recover.c: Likewise.
5725 * disk/scsi.c: Likewise.
5726 * fs/affs.c: Likewise.
5727 * fs/cpio.c: Likewise.
5728 * fs/ext2.c: Likewise.
5729 * fs/hfs.c: Likewise.
5730 * fs/iso9660.c: Likewise.
5731 * fs/ntfs.c: Likewise.
5732 * fs/sfs.c: Likewise.
5733 * fs/udf.c: Likewise.
5734 * fs/ufs.c: Likewise.
5735 * fs/xfs.c: Likewise.
5736 * gencmdlist.sh: Likewise.
5737 * genmk.rb: Likewise.
5738 * include/grub/disk.h: Likewise.
5739 * include/grub/efi/api.h: Likewise.
5740 * include/grub/efi/efi.h: Likewise.
5741 * include/grub/efi/pe32.h: Likewise.
5742 * include/grub/elf.h: Likewise.
5743 * include/grub/fs.h: Likewise.
5744 * include/grub/i386/at_keyboard.h: Likewise.
5745 * include/grub/i386/pc/memory.h: Likewise.
5746 * include/grub/i386/pc/vbe.h: Likewise.
5747 * include/grub/i386/pci.h: Likewise.
5748 * include/grub/i386/tsc.h: Likewise.
5749 * include/grub/ieee1275/ieee1275.h: Likewise.
5750 * include/grub/ntfs.h: Likewise.
5751 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5752 * include/grub/sparc64/libgcc.h: Likewise.
5753 * include/grub/symbol.h: Likewise.
5754 * include/grub/types.h: Likewise.
5755 * include/multiboot2.h: Likewise.
5756 * io/gzio.c: Likewise.
5757 * kern/device.c: Likewise.
5758 * kern/disk.c: Likewise.
5759 * kern/efi/efi.c: Likewise.
5760 * kern/efi/mm.c: Likewise.
5761 * kern/elf.c: Likewise.
5762 * kern/file.c: Likewise.
5763 * kern/i386/dl.c: Likewise.
5764 * kern/i386/pc/init.c: Likewise.
5765 * kern/i386/pc/startup.S: Likewise.
5766 * kern/ieee1275/ieee1275.c: Likewise.
5767 * kern/ieee1275/init.c: Likewise.
5768 * kern/main.c: Likewise.
5769 * kern/mm.c: Likewise.
5770 * kern/powerpc/dl.c: Likewise.
5771 * kern/sparc64/dl.c: Likewise.
5772 * kern/x86_64/dl.c: Likewise.
5773 * lib/hexdump.c: Likewise.
5774 * loader/efi/appleloader.c: Likewise.
5775 * loader/i386/ieee1275/linux.c: Likewise.
5776 * loader/i386/pc/chainloader.c: Likewise.
5777 * loader/i386/pc/linux.c: Likewise.
5778 * loader/i386/pc/multiboot2.c: Likewise.
5779 * loader/ieee1275/multiboot2.c: Likewise.
5780 * loader/multiboot2.c: Likewise.
5781 * loader/multiboot_loader.c: Likewise.
5782 * loader/powerpc/ieee1275/linux.c: Likewise.
5783 * normal/completion.c: Likewise.
5784 * normal/menu_entry.c: Likewise.
5785 * partmap/apple.c: Likewise.
5786 * util/grub.d/10_hurd.in: Likewise.
5787 * util/hostfs.c: Likewise.
5788 * video/readers/png.c: Likewise.
5789
5790 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
5791
5792 * include/grub/misc.h (GNUC_PREREQ): New macro.
5793 (ATTRIBUTE_ERROR): New macro.
5794 * include/grub/list.h (grub_bad_type_cast_real): Use
5795 ATTRIBUTE_ERROR.
5796
5797 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5798
5799 * normal/menu_text.c (print_message): Change messages.
5800
5801 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5802
5803 * normal/menu_entry.c (store_completion): Gettextizze.
5804
5805 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5806
5807 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5808
5809 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5810
5811 * po/POTFILES: Sort correctly.
5812
5813 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5814
5815 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
5816 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5817 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
5818 full stop.
5819 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
5820 summary. Gettextizze the strings.
5821 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
5822 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
5823 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
5824 full stop.
5825 (GRUB_MOD_INIT): Remove command name from summary.
5826 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
5827 summary.
5828 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
5829 * term/i386/pc/serial.c (options): Add full stops.
5830 (GRUB_MOD_INIT): Remove command name from the summary.
5831
5832 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5833
5834 * commands/acpi.c: Gettextizze help strings and/or options. Include
5835 `grub/i18n.h' if needed.
5836 * commands/blocklist.c: Likewise.
5837 * commands/boot.c: Likewise.
5838 * commands/cat.c: Likewise.
5839 * commands/cmp.c: Likewise.
5840 * commands/configfile.c: Likewise.
5841 * commands/crc.c: Likewise.
5842 * commands/date.c: Likewise.
5843 * commands/echo.c: Likewise.
5844 * commands/efi/fixvideo.c: Likewise.
5845 * commands/efi/loadbios.c: Likewise.
5846 * commands/gptsync.c: Likewise.
5847 * commands/halt.c: Likewise.
5848 * commands/handler.c: Likewise.
5849 * commands/hdparm.c: Likewise.
5850 * commands/hexdump.c: Likewise.
5851 * commands/i386/cpuid.c: Likewise.
5852 * commands/i386/pc/drivemap.c: Likewise.
5853 * commands/i386/pc/halt.c: Likewise.
5854 * commands/i386/pc/pxecmd.c: Likewise.
5855 * commands/i386/pc/vbeinfo.c: Likewise.
5856 * commands/i386/pc/vbetest.c: Likewise.
5857 * commands/ieee1275/suspend.c: Likewise.
5858 * commands/keystatus.c: Likewise.
5859 * commands/loadenv.c: Likewise.
5860 * commands/ls.c: Likewise.
5861 * commands/lsmmap.c: Likewise.
5862 * commands/lspci.c: Likewise.
5863 * commands/memrw.c: Likewise.
5864 * commands/minicmd.c: Likewise.
5865 * commands/parttool.c: Likewise.
5866 * commands/password.c: Likewise.
5867 * commands/probe.c: Likewise.
5868 * commands/read.c: Likewise.
5869 * commands/reboot.c: Likewise.
5870 * commands/search.c: Likewise.
5871 * commands/sleep.c: Likewise.
5872 * commands/test.c: Likewise.
5873 * commands/true.c: Likewise.
5874 * commands/usbtest.c: Likewise.
5875 * commands/videotest.c: Likewise.
5876 * commands/xnu_uuid.c: Likewise.
5877 * disk/loopback.c: Likewise.
5878 * hello/hello.c: Likewise.
5879 * loader/i386/bsd.c: Likewise.
5880 * term/i386/pc/serial.c: Likewise.
5881 * po/POTFILES: Add new files.
5882
5883 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
5884
5885 * term/i386/pc/at_keyboard.c
5886 (keyboard_controller_wait_untill_ready): Rename to ...
5887 (keyboard_controller_wait_until_ready): ... this. Update all users.
5888
5889 2010-01-01 Carles Pina i Estany <carles@pina.cat>
5890
5891 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5892 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5893 string using string width.
5894 * normal/menu_text.c (grub_print_message_indented): Use
5895 grub_print_spaces and not print_spaces.
5896 (print_timeout): Likewise.
5897 (print_spaces): Move to...
5898 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5899
5900 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5901
5902 Import from Gnulib.
5903
5904 * gnulib/getdelim.c: New file.
5905 * gnulib/getline.c: Likewise.
5906
5907 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5908
5909 * include/grub/list.h (grub_assert_fail): Removed.
5910 (grub_bad_type_cast_real): New function.
5911 (grub_bad_type_cast): New macro.
5912 (GRUB_AS_LIST): Use grub_bad_type_cast.
5913 (GRUB_AS_LIST_P): Likewise.
5914 (GRUB_AS_NAMED_LIST): Likewise.
5915 (GRUB_AS_NAMED_LIST_P): Likewise.
5916 (GRUB_AS_PRIO_LIST): Likewise.
5917 (GRUB_AS_PRIO_LIST_P): Likewise.
5918 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
5919
5920 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5923 Fix syntax error.
5924
5925 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5926
5927 * configure.ac: Check for TARGET_CFLAGS initialization before we
5928 initialize it ourselves (sigh).
5929 Move a few modifications to TARGET_CFLAGS to be unconditional
5930 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5931 eh_frame)
5932
5933 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5934 * term/i386/pc/at_keyboard.c
5935 (keyboard_controller_wait_untill_ready): Likewise.
5936 (keyboard_controller_led): Rename `led_status' paramter to avoid
5937 name conflict.
5938
5939 2009-12-28 Carles Pina i Estany <carles@pina.cat>
5940
5941 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5942 quotes.
5943
5944 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5947
5948 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * normal/menu_text.c (grub_print_message_indented): Prevent
5951 past-the-end-of-array dereference.
5952
5953 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5956 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5957
5958 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5959
5960 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5961 * normal/main.c (grub_normal_read_line): Remove a space from the
5962 default prompt.
5963
5964 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5965
5966 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5967 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5968 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5969 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5970 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5971 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5972 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5973
5974 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5975
5976 * video/readers/jpeg.c (cmd): Declare.
5977 (grub_cmd_jpegtest): Use `grub_command_t' type.
5978 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5979 Assign to `cmd'.
5980 (GRUB_MOD_FINI): Use `cmd' to unregister.
5981 * video/readers/png.c (cmd): Declare.
5982 (grub_cmd_pngtest): Use `grub_command_t' type.
5983 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5984 Assign to `cmd'.
5985 (GRUB_MOD_FINI): Use `cmd' to unregister.
5986 * video/readers/tga.c (cmd): Declare.
5987 (grub_cmd_tgatest): Use `grub_command_t' type.
5988 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5989 Assign to `cmd'.
5990 (GRUB_MOD_FINI): Use `cmd' to unregister.
5991
5992 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5993
5994 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5995 stops.
5996 * kern/corecmd.c (grub_register_core_commands): Likewise.
5997 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5998 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5999 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6000 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6001 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6002 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6003 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6004 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6005 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6006 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6007 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6008 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6009 * normal/handler.c (insert_handler): Likewise.
6010 * normal/main.c (GRUB_MOD_INIT): Likewise.
6011 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6012
6013 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6014
6015 * commands/help.c (grub_cmd_help): Print the command name before the
6016 summary.
6017 (GRUB_MOD_INIT): Remove command name from the summary.
6018 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
6019 string as summary.
6020 * lib/arg.c (find_long): Print the command name before the summary.
6021 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6022 summary.
6023 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6024 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6025 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6026 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6027 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6028 * commands/date.c (GRUB_MOD_INIT): Likewise.
6029 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6030 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6031 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6032 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6033 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6034 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6035 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6036 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6037 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6038 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6039 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6040 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6041 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6042 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6043 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6044 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6045 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6046 * commands/password.c (GRUB_MOD_INIT): Likewise.
6047 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6048 * commands/read.c (GRUB_MOD_INIT): Likewise.
6049 * commands/search.c (GRUB_MOD_INIT): Likewise.
6050 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6051 * commands/test.c (GRUB_MOD_INIT): Likewise.
6052 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6053 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6054 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6055 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6056 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6057 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6058 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6059 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6060 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6061 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6062 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6063 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6064 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6065 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6066
6067 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 Use search command for preliminar UUID search.
6070
6071 * commands/search.c: Split into ...
6072 * commands/search_wrap.c: ...this
6073 * commands/search.c: ...and this.
6074 * commands/search_file.c: New file.
6075 * commands/search_label.c: New file.
6076 * commands/search_uuid.c: New file.
6077 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6078 Add commands/search_wrap.c, commands/search_file.c,
6079 commands/search_label.c and commands/search_uuid.c.
6080 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6081 (search_mod_SOURCES): Set to commands/search_wrap.c.
6082 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6083 search_label.mod.
6084 (search_fs_file_mod_SOURCES): New variable.
6085 (search_fs_file_mod_CFLAGS): Likewise.
6086 (search_fs_file_mod_LDFLAGS): Likewise.
6087 (search_label_mod_SOURCES): Likewise.
6088 (search_label_mod_CFLAGS): Likewise.
6089 (search_label_mod_LDFLAGS): Likewise.
6090 (search_fs_uuid_mod_SOURCES): New variable.
6091 (search_fs_uuid_mod_CFLAGS): Likewise.
6092 (search_fs_uuid_mod_LDFLAGS): Likewise.
6093 (fs_file_mod_SOURCES): Removed.
6094 (fs_file_mod_CFLAGS): Likewise.
6095 (fs_file_mod_LDFLAGS): Likewise.
6096 (fs_uuid_mod_SOURCES): Removed.
6097 (fs_uuid_mod_CFLAGS): Likewise.
6098 (fs_uuid_mod_LDFLAGS): Likewise.
6099 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6100 Set to util/grub-install.in.
6101 * disk/fs_file.c: Removed.
6102 * disk/fs_uuid.c: Likewise.
6103 * include/grub/search.h: New file.
6104 * util/grub-install.in: Handle sparc64.
6105 Create and use load.cfg.
6106 * util/sparc64/ieee1275/grub-install.in: Removed.
6107
6108 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6111 Ignore return status if CF is cleared.
6112 (grub_biosdisk_get_diskinfo_standard): Likewise.
6113
6114 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6115
6116 * term/i386/pc/at_keyboard.c
6117 (keyboard_controller_wait_untill_ready): New function.
6118 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6119 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6120 for keyboard polling, rather than duplicate the same loop. This
6121 saves a few bytes in code size.
6122
6123 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 Support for (pxe[:server[:gateway]]) syntax and
6126 use environment variable for PXE.
6127
6128 * commands/i386/pc/pxecmd.c (options): Removed.
6129 (print_ip): Removed.
6130 (grub_cmd_pxe): Removed
6131 (grub_cmd_pxe_unload): New function.
6132 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6133 (grub_pxe_your_ip): Made static.
6134 (grub_pxe_default_server_ip): Likewise.
6135 (grub_pxe_default_gateway_ip): Likewise.
6136 (grub_pxe_blksize): Likewise.
6137 (parse_ip): New function.
6138 (grub_pxe_open): Support server and gateway specification.
6139 (grub_pxe_close): Free disk->data.
6140 (grub_pxefs_open): Use disk->data.
6141 (grub_pxefs_read): Likewise.
6142 (grub_env_write_readonly): New function.
6143 (set_mac_env): Likewise.
6144 (set_env_limn_ro): Likewise.
6145 (parse_dhcp_vendor): Likewise.
6146 (grub_pxe_detect): Set the environment variables.
6147 (set_ip_env): New function.
6148 (write_ip_env): Likewise.
6149 (grub_env_write_pxe_default_server): Likewise.
6150 (grub_env_write_pxe_default_gateway): Likewise.
6151 (grub_env_write_pxe_blocksize): Likewise.
6152 (GRUB_MOD_INIT(pxe)): Set environment variables.
6153 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6154 (grub_pxe_mac_addr_t): ... this. All users updated.
6155 (grub_pxe_your_ip): Removed.
6156 (grub_pxe_server_ip): Likewise.
6157 (grub_pxe_gateway_ip): Likewise.
6158 (grub_pxe_blksize): Likewise.
6159
6160 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6161
6162 * commands/help.c: Include `<grub/i18n.h>'.
6163 (grub_cmd_help): Gettextizze.
6164 (GRUB_MOD_INIT): Likewise.
6165 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6166 (GRUB_MOD_INIT): Gettextizze.
6167 * commands/search.c: Include `<grub/i18n.h>'.
6168 (options): Gettextizze.
6169 (GRUB_MOD_INIT): Gettextizze.
6170 * lib/arg.c: Include `<grub/i18n.h>'.
6171 (help_options): Gettextizze.
6172 (find_long): Likewise.
6173 (grub_arg_show_help): Likewise.
6174 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6175 (read_command_list): Gettextizze.
6176 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
6177 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
6178
6179 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6180
6181 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6182 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6183 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6184 (led_status): New variable.
6185 (keyboard_controller_led): New function.
6186 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6187 update led status for caps lock, num lock and scroll lock.
6188
6189 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
6190
6191 * util/hostdisk.c (open_device): Fix a comment.
6192
6193 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6194
6195 * util/grub-install.in (host_os): New variable.
6196 * util/i386/efi/grub-install.in (host_os): Likewise.
6197
6198 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6199
6200 * util/mkisofs/write.c (padblock_write): Abort when given an
6201 excedingly large embed image, instead of silently truncating it.
6202
6203 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6204
6205 * include/multiboot.h: Indentation fixes.
6206
6207 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6208
6209 * include/multiboot.h (struct multiboot_aout_symbol_table)
6210 (struct multiboot_elf_section_header_table): New structure
6211 declarations (stolen from GRUB Legacy).
6212 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6213 table information.
6214
6215 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6216 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6217 type aliases.
6218
6219 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6220
6221 * include/multiboot.h: Make comments src2texi-friendly.
6222
6223 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6224
6225 For consistency with [multiboot]/docs/boot.S.
6226
6227 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6228 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6229 (MULTIBOOT_MAGIC2): Rename from this ...
6230 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6231
6232 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6233
6234 * include/multiboot.h: Remove `<grub/types.h>'.
6235 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6236 types. Update all users.
6237
6238 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6239
6240 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6241 `couldn't' and `can not' by `cannot'.
6242 * commands/i386/pc/drivemap.c: Likewise.
6243 * disk/ata.c: Likewise.
6244 * disk/ieee1275/nand.c: Likewise.
6245 * fs/affs.c: Likewise.
6246 * fs/fat.c: Likewise.
6247 * fs/hfs.c: Likewise.
6248 * fs/hfsplus.c: Likewise.
6249 * fs/iso9660.c: Likewise.
6250 * fs/jfs.c: Likewise.
6251 * fs/minix.c: Likewise.
6252 * fs/reiserfs.c: Likewise.
6253 * fs/sfs.c: Likewise.
6254 * fs/udf.c: Likewise.
6255 * fs/ufs.c: Likewise.
6256 * fs/xfs.c: Likewise.
6257 * loader/powerpc/ieee1275/linux.c: Likewise.
6258 * loader/sparc64/ieee1275/linux.c: Likewise.
6259 * util/grub-probe.c: Likewise.
6260 * util/misc.c: Likewise.
6261
6262 2009-12-24 Carles Pina i Estany <carles@pina.cat>
6263
6264 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6265 grub_errno calls.
6266 * commands/acpi.c: Likewise.
6267 * commands/blocklist.c: Likewise.
6268 * commands/efi/loadbios.c: Likewise.
6269 * commands/i386/pc/drivemap.c: Likewise.
6270 * commands/loadenv.c: Likewise.
6271 * commands/memrw.c: Likewise.
6272 * commands/password.c: Likewise.
6273 * commands/videotest.c: Likewise.
6274 * disk/ata.c: Likewise.
6275 * disk/ata_pthru.c: Likewise.
6276 * disk/dmraid_nvidia.c: Likewise.
6277 * disk/ieee1275/nand.c: Likewise.
6278 * disk/ieee1275/ofdisk.c: Likewise.
6279 * disk/loopback.c: Likewise.
6280 * disk/lvm.c: Likewise.
6281 * disk/mdraid_linux.c: Likewise.
6282 * disk/raid.c: Likewise.
6283 * disk/raid6_recover.c: Likewise.
6284 * disk/scsi.c: Likewise.
6285 * efiemu/main.c: Likewise.
6286 * efiemu/mm.c: Likewise.
6287 * efiemu/pnvram.c: Likewise.
6288 * efiemu/symbols.c: Likewise.
6289 * font/font.c: Likewise.
6290 * fs/cpio.c: Likewise.
6291 * fs/hfsplus.c: Likewise.
6292 * fs/iso9660.c: Likewise.
6293 * fs/jfs.c: Likewise.
6294 * fs/minix.c: Likewise.
6295 * fs/ntfs.c: Likewise.
6296 * fs/ntfscomp.c: Likewise.
6297 * fs/reiserfs.c: Likewise.
6298 * fs/ufs.c: Likewise.
6299 * fs/xfs.c: Likewise.
6300 * gettext/gettext.c: Likewise.
6301 * include/grub/auth.h: Likewise.
6302 * kern/elf.c: Likewise.
6303 * kern/file.c: Likewise.
6304 * kern/ieee1275/init.c: Likewise.
6305 * kern/ieee1275/mmap.c: Likewise.
6306 * kern/ieee1275/openfw.c: Likewise.
6307 * kern/powerpc/dl.c: Likewise.
6308 * kern/sparc64/dl.c: Likewise.
6309 * lib/arg.c: Likewise.
6310 * loader/i386/bsd.c: Likewise.
6311 * loader/i386/bsdXX.c: Likewise.
6312 * loader/i386/efi/linux.c: Likewise.
6313 * loader/i386/efi/xnu.c: Likewise.
6314 * loader/i386/ieee1275/linux.c: Likewise.
6315 * loader/i386/linux.c: Likewise.
6316 * loader/i386/multiboot.c: Likewise.
6317 * loader/i386/pc/linux.c: Likewise.
6318 * loader/i386/pc/multiboot2.c: Likewise.
6319 * loader/i386/xnu.c: Likewise.
6320 * loader/ieee1275/multiboot2.c: Likewise.
6321 * loader/macho.c: Likewise.
6322 * loader/machoXX.c: Likewise.
6323 * loader/multiboot2.c: Likewise.
6324 * loader/multiboot_loader.c: Likewise.
6325 * loader/powerpc/ieee1275/linux.c: Likewise.
6326 * loader/sparc64/ieee1275/linux.c: Likewise.
6327 * loader/xnu.c: Likewise.
6328 * loader/xnu_resume.c: Likewise.
6329 * mmap/i386/pc/mmap.c: Likewise.
6330 * normal/menu_viewer.c: Likewise.
6331 * partmap/acorn.c: Likewise.
6332 * partmap/amiga.c: Likewise.
6333 * partmap/apple.c: Likewise.
6334 * script/lexer.c: Likewise.
6335 * term/gfxterm.c: Likewise.
6336 * term/i386/pc/serial.c: Likewise.
6337 * term/i386/pc/vga.c: Likewise.
6338 * term/ieee1275/ofconsole.c: Likewise.
6339 * term/terminfo.c: Likewise.
6340 * video/bitmap.c: Likewise.
6341 * video/efi_gop.c: Likewise.
6342 * video/efi_uga.c: Likewise.
6343 * video/fb/video_fb.c: Likewise.
6344 * video/i386/pc/vbe.c: Likewise.
6345 * video/readers/tga.c: Likewise.
6346 * video/video.c: Likewise.
6347
6348 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
6349
6350 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6351 * commands/lspci.c: Likewise.
6352 * commands/probe.c: Likewise.
6353 * commands/xnu_uuid.c: Likewise.
6354 * conf/i386-coreboot.rmk: Likewise.
6355 * conf/i386-efi.rmk: Likewise.
6356 * conf/i386-ieee1275.rmk: Likewise.
6357 * conf/i386-pc.rmk: Likewise.
6358 * conf/powerpc-ieee1275.rmk: Likewise.
6359 * conf/sparc64-ieee1275.rmk: Likewise.
6360 * conf/x86_64-efi.rmk: Likewise.
6361 * fs/i386/pc/pxe.c: Likewise.
6362 * gettext/gettext.c: Likewise.
6363 * include/grub/efi/graphics_output.h: Likewise.
6364 * include/grub/i386/pc/memory.h: Likewise.
6365 * kern/env.c: Likewise.
6366 * kern/i386/qemu/startup.S: Likewise.
6367 * lib/i386/pc/biosnum.c: Likewise.
6368 * lib/i386/relocator.c: Likewise.
6369 * lib/i386/relocator_asm.S: Likewise.
6370 * lib/relocator.c: Likewise.
6371 * loader/i386/bsd.c: Likewise.
6372 * loader/i386/multiboot.c: Likewise.
6373 * loader/i386/pc/chainloader.c: Likewise.
6374 * loader/i386/xnu.c: Likewise.
6375 * loader/xnu.c: Likewise.
6376 * normal/main.c: Likewise.
6377 * normal/menu_text.c: Likewise.
6378 * util/getroot.c: Likewise.
6379 * util/grub-mkconfig_lib.in: Likewise.
6380 * util/grub.d/00_header.in: Likewise.
6381 * util/i386/pc/grub-mkimage.c: Likewise.
6382 * util/mkisofs/eltorito.c: Likewise.
6383 * util/mkisofs/exclude.h: Likewise.
6384 * util/mkisofs/hash.c: Likewise.
6385 * util/mkisofs/iso9660.h: Likewise.
6386 * util/mkisofs/joliet.c: Likewise.
6387 * util/mkisofs/mkisofs.c: Likewise.
6388 * util/mkisofs/mkisofs.h: Likewise.
6389 * util/mkisofs/multi.c: Likewise.
6390 * util/mkisofs/name.c: Likewise.
6391 * util/mkisofs/rock.c: Likewise.
6392 * util/mkisofs/tree.c: Likewise.
6393 * util/mkisofs/write.c: Likewise.
6394 * video/efi_gop.c: Likewise.
6395
6396 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6399 size counting.
6400
6401 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6402
6403 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6404 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6405
6406 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6409 (GRUB_MOD_INIT(memrw)): Update help line.
6410
6411 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6414 Use grub_extcmd_t. All users updated.
6415 (options): New variable.
6416 (grub_cmd_read): Restructure for readability. Support "-v" option.
6417 (grub_cmd_write): Restructure for readability.
6418
6419 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6420
6421 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6422
6423 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6424
6425 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6426 with the actual contents of the correspondending make variable.
6427 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6428 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6429 specifying `*.lst' and `efiemu??.o'
6430
6431 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6432
6433 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6434 after function name.
6435 Noticed by Rene Engelhard <rene@debian.org>.
6436
6437 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6440 (options): New variable.
6441 (iospace): Likewise.
6442 (grub_lspci_iter): List IO spaces if "-i" was given.
6443 (grub_cmd_lspci): Parse options.
6444 (GRUB_MOD_INIT(lspci)): Use extcmd.
6445 (GRUB_MOD_FINI(lspci)): Likewise.
6446
6447 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6448
6449 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6450 `function' keyword.
6451 Patch by Tony Mancill <tmancill@debian.org>.
6452
6453 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6456 (grub_uhci_portstatus): Likewise.
6457 (grub_uhci_portstatus): Add necessary delay.
6458 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
6459
6460 2009-12-21 Carles Pina i Estany <carles@pina.cat>
6461
6462 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6463 (GRUB_MOD_INIT): Likewise.
6464 * commands/boot.c (GRUB_MOD_INIT): Likewise.
6465 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6466 * commands/echo.c (options): Fix capitalizations and/or full stops.
6467 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6468 (enable_rom_area): Likewise.
6469 (GRUB_MOD_INIT): Likewise.
6470 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6471 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6472 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6473 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6474 * commands/hexdump.c (options): Likewise.
6475 * commands/i386/cpuid.c (options): Likewise.
6476 (GRUB_MOD_INIT): Likewise.
6477 * commands/i386/pc/drivemap.c (options): Likewise.
6478 (GRUB_MOD_INIT): Likewise.
6479 * commands/i386/pc/halt (options): Likewise.
6480 (GRUB_MOD_INIT): Likewise.
6481 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6482 * commands/i386/pc/pxecmd.c (options): Likewise.
6483 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6484 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6485 * commands/keystatus.c (options): Likewise.
6486 (GRUB_MOD_INIT): Likewise.
6487 * commands/loadenv.c (options): Likewise.
6488 * commands/ls.c (options): Likewise.
6489 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6490 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6491 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6492 * commands/parttool.c (helpmsg): Likewise.
6493 * commands/probe.c (options): Likewise.
6494 * commands/read.c (GRUB_MOD_INIT): Likewise.
6495 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6496 * commands/search.c (options): Likewise.
6497 * commands/sleep.c (options): Likewise.
6498 * commands/test.c (GRUB_MOD_INIT): Likewise.
6499 * commands/true.c (GRUB_MOD_INIT): Likewise.
6500 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6501 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6502 * lib/arg.c (help_options): Likewise.
6503 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6504 `$(XGETTEXT)'.
6505 * po/POTFILES: Add `commands/loadenv.c'.
6506
6507 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
6508
6509 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
6510 instead of specifying them explicit.
6511
6512 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6513
6514 * NEWS: Add grub-probe support for GNU/Hurd.
6515
6516 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6517
6518 * NEWS: gettext was added after 1.97.
6519
6520 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6521
6522 * util/mkisofs/msdos_partition.h: New file (based on
6523 include/grub/msdos_partition.h).
6524 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6525 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6526 (ld_options, main): Recognize --protective-msdos-label.
6527 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6528 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6529 (padblock_write): If `use_protective_msdos_label' is set, patch a
6530 protective DOS-style label in the output image.
6531
6532 * util/grub-mkrescue.in: Use --protective-msdos-label.
6533
6534 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6535
6536 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6537 boot.
6538
6539 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6540
6541 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6542 variables.
6543 (ld_options, main): Recognize `--embedded-boot'.
6544 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6545 declarations.
6546 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6547 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6548 (padblock_write): Likewise. Rewrite to support embedded boot image.
6549
6550 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6551 for BIOS-based disk boot instead of only ElTorito.
6552
6553 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6554
6555 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6556 build (not needed for bootstrap).
6557
6558 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6559
6560 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6561 from i386-pc build (not needed for bootstrap).
6562 Rewrite a pair of strings.
6563
6564 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6565
6566 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6567
6568 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6571
6572 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6573
6574 * kern/env.c (grub_env_context_open): Mark exported variable for
6575 reexport.
6576
6577 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6578
6579 * kern/env.c (grub_env_export): Create nonexistent variables before
6580 exporting.
6581
6582 2009-12-20 Carles Pina i Estany <carles@pina.cat>
6583
6584 * include/grub/auth.h: Include `<grub/i18n.h>'.
6585 (GRUB_GET_PASSWORD): Gettextizze string.
6586 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6587 menu_text.c.
6588 (grub_utf8_to_ucs4_alloc): Fix indentation.
6589 (grub_print_ucs4): Likewise.
6590 (grub_getstringwidth): Likewise.
6591 (print_message_indented): New declaration.
6592 * normal/auth.c: Include `<grub/i18n.h>'.
6593 (grub_auth_check_authentication): Gettexttize string.
6594 * normal/cmdline.c: Include `<grub/i18n.h>'.
6595 (grub_cmdline_get): Gettextizze.
6596 * normal/color.c: Include `<grub/i18n.h>'.
6597 (grub_parse_color_name_pair): Gettexttize strings.
6598 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6599 string (use `print_message_indented').
6600 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6601 `include/grub/normal.h'.
6602 (print_message_indented): Renamed to ...
6603 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6604 used in normal/main.c).
6605 (print_message): Use `grub_print_message_indented' instead of
6606 `print_message_indented'.
6607 (print_timeout): Likewise.
6608 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6609 (grub_normal_print_device_info): Gettexttize strings.
6610 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6611
6612 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6615 of arguments. Return number of tokens and not arguments. All users
6616 updated.
6617
6618 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6621 non-MSDOS paritions.
6622
6623 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * include/grub/types.h (UNUSED): Removed since it conflicts with
6626 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6627 Reported by Grégoire Sutre.
6628
6629 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6630
6631 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6632 (grub_print_ucs4_alloc): Likewise.
6633 (grub_getstringwidth): Likewise.
6634 * normal/main.c (grub_normal_init_page): Gettextize version string.
6635 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6636 (getstringwidth): Renamed to ...
6637 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6638 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6639 (grub_print_ucs4): Remove `static' qualifer (now used in
6640 normal/main.c).
6641 * po/POTFILES: Add normal/main.c.
6642
6643 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6644
6645 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6646 (print_message_indented): Add `margin_left' and `margin_right'
6647 parameters.
6648 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6649 strings.
6650 (print_timeout): Use `print_message_indented' to print the message.
6651 Deletes `second_stage' parameter.
6652 (run_menu): Update `print_timeout' calls.
6653
6654 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 Fix console palette on OpenFirmware.
6657
6658 * term/ieee1275/ofconsole.c (MAX): Removed.
6659 (colors): Redone based on VGA palette.
6660 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6661 colors are supported.
6662 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6663
6664 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 Fix potential EfiEmu double prepare.
6667
6668 * efiemu/main.c (prepared): New variable
6669 (grub_efiemu_unload): Set prepare to '0'.
6670 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6671
6672 set_virtual_address_map support.
6673
6674 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6675 prototype.
6676 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6677 prototype.
6678 (grub_efiemu_crc32): Likewise.
6679 (grub_efiemu_crc64): Likewise.
6680 (grub_efiemu_set_virtual_address_map): Likewise.
6681 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6682 New definition.
6683 (grub_autoefi_set_virtual_address_map): Likewise.
6684 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6685 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6686 Restructure flow to accomodate it.
6687 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6688 (grub_efiemu_crc): Recompute CRC32.
6689 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6690 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6691 * efiemu/symbols.c (relocated_handle): New variable.
6692 (grub_efiemu_free_syms): Free relocated_handle.
6693 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6694 (grub_efiemu_write_sym_markers): New function.
6695 (grub_efiemu_set_virtual_address_map): Likewise.
6696
6697 Newer XNU parameters.
6698
6699 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6700 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6701 (grub_xnu_fill_devicetree): New prototype.
6702 (grub_xnu_heap_real_start): New variable.
6703 * loader/xnu.c (get_name_ptr): New function.
6704 (grub_xnu_load_driver): Fill namelen and name.
6705
6706 64-bit xnu support.
6707
6708 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6709 and 'loader/macho64.c'.
6710 * conf/i386-pc.rmk: Likewise.
6711 * conf/x86_64-efi.rmk: Likewise.
6712 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6713 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6714 * include/grub/macho.h (grub_macho_segment64): New structure.
6715 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6716 (grub_macho_size32): ... to this.
6717 (grub_macho32_get_entry_point): Renamed from ...
6718 (grub_macho_get_entry_point32): ... to this.
6719 (grub_macho_contains_macho64): New prototype.
6720 (grub_macho_size64): Likewise.
6721 (grub_macho_get_entry_point64): Likewise.
6722 (grub_macho32_load): Renamed from ...
6723 (grub_macho_load32): ... to this.
6724 (grub_macho32_filesize): Renamed from ...
6725 (grub_macho_filesize32): ... to this.
6726 (grub_macho32_readfile): Renamed from ...
6727 (grub_macho_readfile32): ... to this.
6728 (grub_macho_filesize64): New prototype.
6729 (grub_macho_readfile64): Likewise.
6730 (grub_macho_parse32): Likewise.
6731 (grub_macho_parse64): Likewise.
6732 * loader/macho.c: Split into ...
6733 * loader/machoXX.c: ... and this. Replace 32 with XX.
6734 * loader/macho32.c: New file.
6735 * loader/macho64.c: Likewise.
6736 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6737 (grub_cmd_xnu_kernel): Make 32-bit only.
6738 (grub_cmd_xnu_kernel64): New function.
6739 (grub_xnu_load_driver): Support Mach-O 64.
6740 (grub_cmd_xnu_mkext): Likewise.
6741 * util/grub.d/30_os-prober.in (osx_entry): New function.
6742 Generate entries for 64-bit boot too.
6743
6744 Eliminate ad-hoc tree format in XNU and EfiEmu.
6745
6746 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6747 * efiemu/pnvram.c: Rewritten to use environment variables.
6748 All users updated.
6749
6750 Inline utf16_to_utf8.
6751
6752 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6753 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6754 All users updated.
6755 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6756
6757 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6758 * commands/usbtest.c (grub_usb_get_string): ... move here.
6759 (usb_print_str): Fix error handling.
6760 * include/grub/usb.h (grub_usb_get_string): Remove.
6761
6762 UTF-8 to UTF-16 transformation.
6763
6764 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6765 (charset_mod_SOURCES): New variable.
6766 (charset_mod_CFLAGS): Likewise.
6767 (charset_mod_LDFLAGS): Likewise.
6768 * include/grub/utf.h: New file.
6769 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6770
6771 Support for device properties.
6772
6773 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6774 (grub_xnu_devprop_device_header): Likewise.
6775 (grub_xnu_devprop_device_descriptor): Likewise.
6776 (grub_xnu_devprop_add_device): New prototype.
6777 (grub_xnu_devprop_remove_device): Likewise.
6778 (grub_xnu_devprop_remove_property): Likewise.
6779 (grub_xnu_devprop_add_property_utf8): Likewise.
6780 (grub_xnu_devprop_add_property_utf16): Likewise.
6781 (grub_cpu_xnu_init): Likewise.
6782 (grub_cpu_xnu_fini): Likewise.
6783 (grub_cpu_xnu_unload): Likewise.
6784 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6785 (property_descriptor): Likewise.
6786 (devices): New variable.
6787 (grub_xnu_devprop_remove_property): New function.
6788 (grub_xnu_devprop_add_device): Likewise.
6789 (grub_xnu_devprop_remove_device): Likewise.
6790 (grub_xnu_devprop_add_property): Likewise.
6791 (grub_xnu_devprop_add_property_utf8): Likewise.
6792 (grub_xnu_devprop_add_property_utf16): Likewise.
6793 (hextoval): Likewise.
6794 (grub_cpu_xnu_fill_devprop): Likewise.
6795 (grub_cmd_devprop_load): Likewise.
6796 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6797 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6798 (cmd_devprop_load): New variable.
6799 (grub_cpu_xnu_init): New function.
6800 (grub_cpu_xnu_fini): Likewise.
6801 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6802 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6803 (grub_cmd_xnu_devtree): Likewise.
6804 (hextoval): New function.
6805 (unescape): Likewise.
6806 (grub_xnu_fill_devicetree): Likewise.
6807
6808 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6809 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6810
6811 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 Workaround for broken ATI VBE.
6814
6815 * video/i386/pc/vbe.c (last_set_mode): New variable.
6816 (grub_vbe_set_video_mode): Set 'last_set_mode'.
6817 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
6818 (grub_video_vbe_setup): Don't check for reserved flag.
6819
6820 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
6821
6822 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
6823 the `find' command.
6824
6825 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 UUID support for HFS.
6828
6829 * fs/hfs.c (grub_hfs_uuid): New function.
6830 (grub_hfs_fs): New value .uuid.
6831 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
6832
6833 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
6834
6835 Fix a segfault with parsing unknown long options.
6836
6837 * util/grub-mkrelpath.c (options): Zero terminate it.
6838
6839 2009-12-13 Carles Pina i Estany <carles@pina.cat>
6840
6841 * include/grub/misc.h (grub_puts): New declaration.
6842 (grub_puts_): Likewise.
6843 * kern/misc.c (grub_puts): New definition.
6844 (grub_puts_): Likewise.
6845
6846 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6847
6848 * util/grub-probe.c (probe): Improve error message.
6849
6850 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6851
6852 * loader/i386/multiboot_elfxx.c
6853 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6854 initialization.
6855
6856 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Relocator framework
6859
6860 * loader/i386/xnu_helper.S: Removed. All users updated.
6861 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6862 (relocator_mod_SOURCES): New variable.
6863 (relocator_mod_CFLAGS): Likewise.
6864 (relocator_mod_LDFLAGS): Likewise.
6865 (relocator_mod_ASFLAGS): Likewise.
6866 * conf/x86_64.rmk: Likewise.
6867 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6868 (grub_multiboot_payload_entry_offset): Likewise.
6869 (grub_multiboot_forward_relocator): Likewise.
6870 (grub_multiboot_forward_relocator_end): Likewise.
6871 (grub_multiboot_backward_relocator): Likewise.
6872 (grub_multiboot_backward_relocator_end): Likewise.
6873 (grub_multiboot_payload_eip): New variable.
6874 (grub_multiboot_payload_orig): Likewise.
6875 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6876 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6877 * include/grub/i386/memory.h
6878 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6879 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6880 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6881 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6882 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6883 * include/grub/i386/relocator.h: New file.
6884 * include/grub/x86_64/relocator.h: Likewise.
6885 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6886 (XNU_RELOCATOR): New macro.
6887 (grub_xnu_launcher_start): Remove.
6888 (grub_xnu_launcher_end): Likewise.
6889 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6890 (grub_xnu_heap_real_start): Remove.
6891 (grub_xnu_heap_start): Change to void *. All users updated.
6892 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6893 * lib/i386/relocator.c: New file.
6894 * lib/i386/relocator_asm.S: Likewise.
6895 * lib/i386/relocator_backward.S: Likewise.
6896 * lib/mips/relocator.c: Likewise.
6897 * lib/mips/relocator_asm.S: Likewise.
6898 * lib/relocator.c: Likewise.
6899 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6900 (entry): Removed.
6901 (playground): Likewise.
6902 (grub_multiboot_payload_orig): New variable.
6903 (grub_multiboot_payload_dest): Likewise.
6904 (grub_multiboot_payload_size): Likewise.
6905 (grub_multiboot_payload_eip): Likewise.
6906 (grub_multiboot_payload_esp): Likewise.
6907 (grub_multiboot_boot): Use grub_relocator32_boot.
6908 (grub_multiboot_unload): Free relocators.
6909 (grub_multiboot): Setup stack. Use relocators.
6910 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6911 (grub_multiboot_load_elfXX): Use relocators.
6912 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6913 (grub_multiboot_payload_size): Likewise.
6914 (grub_multiboot_payload_dest): Likewise.
6915 (grub_multiboot_payload_entry_offset): Likewise.
6916 (grub_multiboot_forward_relocator): Likewise.
6917 (grub_multiboot_backward_relocator): Likewise.
6918 (grub_multiboot_real_boot): Likewise.
6919 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6920 (grub_xnu_entry_point): Likewise.
6921 (grub_xnu_arg1): Likewise.
6922 (grub_xnu_stack): Likewise.
6923 (grub_xnu_launch): Removed.
6924 (grub_xnu_boot_resume): New function.
6925 (grub_xnu_boot): Use relocators.
6926 * loader/i386/xnu_helper.S: Removed.
6927 * loader/xnu.c (grub_xnu_heap_start): New variable.
6928 (grub_xnu_heap_size): Likewise.
6929 (grub_xnu_heap_malloc): Use relocators.
6930 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6931
6932 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6935 anything.
6936
6937 2009-12-13 Carles Pina i Estany <carles@pina.cat>
6938
6939 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6940 GRUB_ERR_NONE before calling grub_env_set.
6941
6942 2009-12-12 Robert Millan <rmh@aybabtu.com>
6943
6944 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6945 * genmk.rb (video): New variable.
6946 (CLEANFILES, VIDEOFILES): Add #{video}.
6947 (#{video}): New target rule.
6948 * genvideolist.sh: New file.
6949 * Makefile.in (pkglib_DATA): Add video.lst.
6950 (video.lst): New target rule.
6951 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6952 `video.lst'.
6953 * util/grub.d/30_os-prober.in: Replace `vbe' with
6954 ${GRUB_VIDEO_BACKEND}.
6955
6956 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6957
6958 * THANKS: Add David Miller.
6959
6960 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 libpciaccess support.
6963
6964 * Makefile.in (LIBPCIACCESS): New variable.
6965 (enable_grub_emu_pci): Likewise.
6966 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6967 util/pci.c and commands/lspci.c.
6968 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6969 * configure.ac (grub-emu-pci): New option.
6970 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6971 (grub_pci_device_unmap_range): Likewise.
6972 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6973 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6974 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6975 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6976 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6977 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6978 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6979 * include/grub/pciutils.h: New file.
6980 * util/pci.c: Likewise.
6981
6982 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
6983
6984 * util/misc.c: Don't include <errno.h> twice.
6985
6986 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
6987
6988 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6989 name in an error message.
6990 (grub_biosdisk_rw): Likewise.
6991
6992 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Eliminate NTFS 4Gib barrier.
6995
6996 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6997 (read_run_data): Likewise.
6998 (grub_ntfs_read_run_list): Likewise.
6999 (grub_ntfs_read_block): Likewise.
7000 (grub_ntfs_iterate_dir): Likewise.
7001 (read_mft): Likewise.
7002 (read_data): Likewise.
7003 Use COM_LOG_LEN.
7004 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7005 to avoid 64-bit division
7006 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7007 (grub_ntfs_rlst): Use grub_disk_addr_t.
7008
7009 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 Eliminate grub-fstest 4Gib barrier.
7012
7013 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7014 (read_file): Fix error reporting.
7015
7016 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 Eliminate hexdump 4Gib barrier.
7019
7020 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7021 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7022
7023 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7026 Fixes amarsh bug.
7027
7028 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7029
7030 Remove miscellaneous files in distclean target.
7031
7032 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7033
7034 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
7035
7036 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7037 if they're already set. This resolves the conflict between my
7038 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7039 fixing the --grub-probe option again.
7040 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7041 change on 2009-10-06, so that we now once again source
7042 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7043
7044 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7045
7046 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7047 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7048 `util/devicemap.c'.
7049
7050 2009-12-08 Carles Pina i Estany <carles@pina.cat>
7051
7052 * include/grub/misc.h (grub_printf_): New declaration.
7053 * kern/misc.c (grub_printf_): New definition.
7054 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7055 instead of `grub_printf' and `_'.
7056 * normal/menu_entry.c (store_completion): Likewise.
7057 (run): Likewise.
7058 (grub_menu_entry_run): Likewise.
7059 * normal/menu_text.c (grub_wait_after_message): Likewise.
7060 (notify_booting): Likewise.
7061 (notify_fallback): Likewise.
7062 (notify_execution_failure): Likewise.
7063
7064 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
7065
7066 * configure.ac: Check for vasprintf.
7067 * util/misc.c (asprintf): Move allocation from here ...
7068 (vasprintf): ... to here. New function.
7069 (xasprintf): New function.
7070 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7071 prototypes.
7072 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7073 * util/grub-mkfont.c (write_font): Likewise.
7074 * util/grub-probe.c (probe): Likewise.
7075 * util/hostdisk.c (make_device_name): Likewise.
7076
7077 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
7078
7079 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7080 anything even prefixed with 'cdrom' as a cdrom.
7081
7082 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
7083
7084 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7085 mount points.
7086
7087 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7088
7089 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7090 grub_gettext_msg_list.
7091 (grub_gettext_gettranslation_from_position): Return const char *
7092 and not char *.
7093 (grub_gettext_translate): Add the translated strings into a list,
7094 returns from the list if existing there.
7095 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7096 (grub_gettext_delete_list): Delete the list.
7097 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7098 lang environment variable is changed.
7099 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7100
7101 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 Rename kernel.mod to kernel.img.
7104
7105 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7106 (kernel_mod_EXPORTS): Rename to ...
7107 (kernel_img_EXPORTS): ... this.
7108 (kernel_mod_SOURCES): Rename to ...
7109 (kernel_img_SOURCES): ... this.
7110 (kernel_mod_HEADERS): Rename to ...
7111 (kernel_img_HEADERS): ... this. All users updated.
7112 (kernel_mod_CFLAGS): Rename to ...
7113 (kernel_img_CFLAGS): ... this.
7114 (kernel_mod_ASFLAGS): Rename to ...
7115 (kernel_img_ASFLAGS): ... this.
7116 (kernel_mod_LDFLAGS): Rename to ...
7117 (kernel_img_LDFLAGS): ... this.
7118 * conf/x86_64-efi.rmk: Likewise.
7119 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7120 (read_kernel_image): ... this. All users updated.
7121 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7122
7123 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7124
7125 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7126 (print_spaces): New function.
7127 (grub_print_ucs4): New function.
7128 (getstringwidth): New function.
7129 (print_message_indented): New function.
7130 (print_message): Gettexttize strings using print_message_indented.
7131 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7132 width.
7133 (get_entry_number): Gettextize and uses dynamic terminal width.
7134 (notify_booting, notify_fallback, notify_execution_failure):
7135 Gettextize.
7136 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7137 string.
7138 (run): Likewise.
7139 (grub_menu_entry_run): Likewise.
7140 * PO/POTFILES: Add normal/menu_entry.c.
7141
7142 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7145
7146 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7147
7148 * util/grub-install.in: Install gettext .mo files.
7149 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7150
7151 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7152
7153 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7154 grub_dprintf.
7155
7156 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7157
7158 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7159 non-firmware-dependant one in realmode.S takes precedence.
7160
7161 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7162
7163 * commands/halt.c: Replace misc arch-specific headers with
7164 `<grub/misc.h>'.
7165 * commands/reboot.c: Likewise.
7166 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7167 `<grub/misc.h>'.
7168 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7169 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7170 (kernel_img_SOURCES): ... to here.
7171
7172 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7173 * include/grub/i386/pc/init.h: Likewise.
7174 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7175 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7176
7177 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7178
7179 * include/grub/i386/halt.h: Remove.
7180 * include/grub/i386/reboot.h: Likewise.
7181
7182 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7183
7184 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
7185
7186 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7187 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7188 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7189 "progname.h"
7190 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7191 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7192 (usage): Add missing comma in printf.
7193
7194 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7195
7196 Use the same reboot approach on i386 coreboot and qemu as we do on
7197 BIOS.
7198
7199 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7200 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7201 * kern/i386/reboot.c: Remove.
7202 * include/grub/i386/reboot.h (grub_reboot): Export function.
7203 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7204 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7205 0xf000:0xfff0 instead of 0xffff:0x0000.
7206 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7207 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7208
7209 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7210
7211 Fix $srcdir != $objdir build.
7212
7213 * Makefile.in (po/%.po): Rewrite as ...
7214 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7215
7216 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7217
7218 Fix GNU/Hurd grub-install crash.
7219 * util/grub-probe.c (probe): Try to access `path' only when it is not
7220 NULL.
7221
7222 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 Correct module naming.
7225
7226 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7227 (GRUB_MOD_INIT(efi_uga)): ... to this
7228 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7229 (GRUB_MOD_FINI(efi_uga)): ... to this
7230 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7231 (GRUB_MOD_INIT(efi_gop)): ... to this
7232 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7233 (GRUB_MOD_FINI(efi_gop)): ... to this
7234
7235 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7236
7237 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7238 translatable.
7239 (usage): Translate `arg' strings using gettext().
7240 Thanks to Jordi Mallach for the suggestion.
7241
7242 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 GOP support. Based on patch from Bean
7245 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7246
7247 * video/efi_gop.c: New file.
7248 * include/grub/efi/graphics_output.h: Likewise.
7249 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7250 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7251 variables.
7252 * conf/x86_64-efi.rmk: Likewise.
7253
7254 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 Rename efi_fb to efi_uga.
7257
7258 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7259 'efi_uga.mod'.
7260 (efi_fb_mod_SOURCES): Rename this ...
7261 (efi_uga_mod_SOURCES): ... to this.
7262 (efi_fb_mod_CFLAGS): Rename this ...
7263 (efi_uga_mod_CFLAGS): ... to this.
7264 (efi_fb_mod_LDFLAGS): Rename this ...
7265 (efi_uga_mod_LDFLAGS): ... to this.
7266 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7267 'efi_uga.mod'.
7268 (efi_fb_mod_SOURCES): Rename this ...
7269 (efi_uga_mod_SOURCES): ... to this.
7270 (efi_fb_mod_CFLAGS): Rename this ...
7271 (efi_uga_mod_CFLAGS): ... to this.
7272 (efi_fb_mod_LDFLAGS): Rename this ...
7273 (efi_uga_mod_LDFLAGS): ... to this.
7274 * video/efi_fb.c: Move this ...
7275 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7276
7277 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7278
7279 * po/README: New file. Explain our PO file workflow.
7280
7281 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7282
7283 * po/ChangeLog: Remove. Move relevant entries back to ...
7284 * ChangeLog: ... here.
7285 * po/ca.po: Remove (now handled by TLP).
7286 * po/id.po: Likewise.
7287 * po/zh_CN.po: Likewise.
7288 * Makefile.in (LINGUAS): Initialize in a way that supports
7289 empty set.
7290
7291 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7292
7293 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7294 reliing on po/LINGUAS.
7295 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7296 (po/%.po): ... this.
7297
7298 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7299
7300 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7301 (main): Use `program_name' instead of nonexistent `progname'.
7302
7303 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7304
7305 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7306 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7307
7308 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7309
7310 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7311 commit.
7312 * conf/i386-efi.rmk: Likewise.
7313 * conf/i386-ieee1275.rmk: Likewise.
7314 * conf/powerpc-ieee1275.rmk: Likewise.
7315 * conf/sparc64-ieee1275.rmk: Likewise.
7316 * conf/x86_64-efi.rmk: Likewise.
7317
7318 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7319
7320 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7321
7322 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7323
7324 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7325
7326 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7327
7328 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7329 (grub_mkdevicemap_SOURCES): New variable.
7330 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7331 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7332 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7333 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7334 (grub_mkdevicemap_SOURCES): Remove.
7335 * conf/i386-efi.rmk: Likewise.
7336 * conf/i386-ieee1275.rmk: Likewise.
7337 * conf/i386-pc.rmk: Likewise.
7338 * conf/powerpc-ieee1275.rmk: Likewise.
7339 * conf/sparc64-ieee1275.rmk: Likewise.
7340 * conf/x86_64-efi.rmk: Likewise.
7341 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7342 (usage): Fix strings to use `program_name'.
7343 (main): Initialize gettext.
7344 * util/grub-editenv.c: Likewise.
7345 * util/grub-emu.c: Likewise.
7346 * util/grub-fstest.c: Likewise.
7347 * util/grub-mkdevicemap.c: Likewise.
7348 * util/grub-mkfont.c: Likewise.
7349 * util/grub-mkrelpath.c: Likewise.
7350 * util/grub-pe2elf.c: Likewise.
7351 * util/grub-probe.c: Likewise.
7352 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7353 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7354 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7355
7356 * util/misc.c: Include `"progname.h"'.
7357 (progname): Remove variable.
7358 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7359
7360 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7361
7362 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7363 printf and print a newline after the menuentry header line.
7364 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7365
7366 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7367
7368 autoconf >= 2.60 support $(localedir).
7369
7370 * INSTALL: Note that autoconf 2.60 is required.
7371 * configure.ac (AC_PREREQ): Bump to 2.60.
7372 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7373 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7374
7375 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7376
7377 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7378 aclocal is run.
7379
7380 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7381
7382 * normal/main.c (grub_normal_read_line): Fix off-by-one
7383 buffer overflow.
7384
7385 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7386
7387 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7388 "parser.grub" in grub_command_execute() call.
7389
7390 2009-11-24 Carles Pina i Estany <carles@pina.cat>
7391
7392 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7393 * conf/i386-efi.rmk: Likewise.
7394 * conf/i386-ieee1275.rmk: Likewise.
7395 * conf/i386-pc.rmk: Likewise.
7396 * conf/powerpc-ieee1275.rmk: Likewise.
7397 * conf/sparc64-ieee1275.rmk: Likewise.
7398 * conf/x86_64-efi.rmk: Likewise.
7399 * gettext/gettex.c: Include <grub/i18n.h>.
7400 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7401 here ...
7402 * include/grub/i18n.h: ... to here
7403 * include/grub/i18n.h: ... to here.
7404 * kern/misc.c: Include <grub/i18n.h>
7405 (grub_gettext_dummy): Move above user.
7406
7407 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7408
7409 * util/Makefile.in (install-local): Convert a `for' into a normal
7410 shell expansion.
7411
7412 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7413
7414 * autogen.sh: Add automake call.
7415 * config.guess: Remove.
7416 * config.sub: Likewise.
7417 * install-sh: Likewise.
7418
7419 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7420
7421 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7422
7423 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7424
7425 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7426 function to a normal shell `for'.
7427
7428 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7429
7430 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7431
7432 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7433
7434 * util/grub-mkrelpath.c: New file.
7435 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7436 (grub_mkrelpath_SOURCES): New variable.
7437 * include/grub/util/misc.h: New function prototype.
7438 * util/misc.c (make_system_path_relative_to_its_root): New function.
7439
7440 * util/grub-mkconfig_lib.in (bindir): New variable.
7441 (grub_mkrelpath): Likewise.
7442 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7443
7444 * util/probe.c (probe): Make the file path relative to its root.
7445 Change a info message to use the GRUB path. Enable again the
7446 check if we can read the file with GRUB facilities.
7447
7448 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7449 to its root.
7450
7451 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7452
7453 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7454 platform.
7455
7456 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7457
7458 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7459 strncmp().
7460
7461 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7462
7463 * util/getroot.c (grub_util_is_dmraid): New function.
7464 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7465 devices as normal ones, not as LVM.
7466
7467 2009-11-23 Carles Pina i Estany <carles@pina.cat>
7468
7469 * conf/common.rmk: Add grub-gettext_lib target and updates
7470 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7471 LDFLAGS.
7472 * gettext/gettext.c: New file. (Reads mo files).
7473 * include/grub/file.h (grub_file_pread): New prototype.
7474 * include/grub/i18n.h (_): New prototype.
7475 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7476 prototypes.
7477 * kern/misc.c (grub_gettext_dummy): New function.
7478 * normal/menu_text.c: Include <grub/i18n.h>.
7479 * normal/menu_text.c (print_timeout): Gettexttize string.
7480 * normal/menu_text.c (print_message): Gettexttize string.
7481 * po/POTFILES: Add `normal/menu_text.c'.
7482 * po/ca.po: Add new translations.
7483 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7484 gettext module and defines locale_dir and lang in grub.cfg.
7485 * NEWS: Add gettext support.
7486
7487 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7488
7489 * util/hostdisk.c: Include `<grub/i18n.h>'.
7490 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7491 (make_device_name): Rewrite using asprintf.
7492 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7493 (find_system_device): If a device is not found, generate one just
7494 by reusing the OS path name.
7495 (read_device_map): Make it permissible for device.map not to exist.
7496
7497 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7498
7499 * script/sh/execute.c: Move from here ...
7500 * script/execute.c: ... to here. Update all users.
7501 * script/sh/function.c: Move from here ...
7502 * script/function.c: ... to here. Update all users.
7503 * script/sh/lexer.c: Move from here ...
7504 * script/lexer.c: ... to here. Update all users.
7505 * script/sh/main.c: Move from here ...
7506 * script/main.c: ... to here. Update all users.
7507 * script/sh/parser.y: Move from here ...
7508 * script/parser.y: ... to here. Update all users.
7509 * script/sh/script.c: Move from here ...
7510 * script/script.c: ... to here. Update all users.
7511
7512 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7513
7514 * configure.ac: Detect all `emu' platforms. Define
7515 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7516 --enable-grub-emu logic. Disable include/grub/machine
7517 symlink on `emu' platforms.
7518
7519 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7520 * gensymlist.sh.in: Likewise.
7521
7522 * include/grub/i386/coreboot/machine.h: Remove file.
7523 * include/grub/i386/efi/machine.h: Likewise.
7524 * include/grub/i386/ieee1275/machine.h: Likewise.
7525 * include/grub/i386/pc/machine.h: Likewise.
7526 * include/grub/i386/qemu/machine.h: Likewise.
7527 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7528 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7529 * include/grub/x86_64/efi/machine.h: Likewise.
7530
7531 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7532 * commands/halt.c: Likewise.
7533 * commands/reboot.c: Likewise.
7534 * include/grub/autoefi.h: Likewise.
7535 * include/grub/i386/at_keyboard.h: Likewise.
7536 * include/grub/i386/kernel.h: Likewise.
7537 * include/grub/i386/loader.h: Likewise.
7538 * include/grub/i386/pc/memory.h: Likewise.
7539 * kern/dl.c: Likewise.
7540 * kern/i386/coreboot/init.c: Likewise.
7541 * loader/i386/bsd.c: Likewise.
7542 * loader/i386/linux.c: Likewise.
7543 * loader/multiboot_loader.c: Likewise.
7544 * term/i386/pc/serial.c: Likewise.
7545 * term/usb_keyboard.c: Likewise.
7546
7547 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7548 `<grub/machine/machine.h>'
7549 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7550 * util/misc.c: Remove `<grub/machine/machine.h>' and
7551 `<grub/machine/time.h>'.
7552
7553 * Makefile.in (enable_grub_emu): Remove variable.
7554 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7555
7556 * conf/any-emu.rmk: New file.
7557 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7558 (grub_emu_init.c): Move from here ...
7559 * conf/any-emu.rmk: ... to here.
7560
7561 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7562 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7563 * conf/any-emu.rmk: ... to here.
7564
7565 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7566
7567 * include/grub/parser.h (grub_parser_register): Document need
7568 of `name' parameter.
7569 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7570 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7571 "sh" to "grub".
7572
7573 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7574
7575 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7576 `$(XGETTEXT)'.
7577 * include/grub/i18n.h (N_): New macro.
7578 * util/mkisofs/mkisofs.h: Likewise.
7579 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7580 around N_().
7581 (usage): Use gettext() to translate help strings when printing them.
7582
7583 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7584
7585 Based on patch from Bean
7586 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7587
7588 * video/efi_fb.c: New file.
7589 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7590 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7591 variables.
7592 * conf/x86_64-efi.rmk: Likewise.
7593
7594 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7595
7596 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7597 * util/i386/pc/grub-setup.c: Likewise.
7598
7599 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7600
7601 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7602 <hurd/fs.h>
7603 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7604 file_get_storage_info to implement grub_guess_root_device.
7605
7606 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7607
7608 * Makefile.in (target): Use make's builtin $(shell) function
7609 instead of calling directly $(SHELL) to create the locale directories,
7610 inside the $(foreach) function.
7611
7612 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7613
7614 * util/grub-mkrescue.in: Print an error and usage if output option
7615 has not been given.
7616
7617 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7618
7619 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7620 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7621 root and /boot are on different devices.
7622
7623 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7624
7625 Fix build for srcdir != objdir.
7626
7627 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7628 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7629 $(srcdir).
7630 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7631 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7632 reference for input.
7633
7634 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7635
7636 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7637 or hardlinking it). Remove -J option, Joliet is not compatible with
7638 multiple source directories.
7639
7640 2009-11-21 Carles Pina i Estany <carles@pina.cat>
7641 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7642
7643 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7644 (process_input_dir): New function. Process an arbitrary input
7645 directory.
7646 Misc adjustments to support both "override mode" and system-wide mode.
7647
7648 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7649
7650 * configure.ac (UNIFONT_BDF): Rename to ...
7651 (FONT_SOURCE): ... this. Update all users.
7652
7653 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7654
7655 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7656 to the list of unifont files to look for.
7657
7658 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7659
7660 Patch from Joe Auricchio <jauricchio@gmail.com>
7661 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7662 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7663 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7664
7665 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7666
7667 * Makefile.in (install-local): Add a missing backslash.
7668
7669 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7670
7671 * include/grub/x86_64/io.h: New file.
7672
7673 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7674
7675 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7676 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7677 Include `"progname.h"'.
7678 (main): Initialize gettext.
7679 * util/i386/pc/grub-setup.c: Gettexttize.
7680 * util/i386/pc/grub-mkimage.c: Likewise.
7681
7682 * Makefile.in (po/*.po): Redefine as ...
7683 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7684
7685 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7686
7687 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7688
7689 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7690 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7691 (program_name): Remove.
7692 (main): Initialize gettext support.
7693 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7694 Include `<libintl.h>'.
7695 (_): New macro.
7696
7697 * util/mkisofs/eltorito.c: Gettexttize.
7698 * util/mkisofs/joliet.c: Likewise.
7699 * util/mkisofs/mkisofs.c: Likewise.
7700 * util/mkisofs/multi.c: Likewise.
7701 * util/mkisofs/rock.c: Likewise.
7702 * util/mkisofs/tree.c: Likewise.
7703 * util/mkisofs/write.c: Likewise.
7704
7705 * po/POTFILES: Update with new files.
7706
7707 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7708
7709 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7710 * util/mkisofs/iso9660.h: Likewise.
7711 * util/mkisofs/joliet.c: Likewise.
7712 * util/mkisofs/mkisofs.c: Likewise.
7713 * util/mkisofs/mkisofs.h: Likewise.
7714 * util/mkisofs/rock.c: Likewise.
7715 * util/mkisofs/tree.c: Likewise.
7716 * util/mkisofs/write.c: Likewise.
7717
7718 * util/mkisofs/eltorito.c (rcsid): Remove.
7719 * util/mkisofs/hash.c: Likewise.
7720 * util/mkisofs/joliet.c: Likewise.
7721 * util/mkisofs/name.c: Likewise.
7722 * util/mkisofs/rock.c: Likewise.
7723 * util/mkisofs/tree.c: Likewise.
7724 * util/mkisofs/write.c: Likewise.
7725
7726 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7727
7728 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7729 instead of static allocation.
7730 * util/mkisofs/match.h: Likewise.
7731
7732 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7733
7734 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7735 and `util/grub.d/10_linux.in'.
7736 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7737 translatable Shell files.
7738
7739 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7740
7741 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7742
7743 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7744
7745 * INSTALL: Document Automake is needed for bootstrap.
7746 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
7747 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7748 Add gettext initialization.
7749 (kfreebsd_entry): Make menuentry output translatable.
7750
7751 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7752
7753 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7754 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7755 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7756 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7757 (LINGUAS): Auto-generate using `po/LINGUAS'.
7758 * po/LINGUAS: New file.
7759
7760 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7761
7762 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7763 other things).
7764 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7765 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7766 bindtextdomain() calls for gettext initialization.
7767
7768 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7769
7770 * gnulib/progname.c: New file (imported from Gnulib).
7771 * gnulib/progname.h: Likewise.
7772 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7773 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7774 (usage): Replace `progname' with `program_name'.
7775 (main): Use set_program_name() for program name initialization.
7776
7777 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7778
7779 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7780 from here ...
7781 * Makefile.in (CPPFLAGS): ... to here.
7782
7783 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7784
7785 * aclocal.m4: Move from here ...
7786 * acinclude.m4: ... to here.
7787 * autogen.sh: Add call to `aclocal'.
7788 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7789
7790 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7791
7792 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7793 (LINGUAS): New variable.
7794 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7795 (install-local): Install MO files.
7796 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7797 * include/grub/i18n.h: New file.
7798 * po/POTFILES: New file.
7799 * po/ca.po: New file.
7800 * util/grub.d/10_linux.in (bindir): New variable.
7801 Add gettext initialization.
7802 (linux_entry): Make menuentry output translatable.
7803 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7804 (usage): Make --help output translatable.
7805 (main): Initialize gettext.
7806
7807 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7808
7809 * import_gcry.py: New file (written by Vladimir with minor
7810 adjustments).
7811 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7812 ciphers.
7813 * INSTALL: Document that Python is required for bootstrap.
7814
7815 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7816
7817 Import ciphers from libgcrypt 1.4.4.
7818
7819 * lib/libgcrypt/cipher/ChangeLog
7820 * lib/libgcrypt/cipher/ac.c
7821 * lib/libgcrypt/cipher/arcfour.c
7822 * lib/libgcrypt/cipher/bithelp.h
7823 * lib/libgcrypt/cipher/blowfish.c
7824 * lib/libgcrypt/cipher/camellia-glue.c
7825 * lib/libgcrypt/cipher/camellia.c
7826 * lib/libgcrypt/cipher/camellia.h
7827 * lib/libgcrypt/cipher/cast5.c
7828 * lib/libgcrypt/cipher/cipher.c
7829 * lib/libgcrypt/cipher/crc.c
7830 * lib/libgcrypt/cipher/des.c
7831 * lib/libgcrypt/cipher/dsa.c
7832 * lib/libgcrypt/cipher/ecc.c
7833 * lib/libgcrypt/cipher/elgamal.c
7834 * lib/libgcrypt/cipher/hash-common.c
7835 * lib/libgcrypt/cipher/hash-common.h
7836 * lib/libgcrypt/cipher/hmac-tests.c
7837 * lib/libgcrypt/cipher/md.c
7838 * lib/libgcrypt/cipher/md4.c
7839 * lib/libgcrypt/cipher/md5.c
7840 * lib/libgcrypt/cipher/primegen.c
7841 * lib/libgcrypt/cipher/pubkey.c
7842 * lib/libgcrypt/cipher/rfc2268.c
7843 * lib/libgcrypt/cipher/rijndael-tables.h
7844 * lib/libgcrypt/cipher/rijndael.c
7845 * lib/libgcrypt/cipher/rmd.h
7846 * lib/libgcrypt/cipher/rmd160.c
7847 * lib/libgcrypt/cipher/rsa.c
7848 * lib/libgcrypt/cipher/seed.c
7849 * lib/libgcrypt/cipher/serpent.c
7850 * lib/libgcrypt/cipher/sha1.c
7851 * lib/libgcrypt/cipher/sha256.c
7852 * lib/libgcrypt/cipher/sha512.c
7853 * lib/libgcrypt/cipher/tiger.c
7854 * lib/libgcrypt/cipher/twofish.c
7855 * lib/libgcrypt/cipher/whirlpool.c
7856
7857 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7858
7859 Fix build for systems without error().
7860
7861 * gnulib/error.c: New file (imported from Gnulib).
7862 * gnulib/error.h: Likewise.
7863 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7864 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7865 (this variable is now used by error()).
7866
7867 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
7868
7869 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7870 instead of relying that char is signed.
7871
7872 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7875 blocksize different from specified.
7876 (grub_pxefs_read): Likewise.
7877
7878 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
7879
7880 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7881
7882 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7883 (grub_ata_readwrite): Likewise. Update 2 format strings.
7884 (grub_atapi_read): Likewise.
7885
7886 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7887 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7888 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7889 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7890 (ata_mod_LDFLAGS): Move from here ...
7891 * conf/i386.rmk: ... to here ...
7892 * conf/x86_64-efi.rmk: ... and here.
7893 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7894 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7895
7896 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7897
7898 Relicense multiboot.h, with RMS' blessing.
7899
7900 * include/multiboot.h: Change to X11 license.
7901
7902 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7903
7904 Support --version in grub-mkisofs.
7905
7906 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7907 (OPTION_VERSION): New macro.
7908 (ld_options): Recognize --version.
7909 (usage): Move `program_name' from here ...
7910 (program_name): ... to here. Add `static' qualifier.
7911 (main): Recognize `OPTION_VERSION'.
7912
7913 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
7914
7915 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7916 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7917
7918 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7919
7920 Fix help2man generation for mkisofs.
7921
7922 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7923 (usage): Send output to stdout (rather than stderr).
7924
7925 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7926
7927 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7928 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7929 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7930 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7931 (bin_SCRIPTS): Add `grub-mkfloppy'.
7932 (grub_mkfloppy_SOURCES): New variable.
7933
7934 * util/grub-mkrescue.in: New file.
7935 * util/i386/pc/grub-mkfloppy.in: New file.
7936
7937 * util/i386/coreboot/grub-mkrescue.in: Remove.
7938 * util/i386/pc/grub-mkrescue.in: Remove.
7939
7940 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7941
7942 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7943 from here ...
7944 * include/multiboot.h (struct multiboot_header): ... to here. Update
7945 all users.
7946 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7947 from here ...
7948 * include/multiboot.h (struct multiboot_info): ... to here. Update
7949 all users.
7950 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7951 from here ...
7952 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7953 Update all users.
7954 * include/grub/multiboot.h (struct grub_mod_list): Move
7955 from here ...
7956 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7957 Update all users.
7958
7959 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7960
7961 * include/multiboot2.h (multiboot_word): Rename from this ...
7962 (multiboot2_word): ... to this. Update all users.
7963 (multiboot_header): Rename from this ...
7964 (multiboot2_header): ... to this. Update all users.
7965 (multiboot_tag_header): Rename from this ...
7966 (multiboot2_tag_header): ... to this. Update all users.
7967 (multiboot_tag_start): Rename from this ...
7968 (multiboot2_tag_start): ... to this. Update all users.
7969 (multiboot_tag_name): Rename from this ...
7970 (multiboot2_tag_name): ... to this. Update all users.
7971 (multiboot_tag_module): Rename from this ...
7972 (multiboot2_tag_module): ... to this. Update all users.
7973 (multiboot_tag_memory): Rename from this ...
7974 (multiboot2_tag_memory): ... to this. Update all users.
7975 (multiboot_tag_unused): Rename from this ...
7976 (multiboot2_tag_unused): ... to this. Update all users.
7977 (multiboot_tag_end): Rename from this ...
7978 (multiboot2_tag_end): ... to this. Update all users.
7979
7980 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7981
7982 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7983 this platform we should support Multiboot1 first.
7984
7985 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7986 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7987 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7988
7989 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7990
7991 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7992 of write calls (converting them to fwrite() if they aren't already).
7993 (get_torito_desc): Likewise.
7994 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7995
7996 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7997
7998 * util/i386/pc/grub-install.in: Move from here ...
7999 * util/grub-install.in: ... to here. Update all users.
8000
8001 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
8002
8003 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8004
8005 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8006
8007 Support for El Torito without floppy emulation.
8008
8009 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8010 (init_boot_catalog): Improve error handling.
8011 (get_torito_desc): Don't use floppy emulation unless requested by
8012 user. Patch boot information table when requested via
8013 `-boot-info-table'.
8014 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8015 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8016 (use_boot_info_table): New variables.
8017 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8018 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8019 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8020 `--eltorito-emul-floppy'.
8021 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8022 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8023 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8024 (use_boot_info_table, get_731): New prototypes.
8025 * util/mkisofs/write.c (get_731): New function.
8026
8027 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
8028
8029 Fix the generation of the man page.
8030
8031 * util/pc/i386/grub-install.in: Source
8032 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8033
8034 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8035
8036 Large file support for grub-mkisofs.
8037
8038 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8039 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8040 (session_start): Upgrade type to `uint64_t'. Update all users.
8041 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8042 (struct directory_entry): Upgrade type of `starting_block' and
8043 `size' to `uint64_t'. Update all users.
8044 (struct deferred): Remove unused structure.
8045 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8046 Update all users.
8047 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8048 file is larger than `UINT32_MAX'.
8049 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8050 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8051 return value.
8052 (struct deferred_write): Upgrade type of `extent' and `size' to
8053 `uint64_t'. Update all users.
8054 (last_extent_written): Upgrade type to `uint64_t'. Update all
8055 users.
8056 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8057 Update all users. Upgrade type of `remain' to `int64_t' and
8058 `use' to `size_t'. Use error() to handle fread() errors.
8059 (write_files): Rely on write_one_file() rather than calling
8060 xfwrite() directly.
8061
8062 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
8063
8064 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8065
8066 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8067
8068 * util/mkisofs/fnmatch.c: Remove.
8069 * util/mkisofs/getopt1.c: Likewise.
8070 * util/mkisofs/getopt.c: Likewise.
8071 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8072 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8073 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8074 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8075 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8076
8077 * configure.ac: Detect `mingw32msvc' host_os.
8078 Check for lstat(), getuid() and getgid().
8079
8080 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8081 instances of `u_char' with `uint8_t'.
8082
8083 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8084 [!HAVE_GETUID] (getuid): New function (stub).
8085 [!HAVE_GETGID] (getgid): Likewise.
8086 [!HAVE_LSTAT] (lstat): Likewise.
8087 [!S_IROTH] (S_IROTH): New macro (dummy).
8088 [!S_IRGRP] (S_IRGRP): Likewise.
8089
8090 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8091
8092 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8093 conditional expression).
8094
8095 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8096
8097 Import from Gnulib.
8098
8099 * gnulib/fnmatch.c: New file.
8100 * gnulib/fnmatch.h: Likewise.
8101 * gnulib/fnmatch_loop.c: Likewise.
8102 * gnulib/getopt.c: Likewise.
8103 * gnulib/getopt.h: Likewise.
8104 * gnulib/getopt1.c: Likewise.
8105 * gnulib/getopt_int.h: Likewise.
8106 * gnulib/gettext.h: Likewise.
8107
8108 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8109
8110 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8111 * normal/handler.c (read_handler_list): Likewise.
8112
8113 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8114
8115 Misc cleanup.
8116
8117 * kern/command.c (grub_register_command_prio): Use
8118 grub_zalloc() instead of explicitly zeroing data.
8119 * kern/list.c: Include `<grub/mm.h>'.
8120 (grub_named_list_find): Replace `0' with `NULL'.
8121 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8122 (fs_module_list): Change type to `grub_named_list_t'. Update all
8123 users.
8124 * normal/dyncmd.c (read_command_list): Add space between function
8125 call and parenthesis.
8126 * normal/handler.c (read_handler_list): Likewise.
8127
8128 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8129
8130 * normal/auth.c (punishment_delay): Moved from here ...
8131 (grub_auth_strcmp): ... to here (inside function).
8132
8133 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8134
8135 * include/grub/list.h (struct grub_named_list): Remove `const'
8136 qualifier from `name'.
8137 (struct grub_prio_list): Likewise.
8138
8139 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8140
8141 * normal/auth.c: Include `<grub/time.h>'.
8142 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8143
8144 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8145
8146 * normal/auth.c (punishment_delay): New variable.
8147 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8148 (grub_auth_check_authentication): Punish failed login attempts with
8149 an incremental (2^N) delay.
8150
8151 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8152
8153 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8154 path with $(srcdir).
8155
8156 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8159
8160 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8161
8162 * util/i386/coreboot/grub-mkrescue.in: New file.
8163 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8164 variables.
8165
8166 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8167 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8168 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8169 requirements.
8170 * util/mkisofs/defaults.h: New file.
8171 * util/mkisofs/eltorito.c: Likewise.
8172 * util/mkisofs/exclude.h: Likewise.
8173 * util/mkisofs/fnmatch.c: Likewise.
8174 * util/mkisofs/getopt.c: Likewise.
8175 * util/mkisofs/getopt1.c: Likewise.
8176 * util/mkisofs/hash.c: Likewise.
8177 * util/mkisofs/include/fctldefs.h: Likewise.
8178 * util/mkisofs/include/mconfig.h: Likewise.
8179 * util/mkisofs/include/prototyp.h: Likewise.
8180 * util/mkisofs/include/statdefs.h: Likewise.
8181 * util/mkisofs/iso9660.h: Likewise.
8182 * util/mkisofs/joliet.c: Likewise.
8183 * util/mkisofs/match.c: Likewise.
8184 * util/mkisofs/match.h: Likewise.
8185 * util/mkisofs/mkisofs.c: Likewise.
8186 * util/mkisofs/mkisofs.h: Likewise.
8187 * util/mkisofs/multi.c: Likewise.
8188 * util/mkisofs/name.c: Likewise.
8189 * util/mkisofs/rock.c: Likewise.
8190 * util/mkisofs/tree.c: Likewise.
8191 * util/mkisofs/write.c: Likewise.
8192
8193 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8196 being insecure.
8197
8198 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8199
8200 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8201 `grub-mkimage' (and use $0 when possible).
8202
8203 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8204
8205 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8206 error message for excessively large memory map.
8207
8208 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8209
8210 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8211 executable bit.
8212
8213 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8214
8215 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8216 message for coreboot users.
8217
8218 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8219
8220 Fix build with GNU gold.
8221
8222 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8223 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8224 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8225 link addresses.
8226 * aclocal.m4: Likewise.
8227
8228 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
8229
8230 * configure.ac (AC_PREREQ): Bump to 2.59d.
8231 * INSTALL: Make it more clear when Autoconf and Ruby are
8232 needed and when to run `./autogen.sh'.
8233
8234 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8235
8236 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8237 OSes.
8238
8239 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8240
8241 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8242
8243 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8244
8245 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8246 giving it to GNU Mach.
8247
8248 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8249
8250 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8251 GNU partition number to get internal GRUB partition number.
8252
8253 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8254
8255 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8256 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8257
8258 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8259
8260 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8261 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8262 case.
8263
8264 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
8265
8266 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8267
8268 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8269
8270 Fix build problem.
8271
8272 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8273 `-isystem=$(srcdir)/include'.
8274
8275 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8276
8277 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8278 checked (grub-install doesn't currently rely on it).
8279
8280 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8281
8282 Revert SVN r2660.
8283
8284 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8285 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8286 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8287 * conf/i386-ieee1275.rmk: Likewise.
8288 * conf/i386-pc.rmk: Likewise.
8289 * conf/powerpc-ieee1275.rmk: Likewise.
8290 * conf/sparc64-ieee1275.rmk: Likewise.
8291 * conf/x86_64-efi.rmk: Likewise.
8292
8293 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8294
8295 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8296
8297 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8298
8299 * include/grub/misc.h: Stop checking for APPLE_CC.
8300
8301 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8302
8303 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8304 doesn't cause an infinite call loop.
8305
8306 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
8307
8308 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8309 strings.
8310
8311 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8312
8313 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8314 variable.
8315 * Makefile.in: Likewise.
8316
8317 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8318
8319 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8320
8321 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8322
8323 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8324
8325 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8326
8327 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8328
8329 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8330
8331 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8332 from here ...
8333 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8334
8335 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8336
8337 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8338 in $(MAKEINFO) invocation. This makes it clear in output that
8339 errors are being ignored.
8340
8341 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8342
8343 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8344 from here ...
8345 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8346 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8347 * conf/i386-ieee1275.rmk: Likewise.
8348 * conf/i386-pc.rmk: Likewise.
8349 * conf/powerpc-ieee1275.rmk: Likewise.
8350 * conf/sparc64-ieee1275.rmk: Likewise.
8351 * conf/x86_64-efi.rmk: Likewise.
8352
8353 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8354
8355 * util/grub-editenv.c (main): If only a command is given, use
8356 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8357 (usage): FILENAME is now optional and has a default.
8358
8359 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8360
8361 Improve grub-mkconfig performance when there are several menu
8362 entries on a single filesystem.
8363
8364 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8365 prepare_grub_to_access_device.
8366 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8367 * util/grub.d/30_os-prober.in: Likewise.
8368
8369 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8370
8371 * util/grub.d/10_freebsd.in: Remove.
8372 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8373 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8374
8375 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8376
8377 * docs/grub.cfg: Fix example usage of *BSD loaders.
8378
8379 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8380
8381 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8382 grub_util_error() call.
8383
8384 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8385
8386 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8387 `reserved_first_sector' member.
8388 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8389 `reserved_first_sector' to 1.
8390 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8391 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8392 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8393 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8394 filesystems which begin at first sector.
8395 (options): New option --skip-fs-probe.
8396 (main): Handle --skip-fs-probe and pass it to setup().
8397
8398 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8399
8400 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8401 (memset): Fix function prototype.
8402
8403 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8404 2009-10-25 Vasily Averin <vvs@parallels.com>
8405
8406 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8407 `dirent.direntlen == 0'.
8408
8409 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8410
8411 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8412 `cpio'.
8413 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8414
8415 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8416
8417 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8418 `__trampoline_setup' and `__ucmpdi2'.
8419 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8420 that libgcc provides.
8421
8422 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8423
8424 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8425 * include/grub/sparc64/libgcc.h (memset): Likewise.
8426 * include/grub/misc.h (memset, memcmp): New function prototypes.
8427
8428 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8429
8430 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8431 `cpio'.
8432 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8433
8434 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8435
8436 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8437 * docs/grub.cfg: Compensate for recent change in multiboot
8438 loader (since 2009-08-14 it won't pass filename to payload).
8439 * util/grub.d/10_hurd.in: Likewise.
8440
8441 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
8442
8443 * config.guess: Update to latest version from config git
8444 repository.
8445 * config.sub: Likewise.
8446
8447 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8448
8449 Fix build on sparc64.
8450
8451 * configure.ac: Perform checks for libgcc symbols before
8452 adding `-nostdlib' to LDFLAGS.
8453
8454 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 Let user specify OpenBSD root device.
8457
8458 * loader/i386/bsd.c (openbsd_root): New variable.
8459 (openbsd_opts): New option 'root'.
8460 (OPENBSD_ROOT_ARG): New macro.
8461 (grub_openbsd_boot): Use 'openbsd_root'.
8462 (grub_cmd_openbsd): Fill 'openbsd_root'.
8463
8464 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8465
8466 * NEWS: Misc adjustments.
8467
8468 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8471
8472 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8473
8474 * configure.ac: Bump version to 1.97.
8475
8476 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
8477
8478 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8479 -mno-3dnow on x86 architectures. Some toolchains enable these
8480 features by default, but they rely on registers that aren't enabled
8481 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8482
8483 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8484
8485 Make entry text a bit more readable.
8486
8487 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8488
8489 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8492
8493 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8496 operations.
8497
8498 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * configure.ac: Add missing dollar.
8501
8502 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8505
8506 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8507 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8508 exports.
8509 * include/grub/sparc64/libgcc.h: Likewise. Use
8510 preprocessor conditionals.
8511
8512 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8513
8514 * conf/common.rmk (grub-dumpbios): Remove rule.
8515 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8516 * util/grub-dumpbios.in: Remove file.
8517
8518 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8519
8520 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8521 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8522
8523 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8524 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8525 users.
8526
8527 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8528 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8529 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8530 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8531 users.
8532
8533 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8534
8535 * term/tparm.c: Switch to GPLv3.
8536
8537 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8538
8539 * include/grub/i386/cpuid.h: Add header protection.
8540
8541 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8542
8543 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8544
8545 * include/grub/i386/cpuid.h: New file.
8546 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8547 (has_longmode): Rename to ...
8548 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8549 `static' attribute.
8550 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8551 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8552 on a CPU that doesn't implement AMD64 instruction set.
8553
8554 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8555
8556 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8557 that version.texi is rebuilt on version number changes.
8558
8559 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8560
8561 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8562 Fixes bug #27602.
8563
8564 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8565
8566 * util/i386/pc/grub-install.in: Source
8567 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8568 that the --grub-probe option will work.
8569 * util/sparc64/ieee1275/grub-install.in: Likewise.
8570
8571 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8572
8573 * configure.ac: Bump version to 1.97~beta4.
8574
8575 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8576
8577 Resync grub-mkdevicemap in x86_64-efi.
8578
8579 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8580 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8581 `util/devicemap.c'.
8582
8583 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
8584
8585 * util/grub-editenv.c (create_envblk_file): Write new block with a
8586 .new suffix and then rename it into place, to ensure atomic
8587 creation.
8588
8589 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8590
8591 Do not automatically install headers.
8592
8593 * Makefile.in (include_DATA): Remove. Update all users.
8594
8595 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8596
8597 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8598 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8599
8600 * util/osdetect.lua: Remove.
8601 * script/lua/lauxlib.c: Likewise.
8602 * script/lua/ldebug.c: Likewise.
8603 * script/lua/grub_main.c: Likewise.
8604 * script/lua/lauxlib.h: Likewise.
8605 * script/lua/ldebug.h: Likewise.
8606 * script/lua/ltablib.c: Likewise.
8607 * script/lua/liolib.c: Likewise.
8608 * script/lua/lstrlib.c: Likewise.
8609 * script/lua/lualib.h: Likewise.
8610 * script/lua/ldo.c: Likewise.
8611 * script/lua/ldump.c: Likewise.
8612 * script/lua/ldo.h: Likewise.
8613 * script/lua/loslib.c: Likewise.
8614 * script/lua/lundump.c: Likewise.
8615 * script/lua/grub_lib.c: Likewise.
8616 * script/lua/ldblib.c: Likewise.
8617 * script/lua/lundump.h: Likewise.
8618 * script/lua/lmem.c: Likewise.
8619 * script/lua/grub_lib.h: Likewise.
8620 * script/lua/lmathlib.c: Likewise.
8621 * script/lua/lstate.c: Likewise.
8622 * script/lua/ltm.c: Likewise.
8623 * script/lua/lvm.c: Likewise.
8624 * script/lua/lmem.h: Likewise.
8625 * script/lua/lstate.h: Likewise.
8626 * script/lua/ltm.h: Likewise.
8627 * script/lua/ltable.c: Likewise.
8628 * script/lua/lvm.h: Likewise.
8629 * script/lua/llex.c: Likewise.
8630 * script/lua/lgc.c: Likewise.
8631 * script/lua/grub_lua.h: Likewise.
8632 * script/lua/loadlib.c: Likewise.
8633 * script/lua/lfunc.c: Likewise.
8634 * script/lua/lopcodes.c: Likewise.
8635 * script/lua/lparser.c: Likewise.
8636 * script/lua/ltable.h: Likewise.
8637 * script/lua/llex.h: Likewise.
8638 * script/lua/lgc.h: Likewise.
8639 * script/lua/lfunc.h: Likewise.
8640 * script/lua/lbaselib.c: Likewise.
8641 * script/lua/lopcodes.h: Likewise.
8642 * script/lua/lparser.h: Likewise.
8643 * script/lua/lzio.c: Likewise.
8644 * script/lua/linit.c: Likewise.
8645 * script/lua/lobject.c: Likewise.
8646 * script/lua/llimits.h: Likewise.
8647 * script/lua/lstring.c: Likewise.
8648 * script/lua/lzio.h: Likewise.
8649 * script/lua/lapi.c: Likewise.
8650 * script/lua/lcode.c: Likewise.
8651 * script/lua/lua.h: Likewise.
8652 * script/lua/lobject.h: Likewise.
8653 * script/lua/lstring.h: Likewise.
8654 * script/lua/lapi.h: Likewise.
8655 * script/lua/lcode.h: Likewise.
8656 * script/lua/luaconf.h: Likewise.
8657
8658 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
8659
8660 * docs/grub.texi (Command-line and menu entry commands): Document
8661 date and echo commands.
8662
8663 2009-09-24 Pavel Roskin <proski@gnu.org>
8664
8665 * include/grub/kernel.h (struct grub_module_header): Remove
8666 `grub_module_header_types'. Make `type' unsigned. Make `size'
8667 32-bit on all platforms.
8668 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8669 8-bit field. Use grub_host_to_target32() for `size'.
8670 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8671 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8672 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8673
8674 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8675
8676 Fix "lost keypress" bug in at_keyboard.
8677
8678 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8679 Checks for readyness of input buffer (without flushing it).
8680 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8681 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8682
8683 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8684
8685 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8686 size check within GRUB_MACHINE_PCBIOS section.
8687
8688 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8689
8690 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8691 return value.
8692 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8693 KEYBOARD_ISREADY check.
8694 (grub_at_keyboard_checkkey): Rename to ...
8695 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8696 Remove gratuitous cast.
8697
8698 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
8699
8700 * configure.ac: Call AC_PROG_MKDIR_P.
8701 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8702 version.texi in $(builddir) rather than $(srcdir).
8703 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8704 to makeinfo's @include search path.
8705
8706 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
8707
8708 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8709
8710 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
8711
8712 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8713 for `*.dpkg-new'.
8714
8715 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
8716
8717 Build info documentation. Some code borrowed from Automake.
8718
8719 * configure.ac: Check for makeinfo.
8720 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8721 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8722 docs/version.texi.
8723 (MOSTLYCLEANFILES): Add vti.tmp.
8724 (docs/version.texi, docs/stamp-vti): Update automatically.
8725 (docs/grub.info): Build info documentation. Use --force and ignore
8726 errors for now.
8727 (all-local): Add $(INFOS).
8728 (install-local): Install info files.
8729 (uninstall): Uninstall info files.
8730 * docs/version.texi: Remove from revision control. This file is
8731 automatically generated on build now.
8732 * gendistlist.sh: Add `*.info'.
8733
8734 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
8735
8736 * kern/term.c: Fix indentation.
8737
8738 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
8739
8740 * util/hostdisk.c: Fix a comment.
8741
8742 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8743
8744 Fix regression introduced in r2539.
8745
8746 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8747 to 0xA1.
8748
8749 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
8750
8751 * util/grub.d/30_os-prober.in: Don't throw away stderr from
8752 os-prober. Under normal operation, it does not print anything to
8753 stderr; if it does, we need to debug it, and throwing away stderr
8754 makes that excessively difficult.
8755
8756 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8759
8760 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8761
8762 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8763 AC_LANG_PROGRAM from autoconf.
8764 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8765 prototypes (fixes warning).
8766
8767 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8768 `--disable-werror' was used.
8769
8770 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8771
8772 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8773 uninitialized `lastaddr'.
8774
8775 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
8778
8779 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
8780
8781 * commands/test.c (get_fileinfo): Return immediately if
8782 grub_fs_probe fails.
8783
8784 2009-09-14 José Martínez <xosemp@gmail.com>
8785
8786 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8787
8788 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
8789
8790 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8791 output.
8792
8793 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8794
8795 * configure.ac: Remove --enable-grub-pe2elf. Only build
8796 grub-pe2elf when needed by the build system itself.
8797 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8798
8799 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8800
8801 * configure.ac: Bump version to 1.97~beta3.
8802 * docs/version.texi: Likewise.
8803
8804 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8805
8806 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8807 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8808 from here ...
8809 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8810 (grub_linux_setup_video): ... to here (with some adjustments).
8811
8812 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8813
8814 Fix memory corruption issue (spotted by Colin Watson).
8815
8816 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
8817 causing returned size to be stored in an incorrect memory location.
8818 Fix use of uninitialized value when storing the returned size.
8819
8820 2009-09-12 Yves Blusseau <blusseau@zetam.org>
8821
8822 Change clean rules to properly remove files
8823
8824 * genmk.rb: add new clean rules
8825 * Makefile.in (clean): add the new targets
8826 (mostlyclean): likewise
8827
8828 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
8829
8830 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
8831 to grub_uint64_t.
8832 * fs/ntfs.c (init_file): Understand 64-bit sizes for
8833 non-resident files.
8834
8835 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
8836
8837 * configure.ac: Don't look for help2man when cross-compiling. Fixes
8838 part of bug #27349.
8839
8840 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
8841
8842 * util/grub-mkconfig.in: Make the created config mode 400 and
8843 print a warning if it fails.
8844
8845 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8846
8847 * util/grub.d/40_custom.in: Ask user to type custom entries below
8848 comment, rather than below 'exec tail' line.
8849
8850 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
8851
8852 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8853 visible in grub.cfg.
8854
8855 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
8856
8857 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8858 file.
8859
8860 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
8861
8862 * docs/grub.cfg: Add an example menu entry for memtest86+.
8863
8864 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
8865
8866 * config.guess: Update to latest version from config git.
8867 * config.sub: Likewise.
8868
8869 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
8870
8871 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8872 unknown-command case. Fixes bug #27320.
8873
8874 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
8875
8876 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8877 `help' if the command exists.
8878
8879 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8880
8881 * INSTALL: Require GCC 4.1.3 or later.
8882
8883 2009-09-06 Yves Blusseau <blusseau@zetam.org>
8884
8885 * Makefile.in (RMKFILES): add i386-qemu.rmk
8886 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8887 $(srcdir)/stamp-h.in
8888
8889 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8890
8891 * util/grub-probe.c (probe): Comment out buggy codepath, which
8892 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8893 should be re-enabled after 1.97.
8894
8895 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
8896
8897 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8898 find searches for.
8899
8900 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8903 unnecessary calls to grub_error.
8904
8905 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
8906
8907 * NEWS: Mention `keystatus' and Unicode fonts.
8908
8909 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8910
8911 * configure.ac: Bump version to 1.97~beta2.
8912 * docs/version.texi: Likewise.
8913
8914 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8915
8916 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8917 containing unwind information in some cases where it previously did
8918 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8919 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8920 discussion.
8921
8922 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8923
8924 Embedding loadenv module into grub-emu
8925
8926 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8927 commands/loadenv.c
8928 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8930 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8932 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8933 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8934
8935 2009-09-03 Magnus Granberg <zorry@ume.nu>
8936
8937 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8938 include -fPIE in the default specs.
8939 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8940 to TARGET_CFLAGS.
8941
8942 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
8943
8944 * INSTALL: Note that GNU Bison 2.3 or later is required.
8945
8946 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8947
8948 * kern/i386/pc/startup.S: Fix typo.
8949
8950 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8953 according to GCS.
8954
8955 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8956
8957 * docs/grub.texi (Naming convention): Describe one-based partition
8958 numbering.
8959 (Device syntax): Likewise.
8960 (File name syntax): Likewise.
8961 (Block list syntax): Likewise.
8962 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8963 menu.lst.
8964 (File name syntax): Likewise.
8965 (Command-line and menu entry commands): Document acpi, blocklist,
8966 crc, export, insmod, keystatus, ls, set, and unset commands.
8967
8968 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8969
8970 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8971 to avoid implying that only one of --shift, --ctrl, or --alt may be
8972 used.
8973
8974 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8975
8976 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8977 rather than comparing against S_IFREG, which will almost never work.
8978
8979 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8982 (write_blocklists): Likewise.
8983
8984 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
8985
8986 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8987 argument to grub_printf.
8988
8989 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
8990
8991 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
8992 non GNU test.
8993
8994 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * kern/file.c (grub_file_read): Spelling fix
8997
8998 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9001 loading of headers in some cases.
9002
9003 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9004
9005 * configure.ac: Bump version to 1.97~beta1.
9006 * docs/version.texi: Likewise.
9007
9008 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * include/grub/i386/xnu.h: Add license header.
9011 include grub/err.h explicitly.
9012
9013 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9014
9015 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9016 to `ufs' in the vfs.root.mountfrom kernel parameter.
9017
9018 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9019
9020 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9021
9022 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9023 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9024
9025 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9026 `ARRAY_SIZE' macro.
9027
9028 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * kern/file.c (grub_file_read): Check offset.
9031 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9032 * fs/jfs.c (grub_jfs_read_file): Likewise.
9033 * fs/ntfs.c (grub_ntfs_read): Likewise.
9034 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9035 * fs/minix.c (grub_minix_read_file): Correct offset check.
9036 * fs/ufs.c (grub_ufs_read_file): Likewise.
9037
9038 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9039
9040 * term/i386/pc/console.c (bios_data_area): Cast
9041 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9042
9043 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 1-bit optimised blitters.
9046
9047 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9048 prototype.
9049 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9050 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9051 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9052 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9053 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9054 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9055 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9056 function.
9057 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9058 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9059 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9060 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9061 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9062 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9063 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9064 when possible.
9065 * video/video.c (grub_video_get_blit_format): Return
9066 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9067
9068 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9069
9070 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9071 the first argument to grub_printf.
9072
9073 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9074 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9075
9076 Add `getkeystatus' terminal method. Add a new `keystatus' command
9077 to query it.
9078
9079 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9080 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9081 modifier key bitmasks.
9082 (struct grub_term_input): Add `getkeystatus' member.
9083 (grub_getkeystatus): Add prototype.
9084 * kern/term.c (grub_getkeystatus): New function.
9085
9086 * include/grub/i386/pc/memory.h
9087 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9088 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9089 Data Area layout.
9090 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9091 (grub_console_term_input): Set `getkeystatus' member.
9092 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9093 constants.
9094 (grub_usb_keyboard_getreport): Likewise.
9095 (grub_usb_keyboard_checkkey): Likewise.
9096 (grub_usb_keyboard_getkeystatus): New function.
9097 (grub_usb_keyboard_term): Set `getkeystatus' member.
9098
9099 * commands/keystatus.c: New file.
9100 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9101 (keystatus_mod_SOURCES): New variable.
9102 (keystatus_mod_CFLAGS): Likewise.
9103 (keystatus_mod_LDFLAGS): Likewise.
9104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9105 commands/keystatus.c.
9106 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9107 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9108 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9111 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9112
9113 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 Split befs.mod and afs.mod into *_be.mod and *.mod
9116
9117 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9118 (grub_fstest_SOURCES): Likewise.
9119 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9120 (afs_be_mod_SOURCES): New variable.
9121 (afs_be_mod_CFLAGS): Likewise.
9122 (afs_be_mod_LDFLAGS): Likewise.
9123 (befs_be_mod_SOURCES): Likewise.
9124 (befs_be_mod_CFLAGS): Likewise.
9125 (befs_be_mod_LDFLAGS): Likewise.
9126 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9129 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9130 (grub_emu_SOURCES): Likewise.
9131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9132 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9133 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9134 * fs/afs_be.c: New file.
9135 * fs/befs_be.c: New file.
9136 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9137 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9138 (U16): Replaced with ...
9139 (grub_afs_to_cpu16): ...this. All users updated.
9140 (U32): Replaced with ...
9141 (grub_afs_to_cpu32): ...this. All users updated.
9142 (U64): Replaced with ...
9143 (grub_afs_to_cpu64): ...this. All users updated.
9144 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9145 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
9146 (grub_afs_validate_sblock): Check only one endianness.
9147 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9148 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9149 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9150 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9151 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9152 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9153 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9154 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9155
9156 2009-08-26 Bean <bean123ch@gmail.com>
9157
9158 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9159 64-bit number.
9160 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9161 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9162 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9163
9164 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 NetBSD memory map support.
9167
9168 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9169 (grub_netbsd_btinfo_mmap_header): New structure.
9170 (grub_netbsd_btinfo_mmap_entry): Likewise.
9171 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9172
9173 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 Enable bsd.mod on coreboot.
9176
9177 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9178 (bsd_mod_SOURCES): New variable.
9179 (bsd_mod_CFLAGS): Likewise.
9180 (bsd_mod_LDFLAGS): Likewise.
9181 (bsd_mod_ASFLAGS): Likewise.
9182 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9183 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9184
9185 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 Cleanup NetBSD root support.
9188
9189 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9190 grub_bsd_get_device.
9191 Fix typo.
9192
9193 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
9194
9195 * util/grub.d/00_header.in: Move check for the video backend of
9196 gfxterm from here ...
9197 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9198 a suitable video backend.
9199
9200 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Fix breakage in grub-setup.
9203
9204 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9205 "msdos_partition_map".
9206
9207 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 Fix breakage in normal/auth.c.
9210
9211 * normal/auth.c (grub_iswordseparator): New function.
9212
9213 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 Authentication support.
9216
9217 * commands/password.c: New file.
9218 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9219 (password_mod_SOURCES): New variable.
9220 (password_mod_CFLAGS): Likewise.
9221 (password_mod_LDFLAGS): Likewise.
9222 (normal_mod_SOURCES): Add normal/auth.c.
9223 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9224 normal/auth.c.
9225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9226 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9227 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9229 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9230 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9231 * include/grub/auth.h: New file.
9232 * include/grub/err.h (grub_err_t): New enum value
9233 GRUB_ERR_ACCESS_DENIED.
9234 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9235 'users'.
9236 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9237 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9238 users updated.
9239 * normal/auth.c: New file.
9240 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9241 (grub_cmdline_run): Don't allow to go to command line without
9242 authentication.
9243 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9244 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9245 menuentry without superuser rights.
9246 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9247 user isn't a superuser.
9248
9249 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 Save space by inlining misc.c functions.
9252
9253 * kern/misc.c (grub_iswordseparator): Made static.
9254 * kern/misc.c (grub_strcat): Moved from here ...
9255 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9256 * kern/misc.c (grub_strncat): Moved from here ...
9257 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9258 * kern/misc.c (grub_strcasecmp): Moved from here ...
9259 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9260 * kern/misc.c (grub_strncasecmp): Moved from here ...
9261 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9262 * kern/misc.c (grub_isalpha): Moved from here ...
9263 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9264 * kern/misc.c (grub_isdigit): Moved from here ...
9265 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9266 * kern/misc.c (grub_isgraph): Moved from here ...
9267 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9268 * kern/misc.c (grub_tolower): Moved from here ...
9269 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9270
9271 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * script/sh/function.c (grub_script_function_find): Cut error message
9274 not to flood terminal.
9275 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9276 limit.
9277 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9278
9279 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
9280
9281 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9282 `report' grub_uint8_t *.
9283 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9284 Use a 50-millisecond timeout rather than just repeating
9285 grub_usb_keyboard_getreport 50 times.
9286 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9287
9288 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 Rename *_partition_map to part_*
9291
9292 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9293 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9294 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9295 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9296 All users updated.
9297 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9298 All users updated.
9299 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9300 * util/grub-probe.c (probe_partmap): Don't transform partition name
9301 to get module name.
9302
9303 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 Fix OpenBSD and NetBSD support.
9306
9307 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9308 memory address conflict.
9309 (OPENBSD_MMAP_ACPI): New definition.
9310 (OPENBSD_MMAP_NVS): Likewise.
9311 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9312 and OPENBSD_MMAP_NVS.
9313 Add memory map terminator
9314 Explicit cast when calling grub_unix_real_boot.
9315 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
9316
9317 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 Let user specify NetBSD root device.
9320
9321 * loader/i386/bsd.c (netbsd_root): New variable.
9322 (netbsd_opts): New option 'root'.
9323 (NETBSD_ROOT_ARG): New macro.
9324 (grub_netbsd_boot): Use 'netbsd_root'.
9325 (grub_bsd_unload): Free 'netbsd_root'.
9326 (grub_cmd_netbsd): Fill 'netbsd_root'.
9327
9328 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 Support for 64-bit NetBSD.
9331
9332 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9333 point when booting non-FreeBSD.
9334
9335 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 Support --no-smp and --no-acpi for NetBSD.
9338
9339 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9340 (NETBSD_AB_NOACPI): Likewise.
9341 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9342 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9343
9344 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9347 errors.
9348 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9349 errors. Call grub_error when needed.
9350
9351 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * commands/search.c (search_fs): Try searching without autoload first.
9354 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9355 filesystem module explicitly for faster booting.
9356
9357 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9358
9359 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9360
9361 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9362
9363 * util/grub.d/30_os-prober.in: Disable os-prober if
9364 `GRUB_DISABLE_OS_PROBER' was set to true.
9365
9366 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9367
9368 * partmap/pc.c: Rename to ...
9369 * partmap/msdos.c: ... this. Update all users.
9370 (grub_pc_partition_map): Rename to ...
9371 (grub_msdos_partition_map): ... this. Update all users.
9372
9373 * parttool/pcpart.c: Rename to ...
9374 * parttool/msdospart.c: ... this. Update all users.
9375
9376 * include/grub/pc_partition.h: Rename to ...
9377 * include/grub/msdos_partition.h: ... this. Update all users.
9378 (grub_pc_partition_bsd_entry): Rename to ...
9379 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9380 (grub_pc_partition_disk_label): Rename to ...
9381 (grub_msdos_partition_disk_label): ... this. Update all users.
9382 (grub_pc_partition_entry): Rename to ...
9383 (grub_msdos_partition_entry): ... this. Update all users.
9384 (grub_pc_partition_mbr): Rename to ...
9385 (grub_msdos_partition_mbr): ... this. Update all users.
9386 (grub_pc_partition): Rename to ...
9387 (grub_msdos_partition): ... this. Update all users.
9388 (grub_pc_partition_is_empty): Rename to ...
9389 (grub_msdos_partition_is_empty): ... this. Update all users.
9390 (grub_pc_partition_is_extended): Rename to ...
9391 (grub_msdos_partition_is_extended): ... this. Update all users.
9392 (grub_pc_partition_is_bsd): Rename to ...
9393 (grub_msdos_partition_is_bsd): ... this. Update all users.
9394
9395 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9396 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9397 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9398 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9399 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9400 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9401 (gpt_mod_LDFLAGS): Rename to ...
9402 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9403 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9404 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9405 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9406 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9407 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9408 (part_gpt_mod_LDFLAGS): ... this.
9409 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9410 `pcpart.mod' to `msdospart.mod'.
9411 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9412 to ...
9413 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9414 (msdospart_mod_LDFLAGS): ... this.
9415
9416 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9419 (openbsd_opts): Likewise.
9420 (netbsd_opts): Likewise.
9421 (freebsd_flags): Added 0 terminator.
9422 (openbsd_flags): Likewise.
9423 (netbsd_flags): Likewise.
9424 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9425 (grub_cmd_freebsd): Transformed into extended command.
9426 (grub_cmd_openbsd): Likewise.
9427 (grub_cmd_netbsd): Likewise.
9428 (cmd_freebsd): Changed type to grub_extcmd_t.
9429 (cmd_openbsd): Likewise.
9430 (cmd_netbsd): Likewise.
9431 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9432 grub_cmd_openbsd as extended commands.
9433 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9434 cmd_netbsd and cmd_openbsd
9435
9436 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9439
9440 2009-08-21 Pavel Roskin <proski@gnu.org>
9441
9442 * Makefile.in (install-local): When checking if a file is in the
9443 build directory, use "test -e" to detect symlinks.
9444
9445 * Makefile.in (install-local): Remove all files in
9446 $(DESTDIR)$(pkglibdir) before installing new files there.
9447
9448 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9449
9450 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9451 grub-mkelfimage.
9452
9453 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9454
9455 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9456 explicitly specified by the user.
9457
9458 2009-08-18 Pavel Roskin <proski@gnu.org>
9459
9460 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9461 grub_uint8_t pointer for data.
9462 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9463 Likewise.
9464 * video/fb/fbutil.c: Remove unnecessary casts.
9465
9466 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9467
9468 VBE cleanup.
9469
9470 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9471 (grub_vbe_set_video_mode): Save active mode info
9472 only after setting the mode.
9473 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9474 second argument.
9475
9476 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9477
9478 Rename variables for clarity.
9479
9480 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9481 (active_vbe_mode_info): ... this. All users updated.
9482 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9483 All users updated.
9484 (initial_mode): Rename to ...
9485 (initial_vbe_mode): ... this. All users updated.
9486 (mode_in_use): Rename to ..
9487 (vbe_mode_in_use): ... this. All users updated.
9488 (mode_list): Rename to ..
9489 (vbe_mode_list): ... this. All users updated.
9490 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9491 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9492 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9493 'mode_list_size' to 'vbe_mode_list_size'.
9494 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9495 'best_mode_info' to 'best_vbe_mode_info' and
9496 'best_mode' to 'best_vbe_mode'
9497
9498 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9499
9500 Remove duplicate grub_video_fb_get_video_ptr.
9501
9502 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9503 (grub_video_fb_get_video_ptr): ... this.
9504 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9505 * video/fb/fbutil.c: Add comment about addressing.
9506 (get_data_ptr): Rename to ...
9507 (grub_video_fb_get_video_ptr): ... this. All users updated.
9508 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9509
9510 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9511
9512 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9513 grub_dprintf() that was just added.
9514
9515 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9516
9517 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9518 (DEFAULT_VIDEO_MODE): Remove macros.
9519 (grub_linux_boot): Remove assumption that Linux has FB support,
9520 and use "text" as default video mode.
9521
9522 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9525 grub_dprintf.
9526 * fs/fat.c (grub_fat_read_data): Likewise.
9527
9528 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9531 payload.
9532 (grub_module): Likewise.
9533
9534 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9537 mbi->cmdline but free playground.
9538
9539 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 Handle group offset on UFS1.
9542
9543 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9544 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9545
9546 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 Split ufs.mod into ufs1.mod and ufs2.mod.
9549
9550 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9551 (grub_fstest_SOURCES): Likewise.
9552 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9553 (ufs_mod_SOURCES): Remove.
9554 (ufs_mod_CFLAGS): Likewise.
9555 (ufs_mod_LDFLAGS): Likewise.
9556 (ufs1_mod_SOURCES): New variable.
9557 (ufs1_mod_CFLAGS): Likewise.
9558 (ufs1_mod_LDFLAGS): Likewise.
9559 (ufs2_mod_SOURCES): New variable.
9560 (ufs2_mod_CFLAGS): Likewise.
9561 (ufs2_mod_LDFLAGS): Likewise.
9562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9563 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9564 Likewise.
9565 (grub_emu_SOURCES): Likewise.
9566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9567 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9568 (grub_setup_SOURCES): Likewise.
9569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9570 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9571 (grub_setup_SOURCES): Likewise.
9572 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9573 Likewise.
9574 * fs/ufs2.c: New file.
9575 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9576
9577 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 Framebuffer split.
9580
9581 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9582 subsystem at the end.
9583 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9584 (video_fb_mod_SOURCES): New variable.
9585 (video_fb_mod_CFLAGS): Likewise.
9586 (video_fb_mod_LDFLAGS): Likewise.
9587 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9588 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9589 * video/i386/pc/vbeblit.c: Moved from here ...
9590 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9591 * video/i386/pc/vbefill.c: Moved from here ...
9592 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9593 * video/i386/pc/vbeutil.c: Moved from here ...
9594 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9595 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9596 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9597 * include/grub/i386/pc/vbefill.h: Moved from here ...
9598 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9599 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9600 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9601 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9602 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9603 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9604 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9605 (grub_video_adapter): Added 'get_info_and_fini'.
9606 (grub_video_get_info_and_fini): New prototype.
9607 (grub_video_set_mode): make modestring const char *.
9608 * loader/i386/linux.c (grub_linux_setup_video): Use
9609 grub_video_get_info_and_fini.
9610 (grub_linux_boot): Move modesetting just before booting.
9611 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9612 grub_video_get_info_and_fini.
9613 * video/i386/pc/vbe.c: Moved framebuffer part ...
9614 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9615 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9616 grub_video_fbstd_colors and grub_video_fb_set_palette.
9617 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9618 grub_video_fb_init.
9619 (grub_video_vbe_fini): Use grub_video_fb_fini.
9620 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9621 render_target and use grub_video_fb_set_active_render_target and
9622 grub_video_fb_set_palette.
9623 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9624 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9625 (grub_video_vbe_adapter): Use framebuffer.
9626 * video/video.c (grub_video_get_info_and_fini): New function.
9627 (grub_video_set_mode): Make modestring const char *.
9628 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9629 values are already initialised.
9630
9631 2009-08-14 Pavel Roskin <proski@gnu.org>
9632
9633 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9634 ABS and APPLE_CC.
9635 * boot/i386/pc/diskboot.S: Likewise.
9636 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9637 sectors allow compilation on MacOSX.
9638 * conf/i386-pc.rmk: Enable unconditional compilation of
9639 lnxboot.img.
9640
9641 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
9642
9643 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9644 * util/grub.d/00_header.in: Enter interruptible sleep if
9645 GRUB_HIDDEN_TIMEOUT is set.
9646
9647 2009-08-13 Yves Blusseau <blusseau@zetam.org>
9648
9649 * include/grub/symbol.h: Add the LOCAL macro.
9650 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9651 starting with "L_".
9652
9653 2009-08-13 Pavel Roskin <proski@gnu.org>
9654
9655 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9656 any modern compilers we support.
9657
9658 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9659 Use local labels starting with "L_" so that Apple assembler
9660 knows they are local.
9661
9662 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9663
9664 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9665 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9666 (bsd_kernel_types): ... this enum.
9667
9668 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9669 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9670 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9671
9672 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9673 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9674 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9675 messages.
9676
9677 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9678
9679 * util/grub-dumpdevtree: Moved from here ...
9680 * util/i386/efi/grub-dumpdevtree: ... to here.
9681 (hexify): New function. Converts a string to its hex version.
9682 Generate hex versions of "efi" and "device-properties" by calling
9683 hexify() on the ASCII strings rather than by hardcoding numbers.
9684
9685 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9686
9687 * fs/jfs.c: Update copyright year.
9688
9689 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9690
9691 * util/grub.d/00_header.in: Fix a comment.
9692 * util/grub.d/10_linux.in: Likewise.
9693 * util/grub.d/10_windows.in: Likewise.
9694 * util/grub.d/10_hurd.in: Likewise.
9695
9696 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9697
9698 * util/grub-mkconfig.in: Allow the user to specify the used font
9699 with GRUB_FONT.
9700
9701 2009-08-08 Pavel Roskin <proski@gnu.org>
9702
9703 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9704 available, xfs.mod needs it now.
9705
9706 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9707 the "g" modifier in sed when the intention is to strip something
9708 once. This fixes comparison of kernels with multiple dashes.
9709
9710 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9711 on it. Add missing space before closing bracket. Fix
9712 misleading formatting.
9713
9714 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9715
9716 * docs/grub.texi: Major overhaul. Remove all sections that are
9717 specific to GRUB Legacy, or mostly composed of Legacy-specific
9718 information.
9719
9720 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9721
9722 * docs/version.texi: New file. Provides version information for
9723 grub.texi.
9724
9725 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9726
9727 * docs/grub.texi: Update CVS information to SVN.
9728 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9729
9730 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9731
9732 * util/grub-mkconfig.in: Remove a wrong `fi'.
9733
9734 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9735
9736 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9737 (grub_jfs_uuid): New function.
9738 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9739
9740 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9741
9742 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9743 of it to ...
9744 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9745 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9746
9747 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9748
9749 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9750 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9751 Update all users.
9752
9753 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9754 not just "vmlinu[zx]".
9755 Moved from here ...
9756 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9757 all users.
9758
9759 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9760 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9761 all users.
9762
9763 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9764
9765 * util/grub.d/10_freebsd.in: Use an absolute device path for
9766 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9767
9768 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
9769
9770 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9771 handling of multiple abstraction modules.
9772
9773 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9774
9775 Fix a bug resulting in black screen when loading Linux using a
9776 packed video mode.
9777
9778 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9779 function.
9780
9781 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9782 (grub_vbe_bios_getset_dac_palette_width): New function.
9783 (grub_vbe_bios_get_dac_palette_width)
9784 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9785 grub_vbe_bios_getset_dac_palette_width()).
9786
9787 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9788 check for return status.
9789 (grub_vbe_get_video_mode_info): When getting information for a packed
9790 mode (<= 8 bpp), obtain DAC palette width using
9791 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9792 {red,green,blue}_mark_size.
9793
9794 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
9795
9796 * commands/search.c (options): Fix help output to match actual code.
9797
9798 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9801 of homegrown code.
9802
9803 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9806 on XFS or ReiserFS.
9807
9808 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 Support Apple partition map with sector size different from 512 bytes.
9811
9812 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9813 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9814 and 'apart.partmap_size'.
9815
9816 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9817 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
9818
9819 Fix cpuid command.
9820
9821 * commands/i386/cpuid.c (options): New variable.
9822 (grub_cmd_cpuid): Return real error.
9823 (GRUB_MOD_INIT(cpuid)): Declare options.
9824
9825 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
9828 valid.
9829
9830 2009-07-31 Bean <bean123ch@gmail.com>
9831
9832 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
9833 log2_inode.
9834 (grub_fshelp_node): Move inode field to the end.
9835 (grub_xfs_data): Remove inode field.
9836 (grub_xfs_inode_block): Calculate inode size using sblock.
9837 (grub_xfs_inode_offset): Likewise.
9838 (grub_xfs_read_inode): Calculate inode size using sblock.
9839 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
9840 (grub_xfs_iterate_dir): Calculate inode size using sblock.
9841 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
9842 to match inode size.
9843 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
9844 not accessible when data is null.
9845 (grub_xfs_open): Likewise.
9846
9847 2009-07-31 Bean <bean123ch@gmail.com>
9848
9849 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9850 Don't change pv->disk if it's already set.
9851
9852 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9853 (grub_raid_register): ... here.
9854 (grub_raid_rescan): Removed.
9855
9856 * include/grub/raid.h (grub_raid_rescan): Removed.
9857
9858 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9859 (fstest): Replace grub_raid_rescan with module fini function followed
9860 by init function.
9861
9862 * util/grub-probe.c: Add include file <grub/raid.h>.
9863 (probe_raid_level): New function.
9864 (probe): Detect abstraction by walking the disk device, support two
9865 level of abstraction (LVM on RAID) when detecting partition map.
9866
9867 2009-07-31 Pavel Roskin <proski@gnu.org>
9868
9869 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9870 to grub_zalloc(), it was erroneous.
9871 Reported by Bean <bean123ch@gmail.com>
9872
9873 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
9876 embedding zone, not only the first one.
9877
9878 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
9879
9880 * term/gfxterm.c (clear_char): New function.
9881 (grub_virtual_screen_setup): Use clear_char.
9882 (scroll_up): Likewise.
9883 (grub_virtual_screen_cls): Likewise.
9884
9885 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
9886
9887 * util/deviceiter.c (get_acceleraid_disk_name): New static
9888 function.
9889 (grub_util_iterate_devices): Handle Accelraid devices.
9890 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9891
9892 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9893
9894 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9895 separator for the suggested gfxpayload string (';' collides with the
9896 parser and needs escaping).
9897
9898 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9901 Clear direction flag before jumping to OS.
9902 (grub_multiboot2_real_boot): Likewise.
9903
9904 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9905
9906 * util/i386/pc/grub-install: Fix parsing of --disk-module
9907 option.
9908
9909 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9910
9911 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9912 when embedding.
9913
9914 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
9915
9916 * util/grub-mkconfig.in (package_version): New variable.
9917 Use it do display the version.
9918
9919 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9920
9921 * kern/file.c (grub_file_open): Revert to previous check with
9922 grub_errno.
9923
9924 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9927 from help line. It's out of sync with code.
9928
9929 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9932 entries on failed boot.
9933
9934 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9935
9936 * kern/file.c (grub_file_open): Fix an error check.
9937
9938 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9941 partition map couldn't be identified.
9942
9943 2009-07-23 Pavel Roskin <proski@gnu.org>
9944
9945 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9946 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9947 case of little endian words becomes just an optimization.
9948 Respect const modifier.
9949 (md5_final): Use code that doesn't depend on endianness.
9950
9951 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9952 to avoid loss of upper bits if align is unsigned and shorter
9953 than addr.
9954
9955 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 UUID support for UFS
9958
9959 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9960 (grub_ufs_uuid): New function.
9961 (grub_ufs_fs): add .uuid
9962
9963 2009-07-21 Pavel Roskin <proski@gnu.org>
9964
9965 * kern/dl.c (grub_dl_check_header): Make static.
9966
9967 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
9968
9969 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9970 add drivemap for Vista. It breaks Windows 7.
9971
9972 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9975 128 bytes
9976
9977 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 Add BFS support
9980
9981 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9982 (grub_fstest_SOURCES): Likewise.
9983 (pkglib_MODULES): Add befs.mod.
9984 (befs_mod_SOURCES): New variable.
9985 (befs_mod_CFLAGS): Likewise.
9986 (befs_mod_LDFLAGS): Likewise.
9987 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9988 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9989 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9990 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9991 (grub_setup_SOURCES): Likewise.
9992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9993 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9994 (grub_setup_SOURCES): Likewise.
9995 * fs/befs.c: New file.
9996 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9997 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9998 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9999 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10000 (B_KEY_INDEX_ALIGN): New declaration.
10001 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10002 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10003 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10004 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10005 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10006 (grub_afs_mount) [MODE_BFS]: Likewise.
10007 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10008 (grub_afs_fs): Use GRUB_AFS_FSNAME
10009 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10010 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10011 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10012 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10013
10014 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10015
10016 * util/getroot.c (find_root_device): Add support for MacOSX.
10017 * util/hostdisk.c: Likewise.
10018
10019 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * font/font.c (find_glyph): Check whether a font is present to avoid
10022 segmentation fault.
10023
10024 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
10025
10026 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10027
10028 2009-07-20 Pavel Roskin <proski@gnu.org>
10029
10030 * configure.ac: Trim excessively wordy excuses.
10031
10032 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 Add symlink, mtime and label support to AtheFS.
10035
10036 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10037 (grub_afs_iterate_dir): Handle symlinks.
10038 (grub_afs_open): Use grub_afs_read_symlink.
10039 (grub_afs_dir): Likewise.
10040 Pass mtime.
10041 (grub_afs_label): New function.
10042 (grub_afs_fs): Add grub_afs_label.
10043 (grub_afs_read_symlink): New function.
10044
10045 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 Fix AtheFS support.
10048
10049 * fs/afs.c: Fix comments style.
10050 (grub_afs_blockrun): Declare as packed.
10051 (grub_afs_datastream): Likewise.
10052 (grub_afs_bnode): Likewise.
10053 (grub_afs_btree): Likewise.
10054 (grub_afs_sblock): Likewise.
10055 Declare `name' as char.
10056 (grub_afs_inode): Declare as packed.
10057 Change void *vnode to grub_uint32_t unused.
10058 (grub_afs_iterate_dir): Check that key_size is positive.
10059 (grub_afs_mount): Don't read superblock twice.
10060 (grub_afs_dir): Don't free node in case of error,
10061 grub_fshelp_find_file already handles this.
10062 (grub_afs_open): Likewise.
10063
10064 2009-07-19 Pavel Roskin <proski@gnu.org>
10065
10066 * Makefile.in: Remove LIBLZO and enable_lzo.
10067 * conf/i386-pc.rmk: Remove lzo support.
10068 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10069 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10070 support.
10071 * kern/i386/pc/lzo1x.S: Remove.
10072 * kern/i386/pc/startup.S: Remove lzo support.
10073 * util/i386/pc/grub-mkimage.c: Likewise.
10074
10075 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10078 * fs/xfs.c (grub_xfs_dir): Likewise.
10079 * fs/afs.c (grub_afs_dir): Likewise.
10080 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10081 (grub_iso9660_open): Likewise.
10082 * fs/jfs.c (grub_jfs_open): Likewise.
10083 * fs/ext2.c (grub_ext2_dir): Likewise.
10084 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10085 * script/sh/lexer.c (grub_script_yylex): Likewise.
10086
10087 2009-07-16 Pavel Roskin <proski@gnu.org>
10088
10089 * configure.ac: Never add "-c" to CFLAGS.
10090
10091 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10092
10093 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10094 grub_cv_cc_efiemu should be used.
10095
10096 * configure.ac: Typo fixes.
10097
10098 * kern/mm.c (grub_zalloc): New function.
10099 (grub_debug_zalloc): Likewise.
10100 * include/grub/mm.h: Declare grub_zalloc() and
10101 grub_debug_zalloc().
10102 * util/misc.c (grub_zalloc): New function.
10103 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10104 instead of grub_malloc(), remove unneeded initializations.
10105 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10106 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10107 * commands/parttool.c (grub_cmd_parttool): Likewise.
10108 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10109 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10110 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10111 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10112 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10113 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10114 (grub_cmd_efiemu_pnvram): Likewise.
10115 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10116 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10117 (grub_iso9660_iterate_dir): Likewise.
10118 * fs/jfs.c (grub_jfs_opendir): Likewise.
10119 * fs/ntfs.c (list_file): Likewise.
10120 (grub_ntfs_mount): Likewise.
10121 * kern/disk.c (grub_disk_open): Likewise.
10122 * kern/dl.c (grub_dl_load_core): Likewise.
10123 * kern/elf.c (grub_elf_file): Likewise.
10124 * kern/env.c (grub_env_context_open): Likewise.
10125 (grub_env_set): Likewise.
10126 (grub_env_set_data_slot): Likewise.
10127 * kern/file.c (grub_file_open): Likewise.
10128 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10129 * loader/i386/multiboot.c (grub_module): Likewise.
10130 * loader/xnu.c (grub_xnu_create_key): Likewise.
10131 (grub_xnu_create_value): Likewise.
10132 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10133 (read_config_file): Likewise.
10134 * normal/menu_entry.c (make_screen): Likewise.
10135 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10136 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10137 * script/sh/script.c (grub_script_parse): Likewise.
10138 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10139 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10140 * video/readers/png.c (grub_png_output_byte): Likewise.
10141 (grub_video_reader_png): Likewise.
10142
10143 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 Enable all targets that can be built by default
10146
10147 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
10148 grub-mkfont and grub-fstest if they can be built
10149
10150 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 Fix hang and segmentation fault in grub-emu-usb
10153
10154 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10155 * util/usb.c (grub_libusb_devices): likewise
10156 (grub_libusb_init): rename to ...
10157 (GRUB_MOD_INIT (libusb)):...this
10158 (grub_libusb_fini): rename to ..
10159 (GRUB_MOD_FINI (libusb)):...this
10160 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10161 * include/grub/disk.h (grub_raid_init): removed, it's useless
10162 (grub_raid_fini): likewise
10163 (grub_lvm_init): likewise
10164 (grub_lvm_fini): likewise
10165 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10166 by grub_init_all
10167
10168 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 Fix libusb
10171
10172 * Makefile.in (LIBUSB): new macro
10173 * genmk.rb (Utility/print_tail): new method
10174 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10175 (top level): call util.print_tail at the end.
10176
10177 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 Make FreeBSD accept zpool.cache
10180
10181 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10182 type is /boot/zfs/zpool.cache
10183
10184 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 Fix 64-bit efiemu
10187
10188 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10189 correct wrong typedef
10190 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10191
10192 2009-07-15 Pavel Roskin <proski@gnu.org>
10193
10194 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10195 * kern/disk.c (struct grub_disk_cache): Likewise.
10196
10197 * commands/probe.c (options): Typo fix.
10198
10199 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10200 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10201 accordingly.
10202 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10203
10204 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10205 the end of "Error" to make the message more readable.
10206
10207 * boot/i386/pc/boot.S (kernel_segment): Remove.
10208 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10209 for destination.
10210
10211 * boot/i386/pc/boot.S (boot_version): Remove.
10212 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10213 Remove.
10214
10215 * include/grub/i386/pc/boot.h: Sort all offsets.
10216 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10217 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10218 * boot/i386/pc/boot.S: Assert location of every offset listed in
10219 include/grub/i386/pc/boot.h.
10220
10221 2009-07-13 Pavel Roskin <proski@gnu.org>
10222
10223 * include/grub/i386/coreboot/machine.h: Rename
10224 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10225 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10226 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10227
10228 * kern/dl.c: Force native word size to suppress warnings when
10229 compiling grub-emu.
10230
10231 * kern/device.c (grub_device_iterate): Change struct part_ent to
10232 hold the name, not a pointer to it. Use one grub_malloc() per
10233 partition, not two. Free partition_name if grub_malloc() fails.
10234 Set ents to NULL only before grub_partition_iterate() is called.
10235
10236 2009-07-11 Bean <bean123ch@gmail.com>
10237
10238 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10239 childname.
10240
10241 2009-07-10 Bean <bean123ch@gmail.com>
10242 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10243
10244 * kern/ieee1275/openfw.c (grub_children_iterate)
10245 (grub_devalias_iterate): Fix size evaluation for property or path
10246 strings, which was broken since r2132.
10247
10248 2009-07-07 Pavel Roskin <proski@gnu.org>
10249
10250 * commands/search.c (search_file): Merge into ...
10251 (search_fs): ... this. Accept search type as argument.
10252 (grub_cmd_search): Pass search type to search_fs().
10253
10254 * include/grub/util/console.h: New file.
10255 * util/console.c: Use it instead of grub/machine/console.h.
10256 * util/grub-emu.c: Likewise.
10257
10258 * lib/arg.c (find_long_option): Remove.
10259 (find_long): Add `len' argument, make `s' const char *.
10260 (grub_arg_parse): Parse long options in place, not in a
10261 temporary buffer.
10262
10263 2009-07-06 Pavel Roskin <proski@gnu.org>
10264
10265 * commands/search.c (search_fs): Fix potential NULL pointer
10266 dereference.
10267
10268 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10269 function pointer.
10270
10271 2009-07-06 Daniel Mierswa <impulze@impulze.org>
10272
10273 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10274 comparison.
10275
10276 2009-07-05 Pavel Roskin <proski@gnu.org>
10277
10278 * include/grub/i386/linux.h (struct linux_kernel_params):
10279 Restore padding3, it's still needed.
10280
10281 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10282 FreeBSD.
10283 * util/osdetect.lua: Likewise.
10284
10285 2009-07-05 Bean <bean123ch@gmail.com>
10286
10287 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10288
10289 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10290 (grub_lua_getenv): Likewise.
10291 (grub_lua_setenv): Likewise.
10292 (save_errno): New function.
10293 (push_result): Likewise.
10294 (grub_lua_enum_device): Likewise.
10295 (grub_lua_enum_file): Likewise.
10296 (grub_lua_file_open): Likewise.
10297 (grub_lua_file_close): Likewise.
10298 (grub_lua_file_seek): Likewise.
10299 (grub_lua_file_read): Likewise.
10300 (grub_lua_file_getline): Likewise.
10301 (grub_lua_file_getsize): Likewise.
10302 (grub_lua_file_getpos): Likewise.
10303 (grub_lua_file_eof): Likewise.
10304 (grub_lua_file_exist): Likewise.
10305 (grub_lua_add_menu): Likewise.
10306
10307 * script/lua/grub_lua.h (isupper): New inline function.
10308 (islower): Likewise.
10309 (ispunct): Likewise.
10310 (isxdigit): Likewise.
10311 (strcspn): Change to normal function.
10312 (strpbkr): New function declaration.
10313 (memchr): Likewise.
10314
10315 * script/lua/grub_main.c (scan_str): New function.
10316 (strcspn): Likewise.
10317 (strpbrk): Likewise.
10318 (memchr): Likewise.
10319
10320 * script/lua/linit.c (lualibs): Enable the string library.
10321
10322 * util/osdetect.lua: New file.
10323
10324 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10325
10326 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10327 `capabilities' member.
10328
10329 2009-07-02 Pavel Roskin <proski@gnu.org>
10330
10331 * genparttoollist.sh: Add missing newline at the end.
10332
10333 2009-07-01 Pavel Roskin <proski@gnu.org>
10334
10335 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10336
10337 * util/hostdisk.c (open_device): Remove `const' from
10338 `sysctl_size', as sysctlbyname() can change it (in this case it
10339 doesn't actually happen).
10340
10341 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10342 using signed long int constants.
10343
10344 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10345 constant to avoid a warning on FreeBSD.
10346
10347 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10348 where it's needed.
10349
10350 * Makefile.in: Install include/grub/machine symlink.
10351
10352 * Makefile.in: When installing symlinks, use "cp -fR", which
10353 works on FreeBSD and MacOSX.
10354 From Yves Blusseau <cl7m42e02@sneakemail.com>
10355
10356 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10357 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10358
10359 * util/misc.c: Move grub_reboot() and grub_halt() ...
10360 * util/grub-emu.c: ... here. Make main_env static.
10361 * include/grub/util/misc.h: Remove main_env.
10362
10363 * kern/mm.c: Use correct format to print size_t.
10364
10365 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10366 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10367 * kern/powerpc/dl.c: Likewise.
10368 * kern/sparc64/dl.c: Likewise.
10369 * kern/x86_64/dl.c: Likewise.
10370
10371 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10372
10373 Fix grub-emu build on sparc64-ieee1275.
10374
10375 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
10376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10377
10378 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10379
10380 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10381 (grub_reboot, grub_halt): New functions.
10382
10383 * util/i386/pc/misc.c: Delete. Update all users.
10384 * util/sparc64/ieee1275/misc.c: Likewise.
10385 * util/powerpc/ieee1275/misc.c: Likewise.
10386
10387 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10388
10389 * conf/i386.rmk (setjmp_mod_SOURCES)
10390 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10391 * conf/common.rmk (setjmp_mod_SOURCES)
10392 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10393 to use $(target_cpu).
10394 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10395 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10396 * conf/powerpc-ieee1275.rmk: Likewise.
10397 * conf/sparc64-ieee1275.rmk: Likewise.
10398
10399 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10400 $(target_cpu) for kern/$(target_cpu)/dl.c.
10401 * conf/i386-efi.rmk: Likewise.
10402 * conf/i386-ieee1275.rmk: Likewise.
10403 * conf/x86_64-efi.rmk: Likewise.
10404 * conf/i386-coreboot.rmk: Likewise.
10405 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10406 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10407 kern/$(target_cpu)/cache.S.
10408 * conf/sparc64-ieee1275.rmk: Likewise.
10409
10410 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10411
10412 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10413 type to `grub_uint8_t', and adjust `padding9' accordingly.
10414
10415 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10416
10417 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10418
10419 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10420 assembly in final jump, using register constraints.
10421
10422 (grub_linux_boot): For text mode, initialize `have_vga' using
10423 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10424
10425 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10426 right before the final jump.
10427
10428 Set `video_mode' to 0x3.
10429
10430 Document initialization of `video_page', `video_mode' and
10431 `video_ega_bx'.
10432
10433 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10434
10435 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10436 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
10437 and set GRUB_LINUX_FLAG_QUIET appropriately.
10438
10439 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10440
10441 Fix build on Debian / sparc.
10442
10443 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10444
10445 2009-06-28 Pavel Roskin <proski@gnu.org>
10446
10447 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10448 fix a warning.
10449
10450 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10451
10452 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10453
10454 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10455 `err'.
10456
10457 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10458
10459 Revert r2338.
10460
10461 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10462 file can't be opened. grub_file_open() is already supposed to set
10463 grub_errno / grub_errmsg appropriately.
10464 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10465
10466 2009-06-27 Pavel Roskin <proski@gnu.org>
10467 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10468
10469 * include/grub/dl.h: Include grub/elf.h.
10470 (struct grub_dl): Add symtab field.
10471 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10472 GRUB_MODULES_MACHINE_READONLY.
10473 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10474 of the header for read-only modules.
10475 (grub_dl_unload): Free mod->symtab for read-only modules.
10476 * kern/i386/dl.c: Use mod->symtab.
10477 * kern/powerpc/dl.c: Likewise.
10478 * kern/sparc64/dl.c: Likewise.
10479 * kern/x86_64/dl.c: Likewise.
10480
10481 * conf/i386-qemu.rmk: New file.
10482 * kern/i386/qemu/startup.S: Likewise.
10483 * kern/i386/qemu/mmap.c: Likewise.
10484 * boot/i386/qemu/boot.S: Likewise.
10485 * include/grub/i386/qemu/time.h: Likewise.
10486 * include/grub/i386/qemu/serial.h: Likewise.
10487 * include/grub/i386/qemu/kernel.h: Likewise.
10488 * include/grub/i386/qemu/console.h: Likewise.
10489 * include/grub/i386/qemu/boot.h: Likewise.
10490 * include/grub/i386/qemu/init.h: Likewise.
10491 * include/grub/i386/qemu/machine.h: Likewise.
10492 * include/grub/i386/qemu/loader.h: Likewise.
10493 * include/grub/i386/qemu/memory.h: Likewise.
10494
10495 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10496 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10497 [qemu] (pkglib_IMAGES): Add `boot.img'.
10498 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10499 [qemu] (boot_img_FORMAT): New variables.
10500 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10501 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10502 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10503 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10504 [qemu] (kernel_img_FORMAT): New variables.
10505
10506 * configure.ac: Recognise `i386-qemu'.
10507
10508 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10509 (for no compression).
10510 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10511 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10512 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10513 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10514 ifdefs).
10515
10516 2009-06-27 Pavel Roskin <proski@gnu.org>
10517
10518 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10519 read.
10520 * efiemu/prepare32.c: Likewise.
10521 * efiemu/prepare64.c: Likewise.
10522
10523 2009-06-26 Pavel Roskin <proski@gnu.org>
10524
10525 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10526 * include/grub/elf.h: Define symbols without "32" or "64" based
10527 on GRUB_TARGET_WORDSIZE.
10528 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10529 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10530 ELF definitions.
10531 * efiemu/loadcore64.c: Likewise.
10532 * loader/i386/bsd32.c: Likewise.
10533 * loader/i386/bsd64.c: Likewise.
10534 * kern/dl.c: Remove own ELF definitions.
10535 * util/i386/efi/grub-mkimage.c: Likewise.
10536
10537 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10538
10539 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10540 segment 0x0 unconditionally, because the reference generated by
10541 GAS is an absolute address.
10542
10543 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10544
10545 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10546 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10547
10548 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10549
10550 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10551 indexes. Check for -f explicitly.
10552 (search_file): Improve error message.
10553 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
10554
10555 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10556
10557 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10558 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10559
10560 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10561
10562 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10563 * conf/i386-ieee1275.rmk: Likewise.
10564 * conf/i386-coreboot.rmk: Likewise.
10565
10566 * kern/i386/pc/startup.S (grub_stop): Remove function.
10567 * kern/i386/ieee1275/startup.S: Likewise.
10568 * kern/i386/coreboot/startup.S: Likewise.
10569 * kern/i386/misc.S (grub_stop): New function.
10570
10571 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10572
10573 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10574 * kern/i386/realmode.S (real_to_prot): ... to here.
10575
10576 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10577
10578 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10579 with `kernel.img'.
10580 (kernel_elf_SOURCES): Rename to ...
10581 (kernel_img_SOURCES): ... this.
10582 (kernel_elf_HEADERS): Rename to ...
10583 (kernel_img_HEADERS): ... this. Update all users.
10584 (kernel_elf_ASFLAGS): Rename to ...
10585 (kernel_img_ASFLAGS): ... this.
10586 (kernel_elf_CFLAGS): Rename to ...
10587 (kernel_img_CFLAGS): ... this.
10588 (kernel_elf_LDFLAGS): Rename to ...
10589 (kernel_img_LDFLAGS): ... this.
10590 * conf/i386-coreboot.rmk: Likewise.
10591 * conf/powerpc-ieee1275.rmk: Likewise.
10592
10593 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10594 with "kernel.img".
10595
10596 2009-06-21 Pavel Roskin <proski@gnu.org>
10597
10598 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10599 to match nested functions.
10600 * loader/sparc64/ieee1275/linux.c: Likewise.
10601
10602 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10603
10604 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10605
10606 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10607 all i386 platforms.
10608
10609 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10610
10611 Fix asm file handling on ELF, and remove workarounds.
10612
10613 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
10614 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
10615 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10616 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10617
10618 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 Load BSD ELF modules
10621
10622 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10623 and loader/i386/bsd64.c
10624 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10625 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10626 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10627 (grub_freebsd_load_elfmodule32): New declaration
10628 (grub_freebsd_load_elfmoduleobj64): Likewise
10629 (grub_freebsd_load_elf_meta32): Likewise
10630 (grub_freebsd_load_elf_meta64): Likewise
10631 (grub_freebsd_add_meta): Likewise
10632 (grub_freebsd_add_meta_module): Likewise
10633 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10634 (grub_freebsd_add_meta_module): Likewise and move module-specific
10635 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10636 (grub_cmd_freebsd): Add elf-kernel specific parts
10637 based on grub_freebsd_add_meta_module
10638 (grub_cmd_freebsd_module): Add type parsing moved from
10639 grub_freebsd_add_meta_module
10640 (grub_cmd_freebsd_module_elf): New function
10641 (cmd_freebsd_module_elf): New variable
10642 (GRUB_MOD_INIT): Register freebsd_module_elf
10643 * loader/i386/bsd32.c: New file
10644 * loader/i386/bsd64.c: Likewise
10645 * loader/i386/bsdXX.c: Likewise
10646 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10647 (grub_elf64_load): Likewise
10648 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10649 All users updated
10650 (grub_elf64_load_hook_t): Likewise
10651
10652 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
10653
10654 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10655 variable.
10656 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10657 don't write a menu entry for recovery mode.
10658
10659 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10660
10661 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10662 after it's no longer needed.
10663
10664 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10665
10666 * include/grub/i386/loader.h (grub_linux_prot_size)
10667 (grub_linux_tmp_addr, grub_linux_real_addr)
10668 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10669 GRUB_MACHINE_PCBIOS.
10670 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10671 common grub_util_info() call to ...
10672 (generate_image): ... here.
10673 Fix use of uninitialized memory, comparison of signed with
10674 unsigned integers and memory leak.
10675 Remove bogus module address message.
10676
10677 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10680 grub_raid_register
10681 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10682
10683 2009-06-19 Pavel Roskin <proski@gnu.org>
10684
10685 * configure.ac: Remove stray AC_MSG_CHECKING.
10686
10687 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * disk/scsi.c (grub_scsi_open): use continue instead of big if
10690
10691 2009-06-18 Pavel Roskin <proski@gnu.org>
10692
10693 * conf/common.rmk: Add fs_file.mod.
10694 * disk/fs_file.c: New file.
10695 * include/grub/disk.h (enum grub_disk_dev_id): Add
10696 GRUB_DISK_DEVICE_FILE_ID.
10697
10698 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 Fix build with Apple's toolchain. Part 2
10701
10702 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10703 a fake start
10704
10705 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 Fix build with Apple's toolchain. Part 1
10708
10709 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10710 for long calls
10711 * configure.ac: remove a leftover AC_MSG_RESULT
10712 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
10713 Apple's toolchain
10714
10715 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 Fix warnings
10718
10719 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10720 (decomp_block): initialize ch
10721 use grub_memcpy instead of memcpy
10722
10723 2009-06-17 Pavel Roskin <proski@gnu.org>
10724
10725 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10726 version, use declarations needed to use vga_text as the startup
10727 console.
10728
10729 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10730 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10731 the kernel.
10732 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10733 and grub_at_keyboard_fini(), it's done on module load and
10734 unload.
10735
10736 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
10737
10738 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10739 file can't be found.
10740 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10741
10742 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 Fix newline handling
10745
10746 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
10747 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
10748 (grub_script_yylex): don't segfault on unterminated script
10749 newline terminates command and variable
10750
10751 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 avoid double grub_adjust_range call. Bug reported by David Simner
10754
10755 * kern/disk.c (grub_disk_write): change to raw disk access before
10756 calling disk_read
10757
10758 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
10759
10760 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10761 spaces, for the benefit of help2man.
10762 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10763
10764 2009-06-16 Pavel Roskin <proski@gnu.org>
10765
10766 * kern/i386/halt.c: Include grub/machine/init.h.
10767 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10768
10769 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
10770
10771 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10772 drivemap menuentry.
10773
10774 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10775
10776 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10777 `echo' command.
10778
10779 2009-06-16 Pavel Roskin <proski@gnu.org>
10780
10781 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10782 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10783 save %dx, we only need %dl and we never change it.
10784 * boot/i386/pc/cdboot.S: Don't set the root drive.
10785 * boot/i386/pc/pxeboot.S: Likewise.
10786 * include/grub/i386/pc/boot.h: Remove
10787 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10788 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10789 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10790 * kern/i386/pc/init.c (make_install_device): Remove references
10791 to grub_root_drive.
10792 * kern/i386/pc/startup.S: Likewise.
10793 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10794
10795 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 xnu_uuid command
10798
10799 * commands/xnu_uuid.c: new file
10800 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10801 (xnu_uuid_mod_SOURCES): new variable
10802 (xnu_uuid_mod_CFLAGS): likewise
10803 (xnu_uuid_mod_LDFLAGS): likewise
10804 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10805 * conf/i386-ieee1275.rmk: likewise
10806 * conf/i386-pc.rmk: likewise
10807 * conf/powerpc-ieee1275.rmk: likewise
10808 * conf/sparc64-ieee1275.rmk: likewise
10809 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10810
10811 2009-06-16 Pavel Roskin <proski@gnu.org>
10812
10813 * configure.ac: Avoid '==' in test command, it's not portable.
10814
10815 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 Probe command
10818
10819 * commands/probe.c: new file
10820 * conf/common.rmk (pkglib_MODULES): add probe.mod
10821 (probe_mod_SOURCES): new variable
10822 (probe_mod_CFLAGS): likewise
10823 (probe_mod_LDFLAGS): likewise
10824 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10825 * conf/i386-ieee1275.rmk: likewise
10826 * conf/i386-pc.rmk: likewise
10827 * conf/powerpc-ieee1275.rmk: likewise
10828 * conf/sparc64-ieee1275.rmk: likewise
10829
10830 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 Fix handling of string like \"hello\" and "a
10833 b"
10834
10835 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
10836 (grub_script_yylex): fix parsing of quoting, escaping and newline
10837
10838 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
10841 handling
10842
10843 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
10844
10845 * util/grub-mkconfig.in: Fix parsing of --output option.
10846
10847 2009-06-12 Pavel Roskin <proski@gnu.org>
10848
10849 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10850 genmk.rb don't need to be generated or installed.
10851
10852 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * commands/i386/pc/drivemap_int13h.S: add more comments
10855
10856 2009-06-11 Pavel Roskin <proski@gnu.org>
10857
10858 * Makefile.in (uninstall): Uninstall manuals.
10859
10860 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10861 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10862 and update-grub_lib in two places.
10863 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10864
10865 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10866 a compiler warning.
10867
10868 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10869 `entry_lo' to fix variable shadowing.
10870
10871 2009-06-11 Christian Franke <franke@computer.org>
10872
10873 * kern/misc.c (__enable_execute_stack): Add missing return type
10874 to prevent gcc warning.
10875
10876 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
10877
10878 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10879
10880 2009-06-11 Pavel Roskin <proski@gnu.org>
10881
10882 * Makefile.in: Don't rely on any scripts being executable.
10883 Always use $(SHELL) to run shell scripts.
10884
10885 * configure.ac: Always define ___main if using -nostdlib. This
10886 fixes tests on Cygwin.
10887
10888 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10889
10890 UDF fix
10891
10892 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
10893 is in bytes and not in blocks
10894
10895 2009-06-11 Pavel Roskin <proski@gnu.org>
10896
10897 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10898 warning.
10899
10900 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
10901
10902 * util/grub.d/30_os-prober.in: Fix a comment. Source
10903 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10904 to set the root device. Place drivemap command in the generated
10905 chain entry.
10906
10907 2009-06-11 Pavel Roskin <proski@gnu.org>
10908
10909 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10910 have long been resolved.
10911
10912 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
10913
10914 * util/grub.d/10_linux.in: Capitalise "Linux".
10915
10916 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10917
10918 2009-06-11 Pavel Roskin <proski@gnu.org>
10919
10920 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10921 fix a gcc warning and ensure that the function won't ever exit.
10922
10923 * kern/i386/ieee1275/init.c: Add missing prototype for
10924 grub_stop_floppy().
10925
10926 * loader/ieee1275/multiboot2.c [__i386__]: Include
10927 grub/cpu/multiboot.h.
10928
10929 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10930 casts to short - they are not portable and cause warnings. Fix
10931 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10932
10933 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 Drivemap fixes
10936
10937 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10938 new function
10939 (grub_get_root_biosnumber_saved): new variable
10940 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10941 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
10942 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
10943 %dx after the call if necessary
10944 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10945 (boot_mod_SOURCES): remove
10946 (boot_mod_CFLAGS): remove
10947 (boot_mod_LDFLAGS): remove
10948 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10949 (boot_mod_SOURCES): new variable
10950 (boot_mod_CFLAGS): likewise
10951 (boot_mod_LDFLAGS): likewise
10952 * conf/i386-efi.rmk: likewise
10953 * conf/i386-ieee1275.rmk: likewise
10954 * conf/i386-pc.rmk: likewise
10955 * conf/powerpc-ieee1275.rmk: likewise
10956 * conf/sparc64-ieee1275.rmk: likewise
10957 * conf/x86_64-efi.rmk: likewise
10958 * include/grub/i386/pc/biosnum.h: new file
10959 * lib/i386/pc/biosnum.c: likewise
10960 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10961 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10962 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
10963
10964 2009-06-10 Pavel Roskin <proski@gnu.org>
10965
10966 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10967 Use separate variables. Read only the file size at the end, but
10968 not the checksum that we don't use.
10969
10970 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10971 Adjust all callers.
10972
10973 * kern/ieee1275/openfw.c: Remove libc includes.
10974 * kern/ieee1275/cmain.c: Likewise.
10975 * include/grub/ieee1275/ieee1275.h: Likewise.
10976
10977 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10978 compiler warnings.
10979
10980 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
10981
10982 * Makefile.in: Remove all trailing whitespace.
10983 * conf/i386-pc.rmk: Likewise.
10984 * conf/powerpc-ieee1275.rmk: Likewise.
10985 * conf/sparc64-ieee1275.rmk: Likewise.
10986 * docs/grub.texi: Likewise.
10987 * docs/texinfo.tex: Likewise.
10988 * disk/fs_uuid.c: Likewise.
10989 * disk/lvm.c: Likewise.
10990 * disk/scsi.c: Likewise.
10991 * disk/ata.c: Likewise.
10992 * disk/ieee1275/ofdisk.c: Likewise.
10993 * disk/i386/pc/biosdisk.c: Likewise.
10994 * disk/host.c: Likewise.
10995 * disk/raid.c: Likewise.
10996 * disk/efi/efidisk.c: Likewise.
10997 * disk/usbms.c: Likewise.
10998 * disk/memdisk.c: Likewise.
10999 * disk/loopback.c: Likewise.
11000 * kern/powerpc/dl.c: Likewise.
11001 * kern/device.c: Likewise.
11002 * kern/dl.c: Likewise.
11003 * kern/sparc64/dl.c: Likewise.
11004 * kern/ieee1275/ieee1275.c: Likewise.
11005 * kern/term.c: Likewise.
11006 * kern/fs.c: Likewise.
11007 * kern/i386/dl.c: Likewise.
11008 * kern/i386/pc/startup.S: Likewise.
11009 * kern/i386/pc/init.c: Likewise.
11010 * kern/i386/pc/mmap.c: Likewise.
11011 * kern/i386/pc/lzo1x.S: Likewise.
11012 * kern/i386/ieee1275/init.c: Likewise.
11013 * kern/i386/realmode.S: Likewise.
11014 * kern/i386/tsc.c: Likewise.
11015 * kern/partition.c: Likewise.
11016 * kern/corecmd.c: Likewise.
11017 * kern/file.c: Likewise.
11018 * kern/efi/efi.c: Likewise.
11019 * kern/efi/init.c: Likewise.
11020 * kern/efi/mm.c: Likewise.
11021 * kern/main.c: Likewise.
11022 * kern/err.c: Likewise.
11023 * kern/env.c: Likewise.
11024 * kern/disk.c: Likewise.
11025 * kern/generic/millisleep.c: Likewise.
11026 * kern/generic/rtc_get_time_ms.c: Likewise.
11027 * kern/misc.c: Likewise.
11028 * kern/parser.c: Likewise.
11029 * genmk.rb: Likewise.
11030 * configure.ac: Likewise.
11031 * boot/i386/pc/diskboot.S: Likewise.
11032 * boot/i386/pc/pxeboot.S: Likewise.
11033 * boot/i386/pc/boot.S: Likewise.
11034 * boot/i386/pc/lnxboot.S: Likewise.
11035 * boot/i386/pc/cdboot.S: Likewise.
11036 * parttool/pcpart.c: Likewise.
11037 * video/readers/tga.c: Likewise.
11038 * video/video.c: Likewise.
11039 * video/bitmap.c: Likewise.
11040 * lib/envblk.c: Likewise.
11041 * lib/i386/setjmp.S: Likewise.
11042 * fs/xfs.c: Likewise.
11043 * fs/afs.c: Likewise.
11044 * fs/fat.c: Likewise.
11045 * fs/ntfs.c: Likewise.
11046 * fs/udf.c: Likewise.
11047 * fs/affs.c: Likewise.
11048 * fs/iso9660.c: Likewise.
11049 * fs/hfs.c: Likewise.
11050 * fs/fshelp.c: Likewise.
11051 * fs/ext2.c: Likewise.
11052 * fs/jfs.c: Likewise.
11053 * fs/reiserfs.c: Likewise.
11054 * fs/hfsplus.c: Likewise.
11055 * fs/minix.c: Likewise.
11056 * fs/cpio.c: Likewise.
11057 * fs/sfs.c: Likewise.
11058 * fs/ufs.c: Likewise.
11059 * efiemu/prepare.c: Likewise.
11060 * efiemu/loadcore_common.c: Likewise.
11061 * efiemu/runtime/efiemu.sh: Likewise.
11062 * efiemu/runtime/efiemu.S: Likewise.
11063 * efiemu/runtime/efiemu.c: Likewise.
11064 * efiemu/pnvram.c: Likewise.
11065 * efiemu/main.c: Likewise.
11066 * efiemu/i386/pc/cfgtables.c: Likewise.
11067 * efiemu/i386/loadcore64.c: Likewise.
11068 * efiemu/i386/loadcore32.c: Likewise.
11069 * efiemu/loadcore.c: Likewise.
11070 * efiemu/symbols.c: Likewise.
11071 * efiemu/mm.c: Likewise.
11072 * include/grub/autoefi.h: Likewise.
11073 * include/grub/datetime.h: Likewise.
11074 * include/grub/term.h: Likewise.
11075 * include/grub/hfs.h: Likewise.
11076 * include/grub/lvm.h: Likewise.
11077 * include/grub/i386/tsc.h: Likewise.
11078 * include/grub/i386/linux.h: Likewise.
11079 * include/grub/i386/xnu.h: Likewise.
11080 * include/grub/i386/efiemu.h: Likewise.
11081 * include/grub/i386/pc/biosdisk.h: Likewise.
11082 * include/grub/i386/pc/memory.h: Likewise.
11083 * include/grub/i386/pc/vbe.h: Likewise.
11084 * include/grub/parttool.h: Likewise.
11085 * include/grub/video.h: Likewise.
11086 * include/grub/memory.h: Likewise.
11087 * include/grub/fs.h: Likewise.
11088 * include/grub/partition.h: Likewise.
11089 * include/grub/xnu.h: Likewise.
11090 * include/grub/efi/api.h: Likewise.
11091 * include/grub/efi/pe32.h: Likewise.
11092 * include/grub/efi/memory.h: Likewise.
11093 * include/grub/multiboot.h: Likewise.
11094 * include/grub/usbdesc.h: Likewise.
11095 * include/grub/multiboot2.h: Likewise.
11096 * include/grub/acpi.h: Likewise.
11097 * include/grub/efiemu/efiemu.h: Likewise.
11098 * include/grub/disk.h: Likewise.
11099 * include/grub/ieee1275/ieee1275.h: Likewise.
11100 * include/grub/net.h: Likewise.
11101 * include/grub/machoload.h: Likewise.
11102 * include/grub/macho.h: Likewise.
11103 * include/multiboot.h: Likewise.
11104 * genmoddep.awk: Likewise.
11105 * normal/main.c: Likewise.
11106 * normal/menu_entry.c: Likewise.
11107 * normal/menu_viewer.c: Likewise.
11108 * normal/completion.c: Likewise.
11109 * normal/cmdline.c: Likewise.
11110 * normal/misc.c: Likewise.
11111 * normal/datetime.c: Likewise.
11112 * bus/usb/usbtrans.c: Likewise.
11113 * bus/usb/ohci.c: Likewise.
11114 * bus/usb/uhci.c: Likewise.
11115 * bus/usb/usb.c: Likewise.
11116 * mmap/efi/mmap.c: Likewise.
11117 * mmap/i386/pc/mmap_helper.S: Likewise.
11118 * mmap/i386/pc/mmap.c: Likewise.
11119 * mmap/i386/mmap.c: Likewise.
11120 * mmap/i386/uppermem.c: Likewise.
11121 * mmap/mmap.c: Likewise.
11122 * commands/acpi.c: Likewise.
11123 * commands/echo.c: Likewise.
11124 * commands/blocklist.c: Likewise.
11125 * commands/loadenv.c: Likewise.
11126 * commands/usbtest.c: Likewise.
11127 * commands/boot.c: Likewise.
11128 * commands/parttool.c: Likewise.
11129 * commands/search.c: Likewise.
11130 * commands/cat.c: Likewise.
11131 * commands/i386/pc/play.c: Likewise.
11132 * commands/i386/pc/drivemap.c: Likewise.
11133 * commands/i386/pc/vbeinfo.c: Likewise.
11134 * commands/i386/pc/acpi.c: Likewise.
11135 * commands/i386/pc/vbetest.c: Likewise.
11136 * commands/ls.c: Likewise.
11137 * commands/cmp.c: Likewise.
11138 * commands/test.c: Likewise.
11139 * commands/efi/acpi.c: Likewise.
11140 * commands/gptsync.c: Likewise.
11141 * commands/help.c: Likewise.
11142 * partmap/amiga.c: Likewise.
11143 * partmap/apple.c: Likewise.
11144 * partmap/acorn.c: Likewise.
11145 * partmap/pc.c: Likewise.
11146 * partmap/sun.c: Likewise.
11147 * partmap/gpt.c: Likewise.
11148 * script/sh/lexer.c: Likewise.
11149 * script/sh/function.c: Likewise.
11150 * font/font.c: Likewise.
11151 * font/font_cmd.c: Likewise.
11152 * loader/powerpc/ieee1275/linux.c: Likewise.
11153 * loader/efi/chainloader.c: Likewise.
11154 * loader/multiboot_loader.c: Likewise.
11155 * loader/macho.c: Likewise.
11156 * loader/i386/multiboot.c: Likewise.
11157 * loader/i386/linux.c: Likewise.
11158 * loader/i386/pc/linux.c: Likewise.
11159 * loader/i386/pc/multiboot2.c: Likewise.
11160 * loader/i386/pc/chainloader.c: Likewise.
11161 * loader/i386/pc/xnu.c: Likewise.
11162 * loader/i386/bsd_trampoline.S: Likewise.
11163 * loader/i386/efi/linux.c: Likewise.
11164 * loader/i386/multiboot_elfxx.c: Likewise.
11165 * loader/i386/bsd_helper.S: Likewise.
11166 * loader/i386/bsd.c: Likewise.
11167 * loader/i386/linux_trampoline.S: Likewise.
11168 * loader/i386/xnu_helper.S: Likewise.
11169 * loader/i386/xnu.c: Likewise.
11170 * loader/i386/bsd_pagetable.c: Likewise.
11171 * loader/i386/multiboot_helper.S: Likewise.
11172 * loader/xnu.c: Likewise.
11173 * loader/xnu_resume.c: Likewise.
11174 * io/gzio.c: Likewise.
11175 * term/efi/console.c: Likewise.
11176 * term/terminfo.c: Likewise.
11177 * term/ieee1275/ofconsole.c: Likewise.
11178 * term/i386/pc/serial.c: Likewise.
11179 * term/i386/pc/vesafb.c: Likewise.
11180 * term/i386/pc/vga.c: Likewise.
11181 * term/usb_keyboard.c: Likewise.
11182 * term/gfxterm.c: Likewise.
11183 * aclocal.m4: Likewise.
11184 * util/lvm.c: Likewise.
11185 * util/grub.d/30_os-prober.in: Likewise.
11186 * util/grub.d/10_hurd.in: Likewise.
11187 * util/console.c: Likewise.
11188 * util/grub-macho2img.c: Likewise.
11189 * util/grub-probe.c: Likewise.
11190 * util/hostfs.c: Likewise.
11191 * util/i386/pc/grub-mkimage.c: Likewise.
11192 * util/i386/pc/grub-setup.c: Likewise.
11193 * util/i386/efi/grub-mkimage.c: Likewise.
11194 * util/grub-mkconfig.in: Likewise.
11195 * util/raid.c: Likewise.
11196 * util/resolve.c: Likewise.
11197 * util/grub-mkdevicemap.c: Likewise.
11198 * util/grub-emu.c: Likewise.
11199 * util/getroot.c: Likewise.
11200 * util/hostdisk.c: Likewise.
11201 * util/usb.c: Likewise.
11202 * util/grub-editenv.c: Likewise.
11203 * util/misc.c: Likewise.
11204
11205 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11206
11207 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11208 `genparttoollist.sh'.
11209 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11210 Add `*.sh' to the list find searches for and change `mdate.sh'
11211 to `mdate-sh'.
11212
11213 2009-06-10 Pavel Roskin <proski@gnu.org>
11214
11215 * include/grub/multiboot2.h: Provide compatibility defines for
11216 multiboot2.h.
11217 * include/multiboot2.h: Include stdint.h only if needed, using
11218 angle brackets.
11219 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11220 grub/multiboot2.h.
11221 * loader/ieee1275/multiboot2.c: Likewise.
11222 * loader/multiboot2.c: Likewise.
11223 * loader/multiboot_loader.c: Likewise.
11224
11225 * configure.ac: Use -nostdlib when probing for the target. It
11226 should not be required to have libc for the target.
11227
11228 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11229 they fail without libc headers for the target.
11230 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11231 exports.
11232 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11233 preprocessor conditionals.
11234
11235 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11236 build system doesn't need to be aware of the tar.c internals.
11237
11238 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
11239
11240 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
11241
11242 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11243
11244 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11245 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11246
11247 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
11248
11249 * util/i386/pc/grub-install.in: Change the error message if UUIDs
11250 aren't available if ata.mod gets used.
11251
11252 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
11253
11254 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
11255 initialising controller.
11256 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11257
11258 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11259
11260 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11261 to choose between ata and biosdisk module on i386-pc.
11262
11263 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
11264
11265 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11266 Subclass and Programming Interface fields in terms of the 3 byte
11267 Class Code register.
11268 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11269
11270 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11271 interface is OHCI. Add grub_dprintf for symmetry with
11272 bus/usb/uhci.c.
11273 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11274 interface is UHCI. Add interf variable for programming
11275 interface. Print interface with class/subclass.
11276
11277 * bus/usb/ohci.c: Set interf with correct field.
11278
11279 * bus/usb/uhci.c: Remove unneeded doubled lines.
11280 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11281 Remove whitespace inside comment.
11282
11283 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11284
11285 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11286 as fallback an equivalent option without depth.
11287
11288 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 Not fail if unable to retrieve C/H/S on LBA disks
11291
11292 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
11293 if unable to retrieve C/H/S on LBA disks
11294
11295 2009-06-08 Pavel Roskin <proski@gnu.org>
11296
11297 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11298 about aliasing.
11299
11300 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11301
11302 * Makefile.in (uninstall): Remove all $lib_DATA files.
11303
11304 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 Bugfix: install on partitionless device
11307
11308 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11309 is a whole disk
11310
11311 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11312
11313 * Makefile.in (uninstall): Remove all $include_DATA files.
11314
11315 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11316
11317 * commands/true.c: New file. Implement the true and false commands.
11318 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11319 (true_mod_SOURCES): New variable.
11320 (true_mod_CFLAGS): Likewise.
11321 (true_mod_LDFLAGS): Likewise.
11322
11323 2009-06-05 Colin D Bennett <colin@gibibit.com>
11324
11325 Optimized font character lookup using binary search instead of linear
11326 search. Fonts now are required to have the character index ordered by
11327 code point.
11328
11329 * font/font.c (load_font_index): Verify that fonts have ordered
11330 character indices.
11331 (find_glyph): Use binary search instead of linear search to find a
11332 character in a font.
11333
11334 2009-06-05 Michael Scherer <misc@mandriva.org>
11335
11336 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11337 uses case sensitive btree.
11338 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11339 only for case insensitive filesystems.
11340
11341 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11344 * conf/common.rmk (search_mod_CFLAGS): likewise
11345
11346 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
11349 compensate a compiler bug
11350
11351 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
11354 instead of '\b'
11355
11356 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 Definitions for creating asm symbols with Apple's CC
11359
11360 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11361 [APPLE_CC] (VARIABLE): likewise
11362
11363 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 Disable lnxboot.img when compiled
11366 with Apple's CC
11367
11368 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11369 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11370 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11371 [! APPLE_CC] (CODE_LENG): skip
11372 [! APPLE_CC] (setup_sects): likewise
11373 [! APPLE_CC]: skip filling
11374
11375 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 Address in trampolines based on 32-bit registers when compiled
11378 with Apple's CC
11379
11380 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
11381 for addresses
11382 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11383
11384 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11387
11388 * kern/misc.c [APPLE_CC] (memcpy): new function
11389 [APPLE_CC] (memmove): likewise
11390 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
11391 (memcpy): define alias conditionally on !APPLE_CC
11392 (memset): likewise
11393 (abort): likewise
11394 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11395 APPLE_CC are defined
11396 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11397 (grub_assert_fail): make prototype conditional
11398
11399 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11402
11403 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11404 grub-macho2img
11405 (CLEANFILES): add grub-macho2img
11406 (grub_macho2img_SOURCES): new variable
11407 * kern/i386/pc/startup.S (bss_start): new variable
11408 (bss_end): likewise
11409 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11410 * util/grub-macho2img.c: new file
11411
11412 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 Use objconv when compiling with Apple's CC
11415
11416 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11417 (efiemu64.o): likewise
11418 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11419 when compiling with Apple's CC
11420 (efiemu64_s.o): likewise
11421 * configure.ac: check for objconv when compiling with Apple's CC
11422 * genmk.rb: use objconv for modules when compiled with Apple's CC
11423
11424 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 Define segment as well as section when compiling with
11427 Apple's CC
11428
11429 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11430 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11431 (efiemu_convert_pointer): likewise
11432 (efiemu_set_virtual_address_map): likewise
11433 (efiemu_convert_pointer): likewise
11434 (efiemu_getcrc32): likewise
11435 (init_crc32_table): likewise
11436 (reflect): likewise
11437 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11438 (GRUB_MOD_DEP): likewise
11439
11440 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 Allow a compilation without -mcmodel=large
11443
11444 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11445 when compiled without -mcmodel=large
11446 (filter_memory_map): remove memory post 4 GiB when compiled
11447 without -mcmodel=large
11448 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
11449 TARGET_CFLAGS when -mcmodel=large isn't supported
11450
11451 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 Remove nested functions in efiemu core
11454
11455 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
11456
11457 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11460
11461 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11462 temporary storage
11463 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11464 using Apple's CC
11465 (grub_cpu_is_tsc_supported): likewise
11466 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
11467
11468 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 Absolute addressing through constant with Apple's cc
11471
11472 * kern/i386/pc/startup.S: Define necessary constants
11473 and address through it when using ABS with Apple's CC
11474 * boot/i386/pc/diskboot.S: likewise
11475 * boot/i386/pc/boot.S: likewise
11476 * boot/i386/pc/lnxboot.S: likewise
11477 * boot/i386/pc/cdboot.S: likewise
11478 * mmap/i386/pc/mmap_helper.S: likewise
11479 * commands/i386/pc/drivemap_int13h.S: likewise
11480
11481 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 Check if compiler is apple cc
11484
11485 * Makefile.in (ASFLAGS): new variable
11486 (TARGET_ASFLAGS): likewise
11487 (TARGET_MODULE_FORMAT): likewise
11488 (TARGET_APPLE_CC): likewise
11489 (OBJCONV): likewise
11490 (TARGET_IMG_CFLAGS): likewise
11491 (TARGET_CPPFLAGS): add includedir
11492 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11493 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11494 Check for linker script only if compiler isn't Apple's CC
11495 (TARGET_MODULE_FORMAT): set
11496 (TARGET_APPLE_CC): likewise
11497 (TARGET_ASFLAGS): likewise
11498 (ASFLAGS): likewise
11499 Check for objcopy only if compiler isn't Apple's CC
11500 Check for BSS symbol only if compiler isn't Apple's CC
11501 * genmk.rb: adapt nm options if we use Apple's utils
11502 * aclocal.m4 (grub_apple_cc): new test
11503 (grub_apple_target_cc): likewise
11504
11505 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 Simplify sed expressions and improve awk
11508
11509 * Makefile.in (install-local): simplify sed expression
11510 * gencmdlist.sh: likewise
11511 * genmoddep.awk: avoid adding module as a dependency of itself
11512
11513 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 Add missing start symbols
11516
11517 * boot/i386/pc/boot.S: add start
11518 * boot/i386/pc/pxeboot.S: likewise
11519
11520 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Fix wrong assumptions with grub-mkimage on EFI
11523
11524 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
11525 (relocate_addresses): consider both r_addend and value at offset
11526 (make_mods_section): zerofill modinfo and header
11527 (convert_elf): write prefix here
11528
11529 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 Use .asciz instead of .string
11532
11533 * i386/pc/diskboot.S: use .asciz instead of .string
11534 * i386/pc/boot.S: likewise
11535 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11536 (GRUB_MOD_NAME): likewise
11537
11538 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 gfxpayload support
11541
11542 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11543 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11544 (grub_video_setup): remove
11545 (grub_video_set_mode): new prototype
11546 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11547 (vid_mode): remove
11548 (linux_vesafb_res): compile only on PCBIOS
11549 (grub_linux_boot): support gfxpayload
11550 * loader/i386/pc/xnu.c (video_hook): new function
11551 (grub_xnu_set_video): support gfxpayload
11552 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11553 (DEFAULT_VIDEO_HEIGHT): likewise
11554 (DEFAULT_VIDEO_FLAGS): likewise
11555 (DEFAULT_VIDEO_MODE): new definition
11556 (video_hook): new function
11557 (grub_gfxterm_init): use grub_video_set_mode
11558 * util/grub.d/30_os-prober.in: remove explicit modesetting before
11559 loading xnu
11560 * video/video.c (grub_video_setup): removed
11561 (grub_video_set_mode): new function based on grub_gfxterm_init and
11562 grub_video_setup
11563
11564 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 Avoid calling biosdisk in drivemap
11567
11568 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11569 (revparse_biosdisk): likewise
11570 (list_mappings): derive name from id directly
11571 (grub_cmd_drivemap): use tryparse_diskstring
11572
11573 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Script fixes
11576
11577 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11578 (grub_lexer_param): add tokenonhold
11579 (grub_script_create_cmdline): remove cmdline. All callers updated
11580 (grub_script_function_create): make functionname
11581 grub_script_arg. All callers updated
11582 (grub_script_execute_argument_to_string): new prototype
11583 * kern/parser.c (state_transitions): reorder
11584 (grub_parser_cmdline_state): fix a bug and make more compact
11585 * script/sh/execute.c (grub_script_execute_argument_to_string):
11586 make global
11587 (grub_script_execute_cmdline): use new format
11588 * script/sh/function.c (grub_script_function_create): make functionname
11589 grub_script_arg. All callers updated
11590 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
11591 (grub_script_yylex): remove
11592 (grub_script_yylex2): renamed to ...
11593 (grub_script_yylex): ...renamed
11594 parse the expressions like a${b}c
11595 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11596 (GRUB_PARSER_TOKEN_VAR): remove
11597 (GRUB_PARSER_TOKEN_NAME): likewise
11598 ("if"): declare as typeless
11599 ("while"): likewise
11600 ("function"): likewise
11601 ("else"): likewise
11602 ("then"): likewise
11603 ("fi"): likewise
11604 (text): remove
11605 (argument): likewise
11606 (script): accept empty scripts and make exit on error
11607 (arguments): use GRUB_PARSER_TOKEN_ARG
11608 (function): likewise
11609 (command): move error handling to script
11610 (menuentry): move grub_script_lexer_ref before
11611 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
11612 argument. All callers updated
11613
11614 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11615
11616 Prevent GRUB from probing floppies during boot.
11617
11618 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11619 * commands/search.c (options): Add --no-floppy.
11620 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11621 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11622 --no-floppy when searching for UUIDs.
11623
11624 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11625
11626 Simplify the code duplication in commands/search.c.
11627
11628 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11629 (search_fs): ... this. Update all users.
11630
11631 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
11632
11633 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11634
11635 2009-05-28 Pavel Roskin <proski@gnu.org>
11636
11637 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11638 Remove the original symlink explicitly.
11639
11640 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11641 just one slash. That's how grub_fshelp_find_file() does it.
11642
11643 2009-05-26 Pavel Roskin <proski@gnu.org>
11644
11645 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11646 to `str'.
11647
11648 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11649 possibly unused.
11650
11651 2009-05-25 Christian Franke <franke@computer.org>
11652
11653 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11654 register.
11655 (grub_atapi_identify): Add wait after drive select.
11656 (grub_ata_identify): Do more strict status register check before
11657 calling grub_atapi_identify (). Suppress error message if status
11658 register is 0x00 after command failure. Add status register
11659 check after PIO read to avoid bogus identify due to stuck DRQ.
11660 Thanks to Pavel Roskin for testing.
11661 (grub_device_initialize): Remove unsafe status register check.
11662 Thanks to 'phcoder' for problem report and patch.
11663 Prevent sign extension in debug message.
11664
11665 2009-05-23 Colin D Bennett <colin@gibibit.com>
11666
11667 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11668 definition file, and functions defined in `normal/menu.c' have had
11669 their prototypes moved to `include/grub/menu.h' for consistency.
11670
11671 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11672 from normal.h.
11673 (grub_menu_get_entry): Likewise.
11674 (grub_menu_get_timeout): Likewise.
11675 (grub_menu_set_timeout): Likewise.
11676 (grub_menu_execute_entry): Likewise.
11677 (grub_menu_execute_with_fallback): Likewise.
11678 (grub_menu_entry_run): Likewise.
11679
11680 * include/grub/normal.h: Re-ordered and grouped function
11681 prototypes by file that the function is defined in.
11682 (grub_menu_execute_callback): Removed; moved to menu.h.
11683 (grub_menu_get_entry): Likewise.
11684 (grub_menu_get_timeout): Likewise.
11685 (grub_menu_set_timeout): Likewise.
11686 (grub_menu_execute_entry): Likewise.
11687 (grub_menu_execute_with_fallback): Likewise.
11688 (grub_menu_entry_run): Likewise.
11689 (grub_menu_addentry): Renamed from this ...
11690 (grub_normal_add_menu_entry): ... to this.
11691
11692 * normal/main.c (grub_menu_addentry): Renamed from this ...
11693 (grub_normal_add_menu_entry): ... to this.
11694
11695 * script/sh/execute.c (grub_script_execute_menuentry): Update
11696 reference to renamed grub_menu_addentry function.
11697
11698 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
11699
11700 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11701
11702 2009-05-22 Pavel Roskin <proski@gnu.org>
11703
11704 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11705 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11706 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11707 compiling for the i386 targets, but not for the utilities.
11708
11709 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11710 to grub_uint8_t.
11711 (grub_root_drive): Likewise.
11712 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11713 remove alignment.
11714 (grub_root_drive): Change size to byte.
11715 (grub_start_addr): Remove.
11716 (grub_end_addr): Likewise.
11717 (grub_apm_bios_info): Likewise.
11718
11719 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
11720
11721 * normal/i386: Remove.
11722 * normal/powerpc: Likewise.
11723 * normal/sparc64: Likewise.
11724 * normal/x86_64: Likewise.
11725
11726 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
11729 * loader/i386/linux_trampoline.S: Fix indentation
11730 * loader/i386/xnu_helper.S: Likewise
11731
11732 2009-05-18 Colin D Bennett <colin@gibibit.com>
11733
11734 Display error messages when parsing a Lua statement fails.
11735 Previously, executing a syntactically invalid statement like
11736 ")foo" or "bar;" would silently fail.
11737
11738 * script/lua/grub_main.c (handle_lua_error): New function.
11739 (grub_lua_parse_line): Improved reporting of Lua parser and
11740 execution errors.
11741
11742 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 Remove -Werror which causes build to fail on some systems
11745
11746 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11747 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11748 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
11749
11750 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 trampoline for linux on 64-bit platform
11753
11754 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11755 loader/i386/efi/linux_trampoline.S
11756 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
11757 declaration
11758 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11759 here
11760 * loader/i386/linux_trampoline.S: moved here
11761 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11762 trampoline
11763 (jumpvector): removed
11764 (grub_linux_trampoline_start): new declaration
11765 (grub_linux_trampoline_end): likewise
11766 (grub_linux_boot): use trampoline when on 64-bit platform
11767 * loader/i386/linux.c: likewise
11768
11769 2009-05-16 Pavel Roskin <proski@gnu.org>
11770
11771 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11772 const to avoid a warning.
11773 (grub_lua_setenv): Likewise.
11774 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11775 lmsg to fix a warning.
11776
11777 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
11778
11779 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
11780 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11781 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11782 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11783 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11784 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11785 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11786 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11787
11788 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
11789
11790 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11791
11792 2009-05-16 Bean <bean123ch@gmail.com>
11793
11794 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11795 (lua_mod_SOURCES): New variable.
11796 (lua_mod_CFLAGS): Likewise.
11797 (lua_mod_LDFLAGS): Likewise.
11798
11799 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11800 (setjmp_mod_SOURCES): New variable.
11801 (setjmp_mod_CFLAGS): Likewise.
11802 (setjmp_LDFLAGS): Likewise.
11803
11804 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11805 (setjmp_mod_SOURCES): New variable.
11806 (setjmp_mod_CFLAGS): Likewise.
11807 (setjmp_LDFLAGS): Likewise.
11808
11809 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11810 (setjmp_mod_SOURCES): New variable.
11811 (setjmp_mod_CFLAGS): Likewise.
11812 (setjmp_LDFLAGS): Likewise.
11813
11814 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11815 (setjmp_mod_SOURCES): New variable.
11816 (setjmp_mod_CFLAGS): Likewise.
11817 (setjmp_LDFLAGS): Likewise.
11818
11819 * normal/i386/setjmp.S: Moved from here ...
11820 * lib/i386/setjmp.S: ... Moved here
11821 * normal/x86_64/setjmp.S: Moved from here ...
11822 * lib/x86_64/setjmp.S: ... Moved here
11823 * normal/powerpc/setjmp.S: Moved from here ...
11824 * lib/powerpc/setjmp.S: ... Moved here
11825 * normal/sparc64/setjmp.S: Moved from here ...
11826 * lib/sparc64/setjmp.S: ... Moved here
11827
11828 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
11829 returns_twice in mingw.
11830
11831 * script/lua/grub_lib.c: New file.
11832 * script/lua/grub_lib.h: Likewise.
11833 * script/lua/grub_lua.h: Likewise.
11834 * script/lua/grub_main.c: Likewise.
11835 * script/lua/lapi.c: Likewise.
11836 * script/lua/lapi.h: Likewise.
11837 * script/lua/lauxlib.c: Likewise.
11838 * script/lua/lauxlib.h: Likewise.
11839 * script/lua/lbaselib.c: Likewise.
11840 * script/lua/lcode.c: Likewise.
11841 * script/lua/lcode.h: Likewise.
11842 * script/lua/ldblib.c: Likewise.
11843 * script/lua/ldebug.c: Likewise.
11844 * script/lua/ldebug.h: Likewise.
11845 * script/lua/ldo.c: Likewise.
11846 * script/lua/ldo.h: Likewise.
11847 * script/lua/ldump.c: Likewise.
11848 * script/lua/lfunc.c: Likewise.
11849 * script/lua/lfunc.h: Likewise.
11850 * script/lua/lgc.c: Likewise.
11851 * script/lua/lgc.h: Likewise.
11852 * script/lua/linit.c: Likewise.
11853 * script/lua/liolib.c: Likewise.
11854 * script/lua/llex.c: Likewise.
11855 * script/lua/llex.h: Likewise.
11856 * script/lua/llimits.h: Likewise.
11857 * script/lua/lmathlib.c: Likewise.
11858 * script/lua/lmem.c: Likewise.
11859 * script/lua/lmem.h: Likewise.
11860 * script/lua/loadlib.c: Likewise.
11861 * script/lua/lobject.c: Likewise.
11862 * script/lua/lobject.h: Likewise.
11863 * script/lua/lopcodes.c: Likewise.
11864 * script/lua/lopcodes.h: Likewise.
11865 * script/lua/loslib.c: Likewise.
11866 * script/lua/lparser.c: Likewise.
11867 * script/lua/lparser.h: Likewise.
11868 * script/lua/lstate.c: Likewise.
11869 * script/lua/lstate.h: Likewise.
11870 * script/lua/lstring.c: Likewise.
11871 * script/lua/lstring.h: Likewise.
11872 * script/lua/lstrlib.c: Likewise.
11873 * script/lua/ltable.c: Likewise.
11874 * script/lua/ltable.h: Likewise.
11875 * script/lua/ltablib.c: Likewise.
11876 * script/lua/ltm.c: Likewise.
11877 * script/lua/ltm.h: Likewise.
11878 * script/lua/lua.h: Likewise.
11879 * script/lua/luaconf.h: Likewise.
11880 * script/lua/lualib.h: Likewise.
11881 * script/lua/lundump.c: Likewise.
11882 * script/lua/lundump.h: Likewise.
11883 * script/lua/lvm.c: Likewise.
11884 * script/lua/lvm.h: Likewise.
11885 * script/lua/lzio.c: Likewise.
11886 * script/lua/lzio.h: Likewise.
11887
11888 2009-05-16 Bean <bean123ch@gmail.com>
11889
11890 * include/grub/kernel.h (grub_module_header_types): Add type
11891 OBJ_TYPE_CONFIG.
11892
11893 * kern/main.c (grub_load_config): New function.
11894 (grub_main): Call grub_load_config to read boot config.
11895
11896 * grub-mkimage (generate_image): New parameter config_path.
11897 (options): New option --config.
11898 (main): Parse --config option, and pass it to generate_image.
11899
11900 2009-05-14 Christian Franke <franke@computer.org>
11901
11902 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11903 This fixes build on Cygwin.
11904
11905 2009-05-14 Pavel Roskin <proski@gnu.org>
11906
11907 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11908 jump. This saves two bytes, so the typical case of 2 swapped
11909 drives would fit 32 bytes.
11910
11911 2009-05-13 Pavel Roskin <proski@gnu.org>
11912
11913 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11914 grub_uint32_t to avoid a warning.
11915
11916 * loader/i386/linux.c (allocate_pages): When assigning
11917 real_mode_mem, cast through grub_size_t to fix a warning. The
11918 code already makes sure that the value would fit a pointer.
11919 (grub_linux_setup_video): Cast render_target->data to
11920 grub_size_t to fix a warning.
11921
11922 2009-05-13 Javier Martín <lordhabbit@gmail.com>
11923
11924 * commands/i386/pc/drivemap.c: New file - implement drivemap
11925 command.
11926 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11927 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11928
11929 2009-05-13 Pavel Roskin <proski@gnu.org>
11930
11931 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11932 embedding_area_exists.
11933
11934 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11935
11936 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11937 it easier to understand / work with.
11938 Improve warning messages for cases where there's no embedding area,
11939 or when it is too small (or core.img too large).
11940
11941 2009-05-13 Pavel Roskin <proski@gnu.org>
11942
11943 * loader/i386/pc/multiboot2.c: Add necessary includes for
11944 grub_multiboot2_real_boot().
11945
11946 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11947 PX record is always little-endian. We only need the lower 2
11948 bytes of the mode.
11949
11950 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11951 facilitate code reuse.
11952 (grub_cpio_mount): Use "struct head", not a char buffer. This
11953 fixes a warning reported by gcc 4.4.
11954
11955 * kernel/disk.c (grub_disk_read): Use void pointer for the
11956 buffer.
11957 (grub_disk_write): Use const void pointer for the buffer.
11958 Adjust all callers. Remove unnecessary casts.
11959
11960 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11961
11962 * util/i386/pc/grub-install.in: Update copyright year.
11963
11964 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 gptsync
11967
11968 * commands/gptsync.c: new file
11969 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11970 (gptsync_mod_SOURCES): new variable
11971 (gptsync_mod_CFLAGS): likewise
11972 (gptsync_mod_LDFLAGS): likewise
11973 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
11974 new definition
11975 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11977 * conf/i386-ieee1275.rmk: likewise
11978 * conf/i386-pc.rmk: likewise
11979 * conf/powerpc-ieee1275.rmk: likewise
11980
11981 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 Fixed grub-emu
11984
11985 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11986 (grub_dl_ref): likewise
11987
11988 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11989
11990 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11991 split in two functions (one for msdos and one for gpt).
11992
11993 2009-05-08 Pavel Roskin <proski@gnu.org>
11994
11995 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11996 not modified.
11997
11998 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11999 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12000 Initialize them with -1. Add sanity check for bad1. Eliminate
12001 nerr variable.
12002
12003 2009-05-08 David S. Miller <davem@davemloft.net>
12004
12005 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12006
12007 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12008
12009 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
12010 existence.
12011
12012 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
12013
12014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
12015 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
12016
12017 2009-05-05 David S. Miller <davem@davemloft.net>
12018
12019 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12020
12021 2009-05-05 Pavel Roskin <proski@gnu.org>
12022
12023 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12024 of grub_dl_ref() and grub_dl_unref().
12025 * commands/parttool.c: Remove preprocessor conditionals around
12026 grub_dl_ref() and grub_dl_unref().
12027 * fs/affs.c: Likewise.
12028 * fs/afs.c: Likewise.
12029 * fs/cpio.c: Likewise.
12030 * fs/ext2.c: Likewise.
12031 * fs/fat.c: Likewise.
12032 * fs/hfs.c: Likewise.
12033 * fs/hfsplus.c: Likewise.
12034 * fs/iso9660.c: Likewise.
12035 * fs/jfs.c: Likewise.
12036 * fs/minix.c: Likewise.
12037 * fs/ntfs.c: Likewise.
12038 * fs/reiserfs.c: Likewise.
12039 * fs/sfs.c: Likewise.
12040 * fs/udf.c: Likewise.
12041 * fs/ufs.c: Likewise.
12042 * fs/xfs.c: Likewise.
12043 * include/grub/dl.h: Likewise.
12044 * loader/xnu.c: Likewise.
12045
12046 2009-05-04 Pavel Roskin <proski@gnu.org>
12047
12048 * commands/acpi.c: Remove unused variable my_mod.
12049 * partmap/amiga.c: Likewise.
12050 * partmap/apple.c: Likewise.
12051 * partmap/gpt.c: Likewise.
12052 * partmap/pc.c: Likewise.
12053 * partmap/sun.c: Likewise.
12054 * term/gfxterm.c: Likewise.
12055 * term/i386/pc/vesafb.c: Likewise.
12056 * term/i386/pc/vga.c: Likewise.
12057
12058 2009-05-04 David S. Miller <davem@davemloft.net>
12059
12060 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12061 pointer args to grub_ieee1275_get_property().
12062
12063 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12064
12065 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12066 devices, and do not traverse down under controller nodes.
12067
12068 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12069 (grub_ofdisk_open): Use it to un-escape "," characters.
12070 * kern/disk.c (find_part_sep): New.
12071 (grub_disk_open): Use it to find the first non-escaped ','
12072 character in the disk name.
12073 * util/ieee1275/devicemap.c (escape_of_path): New.
12074 (grub_util_emit_devicemap_entry): Use it.
12075 * util/sparc64/ieee1275/grub-install.in: Update script to
12076 strip partition specifiers properly by not triggering on
12077 '\' escaped ',' characters.
12078
12079 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12080
12081 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12082 to 0x300.
12083 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12084 resolutions.
12085 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12086 on documentation from Wikipedia).
12087
12088 2009-05-04 Pavel Roskin <proski@gnu.org>
12089
12090 * disk/ata.c: Spelling fixes.
12091 * disk/raid.c: Likewise.
12092 * disk/usbms.c: Likewise.
12093 * disk/dmraid_nvidia.c: Likewise.
12094 * kern/ieee1275/openfw.c: Likewise.
12095 * kern/ieee1275/init.c: Likewise.
12096 * kern/ieee1275/cmain.c: Likewise.
12097 * boot/i386/pc/cdboot.S: Likewise.
12098 * video/readers/png.c: Likewise.
12099 * video/i386/pc/vbe.c: Likewise.
12100 * fs/udf.c: Likewise.
12101 * fs/hfs.c: Likewise.
12102 * fs/reiserfs.c: Likewise.
12103 * efiemu/runtime/efiemu.c: Likewise.
12104 * efiemu/main.c: Likewise.
12105 * efiemu/mm.c: Likewise.
12106 * include/grub/elf.h: Likewise.
12107 * include/grub/xnu.h: Likewise.
12108 * include/grub/usbdesc.h: Likewise.
12109 * include/grub/usb.h: Likewise.
12110 * include/grub/script_sh.h: Likewise.
12111 * include/grub/lib/LzmaEnc.h: Likewise.
12112 * include/grub/efiemu/efiemu.h: Likewise.
12113 * include/grub/command.h: Likewise.
12114 * normal/menu.c: Likewise.
12115 * normal/main.c: Likewise.
12116 * normal/datetime.c: Likewise.
12117 * bus/usb/uhci.c: Likewise.
12118 * mmap/i386/uppermem.c: Likewise.
12119 * mmap/mmap.c: Likewise.
12120 * commands/acpi.c: Likewise.
12121 * commands/test.c: Likewise.
12122 * partmap/apple.c: Likewise.
12123 * font/font.c: Likewise.
12124 * loader/sparc64/ieee1275/linux.c: Likewise.
12125 * loader/macho.c: Likewise.
12126 * loader/i386/bsd_trampoline.S: Likewise.
12127 * loader/i386/bsd.c: Likewise.
12128 * loader/xnu.c: Likewise.
12129 * term/i386/pc/vesafb.c: Likewise.
12130 * term/usb_keyboard.c: Likewise.
12131 * util/resolve.c: Likewise.
12132 * util/getroot.c: Likewise.
12133
12134 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12135
12136 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12137
12138 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12139
12140 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12141 build error.
12142
12143 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12144
12145 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12146 parameter only available on BIOS.
12147
12148 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 Removed wrong semicolon in declaration
12151
12152 * grub/misc.h (grub_dprintf): remove semicolon
12153
12154 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12155
12156 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12157 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12158 is done by grub_cmd_linux() now).
12159 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12160 restore video to text mode.
12161 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12162 indicates lack of "vga=" parameter. "vga=0" is mapped to
12163 `GRUB_LINUX_VID_MODE_NORMAL'.
12164
12165 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12166
12167 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12168 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12169 and `normal/script.c'. Add `kern/rescue_reader.c',
12170 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
12171 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12172 `grub_script.tab.c'.
12173
12174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12175 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12177 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12178 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12179
12180 * Makefile.in: Remove duplicated 2008 in Copyright line.
12181
12182 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12183
12184 * util/misc.c (grub_util_warn): New function. Emits a warning
12185 unconditionally.
12186 * include/grub/util/misc.h (grub_util_warn): New declaration.
12187
12188 * util/i386/pc/grub-install.in: Understand --force and pass it down
12189 to grub-setup.
12190
12191 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12192 down to setup().
12193 (setup): Improve error messages and add warnings when requested to
12194 install in odd layouts. Refuse to install using blocklists unless
12195 --force was set.
12196
12197 2009-05-04 martin f. krafft <madduck@madduck.net>
12198
12199 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12200
12201 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 Updated copyright year
12204
12205 * fs/hfsplus.c: updated copyright year
12206
12207 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 HFS+ UUID
12210
12211 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
12212 in the space previously used by unused3
12213 (grub_hfsplus_uuid): new function
12214 (grub_hfsplus_fs): added uuid field
12215
12216 2009-05-03 Pavel Roskin <proski@gnu.org>
12217
12218 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12219 suppress warnings. It's no longer needed.
12220 * disk/host.c: Likewise.
12221 * disk/ata_pthru.c: Likewise.
12222 * disk/loopback.c: Likewise.
12223 * hook/datehook.c: Likewise.
12224 * parttool/pcpart.c: Likewise.
12225 * fs/i386/pc/pxe.c: Likewise.
12226 * fs/ntfscomp.c: Likewise.
12227 * efiemu/main.c: Likewise.
12228 * mmap/mmap.c: Likewise.
12229 * commands/crc.c: Likewise.
12230 * commands/hexdump.c: Likewise.
12231 * commands/hdparm.c: Likewise.
12232 * commands/acpi.c: Likewise.
12233 * commands/echo.c: Likewise.
12234 * commands/minicmd.c: Likewise.
12235 * commands/blocklist.c: Likewise.
12236 * commands/memrw.c: Likewise.
12237 * commands/loadenv.c: Likewise.
12238 * commands/usbtest.c: Likewise.
12239 * commands/lsmmap.c: Likewise.
12240 * commands/boot.c: Likewise.
12241 * commands/parttool.c: Likewise.
12242 * commands/configfile.c: Likewise.
12243 * commands/search.c: Likewise.
12244 * commands/ieee1275/suspend.c: Likewise.
12245 * commands/cat.c: Likewise.
12246 * commands/i386/pc/pxecmd.c: Likewise.
12247 * commands/i386/pc/play.c: Likewise.
12248 * commands/i386/pc/halt.c: Likewise.
12249 * commands/i386/pc/vbeinfo.c: Likewise.
12250 * commands/i386/pc/vbetest.c: Likewise.
12251 * commands/lspci.c: Likewise.
12252 * commands/date.c: Likewise.
12253 * commands/handler.c: Likewise.
12254 * commands/ls.c: Likewise.
12255 * commands/test.c: Likewise.
12256 * commands/cmp.c: Likewise.
12257 * commands/efi/loadbios.c: Likewise.
12258 * commands/efi/fixvideo.c: Likewise.
12259 * commands/halt.c: Likewise.
12260 * commands/help.c: Likewise.
12261 * commands/reboot.c: Likewise.
12262 * hello/hello.c: Likewise.
12263 * script/sh/main.c: Likewise.
12264 * loader/xnu.c: Likewise.
12265 * term/terminfo.c: Likewise.
12266 * term/i386/pc/serial.c: Likewise.
12267 * term/usb_keyboard.c: Likewise.
12268
12269 2009-05-03 David S. Miller <davem@davemloft.net>
12270
12271 * normal/menu.c: Include grub/parser.h
12272
12273 2009-05-03 Pavel Roskin <proski@gnu.org>
12274
12275 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12276 not char*.
12277 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12278 Suggested by Javier Martín <lordhabbit@gmail.com>
12279
12280 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12281 efiemu??.o doesn't exist.
12282 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12283 copying.
12284
12285 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 FreeBSD 64-bit support
12288
12289 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
12290 and loader/i386/bsd_trampoline.S
12291 (bsd_mod_ASFLAGS): new variable
12292 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12293 (FREEBSD_MODTYPE_KERNEL64): likewise
12294 (grub_bsd64_trampoline_start): likewise
12295 (grub_bsd64_trampoline_end): likewise
12296 (grub_bsd64_trampoline_selfjump): likewise
12297 (grub_bsd64_trampoline_gdt): likewise
12298 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12299 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12300 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12301 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
12302 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12303 of "attrib" member
12304 * loader/i386/bsd_pagetable.c: new file
12305 * loader/i386/bsd_trampoline.S: likewise
12306 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12307 (ALIGN_VAR): likewise
12308 (entry_hi): new variable
12309 (kern_end_mdofs): likewise
12310 (is_64bit): likewise
12311 (grub_freebsd_add_meta): use ALIGN_VAR
12312 (grub_e820_mmap): new declaration
12313 (grub_freebsd_add_mmap): new function
12314 (grub_freebsd_add_meta_module): support 64 bit kernels
12315 (grub_freebsd_list_modules): use ALIGN_VAR
12316 (gdt_descriptor): new declaration
12317 (grub_freebsd_boot): support 64 bit kernels
12318 (grub_bsd_elf64_hook): new function
12319 (grub_bsd_load_elf): support elf64
12320
12321 2009-05-03 Bean <bean123ch@gmail.com>
12322
12323 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12324 after we get the result of if statement.
12325
12326 2009-05-03 Bean <bean123ch@gmail.com>
12327
12328 * Makefile.in (enable_efiemu): New variable.
12329
12330 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12331 set.
12332 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12333 path.
12334 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12335 path, add -mno-red-zone option.
12336 (efiemu64_s.o): Likewise.
12337 (efiemu64.o): Use macro $^ for source file.
12338
12339 * configure.ac (--enable-efiemu): New option.
12340
12341 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 xnu support
12344
12345 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12346 (pkglib_MODULES): add xnu.mod
12347 (xnu_mod_SOURCES): new variable
12348 (xnu_mod_CFLAGS): likewise
12349 (xnu_mod_LDFLAGS): likewise
12350 (xnu_mod_ASFLAGS): likewise
12351 * conf/i386-pc.rmk: likewise
12352 * conf/x86_64-efi.rmk: likewise
12353 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
12354 new declaration
12355 * include/grub/i386/macho.h: new file
12356 * include/grub/i386/xnu.h: likewise
12357 * include/grub/macho.h: likewise
12358 * include/grub/machoload.h: likewise
12359 * include/grub/x86_64/macho.h: likewise
12360 * include/grub/x86_64/xnu.h: likewise
12361 * include/grub/xnu.h: likewise
12362 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12363 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12364 * loader/i386/efi/xnu.c: new file
12365 * loader/i386/pc/xnu.c: likewise
12366 * loader/i386/xnu.c: likewise
12367 * loader/i386/xnu_helper.S: likewise
12368 * loader/macho.c: likewise
12369 * loader/xnu.c: likewise
12370 * loader/xnu_resume.c: likewise
12371 * util/grub-dumpdevtree: likewise
12372 * include/grub/i386/pit.h: include grub/err.h
12373 (grub_pit_wait): export
12374 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
12375
12376 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 Efiemu
12379
12380 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
12381 _linux_efi, linux_efi.
12382 new files in grub-emu
12383 new targets efiemu32.o and efiemu64.o
12384 * loader/linux_normal_efiemu.c: likewise
12385 * loader/i386/efi/linux.c: added preliminary efiemu support
12386 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
12387 files to copy
12388 * include/grub/autoefi.h: new file
12389 * include/grub/i386/efiemu.h: likewise
12390 * include/grub/i386/pc/efiemu.h: likewise
12391 * include/grub/efi/api.h: add LL suffix when necessary
12392 new definitions relating to tables
12393 * include/grub/efiemu/efiemu.h: new file
12394 * include/grub/efiemu/runtime.h: likewise
12395 * efiemu/prepare.c: likewise
12396 * efiemu/loadcore_common.c: likewise
12397 * efiemu/loadcore64.c: likewise
12398 * efiemu/runtime/efiemu.sh: likewise
12399 * efiemu/runtime/efiemu.S: likewise
12400 * efiemu/runtime/efiemu.c: likewise
12401 * efiemu/runtime/config.h: likewise
12402 * efiemu/prepare32.c: likewise
12403 * efiemu/main.c: likewise
12404 * efiemu/modules/pnvram.c: likewise
12405 * efiemu/modules/i386: likewise
12406 * efiemu/modules/i386/pc: likewise
12407 * efiemu/modules/acpi.c: likewise
12408 * efiemu/i386/pc/cfgtables.c: likewise
12409 * efiemu/i386/loadcore64.c: likewise
12410 * efiemu/i386/loadcore32.c: likewise
12411 * efiemu/prepare64.c: likewise
12412 * efiemu/loadcore.c: likewise
12413 * efiemu/symbols.c: likewise
12414 * efiemu/mm.c: likewise
12415 * efiemu/loadcore32.c: likewise
12416
12417 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 ACPI spoofing
12420
12421 * commands/acpi.c: new file
12422 * commands/i386/pc/acpi.c: likewise
12423 * commands/efi/acpi.c: likewise
12424 * include/grub/acpi.h: likewise
12425 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12426 (acpi_mod_SOURCES): new variable
12427 (acpi_mod_CFLAGS): likewise
12428 (acpi_mod_LDFLAGS): likewise
12429 * conf/i386-efi.rmk: likewise
12430 * conf/x86_64-efi.rmk: likewise
12431
12432 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 Missing part from mmap patch
12435
12436 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12437 (grub_mmap_unregister)
12438 (grub_mmap_free_and_unregister): use grub_mmap_register
12439
12440 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 Mmap services
12443
12444 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12445 * loader/i386/linux.c (find_mmap_size): likewise
12446 (allocate_pages): likewise
12447 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12448 (grub_fill_multiboot_mmap): likewise
12449 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12450 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12451 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12452 (OPENBSD_MMAP_RESERVED): likewise
12453 * include/grub/i386/pc/memory.h: include grub/memory.h
12454 (grub_lower_mem): removed
12455 (grub_upper_mem): likewise
12456 (GRUB_MACHINE_MEMORY_ACPI): new definition
12457 (GRUB_MACHINE_MEMORY_NVS): likewise
12458 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12459 (GRUB_MACHINE_MEMORY_HOLE): likewise
12460 (grub_machine_mmap_register): likewise
12461 (grub_machine_mmap_unregister): likewise
12462 (grub_machine_get_upper): likewise
12463 (grub_machine_get_lower): likewise
12464 (grub_machine_get_post64): likewise
12465 * include/grub/i386/efi/memory.h: new file
12466 * include/grub/x86_64/efi/memory.h: likewise
12467 * include/grub/efi/memory.h: likewise
12468 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12469 (mmap_mod_SOURCES): new variable
12470 (mmap_mod_LDFLAGS): likewise
12471 (mmap_mod_ASFLAGS): likewise
12472 * conf/i386-coreboot.rmk: likewise
12473 * conf/i386-ieee1275.rmk: likewise
12474 * conf/i386-efi.rmk: likewise
12475 * conf/x86_64-efi.rmk: likewise
12476 * include/grub/types.h (UINT_TO_PTR): new macro
12477 (PTR_TO_UINT32): likewise
12478 (PTR_TO_UINT64): likewise
12479 * include/grub/memory.h: new file
12480 * mmap/i386/pc/mmap.c: likewise
12481 * mmap/i386/pc/mmap_helper.S: likewise
12482 * mmap/i386/uppermem.c: likewise
12483 * mmap/mmap.c: likewise
12484 * mmap/efi/mmap.c: likewise
12485 * kern/i386/coreboot/init.c (grub_machine_init): don't use
12486 grub_upper_mem
12487 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12488 (grub_upper_mem): likewise
12489 (grub_machine_init): don't use grub_upper_mem,
12490 make grub_lower_mem local
12491 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12492 grub_mmap_iterate and grub_mmap_get_upper
12493 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12494
12495 2009-05-02 Bean <bean123ch@gmail.com>
12496
12497 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12498 script/sh/parser.y.
12499 (pkglib_MODULES): Add normal.mod and sh.mod.
12500 (normal_SOURCES): New variable.
12501 (normal_mod_CFLAGS): Likewise.
12502 (normal_mod_LDFLAGS): Likewise.
12503 (sh_mod_SOURCES): Likewise.
12504 (sh_mod_CFLAGS): Likewise.
12505 (sh_mod_LDFLAGS): Likewise.
12506
12507 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12508 script/sh/lexer.c_DEPENDENCIES.
12509 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12510 kern/rescue_reader.c and kern/rescue_parser.c.
12511 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12512 (grub_emu_SOURCES): Change source files.
12513 (pkglib_MODULES): Remove normal.mod.
12514 (normal_SOURCES): Removed.
12515 (normal_mod_CFLAGS): Likewise.
12516 (normal_mod_LDFLAGS): Likewise.
12517 * conf/i386-coreboot.rmk: Likewise.
12518 * conf/i386-efi.rmk: Likewise.
12519 * conf/i386-ieee1276.rmk: Likewise.
12520 * conf/powerpc-ieee1275.rmk: Likewise.
12521 * conf/sparc64-ieee1275.rmk: Likewise.
12522 * conf/x86_64-efi.rmk: Likewise.
12523
12524 * include/grub/command.h (grub_command_execute): New inline function.
12525
12526 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12527
12528 * include/grub/normal.h: Remove <grub/setjmp.h>.
12529 (grub_fs_module_list): Moved to normal/autofs.c.
12530 (grub_exit_env): Removed.
12531 (grub_command_execute): Likewise.
12532 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12533 parameter script.
12534 (read_command_list): New function declaration.
12535 (read_fs_list): Likewise.
12536
12537 * include/parser.h: Include <grub/reader.h>.
12538 (grub_parser_split_cmdline): Change type of getline parameter.
12539 (grub_parser): New structure.
12540 (grub_parser_class): New variable.
12541 (grub_parser_execute): New function declaration.
12542 (grub_register_rescue_parser): Likewise.
12543 (grub_parser_register): New inline function.
12544 (grub_parser_unregister): Likewise.
12545 (grub_parser_get_current): Likewise.
12546 (grub_parser_set_current): Likewise.
12547
12548 * include/grub/reader.h: New file.
12549 * kern/reader.c: Likewise.
12550 * kern/rescue_parser.c: Likewise.
12551 * kern/rescue_reader.c: Likewise.
12552 * normal/autofs.c: Likewise.
12553 * normal/dyncmd.c: Likewise.
12554
12555 * include/grub/rescue.h: Removed.
12556 * normal/command.h: Likewise.
12557
12558 * include/grub/script.h: Moved to ...
12559 * include/grub/script_sh.h: ... Moved here.
12560 * normal/execute.c: Moved to ...
12561 * script/sh/execute.c: ... Moved here.
12562 * normal/function.c: Moved to ...
12563 * script/sh/function.c: ... Moved here.
12564 * normal/lexer.c: Moved to ...
12565 * script/sh/lexer.c: ... Moved here.
12566 * normal/parser.y: Moved to ...
12567 * script/sh/parser.y: ... Moved here.
12568 * normal/script.c: Moved to ...
12569 * script/sh/script.c: ... Moved here.
12570
12571 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12572 <grub/reader.h>.
12573 (grub_exit_env): Removed.
12574 (fs_module_list): Moved to normal/autofs.c.
12575 (grub_file_getline): Don't handle comment here.
12576 (free_menu): Skip removed field entry->commands.
12577 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12578 script parameter.
12579 (read_config_file): Removed nested parameter, change getline function.
12580 (grub_enter_normal_mode): Removed.
12581 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12582 (read_command_list): Likewise.
12583 (autoload_fs_module): Moved to normal/autofs.c.
12584 (read_fs_list): Likewise.
12585 (reader_nested): New variable.
12586 (grub_normal_execute): Run parser.sh to switch to sh parser.
12587 (grub_cmd_rescue): Removed.
12588 (cmd_normal): Removed.
12589 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12590 rescue command.
12591 (grub_cmdline_run): New function.
12592 (grub_normal_reader_init): Likewise.
12593 (grub_normal_read_line): Likewise.
12594 (grub_env_write_pager): Likewise.
12595 (cmdline): New variable.
12596 (grub_normal_reader): Likewise.
12597 (GRUB_MOD_INIT): Register normal reader and set as current, register
12598 pager hook, register normal command with grub_register_command_prio,
12599 so that it won't show up in command.lst.
12600 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12601 grub_fs_autoload_hook.
12602
12603 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12604 (grub_menu_execute_entry): Replace grub_script_execute with
12605 grub_parser_execute, change parameter to grub_command_execute.
12606
12607 * normal/menu_text.c: Remove <grub/script.h>.
12608
12609 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12610 and <grub/parser.h>.
12611 (run): Change editor_getline to use new parser interface. Change
12612 parameter to grub_command_execute.
12613
12614 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12615 <grub/reader.h> and <grub/parser.h>.
12616 (grub_load_normal_mode): Execute normal command.
12617 (grub_main): Call grub_register_core_commands,
12618 grub_register_rescue_parser and grub_register_rescue_reader, use
12619 grub_reader_loop to enter input loop.
12620
12621 * kern/parser.c (grub_parser_split_cmdline): Change type of
12622 getline parameter.
12623 (grub_parser_class): New variable.
12624 (grub_parser_execute): New function.
12625
12626 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12627 * loader/multiboot2.c: Likewise.
12628 * loader/sparc64/ieee1275/linux.c: Likewise.
12629
12630 * util/grub-emu.c (read_command_list): New dummy function.
12631
12632 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12633
12634 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12635 count to 16 for CCISS and IDA.
12636
12637 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12638
12639 * normal/menu_text.c (grub_wait_after_message): Print a newline
12640 after waiting for user input.
12641
12642 * loader/i386/linux.c: Include `<grub/normal.h>'.
12643 (grub_cmd_linux): Improve the error message about `ask' mode, by
12644 waiting for user input so it's not missed (we can do this, since
12645 user requested interaction).
12646
12647 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 Added missing lst to grub-mkrescue
12650
12651 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12652 and ${input_dir}/parttool.lst
12653
12654 2009-04-30 David S. Miller <davem@davemloft.net>
12655
12656 * util/hostdisk.c (device_is_wholedisk): New function.
12657 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12658 zero only if device_is_wholedisk() returns true.
12659
12660 * util/hostdisk.c (convert_system_partition_to_system_disk):
12661 Handle virtual disk devices named /dev/vdiskX as found on sparc
12662 and powerpc.
12663
12664 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12665 lettered partition specifier is found, convert to numbered.
12666
12667 2009-04-29 David S. Miller <davem@davemloft.net>
12668
12669 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12670 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12671
12672 * normal/command.c: Add missing newline at end of file.
12673
12674 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12675 warnings.
12676 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12677 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12678 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12679 ihandles have a 32-bit type but need to be stored in a "void *".
12680
12681 2009-04-28 Pavel Roskin <proski@gnu.org>
12682
12683 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12684 not disk. Adjust all dependencies.
12685 (grub_fs_uuid_close): Use grub_device_close(), not
12686 grub_disk_close().
12687
12688 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12689 parent's partition, don't copy it by reference, as it gets freed
12690 on close.
12691
12692 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 Preboot hooks support
12695
12696 * commands/boot.c (struct grub_preboot_t): new declaration
12697 (preboots_head): new variable
12698 (preboots_tail): likewise
12699 (grub_loader_register_preboot_hook): new function
12700 (grub_loader_unregister_preboot_hook): likewise
12701 (grub_loader_set): launch preboot hooks
12702 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12703 (grub_loader_register_preboot_hook): new declaration
12704 (grub_loader_unregister_preboot_hook): likewise
12705
12706 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 Warning fix
12709
12710 * disk/scsi.c (grub_scsi_open): added missing cast when
12711 calling grub_dprintf
12712
12713 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 Bug and warning fixes
12716
12717 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
12718 declaration
12719 * commands/test.c (test_parse): fixed bug with file tests and corrected
12720 declaration of find_file
12721
12722 2009-04-26 Pavel Roskin <proski@gnu.org>
12723
12724 * Makefile.in: Don't install empty manual pages if help2man is
12725 missing. Use help2man option for output, not shell redirection.
12726
12727 2009-04-26 David S. Miller <davem@davemloft.net>
12728
12729 * util/grub-mkdevicemap.c (make_device_map): Add missing
12730 NESTED_FUNC_ATTR to process_device().
12731
12732 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Test command
12735
12736 * commands/test.c: rewritten to use bash-like test
12737
12738 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 Parttool autoloading and improvements
12741
12742 * Makefile.in (pkglib_DATA): add parttool.lst
12743 (parttool.lst): new target
12744 * genmk.rb: generate parttool-*
12745 (CLEANFILES): add #{parttool}
12746 (PARTTOOLFILES): new variable
12747 * genparttoollist.sh: new file
12748 * parttool/pcpart.c (grub_pcpart_boot): more feedback
12749 (grub_pcpart_type): likewise
12750 * commands/parttool.c (helpmsg): new variable
12751 (grub_cmd_parttool): output help if not enough arguments are supplied
12752 autoload modules
12753 (GRUB_MOD_INIT(parttool)): use helpmsg
12754
12755 2009-04-24 David S. Miller <davem@davemloft.net>
12756
12757 Avoiding opening same device multiple times in device iterator.
12758
12759 * kern/device.c: (grub_device_iterate): Define struct part_ent,
12760 and use it to build a list of partitions in iterate_disk() and
12761 iterate_partition().
12762
12763 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12764 on disk->data.
12765
12766 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12767 grub_devalias_iterate() result instead of unconditional 0.
12768 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12769 Also, capture hook return value, either directly or via
12770 grub_children_iterate(), and propagate to caller.
12771 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12772 grub_children_iterate): Return value is now 'int' instead of
12773 'grub_err_t'.
12774 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12775 like a proper iterator, stopping when hooks return non-zero.
12776 (grub_devalias_iterate): Likewise.
12777
12778 2009-04-23 David S. Miller <davem@davemloft.net>
12779
12780 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12781
12782 2009-04-22 David S. Miller <davem@davemloft.net>
12783
12784 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12785 is larger than address_cells, use that value for address_cells too.
12786
12787 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12788 IEEE1275_MAX_PATH_LEN): Define.
12789 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12790 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12791 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12792 'devtype'. Explicitly NULL terminate devalias expansion.
12793
12794 * util/sparc64/ieee1275/misc.c: New file.
12795 * util/sparc64/ieee1275/grub-setup.c: New file.
12796 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12797 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12798 * util/sparc64/ieee1275/grub-install.in: New file.
12799 * util/ieee1275/ofpath.c: New file.
12800 * util/ieee1275/devicemap.c: New file.
12801 * util/devicemap.c: New file.
12802 * util/deviceiter.c: New file.
12803 * kern/sparc64/ieee1275/init.c: New file.
12804 * include/grub/util/ofpath.h: New file.
12805 * include/grub/util/deviceiter.h: New file.
12806 * util/grub-mkdevicemap.c: Include deviceiter.h.
12807 Implement using grub_util_emit_devicemap_entry and
12808 grub_util_iterate_devices.
12809 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12810 util/devicemap.c into grub-mkdevicemap
12811 * conf/i386-efi.rmk: Likewise.
12812 * conf/i386-ieee1275.rmk: Likewise.
12813 * conf/i386-pc.rmk: Likewise.
12814 * conf/powerpc-ieee1275.rmk: Likewise.
12815 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
12816 images and installation utilities. Build kernel as image
12817 instead of as elf binary. Use common rules as much as possible.
12818
12819 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 Correct GPT definition
12822
12823 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12824 of "attrib" member
12825
12826 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
12827
12828 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
12829
12830 2009-04-19 David S. Miller <davem@davemloft.net>
12831
12832 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
12833 (grub_rescue_cmd_linux): Rename to...
12834 (grub_cmd_linux): and fix prototype.
12835 (grub_rescue_cmd_initrd): Rename to...
12836 (grub_cmd_initrd): and fix prototype.
12837 (cmd_linux, cmd_initrd): New.
12838 (GRUB_MOD_INIT(linux)): Use grub_register_command().
12839 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
12840
12841 2009-04-17 Pavel Roskin <proski@gnu.org>
12842
12843 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
12844 format.
12845 (grub_ohci_transfer): Likewise.
12846
12847 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12848
12849 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12850 return without a value. Fix inconsistent indentation.
12851
12852 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12853 match struct grub_fs.
12854
12855 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12856 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12857 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12858 * commands/lspci.c (grub_lspci_iter): Likewise.
12859
12860 2009-04-16 Bean <bean123ch@gmail.com>
12861
12862 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12863 value.
12864
12865 2009-04-15 Pavel Roskin <proski@gnu.org>
12866
12867 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12868 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12869 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12870 definitions.
12871
12872 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
12873
12874 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
12875 that no multiple data or metadata areas are supported and `Unknown
12876 metadata header'.
12877
12878 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 Move loader out of the kernel
12881
12882 * kern/loader.c: moved to ...
12883 * commands/boot.c: ... moved here
12884 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12885 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12886 * include/grub/kernel.h (grub_machine_fini): export
12887 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12888 (grub_loader_set): likewise
12889 (grub_loader_unset): likewise
12890 (grub_loader_boot): likewise
12891 * conf/common.rmk: new module boot.mod
12892 (pkglib_MODULES): add boot.mod
12893 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12894 (grub_emu_SOURCES): likewise
12895 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12896 (grub_emu_SOURCES): likewise
12897 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12898 (grub_emu_SOURCES): likewise
12899 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12900 (grub_emu_SOURCES): likewise
12901 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12902 (grub_emu_SOURCES): likewise
12903 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12904 (grub_emu_SOURCES): likewise
12905 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
12906 (grub_emu_SOURCES): likewise
12907
12908 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
12911
12912 * kern/misc.c (grub_itoa): Removed function
12913 (grub_ltoa): likewise
12914 (grub_vsprintf): use grub_lltoa
12915
12916 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 Restore grub-emu
12919
12920 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12921 * conf/i386-coreboot.rmk: likewise
12922 * conf/i386-ieee1275.rmk: likewise
12923 * conf/powerpc-ieee1275.rmk: likewise
12924
12925 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
12926
12927 * INSTALL: Add that `./autogen.sh' needs to be run before
12928 `./configure.'.
12929
12930 2009-04-14 Bean <bean123ch@gmail.com>
12931
12932 * Makefile.in (pkglib_DATA): Add handler.lst.
12933 (handler.lst): New rule.
12934
12935 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12936 * conf/i386-coreboot.rmk: Likewise.
12937 * conf/i386-ieee1275.rmk: Likewise.
12938 * conf/i386-efi.rmk: Likewise.
12939 * conf/x86_64-efi.rmk: Likewise.
12940 * conf/powerpc-ieee1275.rmk: Likewise.
12941 * conf/sparc64-ieee1275.rmk: Likewise.
12942
12943 * genhandlerlist.sh: New file.
12944
12945 * genmk.rb: Add rules to generate handler.lst.
12946
12947 * include/grub/normal.h (grub_file_getline): New function definition.
12948 (read_handler_list): Likewise.
12949 (free_handler_list): Likewise.
12950
12951 * include/grub/term.h (grub_term_register_input): Add name parameter
12952 for auto generation of handler.lst.
12953 (grub_term_register_output): Likewise.
12954
12955 * normal/handler.c: New file.
12956
12957 * normal/main.c (get_line): Renamed to grub_file_getline.
12958 (read_config_file): Use the newly renamed grub_file_getline.
12959 (read_command_list): Likewise.
12960 (read_fs_list): Likewise.
12961 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12962 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12963
12964 * term/efi/console.c (grub_console_init): Add name parameter for auto
12965 generation of handler.lst.
12966 * term/gfxterm.c: Likewise.
12967 * term/i386/pc/at_keyboard.c: Likewise.
12968 * term/i386/pc/console.c: Likewise.
12969 * term/i386/pc/serial.c: Likewise.
12970 * term/i386/pc/vesafb.c: Likewise.
12971 * term/i386/pc/vga.c: Likewise.
12972 * term/i386/pc/vga_text.c: Likewise.
12973 * term/ieee1275/ofconsole.c: Likewise.
12974 * term/usb_keyboard.c: Likewise.
12975
12976 2009-04-14 Bean <bean123ch@gmail.com>
12977
12978 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12979 properly with null character.
12980
12981 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
12982
12983 * configure: Remove.
12984 * config.h.in: Likewise.
12985 * stamp-h.in: Likewise.
12986 * DISTLIST: Likewise.
12987 * conf/common.mk: Likewise.
12988 * conf/i386-coreboot.mk: Likewise.
12989 * conf/i386-efi.mk: Likewise.
12990 * conf/i386-ieee1275.mk: Likewise.
12991 * conf/i386.mk: Likewise.
12992 * conf/i386-pc.mk: Likewise.
12993 * conf/powerpc-ieee1275.mk: Likewise.
12994 * conf/sparc64-ieee1275.mk: Likewise.
12995 * conf/x86_64-efi.mk: Likewise.
12996
12997 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12998 develop on GRUB.
12999
13000 2009-04-14 John Stanley <jpsinthemix@verizon.net>
13001 David S. Miller <davem@davemloft.net>
13002
13003 * util/hostdisk.c (make_device_name): Fix buffer length
13004 calculations.
13005
13006 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13007
13008 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13009 <sys/param.h> and <sys/sysctl.h>.
13010 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13011 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13012 opening the device and reset them afterwards.
13013
13014 2009-04-13 Pavel Roskin <proski@gnu.org>
13015
13016 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13017 Reported by John Stanley <jpsinthemix@verizon.net>
13018
13019 2009-04-13 Robert Millan <rmh@aybabtu.com>
13020
13021 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
13022 that name for menuentries when appropriate.
13023
13024 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13025
13026 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13027
13028 2009-04-13 Robert Millan <rmh@aybabtu.com>
13029
13030 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13031 to Linux, simply abort telling the user it's no longer supported.
13032
13033 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13034
13035 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
13036 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
13037 `freebsd_loadenv' only when devices.hints exist.
13038
13039 2009-04-13 Pavel Roskin <proski@gnu.org>
13040
13041 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13042
13043 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13044
13045 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13046 partition number.
13047 (grub_drive): Likewise.
13048
13049 2009-04-13 David S. Miller <davem@davemloft.net>
13050
13051 * kern/sparc64/ieee1275/ieee1275.c: New file.
13052 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13053 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13054 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13055 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13056 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13057 grub_ieee1275_alloc_physmem): Declare new exported functions.
13058
13059 * include/grub/sparc64/ieee1275/loader.h: New file.
13060 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13061 * include/grub/sparc64/kernel.h: Likewise.
13062 * loader/sparc64/ieee1275/linux.c: Likewise.
13063
13064 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13065 (grub_fstest_SOURCES): Likewise.
13066
13067 * util/hostdisk.c (make_device_name): Do not make any assumptions
13068 about the length of drive names.
13069
13070 * kern/dl.c (grub_dl_load_file): Close file immediately when
13071 we are done using it.
13072
13073 2009-04-12 David S. Miller <davem@davemloft.net>
13074
13075 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13076 values. Noticed by Pavel Roskin.
13077
13078 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13079 target compiler.
13080
13081 * genmk.rb: Add more flexible image type specification, also
13082 pass --strip-unneeded to objcopy.
13083 * conf/i386-pc.rmk: Use *_FORMAT.
13084 * conf/i386-pc.mk: Rebuilt.
13085
13086 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13087 (OFDISK_HASH_SZ): Define.
13088 (ofdisk_hash): New hash table.
13089 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13090 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13091 instead of device phandle which is not unique.
13092
13093 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13094 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13095 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13096 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13097 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13098 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13099 GRUB_KERNEL_MACHINE_DATA_END): Define.
13100 (grub_kernel_image_size, grub_total_module_size): Declare.
13101
13102 2009-04-12 Pavel Roskin <proski@gnu.org>
13103
13104 * configure.ac: Change the logic when we check for target tools.
13105 Do it when the target is specified and it's different from the
13106 specified value of the host.
13107
13108 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
13109
13110 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13111 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13112 GNU/kFreeBSD. Check if a device is a character device. Use
13113 DIOCGMEDIASIZE to get the size.
13114 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13115 support for GNU/kFreeBSD.
13116 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13117 is a character device instead of a block device. Add support for
13118 FreeBSD device names.
13119
13120 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13121 is a character device instead of a block device.
13122
13123 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13124 is a character device instead of a block device.
13125
13126 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13127
13128 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13129 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13130 FreeBSD. Check if a device is a character device. Use
13131 DIOCGMEDIASIZE to get the size.
13132 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13133 support for FreeBSD.
13134 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13135 is a character device instead of a block device. Add support for
13136 FreeBSD device names.
13137
13138 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13139 a character device instead of a block device.
13140 (grub_util_check_char_device): New function.
13141
13142 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13143 a character device instead of a block device.
13144
13145 * include/grub/util/getroot.h (grub_util_check_char_device): New
13146 prototype.
13147
13148 2009-04-11 David S. Miller <davem@davemloft.net>
13149
13150 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13151 static libgcc.
13152 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13153 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13154 function, if present.
13155 (__bswapdi2): Likewise.
13156
13157 * include/grub/sparc64/ieee1275/boot.h: New file.
13158 * boot/sparc64/ieee1275/boot.S: Likewise.
13159 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13160
13161 * kern/misc.c (grub_ltoa): New function.
13162 (grub_vsprintf): Use it to format 'long' integers.
13163
13164 2009-04-10 David S. Miller <davem@davemloft.net>
13165
13166 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13167 slots are of type grub_ieee1275_cell_t.
13168 (grub_nand_read): Likewise.
13169 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13170 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13171 macros are used to compare values in arg/ret block of the call.
13172 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13173 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13174 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13175 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13176 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13177 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13178 grub_ieee1275_close, grub_ieee1275_set_property,
13179 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13180 grub_ieee1275_cell_t.
13181 * kern/ieee1275/openfw.c (grub_map): Likewise.
13182 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13183 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13184
13185 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13186 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13187 (grub_devalias_iterate): Likewise.
13188
13189 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 UFS improvements
13192
13193 * fs/ufs.c (INODE_NBLOCKS): new definition
13194 (struct grub_ufs_dirent): added fields for non-BSD dirents
13195 (grub_ufs_get_file_block): fixed double indirect handling
13196 (grub_ufs_lookup_symlink): use more robust way to determine whether
13197 symlink is inline
13198 (grub_ufs_find_file): support for non-BSD dirents
13199 (grub_ufs_dir): support for non-BSD dirents
13200
13201 2009-04-10 Bean <bean123ch@gnail.com>
13202
13203 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13204 attribute, otherwise the size would be wrong for i386 platform.
13205
13206 * include/grub/pci.h (grub_pci_read_word): New inline function.
13207 (grub_pci_read_byte): Likewise.
13208 (grub_pci_write): Likewise.
13209 (grub_pci_write_word): Likewise.
13210 (grub_pci_write_byte): Likewise.
13211
13212 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13213
13214 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13215 (find_framebuf): Scan pci to locate the frame buffer address.
13216
13217 * commands/efi/fixvideo.c: New file.
13218
13219 * commands/efi/loadbios.c: Likewise.
13220
13221 * commands/memrw.c: Likewise.
13222
13223 * util/grub-dumpbios.in: Likewise.
13224
13225 * conf/common.rmk (grub-dumpbios): New utility.
13226 (pkglib_MODULES): New module memrw.mod.
13227 (memrw_mod_SOURCE): New macro.
13228 (memrw_mod_CFLAGS): Likewise.
13229 (memrw_mod_LDFLAGS): Likewise.
13230
13231 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
13232 fixvideo.mod.
13233 (loadbios_mod_SOURCE): New macro.
13234 (loadbios_mod_CFLAGS): Likewise.
13235 (loadbios_mod_LDFLAGS): Likewise.
13236 (fixvideo_mod_SOURCE): Likewise.
13237 (fixvideo_mod_CFLAGS): Likewise.
13238 (fixvideo_mod_LDFLAGS): Likewise.
13239
13240 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
13241 fixvideo.mod.
13242 (loadbios_mod_SOURCE): New macro.
13243 (loadbios_mod_CFLAGS): Likewise.
13244 (loadbios_mod_LDFLAGS): Likewise.
13245 (fixvideo_mod_SOURCE): Likewise.
13246 (fixvideo_mod_CFLAGS): Likewise.
13247 (fixvideo_mod_LDFLAGS): Likewise.
13248
13249 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
13250
13251 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13252
13253 2009-04-07 David S. Miller <davem@davemloft.net>
13254
13255 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13256 support for R_SPARC_OLO10 relocations. Fix compile warning for
13257 R_SPARC_WDISP30 case.
13258 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
13259
13260 2009-04-06 Pavel Roskin <proski@gnu.org>
13261
13262 * include/grub/misc.h (ARRAY_SIZE): New macro.
13263 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13264 New macro.
13265 * loader/i386/linux.c (allocate_pages): Use free_pages().
13266 (grub_linux_unload): Don't use free_pages().
13267 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13268 wrong index. Treat all other modes as text modes.
13269 (grub_cmd_linux): Initialize vid_mode unconditionally to
13270 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13271
13272 * commands/help.c (print_command_help): Use cmd->prio, not
13273 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13274
13275 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 Parttool
13278
13279 * parttool/pcpart.c: new file
13280 * commands/parttool.c: likewise
13281 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13282 (parttool_mod_SOURCES): new variable
13283 (parttool_mod_CFLAGS): likewise
13284 (parttool_mod_LDFLAGS): likewise
13285 (pcpart_mod_SOURCES): likewise
13286 (pcpart_mod_CFLAGS): likewise
13287 (pcpart_mod_LDFLAGS): likewise
13288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
13289 and parttool/pcpart.c
13290 * conf/i386-efi.rmk: likewise
13291 * conf/i386-ieee1275.rmk: likewise
13292 * conf/i386-pc.rmk: likewise
13293 * conf/powerpc-ieee1275.rmk: likewise
13294 * conf/sparc64-ieee1275.rmk: likewise
13295 * conf/x86_64-ieee1275.rmk: likewise
13296
13297 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 Support for mtime and further expandability of dir command
13300
13301 * include/grub/lib/datetime.h: moved to ...
13302 * include/grub/datetime.h: ... moved here and added
13303 declaration of grub_unixtime2datetime. All users updated
13304 * include/grub/fs.h: new syntax for dir and mtime functions in
13305 struct grub_fs
13306 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13307 and GRUB_FSHELP_FLAGS_MASK
13308 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13309 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13310 (grub_ext2_mtime): new function
13311 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13312 (grub_hfsplus_mtime): new function
13313 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13314 (GRUB_UFS_ATTR_FILE): likewise
13315 (GRUB_UFS_ATTR_LNK): likewise
13316 (struct grub_ufs_sblock): new fields mtime
13317 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13318 all users updated
13319 (grub_ufs_dir): mtime support
13320 (grub_ufs_mtime): new function
13321 * fs/affs.c (grub_affs_dir): use new dir syntax
13322 * fs/afs.c (grub_afs_dir): likewise
13323 * fs/cpio.c (grub_cpio_dir): likewise
13324 * fs/fat.c (grub_fat_find_dir): likewise
13325 * fs/hfs.c (grub_hfs_dir): likewise
13326 * fs/iso9660.c (grub_iso9660_dir): likewise
13327 * fs/jfs.c (grub_jfs_dir): likewise
13328 * fs/minix.c (grub_minix_dir): likewise
13329 * fs/ntfs.c (grub_ntfs_dir): likewise
13330 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13331 * fs/sfs.c (grub_sfs_dir): likewise
13332 * fs/xfs.c (grub_xfs_dir): likewise
13333 * util/hostfs.c (grub_hostfs_dir): likewise
13334 * lib/datetime.c: moved to ...
13335 * normal/datetime.c: ... moved here
13336 (grub_unixtime2datetime): new function
13337 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
13338 * normal/completion.c (iterate_dir): use new dir syntax
13339 * normal/misc.c (grub_normal_print_device_info): tell the
13340 last modification time of a volume
13341 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
13342 * conf/common.rmk: added lib/datetime.c to ls.mod
13343 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
13344 (normal_mod_SOURCES): likewise
13345 (datetime_mod_SOURCES): Removed lib/datetime.c
13346 * conf/i386-efi.rmk: likewise
13347 * conf/i386-ieee1275.rmk: likewise
13348 * conf/i386-pc.rmk: likewise
13349 * conf/powerpc-ieee1275.rmk: likewise
13350 * conf/sparc64-ieee1275.rmk: likewise
13351 * conf/x86_64-efi.rmk: likewise
13352
13353 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13354
13355 Trim trailing spaces in FAT label and support mtools-like labels
13356
13357 * fs/fat.c (grub_fat_iterate_dir): New function based
13358 on grub_fat_find_dir
13359 (grub_fat_find_dir): use grub_fat_iterate_dir
13360 (grub_fat_label): likewise
13361
13362 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
13365 and command.h
13366 remove extraneous kernel_elf_HEADERS
13367
13368 2009-04-04 Bean <bean123ch@gnail.com>
13369
13370 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13371
13372 * util/misc.c: Likewise.
13373
13374 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13375
13376 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13377 instead of grub_printf.
13378
13379 2009-04-03 Robert Millan <rmh@aybabtu.com>
13380
13381 * loader/i386/linux.c (grub_linux_setup_video): Fill
13382 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13383 values from `mode info' structure instead of hardcoded
13384 values.
13385
13386 2009-04-01 Pavel Roskin <proski@gnu.org>
13387
13388 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13389 unused now.
13390 * genmk.rb: Likewise.
13391 * configure.ac: Likewise.
13392
13393 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13394
13395 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13396 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13397
13398 2009-04-01 David S. Miller <davem@davemloft.net>
13399
13400 * normal/sparc64/setjmp.S: Fix setjmp implementation.
13401 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
13402 (grub_setjmp): Mark with 'returns_twice' attribute.
13403 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13404 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13405 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13406
13407 2009-04-01 Robert Millan <rmh@aybabtu.com>
13408
13409 Reapply fix from 2008-07-28 which was accidentally reverted; also
13410 perform the same fix to a similar check in same function.
13411
13412 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13413 with the same number are found, just use issue a warning with
13414 grub_dprintf(), as this error has been reported to be non-fatal.
13415
13416 2009-03-31 Pavel Roskin <proski@gnu.org>
13417
13418 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13419 for cross-compilation.
13420
13421 2009-03-30 Robert Millan <rmh@aybabtu.com>
13422
13423 Fix i386-ieee1275 build.
13424
13425 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13426 Remove declaration.
13427
13428 2009-03-30 Pavel Roskin <proski@gnu.org>
13429
13430 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13431 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13432 zero-terminated, rely only on the strlen value. Fix comparison
13433 of strings differing in length.
13434
13435 2009-03-30 Robert Millan <rmh@aybabtu.com>
13436
13437 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13438 checking for abi version. Improve error messages on BIOS to notify
13439 user about `linux16' command.
13440
13441 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 Leak fixes
13444
13445 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13446 in case of collision
13447 * disk/scsi.c (grub_scsi_open): free scsi in case of error
13448
13449 2009-03-29 Robert Millan <rmh@aybabtu.com>
13450
13451 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13452 set `vid_mode' accordingly.
13453 (grub_linux_boot): Process `vid_mode' and set video mode.
13454
13455 2009-03-29 Robert Millan <rmh@aybabtu.com>
13456
13457 * util/grub.d/10_linux.in (linux_entry): New function.
13458 Factorize generation of Linux boot entries.
13459
13460 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13461
13462 Make the format of Environment Block plain text. The boot loader
13463 part is not tested well yet.
13464
13465 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13466 (buffer): Removed.
13467 (envblk): Likewise.
13468 (usage): Remove "info" and "clear". Add "unset". Update the
13469 description of "set", as this does not delete variables any
13470 longer.
13471 (create_envblk_file): Complete rewrite.
13472 (open_envblk_file): Likewise.
13473 (cmd_info): Removed.
13474 (cmd_list): Likewise.
13475 (cmd_set): Likewise.
13476 (cmd_clear): Likewise.
13477 (list_variables): New function.
13478 (write_envblk): Likewise.
13479 (set_variables): Likewise.
13480 (unset_variables): Likewise.
13481 (main): Complete rewrite.
13482
13483 * commands/loadenv.c (buffer): Removed.
13484 (envblk): Likewise.
13485 (open_envblk_file): New function.
13486 (read_envblk_file): Complete rewrite.
13487 (grub_cmd_load_env): Likewise.
13488 (grub_cmd_list_env): Likewise.
13489 (struct blocklist): New struct.
13490 (free_blocklists): New function.
13491 (check_blocklists): Likewise.
13492 (write_blocklists): Likewise.
13493 (grub_cmd_save_env): Complete rewrite.
13494
13495 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13496 a plain text signature.
13497 (GRUB_ENVBLK_MAXLEN): Removed.
13498 (struct grub_envblk): Complete rewrite.
13499 (grub_envblk_find): Removed.
13500 (grub_envblk_insert): Likewise.
13501 (grub_envblk_open): New prototype.
13502 (grub_envblk_set): Likewise.
13503 (grub_envblk_delete): Put const to VALUE.
13504 (grub_envblk_iterate): Put const to NAME and VALUE.
13505 (grub_envblk_close): New prototype.
13506 (grub_envblk_buffer): New inline function.
13507 (grub_envblk_size): Likewise.
13508
13509 * lib/envblk.c: Include grub/mm.h.
13510 (grub_env_find): Removed.
13511 (grub_envblk_open): New function.
13512 (grub_envblk_close): Likewise.
13513 (escaped_value_len): Likewise.
13514 (find_next_line): Likewise.
13515 (grub_envblk_insert): Removed.
13516 (grub_envblk_set): New function.
13517 (grub_envblk_delete): Complete rewrite.
13518 (grub_envblk_iterate): Likewise.
13519
13520 2009-03-28 Robert Millan <rmh@aybabtu.com>
13521
13522 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13523 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13524 variables. Use 16-bit loader.
13525 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13526 loader.
13527 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13528 (grub_linux16_boot): ... this. Update all users.
13529 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13530 (grub_linux_boot): ... this. Update all users.
13531
13532 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13533 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13534 commands to `linux16' and `initrd16'.
13535 (GRUB_MOD_FINI(linux)): Rename to ...
13536 (GRUB_MOD_FINI(linux16)): ... this.
13537
13538 2009-03-24 Pavel Roskin <proski@gnu.org>
13539
13540 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13541 not just for compilation.
13542
13543 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 Move multiboot helper out of kernel
13546
13547 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13548 `loader/i386/multiboot_helper.S'.
13549 * conf/i386-coreboot.rmk: Likewise
13550 * conf/i386-ieee1275.rmk: Likewise
13551
13552 * kern/i386/loader.S: Move multiboot helpers from here...
13553 * loader/i386/multiboot_helper.S: ...moved here
13554 * include/grub/i386/loader.h: Move declarations of multiboot
13555 helpers from here...
13556 * include/grub/i386/multiboot.h: ...moved here
13557 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13558
13559 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13560
13561 * kern/env.c (grub_env_context_open): Added an argument to specify
13562 whether a new context inherits exported variables from current
13563 one. This is useful when making a sandbox to interpret a config
13564 file.
13565 All callers updated.
13566
13567 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13568
13569 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13570
13571 * kern/env.c (grub_env_context_close): Fix memory leaks.
13572
13573 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13574
13575 * normal/main.c (grub_normal_execute): Added an argument
13576 BATCH to specify if an interactive interface should be provided
13577 after reading a config file.
13578 All callers updated.
13579 (read_command_list): Prevent being executed twice.
13580 (read_fs_list): Likewise.
13581
13582 * include/grub/normal.h (grub_normal_execute): Updated the
13583 prototype.
13584
13585 2009-03-22 Pavel Roskin <proski@gno.org>
13586
13587 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13588 _start.
13589 * kern/i386/pc/startup.S: Likewise.
13590 * kern/i386/efi/startup.S: Likewise.
13591 * kern/i386/ieee1275/startup.S: Likewise.
13592 * kern/i386/coreboot/startup.S: Likewise.
13593 * kern/x86_64/efi/startup.S: Likewise.
13594
13595 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13596 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13597 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13598
13599 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13602
13603 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13604 limit detection.
13605 Use vaddr of correct segment for entry_point.
13606
13607 2009-03-21 Bean <bean123ch@gmail.com>
13608
13609 * commands/blocklist.c: Add include file <grub/command.h>, remove
13610 <grub/normal.h> and <grub/arg.h>.
13611 (grub_cmd_blocklist): Use the new command interface.
13612 (GRUB_MOD_INIT): Likewise.
13613 (GRUB_MOD_FINI): Likewise.
13614 * commands/boot.c: Likewise.
13615 * commands/cat.c: Likewise.
13616 * commands/cmp.c: Likewise.
13617 * commands/configfile.c: Likewise.
13618 * commands/crc.c: Likewise.
13619 * commands/echo.c: Likewise.
13620 * commands/halt.c: Likewise.
13621 * commands/handler.c: Likewise.
13622 * commands/hdparm.c: Likewise.
13623 * commands/help.c: Likewise.
13624 * commands/hexdump.c: Likewise.
13625 * commands/loadenv.c: Likewise.
13626 * commands/ls.c: Likewise.
13627 * commands/lsmmap.c: Likewise.
13628 * commands/lspci.c: Likewise.
13629 * commands/loadenv.c: Likewise.
13630 * commands/read.c: Likewise.
13631 * commands/reboot.c: Likewise.
13632 * commands/search.c: Likewise.
13633 * commands/sleep.c: Likewise.
13634 * commands/test.c: Likewise.
13635 * commands/usbtest.c: Likewise.
13636 * commands/videotest.c: Likewise.
13637 * commands/i386/cpuid.c: Likewise.
13638 * commands/i386/pc/halt.c: Likewise.
13639 * commands/i386/pc/play.c: Likewise.
13640 * commands/i386/pc/pxecmd.c: Likewise.
13641 * commands/i386/pc/vbeinfo.c: Likewise.
13642 * commands/i386/pc/vbetest.c: Likewise.
13643 * commands/ieee1275/suspend.c: Likewise.
13644 * disk/loopback.c: Likewise.
13645 * font/font_cmd.c: Likewise.
13646 * hello/hello.c: Likewise.
13647 * loader/efi/appleloader.c: Likewise.
13648 * loader/efi/chainloader.c: Likewise.
13649 * loader/i386/bsd.c: Likewise.
13650 * loader/i386/efi/linux.c: Likewise.
13651 * loader/i386/ieee1275/linux.c: Likewise.
13652 * loader/i386/linux.c: Likewise.
13653 * loader/i386/pc/chainloader.c: Likewise.
13654 * loader/i386/pc/linux.c: Likewise.
13655 * loader/powerpc/ieee1275/linux.c: Likewise.
13656 * loader/multiboot_loader.c: Likewise.
13657 * term/gfxterm.c: Likewise.
13658 * term/i386/pc/serial.c: Likewise.
13659 * term/terminfo.c: Likewise.
13660
13661 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13662 * term/i386/pc/vga.c: Likewise.
13663 * video/readers/jpeg.c: Likewise.
13664 * video/readers/png.c: Likewise.
13665 * video/readers/tga.c: Likewise.
13666
13667 * util/grub-fstest (cmd_loopback): Removed.
13668 (cmd_blocklist): Likewise.
13669 (cmd_ls): Likewise.
13670 (grub_register_command): Likewise.
13671 (grub_unregister_command): Likewise.
13672 (execute_command): Use grub_command_find to locate command and execute
13673 it.
13674
13675 * include/grub/efi/chainloader.h: Removed.
13676 * loader/efi/chainloader_normal.c: Likewise.
13677 * loader/i386/bsd_normal.c: Likewise.
13678 * loader/i386/pc/chainloader_normal.c: Likewise.
13679 * loader/i386/pc/multiboot_normal.c: Likewise.
13680 * loader/linux_normal.c: Likewise.
13681 * loader/multiboot_loader_normal.c: Likewise.
13682 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13683
13684 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13685 and grub_register_command_p1.
13686
13687 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13688 kern/command.c, lib/arg.c and commands/extcmd.c.
13689 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13690 (minicmd_mod_SOURCES): New variable.
13691 (minicmd_mod_CFLAGS): Likewise.
13692 (minicmd_mod_LDFLAGS): Likewise.
13693 (extcmd_mod_SOURCES): Likewise.
13694 (extcmd_mod_CFLAGS): Likewise.
13695 (extcmd_mod_LDFLAGS): Likewise.
13696 (boot_mod_SOURCES): Removed.
13697 (boot_mod_CFLAGS): Likewise.
13698 (boot_mod_LDFLAGS): Likewise.
13699
13700 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13701 kern/corecmd.c.
13702 (kernel_img_HEADERS): Add command.h.
13703 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13704 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13705 and lib/arg.c.
13706 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13707 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13708 remove the corresponding normal mode command.
13709 (normal_mod_SOURCES): Remove normal/arg.c.
13710 * conf/i386-coreboot.rmk: Likewise.
13711 * conf/i386-efi.rmk: Likewise.
13712 * conf/i386-ieee1275.rmk: Likewise.
13713 * conf/powerpc-ieee1275.rmk: Likewise.
13714 * conf/x86_64-efi.rmk: Likewise.
13715
13716 * include/grub/arg.h: Move from here ...
13717 * include/grub/lib/arg.h: ... to here.
13718
13719 * normal/arg.c: Move from here ...
13720 * lib/arg.c: ... to here.
13721
13722 * commands/extcmd.c: New file.
13723 * commands/minicmd.c: Likewise.
13724 * include/grub/command.h: Likewise.
13725 * include/grub/extcmd.h: Likewise.
13726 * kern/command.c: Likewise.
13727 * kern/corecmd.c: Likewise.
13728
13729 * kern/list.c (grub_list_iterate): Return int instead of void.
13730 (grub_list_insert): New function.
13731 (grub_prio_list_insert): Likewise.
13732
13733 * kern/rescue.c (grub_rescue_command): Removed.
13734 (grub_rescue_command_list): Likewise.
13735 (grub_rescue_register_command): Likewise.
13736 (grub_rescue_unregister_command): Likewise.
13737 (grub_rescue_cmd_boot): Move to minicmd.c
13738 (grub_rescue_cmd_help): Likewise.
13739 (grub_rescue_cmd_info): Likewise.
13740 (grub_rescue_cmd_boot): Likewise.
13741 (grub_rescue_cmd_testload): Likewise.
13742 (grub_rescue_cmd_dump): Likewise.
13743 (grub_rescue_cmd_rmmod): Likewise.
13744 (grub_rescue_cmd_lsmod): Likewise.
13745 (grub_rescue_cmd_exit): Likewise.
13746 (grub_rescue_print_devices): Moved to corecmd.c.
13747 (grub_rescue_print_files): Likewise.
13748 (grub_rescue_cmd_ls): Likewise.
13749 (grub_rescue_cmd_insmod): Likewise.
13750 (grub_rescue_cmd_set): Likewise.
13751 (grub_rescue_cmd_unset): Likewise.
13752 (attempt_normal_mode): Use grub_command_find to get normal module.
13753 (grub_enter_rescue_mode): Use grub_register_core_commands to register
13754 commands, remove grub_rescue_register_command calls.
13755
13756 * normal/command.c (grub_register_command): Removed.
13757 (grub_unregister_command): Likewise.
13758 (grub_command_find): Likewise.
13759 (grub_iterate_commands): Likewise.
13760 (rescue_command): Likewise.
13761 (export_command): Moved to corecmd.c.
13762 (set_command): Removed.
13763 (unset_command): Likewise.
13764 (insmod_command): Likewise.
13765 (rmmod_command): Likewise.
13766 (lsmod_command): Likewise.
13767 (grub_command_init): Likewise.
13768
13769 * normal/completion.c (iterate_command): Use cmd->prio to check for
13770 active command.
13771 (complete_arguments): Use grub_extcmd_t structure to find options.
13772 (grub_normal_do_completion): Change function grub_iterate_commands to
13773 grub_command_iterate.
13774
13775 * normal/execute.c (grub_script_execute_cmd): No need to parse
13776 argument here.
13777
13778 * normal/main.c (grub_dyncmd_dispatcher): New function.
13779 (read_command_list): Register unload commands as dyncmd.
13780 (grub_cmd_normal): Use new command interface, register rescue,
13781 unregister normal at entry, register normal, unregister rescue at exit.
13782
13783 * include/grub/list.h (grub_list_test_t): New type.
13784 (grub_list_iterate): Return int instead of void.
13785 (grub_list_insert): New function.
13786 (GRUB_AS_NAMED_LIST_P): New macro.
13787 (GRUB_AS_PRIO_LIST): Likewise.
13788 (GRUB_AS_PRIO_LIST_P): Likewise.
13789 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13790 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13791 (grub_prio_list): New structure.
13792 (grub_prio_list_insert): New function.
13793 (grub_prio_list_remove): New inline function.
13794
13795 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13796 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13797 (GRUB_COMMAND_FLAG_MENU): Likewise.
13798 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13799 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13800 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13801 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13802 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13803 (grub_command): Likewise.
13804 (grub_register_command): Likewise.
13805 (grub_command_find): Likewise.
13806 (grub_iterate_commands): Likewise.
13807 (grub_command_init): Likewise.
13808 (grub_arg_parse): Likewise.
13809 (grub_arg_show_help): Likewise.
13810
13811 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13812 (grub_rescue_unregister_command): Likewise.
13813
13814 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
13815 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
13816 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
13817
13818 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
13819 grub_rescue_cmd_initrd.
13820 * include/grub/i386/loader.h: Likewise.
13821 * include/grub/x86_64/loader.h: Likewise.
13822
13823 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
13824
13825 2009-03-21 Bean <bean123ch@gmail.com>
13826
13827 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
13828 instead of stat in mingw environment.
13829
13830 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
13831
13832 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
13833
13834 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
13835 AC_CONFIG_LINKS.
13836
13837 2009-03-21 Bean <bean123ch@gmail.com>
13838
13839 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
13840 out of range error.
13841
13842 2009-03-18 Michel Dänzer <michel@daenzer.net>
13843
13844 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13845 checking inode flags for EXT4_EXTENTS_FLAG.
13846
13847 2009-03-18 Robert Millan <rmh@aybabtu.com>
13848
13849 * loader/i386/linux.c: Include `<grub/video.h>' and
13850 `<grub/i386/pc/vbe.h>'..
13851 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13852 (grub_linux32_boot): Attempt to configure video settings with
13853 grub_linux_setup_video().
13854 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13855 to avoid grub_console_fini() which would step out of graphical mode
13856 unconditionally.
13857
13858 2009-03-14 Robert Millan <rmh@aybabtu.com>
13859
13860 Fix build on powerpc.
13861 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13862
13863 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13866 background image command.
13867
13868 2009-03-12 Colin D Bennett <colin@gibibit.com>
13869
13870 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13871 (grub_gfxterm_putchar): Extract pairs of identical calls to
13872 draw_cursor out of conditional blocks.
13873
13874 2009-03-11 Pavel Roskin <proski@gnu.org>
13875
13876 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13877 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13878
13879 2009-03-11 Robert Millan <rmh@aybabtu.com>
13880
13881 * loader/i386/multiboot_elfxx.c
13882 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13883
13884 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
13885
13886 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13887 `kern/handler.c'.
13888
13889 2009-03-11 Robert Millan <rmh@aybabtu.com>
13890
13891 * loader/i386/multiboot.c (code_size): New variable.
13892 (grub_multiboot): Define offsets by adding to `code_size' rather
13893 than subtracting from `grub_multiboot_payload_size'. Provide
13894 4-byte alignment to MBI and others by increasing
13895 `boot_loader_name_length' appropriately.
13896
13897 * loader/i386/multiboot_elfxx.c
13898 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13899
13900 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
13901
13902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13903 `fs/ext2.c'.
13904
13905 2009-03-08 Robert Millan <rmh@aybabtu.com>
13906
13907 Make loader/i386/linux.c usable on i386-pc again.
13908
13909 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13910 memory to heap.
13911 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13912 `#error' stanza.
13913
13914 2009-03-07 Bean <bean123ch@gmail.com>
13915
13916 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13917 allocation.
13918
13919 2009-03-06 Robert Millan <rmh@aybabtu.com>
13920
13921 Fix display issue on terminals with screen size other than 80x25
13922 (e.g. gfxterm with resolution higher than 640x480).
13923
13924 * normal/main.c (grub_normal_init_page): Display title text in a
13925 position relative to the center of the terminal instead of relying
13926 on a hardcoded offset.
13927
13928 2009-03-04 Robert Millan <rmh@aybabtu.com>
13929
13930 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13931 installed.
13932
13933 * Makefile.in (host_kernel): New variable.
13934 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13935 scripts instead of just the windows one.
13936 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13937
13938 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13939
13940 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13941 `kern/handler.c'.
13942 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13943 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13946 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13948
13949 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13950
13951 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13952 or if there's no space for the disk label and print the partition number on a
13953 invalid magic.
13954
13955 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13956
13957 * util/misc.c: Include <time.h>.
13958 (grub_millisleep): New function.
13959
13960 2009-03-04 Bean <bean123ch@gmail.com>
13961
13962 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13963 another option -mno-red-zone.
13964
13965 * commands/handler.c: Change module description.
13966
13967 * kern/handler.c: Add missing space at the end of description line.
13968
13969 * kern/list.c: Likewise.
13970
13971 2009-03-03 Robert Millan <rmh@aybabtu.com>
13972
13973 Move more components to the relocation area, and fix mbi pointer
13974 handling to use the destination rather than the origin (thanks to
13975 Vladimir Serbinenko for spotting).
13976
13977 * loader/i386/multiboot.c (mbi_dest): New variable.
13978 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13979 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13980 relocation area.
13981
13982 2009-03-01 Bean <bean123ch@gmail.com>
13983
13984 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
13985 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13986 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13987 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13988
13989 * loader/i386/efi/linux.c (acpi_guid): New variable.
13990 (acpi_guid): Likewise.
13991 (EBDA_SEG_ADDR): New constant.
13992 (LOW_MEM_ADDR): Likewise.
13993 (FAKE_EBDA_SEG): Likewise.
13994 (fake_bios_data): New function.
13995 (grub_linux_boot): Call fake_bios_data.
13996
13997 2009-03-01 Bean <bean123ch@gmail.com>
13998
13999 * commands/terminal.c: Removed.
14000
14001 * commands/handler.c: New file.
14002
14003 * include/grub/list.h: Likewise.
14004
14005 * include/grub/handler.h: Likewise.
14006
14007 * kern/list.c: Likewise.
14008
14009 * kern/handler.c: Likewise.
14010
14011 * kern/term.h: Include header file <grub/handler.h>.
14012 (grub_term_input): Move next field to the beginning.
14013 (grub_term_output): Likewise.
14014 (grub_term_input_class): New variable.
14015 (grub_term_output_class): Likewise.
14016 (grub_term_register_input): Changed to inline function.
14017 (grub_term_register_output): Likewise.
14018 (grub_term_unregister_input): Likewise.
14019 (grub_term_unregister_output): Likewise.
14020 (grub_term_set_current_input): Likewise.
14021 (grub_term_set_current_output): Likewise.
14022 (grub_term_get_current_input): Likewise.
14023 (grub_term_get_current_output): Likewise.
14024 (grub_term_iterate_input): Removed.
14025 (grub_term_iterate_output): Likewise.
14026
14027 * kern/term.c (grub_term_list_input): Removed.
14028 (grub_term_list_output): Likewise.
14029 (grub_term_input_class): New variable.
14030 (grub_term_output_class): Likewise.
14031 (grub_cur_term_input): Change variable as macro.
14032 (grub_cur_term_output): Likewise.
14033 (grub_term_register_input): Removed.
14034 (grub_term_register_output): Likewise.
14035 (grub_term_unregister_input): Likewise.
14036 (grub_term_unregister_output): Likewise.
14037 (grub_term_set_current_input): Likewise.
14038 (grub_term_set_current_output): Likewise.
14039 (grub_term_iterate_input): Likewise.
14040 (grub_term_iterate_output): Likewise.
14041 (grub_term_get_current_input): Likewise.
14042 (grub_term_get_current_output): Likewise.
14043
14044 * util/grub-editenv.c: Include header file <grub/handler.h>.
14045 (grub_term_get_current_input): Removed.
14046 (grub_term_get_current_output): Likewise.
14047 (grub_term_input_class): New variable.
14048 (grub_term_output_class): Likewise.
14049
14050 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14051 (grub_term_get_current_output): Likewise.
14052 (grub_term_input_class): New variable.
14053 (grub_term_output_class): Likewise.
14054
14055 * util/grub-probe.c (grub_term_get_current_input): Removed.
14056 (grub_term_get_current_output): Likewise.
14057 (grub_term_input_class): New variable.
14058 (grub_term_output_class): Likewise.
14059
14060 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14061 (grub_term_get_current_output): Likewise.
14062 (grub_term_input_class): New variable.
14063 (grub_term_output_class): Likewise.
14064
14065 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14066 (terminal_mod_SOURCES): Likewise.
14067 (terminal_mod_CFLAGS): Likewise.
14068 (terminal_mod_LDFLAGS): Likewise.
14069
14070 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14071 handler.c.
14072 (kernel_img_SOURCES): Add list.c and handler.c.
14073 (kernel_img_HEADERS): Add list.h and handler.h.
14074
14075 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14076 handler.c.
14077 (kernel_mod_SOURCES): Add list.c and handler.c.
14078 (kernel_mod_HEADERS): Add list.h and handler.h.
14079
14080 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14081 handler.c.
14082 (kernel_elf_SOURCES): Add list.c and handler.c.
14083 (kernel_elf_HEADERS): Add list.h and handler.h.
14084
14085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14086 handler.c.
14087 (kernel_elf_SOURCES): Add list.c and handler.c.
14088 (kernel_elf_HEADERS): Add list.h and handler.h.
14089
14090 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14091 handler.c.
14092 (kernel_mod_SOURCES): Add list.c and handler.c.
14093 (kernel_mod_HEADERS): Add list.h and handler.h.
14094
14095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14096 handler.c.
14097 (kernel_elf_SOURCES): Add list.c and handler.c.
14098 (kernel_elf_HEADERS): Add list.h and handler.h.
14099
14100 2009-02-27 Robert Millan <rmh@aybabtu.com>
14101
14102 Factorize elf32 / elf64 code in Multiboot loader. This will
14103 prevent it from getting out of sync again.
14104
14105 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14106 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14107 grub_multiboot_load_elf64): Move from here ...
14108 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14109 grub_multiboot_load_elf): ... to here (new file).
14110
14111 2009-02-27 Robert Millan <rmh@aybabtu.com>
14112
14113 * util/grub.d/10_linux.in: Rename "single-user mode" to
14114 "recovery mode".
14115
14116 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Don't leak in SCSI code.
14119 * disk/scsi.c (grub_scsi_close): free `scsi'.
14120
14121 2009-02-27 Robert Millan <rmh@aybabtu.com>
14122
14123 * loader/i386/pc/multiboot.c: Move from here ...
14124 * loader/i386/multiboot.c: ... to here. Update all users.
14125
14126 2009-02-27 Robert Millan <rmh@aybabtu.com>
14127
14128 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14129 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14130
14131 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
14132
14133 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14134 b-tree.
14135
14136 2009-02-27 Robert Millan <rmh@aybabtu.com>
14137
14138 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14139 `0x' qualifier as 0 when base is specified as parameter).
14140
14141 2009-02-24 Bean <bean123ch@gmail.com>
14142
14143 * configure.ac: Check for -mcmodel=large in x86_64 target.
14144
14145 * include/grub/efi/api.h (efi_call_10): New macro.
14146 (efi_wrap_10): New function.
14147
14148 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14149 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14150 (GRUB_PE32_REL_BASED_LOW): Likewise.
14151 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14152 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14153 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14154 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14155 (GRUB_PE32_REL_BASED_REL): Likewise.
14156 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14157 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14158 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14159
14160 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14161 issue.
14162
14163 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14164 (efi_wrap_10): New function.
14165
14166 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14167
14168 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14169 MB/MBP model (NV chipset).
14170 (devdata_devs): Add devpath_5 to the list.
14171
14172 * load/i386/efi/linux.c (video_base): Remove variable.
14173 (RGB_MASK): New macro.
14174 (RGB_MAGIC): Likewise.
14175 (LINE_MIN): Likewise.
14176 (LINE_MAX): Likewise.
14177 (FBTEST_STEP): Likewise.
14178 (FBTEST_COUNT): Likewise.
14179 (fb_list): New variable.
14180 (grub_find_video_card): Remove function.
14181 (find_framebuf): New function.
14182 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14183 line length.
14184
14185 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14186 problem for x86_64.
14187
14188 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14189
14190 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14191
14192 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14193 coding tool name.
14194
14195 2009-02-22 Robert Millan <rmh@aybabtu.com>
14196
14197 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14198 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14199 in our relocation, instead of using it directly from heap. Also
14200 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14201
14202 2009-02-21 Robert Millan <rmh@aybabtu.com>
14203
14204 Implement USB keyboard support (based on patch by Marco Gerards)
14205
14206 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14207 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14208 (usb_keyboard_mod_LDFLAGS): New variables.
14209
14210 * term/usb_keyboard.c: New file.
14211
14212 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 Corrected wrong declaration
14215
14216 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14217
14218 2009-02-14 Christian Franke <franke@computer.org>
14219
14220 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14221 (grub_lspci_iter): Print class code and programming interface byte.
14222
14223 2009-02-14 Christian Franke <franke@computer.org>
14224
14225 * gendistlist.sh: Ignore `.svn' directories.
14226
14227 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
14228
14229 * fs/fat.c: Add 2009 to Copyright line.
14230
14231 2009-02-14 Christian Franke <franke@computer.org>
14232
14233 * commands/hdparm.c: New file. Provides `hdparm' command
14234 which sends ATA commands via grub_disk_ata_pass_through ().
14235
14236 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14237
14238 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14239 and <grub/cpu/io.h> to include/grub/ata.h.
14240 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14241 (GRUB_CDROM_SECTOR_SIZE): Remove.
14242 (GRUB_ATA_*): Move to include/grub/ata.h.
14243 (GRUB_ATAPI_*): Likewise.
14244 (enum grub_ata_commands): Likewise.
14245 (enum grub_ata_timeout_milliseconds): Likewise.
14246 (struct grub_ata_device): Likewise.
14247 (grub_ata_regset): Likewise.
14248 (grub_ata_regget): Likewise.
14249 (grub_ata_regset2): Likewise.
14250 (grub_ata_regget2): Likewise.
14251 (grub_ata_check_ready): Likewise.
14252 (grub_ata_wait_not_busy): Remove static, exported in
14253 include/grub/ata.h.
14254 (grub_ata_wait_drq): Likewise.
14255 (grub_ata_pio_read): Likewise.
14256
14257 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14258 function for hdparm.mod.
14259
14260 * include/grub/ata.h: New file, contains declarations from
14261 disk/ata.c.
14262 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14263
14264 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14265 (grub_disk_ata_pass_through): New exported variable.
14266
14267 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14268
14269 2009-02-13 Colin D Bennett <colin@gibibit.com>
14270
14271 Support multiple fallback entries, and provide an API to support
14272 executing default+fallback menu entries. Renamed the `terminal' menu
14273 viewer to `text'.
14274
14275 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14276 variable declaration.
14277 (grub_menu_execute_callback): New structure declaration.
14278 (grub_menu_execute_callback_t): New typedef.
14279 (grub_menu_execute_with_fallback): New function declaration.
14280 (grub_menu_get_entry): Likewise.
14281 (grub_menu_get_timeout): Likewise.
14282 (grub_menu_set_timeout): Likewise.
14283
14284 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14285
14286 * normal/menu.c (grub_wait_after_message): Moved to
14287 `normal/menu_text.c'.
14288 (draw_border): Likewise.
14289 (print_message): Likewise.
14290 (print_entry): Likewise.
14291 (print_entries): Likewise.
14292 (grub_menu_init_page): Likewise.
14293 (get_entry_number): Likewise.
14294 (print_timeout): Likewise.
14295 (run_menu): Likewise.
14296 (grub_menu_execute_entry): Likewise.
14297 (show_text_menu): Likewise.
14298 (get_and_remove_first_entry_number): New function.
14299 (grub_menu_execute_with_fallback): Likewise.
14300 (get_entry): Renamed to ...
14301 (grub_menu_get_entry): .. this and made it global.
14302 (get_timeout): Renamed to ...
14303 (grub_menu_get_timeout): ... this and made it global.
14304 (set_timeout): Renamed to ...
14305 (grub_menu_set_timeout): ... this and made it global.
14306 (grub_normal_terminal_menu_viewer): Renamed to ...
14307 (grub_normal_text_menu_viewer): ... this.
14308
14309 * normal/menu_text.c: New file. Extracted text-menu-specific code
14310 from normal/menu.c.
14311
14312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14313 (normal_mod_SOURCES): Likewise.
14314
14315 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14316 (normal_mod_SOURCES): Likewise.
14317
14318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14319 (normal_mod_SOURCES): Likewise.
14320
14321 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14322 (normal_mod_SOURCES): Likewise.
14323
14324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14325 (normal_mod_SOURCES): Likewise.
14326
14327 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14328 (normal_mod_SOURCES): Likewise.
14329
14330 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14331 (normal_mod_SOURCES): Likewise.
14332
14333 2009-02-11 Robert Millan <rmh@aybabtu.com>
14334
14335 * util/grub.d/00_header.in: Update old reference to `font' command.
14336
14337 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
14338
14339 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14340
14341 Based on patch from Javier Martín.
14342
14343 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14344
14345 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
14346 to avoid false positives with FAT.
14347 (grub_fstest_SOURCES): Likewise.
14348 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14349 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14351 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14352 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14353 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14354
14355 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14356
14357 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
14358 bpb.version_specific.fat12_or_fat16.fstype and
14359 bpb.version_specific.fat32.fstype.
14360
14361 2009-02-08 Robert Millan <rmh@aybabtu.com>
14362
14363 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
14364
14365 2009-02-08 Robert Millan <rmh@aybabtu.com>
14366
14367 * Makefile.in (host_os, host_cpu): New variables.
14368 (target_os): Remove. Update all users.
14369
14370 2009-02-08 Marco Gerards <marco@gnu.org>
14371
14372 * Makefile.in (enable_grub_emu_usb): New variable.
14373 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14374 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14375 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14376 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14377 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14378 `usbtest.mod' and `usbms.mod'.
14379 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14380 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14381 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14382 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14383 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14384 variables.
14385
14386 * disk/usbms.c: New file.
14387
14388 * include/grub/usb.h: Likewise.
14389
14390 * include/grub/usbtrans.h: Likewise.
14391
14392 * include/grub/usbdesc.h: Likewise.
14393
14394 * bus/usb/usbtrans.c: Likewise.
14395
14396 * bus/usb/ohci.c: Likewise.
14397
14398 * bus/usb/uhci.c: Likewise.
14399
14400 * bus/usb/usbhub.c: Likewise.
14401
14402 * bus/usb/usb.c: Likewise.
14403
14404 * commands/usbtest.c: Likewise.
14405
14406 * util/usb.c: Likewise.
14407
14408 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14409
14410 * configure.ac: Test for libusb presence.
14411
14412 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14413
14414 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14415
14416 * kern/mm.c: Add more comments.
14417
14418 2009-02-08 Robert Millan <rmh@aybabtu.com>
14419
14420 Patch from Javier Martín.
14421 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14422 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14423
14424 2009-02-08 Robert Millan <rmh@aybabtu.com>
14425
14426 * fs/cpio.c: Split tar functionality to ...
14427 * fs/tar.c: ... here (new file). Update all users.
14428
14429 2009-02-07 Robert Millan <rmh@aybabtu.com>
14430
14431 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14432 backward-incompatible features.
14433
14434 Based on patch from Javier Martín, with some adjustments.
14435
14436 2009-02-07 Michael Scherer <misc@mandriva.org>
14437
14438 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14439
14440 2009-02-07 Robert Millan <rmh@aybabtu.com>
14441
14442 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14443 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14444 after the RAID stuff.
14445
14446 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14447
14448 Fixes problem when running vbetest command as reported by
14449 Vladimir Serbinenko <phcoder@gmail.com>.
14450
14451 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14452
14453 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
14454
14455 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14456 /dev/md/NpN style mdraid devices.
14457
14458 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14459
14460 * util/unifont2pff.rb: Remove.
14461
14462 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14463
14464 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14465 `#'.
14466
14467 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14468
14469 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14470 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14471 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14472 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14475 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14476
14477 2009-02-02 Christian Franke <franke@computer.org>
14478
14479 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14480
14481 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
14482
14483 * INSTALL: Note that we now require at least autoconf 2.59 and
14484 that LZO is optional.
14485
14486 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14487
14488 Base on patch on bug #24154 created by Tomas Tintera
14489 <trosos@seznam.cz>.
14490
14491 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14492
14493 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14494
14495 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
14496 <bero@arklinux.org>.
14497
14498 * normal/parser.y (script_init): Add missing semicolon.
14499
14500 2009-01-31 Colin D Bennett <colin@gibibit.com>
14501
14502 * normal/main.c: Add include to grub/menu_viewer.h.
14503 (free_menu_entry_classes): Added.
14504 (grub_normal_menu_addentry): Added class property handling.
14505 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14506 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14507
14508 * normal/menu_viewer.c: New file.
14509
14510 * normal/menu.c (run_menu_entry): Renamed to ...
14511 (grub_menu_execute_entry): ... this and made it as global.
14512 (grub_menu_run): Renamed to ...
14513 (show_text_menu): ... this and made it local.
14514 (show_text_menu): Adapt to new function names.
14515 (grub_normal_terminal_menu_viewer): New global variable.
14516
14517 * include/grub/menu.h: New file.
14518
14519 * include/grub/menu_viewer.h: New file.
14520
14521 * include/grub/normal.h: Added include to grub/menu.h.
14522 (grub_menu_entry): Moved to include/grub/menu.h.
14523 (grub_menu_entry_t): Likewise.
14524 (grub_menu): Likewise.
14525 (grub_menu_t): Likewise.
14526 (grub_normal_terminal_menu_viewer): Added.
14527 (grub_menu_execute_entry): Likewise.
14528 (grub_menu_run): Removed.
14529
14530 * DISTLIST: Added include/grub/menu.h.
14531 Added include/grub/menu_viewer.h.
14532 Added normal/menu_viewer.c.
14533
14534 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14535
14536 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14537 arglist for menutitle arguments.
14538
14539 * normal/main.c (grub_normal_menu_addentry): Likewise.
14540
14541 * normal/parser.y (menuentry): Likewise.
14542
14543 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14544
14545 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14546 (grub_script_create_cmdmenu): Likewise.
14547
14548 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14549
14550 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14551 changes.
14552
14553 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14554
14555 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14556
14557 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14558
14559 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14560
14561 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14562
14563 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14564
14565 2009-01-30 Christian Franke <franke@computer.org>
14566
14567 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14568 in option help text.
14569
14570 2009-01-27 Pavel Roskin <proski@gnu.org>
14571
14572 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14573
14574 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14575
14576 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14577
14578 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14579
14580 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14581 unregister function.
14582
14583 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14584
14585 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14586
14587 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14588
14589 * util/grub-mkfont.c (usage): Fix typo.
14590
14591 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14592
14593 2009-01-26 Daniel Mierswa <impulze@impulze.org>
14594
14595 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14596
14597 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14598
14599 * kern/misc.c (grub_strcasecmp): New function.
14600 (grub_strcasecmp): Use grub_size_t instead of int for length.
14601 Fix return value.
14602 * include/grub/misc.h: Update function prototypes.
14603
14604 2009-01-26 Robert Millan <rmh@aybabtu.com>
14605
14606 * configure.ac: Fix cross-compilation check.
14607
14608 2009-01-22 Christian Franke <franke@computer.org>
14609
14610 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14611 (precision) digit string. Allow `.format2' without `format1' (width).
14612 Limit input chars for `%s' output to `format2' if specified. This is
14613 compatible with standard printf ().
14614
14615 2009-01-22 Christian Franke <franke@computer.org>
14616
14617 * disk/ata.c (grub_ata_wait_status): Replace by ...
14618 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14619 other status bits may be invalid while BSY is asserted.
14620 (grub_ata_check_ready): New function.
14621 (grub_ata_cmd): Removed.
14622 (grub_ata_wait_drq): New function.
14623 (grub_ata_strncpy): Remove inline.
14624 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14625 and error check now done by grub_ata_wait_drq ().
14626 (grub_ata_pio_write): Likewise.
14627 (grub_atapi_identify): Set DEV before check for !BSY. Use
14628 grub_ata_wait_drq () to wait for data.
14629 (grub_ata_device_initialize): Add status register check to
14630 detect missing SATA slave devices. Add debug messages.
14631 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14632 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14633 transfer loop by grub_ata_pio_write ().
14634 (grub_ata_identify): Set DEV before check for !BSY. Use
14635 grub_ata_wait_drq () to wait for data.
14636 (grub_ata_setaddress): Set DEV before check for !BSY.
14637 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14638 read/write in one loop. Fix invalid command on write. Fix incomplete
14639 command on (size % batch) == 0. Add missing error check after write of
14640 last block. Add debug messages.
14641 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14642
14643 2009-01-19 Christian Franke <franke@computer.org>
14644
14645 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14646 (GRUB_ATAPI_IREASON_*): Likewise.
14647 (grub_ata_pio_write): Fix timeout error return.
14648 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14649 (grub_atapi_wait_drq): New function.
14650 (grub_atapi_packet): New parameter `size'.
14651 Use grub_atapi_wait_drq () and direct write instead of
14652 grub_ata_pio_write ().
14653 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14654 reads the number of bytes requested by the device for each DRQ
14655 assertion.
14656 (grub_atapi_write): Remove old implementation, return not
14657 implemented instead.
14658
14659 2009-01-19 Christian Franke <franke@computer.org>
14660
14661 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14662 of 512 to calculate data size.
14663 (grub_scsi_read12): Likewise.
14664 (grub_scsi_write10): Likewise.
14665 (grub_scsi_write12): Likewise.
14666 (grub_scsi_read): Adjust size according to blocksize.
14667 Add checks for invalid blocksize and unaligned transfer.
14668
14669 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14670
14671 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14672
14673 * term/gfxterm.c (write_char): Fix background rendering for wide
14674 width glyphs.
14675
14676 2009-01-19 Robert Millan <rmh@aybabtu.com>
14677
14678 * config.guess: Update to latest version from config git.
14679 * config.sub: Likewise.
14680
14681 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
14682
14683 * Makefile.in: Change font compilation to use new grub-mkfont instead
14684 of java version.
14685
14686 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14687 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14688 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14689 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14690 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14691 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14692 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14693 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14694 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14695
14696 2009-01-16 Christian Franke <franke@computer.org>
14697
14698 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14699 (enum grub_ata_timeout_milliseconds): New enum.
14700 (grub_ata_wait_status): Add parameter milliseconds.
14701 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14702 recovery from timed-out commands.
14703 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14704 return grub_errno instead of REG_ERROR.
14705 (grub_ata_pio_write): Add parameter milliseconds.
14706 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14707 Pass milliseconds to grub_ata_wait_status () and
14708 grub_ata_pio_read ().
14709 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14710 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14711 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14712 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14713 It is not suitable for device detection, because DEV bit is ignored,
14714 the command may run too long, and not all devices set the signature
14715 properly.
14716 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14717 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14718 Fix device selection, DEV bit must be set first to address the registers
14719 of the correct device.
14720 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14721 grub_ata_pio_read/write ().
14722 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14723 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14724
14725 2009-01-13 Carles Pina i Estany <carles@pina.cat>
14726
14727 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14728
14729 2009-01-13 Bean <bean123ch@gmail.com>
14730
14731 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14732
14733 2009-01-13 Bean <bean123ch@gmail.com>
14734
14735 * Makefile.in: (enable_grub_mkfont): New variable.
14736 (freetype_cflags): Likewise.
14737 (freetype_libs): Likewise.
14738
14739 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14740 (grub_mkfont_SOURCES): New variable.
14741 (grub_mkfont_CFLAGS): Likewise.
14742 (grub_mkfont_LDFLAGS): Likewise.
14743
14744 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14745 library if `--enable-grub-mkfont' is requested.
14746 (enable_grub_mkfont): New variable.
14747 (freetype_cflags): Likewise.
14748 (freetype_libs): Likewise.
14749
14750 * util/grub-mkfont.c: New file.
14751
14752 2009-01-12 Christian Franke <franke@computer.org>
14753
14754 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14755 mode check. Fix setting of compat_use[].
14756
14757 2009-01-10 Robert Millan <rmh@aybabtu.com>
14758
14759 Update a few copyright years which we forgot to do in 2008 (only for
14760 files whose changes made in 2008 were copyright-significant)
14761
14762 * Makefile.in: Add 2008 to Copyright line.
14763 * disk/ieee1275/ofdisk.c: Likewise.
14764 * disk/efi/efidisk.c: Likewise.
14765 * kern/dl.c: Likewise.
14766 * kern/sparc64/ieee1275/init.c: Likewise.
14767 * kern/mm.c: Likewise.
14768 * kern/efi/mm.c: Likewise.
14769 * boot/i386/pc/boot.S: Likewise.
14770 * genfslist.sh: Likewise.
14771 * fs/iso9660.c: Likewise.
14772 * fs/hfs.c: Likewise.
14773 * fs/jfs.c: Likewise.
14774 * fs/minix.c: Likewise.
14775 * fs/ufs.c: Likewise.
14776 * gensymlist.sh.in: Likewise.
14777 * genkernsyms.sh.in: Likewise.
14778 * include/grub/misc.h: Likewise.
14779 * include/grub/types.h: Likewise.
14780 * include/grub/symbol.h: Likewise.
14781 * include/grub/elf.h: Likewise.
14782 * include/grub/kernel.h: Likewise.
14783 * include/grub/disk.h: Likewise.
14784 * include/grub/dl.h: Likewise.
14785 * include/grub/i386/linux.h: Likewise.
14786 * include/grub/i386/pc/biosdisk.h: Likewise.
14787 * include/grub/efi/api.h: Likewise.
14788 * include/grub/efi/pe32.h: Likewise.
14789 * include/grub/util/misc.h: Likewise.
14790 * normal/execute.c: Likewise.
14791 * normal/arg.c: Likewise.
14792 * normal/completion.c: Likewise.
14793 * normal/lexer.c: Likewise.
14794 * normal/parser.y: Likewise.
14795 * normal/misc.c: Likewise.
14796 * commands/i386/pc/vbeinfo.c: Likewise.
14797 * commands/hexdump.c: Likewise.
14798 * commands/terminal.c: Likewise.
14799 * commands/ls.c: Likewise.
14800 * commands/help.c: Likewise.
14801 * partmap/pc.c: Likewise.
14802 * loader/efi/chainloader.c: Likewise.
14803 * loader/multiboot_loader.c: Likewise.
14804 * loader/i386/pc/multiboot2.c: Likewise.
14805 * term/efi/console.c: Likewise.
14806 * term/i386/pc/serial.c: Likewise.
14807 * util/lvm.c: Likewise.
14808 * util/console.c: Likewise.
14809 * util/i386/efi/grub-mkimage.c: Likewise.
14810 * util/raid.c: Likewise.
14811
14812 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14813
14814 * commands/videotest.c: Removed include to grub/machine/memory.h.
14815
14816 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
14817 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
14818 (video_mod_SOURCES): Removed.
14819 (video_mod_CFLAGS): Likewise.
14820 (video_mod_LDFLAGS): Likewise.
14821 (gfxterm_mod_SOURCES): Likewise.
14822 (gfxterm_mod_CFLAGS): Likewise.
14823 (gfxterm_mod_LDFLAGS): Likewise.
14824 (videotest_mod_SOURCES): Likewise.
14825 (videotest_mod_CFLAGS): Likewise.
14826 (videotest_mod_LDFLAGS): Likewise.
14827 (bitmap_mod_SOURCES): Likewise.
14828 (bitmap_mod_CFLAGS): Likewise.
14829 (bitmap_mod_LDFLAGS): Likewise.
14830 (tga_mod_SOURCES): Likewise.
14831 (tga_mod_CFLAGS): Likewise.
14832 (tga_mod_LDFLAGS): Likewise.
14833 (jpeg_mod_SOURCES): Likewise.
14834 (jpeg_mod_CFLAGS): Likewise.
14835 (jpeg_mod_LDFLAGS): Likewise.
14836 (png_mod_SOURCES): Likewise.
14837 (png_mod_CFLAGS): Likewise.
14838 (png_mod_LDFLAGS): Likewise.
14839
14840 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
14841 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
14842 (video_mod_SOURCES): Added.
14843 (video_mod_CFLAGS): Likewise.
14844 (video_mod_LDFLAGS): Likewise.
14845 (videotest_mod_SOURCES): Likewise.
14846 (videotest_mod_CFLAGS): Likewise.
14847 (videotest_mod_LDFLAGS): Likewise.
14848 (bitmap_mod_SOURCES): Likewise.
14849 (bitmap_mod_CFLAGS): Likewise.
14850 (bitmap_mod_LDFLAGS): Likewise.
14851 (tga_mod_SOURCES): Likewise.
14852 (tga_mod_CFLAGS): Likewise.
14853 (tga_mod_LDFLAGS): Likewise.
14854 (jpeg_mod_SOURCES): Likewise.
14855 (jpeg_mod_CFLAGS): Likewise.
14856 (jpeg_mod_LDFLAGS): Likewise.
14857 (png_mod_SOURCES): Likewise.
14858 (png_mod_CFLAGS): Likewise.
14859 (png_mod_LDFLAGS): Likewise.
14860 (gfxterm_mod_SOURCES): Likewise.
14861 (gfxterm_mod_CFLAGS): Likewise.
14862 (gfxterm_mod_LDFLAGS): Likewise.
14863
14864 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14865 grub/machine/console.h.
14866
14867 2009-01-04 Jerone Young <jerone@gmail.com>
14868
14869 Make on screen instructions clearer
14870
14871 Based on patch created by Jidanni <jidanni@jidanni.org>
14872
14873 * normal/menu.c: print clearer instructions on the screen
14874
14875 2009-01-02 Colin D Bennett <colin@gibibit.com>
14876
14877 New font engine.
14878
14879 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14880 build system and fixed gfxterm.c to work with different sized fonts.
14881
14882 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
14883
14884 * configure: Re-generated.
14885
14886 * DISTLIST: Removed font/manager.c.
14887 Added font/font.c.
14888 Added font/font_cmd.c.
14889
14890 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14891 compilation.
14892
14893 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
14894
14895 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
14896
14897 * kern/term.c: Changed users of grub_utf8_to_ucs4.
14898
14899 * normal/menu.c: Likewise.
14900
14901 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14902 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
14903
14904 * include/grub/font.h: Replaced with new file.
14905
14906 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14907 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14908 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14909 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14910 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
14911 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
14912 fg_red, fg_green, fg_blue, fg_alpha.
14913 (grub_video_adapter): Removed blit_glyph.
14914 (grub_video_blit_glyph): Removed.
14915
14916 * font/manager.c: Removed file.
14917
14918 * font/font.c: New file.
14919
14920 * font/font_cmd.c: Likewise.
14921
14922 * video/video.c (grub_video_blit_glyph): Removed.
14923
14924 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14925 (grub_video_vbe_map_rgba): Likewise.
14926 (grub_video_vbe_unmap_color_int): Likewise.
14927 (grub_video_vbe_blit_glyph): Removed.
14928 (grub_video_vbe_adapter): Removed blit_glyph.
14929
14930 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14931 (get_pixel): Likewise.
14932 (set_pixel): Likewise.
14933
14934 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
14935
14936 * term/gfxterm.c: Adapted to new font engine.
14937
14938 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
14939
14940 * term/i386/pc/vga.c: Likewise.
14941
14942 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
14943
14944 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14945
14946 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14947
14948 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14949
14950 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14951
14952 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14953
14954 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14955
14956 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14957
14958 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14959
14960 * util/grub.d/00_header.in: Changed to use new loadfont command.
14961
14962 * util/grub-mkconfig_lib.in: Changed font extension.
14963
14964 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
14965
14966 * util/getroot.c (grub_util_get_grub_dev): Add support for
14967 /dev/md/dNNpNN style partitionable mdraid devices.
14968
14969 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
14970
14971 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14972 at a time limit of the PXE TFTP API correctly.
14973 (grub_pxefs_close): Likewise.
14974
14975 2008-11-29 Robert Millan <rmh@aybabtu.com>
14976
14977 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
14978 grub_ata_device_initialize() calls.
14979
14980 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
14981
14982 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14983 iteration failed.
14984 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14985
14986 2008-11-28 Robert Millan <rmh@aybabtu.com>
14987
14988 Fix build on powerpc-ieee1275. Based on patch created by
14989 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14990 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14991 `kern/ieee1275/mmap.c'.
14992 * include/grub/powerpc/ieee1275/memory.h: New file.
14993
14994 Provide grub-install on coreboot.
14995 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14996 (grub_install_SOURCES): New variable.
14997 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14998 usable on coreboot.
14999
15000 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
15001
15002 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15003 to `grub_term_input_t'.
15004 (grub_term_get_current_output): Change return type to
15005 `grub_term_output_t'.
15006
15007 2008-11-22 Robert Millan <rmh@aybabtu.com>
15008
15009 Fix breakage on coreboot due to declaration mismatch.
15010 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15011 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15012 grub_vga_text_cls().
15013
15014 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
15015 comments. Avoid copying one more byte than necessary (just in case).
15016
15017 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15018 to 0x200000 (avoids trouble with some OFW implementations, and matches
15019 with the one in Yaboot).
15020 Reported by Manoel Abranches
15021
15022 2008-11-20 Robert Millan <rmh@aybabtu.com>
15023
15024 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15025 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15026
15027 * util/grub-mkconfig_lib.in (grub_warn): New function.
15028 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15029 warnings, to obtain consistent formatting.
15030 * util/grub.d/00_header.in: Likewise.
15031 * util/update-grub_lib.in: Likewise.
15032
15033 * loader/i386/linux.c (allocate_pages): Fix a warning.
15034 Move comment text to `#error' stanza.
15035
15036 Harmonize ieee1275's grub_available_iterate() with the generic
15037 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15038 build problem on i386-ieee1275):
15039 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15040 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15041 parameter `type'. Update all users of this function.
15042 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15043 `kern/ieee1275/mmap.c'.
15044 * kern/ieee1275/init.c
15045 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15046 with ...
15047 (grub_machine_mmap_iterate): ... this.
15048 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15049 return type to `grub_err_t'. Update all implementations of this
15050 function prototype.
15051 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15052 Likewise.
15053
15054 Add `lsmmap' command (lists firmware-provided memory map):
15055 * commands/lsmmap.c: New file.
15056 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15057 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15058 variables.
15059 * conf/powerpc-ieee1275.rmk: Likewise.
15060 * conf/i386-coreboot.rmk: Likewise.
15061 * conf/i386-ieee1275.rmk: Likewise.
15062
15063 2008-11-19 Robert Millan <rmh@aybabtu.com>
15064
15065 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
15066 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15067 constraints to initrd allocation (based on code from
15068 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15069 for Linux to find it.
15070
15071 2008-11-14 Robert Millan <rmh@aybabtu.com>
15072
15073 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15074 order to cope with duplicate slashes.
15075
15076 2008-11-14 Robert Millan <rmh@aybabtu.com>
15077
15078 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15079 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15080 don't want to mess with lower memory, because it is used in the Linux
15081 loader.
15082
15083 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
15084 an appropriate place in lower memory, between 0x10000 and 0x90000,
15085 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15086 is in our heap (probably as a result of it being corrupted during
15087 decompression). Add #error instance with comment to explain why this
15088 loader isn't currently usable on PC/BIOS.
15089
15090 2008-11-14 Robert Millan <rmh@aybabtu.com>
15091
15092 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
15093 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
15094
15095 2008-11-12 Robert Millan <rmh@aybabtu.com>
15096
15097 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15098
15099 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15100 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15101 from here ...
15102 * include/grub/i386/pc/memory.h: ... to here.
15103
15104 2008-11-12 Robert Millan <rmh@aybabtu.com>
15105
15106 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15107 split).
15108
15109 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15110 (grub_console_cur_color, grub_console_real_putchar)
15111 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15112 (grub_console_setcolorstate, grub_console_setcolor)
15113 (grub_console_getcolor): Move from here ...
15114 * include/grub/i386/vga_common.h: ... to here (new file).
15115
15116 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15117 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15118 `<grub/i386/io.h>'.
15119 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15120 `<grub/i386/vga_common.h>'.
15121
15122 2008-11-12 Robert Millan <rmh@aybabtu.com>
15123
15124 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15125 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15126 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15127 variables.
15128 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15129 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15130
15131 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15132 grub_console_init() with call to grub_vga_text_init().
15133 (grub_machine_fini): Replace call to
15134 grub_console_fini() with call to grub_vga_text_fini() and
15135 grub_at_keyboard_fini().
15136
15137 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15138 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15139 (grub_console_setcolorstate, grub_console_setcolor)
15140 (grub_console_getcolor): New function prototypes.
15141
15142 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15143 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15144 (grub_vga_text_setcursor): Static-ize.
15145 (grub_vga_text_term): New structure.
15146 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15147
15148 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15149 (grub_console_cur_color, grub_console_standard_color)
15150 (grub_console_normal_color, grub_console_highlight_color)
15151 (map_char, grub_console_putchar, grub_console_getcharwidth)
15152 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15153 (grub_console_getcolor): Move from here ...
15154 * term/i386/vga_common.c: ... to here (same function names).
15155
15156 2008-11-12 Robert Millan <rmh@aybabtu.com>
15157
15158 Use newly-added Multiboot support in coreboot.
15159
15160 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15161 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15162
15163 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15164 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15165 (codestart): Store the MBI in `startup_multiboot_info' when we're
15166 being loaded using Multiboot.
15167
15168 * kern/i386/coreboot/init.c (grub_machine_init): Move
15169 grub_at_keyboard_init() call to beginning of function (useful for
15170 debugging). Call grub_machine_mmap_init() before attempting to use
15171 grub_machine_mmap_iterate().
15172 (grub_lower_mem, grub_upper_mem): Move from here ...
15173 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15174 here (new file).
15175
15176 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15177 function prototype.
15178
15179 2008-11-12 Robert Millan <rmh@aybabtu.com>
15180
15181 Fix a regression introduced by the at_keyboard.mod split. Because
15182 some terminals are default on some platforms and non-default on
15183 others, the first terminal being registered determines which is
15184 going to be default.
15185
15186 * kern/term.c (grub_term_register_input): If this is the first
15187 terminal being registered, set it as the current one.
15188 (grub_term_register_output): Likewise.
15189
15190 * term/efi/console.c (grub_console_init): Do not call
15191 grub_term_set_current_output() or grub_term_set_current_input().
15192 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15193 * term/i386/pc/console.c (grub_console_init): Likewise.
15194 (grub_console_fini): Do not call grub_term_set_current_input()
15195 (but leave grub_term_set_current_output() to restore text mode).
15196
15197 2008-11-10 Robert Millan <rmh@aybabtu.com>
15198
15199 * util/grub.d/00_header.in: Add backward compatibility check for
15200 versions of terminal.mod that don't understand `terminal_input' or
15201 `terminal_output'.
15202
15203 2008-11-09 Robert Millan <rmh@aybabtu.com>
15204
15205 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15206 `terminal_input' / `terminal_output', not `terminal'.
15207
15208 2008-11-08 Robert Millan <rmh@aybabtu.com>
15209
15210 * Makefile.in (include_DATA): Fix srcdir=. assumption.
15211 (DISTCLEANFILES): Add `build_env.mk'.
15212
15213 2008-11-08 Robert Millan <rmh@aybabtu.com>
15214
15215 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
15216 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15217 members. Update all users.
15218 * util/console.c (grub_ncurses_term): Split in ...
15219 (grub_ncurses_term_input): ... this, and ...
15220 (grub_ncurses_term_output): ... this. Update all users.
15221 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
15222
15223 2008-11-08 Robert Millan <rmh@aybabtu.com>
15224
15225 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15226 (PKGDATA): Add $(pkgdata_SRCDIR).
15227 (pkglib_BUILDDIR): New variable.
15228 (pkgdata_SRCDIR): New variable.
15229 (build_env.mk): New target.
15230 (include_DATA): New variable.
15231 (install-local): Install $(include_DATA) files in $(includedir).
15232
15233 2008-11-07 Pavel Roskin <proski@gnu.org>
15234
15235 * gendistlist.sh: Use C locale for sorting to ensure consistent
15236 output on all systems.
15237
15238 * util/grub.d/00_header.in: Remove incorrect space before
15239 "serial".
15240
15241 2008-11-07 Robert Millan <rmh@aybabtu.com>
15242
15243 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15244 per specification.
15245 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15246 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15247 (based on find_multi_boot1_header).
15248 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15249 using find_multi_boot2_header(), and abort if neither Multiboot or
15250 Multiboot headers were found.
15251
15252 2008-11-07 Robert Millan <rmh@aybabtu.com>
15253
15254 Modularize at_keyboard.mod:
15255
15256 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15257 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15258 (at_keyboard_mod_LDFLAGS): New variables.
15259
15260 Actual terminal split:
15261
15262 * include/grub/term.h (struct grub_term): Split in ...
15263 (struct grub_term_input): ... this, and ...
15264 (struct grub_term_output): ... this. Update all users.
15265 (grub_term_set_current): Split in ...
15266 (grub_term_set_current_input): ... this, and ...
15267 (grub_term_set_current_output): ... this.
15268 (grub_term_get_current): Split in ...
15269 (grub_term_get_current_input): ... this, and ...
15270 (grub_term_get_current_output): ... this.
15271 (grub_term_register): Split in ...
15272 (grub_term_register_input): ... this, and ...
15273 (grub_term_register_output): ... this.
15274 (grub_term_unregister): Split in ...
15275 (grub_term_unregister_input): ... this, and ...
15276 (grub_term_unregister_output): ... this.
15277 (grub_term_iterate): Split in ...
15278 (grub_term_iterate_input): ... this, and ...
15279 (grub_term_iterate_output): ... this.
15280
15281 * kern/term.c (grub_term_list): Split in ...
15282 (grub_term_list_input): ... this, and ...
15283 (grub_term_list_output): ... this. Update all users.
15284 (grub_cur_term): Split in ...
15285 (grub_cur_term_input): ... this, and ...
15286 (grub_cur_term_output): ... this. Update all users.
15287 (grub_term_set_current): Split in ...
15288 (grub_term_set_current_input): ... this, and ...
15289 (grub_term_set_current_output): ... this.
15290 (grub_term_get_current): Split in ...
15291 (grub_term_get_current_input): ... this, and ...
15292 (grub_term_get_current_output): ... this.
15293 (grub_term_register): Split in ...
15294 (grub_term_register_input): ... this, and ...
15295 (grub_term_register_output): ... this.
15296 (grub_term_unregister): Split in ...
15297 (grub_term_unregister_input): ... this, and ...
15298 (grub_term_unregister_output): ... this.
15299 (grub_term_iterate): Split in ...
15300 (grub_term_iterate_input): ... this, and ...
15301 (grub_term_iterate_output): ... this.
15302
15303 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15304 a check for input and one for output (and only attempt to get keys
15305 from user when input works).
15306
15307 * util/grub-probe.c (grub_term_get_current): Split in ...
15308 (grub_term_get_current_input): ... this, and ...
15309 (grub_term_get_current_output): ... this.
15310 * util/grub-fstest.c: Likewise.
15311 * util/i386/pc/grub-setup.c: Likewise.
15312 * util/grub-editenv.c: Likewise.
15313
15314 Portability adjustments:
15315
15316 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15317 `term/i386/pc/at_keyboard.c'.
15318 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15319 grub_keyboard_controller_init() (now handled by terminal .init).
15320 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15321 grub_at_keyboard_init().
15322 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15323 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15324 at_keyboard.mod via input terminal interface).
15325 * include/grub/i386/coreboot/console.h: Convert into a stub for
15326 `<grub/i386/pc/console.h>'.
15327
15328 Migrate full terminals to new API:
15329
15330 * term/efi/console.c (grub_console_term): Split into ...
15331 (grub_console_term_input): ... this, and ...
15332 (grub_console_term_output): ... this. Update all users.
15333 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15334 (grub_ofconsole_init): Split into ...
15335 (grub_ofconsole_init_input): ... this, and ...
15336 (grub_ofconsole_init_output): ... this.
15337 (grub_ofconsole_term): Split into ...
15338 (grub_ofconsole_term_input): ... this, and ...
15339 (grub_ofconsole_term_output): ... this. Update all users.
15340 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15341 (grub_serial_term_input): ... this, and ...
15342 (grub_serial_term_output): ... this. Update all users.
15343 * term/i386/pc/console.c (grub_console_term): Split into ...
15344 (grub_console_term_input): ... this, and ...
15345 (grub_console_term_output): ... this. Update all users.
15346 (grub_console_term_input): Only enable it on PC/BIOS platform.
15347 (grub_console_init): Remove grub_keyboard_controller_init() call.
15348
15349 Migrate input terminals to new API:
15350
15351 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15352 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15353 i386-specific anyway).
15354 (grub_console_checkkey): Rename to ...
15355 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15356 users.
15357 (grub_keyboard_controller_orig): New variable.
15358 (grub_console_getkey): Rename to ...
15359 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15360 users.
15361 (grub_keyboard_controller_init): Static-ize. Save original
15362 controller value so that it can be restored ...
15363 (grub_keyboard_controller_fini): ... here (new function).
15364 (grub_at_keyboard_term): New structure.
15365 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15366 functions.
15367
15368 Migrate output terminals to new API:
15369
15370 * term/i386/pc/vga.c (grub_vga_term): Change type to
15371 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15372 members. Update all users.
15373 * term/gfxterm.c (grub_video_term): Change type to
15374 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15375 members. Update all users.
15376 * include/grub/i386/pc/console.h (grub_console_checkkey)
15377 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15378 etc).
15379
15380 Migrate `terminal' command and userland tools to new API:
15381
15382 * commands/terminal.c (grub_cmd_terminal): Split into ...
15383 (grub_cmd_terminal_input): ... this, and ...
15384 (grub_cmd_terminal_output): ... this.
15385 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15386 `terminal_input' and `terminal_output'.
15387 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15388 `terminal_input' / `terminal_output' API.
15389 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15390 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15391 provided ${GRUB_TERMINAL}, convert it).
15392
15393 2008-11-04 Robert Millan <rmh@aybabtu.com>
15394
15395 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15396 for FreeBSD.
15397 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15398
15399 2008-11-03 Bean <bean123ch@gmail.com>
15400
15401 * kern/elf.c (grub_elf32_load): Revert to previous code.
15402 (grub_elf64_load): Likewise.
15403
15404 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15405
15406 2008-11-01 Robert Millan <rmh@aybabtu.com>
15407
15408 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15409 (TARGET_CPPFLAGS): Likewise.
15410 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15411
15412 2008-11-01 Carles Pina i Estany <carles@pina.cat>
15413
15414 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15415
15416 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15417
15418 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15419 addition of objects until the code is not going to be able to fail.
15420
15421 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15422
15423 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15424 (add a missing NULL check, and correct them by moving the pointer
15425 operations after the actual check).
15426
15427 2008-10-29 Robert Millan <rmh@aybabtu.com>
15428
15429 * util/i386/pc/grub-install.in: Handle empty string as output from
15430 make_system_path_relative_to_its_root().
15431
15432 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15433
15434 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15435 circular metadata worst case scenario. If the metadata is circular
15436 then copy the wrap in place.
15437 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15438 project lib/format_text/layout.h
15439 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15440
15441 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15442
15443 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
15444
15445 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15446
15447 * util/update-grub_lib.in: Mention filename in warning message.
15448
15449 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15450
15451 * NEWS: Update for rename of update-grub to grub-mkconfig.
15452
15453 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15454
15455 * util/update-grub_lib.in: Copy to ...
15456 * util/grub-mkconfig_lib.in: ... this. Update all users.
15457 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
15458 * util/update-grub.in: Rename to ...
15459 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15460 option. Add `--output' option to allow users to specify the generated
15461 configuration file. Default to stdout.
15462 (update_grub_dir): Rename to ...
15463 (grub_mkconfig_dir): ... this.
15464 (grub_cfg): Default to an empty string.
15465 * conf/common.rmk (update-grub): Rename to ...
15466 (grub-mkconfig): ... this.
15467 (update-grub_lib): Copy to ...
15468 (grub-mkconfig_lib): ... this.
15469 (update-grub_SCRIPTS): Copy to ...
15470 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15471 (update-grub_DATA): Rename to ...
15472 (grub-mkconfig_DATA): ... this.
15473
15474 2008-09-28 Robert Millan <rmh@aybabtu.com>
15475
15476 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15477 to `modified'. Add the real `created' field.
15478 (grub_iso9660_uuid): Use `modified' rather than `created' for
15479 constructing the UUID.
15480
15481 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
15482
15483 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15484 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15485
15486 2008-09-28 Bean <bean123ch@gmail.com>
15487
15488 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15489 Thanks to Christian Franke for finding this bug.
15490
15491 2008-09-25 Robert Millan <rmh@aybabtu.com>
15492
15493 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15494 instances of grub_util_get_disk_name() (see previous commit).
15495
15496 2008-09-25 Robert Millan <rmh@aybabtu.com>
15497
15498 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15499 `util/i386/get_disk_name.c'.
15500 * conf/i386-efi.rmk: Likewise.
15501 * conf/x86_64-efi.rmk: Likewise.
15502 * conf/i386-coreboot.rmk: Likewise.
15503 * conf/i386-ieee1275.rmk: Likewise.
15504 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15505 `util/ieee1275/get_disk_name.c'.
15506 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15507 * util/ieee1275/get_disk_name.c: Remove file.
15508 * util/i386/get_disk_name.c: Remove file.
15509 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15510 "hd%d" for device.map entries, rather than using
15511 grub_util_get_disk_name().
15512
15513 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15514
15515 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15516 warning.
15517 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15518
15519 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15520
15521 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15522 Changed to 0x5100.
15523 (GRUB_TERM_PPAGE): Changed to 0x4900.
15524
15525 2008-09-24 Robert Millan <rmh@aybabtu.com>
15526
15527 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15528 macros (they were i386-pc specific).
15529 * include/grub/sparc64/ieee1275/console.h: Likewise.
15530 * include/grub/efi/console.h: Likewise.
15531
15532 2008-09-22 Bean <bean123ch@gmail.com>
15533
15534 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15535 resident and in attribute list.
15536
15537 * include/grub/ntfs.h (BMP_LEN): Removed.
15538
15539 2008-09-22 Bean <bean123ch@gmail.com>
15540
15541 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
15542 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15543
15544 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15545 error occurs, as grub_disk_open will call grub_disk_close, which will
15546 call p->close (scsi).
15547
15548 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15549
15550 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15551 (AC_PREREQ): Bumped to 2.59.
15552 (AC_TRY_COMPILE): Replace obsolete macro with ...
15553 (AC_COMPILE_IFELSE): ... this.
15554 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15555 (AC_LINK_IFELSE): ... this.
15556
15557 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15558
15559 * autogen.sh: Add a call to `gendistlist.sh'.
15560
15561 2008-09-19 Christian Franke <franke@computer.org>
15562
15563 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15564 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15565 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15566 Export __enable_execute_stack() to modules.
15567 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15568 New function.
15569
15570 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15571
15572 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15573 Sort the list.
15574
15575 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15576
15577 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
15578 #include <grub/util/hostdisk.h>.
15579
15580 2008-09-08 Robert Millan <rmh@aybabtu.com>
15581
15582 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15583 segments when their filesz is zero (grub_file_read() interprets
15584 zero-size as "read until EOF", which results in memory corruption).
15585 Use `lowest_segment' rather than 0 for calculating the current
15586 segment load address.
15587
15588 2008-09-08 Robert Millan <rmh@aybabtu.com>
15589
15590 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15591 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15592 clobbered useful information.
15593
15594 2008-09-08 Robert Millan <rmh@aybabtu.com>
15595
15596 * include/grub/util/biosdisk.h: Move to ...
15597 * include/grub/util/hostdisk.h: ... here. Update all users.
15598 * util/biosdisk.c: Move to ...
15599 * util/hostdisk.c: ... here. Update all users.
15600
15601 2008-09-07 Robert Millan <rmh@aybabtu.com>
15602
15603 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15604 variables.
15605 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15606 and length can be stored directly in the `mbi->mmap_addr' and
15607 `mbi->mmap_length' struct fields.
15608
15609 2008-09-07 Robert Millan <rmh@aybabtu.com>
15610
15611 * conf/i386.rmk: New file. Provides declaration for building
15612 `cpuid.mod'.
15613 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15614 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15615 variables.
15616 Include `conf/i386.mk'.
15617 * conf/i386-efi.rmk: Likewise.
15618 * conf/x86_64-efi.rmk: Likewise.
15619 * conf/i386-coreboot.rmk: Likewise.
15620 * conf/i386-ieee1275.rmk: Likewise.
15621
15622 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15623
15624 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15625 Adds optimization support for BGR based modes.
15626
15627 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15628 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15629 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15630 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15631 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15632 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15633 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15634 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15635 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15636 (grub_video_i386_vbeblit_index_index): Likewise.
15637 (grub_video_i386_vbeblit_replace_directN): Added.
15638 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15639 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15640 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15641 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15642 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15643 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15644 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15645 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15646 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15647 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15648 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15649 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15650 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15651
15652 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15653 (grub_video_i386_vbefill_R8G8B8): Likewise.
15654 (grub_video_i386_vbefill_index): Likewise.
15655 (grub_video_i386_vbefill_direct32): Added.
15656 (grub_video_i386_vbefill_direct24): Likewise.
15657 (grub_video_i386_vbefill_direct16): Likewise.
15658 (grub_video_i386_vbefill_direct8): Likewise.
15659
15660 * include/grub/video.h (grub_video_blit_format): Removed
15661 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15662 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15663 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15664 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15665 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
15666
15667 * video/video.c (grub_video_get_blit_format): Updated to use new
15668 blit formats. Added handling for 16 bit color modes.
15669
15670 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
15671 fillers.
15672 (common_blitter): Updated to use new blitters.
15673
15674 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15675 Removed.
15676 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15677 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15678 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15679 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15680 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15681 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15682 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15683 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15684 (grub_video_i386_vbeblit_index_index): Likewise.
15685 (grub_video_i386_vbeblit_replace_directN): Added.
15686 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15687 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15688 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15689 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15690 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15691 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15692 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15693 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15694 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15695 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15696 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15697 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15698 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15699
15700 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15701 (grub_video_i386_vbefill_R8G8B8): Likewise.
15702 (grub_video_i386_vbefill_index): Likewise.
15703 (grub_video_i386_vbefill_direct32): Added.
15704 (grub_video_i386_vbefill_direct24): Likewise.
15705 (grub_video_i386_vbefill_direct16): Likewise.
15706 (grub_video_i386_vbefill_direct8): Likewise.
15707
15708 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15709 types.
15710
15711 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15712 types.
15713
15714 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15715 blitter types.
15716
15717 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15718 types.
15719
15720 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
15721
15722 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15723 RAID level 1.
15724
15725 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
15726
15727 * fs/iso9660.c (grub_iso9660_date): New structure.
15728 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15729 (grub_iso9660_uuid): New function.
15730
15731 2008-09-05 Bean <bean123ch@gmail.com>
15732
15733 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15734
15735 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15736 insensitive bit for names in Win32 and Win32 & DOS namespace.
15737
15738 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15739
15740 * include/grub/types.h (LONG_MAX): Likewise.
15741
15742 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
15743
15744 * util/getroot.c: Include <config.h>.
15745 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15746 add support for /dev/md/N devices and handle LVM double dash escaping.
15747
15748 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
15749
15750 * config.guess: Update to latest version from config git.
15751 * config.sub: Likewise.
15752
15753 2008-09-03 Robert Millan <rmh@aybabtu.com>
15754
15755 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15756 `disk->total_sectors'.
15757
15758 2008-09-01 Colin D Bennett <colin@gibibit.com>
15759
15760 * include/grub/normal.h: Fixed incorrect comment for
15761 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15762
15763 2008-09-01 Colin D Bennett <colin@gibibit.com>
15764
15765 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15766 values with defines.
15767
15768 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15769 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15770 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15771 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15772 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15773 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15774 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15775 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15776 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15777 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15778 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15779 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15780 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15781 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15782 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15783 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15784 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15785 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15786 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15787
15788 2008-08-31 Robert Millan <rmh@aybabtu.com>
15789
15790 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15791 declaration.
15792 (grub_multiboot): Fix a few warnings.
15793
15794 2008-08-31 Robert Millan <rmh@aybabtu.com>
15795
15796 * loader/i386/pc/multiboot.c: Update comment not to say that
15797 boot_device support is unimplemented.
15798
15799 2008-08-31 Robert Millan <rmh@aybabtu.com>
15800
15801 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15802 or memory map support are unimplemented.
15803
15804 2008-08-31 Colin D Bennett <colin@gibibit.com>
15805
15806 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15807
15808 2008-08-31 Colin D Bennett <colin@gibibit.com>
15809
15810 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15811 total video memory in 'vbeinfo' output; show color format details for
15812 each video mode.
15813
15814 2008-08-30 Pavel Roskin <proski@gnu.org>
15815
15816 * util/genmoddep.c: Remove for real this time.
15817 * DISTLIST: Remove util/genmoddep.c.
15818
15819 2008-08-30 Robert Millan <rmh@aybabtu.com>
15820
15821 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
15822 as required by Multiboot spec (it was already 4-byte aligned, but
15823 only by chance).
15824
15825 2008-08-29 Pavel Roskin <proski@gnu.org>
15826
15827 * kern/powerpc/ieee1275/crt0.S: Rename to ...
15828 * kern/powerpc/ieee1275/startup.S: ... this.
15829 * conf/powerpc-ieee1275.rmk: Adjust for the above.
15830 * DISTLIST: Likewise.
15831
15832 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
15833 grub/cpu/kernel.h. Add start label for consistency with other
15834 platforms. Add grub_prefix immediately after start. Add jump
15835 to the code after grub_prefix.
15836 * include/grub/powerpc/kernel.h: Provide valid values for
15837 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
15838
15839 2008-08-29 Bean <bean123ch@gmail.com>
15840
15841 * configure.ac: Change host_os to cygwin for mingw.
15842 (asprintf): New check for function.
15843
15844 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15845 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15846
15847 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
15848 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
15849 sync, sleep and grub_util_get_disk_size for mingw.
15850
15851 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15852 to get size in mingw.
15853 (open_device): Use flag O_BINARY if it's defined.
15854 (find_root_device): Add dummy code for mingw.
15855
15856 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15857 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15858 (get_scsi_disk_name): Return 0 for mingw.
15859
15860 * util/hostfs.c: #include <grub/util/misc.h>.
15861 (grub_hostfs_open): Use "rb" flag to open file, use
15862 grub_util_get_disk_size to get disk size for mingw.
15863
15864 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15865 (asprintf): New function if HAVE_ASPRINTF is not set.
15866 (sync): New function for mingw.
15867 (sleep): Likewise.
15868 (grub_util_get_disk_size): Likewise.
15869
15870 2008-08-28 Pavel Roskin <proski@gnu.org>
15871
15872 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15873 kern/time.c.
15874
15875 2008-08-28 Robert Millan <rmh@aybabtu.com>
15876
15877 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15878
15879 2008-08-28 Robert Millan <rmh@aybabtu.com>
15880
15881 Change find_grub_drive() syntax so it doesn't prevent it from
15882 detecting NULL names as errors.
15883
15884 * util/biosdisk.c (find_grub_drive): Move free slot search code
15885 from here ...
15886 (find_free_slot): ... to here.
15887 (read_device_map): Use find_free_slot() to search for free slots.
15888
15889 2008-08-27 Marco Gerards <marco@gnu.org>
15890
15891 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15892 (scsi_mod_SOURCES): New variable.
15893 (scsi_mod_CFLAGS): Likewise
15894 (scsi_mod_LDFLAGS): Likewise.
15895
15896 * disk/scsi.c: New file.
15897
15898 * include/grub/scsi.h: Likewise.
15899
15900 * include/grub/scsicmd.h: Likewise.
15901
15902 * disk/ata.c: Include <grub/scsi.h>.
15903 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15904 instead.
15905 (grub_ata_iterate): Skip ATAPI devices.
15906 (grub_ata_open): Only handle ATAPI devices.
15907 (struct grub_atapi_read): Removed.
15908 (grub_atapi_readsector): Likewise.
15909 (grub_ata_read): No longer handle ATAPI devices.
15910 (grub_ata_write): Likewise.
15911 (grub_atapi_iterate): New function.
15912 (grub_atapi_read): Likewise.
15913 (grub_atapi_write): Likewise.
15914 (grub_atapi_open): Likewise.
15915 (grub_atapi_close): Likewise.
15916 (grub_atapi_dev): New variable.
15917 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15918 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15919
15920 * include/grub/disk.h (enum grub_disk_dev_id): Add
15921 `GRUB_DISK_DEVICE_SCSI_ID'.
15922
15923 2008-08-26 Robert Millan <rmh@aybabtu.com>
15924
15925 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15926 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15927 descriptive.
15928
15929 2008-08-23 Bean <bean123ch@gmail.com>
15930
15931 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15932 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15933 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15934 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15935 dm_nv.mod.
15936 (raid5rec_mod_SOURCES): New macro.
15937 (raid5rec_mod_CFLAGS): Likewise.
15938 (raid5rec_mod_LDFLAGS): Likewise.
15939 (raid6rec_mod_SOURCES): Likewise.
15940 (raid6rec_mod_CFLAGS): Likewise.
15941 (raid6rec_mod_LDFLAGS): Likewise.
15942 (mdraid_mod_SOURCES): Likewise.
15943 (mdraid_mod_CFLAGS): Likewise.
15944 (mdraid_mod_LDFLAGS): Likewise.
15945 (dm_nv_mod_SOURCES): Likewise.
15946 (dm_nv_mod_CFLAGS): Likewise.
15947 (dm_nv_mod_LDFLAGS): Likewise.
15948
15949 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15950 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15951 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15952
15953 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15954 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15955
15956 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15957
15958 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15959
15960 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15961
15962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15963
15964 * disk/raid5_recover.c: New file.
15965
15966 * disk/raid6_recover.c: Likewise.
15967
15968 * disk/mdraid_linux.c: Likewise.
15969
15970 * disk/dmraid_nvidia.c: Likewise.
15971
15972 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15973 ULONG_MAX.
15974
15975 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15976 calculate the size of raid device.
15977 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15978 different layout of raid5.
15979 (grub_raid_scan_device): Remove code specific to mdraid.
15980 (grub_raid_list): New variable.
15981 (free_array): New function.
15982 (grub_raid_register): Likewise.
15983 (grub_raid_unregister): Likewise.
15984 (grub_raid_rescan): Likewise.
15985 (GRUB_MOD_INIT): Don't iterate device here.
15986 (GRUB_MOD_FINI): Use free_array to release resource.
15987
15988 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15989 (grub_raid5_recover_func_t): New function variable type.
15990 (grub_raid6_recover_func_t): Likewise.
15991 (grub_raid5_recover_func): New variable.
15992 (grub_raid6_recover_func): Likewise.
15993 (grub_raid_register): New function.
15994 (grub_raid_unregister): Likewise.
15995 (grub_raid_rescan): Likewise.
15996 (grub_raid_block_xor): Likewise.
15997
15998 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15999 (CMD_CRC): New macro.
16000 (part): Removed.
16001 (read_file): Handle device as well as file.
16002 (cmd_crc): New function.
16003 (fstest): Handle multiple disks.
16004 (options): Remove part, raw and long, add root and diskcount.
16005 (usage): Add crc, remove -p, -r, -l, add -r and -c.
16006 (main): Find the first non option entry and ignore subsequent options,
16007 add handling for the new options, support multiple disks.
16008
16009 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16010
16011 2008-08-23 Bean <bean123ch@gmail.com>
16012
16013 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16014
16015 * genfslist.sh: Ignore kernel.mod.
16016
16017 * genpartmaplist.sh: Likewise.
16018
16019 2008-08-23 Robert Millan <rmh@aybabtu.com>
16020
16021 * util/getroot.c (find_root_device): Skip anything that starts with
16022 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16023
16024 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
16025
16026 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16027 * util/grub.d/00_header.in: Allow the administrator to change default
16028 gfxmode via ${GRUB_GFXMODE}.
16029
16030 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
16031
16032 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16033
16034 2008-08-21 Robert Millan <rmh@aybabtu.com>
16035
16036 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16037 loader.
16038 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16039 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16040
16041 2008-08-20 Carles Pina i Estany <carles@pina.cat>
16042
16043 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16044 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16045
16046 2008-08-19 Robert Millan <rmh@aybabtu.com>
16047
16048 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16049 (struct grub_virtual_screen): Remove `cursor_color'.
16050 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16051 initialization.
16052 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16053
16054 2008-08-18 Robert Millan <rmh@aybabtu.com>
16055
16056 Unify (identical) linux_normal.c files.
16057 * loader/i386/efi/linux_normal.c: Move from here ...
16058 * loader/linux_normal.c: ... to here. Update all users.
16059 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16060 * loader/i386/ieee1275/linux_normal.c: Likewise.
16061
16062 2008-08-18 Robert Millan <rmh@aybabtu.com>
16063
16064 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16065 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16066 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16067 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16068 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16069 New macros.
16070 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16071 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16072 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16073 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16074 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16075 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16076 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16077 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16078 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16079 portably using grub_getxy().
16080 Replace `-EFI' with `-bzImage' in boot message.
16081
16082 2008-08-17 Robert Millan <rmh@aybabtu.com>
16083
16084 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16085
16086 2008-08-17 Robert Millan <rmh@aybabtu.com>
16087
16088 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16089
16090 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16091 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16092 (grub_machine_mmap_iterate): New function declaration.
16093 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16094 structure.
16095 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16096 macros.
16097
16098 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16099 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16100 Move e820 parsing from here ...
16101 * kern/i386/pc/mmap.c: New file.
16102 (grub_machine_mmap_iterate): ... to here.
16103
16104 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16105 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16106 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16107 (grub_available_iterate): Redeclare to return `void', and redeclare
16108 its hook to use grub_uint64_t as addr and size parameters, and rename
16109 to ...
16110 (grub_machine_mmap_iterate): ... this. Update all users.
16111
16112 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16113 to make it more readable. Rename to ...
16114 (grub_machine_mmap_iterate): ... this.
16115
16116 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16117 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16118 (grub_multiboot): Allocate an extra region after the payload, and fill
16119 it with a Multiboot memory map. Adjust a.out loader to calculate size
16120 with the extra space.
16121 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16122 with the extra space.
16123
16124 2008-08-17 Carles Pina i Estany <carles@pina.cat>
16125
16126 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
16127
16128 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
16129
16130 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16131 mdate-sh to the list `find' searches for.
16132 * DISTLIST: Regenerated.
16133
16134 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
16135
16136 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16137 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
16138 genmoddep.awk, gensymlist.sh.in.
16139 (DISTDIRS): Add bus, docs, hook, lib.
16140 * DISTLIST: Regenerated.
16141 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
16142
16143 2008-08-16 Robert Millan <rmh@aybabtu.com>
16144
16145 * disk/raid.c (grub_raid_init): Handle/report errors set by
16146 grub_device_iterate().
16147 * disk/lvm.c (grub_lvm_init): Likewise.
16148
16149 2008-08-15 Bean <bean123ch@gmail.com>
16150
16151 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16152 and datehook.mod.
16153 (datetime_mod_SOURCES): New macro.
16154 (datetime_mod_CFLAGS): Likewise.
16155 (datetime_mod_LDFLAGS): Likewise.
16156 (date_mod_SOURCES): Likewise.
16157 (date_mod_CFLAGS): Likewise.
16158 (date_mod_LDFLAGS): Likewise.
16159 (datehook_mod_SOURCES): Likewise.
16160 (datehook_mod_CFLAGS): Likewise.
16161 (datehook_mod_LDFLAGS): Likewise.
16162
16163 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16164 and datehook.mod.
16165 (datetime_mod_SOURCES): New macro.
16166 (datetime_mod_CFLAGS): Likewise.
16167 (datetime_mod_LDFLAGS): Likewise.
16168 (date_mod_SOURCES): Likewise.
16169 (date_mod_CFLAGS): Likewise.
16170 (date_mod_LDFLAGS): Likewise.
16171 (datehook_mod_SOURCES): Likewise.
16172 (datehook_mod_CFLAGS): Likewise.
16173 (datehook_mod_LDFLAGS): Likewise.
16174
16175 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16176 and datehook.mod.
16177 (datetime_mod_SOURCES): New macro.
16178 (datetime_mod_CFLAGS): Likewise.
16179 (datetime_mod_LDFLAGS): Likewise.
16180 (date_mod_SOURCES): Likewise.
16181 (date_mod_CFLAGS): Likewise.
16182 (date_mod_LDFLAGS): Likewise.
16183 (datehook_mod_SOURCES): Likewise.
16184 (datehook_mod_CFLAGS): Likewise.
16185 (datehook_mod_LDFLAGS): Likewise.
16186
16187 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16188 and datehook.mod.
16189 (datetime_mod_SOURCES): New macro.
16190 (datetime_mod_CFLAGS): Likewise.
16191 (datetime_mod_LDFLAGS): Likewise.
16192 (date_mod_SOURCES): Likewise.
16193 (date_mod_CFLAGS): Likewise.
16194 (date_mod_LDFLAGS): Likewise.
16195 (datehook_mod_SOURCES): Likewise.
16196 (datehook_mod_CFLAGS): Likewise.
16197 (datehook_mod_LDFLAGS): Likewise.
16198
16199 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16200 and datehook.mod.
16201 (datetime_mod_SOURCES): New macro.
16202 (datetime_mod_CFLAGS): Likewise.
16203 (datetime_mod_LDFLAGS): Likewise.
16204 (date_mod_SOURCES): Likewise.
16205 (date_mod_CFLAGS): Likewise.
16206 (date_mod_LDFLAGS): Likewise.
16207 (datehook_mod_SOURCES): Likewise.
16208 (datehook_mod_CFLAGS): Likewise.
16209 (datehook_mod_LDFLAGS): Likewise.
16210
16211 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16212
16213 * commands/date.c: New file.
16214
16215 * hook/datehook.c: Likewise.
16216
16217 * include/grub/lib/datetime.h: Likewise.
16218
16219 * include/grub/i386/cmos.h: Likewise.
16220
16221 * lib/datetime.c: Likewise.
16222
16223 * lib/i386/datetime.c: Likewise.
16224
16225 * lib/efi/datetime.c: Likewise.
16226
16227 2008-08-14 Robert Millan <rmh@aybabtu.com>
16228
16229 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16230 (grub_mkelfimage_SOURCES): New variable.
16231 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16232
16233 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16234 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16235 * conf/powerpc-ieee1275.rmk: Likewise.
16236 * conf/i386-ieee1275.rmk: Likewise.
16237
16238 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16239 * kern/i386/coreboot/init.c: Likewise.
16240
16241 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16242 with `<grub/cpu/kernel.h>'.
16243 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16244 to ...
16245 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16246 * kern/i386/coreboot/startup.S: Likewise.
16247
16248 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16249 (GRUB_MOD_GAP): Remove.
16250 * include/grub/powerpc/kernel.h: New file.
16251 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16252 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16253 * include/grub/i386/kernel.h: New file.
16254 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16255 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16256 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16257
16258 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16259 `grub-mkelfimage'.
16260 Use --directory when invoking grub_mkimage.
16261
16262 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16263 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16264 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16265 and GRUB_KERNEL_CPU_PREFIX.
16266
16267 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
16268
16269 * include/grub/err.h (grub_err_printf): New function prototype.
16270 * util/misc.c (grub_err_printf): New function.
16271 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16272 grub_printf.
16273 * kern/err.c (grub_print_error): Use grub_err_printf.
16274
16275 2008-08-13 Robert Millan <rmh@aybabtu.com>
16276
16277 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16278
16279 2008-08-13 Robert Millan <rmh@aybabtu.com>
16280
16281 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16282 boot entry.
16283
16284 2008-08-12 Robert Millan <rmh@aybabtu.com>
16285
16286 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16287 of the relocation code from here ...
16288 (grub_multiboot): ... to here.
16289 (forward_relocator, backward_relocator): Move from here ...
16290 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16291 (grub_multiboot_backward_relocator): ... to here.
16292 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16293 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16294 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16295 (grub_multiboot_forward_relocator_end)
16296 (grub_multiboot_backward_relocator)
16297 (grub_multiboot_backward_relocator_end): New variables.
16298
16299 2008-08-12 Bean <bean123ch@gmail.com>
16300
16301 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16302
16303 2008-08-11 Robert Millan <rmh@aybabtu.com>
16304
16305 * kern/i386/linuxbios/startup.S: Move from here ...
16306 * kern/i386/coreboot/startup.S: ... to here.
16307
16308 * kern/i386/linuxbios/init.c: Move from here ...
16309 * kern/i386/coreboot/init.c: ... to here.
16310
16311 * kern/i386/linuxbios/table.c: Move from here ...
16312 * kern/i386/coreboot/mmap.c: ... to here.
16313
16314 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16315
16316 2008-08-11 Robert Millan <rmh@aybabtu.com>
16317
16318 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16319 errors. Leave it to the upper layer to handle them.
16320
16321 2008-08-09 Christian Franke <franke@computer.org>
16322
16323 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16324 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16325 Install `grub.d/10_windows' only on Cygwin.
16326 * configure.ac: Add subst of `target_os'.
16327 Check `target_os' also before setting TARGET_OBJ2ELF.
16328 Add `--enable-grub-pe2elf'.
16329
16330 2008-08-08 Robert Millan <rmh@aybabtu.com>
16331
16332 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16333 (grub_last_time): Change type to grub_uint64_t.
16334 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16335 (grub_disk_close): Likewise.
16336
16337 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16338 (run_menu): Migrate code from to using grub_get_time_ms().
16339
16340 * util/misc.c (grub_get_time_ms): New function.
16341
16342 2008-08-08 Marco Gerards <marco@gnu.org>
16343
16344 * disk/ata.c (grub_ata_regget): Change return type to
16345 `grub_uint8_t'.
16346 (grub_ata_regget2): Likewise.
16347 (grub_ata_wait_status): New function.
16348 (grub_ata_wait_busy): Removed function, updated all users to use
16349 `grub_ata_wait_status'.
16350 (grub_ata_wait_drq): Likewise.
16351 (grub_ata_cmd): New function.
16352 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16353 error handling.
16354 (grub_ata_pio_write): Add error handling.
16355 (grub_atapi_identify): Likewise.
16356 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16357 handling.
16358 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16359 handling. Actually use the detected registers. Reorder the
16360 detection logic such that it is easier to read.
16361 (grub_ata_pciinit): Do not assign the same ID to each controller.
16362 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16363 handling.
16364 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16365
16366 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16367
16368 2008-08-08 Marco Gerards <marco@gnu.org>
16369
16370 * NEWS: Update.
16371
16372 2008-08-07 Bean <bean123ch@gmail.com>
16373
16374 * include/grub/x86_64/pci.h: New file.
16375
16376 2008-08-07 Christian Franke <franke@computer.org>
16377
16378 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16379 (TIMER2_GATE): Likewise.
16380 (grub_pit_wait): Add enable/disable of the timer2 gate
16381 bit of port 0x61. This fixes a possible infinite loop.
16382
16383 2008-08-07 Bean <bean123ch@gmail.com>
16384
16385 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16386 kern/i386/tsc.c and kern/i386/pit.c.
16387
16388 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16389 x86_64 platform.
16390
16391 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16392 <grub/i386/tsc.h>.
16393
16394 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16395
16396 2008-08-07 Bean <bean123ch@gmail.com>
16397
16398 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16399
16400 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16401
16402 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16403 multiple inclusion. Add #include <grub/types.h>.
16404
16405 2008-08-06 Christian Franke <franke@computer.org>
16406
16407 * conf/common.rmk: Build and install `10_windows'.
16408 * util/grub.d/10_windows.in: New script.
16409
16410 2008-08-06 Pavel Roskin <proski@gnu.org>
16411
16412 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16413
16414 2008-08-06 Robert Millan <rmh@aybabtu.com>
16415
16416 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16417 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16418
16419 2008-08-06 Bean <bean123ch@gmail.com>
16420
16421 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16422 (grub_pxefs_fs_int): Remove dummy definition.
16423 (grub_pxefs_open): Use data->block_size to store the current block
16424 size setting.
16425 (grub_pxefs_read): Use block size stored in data->block_size. As the
16426 value of grub_pxe_blksize can be changed after the file is opened.
16427
16428 2008-08-06 Bean <bean123ch@gmail.com>
16429
16430 * fs/i386/pc/pxe.c (curr_file): new variable.
16431 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16432 require the dummy internal file system anymore.
16433 (grub_pxefs_read): Removed.
16434 (grub_pxefs_close): Likewise.
16435 (grub_pxefs_fs_int): Likewise.
16436 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16437 connection when we switch file.
16438 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16439
16440 2008-08-06 Robert Millan <rmh@aybabtu.com>
16441
16442 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16443 `halt.mod'.
16444 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16445 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16446
16447 * kern/i386/halt.c: New file.
16448 * kern/i386/reboot.c: Likewise.
16449 * include/grub/i386/reboot.h: Likewise.
16450 * include/grub/i386/halt.h: Likewise.
16451
16452 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16453 Include `<grub/cpu/halt.h>'.
16454 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16455 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16456
16457 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16458 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16459 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16460 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16461 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16462 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16463 from here ...
16464 * include/grub/i386/at_keyboard.h: ... to here.
16465
16466 2008-08-05 Robert Millan <rmh@aybabtu.com>
16467
16468 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16469 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16470 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16471 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16472 `kern/generic/millisleep.c'.
16473
16474 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16475 instead of grub_get_rtc().
16476 (grub_tsc_init): Initialize `tsc_boot_time'.
16477
16478 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16479 (grub_machine_init): Use grub_tsc_init() rather than
16480 installing an RTC-based handler via grub_install_get_time_ms().
16481
16482 * kern/i386/pit.c: New file.
16483 * include/grub/i386/pit.h: Likewise.
16484
16485 2008-08-05 Bean <bean123ch@gmail.com>
16486
16487 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16488
16489 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16490 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16491 (pxe_mod_SOURCES): New macro.
16492 (pxe_mod_CFLAGS): Likewise.
16493 (pxe_mod_LDFLAGS): Likewise.
16494 (pxecmd_mod_SOURCES): Likewise.
16495 (pxecmd_mod_CFLAGS): Likewise.
16496 (pxecmd_mod_LDFLAGS): Likewise.
16497
16498 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16499 (grub_pxe_call): Likewise.
16500
16501 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16502
16503 * commands/i386/pc/pxecmd.c: New file.
16504
16505 * fs/i386/pc/pxe.c: Likewise.
16506
16507 * include/grub/i386/pc/pxe.h: Likewise.
16508
16509 2008-08-05 Bean <bean123ch@gmail.com>
16510
16511 * util/console.c (grub_console_cur_color): New variable.
16512 (grub_console_standard_color): Likewise.
16513 (grub_console_normal_color): Likewise.
16514 (grub_console_highlight_color): Likewise.
16515 (color_map): Likewise.
16516 (use_color): Likewise.
16517 (NUM_COLORS): New macro.
16518 (grub_ncurses_setcolorstate): Handle color properly.
16519 (grub_ncurses_setcolor): Don't change color here, just remember the
16520 settings, color will be set in grub_ncurses_setcolorstate.
16521 (grub_ncurses_getcolor): New function.
16522 (grub_ncurses_init): Initialize color pairs.
16523 (grub_ncurses_term): New member grub_ncurses_getcolor.
16524
16525 2008-08-05 Colin D Bennett <colin@gibibit.com>
16526
16527 High resolution timer support. Implemented for x86 CPUs using TSC.
16528 Extracted generic grub_millisleep() so it's linked in only as needed.
16529 This requires a Pentium compatible CPU; if the RDTSC instruction is
16530 not supported, then it falls back on the generic grub_get_time_ms()
16531 implementation that uses the machine's RTC.
16532
16533 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16534 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16535 `kern/generic/millisleep.c'.
16536
16537 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16538 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16539
16540 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16541 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16542
16543 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16544
16545 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16546 `kern/generic/millisleep.c'.
16547
16548 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16549
16550 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16551
16552 * kern/generic/rtc_get_time_ms.c: New file.
16553
16554 * kern/generic/millisleep.c: New file.
16555
16556 * kern/misc.c: Don't include
16557 <kern/time.h> anymore.
16558 (grub_millisleep_generic): Removed.
16559
16560 * commands/sleep.c (grub_interruptible_millisleep): Uses
16561 grub_get_time_ms() instead of grub_get_rtc().
16562
16563 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16564 function.
16565 (grub_cpu_is_cpuid_supported): New inline function.
16566 (grub_cpu_is_tsc_supported): New inline function.
16567 (grub_tsc_init): New function prototype.
16568 (grub_tsc_get_time_ms): New function prototype.
16569
16570 * kern/i386/tsc.c (grub_get_time_ms): New file.
16571
16572 * include/grub/time.h: Include <grub/types.h.
16573 (grub_millisleep_generic): Removed.
16574 (grub_get_time_ms): New prototype.
16575 (grub_install_get_time_ms): New prototype.
16576 (grub_rtc_get_time_ms): New prototype.
16577
16578 * kern/time.c (grub_get_time_ms): New function.
16579 (grub_install_get_time_ms): New function.
16580
16581 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16582 <grub/time.h> anymore.
16583 (grub_millisleep): Removed.
16584 (grub_machine_init): Call grub_tsc_init.
16585
16586 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16587 get_time_ms() implementation.
16588
16589 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16590 (ieee1275_get_time_ms): New function.
16591 (grub_machine_init): Install get_time_ms() implementation.
16592
16593 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16594 (grub_machine_init): Call grub_tsc_init().
16595 (grub_millisleep): Removed.
16596
16597 * kern/ieee1275/init.c (grub_millisleep): Removed.
16598 (grub_machine_init): Install ieee1275_get_time_ms()
16599 implementation.
16600 (ieee1275_get_time_ms): New function.
16601 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16602 real work.
16603
16604 2008-08-05 Marco Gerards <marco@gnu.org>
16605
16606 * disk/ata.c: Include <grub/pci.h>.
16607 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16608 (grub_ata_initialize): Rewritten.
16609 (grub_ata_device_initialize): New function.
16610
16611 2008-08-04 Pavel Roskin <proski@gnu.org>
16612
16613 * kern/main.c: Include grub/mm.h.
16614
16615 2008-08-04 Robert Millan <rmh@aybabtu.com>
16616
16617 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16618 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16619 corruption problem).
16620
16621 2008-08-04 Robert Millan <rmh@aybabtu.com>
16622
16623 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16624 warnings introduced in my last commit.
16625
16626 2008-08-03 Robert Millan <rmh@aybabtu.com>
16627
16628 Make PCI available on all i386 architectures.
16629
16630 * include/grub/i386/pc/pci.h: Move from here ...
16631 * include/grub/i386/pci.h: ... to here.
16632
16633 * include/grub/i386/pc/pci.h: Remove.
16634 * include/grub/i386/efi/pci.h: Remove.
16635 * include/grub/x86_64/efi/pci.h: Remove.
16636
16637 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16638 `<grub/cpu/pci.h>'.
16639
16640 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16641 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16642 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16643
16644 * conf/i386-ieee1275.rmk: Likewise.
16645
16646 2008-08-03 Robert Millan <rmh@aybabtu.com>
16647
16648 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16649 (grub_console_setcursor): Make it possible to set cursor off.
16650
16651 2008-08-03 Robert Millan <rmh@aybabtu.com>
16652
16653 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16654 of modules instead of assuming which platform provides what.
16655 * util/update-grub.in: Likewise.
16656
16657 2008-08-03 Robert Millan <rmh@aybabtu.com>
16658
16659 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16660 instead of `grub_install_dos_part' to determine whether a drive needs
16661 to be prepended to prefix (`grub_install_dos_part' is not reliable,
16662 because it can be overridden when loading GRUB via Multiboot).
16663
16664 2008-08-02 Robert Millan <rmh@aybabtu.com>
16665
16666 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16667
16668 2008-08-02 Robert Millan <rmh@aybabtu.com>
16669
16670 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16671 of informational grub_dprintf() calls.
16672
16673 2008-08-02 Robert Millan <rmh@aybabtu.com>
16674
16675 * disk/memdisk.c (memdisk_size): Don't initialize.
16676 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16677
16678 * include/grub/i386/pc/kernel.h
16679 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16680 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16681 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16682 (grub_arch_memdisk_size): Remove.
16683
16684 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16685 field (was only used to transfer a constant). Add `type' field to
16686 support multiple module types.
16687 (grub_module_iterate): New function.
16688
16689 * kern/device.c (grub_device_open): Do not hide error messages
16690 when grub_disk_open() fails. Use grub_print_error() instead.
16691
16692 * kern/i386/pc/init.c (grub_arch_modules_addr)
16693 (grub_arch_memdisk_size): Remove functions.
16694 (grub_arch_modules_addr): Return the module address in high memory
16695 (now that it isn't copied anymore).
16696
16697 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16698 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16699 decompression routine (grub_total_module_size already includes that
16700 now). Don't copy modules back to low memory.
16701
16702 * kern/main.c: Include `<grub/mm.h>'.
16703 (grub_load_modules): Split out (and use) ...
16704 (grub_module_iterate): ... this function, which iterates through
16705 module objects and runs a hook.
16706 Comment out grub_mm_init_region() call, as it would cause non-ELF
16707 modules to be overwritten.
16708
16709 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16710 the memdisk image in its own region, make it part of the module list.
16711 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16712 (main): Parse --memdisk|-m option, and pass user-provided path as
16713 parameter to generate_image().
16714 (add_segments): Pass `memdisk_path' down to load_modules().
16715 (load_modules): Embed memdisk image in module section when requested.
16716 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16717 `header.type' instead of `header.offset'.
16718
16719 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16720 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16721 (memdisk_mod_LDFLAGS): New variables.
16722 * conf/i386-coreboot.rmk: Likewise.
16723 * conf/i386-ieee1275.rmk: Likewise.
16724
16725 2008-08-02 Robert Millan <rmh@aybabtu.com>
16726
16727 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16728 (backward_relocator): New variables. Used to allocate and relocate
16729 the payload, respectively.
16730 (grub_multiboot_load_elf32): Load into heap instead of requested
16731 address, install the appropriate relocator code in each bound of
16732 the payload, and set the entry point such that
16733 grub_multiboot_real_boot() will jump to one of them.
16734
16735 * kern/i386/loader.S (grub_multiboot_payload_size)
16736 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16737 (grub_multiboot_payload_entry_offset): New variables.
16738 (grub_multiboot_real_boot): Set cpu context to what the relocator
16739 expects, and jump to the relocator instead of the payload.
16740
16741 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16742 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16743 (grub_multiboot_payload_entry_offset): Export.
16744
16745 2008-08-01 Bean <bean123ch@gmail.com>
16746
16747 * normal/menu_entry.c (editor_getline): Don't return the original
16748 string as result, as it will be released by lexer once it has done
16749 using it.
16750
16751 2008-08-01 Robert Millan <rmh@aybabtu.com>
16752
16753 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16754 within menuentries, not before them.
16755 util/grub.d/10_hurd.in: Likewise.
16756
16757 2008-08-01 Bean <bean123ch@gmail.com>
16758
16759 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16760 (bufio_mod_SOURCES): New macro.
16761 (bufio_mod_CFLAGS): Likewise.
16762 (bufio_mod_LDFLAGS): Likewise.
16763
16764 * include/grub/bufio.h: New file.
16765
16766 * io/bufio.c: Likewise.
16767
16768 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16769 (grub_video_reader_png): Use grub_buffile_open to open file.
16770
16771 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16772 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16773
16774 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16775 (grub_video_reader_tga): Use grub_buffile_open to open file.
16776
16777 * font/manager.c: Include <grub/bufio.h>.
16778 (add_font): Use grub_buffile_open to open file.
16779
16780 2008-07-31 Robert Millan <rmh@aybabtu.com>
16781
16782 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16783 ELF segments, use a macro for arbitrarily accessing any of them instead
16784 of preparing a pointer that allows access to one at a time.
16785 (grub_multiboot_load_elf64): Likewise.
16786
16787 2008-07-31 Bean <bean123ch@gmail.com>
16788
16789 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16790 GRUB_KERNEL_MACHINE_DATA_END.
16791
16792 2008-07-30 Robert Millan <rmh@aybabtu.com>
16793
16794 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16795 Increase from 0x50 to 0x60.
16796 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16797 use UUIDs to identify the root drive for them. If that's not
16798 possible, abort.
16799 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16800 check, for cross-disk installs.
16801
16802 2008-07-30 Robert Millan <rmh@aybabtu.com>
16803
16804 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16805 is non-empty, use it to set the `prefix' environment variable instead
16806 of the usual approach.
16807 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16808 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16809 environment variable instead of dummy make_install_device().
16810
16811 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16812 (start): Insert a data section, with `grub_prefix' variable.
16813 * kern/i386/linuxbios/startup.S: Likewise.
16814
16815 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
16816 New variable reference.
16817 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
16818 New macro. Defines offset of `grub_prefix' within startup.S (relative
16819 to `start').
16820 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
16821 section within startup.S (relative to `start').
16822 * include/grub/i386/coreboot/kernel.h: Likewise.
16823
16824 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
16825 Overwrite grub_prefix with its contents, at the beginning of the
16826 first segment.
16827 (main): Understand -p|--prefix.
16828
16829 2008-07-30 Robert Millan <rmh@aybabtu.com>
16830
16831 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
16832
16833 2008-07-30 Robert Millan <rmh@aybabtu.com>
16834
16835 * term/i386/pc/vga_text.c (grub_console_cls): Use
16836 grub_console_gotoxy() to go back to beginning of the screen.
16837 Found by Patrick Georgi <patrick.georgi@coresystems.de>
16838
16839 2008-07-29 Christian Franke <franke@computer.org>
16840
16841 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16842 Add conversion of emulated mount points on Cygwin.
16843
16844 2008-07-29 Christian Franke <franke@computer.org>
16845
16846 * util/update-grub.in: Add a check for admin
16847 group on Cygwin.
16848 Remove old `grub.cfg.new' before creation.
16849 Add `-f' to `mv' to handle the different filesystem
16850 semantics of Windows.
16851
16852 2008-07-29 Bean <bean123ch@gmail.com>
16853
16854 * normal/main.c (get_line): Fix buffer overflow bug.
16855
16856 2008-07-28 Robert Millan <rmh@aybabtu.com>
16857
16858 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16859 (struct grub_apple_header): New struct. Describes the layout of
16860 the partmap header.
16861 (apple_partition_map_iterate): Check the header magic as well as the
16862 partition magic (which was already being checked).
16863
16864 2008-07-28 Pavel Roskin <proski@gnu.org>
16865
16866 * genmk.rb: Add a warning to the beginning of the output that
16867 it's a generated file and should not be edited.
16868
16869 2008-07-28 Robert Millan <rmh@aybabtu.com>
16870
16871 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16872 with the same number are found, just use issue a warning with
16873 grub_dprintf(), as this error has been reported to be non-fatal.
16874
16875 2008-07-27 Robert Millan <rmh@aybabtu.com>
16876
16877 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16878 information.
16879
16880 2008-07-27 Bean <bean123ch@gmail.com>
16881
16882 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16883 (grub_fat_find_dir): Ignore case when comparing filename.
16884
16885 2008-07-27 Bean <bean123ch@gmail.com>
16886
16887 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16888 smallino, as it's more descriptive, and i8count can be confused with
16889 the other field count.
16890 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16891 inode type.
16892
16893 2008-07-27 Bean <bean123ch@gmail.com>
16894
16895 * commands/crc.c: New file.
16896
16897 * lib/crc.c: Likewise.
16898
16899 * include/grub/lib/crc.h: Likewise.
16900
16901 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16902
16903 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16904 (hexdump): Move this function to ...
16905
16906 * lib/hexdump.c: ... here.
16907
16908 * include/grub/hexdump.h: Renamed to ...
16909
16910 * include/grub/lib/hexdump.h: ... this.
16911
16912 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16913
16914 * util/grub-editenv.c: Likewise.
16915
16916 * include/envblk.h: Renamed to ...
16917
16918 * include/lib/envblk.h: ... this.
16919
16920 * util/envblk.c: Renamed to ...
16921
16922 * lib/envblk.c: ... this.
16923
16924 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16925 lib/hexdump.c.
16926 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16927 (pkglib_MODULES): Add crc.mod.
16928 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16929 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16930 (crc_mod_SOURCES): New macro.
16931 (crc_mod_CFLAGS): Likewise.
16932 (crc_mod_LDFLAGS): Likewise.
16933
16934 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16935
16936 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16937
16938 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16939
16940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16941
16942 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16943
16944 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
16945
16946 * commands/help.c: Include <grub/term.h>.
16947 (TERM_WIDTH): Removed. Updated all users.
16948
16949 2008-07-27 Pavel Roskin <proski@gnu.org>
16950
16951 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16952 spurious warnings about a comment within a comment.
16953
16954 2008-07-25 Robert Millan <rmh@aybabtu.com>
16955
16956 * util/getroot.c (find_root_device): Skip devices that match
16957 /dev/dm-[0-9]. This lets the real device be found for any type of
16958 abstraction (LVM, EVMS, RAID..).
16959 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16960 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16961 device is found first, find_root_device() will now skip it.
16962
16963 2008-07-24 Pavel Roskin <proski@gnu.org>
16964
16965 * include/grub/types.h: Use __builtin_bswap32() and
16966 __builtin_bswap64() with gcc 4.3 and newer.
16967
16968 2008-07-24 Christian Franke <franke@computer.org>
16969
16970 * util/i386/pc/grub-install.in: If `--debug' is specified,
16971 pass `--verbose' to grub-setup.
16972 Abort script if make_system_path_relative_to_its_root() fails.
16973
16974 2008-07-24 Bean <bean123ch@gmail.com>
16975
16976 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16977 variable `target_platform' should be `platform'.
16978
16979 2008-07-24 Bean <bean123ch@gmail.com>
16980
16981 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
16982 (grub_png_init_fixed_block): New function.
16983 (grub_png_decode_image_data): Handle fixed huffman code compression.
16984
16985 2008-07-24 Bean <bean123ch@gmail.com>
16986
16987 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16988 (grub_pe2elf_SOURCES): New macro.
16989 (CLEANFILES): Add grub-pe2elf.
16990
16991 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16992 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16993 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16994 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16995 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16996 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16997 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16998 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16999 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17000 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17001 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17002 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17003 (GRUB_PE32_DT_FUNCTION): Likewise.
17004 (GRUB_PE32_REL_I386_DIR32): Likewise.
17005 (GRUB_PE32_REL_I386_REL32): Likewise.
17006 (grub_pe32_symbol): New structure.
17007 (grub_pe32_reloc): Likewise.
17008
17009 * util/grub-pe2elf.c: New file.
17010
17011 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17012 start symbol in non pc platform.
17013
17014 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17015
17016 The following patches are from Christian Franke.
17017
17018 * include/grub/dl.h: Remove .previous, gas supports this only
17019 for ELF format.
17020
17021 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17022 Remove .type, gas supports this only for ELF format.
17023
17024 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17025 nullbytes in symbol table. This fixes an infinite loop if table is
17026 zero filled.
17027
17028 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17029 TARGET_IMG_LDFLAGS and EXEEXT.
17030
17031 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17032 TARGET_IMG_LDFLAGS_AC.
17033 (grub_CHECK_STACK_ARG_PROBE): New function.
17034
17035 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17036
17037 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17038
17039 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17040 to set TARGET_IMG_LD* accordingly.
17041 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17042 Add call to grub_CHECK_STACK_ARG_PROBE.
17043 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17044
17045 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17046
17047 * genmk.rb: Add EXEEXT to CLEANFILES.
17048
17049 2008-07-23 Robert Millan <rmh@aybabtu.com>
17050
17051 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17052 define the codes for arrows and lines used for the menu).
17053 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17054 as well.
17055
17056 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17057 fonts, because the latter are too slow.
17058
17059 2008-07-21 Bean <bean123ch@gmail.com>
17060
17061 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17062 a20. Run keyboard test last, as it will cause macbook to halt.
17063
17064 2008-07-18 Pavel Roskin <proski@gnu.org>
17065
17066 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17067 load foreign architecture modules correctly anyway. Keep
17068 support for loading host architecture modules, whether we
17069 compile them or not.
17070
17071 2008-07-17 Pavel Roskin <proski@gnu.org>
17072
17073 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17074 change target_cpu. The compiler default can mismatch target_cpu
17075 in any case.
17076
17077 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17078 * kern/efi/efi.c: Likewise.
17079
17080 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17081 target compiler is functional.
17082 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17083 are set up.
17084
17085 * configure.ac: Default to efi platform for x86_64-apple. Allow
17086 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17087 adjustments from the rest, only do them if target is not
17088 explicitly given. Merge other adjustments with the final sanity
17089 check. Remove an extraneous check for supported CPU. Be
17090 specific which CPU and which platform is not supported.
17091
17092 * configure.ac: Default to pc platform for x86_64.
17093
17094 2008-07-17 Robert Millan <rmh@aybabtu.com>
17095
17096 Partial LinuxBIOS -> Coreboot rename.
17097
17098 * conf/i386-linuxbios.rmk: Renamed to ...
17099 * conf/i386-coreboot.rmk: ... this.
17100 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17101 * configure.ac: Accept "coreboot" as input platform (but maintain
17102 compatibility with "linuxbios").
17103 * include/grub/i386/linuxbios: Renamed to ...
17104 * include/grub/i386/coreboot: ... this.
17105
17106 2008-07-17 Bean <bean123ch@gmail.com>
17107
17108 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
17109 (appleldr_mod_SOURCE): New variable.
17110 (appleldr_mod_CFLAGS): Likewise.
17111 (appleldr_mod_LDFLAGS): Likewise.
17112 (pci_mod_SOURCES): Likewise.
17113 (pci_mod_CFLAGS): Likewise.
17114 (pci_mod_LDFLAGS): Likewise.
17115 (lspci_mod_SOURCES): Likewise.
17116 (lspci_mod_CFLAGS): Likewise.
17117 (lspci_mod_LDFLAGS): Likewise.
17118
17119 * conf/x86_64-efi.rmk: New file.
17120
17121 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17122 macro.
17123 (grub_efidisk_write): Likewise.
17124
17125 * include/efi/api.h (efi_call_0): New macro.
17126 (efi_call_1): Likewise.
17127 (efi_call_2): Likewise.
17128 (efi_call_3): Likewise.
17129 (efi_call_4): Likewise.
17130 (efi_call_5): Likewise.
17131 (efi_call_6): Likewise.
17132
17133 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17134 grub_rescue_cmd_chainloader.
17135
17136 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17137 (grub_pe32_optional_header): Change some fields based on i386 or
17138 x86_64 platform.
17139 (GRUB_PE32_PE32_MAGIC): Likewise.
17140
17141 * include/grub/efi/uga_draw.h: New file.
17142
17143 * include/grub/elf.h (STN_ABS): New constant.
17144 (R_X86_64_NONE): Relocation constant for x86_64.
17145 (R_X86_64_64): Likewise.
17146 (R_X86_64_PC32): Likewise.
17147 (R_X86_64_GOT32): Likewise.
17148 (R_X86_64_PLT32): Likewise.
17149 (R_X86_64_COPY): Likewise.
17150 (R_X86_64_GLOB_DAT): Likewise.
17151 (R_X86_64_JUMP_SLOT): Likewise.
17152 (R_X86_64_RELATIVE): Likewise.
17153 (R_X86_64_GOTPCREL): Likewise.
17154 (R_X86_64_32): Likewise.
17155 (R_X86_64_32S): Likewise.
17156 (R_X86_64_16): Likewise.
17157 (R_X86_64_PC16): Likewise.
17158 (R_X86_64_8): Likewise.
17159 (R_X86_64_PC8): Likewise.
17160
17161 * include/grub/i386/efi/pci.h: New file.
17162
17163 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17164 Change it value based on platform.
17165 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17166 (GRUB_E820_RAM): Likewise.
17167 (GRUB_E820_RESERVED): Likewise.
17168 (GRUB_E820_ACPI): Likewise.
17169 (GRUB_E820_NVS): Likewise.
17170 (GRUB_E820_EXEC_CODE): Likewise.
17171 (GRUB_E820_MAX_ENTRY): Likewise.
17172 (grub_e820_mmap): New structure.
17173 (linux_kernel_header): Change the efi field according to different
17174 kernel version, also field from linux_kernel_header.
17175
17176 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17177
17178 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17179 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17180 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17181 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17182 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17183 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17184 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17185 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17186 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17187 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17188
17189 * include/grub/x86_64/efi/kernel.h: New file.
17190
17191 * include/grub/x86_64/efi/loader.h: Likewise.
17192
17193 * include/grub/x86_64/efi/machine.h: Likewise.
17194
17195 * include/grub/x86_64/efi/pci.h: Likewise.
17196
17197 * include/grub/x86_64/efi/time.h: Likewise.
17198
17199 * include/grub/x86_64/linux.h: Likewise.
17200
17201 * include/grub/x86_64/setjmp.h: Likewise.
17202
17203 * include/grub/x86_64/time.h: Likewise.
17204
17205 * include/grub/x86_64/types.h: Likewise.
17206
17207 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17208 GRUB_TARGET_SIZEOF_VOID_P.
17209
17210 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17211 (grub_efi_locate_handle): Likewise.
17212 (grub_efi_open_protocol): Likewise.
17213 (grub_efi_set_text_mode): Likewise.
17214 (grub_efi_stall): Likewise.
17215 (grub_exit): Likewise.
17216 (grub_reboot): Likewise.
17217 (grub_halt): Likewise.
17218 (grub_efi_exit_boot_services): Likewise.
17219 (grub_get_rtc): Likewise.
17220
17221 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17222 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17223 (grub_efi_allocate_pages): Wrap efi calls.
17224 (grub_efi_free_pages): Wrap efi calls.
17225 (grub_efi_get_memory_map): Wrap efi calls.
17226
17227 * kern/x86_64/dl.c: New file.
17228
17229 * kern/x86_64/efi/callwrap.S: Likewise.
17230
17231 * kern/x86_64/efi/startup.S: Likewise.
17232
17233 * loader/efi/appleloader.c: Likewise.
17234
17235 * loader/efi/chainloader.c (cmdline): New variable.
17236 (grub_chainloader_unload): Wrap efi calls.
17237 (grub_chainloader_boot): Likewise.
17238 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17239 command line.
17240
17241 * loader/efi/chainloader_normal.c (chainloader_command):
17242 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17243 command line.
17244
17245 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17246 method.
17247 (grub_e820_add_region): New function.
17248 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17249 booting.
17250 (grub_find_video_card): New function.
17251 (grub_linux_setup_video): New function.
17252 (grub_rescue_cmd_linux): Probe for video information.
17253
17254 * normal/x86_64/setjmp.S: New file.
17255
17256 * term/efi/console.c (map_char): New function.
17257 (grub_console_putchar): Map unicode char.
17258 (grub_console_checkkey): Wrap efi calls.
17259 (grub_console_getkey): Likewise.
17260 (grub_console_getwh): Likewise.
17261 (grub_console_gotoxy): Likewise.
17262 (grub_console_cls): Likewise.
17263 (grub_console_setcolorstate): Likewise.
17264 (grub_console_setcursor): Likewise.
17265
17266 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17267
17268 2008-07-16 Pavel Roskin <proski@gnu.org>
17269
17270 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17271 format strings.
17272
17273 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17274 pointer, not an integer. This fixes a warning and prevents
17275 precision loss on 64-bit systems.
17276 (relocate_addresses): Remove unneeded cast.
17277
17278 2008-07-15 Pavel Roskin <proski@gnu.org>
17279
17280 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17281
17282 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17283
17284 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17285 Fix comparison between signed and unsigned.
17286
17287 * include/grub/i386/ieee1275/console.h: Declare
17288 grub_console_init() and grub_console_fini().
17289
17290 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17291 It's empty and unused.
17292
17293 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17294 beginning to avoid warnings with some compilers.
17295
17296 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17297 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17298
17299 2008-07-14 Pavel Roskin <proski@gnu.org>
17300
17301 * kern/env.c (grub_register_variable_hook): Don't copy empty
17302 string, it leaks memory. Pass "" to grub_env_set(), it should
17303 handle constant strings.
17304
17305 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17306 * commands/cmp.c (grub_cmd_cmp): Likewise.
17307 * kern/dl.c (grub_dl_flush_cache): Likewise.
17308 (grub_dl_load_core): Likewise.
17309 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17310 (grub_elf64_load_phdrs): Likewise.
17311
17312 2008-07-13 Pavel Roskin <proski@gnu.org>
17313
17314 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17315 between signed and unsigned.
17316 (LzmaEnc_Finish): Fix warning about an unused parameter.
17317
17318 2008-07-13 Bean <bean123ch@gmail.com>
17319
17320 * Makefile.in (enable_lzo): New rule.
17321
17322 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17323
17324 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17325
17326 * boot/i386/pc/lnxboot.S: #include <config.h>.
17327
17328 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
17329 its value according to the compression algorithm used, lzo or lzma.
17330
17331 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17332 compression algorithm according to configure macro.
17333
17334 * kern/i386/pc/startup.S (codestart): Likewise.
17335
17336 * kern/i386/pc/lzma_decode.S: New file.
17337
17338 * include/grub/lib/LzFind.h: Likewise.
17339
17340 * include/grub/lib/LzHash.h: Likewise.
17341
17342 * include/grub/lib/LzmaDec.h: Likewise.
17343
17344 * include/grub/lib/LzmaEnc.h: Likewise.
17345
17346 * include/grub/lib/LzmaTypes.h: Likewise.
17347
17348 * lib/LzFind.c: Likewise.
17349
17350 * lib/LzmaDec.c: Likewise.
17351
17352 * lib/LzmaEnc.c: Likewise.
17353
17354 2008-07-13 Bean <bean123ch@gmail.com>
17355
17356 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17357 (grub_ext4_extent_header): New structure.
17358 (grub_ext4_extent): Likewise.
17359 (grub_ext4_extent_idx): Likewise.
17360 (grub_ext4_find_leaf): New function.
17361 (grub_ext2_read_block): Handle extents.
17362
17363 2008-07-12 Robert Millan <rmh@aybabtu.com>
17364
17365 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17366
17367 2008-07-11 Robert Millan <rmh@aybabtu.com>
17368
17369 * util/grub.d/40_custom.in: New file. Example on how to add custom
17370 entries to /etc/grub.d.
17371 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17372 40_custom (implicitly, by merging all the grub.d rules).
17373
17374 2008-07-11 Pavel Roskin <proski@gnu.org>
17375
17376 * commands/read.c (grub_getline): Fix invalid memory access.
17377 Don't add newline to the variable value.
17378
17379 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17380 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17381 (serial_hw_get_port): Check validity of the port number.
17382 (grub_cmd_serial): Check return value of serial_hw_get_port().
17383
17384 2008-07-07 Pavel Roskin <proski@gnu.org>
17385
17386 * boot/i386/pc/diskboot.S (notification_string): Replace
17387 "Loading kernel" with just "loading". This is shorter, less
17388 confusing and saves a few bytes for possible future changes.
17389
17390 2008-07-05 Pavel Roskin <proski@gnu.org>
17391
17392 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17393 size for ATAPI devices, they are undefined. Output sector
17394 number in decimal form.
17395
17396 * disk/ata.c: Use named constants for status bits.
17397
17398 2008-07-04 Pavel Roskin <proski@gnu.org>
17399
17400 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17401 grub_addr_t before casting it to the void pointer to fix a
17402 warning. Non-addressable regions are discarded earlier.
17403 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17404 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17405 (check_signature): Don't shadow table_header.
17406 (grub_linuxbios_table_iterate): Cast numeric constants to
17407 grub_linuxbios_table_header_t.
17408 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17409 grub_stop().
17410
17411 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17412 prevent warnings.
17413
17414 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17415 pointer, which can cause warnings. Support 64-bit addresses.
17416
17417 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17418 of sizeof(long). This fixes PowerPC image generation on x86_64.
17419
17420 2008-07-04 Robert Millan <rmh@aybabtu.com>
17421
17422 This fixes a performance issue when pc & gpt partmap iterators
17423 didn't abort iteration even after our hook found what it was
17424 looking for (often causing expensive probes of non-existent drives).
17425
17426 Some callers relied on previous buggy behaviour, since they would
17427 raise an error when their own hooks caused early abortion of its
17428 iteration.
17429
17430 * kern/device.c (grub_device_open): Improve error message.
17431 * disk/lvm.c (grub_lvm_open): Likewise.
17432 * disk/raid.c (grub_raid_open): Likewise.
17433
17434 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17435 when hook requests it, independently of grub_errno.
17436 (pc_partition_map_probe): Do not fail when find_func() caused
17437 early abortion of pc_partition_map_iterate().
17438
17439 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17440 when hook requests it, independently of grub_errno.
17441 (gpt_partition_map_probe): Do not fail when find_func() caused
17442 early abortion of gpt_partition_map_iterate().
17443
17444 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17445 when hook requests it, independently of grub_errno. Do not fail when
17446 part_map_iterate_hook() caused early abortion of p->iterate().
17447
17448 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17449 when grub_partition_iterate() returned with non-zero.
17450
17451 2008-07-03 Pavel Roskin <proski@gnu.org>
17452
17453 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17454 like we do in grub_ata_pio_read().
17455 (grub_ata_readwrite): Always write individual sectors. Fix the
17456 sector count for the remainder.
17457 (grub_ata_write): Enable writing to ATA devices. Correctly
17458 report error for ATAPI devices.
17459
17460 2008-07-02 Pavel Roskin <proski@gnu.org>
17461
17462 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17463 warning.
17464
17465 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17466 for every read sector, we already increment it for the whole
17467 batch. This fixes reading more than 256 sectors at once.
17468
17469 * util/grub-editenv.c (cmd_info): Cast argument to long
17470 explicitly. ptrdiff_t reduces to int on i386.
17471
17472 * util/grub-editenv.c (main): Be specific which parameter is
17473 missing.
17474
17475 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17476 (memdisk): Make memdisk_orig_addr a pointer.
17477
17478 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17479 for file offsets, use grub_off_t instead. Fix printf format
17480 warnings.
17481
17482 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17483 there. Real unexpected warnings should not drown in the noise
17484 about known problems.
17485
17486 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17487 grub_disk_addr_t for memory addresses.
17488
17489 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17490 explicitly to fix a warning.
17491
17492 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17493
17494 * Makefile.in (MODULE_LDFLAGS): New variable.
17495 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17496 the linker accepts --build-id=none.
17497 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17498 MODULE_LDFLAGS.
17499 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17500
17501 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17502 those in Linux XFS code. Provide a way to access 64-bit parent
17503 inode.
17504 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17505 the end of struct grub_xfs_dir_header.
17506
17507 2008-07-02 Bean <bean123ch@gmail.com>
17508
17509 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17510 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17511 and GRUB_IEEE1275_FLAG_NO_ANSI.
17512
17513 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17514 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17515 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17516
17517 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17518 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17519
17520 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17521 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17522
17523 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17524 esc sequence on non ANSI terminal.
17525 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17526
17527 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17528 beginning of file.
17529
17530 2008-07-02 Bean <bean123ch@gmail.com>
17531
17532 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17533 (grub_editenv_SOURCES): New variable.
17534 (pkglib_MODULES): Add loadenv.mod.
17535 (loadenv_mod_SOURCES): New variable.
17536 (loadenv_mod_CFLAGS): Likewise.
17537 (loadenv_mod_LDFLAGS): Likewise.
17538
17539 * include/grub/envblk.h: New file.
17540
17541 * util/envblk.c: New file.
17542
17543 * util/grub-editenv.c: New file.
17544
17545 * commands/loadenv.c: New file.
17546
17547 2008-07-01 Pavel Roskin <proski@gnu.org>
17548
17549 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17550 not unsigned char. This fixes warnings and is consistent with
17551 other tags.
17552
17553 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17554
17555 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17556
17557 * term/tparm.c (analyze): Always set *popcount.
17558
17559 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17560 cast to fix a warning.
17561
17562 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17563 cast to suppress a warning.
17564
17565 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17566 grub_fshelp_read_file() expects.
17567
17568 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17569 write uuid as a 32-bit value in CPU byte order, so declare and
17570 use it as such.
17571
17572 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17573 long if the format specifier expects it.
17574 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17575 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17576 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17577 long to fix a warning.
17578 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17579 grub_dprintf() arguments to fix warnings.
17580
17581 2008-06-30 Pavel Roskin <proski@gnu.org>
17582
17583 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17584 install_bsd_part immediately before core.img is embedded or
17585 modified on disk. This fixes core.img verification if core.img
17586 cannot be embedded.
17587
17588 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17589 core_path to calculate the blocklist.
17590 Patch from Javier Martín <lordhabbit@gmail.com>
17591
17592 2008-06-29 Robert Millan <rmh@aybabtu.com>
17593
17594 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17595 block to disk block.
17596 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17597 Patch from Niels Böhm <bitbucket@arcor.de>
17598
17599 2008-06-29 Robert Millan <rmh@aybabtu.com>
17600
17601 * util/update-grub_lib.in (font_path): Search for fonts in
17602 /boot/grub first, which is more likely to be readable (we aren't
17603 deciding where fonts live, just looking for them).
17604
17605 2008-06-26 Pavel Roskin <proski@gnu.org>
17606
17607 * util/biosdisk.c (read_device_map): Don't leave dead map
17608 entries for devices failing stat() check.
17609
17610 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17611 core_path_dev for the core.img path on the target device.
17612
17613 2008-06-26 Robert Millan <rmh@aybabtu.com>
17614
17615 * disk/fs_uuid.c: New file.
17616 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17617 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17618 (fs_uuid_mod_LDFLAGS): New variables.
17619 * include/grub/disk.h (grub_disk_dev_id): Add
17620 `GRUB_DISK_DEVICE_UUID_ID'.
17621 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17622 implement iterate().
17623
17624 2008-06-26 Robert Millan <rmh@aybabtu.com>
17625
17626 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17627 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17628 Linux image includes no initrd.
17629
17630 2008-06-21 Javier Martín <lordhabbit@gmail.com>
17631
17632 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17633 call to resolve the core image location that effectively appended the
17634 name twice.
17635
17636 2008-06-21 Robert Millan <rmh@aybabtu.com>
17637
17638 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17639 call from here ...
17640
17641 * util/grub.d/10_hurd.in: ... to here ...
17642 * util/grub.d/10_linux.in: ... and here.
17643
17644 2008-06-19 Robert Millan <rmh@aybabtu.com>
17645
17646 * kern/main.c (grub_main): Export `prefix' variable immediately
17647 after it has been set by grub_machine_set_prefix().
17648
17649 2008-06-19 Robert Millan <rmh@aybabtu.com>
17650
17651 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17652 search result when not saving to variable, not the other way around.
17653 When saving to variable, abort iteration as soon as a match is found.
17654
17655 2008-06-19 Robert Millan <rmh@aybabtu.com>
17656
17657 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17658 check for partition that provides /boot/grub. Its logic is flawed,
17659 as it prevents prepare_grub_to_access_device() from being called
17660 multiple times.
17661
17662 2008-06-19 Robert Millan <rmh@aybabtu.com>
17663
17664 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17665 "insmod" command directly when abstraction modules are needed,
17666 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
17667 since it had already been processed).
17668
17669 2008-06-19 Pavel Roskin <proski@gnu.org>
17670
17671 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17672 changed. This is needed in case GRUB_LIBDIR changes.
17673 * conf/i386-ieee1275.rmk: Likewise.
17674 * conf/i386-linuxbios.rmk: Likewise.
17675 * conf/i386-pc.rmk: Likewise.
17676 * conf/powerpc-ieee1275.rmk: Likewise.
17677
17678 2008-06-18 Pavel Roskin <proski@gnu.org>
17679
17680 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17681 kernel_elf_symlist.c to symlist.c for consistency with other
17682 architectures. Update all users.
17683 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17684
17685 2008-06-18 Robert Millan <rmh@aybabtu.com>
17686
17687 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17688 it in prefix.
17689
17690 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17691 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17692 a RAID device, run setup() for all members independently on whether
17693 LVM abstraction is being used.
17694 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17695 If grub-mkimage has set `*install_dos_part == -2', don't override this
17696 value.
17697 Perform *install_dos_part adjustments independently on whether
17698 we're embedding or not.
17699 Clarify error message when image is too big for embedding.
17700 Remove duplicate *install_dos_part stanza.
17701
17702 2008-06-17 Robert Millan <rmh@aybabtu.com>
17703
17704 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17705 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17706 variables.
17707 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17708 values in grub_ofconsole_normal_color and
17709 grub_ofconsole_highlight_color (they're not directly related to
17710 background and foreground).
17711 (grub_ofconsole_setcolorstate): Extract background and foreground
17712 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17713
17714 2008-06-17 Robert Millan <rmh@aybabtu.com>
17715
17716 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17717 /boot/grub for the check in last commit, not /boot (they could be
17718 different partitions).
17719
17720 2008-06-16 Robert Millan <rmh@aybabtu.com>
17721
17722 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17723 asked to setup access for the same partition that provides /boot,
17724 don't bother using UUIDs since our root already has the value we
17725 want.
17726
17727 2008-06-16 Robert Millan <rmh@aybabtu.com>
17728
17729 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17730 I2O devices.
17731 Patch from Sven Mueller <sven@debian.org>.
17732
17733 2008-06-16 Robert Millan <rmh@aybabtu.com>
17734
17735 * util/update-grub.in: Check for $EUID instead of $UID.
17736 Reported by Vincent Zweije.
17737
17738 2008-06-16 Bean <bean123ch@gmail.com>
17739
17740 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
17741 (grub_ext2_read_block): Likewise.
17742 (grub_ext2_read_inode): Likewise.
17743 (grub_ext2_mount): Likewise.
17744 (grub_ext2_close): Likewise.
17745 (grub_ext3_get_journal): Removed.
17746
17747 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
17748 (grub_reiserfs_read_symlink): Likewise.
17749 (grub_reiserfs_mount): Likewise.
17750 (grub_reiserfs_open): Likewise.
17751 (grub_reiserfs_read): Likewise.
17752 (grub_reiserfs_close): Likewise.
17753 (grub_reiserfs_get_journal): Removed.
17754
17755 * fs/fshelp.c (grub_fshelp_read): Removed.
17756 (grub_fshelp_map_block): Likewise.
17757
17758 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17759 (grub_fshelp_journal): Likewise.
17760 (grub_fshelp_read): Likewise.
17761 (grub_fshelp_map_block): Likewise.
17762
17763 2008-06-16 Pavel Roskin <proski@gnu.org>
17764
17765 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17766 floating point anymore.
17767 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17768
17769 2008-06-15 Pavel Roskin <proski@gnu.org>
17770
17771 * commands/ls.c (grub_ls_list_files): Use integer calculations
17772 for human readable format, avoid floating point use.
17773 * kern/misc.c (grub_ftoa): Remove.
17774 (grub_vsprintf): Remove floating point support.
17775
17776 2008-06-15 Robert Millan <rmh@aybabtu.com>
17777
17778 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
17779 devices.
17780 Reported by Max Vozeler.
17781
17782 2008-06-15 Robert Millan <rmh@aybabtu.com>
17783
17784 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17785 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17786 skipped later.
17787 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17788 the beginning of the prefix.
17789
17790 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17791 It is assumed that if we have a memdisk, grub-mkimage has set
17792 grub_prefix to include the "(memdisk)" drive in it.
17793
17794 2008-06-15 Robert Millan <rmh@aybabtu.com>
17795
17796 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17797 Initialize keyboard controller after registering the terminal, so that
17798 grub_printf() can be called from grub_keyboard_controller_init().
17799
17800 2008-06-15 Robert Millan <rmh@aybabtu.com>
17801
17802 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17803 extent-btree which is written as big endian on disk.
17804 Reported by Alain Greppin <al@chilibi.org>.
17805
17806 2008-06-14 Robert Millan <rmh@aybabtu.com>
17807
17808 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17809 * util/i386/pc/grub-install.in (modules): Likewise.
17810
17811 2008-06-13 Pavel Roskin <proski@gnu.org>
17812
17813 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17814
17815 2008-06-13 Bean <bean123ch@gmail.com>
17816
17817 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
17818
17819 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
17820
17821 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
17822 to indicate sparse block.
17823
17824 2008-06-12 Pavel Roskin <proski@gnu.org>
17825
17826 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
17827 number, grub_fshelp_read() does it for us.
17828
17829 * fs/fshelp.c (grub_fshelp_read): New function. Implement
17830 linear disk read with journal translation.
17831 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
17832 * include/grub/fshelp.h: Declare grub_fshelp_read().
17833
17834 2008-06-09 Pavel Roskin <proski@gnu.org>
17835
17836 * fs/minix.c (grub_minix_mount): Handle error reading
17837 superblock.
17838
17839 2008-06-08 Robert Millan <rmh@aybabtu.com>
17840
17841 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
17842 don't append the RAID prefix afterwards.
17843 Reported by Clint Adams.
17844
17845 2008-06-08 Robert Millan <rmh@aybabtu.com>
17846
17847 Based on description from Pavel:
17848 * kern/disk.c (grub_disk_check_range): Rename to ...
17849 (grub_disk_adjust_range): ... this. Add a comment explaining the
17850 tasks performed by this function.
17851
17852 2008-06-08 Robert Millan <rmh@aybabtu.com>
17853
17854 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17855 `num_serial' (for consistency with other variables).
17856 (struct grub_ntfs_data): Add `uuid' member.
17857 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17858 (grub_ntfs_uuid): New function.
17859 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17860
17861 2008-06-07 Pavel Roskin <proski@gnu.org>
17862
17863 * util/biosdisk.c (open_device): Revert last change to the
17864 function, it broke installation. The sector needs to be
17865 different dependent on which device is opened.
17866
17867 2008-06-06 Robert Millan <rmh@aybabtu.com>
17868
17869 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17870 rest of GRUB, and breakage doesn't happen if its value were modified.
17871
17872 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17873 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17874 a constant (same value).
17875 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17876 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17877
17878 2008-06-06 Robert Millan <rmh@aybabtu.com>
17879
17880 * util/biosdisk.c (open_device): Do not modify sector offset when
17881 accessing a partition. kern/disk.c already handles this for us.
17882
17883 2008-06-06 Robert Millan <rmh@aybabtu.com>
17884
17885 * util/grub-emu.c (grub_machine_init): Move code in this function from
17886 here ...
17887 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17888 segfault in case grub_printf() is called).
17889
17890 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17891 grub_probe. Update all users not to explicitly add it again.
17892 (grub_device): New variable; contains corresponding device for grubdir.
17893 (fs_module, partmap_module, devabstraction_module): Pass
17894 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17895 every time.
17896
17897 2008-06-05 Robert Millan <rmh@aybabtu.com>
17898
17899 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17900 is found, print it (same layout as with labels).
17901
17902 2008-06-04 Robert Millan <rmh@aybabtu.com>
17903
17904 * util/biosdisk.c (get_drive): Rename to ...
17905 (find_grub_drive): ... this. Update all users.
17906
17907 (get_os_disk): Rename to ...
17908 (convert_system_partition_to_system_disk): ... this. Update all users.
17909
17910 (find_drive): Rename to ...
17911 (find_system_device): ... this. Update all users.
17912
17913 2008-06-04 Robert Millan <rmh@aybabtu.com>
17914
17915 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17916 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17917 (make_device_map): Likewise.
17918
17919 2008-06-01 Robert Millan <rmh@aybabtu.com>
17920
17921 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17922 before dereferencing it.
17923
17924 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17925 union with fat12/fat16-specific ones. Add some new fields, including
17926 `num_serial' for both versions.
17927 (struct grub_fat_data): Add `uuid' member.
17928 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17929 names. Initialize `data->uuid' using `num_serial'.
17930 (grub_fat_uuid): New function.
17931 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17932
17933 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17934 (grub_reiserfs_uuid): New function.
17935 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17936 member.
17937
17938 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17939 (grub_xfs_uuid): New function.
17940 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17941
17942 2008-06-01 Robert Millan <rmh@aybabtu.com>
17943
17944 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17945 code that is backward compatible with pre-uuid search command.
17946
17947 2008-05-31 Robert Millan <rmh@aybabtu.com>
17948
17949 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17950 floppies after everything else, to ensure floppy drive isn't accessed
17951 unnecessarily (patch from Bean).
17952
17953 2008-05-31 Robert Millan <rmh@aybabtu.com>
17954
17955 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17956 not print device names when we were asked to set a variable.
17957
17958 2008-05-31 Robert Millan <rmh@aybabtu.com>
17959
17960 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17961 using "cursor-on" and "cursor-off" commands (understood at least by
17962 the Open Firmware flavour on OLPC).
17963
17964 2008-05-31 Michael Gorven <michael@gorven.za.net>
17965
17966 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17967 on and off sequences.
17968
17969 2008-05-31 Robert Millan <rmh@aybabtu.com>
17970
17971 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17972 * util/update-grub.in: Likewise.
17973
17974 2008-05-30 Pavel Roskin <proski@gnu.org>
17975
17976 * util/biosdisk.c (linux_find_partition): Simplify logic and
17977 make the code more universal. Keep special processing for
17978 devfs, but use a simple rule for all other devices. If the
17979 device ends with a number, append 'p' and the partition number.
17980 Otherwise, append only the partition number.
17981
17982 2008-05-30 Robert Millan <rmh@aybabtu.com>
17983
17984 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17985 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17986 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17987 the `root' parameter to Linux.
17988
17989 2008-05-30 Robert Millan <rmh@aybabtu.com>
17990
17991 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17992 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17993 --fs_uuid with --fs-uuid.
17994 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17995 all filesystems support them).
17996
17997 2008-05-30 Robert Millan <rmh@aybabtu.com>
17998
17999 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
18000 grub_printf() flags, since we're printing in units of 2 bytes.
18001
18002 2008-05-30 Robert Millan <rmh@aybabtu.com>
18003
18004 * util/grub.d/00_header.in: Remove obsolete comment referencing
18005 convert_system_path_to_grub_path().
18006 * util/update-grub.in: Likewise.
18007 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18008 (convert_system_path_to_grub_path): Add a warning message explaining
18009 that this function is deprecated. Rely on is_path_readable_by_grub()
18010 for the readability checks.
18011 (font_path): Use is_path_readable_by_grub() for the readability
18012 check rather than convert_system_path_to_grub_path().
18013
18014 2008-05-30 Robert Millan <rmh@aybabtu.com>
18015
18016 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18017 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18018 converting it first.
18019 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18020 grub.cfg for access to font file, and afterwards call it again to set
18021 the root device.
18022
18023 2008-05-30 Robert Millan <rmh@aybabtu.com>
18024
18025 * commands/search.c (options): Add --fs_uuid option.
18026 (search_fs_uuid): New function.
18027 (grub_cmd_search): Fix --set argument passing.
18028 Use search_fs_uuid() when requested via --fs_uuid.
18029 (grub_search_init): Update help message.
18030 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18031 and redeclare it as an array of 16-bit words.
18032 (grub_ext2_uuid): New function.
18033 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18034 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18035 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18036 (GRUB_DEVICE_BOOT_UUID): New variables.
18037 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18038 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18039 whenever possible.
18040 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18041 just assume `root' variable has the right value.
18042 * util/grub.d/10_linux.in: Likewise.
18043 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18044 via PRINT_FS_UUID.
18045 (main): Recognise `-t fs_uuid' argument.
18046
18047 2008-05-30 Robert Millan <rmh@aybabtu.com>
18048
18049 * util/biosdisk.c (map): Redefine structure to hold information
18050 about GRUB drive name.
18051 (get_drive): Reimplement without assuming (and verifying) BIOS-like
18052 drive names.
18053 (call_hook): Remove.
18054 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18055 member. Assume drive has partitions.
18056 (grub_util_biosdisk_open): Access device names via `.device' struct
18057 member.
18058 (open_device): Likewise.
18059 (find_drive): Likewise.
18060 (read_device_map): Adjust map[] usage to match the new struct
18061 definition. Don't check for duplicates (still possible, but not cheap
18062 anymore).
18063 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18064 (make_device_name): Remove assumption of BIOS-like drive names.
18065
18066 2008-05-30 Pavel Roskin <proski@gnu.org>
18067
18068 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18069 compiling execute.c doesn't need grub_script.tab.h anymore.
18070 (normal/command.c_DEPENDENCIES): Likewise.
18071 (normal/function.c_DEPENDENCIES): Likewise.
18072 * conf/i386-ieee1275.rmk: Likewise.
18073 * conf/i386-linuxbios.rmk: Likewise.
18074 * conf/i386-pc.rmk: Likewise.
18075 * conf/powerpc-ieee1275.rmk: Likewise.
18076 * conf/sparc64-ieee1275.rmk: Likewise.
18077
18078 2008-05-29 Pavel Roskin <proski@gnu.org>
18079
18080 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18081 when scanning metadata for volume group name.
18082
18083 * include/grub/script.h: Don't include grub_script.tab.h. It's
18084 a generated file, which may only be included from the files with
18085 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18086 use union YYSTYPE, as the later allows forward declaration.
18087 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18088
18089 2008-05-29 Robert Millan <rmh@aybabtu.com>
18090
18091 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18092 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18093 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18094 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18095 scan codes.
18096
18097 2008-05-29 Robert Millan <rmh@aybabtu.com>
18098
18099 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18100 control key combinations.
18101
18102 2008-05-29 Robert Millan <rmh@aybabtu.com>
18103
18104 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18105 * util/ieee1275/grub-install.in: ... to here.
18106 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18107 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18108 (grub_install_SOURCES): Likewise.
18109
18110 2008-05-29 Robert Millan <rmh@aybabtu.com>
18111
18112 * fs/affs.c: Update copyright year.
18113 * fs/ext2.c: Likewise.
18114 * fs/fshelp.c: Likewise.
18115 * fs/hfsplus.c: Likewise.
18116 * fs/ntfs.c: Likewise.
18117 * fs/xfs.c: Likewise.
18118 * include/grub/fshelp.h: Likewise.
18119 * util/grub-mkdevicemap.c: Likewise.
18120
18121 2008-05-28 Robert Millan <rmh@aybabtu.com>
18122
18123 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18124 might need to be fatfs to support some firmware implementations
18125 (e.g. OFW or EFI).
18126
18127 2008-05-28 Robert Millan <rmh@aybabtu.com>
18128
18129 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18130 devices.
18131 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18132 (make_device_map): Likewise.
18133
18134 2008-05-20 Bean <bean123ch@gmail.com>
18135
18136 * fs/fshelp.c (grub_fshelp_map_block): New function.
18137 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18138 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18139
18140 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18141 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18142 (grub_fshelp_journal): New structure.
18143 (grub_fshelp_map_block): New function prototype.
18144 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18145 (grub_fshelp_map_block): Likewise.
18146
18147 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18148 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18149 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18150 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18151 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18152 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18153 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18154 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18155 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18156 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18157 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18158 (grub_ext2_sblock): New members for journal support.
18159 (grub_ext3_journal_header): New structure.
18160 (grub_ext3_journal_revoke_header): Likewise.
18161 (grub_ext3_journal_block_tag): Likewise.
18162 (grub_ext3_journal_sblock): Likewise.
18163 (grub_fshelp_node): New members logfile and journal.
18164 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18165 grub_fshelp_map_block to get real block number.
18166 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18167 number.
18168 (grub_ext2_read_inode): Likewise.
18169 (grub_ext3_get_journal): New function.
18170 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18171 (grub_ext2_close): Release memory used by journal.
18172
18173 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18174 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18175 (grub_reiserfs_transaction_header): Renamed to
18176 grub_reiserfs_description_block, replace field data with real_blocks.
18177 (grub_reiserfs_commit_block): New structure.
18178 (grub_reiserfs_data): New member journal.
18179 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18180 number.
18181 (grub_reiserfs_read_symlink): Likewise.
18182 (grub_reiserfs_iterate_dir): Likewise.
18183 (grub_reiserfs_open): Likewise.
18184 (grub_reiserfs_read): Likewise.
18185 (grub_reiserfs_get_journal): New function.
18186 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18187 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18188 using grub_reiserfs_get_journal.
18189 (grub_reiserfs_close): Release memory used by journal.
18190
18191 * fs/affs.c (grub_affs_read_block): Change block type to
18192 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18193
18194 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18195
18196 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18197
18198 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18199
18200 * fs/udf.c (grub_udf_read_block): Change block type to
18201 grub_disk_addr_t. Use type cast to avoid warning.
18202
18203 * fs/xfs.c (grub_xfs_read_block): Likewise.
18204
18205 2008-05-16 Christian Franke <franke@computer.org>
18206
18207 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18208 to ensure that break with ESC will always work.
18209 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18210 Remove ESC from keyboard queue.
18211
18212 2008-05-16 Christian Franke <franke@computer.org>
18213
18214 * util/biosdisk.c: [__CYGWIN__] Add includes.
18215 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18216 (get_os_disk): Move variable declarations to OS specific
18217 parts to avoid warning.
18218 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18219 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18220 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18221 Cygwin.
18222 * util/getroot.c: [__CYGWIN__] Add includes.
18223 (strip_extra_slashes): Fix "/" case.
18224 [__CYGWIN__] (get_win32_path): New function.
18225 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18226 [__CYGWIN__] (find_root_device): Disable.
18227 [__CYGWIN__] (get_bootsec_serial): New function.
18228 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18229 [__linux__] (grub_guess_root_device): Add early returns to simplify
18230 structure.
18231 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18232 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18233 check for Linux only.
18234
18235 2008-05-15 Bean <bean123ch@gmail.com>
18236
18237 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18238 keyboard hang problem in apple's intel mac.
18239
18240 2008-05-09 Robert Millan <rmh@aybabtu.com>
18241
18242 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18243 devices.
18244 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18245 (make_device_map): Likewise.
18246 Reported by Aurelien Jarno <aurel32@debian.org>
18247
18248 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
18249
18250 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18251 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18252 (make_device_map): Output entries for xvd type disks.
18253
18254 2008-05-07 Robert Millan <rmh@aybabtu.com>
18255
18256 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18257 devices.
18258 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18259 (make_device_map): Likewise.
18260 Reported by Roland Dreier <rdreier@cisco.com>
18261
18262 2008-05-07 Robert Millan <rmh@aybabtu.com>
18263
18264 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18265 grub_strstr() call. Correct a few mistakes in failure path handling.
18266
18267 2008-05-06 Robert Millan <rmh@aybabtu.com>
18268
18269 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18270 Do not print a trailing slash (therefore, the root directory is an
18271 empty string).
18272 (convert_system_path_to_grub_path): Do not remove trailing slash
18273 from make_system_path_relative_to_its_root() output.
18274
18275 * util/i386/pc/grub-install.in: Add trailing slash to output from
18276 make_system_path_relative_to_its_root().
18277
18278 2008-05-06 Robert Millan <rmh@aybabtu.com>
18279
18280 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18281 ensures that output lines aren't intermangled with those sent to
18282 stderr (via grub_util_info()).
18283 * util/grub-probe.c (grub_refresh): Likewise.
18284 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18285
18286 2008-05-05 Christian Franke <franke@computer.org>
18287
18288 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18289 Add Cygwin device names.
18290 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18291 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18292 (check_device): Return error instead of success on empty name.
18293 (make_device_map): Move label inside linux specific code to
18294 prevent compiler warning.
18295
18296 2008-04-30 Robert Millan <rmh@aybabtu.com>
18297
18298 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18299 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18300 first boot option.
18301 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18302
18303 2008-04-29 Robert Millan <rmh@aybabtu.com>
18304
18305 * docs/grub.cfg: New file (example GRUB configuration).
18306
18307 2008-04-26 Robert Millan <rmh@aybabtu.com>
18308
18309 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18310 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18311 and `disk/ieee1275/nand.c'.
18312
18313 2008-04-25 Bean <bean123ch@gmail.com>
18314
18315 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18316 i386-linuxbios.
18317
18318 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18319 change the buffer size to 4096 for cdrom device.
18320
18321 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18322 and nand.mod.
18323 (_linux_mod_SOURCES): New variable.
18324 (_linux_mod_CFLAGS): Likewise.
18325 (_linux_mod_LDFLAGS): Likewise.
18326 (linux_mod_SOURCES): Likewise.
18327 (linux_mod_CFLAGS): Likewise.
18328 (linux_mod_LDFLAGS): Likewise.
18329 (nand_mod_SOURCES): Likewise.
18330 (nand_mod_CFLAGS): Likewise.
18331 (nand_mod_LDFLAGS): Likewise.
18332
18333 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18334 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18335 type property. (nand device in olpc don't have this property)
18336
18337 * include/grub/disk.h (grub_disk_dev_id): New macro
18338 GRUB_DISK_DEVICE_NAND_ID.
18339
18340 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18341 function prototype.
18342 (grub_rescue_cmd_initrd): Likewise.
18343
18344 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18345 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18346 ofw_cif_handler and ofw_idt, adjust padding number.
18347
18348 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18349 GRUB_MACHINE_IEEE1275 is defined.
18350
18351 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18352 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18353
18354 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18355 on nested function heap_init.
18356 (grub_upper_mem): New variable for i386-ieee1275.
18357 (grub_get_extended_memory): New function for i386-ieee1275.
18358 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18359
18360 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18361 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18362 property.
18363
18364 * loader/i386/ieee1275/linux.c: New file.
18365
18366 * loader/i386/ieee1275/linux_normal.c: New file.
18367
18368 * disk/ieee1275/nand.c: New file.
18369
18370 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18371
18372 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18373 value.
18374 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18375
18376 2008-04-18 Robert Millan <rmh@aybabtu.com>
18377
18378 Restructures early code path on ieee1275 to unify grub_main() as
18379 the first C function that is executed in every platform.
18380
18381 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18382 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18383 cmain().
18384 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18385 * kern/ieee1275/cmain.c (cmain): Rename to ...
18386 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18387 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18388 at the beginning.
18389
18390 2008-04-18 Robert Millan <rmh@aybabtu.com>
18391
18392 * util/update-grub.in: Fix syntax error when setting
18393 `GRUB_PRELOAD_MODULES'.
18394 Reported by Stephane Chazelas <stephane@artesyncp.com>
18395
18396 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18397
18398 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18399 section into account, newer toolchains generate unique build ids
18400 * configure.ac: remove the test for --build-id=none acceptance,
18401 we want build ids to be preserved
18402 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18403 far from other sections don't cause the raw binary images grow
18404 size
18405
18406 2008-04-15 Robert Millan <rmh@aybabtu.com>
18407
18408 * disk/lvm.c: Update copyright year.
18409 * kern/misc.c: Likewise.
18410
18411 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18412
18413 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
18414 there is no memory left for physical volume name.
18415
18416 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18417
18418 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18419 volume name mapping to support bigger than 9 character names properly.
18420
18421 2008-04-13 Robert Millan <rmh@aybabtu.com>
18422
18423 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18424 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18425
18426 2008-04-13 Christian Franke <franke@computer.org>
18427
18428 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18429 to create a floppy emulation boot CD when non emulation mode
18430 does not work.
18431 Enable Joliet CD filesystem extension.
18432
18433 2008-04-13 Robert Millan <rmh@aybabtu.com>
18434
18435 * kern/misc.c (grub_strncat): Fix off-by-one error.
18436 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18437
18438 * kern/env.c (grub_env_context_close): Clear current context, not
18439 previous one.
18440 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18441
18442 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18443
18444 2008-04-13 Robert Millan <rmh@aybabtu.com>
18445
18446 Improve robustness when handling LVM.
18447
18448 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
18449 (and leave `*p' unmodified).
18450 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18451 through it.
18452 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18453 iterating through it.
18454 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18455 through it.
18456 (grub_lvm_scan_device): Check the return value (and fail gracefully
18457 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18458 Don't assume `vg->pvs != NULL' when iterating through it.
18459
18460 2008-04-13 Robert Millan <rmh@aybabtu.com>
18461
18462 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18463 * genmk.rb (partmap): New variable.
18464 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18465 (#{partmap}): New target rule.
18466 * genpartmaplist.sh: New file.
18467 * Makefile.in (pkglib_DATA): Add partmap.lst.
18468 (partmap.lst): New target rule.
18469 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18470 modules (including all partition maps), instead of preloading them.
18471
18472 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18473
18474 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18475 `linux-boot-prober' (if installed) to detect other operating
18476 systems which are installed on the computer and add them to
18477 the boot menu.
18478 * conf/common.rmk: Build and install 30_os-prober.
18479
18480 2008-04-12 Robert Millan <rmh@aybabtu.com>
18481
18482 * kern/powerpc/ieee1275/init.c: Move from here ...
18483 * kern/ieee1275/init.c: ... to here. Update all users.
18484
18485 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18486 * kern/ieee1275/cmain.c: ... to here. Update all users.
18487
18488 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18489 * kern/ieee1275/openfw.c: ... to here. Update all users.
18490
18491 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18492 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18493
18494 2008-04-10 Pavel Roskin <proski@gnu.org>
18495
18496 * configure.ac: Always use "_cv_" in cache variables for
18497 compatibility with Autoconf 2.62.
18498
18499 2008-04-07 Robert Millan <rmh@aybabtu.com>
18500
18501 Revert grub/machine/init.h addition by Pavel (since it breaks on
18502 i386-ieee1275 and others):
18503 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18504 * util/powerpc/ieee1275/misc.c: Likewise.
18505
18506 2008-04-07 Robert Millan <rmh@aybabtu.com>
18507
18508 * util/grub-probe.c (probe): Improve error message.
18509
18510 2008-04-07 Robert Millan <rmh@aybabtu.com>
18511
18512 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18513 (this prevents the presence of a bogus entry from ruining the whole
18514 thing).
18515
18516 2008-04-06 Pavel Roskin <proski@gnu.org>
18517
18518 * util/biosdisk.c: Include grub/util/biosdisk.h.
18519 * util/grub-fstest.c (execute_command): Make static.
18520 * util/grub-mkdevicemap.c (check_device): Likewise.
18521 * util/i386/pc/misc.c: Include grub/machine/init.h.
18522 * util/powerpc/ieee1275/misc.c: Likewise.
18523 * util/lvm.c: Include grub/util/lvm.h.
18524 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18525 grub/cache.h.
18526 * util/raid.c: Include grub/util/raid.h.
18527 (grub_util_getdiskname): Make static.
18528
18529 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18530 grub_hostfs_fini(), as they are called from grub_init_all() and
18531 grub_fini_all() respectively. This fixes an infinite loop in
18532 grub-fstest due to double registration of hostfs.
18533 Reported by Christian Franke <Christian.Franke@t-online.de>
18534
18535 2008-04-05 Pavel Roskin <proski@gnu.org>
18536
18537 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18538 all 8 functions. Otherwise, probe function 0 only.
18539
18540 2008-04-04 Pavel Roskin <proski@gnu.org>
18541
18542 * commands/lspci.c (grub_lspci_iter): Print the bus number
18543 correctly.
18544
18545 * commands/lspci.c (grub_pci_classes): Fix typos.
18546 (grub_lspci_iter): Don't print func twice. Print vendor ID
18547 before device ID, as it's normally done.
18548
18549 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18550 Fix signedness warnings.
18551 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18552 Likewise.
18553 * util/ieee1275/get_disk_name.c: Include config.h so that
18554 _GNU_SOURCE is defined and getline() is declared. Mark an
18555 unused argument as such. Fix a signedness warning.
18556
18557 2008-04-02 Pavel Roskin <proski@gnu.org>
18558
18559 * genkernsyms.sh.in: Use more robust assignments for CC and
18560 srcdir. Quote srcdir.
18561 * gensymlist.sh.in: Likewise. Assert at the compile time that
18562 the symbol table is not empty.
18563
18564 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18565 * fs/cpio.c (grub_cpio_read): Likewise.
18566
18567 2008-04-01 Pavel Roskin <proski@gnu.org>
18568
18569 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18570 * disk/host.c (grub_host_open): Likewise.
18571 * disk/loopback.c (grub_loopback_open): Likewise.
18572 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18573 disk->id as in disk/host.c, not a multi-character constant.
18574
18575 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18576 later is obsolete, potentially dangerous and sets a bad example.
18577 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18578 * util/misc.c (grub_util_get_image_size): Likewise.
18579
18580 * disk/loopback.c (options): Improve help for "--partitions".
18581
18582 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18583 options to align them with the short options, e.g. "echo -e".
18584
18585 2008-03-31 Bean <bean123ch@gmail.com>
18586
18587 * video/reader/png.c (grub_png_data): New member is_16bit and
18588 image_data.
18589 (grub_png_decode_image_header): Detect 16 bit png image.
18590 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18591 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18592 (grub_video_reader_png): Release memory occupied by image_data.
18593
18594 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18595 4096 bytes.
18596 (grub_nfs_mount): Skip the test for sector per cluster.
18597
18598 * include/grub/ntfs.h (MAX_SPC): Removed.
18599
18600 2008-03-31 Bean <bean123ch@gmail.com>
18601
18602 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18603 (grub_probe_SOURCES): Add fs/afs.c.
18604 (grub_fstest_SOURCES): Likewise.
18605 (afs_mod_SOURCES): New variable.
18606 (afs_mod_CFLAGS): Likewise.
18607 (afs_mod_LDFLAGS): Likewise.
18608
18609 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18610 (grub_emu_SOURCES): Likewise.
18611
18612 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18613
18614 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18615
18616 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18617
18618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18619
18620 * fs/afs.c: New file.
18621
18622 2008-03-30 Pavel Roskin <proski@gnu.org>
18623
18624 * disk/host.c: Include grub/misc.h to fix a warning.
18625 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18626 warnings about implicit declarations.
18627
18628 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18629 variable.
18630 * include/grub/i386/loader.h: Change declaration of
18631 grub_linux_boot() to match what grub_loader_set() expects.
18632 * util/getroot.c (grub_guess_root_device): Return const char* to
18633 fix a warning.
18634 * util/grub-probe.c (probe): Fix a warning about uninitialized
18635 abstraction_name variable.
18636 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18637 second argument as unused to fix a warning.
18638
18639 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18640 missing grub_error() call.
18641
18642 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18643 2.60 and newer uses it to define datadir.
18644
18645 * commands/sleep.c: Fix warning about implicit declaration.
18646 * disk/memdisk.c: Likewise.
18647 * loader/aout.c: Likewise.
18648 * loader/i386/bsd_normal.c: Likewise.
18649 * util/grub-probe.c: Likewise.
18650
18651 * commands/i386/cpuid.c (has_longmode): Make static.
18652 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18653 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18654
18655 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18656 GDT. This is more robust, as %ds can change.
18657 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18658 calling real_to_prot().
18659 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18660
18661 2008-03-28 Pavel Roskin <proski@gnu.org>
18662
18663 * kern/i386/pc/startup.S: Assert that uncompressed functions
18664 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18665 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18666 code, as they push parts of the code (error handlers) beyond
18667 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18668 code as correctness and size.
18669
18670 2008-03-28 Pavel Roskin <proski@gnu.org>
18671
18672 * kern/i386/pc/startup.S
18673 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18674 data block address to the real mode, keep offset minimal. This
18675 works around a bug in AWARD BIOS on old Athlon systems, which
18676 makes CD detection hang.
18677
18678 2008-03-26 Pavel Roskin <proski@gnu.org>
18679
18680 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18681 const.
18682 * include/grub/normal.h: Add grub_parse_color_name_pair()
18683 declaration.
18684
18685 2008-03-24 Bean <bean123ch@gmail.com>
18686
18687 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18688 (cd_count): Removed.
18689 (cd_drive): New variable.
18690 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18691 (grub_biosdisk_call_hook): Likewise.
18692 (grub_biosdisk_iterate): Change cdrom detection method.
18693 (grub_biosdisk_open): Replace cd_start with cd_drive.
18694 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18695 detect cdrom device.
18696
18697 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18698 Removed.
18699 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18700 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18701 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18702 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18703 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18704 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18705 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18706 (grub_biosdisk_cdrp): New structure.
18707 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18708
18709 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18710
18711 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18712 device.
18713
18714 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18715 New function.
18716
18717 2008-03-20 Robert Millan <rmh@aybabtu.com>
18718
18719 Remove 2 TiB limit in ata.mod.
18720 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18721 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18722 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18723 grub_uint64_t instead of grub_uint32_t.
18724
18725 2008-03-05 Bean <bean123ch@gmail.com>
18726
18727 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18728 (grub_multiboot): Set boot device.
18729
18730 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18731
18732 2008-03-02 Bean <bean123ch@gmail.com>
18733
18734 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18735 symlink_buffer.
18736
18737 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18738
18739 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18740 texinfo.tex.
18741
18742 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18743 modified.
18744
18745 * docs/fdl.texi: New file.
18746
18747 * docs/mdate-sh: New file. Copied from gnulib.
18748 * docs/texinfo.tex: Likewise.
18749
18750 * config.guess: Updated from gnulib.
18751 * install-sh: Likewise.
18752
18753 2008-02-28 Robert Millan <rmh@aybabtu.com>
18754
18755 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18756 (aout_mod_SOURCES): New variable.
18757 (aout_mod_CFLAGS): Likewise.
18758 (aout_mod_LDFLAGS): Likewise.
18759
18760 * conf/i386-ieee1275.rmk: Likewise.
18761
18762 2008-02-28 Robert Millan <rmh@aybabtu.com>
18763
18764 * util/update-grub.in: Reorganise terminal validity check. Accept
18765 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18766 Based on suggestion by Franklin PIAT.
18767
18768 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18769
18770 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18771 function.
18772 * util/getroot.c (grub_util_check_block_device): New function that
18773 returns the given argument if it is a block device and returns NULL else.
18774 * util/grub-probe.c (argument_is_device): New variable.
18775 (probe): Promote device_name from a variable to an argument. Receive
18776 device_name from grub_util_check_block_device() if path is NULL and from
18777 grub_guess_root_device() else. Do not free() device_name anymore.
18778 (options): Introduce new parameter '-d, --device'.
18779 (main): Add description of the new parameter to the help screen.
18780 Rename path variable to argument. Set argument_is_device if the '-d'
18781 option is given. Pass argument to probe() depending on
18782 argument_is_device.
18783
18784 2008-02-24 Bean <bean123ch@gmail.com>
18785
18786 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18787 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18788 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18789 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18790 (GRUB_ISO9660_VOLDESC_END): Likewise.
18791 (grub_iso9660_primary_voldesc): New member escape.
18792 (grub_iso9660_data): New member joliet.
18793 (grub_iso9660_convert_string): New function.
18794 (grub_iso9660_mount): Detect joliet extension.
18795 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18796 (grub_iso9660_iso9660_label): Likewise.
18797
18798 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18799 (grub_setup_SOURCES): Add fs/udf.c.
18800 (grub_fstest_SOURCES): Likewise.
18801 (udf_mod_SOURCES): New variable.
18802 (udf_mod_CFLAGS): Likewise.
18803 (udf_mod_LDFLAGS): Likewise.
18804
18805 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18806 (grub_emu_SOURCES): Likewise.
18807
18808 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18809
18810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18811
18812 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18813
18814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18815
18816 * fs/udf.c: New file.
18817
18818 2008-02-24 Robert Millan <rmh@aybabtu.com>
18819
18820 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
18821 (normal/lexer.c_DEPENDENCIES): New variables.
18822 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18823 (normal/lexer.c_DEPENDENCIES): Likewise.
18824 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
18825 (normal/lexer.c_DEPENDENCIES): Likewise.
18826 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
18827 (normal/lexer.c_DEPENDENCIES): Likewise.
18828 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18829 (normal/lexer.c_DEPENDENCIES): Likewise.
18830 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18831 (normal/lexer.c_DEPENDENCIES): Likewise.
18832
18833 2008-02-23 Robert Millan <rmh@aybabtu.com>
18834
18835 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
18836 since they were intended to be in hex. This didn't break previously
18837 because of a bug in gpt_partition_map_iterate() (see below).
18838
18839 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
18840 when checking the validity of GPT header.
18841 Remove `partno', since it always provides the same information as `i'.
18842
18843 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
18844
18845 * include/grub/efi/time.h: Fix a wrong comment.
18846
18847 2008-02-19 Pavel Roskin <proski@gnu.org>
18848
18849 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18850 message.
18851
18852 2008-02-19 Bean <bean123ch@gmail.com>
18853
18854 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18855 (aout_mod_SOURCES): New variable.
18856 (aout_mod_CFLAGS): Likewise.
18857 (aout_mod_LDFLAGS): Likewise.
18858 (_bsd_mod_SOURCES): New variable.
18859 (_bsd_mod_CFLAGS): Likewise.
18860 (_bsd_mod_LDFLAGS): Likewise.
18861 (bsd_mod_SOURCES): New variable.
18862 (bsd_mod_CFLAGS): Likewise.
18863 (bsd_mod_LDFLAGS): Likewise.
18864
18865 * include/grub/aout.h: New file.
18866
18867 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18868
18869 * include/grub/i386/bsd.h: New file.
18870
18871 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18872 to make it public.
18873
18874 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18875 function is called, so that it's possible to change it inside the hook.
18876 (grub_elf64_load): Likewise.
18877 (grub_elf_file): Don't close the file if elf header is not found.
18878 (grub_elf_close): Close the file if grub_elf_file fails (The new
18879 grub_elf_file won't close it).
18880 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18881 (grub_elf64_size): Likewise.
18882
18883 * kern/i386/loader.S (grub_unix_real_boot): New function.
18884
18885 * loader/aout.c: New file.
18886
18887 * loader/i386/bsd.c: New file.
18888
18889 * loader/i386/bsd_normal.c: New file.
18890
18891 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18892
18893 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
18894 can test other formats.
18895
18896 2008-02-19 Robert Millan <rmh@aybabtu.com>
18897
18898 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18899 (grub_gpt_partition_type_empty): Redefine with macro from
18900 `<grub/gpt_partition.h>'.
18901 (gpt_partition_map_iterate): Adjust partition type comparison.
18902
18903 Export `entry' as partmap-specific `part.data' struct.
18904 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18905
18906 * include/grub/gpt_partition.h (grub_gpt_header)
18907 (grub_gpt_partentry): ... to here (new file).
18908
18909 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18910
18911 (grub_gpt_partition_type_bios_boot): New const variable, defined
18912 with macro from `<grub/gpt_partition.h>'.
18913
18914 (setup): Replace `first_start' with `embed_region', which keeps
18915 track of the embed region (and is partmap-agnostic).
18916
18917 Replace find_first_partition_start() with find_usable_region(),
18918 which finds a usable region for embedding using partmap-specific
18919 knowledge (supports PC/MSDOS and GPT).
18920
18921 Fix all assumptions that the embed region start at sector 1, using
18922 `embed_region.start' from now on. Similarly, use `embed_region.end'
18923 rather than `first_start' to calculate available size.
18924
18925 In grub_util_info() message, replace "into after the MBR" with an
18926 indication of the specific sector our embed region starts at.
18927
18928 2008-02-19 Robert Millan <rmh@aybabtu.com>
18929
18930 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18931 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18932 `commands/reboot.c'.
18933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18934 (halt_mod_SOURCES): Likewise.
18935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18936 (halt_mod_SOURCES): Likewise.
18937
18938 2008-02-17 Christian Franke <franke@computer.org>
18939
18940 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18941
18942 2008-02-17 Robert Millan <rmh@aybabtu.com>
18943
18944 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18945 set `first_start' to 0 for non-PC/MSDOS partition maps.
18946
18947 2008-02-16 Robert Millan <rmh@aybabtu.com>
18948
18949 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18950 do not assume partition map is PC/MSDOS before performing checks that
18951 are specific to that layout.
18952
18953 2008-02-13 Robert Millan <rmh@aybabtu.com>
18954
18955 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18956 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18957 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18958
18959 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18960
18961 * configure.ac: Only a cosmetic change on the handling of
18962 -fno-stack-protector.
18963
18964 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
18965
18966 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18967 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18968 reboot.c.
18969 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18970 (halt_mod_SOURCES): New variable.
18971 (halt_mod_CFLAGS): Likewise.
18972 (halt_mod_LDFLAGS): Likewise.
18973 (reboot_mod_SOURCES): Likewise.
18974 (reboot_mod_CFLAGS): Likewise.
18975 (reboot_mod_LDFLAGS): Likewise.
18976
18977 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18978 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18979 reboot.c.
18980 (halt_mod_SOURCES): Likewise.
18981 (reboot_mod_SOURCES): Likewise.
18982
18983 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18984 commands/i386/pc/reboot.c by commands/reboot.c.
18985 (reboot_mod_SOURCES): Likewise.
18986
18987 * commands/i386/pc/reboot.c: merge this file ...
18988
18989 * commands/ieee1275/reboot.c: ... and this file ...
18990
18991 * commands/reboot.c: ... to this file.
18992 Add some precompiler directive to include the correct header for
18993 each machine.
18994
18995 * commands/ieee1275/halt.c: move this file ...
18996
18997 * commands/halt.c: ... to here.
18998 Add some precompiler directive to include the correct header for
18999 each machine.
19000
19001 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19002 (grub_halt): Likewise.
19003
19004 * kern/efi/efi.c (grub_reboot): New function.
19005 (grub_halt): Likewise.
19006
19007 2008-02-12 Robert Millan <rmh@aybabtu.com>
19008
19009 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19010 /dev (like it is done for /dev/mapper). This doesn't provide support
19011 for EVMS, but at least it is now easy to identify the problem when it
19012 arises.
19013
19014 2008-02-11 Robert Millan <rmh@aybabtu.com>
19015
19016 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19017 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19018 comparing it with -1, not 0.
19019
19020 2008-02-10 Robert Millan <rmh@aybabtu.com>
19021
19022 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19023 `disk/lvm.c'.
19024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19025 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19026
19027 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19028 `disk/lvm.c' to the end of the list.
19029 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19030 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19031
19032 2008-02-10 Robert Millan <rmh@aybabtu.com>
19033
19034 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19035 grub_print_error() instead. This will let user know why we're entering
19036 rescue mode.
19037 Based on suggestions from Sam Morris.
19038
19039 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
19040
19041 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19042 on remaining N args, instead of "--" arg N times.
19043
19044 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19045
19046 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19047 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19048 pattern for unknown glyphs.
19049
19050 2008-02-09 Robert Millan <rmh@aybabtu.com>
19051
19052 * configure.ac: Probe for `help2man'.
19053 * Makefile.in (builddir): New variable.
19054 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19055 or otherwise add a few flags/options to it.
19056 (install-local): For every executable utility or script that is
19057 installed, invoke $(HELP2MAN) to install a manpage based on --help
19058 output.
19059
19060 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19061 that it doesn't prevent --help from working in build tree.
19062
19063 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19064 with `bug-grub@gnu.org'.
19065 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19066 * util/update-grub.in (usage): New function.
19067 Implement proper argument check, with support for --help and --version
19068 (as well as existing -y).
19069
19070 2008-02-09 Christian Franke <franke@computer.org>
19071
19072 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19073 avoid overwriting previous output.
19074 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19075
19076 2008-02-09 Robert Millan <rmh@aybabtu.com>
19077
19078 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19079 drawing the menu.
19080
19081 2008-02-09 Robert Millan <rmh@aybabtu.com>
19082
19083 * commands/sleep.c: New file.
19084 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19085 (sleep_mod_SOURCES): New variable.
19086 (sleep_mod_CFLAGS): Likewise.
19087 (sleep_mod_LDFLAGS): Likewise.
19088
19089 2008-02-09 Robert Millan <rmh@aybabtu.com>
19090
19091 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19092 situations in which we can deduce the RAID size and the superblock
19093 doesn't match it.
19094
19095 2008-02-09 Robert Millan <rmh@aybabtu.com>
19096
19097 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19098 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19099 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19100
19101 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19102 and return a grub_diskmemberlist_t composed of physical array members.
19103 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19104
19105 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19106 prototype.
19107 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19108 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19109 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19110
19111 * util/grub-probe.c (probe): Move partmap probing code from here ...
19112 (probe_partmap): ... to here.
19113 (probe): Use probe_partmap() once for the disk we're probing, and
19114 additionally, when such disk contains a memberlist() struct member,
19115 once for each disk that is contained in the structure returned by
19116 memberlist().
19117
19118 2008-02-09 Robert Millan <rmh@aybabtu.com>
19119
19120 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19121 environment variable to 'all' in order to obtain debug output from
19122 non-util/ code.
19123 * util/i386/pc/grub-setup.c (main): Likewise.
19124
19125 2008-02-08 Robert Millan <rmh@aybabtu.com>
19126
19127 * disk/raid.c (grub_raid_scan_device): Check for
19128 `array->device[sb.this_disk.number]' rather than for
19129 `array->device[sb.this_disk.number]->name', since the latter is not
19130 guaranteed to be accessible.
19131
19132 2008-02-08 Robert Millan <rmh@aybabtu.com>
19133
19134 * disk/raid.c: Update copyright.
19135 * fs/cpio.c: Likewise.
19136 * include/grub/raid.h: Likewise.
19137 * loader/i386/pc/multiboot.c: Likewise.
19138 * util/hostfs.c: Likewise.
19139
19140 2008-02-08 Robert Millan <rmh@aybabtu.com>
19141
19142 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19143 to a grub_disk_t array.
19144 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19145 `device[x]'.
19146 (grub_raid_scan_device): Replace `device[x].name' accesses with
19147 `device[x]->name'. Simplify initialization of `array->device[x]'.
19148
19149 2008-02-08 Robert Millan <rmh@aybabtu.com>
19150
19151 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19152 grub_dprintf() calls.
19153 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19154 error message.
19155
19156 2008-02-07 Christian Franke <franke@computer.org>
19157
19158 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19159 instead of fseek and ftell to support large files.
19160 (grub_hostfs_read): Likewise.
19161
19162 2008-02-07 Robert Millan <rmh@aybabtu.com>
19163
19164 Patch from Jeroen Dekkers.
19165 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
19166 failure, since successfully reading all array members might not be
19167 required.
19168
19169 2008-02-06 Robert Millan <rmh@aybabtu.com>
19170
19171 * util/grub-probe.c (probe): Simplify partmap probing (with the
19172 assumption that the first word up to the underscore equals to
19173 the module name).
19174
19175 2008-02-06 Christian Franke <franke@computer.org>
19176
19177 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19178 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19179 last block of a cpio or tar stream.
19180 Check for "TRAILER!!!" instead of any empty data
19181 block to detect last block of a cpio stream.
19182 (grub_cpio_dir): Fix constness of variable np.
19183 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19184 cpio or tar trailer is detected. This fixes a crash
19185 on open of a non existing file.
19186
19187 2008-02-05 Bean <bean123ch@gmail.com>
19188
19189 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19190 address of entry.
19191 (grub_multiboot_load_elf64): Likewise.
19192 (grub_multiboot): Initialize mbi structure.
19193
19194 * util/grub-fstest.c: Don't include unused header file script.h.
19195
19196 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
19197 of file.
19198 (grub_fstest_SOURCES): Likewise.
19199
19200 2008-02-05 Robert Millan <rmh@aybabtu.com>
19201
19202 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19203 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19204 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19205 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19206
19207 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19208 (translation_table): Replace hardcoded values with macros
19209 provided by `<grub/term.h>'.
19210
19211 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19212 (keyboard_map): Correct/add a few values, with macros provided
19213 by `<grub/term.h>'.
19214 (keyboard_map_shift): Zero values that don't differ from their
19215 `keyboard_map' equivalents.
19216 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19217 Discard the second scan code that is always sent by Caps lock.
19218 Only use `keyboard_map_shift' when it provides a non-zero value,
19219 otherwise fallback to `keyboard_map'.
19220
19221 2008-02-04 Bean <bean123ch@gmail.com>
19222
19223 * Makefile.in (enable_grub_fstest): New variable.
19224
19225 * conf/common.rmk (grub_fstest_init.lst): New rule.
19226 (grub_fstest_init.h): Likewise.
19227 (grub_fstest_init.c): Likewise.
19228 (util/grub-fstest.c_DEPENDENCIES): New variable.
19229 (grub_fstest_SOURCES): Likewise.
19230
19231 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19232
19233 * util/grub-fstest.c: New file.
19234
19235 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19236
19237 Make grub-setup handle a separate root device.
19238
19239 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19240 so that the root device can be compared with the destination
19241 device.
19242 When embedding the core image, if the root and destination devices
19243 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19244 0xFF.
19245 When not embedding, set ROOT_DRIVE to 0xFF.
19246
19247 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19248
19249 Add support for having a grub directory in a different drive. This
19250 is still only the data handling part.
19251
19252 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19253 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19254 (grub_root_drive): New variable.
19255
19256 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19257 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19258 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19259 as it was.
19260
19261 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19262
19263 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19264 macro.
19265 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19266
19267 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19268 is bogus, because PXE booting does not specify any drive
19269 correctly.
19270
19271 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19272 am not sure if this is really correct.
19273
19274 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19275 is always identical to the boot drive when booting from a CD.
19276
19277 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19278 longer.
19279 (root_drive): New variable.
19280 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19281 (setup_sectors): Push %dx right after popping it, because %dh will
19282 be modified later.
19283 (copy_buffer): Restore %dx.
19284
19285 2008-02-03 Robert Millan <rmh@aybabtu.com>
19286
19287 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19288 use `cdboot.img' for cdrom images.
19289
19290 2008-02-03 Robert Millan <rmh@aybabtu.com>
19291
19292 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19293 only setup gfxterm when `font' command has succeeded.
19294
19295 2008-02-03 Robert Millan <rmh@aybabtu.com>
19296
19297 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19298 (grub_rescue_cmd_multiboot_loader)
19299 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19300
19301 2008-02-03 Pavel Roskin <proski@gnu.org>
19302
19303 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
19304 %edx and %esi from stack only after grub_gate_a20() is called.
19305 grub_gate_a20() clobbers %edx.
19306
19307 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19308
19309 * configure.ac (AC_INIT): Bumped to 1.96.
19310
19311 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19312 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19313 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19314 video/readers/png.c.
19315
19316 2008-02-03 Bean <bean123ch@gmail.com>
19317
19318 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19319 (cdboot_img_SOURCES): New variable.
19320 (cdboot_img_ASFLAGS): New variable.
19321 (cdboot_img_LDFLAGS): New variable.
19322
19323 * boot/i386/pc/cdboot.S: New file.
19324
19325 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19326 (cd_count): Likewise.
19327 (grub_biosdisk_get_drive): Add support for cd device.
19328 (grub_biosdisk_call_hook): Likewise.
19329 (grub_biosdisk_iterate): Likewise.
19330 (grub_biosdisk_open): Likewise.
19331 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19332 (grub_biosdisk_rw): Support reading from cd device.
19333 (GRUB_MOD_INIT): Iterate cd devices.
19334
19335 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19336 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19337 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19338
19339 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19340
19341 2008-02-02 Robert Millan <rmh@aybabtu.com>
19342
19343 * commands/read.c: New file.
19344 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19345 (read_mod_SOURCES): New variable.
19346 (read_mod_CFLAGS): Likewise.
19347 (read_mod_LDFLAGS): Likewise.
19348
19349 2008-02-02 Robert Millan <rmh@aybabtu.com>
19350
19351 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19352 determining whether menu has to be displayed.
19353
19354 2008-02-02 Marco Gerards <marco@gnu.org>
19355
19356 * bus/pci.c: New file.
19357
19358 * include/grub/pci.h: Likewise.
19359
19360 * include/grub/i386/pc/pci.h: Likewise.
19361
19362 * commands/lspci.c: Likewise.
19363
19364 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19365 `lspci.mod'.
19366 (pci_mod_SOURCES): New variable.
19367 (pci_mod_CFLAGS): Likewise.
19368 (pci_mod_LDFLAGS): Likewise.
19369 (lspci_mod_SOURCES): Likewise.
19370 (lspci_mod_CFLAGS): Likewise.
19371 (lspci_mod_LDFLAGS): Likewise.
19372
19373 2008-02-02 Bean <bean123ch@gmail.com>
19374
19375 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19376 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19377
19378 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19379 (grub_xfs_btree_node): New structure.
19380 (grub_xfs_btree_root): New structure.
19381 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19382 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19383 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19384 (GRUB_XFS_EXTENT_SIZE): Likewise.
19385 (grub_xfs_read_block): Support btree format type.
19386 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19387 Use directory block as basic unit.
19388
19389 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19390
19391 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19392 __attribute__ ((__regparm__ (1))).
19393
19394 2008-02-01 Robert Millan <rmh@aybabtu.com>
19395
19396 Correct a mistake in previous commit.
19397
19398 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19399 top.
19400 (normal/command.c_DEPENDENCIES): New variable.
19401
19402 2008-02-01 Robert Millan <rmh@aybabtu.com>
19403
19404 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19405 top.
19406 (normal/command.c_DEPENDENCIES): New variable.
19407 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19408 * conf/i386-ieee1275.rmk: Likewise.
19409 * conf/i386-linuxbios.rmk: Likewise.
19410 * conf/i386-pc.rmk: Likewise.
19411 * conf/sparc64-ieee1275.rmk: Likewise.
19412 * conf/powerpc-ieee1275.rmk: Likewise.
19413 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19414
19415 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19416
19417 2008-02-01 Robert Millan <rmh@aybabtu.com>
19418
19419 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19420 call at beginning of function.
19421
19422 2008-01-31 Pavel Roskin <proski@gnu.org>
19423
19424 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
19425 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19426 (grub_mkrescue_SOURCES): Likewise.
19427 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19428
19429 2008-01-30 Robert Millan <rmh@aybabtu.com>
19430
19431 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19432 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19433 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19434 (grub_probe_SOURCES): ... to here.
19435
19436 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19437 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19438 * conf/i386-ieee1275.rmk: Likewise.
19439 * conf/i386-linuxbios.rmk: Likewise.
19440 * conf/powerpc-ieee1275.rmk: Likewise.
19441
19442 2008-01-30 Tristan Gingold <gingold@free.fr>
19443
19444 * kern/rescue.c: Silently accept empty lines.
19445
19446 2008-01-29 Bean <bean123ch@gmail.com>
19447
19448 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19449 (real_code_2): Code cleanup and change comment style.
19450 (move_memory): Avoid using 32-bit address mode.
19451
19452 2008-01-29 Bean <bean123ch@gmail.com>
19453
19454 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19455 (png_mod_SOURCES): New variable.
19456 (png_mod_CFLAGS): Likewise.
19457 (png_mod_LDFLAGS): Likewise.
19458
19459 * video/readers/png.c: New file.
19460
19461 2008-01-28 Robert Millan <rmh@aybabtu.com>
19462
19463 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19464 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19465 `ifndef GRUB_MOD_GAP' hack.
19466 * util/elf/grub-mkimage.c (add_segments): Likewise.
19467
19468 2008-01-27 Robert Millan <rmh@aybabtu.com>
19469
19470 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19471 `GRUB_MOD_GAP' for platforms in which it's not defined.
19472 * util/elf/grub-mkimage.c (add_segments): Likewise.
19473
19474 2008-01-27 Robert Millan <rmh@aybabtu.com>
19475
19476 Get grub-emu to build again (including parallel builds).
19477
19478 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19479 Split into ...
19480 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19481 (normal/execute.c_DEPENDENCIES): ... this, ...
19482 (grub-emu_DEPENDENCIES): ... and this.
19483
19484 * conf/i386-efi.rmk: Likewise.
19485 * conf/i386-linuxbios.rmk: Likewise.
19486 * conf/i386-ieee1275.rmk: Likewise.
19487 * conf/powerpc-ieee1275.rmk: Likewise.
19488 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19489
19490 2008-01-27 Robert Millan <rmh@aybabtu.com>
19491
19492 * NEWS: Add a few items.
19493
19494 2008-01-27 Robert Millan <rmh@aybabtu.com>
19495
19496 Fix parallel builds with grub-emu. Based on earlier commit for
19497 grub-probe and grub-setup.
19498
19499 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19500 (util/grub-emu.c_DEPENDENCIES): ... this.
19501 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19502 (util/grub-emu.c_DEPENDENCIES): ... this.
19503 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19504 (util/grub-emu.c_DEPENDENCIES): ... this.
19505 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19506 (util/grub-emu.c_DEPENDENCIES): ... this.
19507 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19508 (util/grub-emu.c_DEPENDENCIES): ... this.
19509
19510 2008-01-27 Pavel Roskin <proski@gnu.org>
19511
19512 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19513 to create a gap between _end and the modules added to the image
19514 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19515 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19516 * util/elf/grub-mkimage.c (add_segments): Likewise.
19517
19518 2008-01-26 Pavel Roskin <proski@gnu.org>
19519
19520 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19521 just return an error.
19522
19523 2008-01-26 Bean <bean123ch@gmail.com>
19524
19525 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19526 (grub_reiserfs_get_item): Save offset of the next item.
19527 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19528
19529 2008-01-25 Robert Millan <rmh@aybabtu.com>
19530
19531 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19532 make all filesystem sources appear together (possibly fixing omissions
19533 while at it).
19534 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19535 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19536 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19538
19539 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19540 add `kern/file.c'.
19541 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19542 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19543 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19544 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19545
19546 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19547 (probe): Add a sanity check to make sure of our ability to read
19548 requested files when probing for filesystem type.
19549
19550 * genmk.rb: Update copyright year (2007).
19551
19552 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19553 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19554 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19555 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19556 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19557 : Remove function prototypes.
19558
19559 2008-01-25 Robert Millan <rmh@aybabtu.com>
19560
19561 Revert my previous commits (based on wrong assumption of how grub_errno
19562 works).
19563
19564 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
19565 * kern/file.c (grub_file_open): Likewise.
19566
19567 2008-01-24 Pavel Roskin <proski@gnu.org>
19568
19569 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19570 that hang if GRUB tries to setup colors.
19571 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19572 colors for firmwares that don't support it.
19573 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19574 Recognize Open Hack'Ware, set flags to work around its
19575 limitations.
19576
19577 2008-01-24 Robert Millan <rmh@aybabtu.com>
19578
19579 * kern/file.c (grub_file_open): Do not account previous failures of
19580 unrelated functions when grub_errno is checked for.
19581 Reported by Oleg Strikov.
19582
19583 2008-01-24 Bean <bean123ch@gmail.com>
19584
19585 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19586 (grub_ufs_sblock): New member volume name.
19587 (grub_ufs_find_file): Fix string copy bug.
19588 (grub_ufs_label): Implement this function properly.
19589
19590 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19591 (grub_hfs_iterate_records): Use the correct file number for extents
19592 and catalog file. Fix problem in next index calculation.
19593 (grub_hfs_find_node): Replace recursive function call with loop.
19594 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19595
19596 2008-01-23 Robert Millan <rmh@aybabtu.com>
19597
19598 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19599 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19600 (grub_multiboot2_real_boot): New function prototype.
19601
19602 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19603 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19604
19605 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19606 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19607
19608 2008-01-23 Robert Millan <rmh@aybabtu.com>
19609
19610 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19611 #ifdef'ed out grub_printf().
19612
19613 2008-01-23 Robert Millan <rmh@aybabtu.com>
19614
19615 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19616 grub_dprintf calls, since they make "debug=all" mode unusable.
19617 (grub_console_checkkey): Likewise.
19618
19619 2008-01-23 Robert Millan <rmh@aybabtu.com>
19620
19621 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19622 `term/i386/pc/at_keyboard.c'.
19623 (pkglib_MODULES): Add `serial.mod'.
19624 (serial_mod_SOURCES): New variable.
19625 (serial_mod_CFLAGS): Likewise.
19626 (serial_mod_LDFLAGS): Likewise.
19627
19628 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19629 `<grub/powerpc/ieee1275/console.h>'.
19630 (grub_keyboard_controller_init): New function prototype.
19631 (grub_console_checkkey): Likewise.
19632 (grub_console_getkey): Likewise.
19633
19634 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19635 keyboard on i386.
19636
19637 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19638 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19639
19640 2008-01-23 Robert Millan <rmh@aybabtu.com>
19641
19642 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19643 present, "(memdisk)/boot/grub" becomes the default prefix.
19644
19645 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19646 a memdisk tarball with all the modules. Add --overlay=DIR option that
19647 allows users to overlay additional files into the image.
19648
19649 2008-01-23 Robert Millan <rmh@aybabtu.com>
19650
19651 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19652 and `machine/memory.h'.
19653 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19654 (_multiboot_mod_SOURCES): New variable.
19655 (_multiboot_mod_CFLAGS): Likewise.
19656 (_multiboot_mod_LDFLAGS): Likewise.
19657 (multiboot_mod_SOURCES): Likewise.
19658 (multiboot_mod_CFLAGS): Likewise.
19659 (multiboot_mod_LDFLAGS): Likewise.
19660
19661 * include/grub/i386/ieee1275/loader.h: New file.
19662
19663 * include/grub/i386/ieee1275/machine.h: Likewise.
19664
19665 * include/grub/i386/ieee1275/memory.h: Likewise.
19666
19667 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19668 variable declaration.
19669 (grub_os_area_size): Likewise.
19670
19671 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19672 (grub_lower_mem, grub_upper_mem): New variables.
19673 (grub_stop_floppy): New function (just to make
19674 grub_multiboot2_real_boot() happy).
19675
19676 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19677 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19678 (grub_stop): New function.
19679 Include `"../realmode.S"' and `"../loader.S"'.
19680
19681 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19682 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19683
19684 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19685 rely on grub_multiboot2_real_boot() for final boot.
19686
19687 2008-01-22 Robert Millan <rmh@aybabtu.com>
19688
19689 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19690 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19691 device that doesn't look like an SD card.
19692 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19693 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19694 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19695 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19696 found.
19697
19698 2008-01-22 Robert Millan <rmh@aybabtu.com>
19699
19700 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19701 avoid claiming over our own code.
19702
19703 2008-01-22 Bean <bean123ch@gmail.com>
19704
19705 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19706 (jpeg_mod_SOURCES): New variable.
19707 (jpeg_mod_CFLAGS): Likewise.
19708 (jpeg_mod_LDFLAGS): Likewise.
19709
19710 * video/readers/jpeg.c : New file.
19711
19712 2008-01-22 Bean <bean123ch@gmail.com>
19713
19714 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19715 there are no more items.
19716
19717 2008-01-21 Robert Millan <rmh@aybabtu.com>
19718
19719 * kern/mm.c (grub_mm_init_region): Improve debug message.
19720
19721 2008-01-21 Robert Millan <rmh@aybabtu.com>
19722
19723 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19724 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19725 address.
19726 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19727 a C macro.
19728 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19729 Indicates start of upper memory.
19730 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19731 (generate_image): Abort when image size is big enough to corrupt
19732 upper memory.
19733
19734 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19735 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19736 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19737 instead of hardcoding 0xA0000.
19738 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19739 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19740 instead of hardcoding 0xA0000.
19741
19742 2008-01-21 Robert Millan <rmh@aybabtu.com>
19743
19744 * disk/memdisk.c (memdisk_size): New variable.
19745 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19746 `memdisk_size'.
19747 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19748 image to dynamic memory.
19749 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19750 `memdisk_size'. Free memdisk block.
19751
19752 2008-01-21 Robert Millan <rmh@aybabtu.com>
19753
19754 Fix detection of very small filesystems (like tar).
19755
19756 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19757 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19758 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19759 a problem with this disk).
19760
19761 2008-01-21 Robert Millan <rmh@aybabtu.com>
19762
19763 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19764 on grub_biosdisk_rw_standard() error.
19765
19766 2008-01-21 Robert Millan <rmh@aybabtu.com>
19767
19768 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19769 recent changes.
19770 * kern/elf.c: Likewise.
19771 * kern/ieee1275/ieee1275.c: Likewise.
19772 * kern/powerpc/ieee1275/openfw.c: Likewise.
19773 * term/ieee1275/ofconsole.c: Likewise.
19774
19775 2008-01-21 Robert Millan <rmh@aybabtu.com>
19776
19777 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19778
19779 * include/grub/kernel.h (grub_arch_memdisk_addr)
19780 (grub_arch_memdisk_size): Moved from here ...
19781
19782 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19783 (grub_arch_memdisk_size): ... to here.
19784
19785 2008-01-21 Robert Millan <rmh@aybabtu.com>
19786
19787 Mostly based on bugfix from Bean.
19788
19789 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19790 attribute with hook() parameter.
19791 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19792 declaration.
19793 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19794 attribute with hook() parameter.
19795 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19796 declaration.
19797
19798 2008-01-21 Robert Millan <rmh@aybabtu.com>
19799
19800 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19801 (pkglib_MODULES): Add `memdisk.mod'.
19802 (memdisk_mod_SOURCES): New variable.
19803 (memdisk_mod_CFLAGS): Likewise.
19804 (memdisk_mod_LDFLAGS): Likewise.
19805
19806 * disk/memdisk.c: New file.
19807
19808 * include/grub/disk.h (grub_disk_dev_id): Add
19809 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19810
19811 * include/grub/i386/pc/kernel.h
19812 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19813 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19814 (grub_kernel_image_size): New variable declaration.
19815 (grub_total_module_size): Likewise.
19816 (grub_memdisk_image_size): Likewise.
19817
19818 * include/grub/i386/pc/memory.h
19819 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
19820
19821 * include/grub/kernel.h: Include `<grub/symbol.h>'.
19822 (grub_arch_memdisk_addr): New variable declaration.
19823 (grub_arch_memdisk_size): Likewise.
19824
19825 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
19826 (grub_arch_memdisk_size): Likewise.
19827
19828 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
19829 (codestart): Replace hardcoded `0x100000' with
19830 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
19831
19832 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
19833 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
19834 not NULL, append the contents of the file it refers to, at the end of
19835 the compressed kernel image. Initialize `grub_memdisk_image_size'
19836 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
19837 (options): Add "memdisk"|'m' option.
19838 (main): Parse --memdisk|-m option, and pass user-provided path as
19839 parameter to generate_image().
19840
19841 2008-01-20 Robert Millan <rmh@aybabtu.com>
19842
19843 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
19844 grub_dprintf() calls from here ...
19845 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19846
19847 2008-01-20 Robert Millan <rmh@aybabtu.com>
19848
19849 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19850
19851 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19852 declaration.
19853 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19854 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19855 `GRUB_IEEE1275_FLAG_REAL_MODE'.
19856 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
19857 property).
19858 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19859 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19860
19861 2008-01-19 Robert Millan <rmh@aybabtu.com>
19862
19863 Get rid of confusing function (superseded by
19864 `grub_ieee1275_get_integer_property')
19865 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19866 prototype.
19867 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19868 function.
19869 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19870 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
19871 in native endianness from grub_ieee1275_get_integer_property().
19872
19873 2008-01-19 Robert Millan <rmh@aybabtu.com>
19874
19875 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19876 command after "shut-down", since implementations differ on which
19877 the command for halt is.
19878
19879 2008-01-19 Robert Millan <rmh@aybabtu.com>
19880
19881 * include/grub/i386/linuxbios/console.h: Add header protection.
19882 (grub_keyboard_controller_init): New function prototype.
19883 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19884 (KEYBOARD_COMMAND_READ): Likewise.
19885 (KEYBOARD_COMMAND_WRITE): Likewise.
19886 (KEYBOARD_SCANCODE_SET1): Likewise.
19887 (grub_keyboard_controller_write): New function.
19888 (grub_keyboard_controller_read): Likewise.
19889 (grub_keyboard_controller_init): Likewise.
19890
19891 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19892 (grub_console_init): On coreboot/LinuxBIOS, call
19893 grub_keyboard_controller_init().
19894
19895 2008-01-19 Robert Millan <rmh@aybabtu.com>
19896
19897 PowerPC changes provided by Pavel Roskin.
19898
19899 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19900 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19901 don't rely on cmain() doing it.
19902 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19903 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19904
19905 2008-01-16 Robert Millan <rmh@aybabtu.com>
19906
19907 * include/grub/i386/linuxbios/memory.h
19908 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19909 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19910 receive `table_header' as argument. Instead, probe for it in the
19911 known memory ranges where it can be present.
19912 (grub_available_iterate): Do not pass a fixed `table_header' address
19913 to grub_linuxbios_table_iterate().
19914
19915 2008-01-15 Robert Millan <rmh@aybabtu.com>
19916
19917 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19918 * conf/i386-ieee1275.rmk: New file.
19919 * include/grub/i386/ieee1275/console.h: Likewise.
19920 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19921 * include/grub/i386/ieee1275/kernel.h: Likewise.
19922 * include/grub/i386/ieee1275/time.h: Likewise.
19923 * kern/i386/ieee1275/init.c: Likewise.
19924 * kern/i386/ieee1275/startup.S: Likewise.
19925
19926 2008-01-15 Robert Millan <rmh@aybabtu.com>
19927
19928 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19929 when pointers are 32-bit (but still do set it to one when they are
19930 64-bit).
19931
19932 2008-01-15 Robert Millan <rmh@aybabtu.com>
19933
19934 * include/grub/ieee1275/ieee1275.h
19935 (grub_ieee1275_get_integer_property): New function prototype.
19936
19937 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19938 (grub_ieee1275_get_integer_property): New function. Wraps around
19939 grub_ieee1275_get_property() to handle endianness.
19940
19941 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19942 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
19943 where appropriate.
19944 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19945 (grub_map): Likewise.
19946 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19947
19948 2008-01-15 Bean <bean123ch@gmail.com>
19949
19950 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19951 (grub_script_execute_cmdline): Reset grub_errno.
19952
19953 * normal/main.c (read_config_file): Reset grub_errno.
19954
19955 * normal/parse.y (script_init): New.
19956 (script): Move function and menuentry here.
19957 (delimiter): New.
19958 (command): Add delimiter at the end of command.
19959 (commands): Adjust to match the new command.
19960 (commandblock): Remove grub_script_lexer_record_start.
19961 (menuentry): Add grub_script_lexer_record_start, use the new commands.
19962 (if): Use the new commands.
19963
19964 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19965
19966 2008-01-15 Robert Millan <rmh@aybabtu.com>
19967
19968 * normal/menu.c (run_menu): Move timeout message from here ...
19969 (print_timeout): ... to here.
19970 (run_menu): Use print_timeout() once during initial draw to print
19971 the whole message, and again in every clock tick to update only
19972 the number of seconds.
19973
19974 2008-01-15 Robert Millan <rmh@aybabtu.com>
19975
19976 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19977 actual size of `available' from grub_ieee1275_get_property(), and
19978 restrict parsing to that bound.
19979
19980 2008-01-15 Christian Franke <franke@computer.org>
19981
19982 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19983 (argp_program_version): Remove variable.
19984 (argp_program_bug_address): Likewise.
19985 (options): Convert from struct argp_option to struct option.
19986 (struct arguments): Remove.
19987 (parse_opt): Remove.
19988 (usage): New function.
19989 (main): Replace struct args members by simple variables.
19990 Replace argp_parse() by getopt_long().
19991 Add switch to evaluate options.
19992 Add missing "(...)" around root_dev in prefix string.
19993
19994 2008-01-14 Robert Millan <rmh@aybabtu.com>
19995
19996 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19997 for grub_ieee1275_exit(), in order to improve portability.
19998
19999 2008-01-14 Robert Millan <rmh@aybabtu.com>
20000
20001 * util/grub.d/10_linux.in (prefix): Define.
20002 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20003
20004 2008-01-13 Pavel Roskin <proski@gnu.org>
20005
20006 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20007 grub_errno if no errors have been detected.
20008
20009 2008-01-12 Robert Millan <rmh@aybabtu.com>
20010
20011 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20012 (grub_util_get_dev_abstraction): New function prototype.
20013
20014 * util/getroot.c: Include `<grub/util/getroot.h>'
20015 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20016 (grub_util_get_dev_abstraction): ... here (new function).
20017
20018 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20019 `PRINT_ABSTRACTION'.
20020 (probe): Probe for abstraction type when requested.
20021 (main): Understand `--target=abstraction'.
20022
20023 * util/i386/efi/grub-install.in: Add abstraction module to core
20024 image when it is found to be necessary.
20025 * util/i386/pc/grub-install.in: Likewise.
20026 * util/powerpc/ieee1275/grub-install.in: Likewise.
20027
20028 * util/update-grub_lib.in (font_path): Return system path without
20029 converting to GRUB path.
20030 * util/update-grub.in: Convert system path returned by font_path()
20031 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20032 abstraction module is needed for loading fonts (if any). Export
20033 that as `GRUB_PRELOAD_MODULES'.
20034 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20035 insmod commands).
20036
20037 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20038
20039 Remove some unused code from reiserfs.
20040
20041 * fs/reiserfs.c (struct grub_reiserfs_key)
20042 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20043 (struct grub_reiserfs_node_body): Removed.
20044 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20045 Likewise.
20046 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20047 Likewise.
20048 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20049 Likewise.
20050 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20051 Likewise.
20052 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20053 Likewise.
20054 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20055 Likewise.
20056 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20057 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20058 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20059
20060 2008-01-10 Robert Millan <rmh@aybabtu.com>
20061
20062 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20063 Determines if a file is garbage left by packaging systems, etc.
20064 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20065 for processing /etc/grub.d scripts.
20066 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20067 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20068 as a condition for processing Linux images.
20069
20070 2008-01-10 Pavel Roskin <proski@gnu.org>
20071
20072 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20073 to compile reiserfs.c on PowerPC.
20074
20075 2008-01-10 Robert Millan <rmh@aybabtu.com>
20076
20077 * kern/device.c (grub_device_iterate): Do not abort device iteration
20078 when one of the devices cannot be opened.
20079 * kern/disk.c (grub_disk_open): Do not account previous failures of
20080 unrelated functions when grub_errno is checked for.
20081
20082 2008-01-08 Robert Millan <rmh@aybabtu.com>
20083
20084 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20085 `! grub_linux_is_bzimage', change order of address comparison to make
20086 it more intuitive, and improve "too big zImage" error message.
20087
20088 2008-01-08 Robert Millan <rmh@aybabtu.com>
20089
20090 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20091 `$(update-grub_DATA)'.
20092 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20093 targets.
20094
20095 2008-01-07 Robert Millan <rmh@aybabtu.com>
20096
20097 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20098 which instruction is modified by grub-setup during installation
20099 (since it wasn't obvious by only looking at this file).
20100
20101 2008-01-07 Robert Millan <rmh@aybabtu.com>
20102
20103 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20104 listing actual TODO items.
20105
20106 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20107
20108 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20109 correctly.
20110 (grub_reiserfs_get_key_offset): Likewise.
20111 (grub_reiserfs_set_key_offset): Likewise.
20112 (grub_reiserfs_set_key_type): Likewise.
20113 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
20114
20115 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20116 better to remove the bitfield version completely.
20117
20118 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20119
20120 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20121 allocated from the heap, due to the fshelp implementation.
20122 (grub_reiserfs_dir): Free NODE, due to the same reason.
20123
20124 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20125
20126 Mostly from Vincent Pelletier:
20127
20128 * fs/reiserfs.c: New file.
20129
20130 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20131 (reiserfs_mod_SOURCES): New variable.
20132 (reiserfs_mod_CFLAGS): Likewise.
20133 (reiserfs_mod_LDFLAGS): Likewise.
20134
20135 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20136 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20137 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20138 normal/color.c.
20139
20140 2008-01-06 Robert Millan <rmh@aybabtu.com>
20141
20142 * normal/color.c: Remove `<grub/env.h>'.
20143
20144 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20145
20146 * include/grub/normal.h: Include <grub/env.h>.
20147
20148 2008-01-05 Robert Millan <rmh@aybabtu.com>
20149
20150 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20151 usage example with `(hd0,1)'.
20152 Reported by Samuel Thibault.
20153
20154 2008-01-05 Robert Millan <rmh@aybabtu.com>
20155
20156 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20157 (grub_linux_boot_zimage): Rename to ...
20158 (grub_linux_boot): ... this.
20159 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20160 (grub_linux_boot_zimage): Conditionalize zImage copy.
20161
20162 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20163 (grub_linux_boot_bzimage): Remove prototype.
20164 (grub_linux_boot_zimage): Rename to ...
20165 (grub_linux_boot): ... this.
20166
20167 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20168 (grub_linux_boot): Remove function.
20169
20170 2008-01-05 Robert Millan <rmh@aybabtu.com>
20171
20172 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20173 (grub_env_write_color_highlight): Likewise.
20174 (grub_wait_after_message): Likewise.
20175
20176 * normal/color.c: New file.
20177
20178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20179 (normal_mod_DEPENDENCIES): Likewise.
20180
20181 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20182 (normal_mod_DEPENDENCIES): Likewise.
20183
20184 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20185 (normal_mod_DEPENDENCIES): Likewise.
20186
20187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20188 (normal_mod_DEPENDENCIES): Likewise.
20189
20190 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20191 for waiting after a message is printed.
20192 * normal/main.c (read_config_file): Likewise.
20193 (grub_normal_init): Register grub_env_write_color_normal() and
20194 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20195 `color_highlight' variables as global.
20196
20197 * normal/menu.c (grub_wait_after_message): New function.
20198 (grub_color_menu_normal): New variable. Replaces ...
20199 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20200 (grub_color_menu_highlight): New variable. Replaces ...
20201 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20202 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20203 `GRUB_TERM_COLOR_STANDARD'.
20204 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20205 `normal_code' and `highlight_code' to `old_color_normal' and
20206 `old_color_highlight', respectively.
20207 (grub_menu_init_page): Update colors when drawing the menu, based on
20208 `menu_color_normal' and `menu_color_highlight' variables.
20209 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20210 a message is printed.
20211
20212 2008-01-05 Robert Millan <rmh@aybabtu.com>
20213
20214 * kern/env.c (grub_env_context_open): Propagate hooks for global
20215 variables to new context.
20216
20217 * kern/main.c (grub_set_root_dev): Export `root' variable.
20218
20219 2008-01-05 Robert Millan <rmh@aybabtu.com>
20220
20221 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
20222 discs unconditionally, since udev and others have options to provide
20223 them.
20224
20225 2008-01-05 Robert Millan <rmh@aybabtu.com>
20226
20227 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20228
20229 2008-01-04 Christian Franke <franke@computer.org>
20230
20231 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20232 of eisa_mmap.
20233
20234 2008-01-03 Pavel Roskin <proski@gnu.org>
20235
20236 * kern/i386/linuxbios/init.c: Put "void" to all function
20237 declarations with no arguments.
20238 * kern/powerpc/ieee1275/init.c: Likewise.
20239 * term/i386/pc/at_keyboard.c: Likewise.
20240 * term/i386/pc/vga_text.c: Likewise.
20241 * util/grub-mkdevicemap.c: Likewise.
20242
20243 2008-01-02 Robert Millan <rmh@aybabtu.com>
20244
20245 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20246 message when loaded image is out of bounds.
20247 (grub_multiboot_load_elf64): Likewise.
20248
20249 2008-01-02 Pavel Roskin <proski@gnu.org>
20250
20251 * util/grub.d/10_linux.in: Try version without ".old" when
20252 looking for initrd. It's better to use initrd from the newer
20253 kernel of the same version than no initrd at all.
20254
20255 2008-01-01 Robert Millan <rmh@aybabtu.com>
20256
20257 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20258
20259 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20260
20261 * include/grub/video.h: Added grub_video_unmap_color and
20262 grub_video_get_active_render_target.
20263 (grub_video_adapter): Added unmap_color and get_active_render_target.
20264
20265 * video/video.c: Added grub_video_unmap_color and
20266 grub_video_get_active_render_target.
20267 (grub_video_get_info): Changed method to accept NULL pointer as an
20268 argument to allow detection of active video adapter.
20269
20270 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20271 grub_video_vbe_unmap_color_int.
20272 Added grub_video_vbe_unmap_color and
20273 grub_video_vbe_get_active_render_target.
20274 (grub_video_vbe_adapter): Added unmap_color and
20275 get_active_render_target.
20276
20277 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
20278 with grub_video_vbe_unmap_color_int.
20279
20280 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20281 (DEFAULT_NORMAL_COLOR): Likewise.
20282 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20283 (DEFAULT_FG_COLOR): Removed.
20284 (DEFAULT_BG_COLOR): Likewise.
20285 (DEFAULT_CURSOR_COLOR): Changed value.
20286 (grub_virtual_screen): Added standard_color_setting,
20287 normal_color_setting, highlight_color_setting and term_color.
20288 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20289 (bitmap_width): Added.
20290 (bitmap_height): Likewise.
20291 (bitmap): Likewise.
20292 (set_term_color): Likewise.
20293 (grub_virtual_screen_setup): Changed to use new terminal coloring
20294 settings.
20295 (grub_gfxterm_init): Added init for bitmap.
20296 (grub_gfxterm_fini): Added destroy for bitmap.
20297 (redraw_screen_rect): Updated to use background bitmap and new
20298 terminal coloring.
20299 (scroll_up): Added optimization for case when there is no bitmap.
20300 (grub_gfxterm_cls): Fixed to use correct background color.
20301 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20302 coloring.
20303 (grub_virtual_screen_setcolor): Likewise.
20304 (grub_virtual_screen_getcolor): Added.
20305 (grub_gfxterm_background_image_cmd): Likewise.
20306 (grub_video_term): Added setcolor and getcolor.
20307 (MOD_INIT): Added registration of background_image command.
20308 (MOD_TERM): Added unregistration for background_image command.
20309
20310 2007-12-30 Pavel Roskin <proski@gnu.org>
20311
20312 * loader/multiboot_loader.c: Fix multiboot command
20313 unregistration. Fix all typos in the word "multiboot".
20314
20315 2007-12-29 Pavel Roskin <proski@gnu.org>
20316
20317 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20318 support for initrd names used in Fedora.
20319
20320 2007-12-26 Bean <bean123ch@gmail.com>
20321
20322 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20323 (cpio_mod_SOURCES): New variable.
20324 (cpio_mod_CFLAGS): Likewise.
20325 (cpio_mod_LDFLAGS): Likewise.
20326
20327 * fs/cpio.c: New file.
20328
20329 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20330
20331 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20332
20333 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20334
20335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20336
20337 2007-12-25 Robert Millan <rmh@aybabtu.com>
20338
20339 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20340 (grub_getcolor): New function.
20341
20342 * kern/term.c (grub_getcolor): New function.
20343 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20344 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20345 (print_entry): Set normal and highlight colors to
20346 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20347 respectively, before printing and restore them to old
20348 values afterwards.
20349 (grub_menu_init_page): Likewise. Fill an additional colored space
20350 that would otherwise be left blank.
20351
20352 * term/efi/console.c (grub_console_getcolor): New function.
20353 (struct grub_console_term.getcolor): New variable.
20354 * term/i386/pc/console.c (grub_console_getcolor): New function.
20355 (struct grub_console_term.getcolor): New variable.
20356 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20357 (struct grub_console_term.getcolor): New variable.
20358
20359 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20360 (struct grub_console_term.setcolor): Remove variable.
20361 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20362 (struct grub_console_term.setcolor): Remove variable.
20363 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20364 (struct grub_console_term.setcolor): Remove variable.
20365 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20366 (struct grub_console_term.setcolor): Remove variable.
20367
20368 2007-12-25 Robert Millan <rmh@aybabtu.com>
20369
20370 * configure.ac: Search for possible unifont.hex locations, and
20371 define UNIFONT_HEX if found.
20372
20373 * Makefile.in (UNIFONT_HEX): Define variable.
20374 (DATA): Rename to ...
20375 (PKGLIB): ... this. Update all users.
20376 (PKGDATA): New variable.
20377 (pkgdata_IMAGES): Rename to ...
20378 (pkglib_IMAGES): ... this. Update all users.
20379 (pkgdata_MODULES): Rename to ...
20380 (pkglib_MODULES): ... this. Update all users.
20381 (pkgdata_PROGRAMS): Rename to ...
20382 (pkglib_PROGRAMS): ... this. Update all users.
20383 (pkgdata_DATA): Rename to ...
20384 (pkglib_DATA): ... this. Update all users.
20385 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20386 (unicode.pff, ascii.pff): New rules.
20387 (all-local): Add `$(PKGDATA)' dependency.
20388 (install-local): Process `$(PKGDATA)'.
20389
20390 * util/update-grub_lib.in (font_path): Search for *.pff files in
20391 a few more locations, including `${pkgdata}'.
20392
20393 2007-12-23 Robert Millan <rmh@aybabtu.com>
20394
20395 Patch from Bean <bean123ch@gmail.com>:
20396 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20397 `size'.
20398
20399 2007-12-21 Bean <bean123ch@gmail.com>
20400
20401 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20402 (ntfscomp_mod_SOURCES): New variable.
20403 (ntfscomp_mod_CFLAGS): Likewise.
20404 (ntfscomp_mod_LDFLAGS): Likewise.
20405
20406 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20407 (grub_probe_SOURCES): Likewise.
20408 (grub_emu_SOURCES): Likewise.
20409
20410 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20411 (grub_emu_SOURCES): Likewise.
20412
20413 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20414 (grub_emu_SOURCES): Likewise.
20415
20416 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20417 (grub_emu_SOURCES): Likewise.
20418
20419 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20420 (read_run_list): Renamed to grub_ntfs_read_run_list.
20421 (decomp_nextvcn): Moved to ntfscomp.c.
20422 (decomp_getch): Likewise.
20423 (decomp_get16): Likewise.
20424 (decomp_block): Likewise.
20425 (read_block): Likewise.
20426 (read_data): Partially moved to ntfscomp.c.
20427 (fixup): Change unsigned to grub_uint16_t.
20428 (read_mft): Change unsigned long to grub_uint32_t.
20429 (read_attr): Likewise.
20430 (read_data): Likewise.
20431 (read_run_data): Likewise.
20432 (read_run_list): Likewise.
20433 (read_mft): Likewise.
20434
20435 * fs/ntfscomp.c: New file.
20436
20437 * include/grub/ntfs.h: New file.
20438
20439 2007-12-16 Robert Millan <rmh@aybabtu.com>
20440
20441 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20442 IDE disk check, since Linux is known to support 20 IDE disks.
20443 Reported by Colin Watson.
20444
20445 2007-12-15 Bean <bean123ch@gmail.com>
20446
20447 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20448 (lnxboot_img_SOURCES): New variable.
20449 (lnxboot_img_ASFLAGS): Likewise.
20450 (lnxboot_img_LDFLAGS): Likewise.
20451
20452 * boot/i386/pc/lnxboot.S: New file.
20453
20454 2007-11-24 Pavel Roskin <proski@gnu.org>
20455
20456 * configure.ac: Test if '--build-id=none' is supported by the
20457 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20458 objcopy to generate incorrect binary files (binutils
20459 2.17.50.0.18-1 as shipped by Fedora 8).
20460 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20461 linking, so that build ID doesn't break the test.
20462
20463 2007-11-24 Pavel Roskin <proski@gnu.org>
20464
20465 * include/grub/i386/time.h: use "void" in the argument list
20466 of grub_cpu_idle().
20467 * include/grub/powerpc/time.h: Likewise.
20468 * include/grub/sparc64/time.h: Likewise.
20469
20470 2007-11-18 Christian Franke <franke@computer.org>
20471
20472 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20473 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20474 This fixes the problem that function keys did not work in grub-emu.
20475
20476 2007-11-18 Christian Franke <franke@computer.org>
20477
20478 * disk/host.c (grub_host_open): Remove attribute unused from
20479 name parameter. Add check for "host". This fixes the problem
20480 that grub-emu does not find partitions.
20481
20482 2007-11-18 Christian Franke <franke@computer.org>
20483
20484 * util/hostfs.c (is_dir): New function.
20485 (grub_hostfs_dir): Handle missing dirent.d_type case.
20486 (grub_hostfs_read): Add missing fseek().
20487 (grub_hostfs_label): Clear label pointer. This fixes a crash
20488 of grub-emu on "ls (host)".
20489
20490 2007-11-18 Christian Franke <franke@computer.org>
20491
20492 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20493 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20494 to 64 bit boundary by default.
20495
20496 2007-11-18 Bean <bean123ch@gmail.com>
20497
20498 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20499 (hexdump_mod_SOURCES): New variable.
20500 (hexdump_mod_CFLAGS): Likewise.
20501 (hexdump_mod_LDFLAGS): Likewise.
20502
20503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20504
20505 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20506
20507 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20508
20509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20510
20511 * include/grub/hexdump.h: New file.
20512
20513 * commands/hexdump.c: New file.
20514
20515 2007-11-10 Robert Millan <rmh@aybabtu.com>
20516
20517 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20518 in grub_outb() calls.
20519 (beep_on): Likewise.
20520
20521 2007-11-10 Christian Franke <franke@computer.org>
20522
20523 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20524 (grub_menu_run): Likewise.
20525
20526 2007-11-10 Robert Millan <rmh@aybabtu.com>
20527
20528 * include/grub/i386/efi/machine.h: New file.
20529 * include/grub/i386/linuxbios/machine.h: Likewise.
20530 * include/grub/i386/pc/machine.h: Likewise.
20531 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20532 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20533
20534 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20535 (serial_hw_io_addr): New variable.
20536 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20537 instead of `(unsigned short *) 0x400'.
20538
20539 2007-11-10 Bean <bean123ch@gmail.com>
20540
20541 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20542
20543 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20544
20545 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20546 (vga_mod_SOURCES): Added.
20547 (vga_mod_CFLAGS): Likewise.
20548 (vga_mod_LDFLAGS): Likewise.
20549
20550 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20551 grub_outb() calls.
20552 (set_map_mask): Likewise.
20553 (set_read_map): Likewise.
20554 (set_read_address): Likewise.
20555 (vga_font): Removed variable.
20556 (get_vga_glyph): Removed function.
20557 (invalidate_char): Likewise.
20558 (write_char): Changed to use grub_font_get_glyph() for font
20559 information.
20560 (grub_vga_putchar): Likewise.
20561 (grub_vga_getcharwidth): Likewise.
20562
20563 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20564
20565 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20566 flags.
20567 (pxeboot_img_LDFLAGS): Likewise.
20568 (diskboot_img_LDFLAGS): Likewise.
20569 (kernel_img_LDFLAGS): Likewise.
20570
20571 2007-11-06 Robert Millan <rmh@aybabtu.com>
20572
20573 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20574 in grub_outb() calls.
20575 (serial_hw_init): Likewise.
20576
20577 2007-11-05 Robert Millan <rmh@aybabtu.com>
20578
20579 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20580 spaces. Skip non-regular files.
20581
20582 2007-11-05 Robert Millan <rmh@aybabtu.com>
20583
20584 * kern/disk.c (grub_disk_firmware_fini)
20585 (grub_disk_firmware_is_tainted): New variables.
20586
20587 * include/grub/disk.h (grub_disk_firmware_fini)
20588 (grub_disk_firmware_is_tainted): Likewise.
20589
20590 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20591 (grub_disk_biosdisk_fini): ... to here.
20592 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20593 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20594 is set. Register grub_disk_biosdisk_fini() in
20595 `grub_disk_firmware_fini'.
20596
20597 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20598 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20599 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20600 to finish existing firmware disk interface.
20601
20602 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20603 (ata_mod_SOURCES): New variable.
20604 (ata_mod_CFLAGS): Likewise.
20605 (ata_mod_LDFLAGS): Likewise.
20606
20607 2007-11-05 Robert Millan <rmh@aybabtu.com>
20608
20609 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20610 (grub_ata_wait): Reimplement using grub_millisleep().
20611
20612 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20613 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20614
20615 2007-11-03 Marco Gerards <marco@gnu.org>
20616
20617 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20618 (CRTC_ADDR_PORT): New macro.
20619 (CRTC_DATA_PORT): Likewise.
20620 (CRTC_CURSOR): Likewise.
20621 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20622 (CRTC_CURSOR_ADDR_LOW): Likewise.
20623 (update_cursor): New function.
20624 (grub_console_real_putchar): Call `update_cursor'.
20625 (grub_console_gotoxy): Likewise.
20626 (grub_console_cls): Set the default color when clearing the
20627 screen.
20628 (grub_console_setcursor): Implemented.
20629
20630 2007-11-03 Marco Gerards <marco@gnu.org>
20631
20632 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20633 become activate.
20634 (grub_ata_pio_write): Likewise.
20635
20636 (grub_atapi_identify): Wait after issuing an ATA command.
20637 (grub_atapi_packet): Likewise.
20638 (grub_ata_identify): Likewise.
20639 (grub_ata_readwrite): Likewise.
20640
20641 2007-11-03 Marco Gerards <marco@gnu.org>
20642
20643 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20644 (grub_ata_pio_write): Likewise.
20645 (grub_ata_readwrite): Use `grub_error', instead of
20646 returning `grub_errno'.
20647
20648 2007-11-03 Marco Gerards <marco@gnu.org>
20649
20650 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20651 grub_ata_pio_write once for every single sector, instead of for
20652 multiple sectors.
20653
20654 2007-10-31 Robert Millan <rmh@aybabtu.com>
20655
20656 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20657
20658 * conf/i386-linuxbios.rmk: New file.
20659
20660 * kern/i386/pc/hardware.c: Likewise.
20661 * term/i386/pc/at_keyboard.c: Likewise.
20662 * term/i386/pc/vga_text.c: Likewise.
20663
20664 * include/grub/i386/linuxbios/boot.h: Likewise.
20665 * include/grub/i386/linuxbios/console.h: Likewise.
20666 * include/grub/i386/linuxbios/init.h: Likewise.
20667 * include/grub/i386/linuxbios/kernel.h: Likewise.
20668 * include/grub/i386/linuxbios/loader.h: Likewise.
20669 * include/grub/i386/linuxbios/memory.h: Likewise.
20670 * include/grub/i386/linuxbios/serial.h: Likewise.
20671 * include/grub/i386/linuxbios/time.h: Likewise.
20672
20673 * kern/i386/linuxbios/init.c: Likewise.
20674 * kern/i386/linuxbios/startup.S: Likewise.
20675 * kern/i386/linuxbios/table.c: Likewise.
20676
20677 2007-10-31 Marco Gerards <marco@gnu.org>
20678
20679 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20680 (ata_mod_SOURCES): New variable.
20681 (ata_mod_CFLAGS): Likewise.
20682 (ata_mod_LDFLAGS): Likewise.
20683
20684 * disk/ata.c: New file.
20685
20686 * include/grub/disk.h (grub_disk_dev_id): Add
20687 `GRUB_DISK_DEV_ATA_ID'.
20688
20689 2007-10-31 Robert Millan <rmh@aybabtu.com>
20690
20691 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20692 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20693
20694 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20695 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20696
20697 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20698 `<grub/types.h>'.
20699
20700 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20701
20702 2007-10-27 Robert Millan <rmh@aybabtu.com>
20703
20704 * include/grub/types.h (ULONG_MAX): Define macro.
20705
20706 2007-10-22 Robert Millan <rmh@aybabtu.com>
20707
20708 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20709 `"../realmode.S"'.
20710 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20711
20712 2007-10-22 Robert Millan <rmh@aybabtu.com>
20713
20714 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20715 (pkgdata_MODULES): Add `biosdisk.mod'.
20716 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20717 variables.
20718
20719 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20720 (grub_biosdisk_init): Replace with ...
20721 (GRUB_MOD_INIT(biosdisk)): ... this.
20722 (grub_biosdisk_fini): Replace with ...
20723 (GRUB_MOD_FINI(biosdisk)): ... this.
20724
20725 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20726 (grub_machine_init): Remove call to grub_biosdisk_init().
20727 (grub_machine_fini): Remove call to grub_machine_fini().
20728
20729 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20730
20731 2007-10-22 Robert Millan <rmh@aybabtu.com>
20732
20733 * include/grub/time.h: New file.
20734 * include/grub/i386/time.h: Likewise.
20735 * include/grub/powerpc/time.h: Likewise.
20736 * include/grub/sparc64/time.h: Likewise.
20737
20738 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20739 instances to ...
20740 (KERNEL_MACHINE_TIME_HEADER): ... this.
20741 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20742 instances to ...
20743 (KERNEL_MACHINE_TIME_HEADER): ... this.
20744 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20745 instances to ...
20746 (KERNEL_MACHINE_TIME_HEADER): ... this.
20747
20748 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20749 (grub_millisleep): New function.
20750 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20751 (grub_millisleep): New function.
20752 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20753 Remove `grub/machine/time.h' include.
20754 (grub_millisleep): New function.
20755 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20756 Remove `grub/machine/time.h' include.
20757 (grub_millisleep): New function.
20758
20759 * include/grub/misc.h (grub_div_roundup): New function.
20760
20761 * kern/misc.c: Include `<grub/time.h>'.
20762 (grub_millisleep_generic): New function.
20763
20764 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20765 Add `time.h'.
20766 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20767 Add `time.h'.
20768 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20769 `machine/time.h'. Add `time.h'.
20770 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20771
20772 2007-10-21 Robert Millan <rmh@aybabtu.com>
20773
20774 * include/grub/misc.h (grub_max): New function.
20775
20776 2007-10-21 Robert Millan <rmh@aybabtu.com>
20777
20778 * util/misc.c (grub_util_info): Call fflush() before returning.
20779
20780 2007-10-20 Robert Millan <rmh@aybabtu.com>
20781
20782 * genmk.rb (Image): Copy `extra_flags' from here ...
20783 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20784
20785 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20786 to `argc' and `args' arguments.
20787
20788 2007-10-17 Robert Millan <rmh@aybabtu.com>
20789
20790 * kern/i386/loader.S: New file.
20791
20792 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20793 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20794 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20795 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20796 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20797 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20798 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20799 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20800 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20801 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20802 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20803 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20804 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20805 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20806
20807 * kern/i386/realmode.S: New file.
20808
20809 * kern/i386/pc/startup.S (protstack): Moved from here ...
20810 * kern/i386/realmode.S (protstack)... to here.
20811 * kern/i386/pc/startup.S (gdt): Moved from here ...
20812 * kern/i386/realmode.S (gdt)... to here.
20813 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20814 * kern/i386/realmode.S (prot_to_real)... to here.
20815
20816 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
20817 `kern/i386/realmode.S'.
20818
20819 2007-10-17 Robert Millan <rmh@aybabtu.com>
20820
20821 * include/grub/i386/loader.h: New file.
20822
20823 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
20824 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20825 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20826 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20827 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
20828 * include/grub/i386/loader.h (grub_linux_prot_size)
20829 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20830 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20831 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20832 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
20833
20834 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
20835
20836 2007-10-15 Robert Millan <rmh@aybabtu.com>
20837
20838 * normal/misc.c (grub_normal_print_device_info): Do not probe for
20839 filesystem when dev->disk is unset.
20840 Do probe for filesystem even when dev->disk->has_partitions is set.
20841 In case a filesystem is found, always report it.
20842 In case it isn't, if dev->disk->has_partitions is set, report that
20843 a partition table was found instead of reporting that no filesystem
20844 could be identified.
20845
20846 2007-10-12 Robert Millan <rmh@aybabtu.com>
20847
20848 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20849 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20850
20851 * include/grub/types.h (grub_host_to_target16): New macro.
20852 (grub_host_to_target32): Likewise.
20853 (grub_host_to_target64): Likewise.
20854 (grub_target_to_host16): Likewise.
20855 (grub_target_to_host32): Likewise.
20856 (grub_target_to_host64): Likewise.
20857
20858 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20859 Renamed from to ...
20860 (GRUB_MOD_ALIGN): ...this. Update all users.
20861
20862 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20863 grub_host_to_target32.
20864 Replace grub_be_to_cpu32 with grub_target_to_host32.
20865 (load_modules): Likewise.
20866 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20867 Replace grub_be_to_cpu32 with grub_target_to_host32.
20868 Replace grub_cpu_to_be16 with grub_host_to_target16.
20869 Replace grub_cpu_to_be32 grub_host_to_target32.
20870
20871 2007-10-12 Robert Millan <rmh@aybabtu.com>
20872
20873 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20874 * util/elf/grub-mkimage.c: ... here.
20875
20876 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20877 `util/powerpc/ieee1275/grub-mkimage.c'.
20878
20879 2007-10-07 Robert Millan <rmh@aybabtu.com>
20880
20881 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20882 and make it easier to figure out.
20883 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20884 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20885 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20886 leave us with less than HEAP_MIN_SIZE total heap.
20887 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
20888
20889 2007-10-03 Robert Millan <rmh@aybabtu.com>
20890
20891 * include/grub/i386/io.h: New file.
20892 * commands/i386/pc/play.c (inb): Removed.
20893 (outb): Removed.
20894 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20895 with grub_outb().
20896 * term/i386/pc/serial.c (inb): Removed.
20897 (outb): Removed.
20898 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20899 with grub_outb().
20900 * term/i386/pc/vga.c (inb): Removed.
20901 (outb): Removed.
20902 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20903 with grub_outb().
20904
20905 2007-10-02 Robert Millan <rmh@aybabtu.com>
20906
20907 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20909 Reported by Marcin Kurek.
20910
20911 2007-09-07 Robert Millan <rmh@aybabtu.com>
20912
20913 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20914 SmartFirmware version updates (as released by Sven Luther), and avoid
20915 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20916 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20917 known broken.
20918
20919 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20920
20921 From Hitoshi Ozeki:
20922 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20923 when merging two regions.
20924
20925 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20926
20927 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20928 * normal/completion.c (grub_normal_do_completion): Likewise.
20929 Reported by Hitoshi Ozeki.
20930
20931 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20932
20933 Do not use devices at boot in chainloading.
20934
20935 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20936 (boot_part_addr): Likewise.
20937 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20938 with BOOT_DRIVE and BOOT_PART_ADDR.
20939 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20940 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20941
20942 2007-08-29 Robert Millan <rmh@aybabtu.com>
20943
20944 Patch from Simon Peter <dn.tlp@gmx.net>:
20945 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20946 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20947 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20948 util/i386/pc/grub-setup.c_DEPENDENCIES.
20949 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20950 util/grub-probe.c_DEPENDENCIES.
20951 * conf/powerpc-ieee1275.rmk: Likewise.
20952
20953 2007-08-28 Robert Millan <rmh@aybabtu.com>
20954
20955 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20956 to tell grub-mkdevicemap how to name devices.
20957 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20958 feature).
20959
20960 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20961 util/i386/get_disk_name.c.
20962 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20963 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20964 util/ieee1275/get_disk_name.c.
20965
20966 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20967
20968 * DISTLIST: Add util/i386/get_disk_name.c and
20969 util/ieee1275/get_disk_name.c.
20970
20971 * util/grub-mkdevicemap.c: Replace device naming logic with
20972 grub_util_get_disk_name() calls.
20973
20974 2007-08-20 Robert Millan <rmh@aybabtu.com>
20975
20976 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20977 (so that it works for both plural and singular quantities).
20978
20979 2007-08-05 Robert Millan <rmh@aybabtu.com>
20980
20981 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20982 so that [xz] isn't taken into account when determining order.
20983
20984 2007-08-02 Marco Gerards <marco@gnu.org>
20985
20986 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20987 `include/multiboot2.h', `include/grub/elfload.h',
20988 `include/multiboot.h', `include/grub/multiboot.h',
20989 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20990 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20991 `kern/elf.c', `loader/multiboot_loader.c',
20992 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20993 `loader/i386/pc/multiboot2.c',
20994 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20995 `util/i386/pc/grub-mkrescue.in'. Remove
20996 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20997 `include/grub/i386/pc/util/biosdisk.h' and
20998 `include/grub/powerpc/ieee1275/multiboot.h'.
20999
21000 2007-08-02 Bean <bean123ch@gmail.com>
21001
21002 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21003 (ntfs_mod_SOURCES): New variable.
21004 (ntfs_mod_CFLAGS): Likewise.
21005 (ntfs_mod_LDFLAGS): Likewise.
21006
21007 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21008 (grub_probe_SOURCES): Likewise.
21009 (grub_emu_SOURCES): Likewise.
21010
21011 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21012 (grub_emu_SOURCES): Likewise.
21013
21014 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21015 (grub_emu_SOURCES): Likewise.
21016
21017 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21018
21019 * fs/ntfs.c: New file.
21020
21021 2007-08-02 Bean <bean123ch@gmail.com>
21022
21023 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21024
21025 * file.h (grub_file): Likewise.
21026
21027 * fshelp.h (grub_fshelp_read_file): Likewise.
21028
21029 * util/i386/pc/grub-setup.c (setup): Likewise.
21030 (save_first_sector): Likewise.
21031 (save_blocklists): Likewise.
21032
21033 * fs/affs.c (grub_affs_read_file): Likewise.
21034
21035 * fs/ext2.c (grub_ext2_read_file): Likewise.
21036
21037 * fs/fat.c (grub_fat_read_data): Likewise.
21038
21039 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21040
21041 * fs/hfs.c (grub_hfs_read_file): Likewise.
21042
21043 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21044
21045 * fs/jfs.c (grub_jfs_read_file): Likewise.
21046
21047 * fs/minix.c (grub_minix_read_file): Likewise.
21048
21049 * fs/sfs.c (grub_sfs_read_file): Likewise.
21050
21051 * fs/ufs.c (grub_ufs_read_file): Likewise.
21052
21053 * fs/xfs.c (grub_xfs_read_file): Likewise.
21054
21055 * command/blocklist.c (read_blocklist): Likewise.
21056 (print_blocklist): Likewise.
21057
21058 2007-08-02 Marco Gerards <marco@gnu.org>
21059
21060 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21061 `util/hostfs.c'.
21062
21063 * disk/host.c: New file.
21064
21065 * util/hostfs.c: Likewise.
21066
21067 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21068 return `GRUB_ERR_BAD_FS'.
21069 * fs/sfs.c (grub_sfs_mount): Likewise.
21070 * fs/xfs.c (grub_xfs_mount): Likewise.
21071
21072 * include/grub/disk.h (enum grub_disk_dev_id): Add
21073 `GRUB_DISK_DEVICE_HOST_ID'.
21074
21075 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21076
21077 2007-07-24 Jerone Young <jerone@gmail.com>
21078
21079 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
21080 modules for compilation.
21081 * conf/powerpc-ieee1275.rmk: Likewise.
21082
21083 * include/multiboot.h: Move multiboot definitions to one file. Rename
21084 many definitions to not get grub specific.
21085 * include/multiboot2.h: Create header with multiboot 2 definitions.
21086 * include/grub/multiboot.h: Header for grub specific function
21087 prototypes and definitions.
21088 * include/grub/multiboot2.h: Likewise.
21089 * include/grub/multiboot_loader.h: Likewise.
21090 * include/grub/i386/pc/multiboot.h: Removed.
21091 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21092
21093 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21094 and 2 to allow for one multiboot and module commands.
21095 * loader/multiboot2.c: Add multiboot2 functionality.
21096 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21097 and definition names.
21098 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21099 2 functions.
21100 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21101 ieee1275 specific multiboot2 code.
21102
21103 * kern/i386/pc/startup.S: Change headers and definition names for
21104 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21105
21106 2007-07-22 Robert Millan <rmh@aybabtu.com>
21107
21108 * geninitheader.sh: Process file specified in first parameter rather
21109 than hardcoding grub_modules_init.lst.
21110 * geninit.sh: Likewise. Also, construct header name dynamically rather
21111 than hardcoding grub_modules_init.h.
21112
21113 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21114 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21115 grub_probe_init.[ch] and grub_setup_init.[ch].
21116
21117 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21118 grub_modules_init.h with grub_emu_init.h.
21119 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21120 grub_probe_init.[ch] files.
21121 * conf/i386-efi.rmk: Likewise.
21122 * conf/i386-pc.rmk: Likewise.
21123 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21124 grub_setup_init.[ch] files.
21125
21126 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21127 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21128 to initialize modules rather than a list of hardcoded functions.
21129 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21130 grub_init_all() to initialize modules rather than a list of hardcoded
21131 functions.
21132
21133 2007-07-22 Robert Millan <rmh@aybabtu.com>
21134
21135 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21136 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21137
21138 2007-07-22 Robert Millan <rmh@aybabtu.com>
21139
21140 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21141 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21142 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21143 flag when running on SmartFirmware.
21144 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21145 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21146 was set.
21147
21148 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21149 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21150 rather than decreasing it.
21151
21152 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21153 there's not enough space to do it, fail in the same way as when it
21154 can't be done because there are no partitions.
21155
21156 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21157 when nvsetenv failed.
21158
21159 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21160
21161 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21162 because this rule is automatically generated.
21163 (grub-mkrescue): Removed for the same reason as above.
21164
21165 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21166
21167 Migrate to GNU General Public License Version 3.
21168
21169 * COPYING: Replaced with the plain text version of GPLv3.
21170
21171 * config.guess: Updated from gnulib.
21172 * config.sub: Likewise.
21173
21174 * geninit.sh: Output a GPLv3 copyright notice.
21175 * geninitheader.sh: Likewise.
21176 * genmodsrc.sh: Likewise.
21177 * gensymlist.sh.in: Likewise.
21178
21179 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21180 * boot/i386/pc/diskboot.S: Likewise.
21181 * boot/i386/pc/pxeboot.S: Likewise.
21182 * commands/blocklist.c: Likewise.
21183 * commands/boot.c: Likewise.
21184 * commands/cat.c: Likewise.
21185 * commands/cmp.c: Likewise.
21186 * commands/configfile.c: Likewise.
21187 * commands/echo.c: Likewise.
21188 * commands/help.c: Likewise.
21189 * commands/ls.c: Likewise.
21190 * commands/search.c: Likewise.
21191 * commands/terminal.c: Likewise.
21192 * commands/test.c: Likewise.
21193 * commands/videotest.c: Likewise.
21194 * commands/i386/cpuid.c: Likewise.
21195 * commands/i386/pc/halt.c: Likewise.
21196 * commands/i386/pc/play.c: Likewise.
21197 * commands/i386/pc/reboot.c: Likewise.
21198 * commands/i386/pc/vbeinfo.c: Likewise.
21199 * commands/i386/pc/vbetest.c: Likewise.
21200 * commands/ieee1275/halt.c: Likewise.
21201 * commands/ieee1275/reboot.c: Likewise.
21202 * commands/ieee1275/suspend.c: Likewise.
21203 * disk/loopback.c: Likewise.
21204 * disk/lvm.c: Likewise.
21205 * disk/raid.c: Likewise.
21206 * disk/efi/efidisk.c: Likewise.
21207 * disk/i386/pc/biosdisk.c: Likewise.
21208 * disk/ieee1275/ofdisk.c: Likewise.
21209 * font/manager.c: Likewise.
21210 * fs/affs.c: Likewise.
21211 * fs/ext2.c: Likewise.
21212 * fs/fat.c: Likewise.
21213 * fs/fshelp.c: Likewise.
21214 * fs/hfs.c: Likewise.
21215 * fs/hfsplus.c: Likewise.
21216 * fs/iso9660.c: Likewise.
21217 * fs/jfs.c: Likewise.
21218 * fs/minix.c: Likewise.
21219 * fs/sfs.c: Likewise.
21220 * fs/ufs.c: Likewise.
21221 * fs/xfs.c: Likewise.
21222 * hello/hello.c: Likewise.
21223 * include/grub/acorn_filecore.h: Likewise.
21224 * include/grub/arg.h: Likewise.
21225 * include/grub/bitmap.h: Likewise.
21226 * include/grub/boot.h: Likewise.
21227 * include/grub/cache.h: Likewise.
21228 * include/grub/device.h: Likewise.
21229 * include/grub/disk.h: Likewise.
21230 * include/grub/dl.h: Likewise.
21231 * include/grub/elfload.h: Likewise.
21232 * include/grub/env.h: Likewise.
21233 * include/grub/err.h: Likewise.
21234 * include/grub/file.h: Likewise.
21235 * include/grub/font.h: Likewise.
21236 * include/grub/fs.h: Likewise.
21237 * include/grub/fshelp.h: Likewise.
21238 * include/grub/gzio.h: Likewise.
21239 * include/grub/hfs.h: Likewise.
21240 * include/grub/kernel.h: Likewise.
21241 * include/grub/loader.h: Likewise.
21242 * include/grub/lvm.h: Likewise.
21243 * include/grub/misc.h: Likewise.
21244 * include/grub/mm.h: Likewise.
21245 * include/grub/net.h: Likewise.
21246 * include/grub/normal.h: Likewise.
21247 * include/grub/parser.h: Likewise.
21248 * include/grub/partition.h: Likewise.
21249 * include/grub/pc_partition.h: Likewise.
21250 * include/grub/raid.h: Likewise.
21251 * include/grub/rescue.h: Likewise.
21252 * include/grub/script.h: Likewise.
21253 * include/grub/setjmp.h: Likewise.
21254 * include/grub/symbol.h: Likewise.
21255 * include/grub/term.h: Likewise.
21256 * include/grub/terminfo.h: Likewise.
21257 * include/grub/tparm.h: Likewise.
21258 * include/grub/types.h: Likewise.
21259 * include/grub/video.h: Likewise.
21260 * include/grub/efi/api.h: Likewise.
21261 * include/grub/efi/chainloader.h: Likewise.
21262 * include/grub/efi/console.h: Likewise.
21263 * include/grub/efi/console_control.h: Likewise.
21264 * include/grub/efi/disk.h: Likewise.
21265 * include/grub/efi/efi.h: Likewise.
21266 * include/grub/efi/pe32.h: Likewise.
21267 * include/grub/efi/time.h: Likewise.
21268 * include/grub/i386/linux.h: Likewise.
21269 * include/grub/i386/setjmp.h: Likewise.
21270 * include/grub/i386/types.h: Likewise.
21271 * include/grub/i386/efi/kernel.h: Likewise.
21272 * include/grub/i386/efi/loader.h: Likewise.
21273 * include/grub/i386/efi/time.h: Likewise.
21274 * include/grub/i386/pc/biosdisk.h: Likewise.
21275 * include/grub/i386/pc/boot.h: Likewise.
21276 * include/grub/i386/pc/chainloader.h: Likewise.
21277 * include/grub/i386/pc/console.h: Likewise.
21278 * include/grub/i386/pc/init.h: Likewise.
21279 * include/grub/i386/pc/kernel.h: Likewise.
21280 * include/grub/i386/pc/loader.h: Likewise.
21281 * include/grub/i386/pc/memory.h: Likewise.
21282 * include/grub/i386/pc/multiboot.h: Likewise.
21283 * include/grub/i386/pc/serial.h: Likewise.
21284 * include/grub/i386/pc/time.h: Likewise.
21285 * include/grub/i386/pc/vbe.h: Likewise.
21286 * include/grub/i386/pc/vbeblit.h: Likewise.
21287 * include/grub/i386/pc/vbefill.h: Likewise.
21288 * include/grub/i386/pc/vbeutil.h: Likewise.
21289 * include/grub/i386/pc/vga.h: Likewise.
21290 * include/grub/ieee1275/ieee1275.h: Likewise.
21291 * include/grub/ieee1275/ofdisk.h: Likewise.
21292 * include/grub/powerpc/libgcc.h: Likewise.
21293 * include/grub/powerpc/setjmp.h: Likewise.
21294 * include/grub/powerpc/types.h: Likewise.
21295 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21296 * include/grub/powerpc/ieee1275/console.h: Likewise.
21297 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21298 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21299 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21300 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21301 * include/grub/powerpc/ieee1275/time.h: Likewise.
21302 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21303 * include/grub/sparc64/libgcc.h: Likewise.
21304 * include/grub/sparc64/setjmp.h: Likewise.
21305 * include/grub/sparc64/types.h: Likewise.
21306 * include/grub/sparc64/ieee1275/console.h: Likewise.
21307 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21308 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21309 * include/grub/sparc64/ieee1275/time.h: Likewise.
21310 * include/grub/util/biosdisk.h: Likewise.
21311 * include/grub/util/getroot.h: Likewise.
21312 * include/grub/util/lvm.h: Likewise.
21313 * include/grub/util/misc.h: Likewise.
21314 * include/grub/util/raid.h: Likewise.
21315 * include/grub/util/resolve.h: Likewise.
21316 * io/gzio.c: Likewise.
21317 * kern/device.c: Likewise.
21318 * kern/disk.c: Likewise.
21319 * kern/dl.c: Likewise.
21320 * kern/elf.c: Likewise.
21321 * kern/env.c: Likewise.
21322 * kern/err.c: Likewise.
21323 * kern/file.c: Likewise.
21324 * kern/fs.c: Likewise.
21325 * kern/loader.c: Likewise.
21326 * kern/main.c: Likewise.
21327 * kern/misc.c: Likewise.
21328 * kern/mm.c: Likewise.
21329 * kern/parser.c: Likewise.
21330 * kern/partition.c: Likewise.
21331 * kern/rescue.c: Likewise.
21332 * kern/term.c: Likewise.
21333 * kern/efi/efi.c: Likewise.
21334 * kern/efi/init.c: Likewise.
21335 * kern/efi/mm.c: Likewise.
21336 * kern/i386/dl.c: Likewise.
21337 * kern/i386/efi/init.c: Likewise.
21338 * kern/i386/efi/startup.S: Likewise.
21339 * kern/i386/pc/init.c: Likewise.
21340 * kern/i386/pc/lzo1x.S: Likewise.
21341 * kern/i386/pc/startup.S: Likewise.
21342 * kern/ieee1275/ieee1275.c: Likewise.
21343 * kern/powerpc/cache.S: Likewise.
21344 * kern/powerpc/dl.c: Likewise.
21345 * kern/powerpc/ieee1275/cmain.c: Likewise.
21346 * kern/powerpc/ieee1275/crt0.S: Likewise.
21347 * kern/powerpc/ieee1275/init.c: Likewise.
21348 * kern/powerpc/ieee1275/openfw.c: Likewise.
21349 * kern/sparc64/cache.S: Likewise.
21350 * kern/sparc64/dl.c: Likewise.
21351 * kern/sparc64/ieee1275/init.c: Likewise.
21352 * kern/sparc64/ieee1275/openfw.c: Likewise.
21353 * loader/efi/chainloader.c: Likewise.
21354 * loader/efi/chainloader_normal.c: Likewise.
21355 * loader/i386/efi/linux.c: Likewise.
21356 * loader/i386/efi/linux_normal.c: Likewise.
21357 * loader/i386/pc/chainloader.c: Likewise.
21358 * loader/i386/pc/chainloader_normal.c: Likewise.
21359 * loader/i386/pc/linux.c: Likewise.
21360 * loader/i386/pc/linux_normal.c: Likewise.
21361 * loader/i386/pc/multiboot.c: Likewise.
21362 * loader/i386/pc/multiboot_normal.c: Likewise.
21363 * loader/powerpc/ieee1275/linux.c: Likewise.
21364 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21365 * normal/arg.c: Likewise.
21366 * normal/cmdline.c: Likewise.
21367 * normal/command.c: Likewise.
21368 * normal/completion.c: Likewise.
21369 * normal/execute.c: Likewise.
21370 * normal/function.c: Likewise.
21371 * normal/lexer.c: Likewise.
21372 * normal/main.c: Likewise.
21373 * normal/menu.c: Likewise.
21374 * normal/menu_entry.c: Likewise.
21375 * normal/misc.c: Likewise.
21376 * normal/parser.y: Likewise.
21377 * normal/script.c: Likewise.
21378 * normal/i386/setjmp.S: Likewise.
21379 * normal/powerpc/setjmp.S: Likewise.
21380 * normal/sparc64/setjmp.S: Likewise.
21381 * partmap/acorn.c: Likewise.
21382 * partmap/amiga.c: Likewise.
21383 * partmap/apple.c: Likewise.
21384 * partmap/gpt.c: Likewise.
21385 * partmap/pc.c: Likewise.
21386 * partmap/sun.c: Likewise.
21387 * term/gfxterm.c: Likewise.
21388 * term/terminfo.c: Likewise.
21389 * term/efi/console.c: Likewise.
21390 * term/i386/pc/console.c: Likewise.
21391 * term/i386/pc/serial.c: Likewise.
21392 * term/i386/pc/vesafb.c: Likewise.
21393 * term/i386/pc/vga.c: Likewise.
21394 * term/ieee1275/ofconsole.c: Likewise.
21395 * util/biosdisk.c: Likewise.
21396 * util/console.c: Likewise.
21397 * util/genmoddep.c: Likewise.
21398 * util/getroot.c: Likewise.
21399 * util/grub-emu.c: Likewise.
21400 * util/grub-mkdevicemap.c: Likewise.
21401 * util/grub-probe.c: Likewise.
21402 * util/lvm.c: Likewise.
21403 * util/misc.c: Likewise.
21404 * util/raid.c: Likewise.
21405 * util/resolve.c: Likewise.
21406 * util/update-grub.in: Likewise.
21407 * util/update-grub_lib.in: Likewise.
21408 * util/grub.d/00_header.in: Likewise.
21409 * util/grub.d/10_hurd.in: Likewise.
21410 * util/grub.d/10_linux.in: Likewise.
21411 * util/i386/efi/grub-install.in: Likewise.
21412 * util/i386/efi/grub-mkimage.c: Likewise.
21413 * util/i386/pc/grub-install.in: Likewise.
21414 * util/i386/pc/grub-mkimage.c: Likewise.
21415 * util/i386/pc/grub-mkrescue.in: Likewise.
21416 * util/i386/pc/grub-setup.c: Likewise.
21417 * util/i386/pc/misc.c: Likewise.
21418 * util/powerpc/ieee1275/grub-install.in: Likewise.
21419 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21420 * util/powerpc/ieee1275/misc.c: Likewise.
21421 * video/bitmap.c: Likewise.
21422 * video/video.c: Likewise.
21423 * video/i386/pc/vbe.c: Likewise.
21424 * video/i386/pc/vbeblit.c: Likewise.
21425 * video/i386/pc/vbefill.c: Likewise.
21426 * video/i386/pc/vbeutil.c: Likewise.
21427 * video/readers/tga.c: Likewise.
21428
21429 2007-07-02 Robert Millan <rmh@aybabtu.com>
21430
21431 * conf/i386-efi.rmk: Replace obsolete reference to
21432 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21433 with util/getroot.c.
21434 * conf/powerpc-ieee1275.rmk: Likewise.
21435 * conf/sparc64-ieee1275.rmk: Likewise.
21436
21437 * util/grub-emu.c (main): Fix unchecked pointer handling.
21438
21439 2007-07-02 Robert Millan <rmh@aybabtu.com>
21440
21441 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21442 invocation to fail, in order to support partition-less media.
21443
21444 * util/i386/pc/grub-install.in: Likewise.
21445
21446 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21447 which fs or partmap modules are needed (akin to its sister scripts).
21448
21449 Also use grub-probe to get rid of unportable /proc/mounts check.
21450
21451 Print the same informational message that the other scripts do, before
21452 exiting.
21453
21454 2007-06-23 Robert Millan <rmh@aybabtu.com>
21455
21456 * util/update-grub_lib.in (font_path): New function. Determine whether
21457 a font file can be found and, if so, echo the GRUB path to it.
21458
21459 * util/update-grub.in: Handle multiple terminals depending on user
21460 input, platform availability and font file presence. Propagate
21461 variables of our findings to /etc/grub.d/ children.
21462
21463 * util/grub.d/00_header.in: Handle multiple terminals, based on
21464 environment setup by update-grub.
21465
21466 2007-06-23 Robert Millan <rmh@aybabtu.com>
21467
21468 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
21469
21470 2007-06-21 Robert Millan <rmh@aybabtu.com>
21471
21472 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21473 indicate end of data section in kernel image.
21474 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21475 GRUB_KERNEL_MACHINE_DATA_END.
21476
21477 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21478 space for it.
21479 * kern/i386/efi/startup.S: Likewise.
21480
21481 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21482 during image generation. Implement --prefix option to override this
21483 patch.
21484 * util/i386/efi/grub-mkimage.c: Likewise.
21485
21486 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21487 code to make path relative to its root into a separate function.
21488
21489 * util/i386/pc/grub-install.in: Use newly provided
21490 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21491 pass the result to grub-install --prefix.
21492
21493 2007-06-13 Robert Millan <rmh@aybabtu.com>
21494
21495 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21496 DEFAULT_DEVICE_MAP.
21497 * util/grub-emu.c: Use above definitions from misc.h instead of
21498 defining them.
21499 * util/grub-mkdevicemap.c: Likewise.
21500 * util/i386/pc/grub-setup.c: Likewise.
21501 * util/grub-probe.c: Likewise.
21502 (probe): Abort with grub_util_error() when either
21503 grub_guess_root_device or grub_util_get_grub_dev fails.
21504
21505 2007-06-12 Robert Millan <rmh@aybabtu.com>
21506
21507 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21508 "pager" assignment.
21509 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21510 "pcdata".
21511 * util/grub-probe.c (probe): Likewise for "drive_name".
21512
21513 2007-06-11 Robert Millan <rmh@aybabtu.com>
21514
21515 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21516 not just the cdrom one.
21517
21518 2007-06-11 Robert Millan <rmh@aybabtu.com>
21519
21520 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21521 Add --pkglibdir=DIR option to override pkglibdir.
21522 Mention --image-type=TYPE in help output.
21523 Fix --grub-mkimage (it was a no-op).
21524 Abort gracefully when no parameter is given.
21525
21526 2007-06-11 Robert Millan <rmh@aybabtu.com>
21527
21528 * util/i386/pc/grub-mkrescue.in: New file.
21529 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21530 * Makefile.in: Handle bin_SCRIPTS.
21531
21532 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21533
21534 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21535 list of video modes.
21536
21537 2007-06-06 Robert Millan <rmh@aybabtu.com>
21538
21539 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21540 file doesn't exist, or if it is in a filesystem grub can't read.
21541
21542 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21543 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21544 header comment to fit in 80 columns when the variables are resolved.
21545
21546 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21547 could be identified by update-grub. Remove redundant check for
21548 unifont.pff existence (since convert_system_path_to_grub_path now
21549 handles that).
21550
21551 2007-06-04 Robert Millan <rmh@aybabtu.com>
21552
21553 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21554
21555 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21556
21557 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21558
21559 2007-06-04 Robert Millan <rmh@aybabtu.com>
21560
21561 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21562
21563 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21564 grub_apple_partition_map_fini.
21565
21566 * util/biosdisk.c
21567 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21568 to access >2 TiB disks).
21569
21570 Print disk->total_sectors with %llu instead of %lu, since this
21571 variable is always 64-bit (prevents wrong disk size from being displayed
21572 on either >2 TiB disk or big-endian CPU).
21573
21574 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21575 into a generic case that supports all (sane) partition maps.
21576
21577 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21578 breaks big-endian.
21579
21580 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21581 and grub_apple_partition_map_fini() after that.
21582
21583 2007-06-01 Robert Millan <rmh@aybabtu.com>
21584
21585 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21586
21587 * util/grub.d/00_header.in: Only enable gfxterm when
21588 convert_system_path_to_grub_path() succeeds.
21589
21590 2007-05-20 Robert Millan <rmh@aybabtu.com>
21591
21592 * util/update-grub_lib.in: New file.
21593 * DISTLIST: Add update-grub_lib.in.
21594 * conf/common.rmk: Generate update-grub_lib and install it in
21595 $(lib_DATA).
21596 * Makefile.in: Add install routine for $(lib_DATA).
21597
21598 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21599 function provided by update-grub_lib to support arbitrary paths of
21600 unifont.pff.
21601 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21602 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21603
21604 2007-05-19 Robert Millan <rmh@aybabtu.com>
21605
21606 * commands/i386/cpuid.c: New module.
21607 * DISTLIST: Add it.
21608 * conf/i386-efi.rmk: Enable cpuid.mod.
21609 * conf/i386-pc.rmk: Likewise.
21610
21611 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21612
21613 * kern/disk.c (grub_disk_read): Check return value of
21614 grub_realloc().
21615
21616 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21617
21618 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21619 arrays.
21620 * disk/raid.c (grub_raid_open): Likewise.
21621
21622 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21623
21624 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21625 stack instead of on the heap.
21626
21627 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21628 before doing a read on it.
21629
21630 * configure.ac: Only use -fno-stack-protector for the target
21631 environment.
21632
21633 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21634
21635 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21636 __attribute_ ((unused)) to mode_type argument.
21637
21638 * util/getroot.c (grub_guess_root_device): Fix #endif.
21639
21640 * kern/misc.c (memcmp): Fix prototype.
21641
21642 * include/grub/partition.h [GRUB_UTIL]
21643 (grub_gpt_partition_map_init): Add prototype.
21644 (grub_gpt_partition_map_fini): Likewise.
21645
21646 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21647 at the right place.
21648
21649 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21650 (grub_fat_read_data): Likewise.
21651 (grub_fat_find_dir): Likewise.
21652
21653 * font/manager.c (find_glyph): Make table a const.
21654 (grub_font_get_glyph): Remove bitmap from if statement.
21655
21656 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21657
21658 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21659 code, first search for device in /dev/mapper, then in /dev.
21660 (grub_util_get_grub_dev): New function.
21661 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21662 prototype.
21663 * util/grub-probe.c (probe): Remove check for RAID, call
21664 grub_util_get_grub_dev() instead of
21665 grub_util_biosdisk_get_grub_dev().
21666 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21667 grub_util_biosdisk_get_grub_dev().
21668 * util/i386/pc/grub-setup.c (main): Likewise.
21669
21670 2007-05-16 Robert Millan <rmh@aybabtu.com>
21671
21672 * DISTLIST: Update for the latest changes.
21673 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21674 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21675 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21676 grub/util/biosdisk.h.
21677 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21678 grub/util/biosdisk.h.
21679
21680 2007-05-16 Robert Millan <rmh@aybabtu.com>
21681
21682 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21683
21684 2007-05-16 Robert Millan <rmh@aybabtu.com>
21685
21686 * util/i386/efi/grub-install.in: New.
21687 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21688 newly added grub-install.
21689 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21690 include.
21691 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21692 grub/util/biosdisk.h.
21693 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21694 grub/util/biosdisk.h.
21695
21696 2007-05-16 Robert Millan <rmh@aybabtu.com>
21697
21698 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21699 * include/grub/util/biosdisk.h: ... here.
21700 * util/i386/pc/biosdisk.c: Moved to ...
21701 * util/biosdisk.c: ... here.
21702 * util/i386/pc/getroot.c: Moved to ...
21703 * util/getroot.c: ... here.
21704 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21705 * util/grub-mkdevicemap.c: ... here.
21706 * util/i386/pc/grub-probe.c: Moved to ...
21707 * util/grub-probe.c: ... here.
21708
21709 2007-05-15 Robert Millan <rmh@aybabtu.com>
21710
21711 * util/update-grub.in: Remove duplicated line in grub.cfg header
21712 message.
21713
21714 2007-05-13 Robert Millan <rmh@aybabtu.com>
21715
21716 * util/update-grub.in: Fix a few assumptions about the devices holding
21717 /, /boot and /boot/grub being the same.
21718 * util/grub.d/00_header.in: Likewise.
21719 * util/grub.d/10_hurd.in: Likewise.
21720 * util/grub.d/10_linux.in: Likewise.
21721
21722 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21723 patterns. Use that to define the `.old' suffix as older than `'.
21724
21725 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21726
21727 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21728 the grub.cfg header message.
21729
21730 2007-05-11 Robert Millan <rmh@aybabtu.com>
21731
21732 * util/update-grub.in: Create device.map if it doesn't already exist,
21733 before attempting to run grub-probe.
21734 Check for grub-probe and grub-mkdevicemap with the same code
21735 grub-install is using.
21736 Remove test mode.
21737
21738 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21739
21740 * Makefile.in: Add the datarootdir autoconf variable.
21741
21742 2007-05-09 Robert Millan <rmh@aybabtu.com>
21743
21744 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
21745 fail gracefully if dev->disk->partition == NULL.
21746
21747 2007-05-07 Robert Millan <rmh@aybabtu.com>
21748
21749 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21750 determine partition map module.
21751 * util/i386/pc/grub-install.in: Use this feature to decide which
21752 partition module to load, instead of hardcoding pc and gpt.
21753
21754 2007-05-07 Robert Millan <rmh@aybabtu.com>
21755
21756 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21757 source directory differs from build directory.
21758
21759 2007-05-05 Robert Millan <rmh@aybabtu.com>
21760
21761 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21762 initialisation.
21763
21764 2007-05-05 Robert Millan <rmh@aybabtu.com>
21765
21766 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21767
21768 2007-05-05 Robert Millan <rmh@aybabtu.com>
21769
21770 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21771 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21772
21773 2007-05-05 Robert Millan <rmh@aybabtu.com>
21774
21775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21776 (grub_probe_SOURCES): Likewise.
21777 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21778 GPT and initialize dos_part and bsd_part accordingly.
21779 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21780 install_bsd_part.
21781 (main): Activate gpt module for use during partition identification,
21782 and deactivate it afterwards.
21783 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21784 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21785 partition identification, and deactivate it afterwards.
21786
21787 2007-05-05 Robert Millan <rmh@aybabtu.com>
21788
21789 * term/i386/pc/console.c (grub_console_fini): Call
21790 grub_term_set_current() before grub_term_unregister().
21791
21792 2007-05-04 Robert Millan <rmh@aybabtu.com>
21793
21794 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21795 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21796 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21797 and update-grub_DATA.
21798 * conf/common.rmk: Build and install update-grub components.
21799 * conf/common.mk: Regenerate.
21800 * util/update-grub.in: New. Core of update-grub.
21801 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21802 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21803 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21804 * util/grub.d/README: New. Document grub.d directory layout.
21805
21806 2007-05-01 Robert Millan <rmh@aybabtu.com>
21807
21808 * util/grub-emu.c: Move initialization functions
21809 grub_util_biosdisk_init() and grub_init_all() before
21810 grub_util_biosdisk_get_grub_dev(), which relies on them.
21811
21812 2007-04-19 Robert Millan <rmh@aybabtu.com>
21813
21814 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
21815 it is used later.
21816
21817 2007-04-18 Jerone Young <jerone@gmail.com>
21818
21819 * kernel/elf.c: Add missing parenthesis for conditional statement
21820 stanza.
21821
21822 2007-04-10 Jerone Young <jerone@gmail.com>
21823
21824 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
21825 continue on and look for device node with real device name.
21826
21827 2007-04-10 Jerone Young <jerone@gmail.com>
21828
21829 * configure.ac: Add argument for autoconf to use transformation
21830 ability.
21831 * Makefile.in: Add autoconf package transformation code.
21832 * util/i386/pc/grub-install.in: Likewise.
21833 * util/powerpc/ieee1275/grub-install.in: Likewise.
21834
21835 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21836
21837 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
21838 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
21839 (EXT2_REVISION): Likewise.
21840 (EXT2_INODE_SIZE): Likewise.
21841 (struct grub_ext2_block_group): Added a missing member
21842 "used_dirs".
21843 (grub_ext2_read_inode): Divide by the inode size in a superblock
21844 instead of 128 to obtain INODES_PER_BLOCK.
21845 Use the macro EXT2_INODE_SIZE instead of directly using
21846 SBLOCK->INODE_SIZE.
21847
21848 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21849
21850 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21851 superblock instead of the structure size to compute an
21852 offset. This fixes the problem that GRUB could not read a
21853 filesystem when inode size is different from 128-byte.
21854
21855 2007-03-05 Marco Gerards <marco@gnu.org>
21856
21857 * normal/main.c (read_config_file): When "menu" is not set, create
21858 an initial context.
21859
21860 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21861
21862 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21863 (HEAP_LIMIT): New macro.
21864 (grub_claim_heap): Claim memory up to `heaplimit'.
21865
21866 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21867
21868 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21869 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21870 (_start): Likewise.
21871 (grub_arch_modules_addr): Return address after `_end'.
21872 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21873 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21874 (add_segments): Calculate `_end' from phdr size and location.
21875 (ALIGN_UP): Moved to ...
21876 * include/grub/misc.h: here.
21877 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21878 New macro.
21879 (GRUB_IEEE1275_MODULE_BASE): Removed.
21880
21881 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21882
21883 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21884 loop boundary.
21885
21886 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21887
21888 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21889 All users updated.
21890 (grub_elf64_load_hook_t): Likewise.
21891 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21892 debug output.
21893
21894 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21895
21896 * kern/mm.c: Update copyright.
21897 (grub_mm_debug): Correct syntax error.
21898 (grub_mm_dump_free): New function.
21899 (grub_debug_free): Call `grub_free'.
21900 * include/grub/mm.h: Update copyright.
21901 (grub_mm_dump_free): Add declaration.
21902
21903 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21904
21905 * include/grub/ieee1275/ieee1275.h: Update copyright.
21906 * kern/powerpc/ieee1275/init.c: Likewise.
21907 * kern/powerpc/ieee1275/openfw.c: Likewise.
21908
21909 * loader/powerpc/ieee1275/linux.c: Likewise.
21910 * include/grub/elfload.h: Likewise.
21911 * kern/elf.c: Likewise.
21912 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21913 callers.
21914 (grub_elf64_load): Likewise.
21915 (grub_elf32_load_segment): Move to a nested function.
21916 (grub_elf64_load_segment): Likewise.
21917
21918 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21919
21920 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21921 prototype.
21922 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21923 (grub_heap_len): Likewise.
21924 (HEAP_SIZE): New macro.
21925 (grub_claim_heap): New function.
21926 (grub_machine_init): Don't claim heap directly. Call
21927 `grub_claim_heap'.
21928 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21929 (grub_available_iterate): New function.
21930
21931 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21932
21933 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21934 * configure.ac: Use it for testing the HOST and TARGET compilers.
21935
21936 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21937
21938 * Makefile.in (enable_grub_emu): New variable.
21939 * configure.ac (--enable-grub-emu): New option.
21940 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21941 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21942 * conf/i386-pc.rmk: Likewise.
21943 * conf/powerpc-ieee1275.rmk: Likewise.
21944 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21945
21946 2006-12-12 Marco Gerards <marco@gnu.org>
21947
21948 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21949
21950 * kern/env.c (grub_env_unset): Don't free the member `value' when
21951 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21952 pointer.
21953
21954 * normal/main.c (current_menu): Removed.
21955 (free_menu): Unset the `menu' environment variable.
21956 (grub_normal_menu_addentry): Make use of the environment variable
21957 `menu', instead of using the global `current_menu'. Allocate
21958 memory for the sourcecode of this entry.
21959 (read_config_file): New argument `nested', changed all callers.
21960 Only in the case of a new context, initialize a new menu. Set the
21961 `menu' environment variable.
21962 (grub_normal_execute): Don't set and unset the environment
21963 variable `menu' here anymore. Only free the menu when leaving the
21964 context.
21965
21966 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21967 leak.
21968
21969 2006-12-11 Marco Gerards <marco@gnu.org>
21970
21971 * normal/menu_entry.c (run): Fix off by one bug so the last line
21972 is executed. Move the loader check to outside the loop.
21973
21974 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21975
21976 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21977
21978 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21979
21980 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21981 the number of sectors. Reported by Andrey Shuvikov
21982 <mr_hyro@yahoo.com>.
21983
21984 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21985
21986 * kern/disk.c (grub_disk_read): When there is a read error, always
21987 try to read only the necessary data.
21988
21989 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21990 disk/raid.c.
21991 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21992 prototype.
21993 [GRUB_UTIL] (grub_raid_fini): Likewise.
21994 [GRUB_UTIL] (grub_lvm_init): Likewise.
21995 [GRUB_UTIL] (grub_lvm_fini): Likewise.
21996 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21997 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21998 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21999 and grub_raid_fini().
22000
22001 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22002
22003 * include/grub/types.h (__unused): Rename to UNUSED.
22004 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22005 (grub_elf64_size): Likewise.
22006
22007 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22008
22009 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22010 grub_error_push and grub_error_pop in the error-handling path.
22011 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22012 length.
22013
22014 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22015
22016 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22017 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22019 (kernel_elf_SOURCES): Likewise.
22020 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22021 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22022 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22023 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22024 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22025 (elf_mod_SOURCES): New variable.
22026 (elf_mod_CFLAGS): Likewise.
22027 (elf_mod_LDFLAGS): Likewise.
22028 * include/grub/types.h (__unused): New macro.
22029 * include/grub/elfload.h: New file.
22030 * kern/elf.c: Likewise.
22031 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22032 (ELF32_LOADMASK): New macro.
22033 (ELF64_LOADMASK): Likewise.
22034 (vmlinux): Removed.
22035 (grub_linux_load32): New function.
22036 (grub_linux_load64): Likewise.
22037 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22038 Use grub_elf_t instead of grub_file_t.
22039
22040 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22041
22042 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22043 `catch_result' to struct set_color_args.
22044
22045 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22046
22047 * normal/menu.c: Include grub/script.h.
22048 * normal/menu_entry.c: Likewise.
22049 * include/grub/normal.h: Do not include grub/script.h.
22050
22051 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22052
22053 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22054
22055 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22056
22057 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22058 disk.
22059 (grub_disk_close): Print debug messages when closing a disk.
22060 (grub_disk_read): Print debug messages when disk read fails.
22061 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22062 filesystem type.
22063 * kern/partition.c: Include misc.h.
22064 (grub_partition_iterate): Print debug messages when detecting
22065 partition type.
22066
22067 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22068
22069 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22070 is negative.
22071 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22072
22073 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22074
22075 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22076 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22077
22078 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22079
22080 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22081 instead of sizeof(lv). Patch by Michael Guntsche.
22082
22083 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22084
22085 * disk/lvm.c: Rename VGS to VG_LIST.
22086 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22087 (grub_lvm_open): Likewise.
22088 Thanks to Michael Guntsche for finding this bug.
22089
22090 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22091
22092 * configure.ac (AC_INIT): Bumped to 1.95.
22093
22094 2006-10-14 Robert Millan <rmh@aybabtu.com>
22095
22096 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22097 with "/dev/.static/dev/md".
22098
22099 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22100
22101 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22102 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22103 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22104 DRIVE_NAME are always freed.
22105
22106 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22107 DOS_PART, as a DOS partition is counted from one instead of zero
22108 now. Reported by Robert Millan.
22109
22110 2006-10-14 Robert Millan <rmh@aybabtu.com>
22111
22112 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22113 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22114 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22115 string returned by grub_guess_root_device.
22116 * util/i386/pc/grub-setup.c: Likewise.
22117 * util/i386/pc/grub-probefs.c: Likewise.
22118
22119 * util/i386/pc/grub-probefs.c: Rename to ...
22120 * util/i386/pc/grub-probe.c: ... this.
22121 * DISTLIST: Remove grub-probefs, add grub-probe.
22122 * conf/i386-efi.rmk: Likewise.
22123 * conf/i386-pc.rmk: Likewise.
22124 * util/i386/pc/grub-install.in: Likewise.
22125
22126 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22127 choose which information we want to print.
22128
22129 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22130
22131 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22132 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22133 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22134 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22135 video/readers/tga.c and video/i386/pc/vbeutil.c.
22136
22137 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22138
22139 Added support for RAID and LVM.
22140
22141 * disk/lvm.c: New file.
22142 * disk/raid.c: Likewise.
22143 * include/grub/lvm.h: Likewise.
22144 * include/grub/raid.h: Likewise.
22145 * include/grub/util/lvm.h: Likewise.
22146 * include/grub/util/raid.h: Likewise.
22147 * util/lvm.c: Likewise.
22148 * util/raid.c: Likewise.
22149
22150 * include/grub/disk.h (grub_disk_dev_id): Add
22151 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22152 (grub_disk_get_size): New prototype.
22153 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22154 returns a partition.
22155 (grub_disk_get_size): New function.
22156
22157 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22158 verbatim if grub_install_dos_part is -2.
22159
22160 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22161 and LVM devices.
22162
22163 * util/i386/pc/grub-setup.c (setup): New argument
22164 MUST_EMBED. Force embedding of GRUB when the argument is
22165 true. Close FILE before returning.
22166 (main): Add support for RAID and LVM.
22167
22168 * conf/common.rmk: Add RAID and LVM modules.
22169 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22170 util/lvm.c.
22171 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22172
22173 * kern/misc.c (grub_strstr): New function.
22174 * include/grub/misc.h (grub_strstr): New prototype.
22175
22176 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22177
22178 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22179
22180 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22181
22182 * kern/misc.c (grub_strtoull): Guess the base only if not
22183 specified.
22184
22185 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22186
22187 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22188 PowerMac support.
22189
22190 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22191
22192 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22193
22194 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22195 Remove `flags' argument. All callers changed.
22196 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22197 (IEEE1275_IHANDLE_INVALID): New variable.
22198 (IEEE1275_CELL_INVALID): New variable.
22199 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22200 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22201 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22202 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22203 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22204 codes from Open Firmware. All callers updated.
22205 (grub_ieee1275_next_property): Directly return Open Firmware return
22206 code.
22207 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22208 Standardize error checking from `grub_ieee1275_get_property'.
22209 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22210 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22211
22212 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22213
22214 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22215 `instance_to_package_args' to `instance_to_path_args'.
22216
22217 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22218 `grub_ieee1275_chosen'.
22219
22220 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22221 `grub_ieee1275_interpret'.
22222
22223 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22224
22225 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22226
22227 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22228
22229 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22230 (__cmpdi): Likewise.
22231
22232 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22233 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22234 `grub_ssize_t'.
22235
22236 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
22237
22238 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22239 to type `grub_ssize_t'.
22240 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22241
22242 2006-09-22 Marco Gerards <marco@gnu.org>
22243
22244 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22245 newlines.
22246
22247 2006-09-22 Marco Gerards <marco@gnu.org>
22248
22249 * commands/echo.c: New file.
22250
22251 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22252
22253 * conf/common.rmk (echo_mod_SOURCES): New variable.
22254 (echo_mod_CFLAGS): Likewise.
22255 (echo_mod_LDFLAGS): Likewise.
22256
22257 2006-09-22 Marco Gerards <marco@gnu.org>
22258
22259 * normal/main.c (get_line): Malloc memory instead of using
22260 preallocated memory. Removed the arguments `cmdline' and
22261 `max_len'. Updated all callers.
22262
22263 2006-09-22 Marco Gerards <marco@gnu.org>
22264
22265 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22266 (normal_mod_DEPENDENCIES): Likewise.
22267
22268 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22269 (normal_mod_DEPENDENCIES): Likewise.
22270
22271 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22272
22273 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
22274
22275 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22276 programs.
22277 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22278 (normal_mod_DEPENDENCIES): Likewise.
22279 * conf/i386-pc.mk: Regenerate.
22280 * conf/i386-efi.mk: Likewise
22281 * conf/common.mk: Likewise.
22282 * conf/powerpc-ieee1275.mk: Likewise.
22283 * conf/sparc64-ieee1275.mk: Likewise.
22284
22285 2006-09-22 Robert Millan <rmh@aybabtu.com>
22286
22287 Sync with i386 version.
22288 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22289 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22290
22291 2006-09-21 Robert Millan <rmh@aybabtu.com>
22292
22293 Import from GRUB Legacy (lib/device.c):
22294 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22295 (init_device_map) [__linux__]: Add support for I2O devices.
22296
22297 2006-09-14 Marco Gerards <marco@gnu.org>
22298
22299 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22300 `-melf_i386'.
22301
22302 2006-09-14 Robert Millan <rmh@aybabtu.com>
22303
22304 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22305 /boot/grub/*.lst.
22306
22307 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
22308
22309 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22310 before adding it to device.map.
22311
22312 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
22313
22314 * genmk.rb: Let GCC generate dependencies the first time it
22315 compiles a file; using the -MD option.
22316 * conf/common.mk: Regenerate.
22317 * conf/i386-pc.mk: Likewise.
22318 * conf/i386-efi.mk: Likewise.
22319 * conf/powerpc-ieee1275.mk: Likewise.
22320 * conf/sparc64-ieee1275.mk: Likewise.
22321
22322 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22323
22324 Move the prototypes of grub_setjmp and grub_longjmp to
22325 cpu/setjmp.h, so that each architecture may specify different
22326 attributes.
22327
22328 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22329 (grub_longjmp): Likewise.
22330 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22331 (grub_longjmp): Likewise.
22332 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22333 (grub_longjmp): Likewise.
22334
22335 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22336 [!GRUB_UTIL] (grub_longjmp): Removed.
22337
22338 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22339
22340 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22341 "color!" method does not return any value.
22342
22343 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22344
22345 * include/grub/bitmap.h: New file.
22346
22347 * include/grub/i386/pc/vbeutil.h: Likewise.
22348
22349 * video/bitmap.c: Likewise.
22350
22351 * video/readers/tga.c: Likewise.
22352
22353 * video/i386/pc/vbeutil.c: Likewise.
22354
22355 * commands/videotest.c: Code cleanup and updated to reflect to new
22356 video API.
22357
22358 * term/gfxterm.c: Likewise.
22359
22360 * video/video.c: Likewise.
22361
22362 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22363 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22364 (bitmap_mod_SOURCES): New entry.
22365 (bitmap_mod_CFLAGS): Likewise.
22366 (bitmap_mod_LDFLAGS): Likewise.
22367 (tga_mod_SOURCES): Likewise.
22368 (tga_mod_CFLAGS): Likewise.
22369 (tga_mod_LDFLAGS): Likewise.
22370
22371 * include/grub/video.h (grub_video_blit_operators): New enum type.
22372 (grub_video_render_target): Changed as forward declaration and moved
22373 actual definition to be video driver specific.
22374 (grub_video_adapter.blit_bitmap): Added blitting operator.
22375 (grub_video_adapter.blit_render_target): Likewise.
22376 (grub_video_blit_bitmap): Likewise.
22377 (grub_video_blit_render_target): Likewise.
22378
22379 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22380 driver specific render target definition.
22381 (grub_video_vbe_map_rgba): Added driver internal helper.
22382 (grub_video_vbe_unmap_color): Updated to use
22383 grub_video_i386_vbeblit_info.
22384 (grub_video_vbe_get_video_ptr): Likewise.
22385
22386 * include/grub/i386/pc/vbeblit.h
22387 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22388 grub_video_i386_vbeblit_info.
22389 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22390 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22391 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22392 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22393 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22394 (grub_video_i386_vbeblit_index_index): Likewise.
22395 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22396 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22397 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22398 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22399 operator.
22400 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22401 operator.
22402
22403 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22404 include/grub/i386/pc/vbeblit.h.
22405
22406 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22407 Updated to use grub_video_i386_vbeblit_info.
22408 (grub_video_i386_vbefill_R8G8B8): Likewise.
22409 (grub_video_i386_vbefill_index): Likewise.
22410 (grub_video_i386_vbefill): Added generic filler.
22411
22412 * video/i386/pc/vbefill.c: Updated to reflect changes on
22413 include/grub/i386/pc/vbefill.h.
22414
22415 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22416 grub_video_i386_vbeblit_info.
22417 (grub_video_vbe_unmap_color): Likewise.
22418 (grub_video_vbe_blit_glyph): Likewise.
22419 (grub_video_vbe_scroll): Likewise.
22420 (grub_video_vbe_draw_pixel): Removed function.
22421 (grub_video_vbe_get_pixel): Likewise.
22422 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22423 updated code to use it.
22424 (common_blitter): Added common blitter for render target and bitmap.
22425 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22426 (grub_video_vbe_blit_render_target): Likewise.
22427
22428 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
22429
22430 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22431 is in text mode if there is no console control protocol instance
22432 available.
22433
22434 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22435
22436 * include/grub/video.h: Code cleanup.
22437
22438 * include/grub/i386/pc/vbe.h: Likewise.
22439
22440 * video/i386/pc/vbe.c: Likewise.
22441
22442 * video/i386/pc/vbeblit.c: Likewise.
22443
22444 * video/i386/pc/vbefill.c: Likewise.
22445
22446 * video/video.c: Likewise. Also added more comments.
22447
22448 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22449
22450 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22451 (struct grub_biosdisk_dap): Likewise.
22452
22453 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22454 linkage settings for all functions.
22455
22456 2006-07-12 Marco Gerards <marco@gnu.org>
22457
22458 * configure.ac (--enable-mm-debug): Fix typo.
22459
22460 * genkernsyms.sh.in: Use proper quoting for `CC'.
22461
22462 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22463
22464 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22465 (normal_mod_ASFLAGS): Remove "-m32".
22466
22467 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22468
22469 * util/misc.c: Include config.h.
22470 [!HAVE_MEMALIGN]: Do not include malloc.h.
22471 (grub_memalign): Use posix_memalign, if present. Then, use
22472 memalign, if present. Otherwise, emit an error.
22473
22474 * util/grub-emu.c: Do not include malloc.h.
22475
22476 * include/grub/util/misc.h: Include unistd.h. This is required for
22477 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22478 D. Eades III <hde@foobar-qux.org>.
22479
22480 * configure.ac (AC_GNU_SOURCE): Added.
22481 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22482 type.
22483
22484 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22485
22486 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22487 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22488
22489 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22490
22491 * include/grub/types.h (grub_host_addr_t): Rename to
22492 grub_target_addr_t.
22493 (grub_host_off_t): Rename to grub_target_off_t.
22494 (grub_host_size_t): Rename to grub_target_size_t.
22495 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22496 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22497
22498 * include/grub/kernel.h (struct grub_module_header): Change type
22499 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22500 (grub_module_info): Likewise.
22501
22502 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22503
22504 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22505 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22506 Velazquez <jesus.velazquez@gmail.com>.
22507
22508 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22509
22510 Count partitions from 1 instead of 0 in the string representation
22511 of partitions. Still use 0-based internally.
22512
22513 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22514 (sun_partition_map_iterate): Use grub_partition_t instead of
22515 struct grub_partition *. Cast DESC->START_CYLINDER to
22516 grub_uint64_t after converting the endian.
22517 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22518 (sun_partition_map_get_name): Add 1 to P->INDEX.
22519
22520 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22521 PCDATA->DOS_PART.
22522 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22523
22524 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22525 zero instead of one.
22526 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22527 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22528
22529 * partmap/apple.c (apple_partition_map_iterate): Change the type
22530 of POS to unsigned.
22531 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22532 (apple_partition_map_get_name): Add 1 into P->INDEX.
22533
22534 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22535 of POS to unsigned.
22536 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22537 calculate the offset of a partition.
22538 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22539 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22540
22541 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22542 SECTOR to grub_disk_addr_t.
22543 (acorn_partition_map_iterate): Likewise.
22544 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22545 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22546 top.
22547 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22548
22549 * kern/i386/pc/init.c (make_install_device): Add 1 into
22550 GRUB_INSTALL_DOS_PART.
22551
22552 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22553 conditional.
22554
22555 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22556
22557 Clean up the code to support 64-bit addressing in disks and
22558 files. This change is not enough for filesystems yet.
22559
22560 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22561 type of "start" to grub_uint64_t.
22562 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22563 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22564 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22565 convert addresses.
22566
22567 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22568 to grub_disk_addr_t.
22569
22570 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22571 string.
22572
22573 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22574
22575 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22576 to char *.
22577
22578 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22579
22580 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22581
22582 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22583
22584 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22585 to grub_off_t, to detect an error from grub_file_seek.
22586 (grub_multiboot_load_elf32): Likewise.
22587
22588 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22589 maximum unsigned long value when an overflow is detected.
22590 (grub_strtoull): New function.
22591 (grub_divmod64): Likewise.
22592 (grub_lltoa): use grub_divmod64.
22593
22594 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22595 grub_disk_addr_t.
22596 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22597 the pointer to next character. Use grub_strtoull instead of
22598 grub_strtoul.
22599 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22600 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22601 respectively.
22602
22603 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
22604 return value is signed.
22605 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22606 test if OFFSET is less than zero, as OFFSET is unsigned now.
22607
22608 * kern/disk.c (struct grub_disk_cache): Change the type of
22609 "sector" to grub_disk_addr_t.
22610 (grub_disk_cache_get_index): Change the type of SECTOR to
22611 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22612 unsigned after shifting.
22613 (grub_disk_cache_invalidate): Change the type of SECTOR to
22614 grub_disk_addr_t.
22615 (grub_disk_cache_unlock): Likewise.
22616 (grub_disk_cache_store): Likewise.
22617 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22618 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22619 grub_disk_addr_t and grub_uint64_t, respectively.
22620 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22621 body, as the value of OFFSET is tweaked by
22622 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22623 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22624 respectively.
22625 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22626 body, as the value of OFFSET is tweaked by
22627 grub_disk_check_range. Change the types of LEN and N to
22628 grub_size_t.
22629
22630 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22631 and "saved_offset" to grub_off_t.
22632 (test_header): Cast BUF to char *.
22633 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22634 to char *.
22635 (grub_gzio_read): Change the types of OFFSET and SIZE to
22636 grub_off_t and grub_size_t, respectively.
22637
22638 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22639 Removed.
22640 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22641 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22642 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22643 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22644 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22645
22646 * include/grub/types.h (grub_off_t): Unconditionally set to
22647 grub_uint64_t.
22648 (grub_disk_addr_t): Changed to grub_uint64_t.
22649
22650 * include/grub/partition.h (struct grub_partition): Change the
22651 types of "start", "len" and "offset" to grub_disk_addr_t,
22652 grub_uint64_t and grub_disk_addr_t, respectively.
22653 (grub_partition_get_start): Return grub_disk_addr_t.
22654 (grub_partition_get_len): Return grub_uint64_t.
22655
22656 * include/grub/misc.h (grub_strtoull): New prototype.
22657 (grub_divmod64): Likewise.
22658
22659 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22660 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22661 grub_off_t, respectively.
22662 All callers and references changed.
22663
22664 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22665 grub_size_t in "read".
22666 All callers and references changed.
22667
22668 * include/grub/file.h (struct grub_file): Change the types of
22669 "offset" and "size" to grub_off_t and grub_off_t,
22670 respectively. Change the type of SECTOR to grub_disk_addr_t in
22671 "read_hook".
22672 (grub_file_read): Change the type of LEN to grub_size_t.
22673 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22674 grub_off_t.
22675 (grub_file_size): Return grub_off_t.
22676 (grub_file_tell): Likewise.
22677 All callers and references changed.
22678
22679 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22680 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22681 "write".
22682 (struct grub_disk): Change the type of "total_sectors" to
22683 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
22684 "read_hook".
22685 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22686 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22687 (grub_disk_write): Likewise.
22688 All callers and references changed.
22689
22690 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22691 char * for grub_strncmp to silence gcc.
22692 (grub_iso9660_mount): Likewise.
22693 (grub_iso9660_mount): Likewise.
22694 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22695 return statement.
22696 (grub_iso9660_iterate_dir): Likewise.
22697 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22698
22699 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22700 LEN to grub_disk_addr_t and grub_size_t, respectively.
22701
22702 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22703
22704 * fs/jfs.c (grub_jfs_read_file): Likewise.
22705
22706 * fs/minix.c (grub_jfs_read_file): Likewise.
22707
22708 * fs/sfs.c (grub_jfs_read_file): Likewise.
22709
22710 * fs/ufs.c (grub_jfs_read_file): Likewise.
22711
22712 * fs/xfs.c (grub_jfs_read_file): Likewise.
22713
22714 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22715 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22716 respectively.
22717
22718 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22719 BLKNR to -1 instead of returning GRUB_ERRNO.
22720 (grub_ext2_read_file): Change the types of SECTOR and
22721 LEN to grub_disk_addr_t and grub_size_t, respectively.
22722
22723 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22724 LEN to grub_disk_addr_t and grub_size_t, respectively.
22725
22726 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22727 grub_file_read.
22728
22729 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22730 string. Do not cast SECTOR explicitly.
22731
22732 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22733 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22734 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22735 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22736 over 2TB and LBA mode is not supported, raise an error.
22737 (get_safe_sectors): New function.
22738 (grub_biosdisk_read): Use get_safe_sectors.
22739 (grub_biosdisk_write): Likewise.
22740
22741 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22742 (grub_efidisk_write): Likewise.
22743
22744 * disk/loopback.c (delete_loopback): Cosmetic changes.
22745 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22746 correctly.
22747 (grub_loopback_open): Likewise.
22748 (grub_loopback_read): Likewise. Also, change the type of POS to
22749 grub_off_t, and fix the usage of grub_memset.
22750
22751 * commands/i386/pc/play.c: Include grub/machine/time.h.
22752
22753 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22754 print FILE->SIZE.
22755
22756 * commands/configfile.c: Include grub/env.h.
22757
22758 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22759 GRUB_ERRNO directly instead. Change the type of POS to
22760 grub_off_t. Follow the coding standard.
22761
22762 * commands/blocklist.c: Include grub/partition.h.
22763 (grub_cmd_blocklist): Return an error if the underlying device is
22764 not a disk. Take the starting sector of a partition into account,
22765 if a partition is used.
22766
22767 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22768 a length field.
22769 (lba_mode): Support 64-bit addresses.
22770 (chs_mode): Likewise.
22771 (copy_buffer): Adapted to the new offsets of a length field and a
22772 segment field.
22773 (blocklist_default_start): Allocate 64-bit space.
22774
22775 * boot/i386/pc/boot.S (force_lba): Removed.
22776 (boot_drive): Moved to under KERNEL_SECTOR.
22777 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
22778 space.
22779 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22780 is useless.
22781 (lba_mode): Refactored to support a 64-bit address. More size
22782 optimization.
22783 (setup_sectors): Likewise.
22784
22785 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22786
22787 * DISTLIST: Added include/grub/i386/linux.h. Removed
22788 include/grub/i386/pc/linux.h
22789
22790 * configure.ac (AC_INIT): Bumped to 1.94.
22791
22792 * config.guess: Updated from gnulib.
22793 * config.sub: Likewise.
22794 * install-sh: Likewise.
22795 * mkinstalldirs: Likewise.
22796
22797 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22798
22799 * conf/common.rmk (grub_modules_init.lst): Depended on
22800 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22801 MODSRCFILES.
22802
22803 * genmk.rb (PModule::rule): Reverted the previous change.
22804
22805 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22806
22807 * conf/common.rmk (grub_modules_init.lst): Depends on
22808 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22809 that the target does not exist before producing.
22810 (grub_modules_init.h): Remove the target before generating.
22811 (grub_emu_init.c): Likewise.
22812
22813 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22814
22815 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
22816
22817 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
22818 for the target-specific tests. Make sure that we also have the
22819 up-to-date target variables for those tests.
22820
22821 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22822
22823 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
22824 (PModule::rule): Likewise.
22825
22826 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22827
22828 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
22829 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
22830 target-specific flags should be prefixed.
22831 (PModule::rule): Likewise.
22832
22833 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
22834
22835 * configure.ac (CMP): Check if cmp is available explicitly.
22836
22837 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
22838
22839 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
22840 (target_cpu): New variable.
22841 (pkglibdir): Use target_cpu instead of host_cpu.
22842
22843 * util/i386/pc/grub-install.in (host_cpu): Removed.
22844 (target_cpu): New variable.
22845 (pkglibdir): Use target_cpu instead of host_cpu.
22846
22847 * util/genmoddep.c: Removed.
22848
22849 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22850 instead of GRUB_HOST_SIZEOF_VOID_P.
22851 * kern/dl.c: Likewise.
22852
22853 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22854 ...
22855 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22856 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22857 (GRUB_TARGET_SIZEOF_LONG): ... this.
22858 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22859 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22860 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22861 to ...
22862 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22863 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22864 (GRUB_TARGET_SIZEOF_LONG): ... this.
22865 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22866 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22867 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22868 to ...
22869 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22870 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22871 (GRUB_TARGET_SIZEOF_LONG): ... this.
22872 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22873 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22874
22875 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22876 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22877 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22878 instead of GRUB_HOST_SIZEOF_LONG.
22879 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22880 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22881 GRUB_CPU_WORDS_BIGENDIAN.
22882 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22883 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22884 grub_host_ssize_t.
22885
22886 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22887 (genmoddep_SOURCES): Likewise.
22888 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22889 (genmoddep_SOURCES): Likewise.
22890 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22891 (genmoddep_SOURCES): Likewise.
22892 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22893 Likewise.
22894 (genmoddep_SOURCES): Likewise.
22895
22896 * genmoddep.awk: New file.
22897
22898 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22899 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22900 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22901 (PModule::rule): Likewise.
22902 (Program::rule): Likewise.
22903 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22904 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22905 respectively.
22906
22907 * configure.ac: Rewritten intensively to use host and target
22908 instead of build and host, respectively.
22909
22910 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22911 (host_cpu): Removed.
22912 (target_cpu): New variable.
22913 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22914 (BUILD_CC): Removed.
22915 (BUILD_CFLAGS): Likewise.
22916 (BUILD_CPPFLAGS): Likewise.
22917 (TARGET_CC): New variable.
22918 (TARGET_CFLAGS): Likewise.
22919 (TARGET_CPPFLAGS): Likewise.
22920 (TARGET_LDFLAGS): Likewise.
22921 (AWK): Likewise.
22922 (include): Use target_cpu instead of host_cpu.
22923 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
22924
22925 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22926
22927 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22928
22929 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22930 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22931 field 'false' to 'exec_on_false'.
22932 (grub_script_create_cmdif): Renamed argument names to reflect above
22933 changes.
22934
22935 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22936
22937 * normal/script.c (grub_script_create_cmdif): Likewise.
22938
22939 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22940
22941 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22942 top.
22943 (grub_hfsplus_btree_recptr): Likewise.
22944 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22945 FILEBLOCK both to pass a block number and store next block
22946 number.
22947 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22948 overflow file correctly. Specify errors appropriately, because
22949 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22950 grub_hfsplus_btree_recptr to get the pointer to a found key.
22951 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22952 is found.
22953
22954 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22955 linux.mod.
22956 (_linux_mod_SOURCES): New variable.
22957 (_linux_mod_CFLAGS): Likewise.
22958 (_linux_mod_LDFLAGS): Likewise.
22959 (linux_mod_SOURCES): Likewise.
22960 (linux_mod_CFLAGS): Likewise.
22961 (linux_mod_LDFLAGS): Likewise.
22962
22963 * DISTLIST: Added loader/i386/efi/linux.c,
22964 loader/i386/efi/linux_normal.c and
22965 include/grub/i386/efi/loader.h.
22966
22967 * loader/i386/efi/linux.c: New file.
22968 * loader/i386/efi/linux_normal.c: Likewise.
22969 * include/grub/i386/efi/loader.h: Likewise.
22970
22971 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22972
22973 * commands/blocklist.c: New file.
22974
22975 * DISTLIST: Added commands/blocklist.c.
22976
22977 * term/efi/console.c (grub_console_highlight_color): Use a lighter
22978 color for the background, and a darker color for the foreground.
22979 (grub_console_checkkey): Return READ_KEY.
22980 (grub_console_cls): Set the background to
22981 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22982
22983 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22984
22985 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22986 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22987
22988 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22989 prototype.
22990
22991 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22992 BG. The spec is wrong again.
22993
22994 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22995 prototype.
22996 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22997
22998 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22999 commands/blocklist.c.
23000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23001
23002 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23003 (blocklist_mod_SOURCES): New variable.
23004 (blocklist_mod_CFLAGS): Likewise.
23005 (blocklist_mod_LDFLAGS): Likewise.
23006
23007 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23008
23009 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23010 duplication.
23011 (lba_mode): Use %eax more intensively to reduce the code size.
23012
23013 2006-05-20 Marco Gerards <marco@gnu.org>
23014
23015 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23016
23017 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23018 for `menuentry'.
23019 (script): Accept leading newlines.
23020 (newlines): New rule to describe 0 or more newlines.
23021 (commands): Accept `command' with trailing newline. Fixed the
23022 order in which arguments were passed to `grub_script_add_cmd'.
23023 Accept commands separated by newlines.
23024 (function): Changed to accept newlines.
23025 (menuentry) Rewritten.
23026
23027 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23028 front of the list, instead of to the end.
23029
23030 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23031
23032 * util/i386/pc/grub-install.in (bindir): New variable.
23033 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23034 Shaver <lbgwjl@gmail.com>.
23035
23036 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23037
23038 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23039 grub/machine/linux.h
23040 * loader/i386/pc/linux.c: Likewise.
23041
23042 * include/grub/i386/pc/linux.h: Moved to ...
23043 * include/grub/i386/linux.h: ... here.
23044
23045 * include/grub/i386/linux.h (struct linux_kernel_params): New
23046 struct.
23047
23048 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23049
23050 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23051 checking.
23052 (grub_video_vbe_blit_glyph): Likewise.
23053 (grub_video_vbe_blit_bitmap): Likewise.
23054 (grub_video_vbe_blit_render_target): Likewise.
23055
23056 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23057
23058 * configure.ac (--with-platform): Properly quote the square
23059 brackets.
23060
23061 2006-05-08 Marco Gerards <marco@gnu.org>
23062
23063 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23064 this...
23065 (kernel_elf_HEADERS): ...to this. Updated all users.
23066 (grubof_symlist.c): Renamed from this...
23067 (kernel_elf_symlist.c): ...to this. Updated all users.
23068 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23069 (grubof_SOURCES): Renamed from this...
23070 (kernel_elf_SOURCES): ...to this.
23071 (grubof_HEADERS): Renamed from this...
23072 (kernel_elf_HEADERS): ...to this.
23073 (grubof_CFLAGS): Renamed from this...
23074 (kernel_elf_CFLAGS): ...to this.
23075 (grubof_ASFLAGS): Renamed from this...
23076 (kernel_elf_ASFLAGS): ...to this.
23077 (grubof_LDFLAGS): Renamed from this...
23078 (kernel_elf_LDFLAGS): ...to this.
23079
23080 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23081 this...
23082 (kernel_elf_HEADERS): ...to this. Updated all users.
23083 (grubof_symlist.c): Renamed from this...
23084 (kernel_elf_symlist.c): ...to this. Updated all users.
23085 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23086 (grubof_SOURCES): Renamed from this...
23087 (kernel_elf_SOURCES): ...to this.
23088 (grubof_HEADERS): Renamed from this...
23089 (kernel_elf_HEADERS): ...to this.
23090 (grubof_CFLAGS): Renamed from this...
23091 (kernel_elf_CFLAGS): ...to this.
23092 (grubof_ASFLAGS): Renamed from this...
23093 (kernel_elf_ASFLAGS): ...to this.
23094 (grubof_LDFLAGS): Renamed from this...
23095 (kernel_elf_LDFLAGS): ...to this.
23096
23097 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23098 `kernel.elf' instead of `grubof'.
23099
23100 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23101
23102 Add --with-platform to configure. Use pkglibdir instead of
23103 pkgdatadir. This is reported by Roger Leigh.
23104
23105 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23106 (host_vendor): Likewise.
23107 (host_os): Likewise.
23108 (pkgdatadir): Likewise.
23109 (platform): New variable.
23110 (pkglibdir): Likewise.
23111 Use PKGLIBDIR instead of PKGDATADIR.
23112
23113 * util/i386/pc/grub-install.in (datadir): Removed.
23114 (host_vendor): Likewise.
23115 (host_os): Likewise.
23116 (pkgdatadir): Likewise.
23117 (platform): New variable.
23118 (pkglibdir): Likewise.
23119 Use PKGLIBDIR instead of PKGDATADIR.
23120
23121 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23122 instead of GRUB_DATADIR.
23123 (main): Likewise.
23124 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23125 (main): Likewise.
23126 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23127 (main): Likewise.
23128
23129 * configure.ac (--with-platform): New option.
23130 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23131
23132 * Makefile.in: Include a makefile based on PLATFORM instead of
23133 HOST_VENDOR.
23134 (pkgdatadir): Not appended by the machine type.
23135 (pkglibdir): Appended by the machine type.
23136 (host_vendor): Removed.
23137 (platform): New variable.
23138 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23139 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23140 (uninstall): Likewise.
23141
23142 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23143
23144 Use the environment context in the menu. Remove the commands
23145 "default" and "timeout", and use variables instead.
23146
23147 * normal/menu.c: Include grub/env.h.
23148 (print_entry): Cast TITLE to silence gcc.
23149 (get_timeout): New function.
23150 (set_timeout): Likewise.
23151 (get_entry_number): Likewise.
23152 (run_menu): Use a default entry, a fallback entry and a timeout
23153 in the environment variables "default", "fallback" and
23154 "timeout". Also, tweak the default entry if it is not within the
23155 current menu entries.
23156 (grub_menu_run): Use a fallback entry in the environment variable
23157 "fallback".
23158
23159 * normal/main.c (read_config_file): Do not initialize
23160 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23161 NEWMENU->TIMEOUT.
23162 (grub_normal_execute): Use a data slot to store the menu.
23163
23164 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23165 fallback_entry and timeout.
23166 (struct grub_menu_list): Removed.
23167 (grub_menu_list_t): Likewise.
23168 (struct grub_context): Likewise.
23169 (grub_context_t): Likewise.
23170 (grub_context_get): Likewise.
23171 (grub_context_get_current_menu): Likewise.
23172 (grub_context_push_menu): Likewise.
23173 (grub_context_pop_menu): Likewise.
23174 (grub_default_init): Likewise.
23175 (grub_default_fini): Likewise.
23176 (grub_timeout_init): Likewise.
23177 (grub_timeout_fini): Likewise.
23178
23179 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23180 and timeout.mod.
23181 (normal_mod_SOURCES): Removed normal/context.c.
23182
23183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23184 commands/default.c, commands/timeout.c and normal/context.c.
23185 (normal_mod_SOURCES): Removed normal/context.c.
23186
23187 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23188 commands/timeout.c and normal/context.c.
23189 (normal_mod_SOURCES): Removed normal/context.c.
23190
23191 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23192 commands/default.c, commands/timeout.c and normal/context.c.
23193 (normal_mod_SOURCES): Removed normal/context.c.
23194
23195 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23196 timeout.mod.
23197 (default_mod_SOURCES): Removed.
23198 (default_mod_CFLAGS): Likewise.
23199 (default_mod_LDFLAGS): Likewise.
23200 (timeout_mod_SOURCES): Removed.
23201 (timeout_mod_CFLAGS): Likewise.
23202 (timeout_mod_LDFLAGS): Likewise.
23203
23204 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23205 normal/context.c.
23206
23207 * commands/default.c: Removed.
23208 * commands/timeout.c: Likewise.
23209 * normal/context.c: Likewise.
23210
23211 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23212
23213 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23214
23215 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23216
23217 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23218 "next" to "prev" for readability.
23219 (struct grub_env_sorted_var): New struct.
23220 (grub_env_context): Renamed to ...
23221 (initial_context): ... this.
23222 (grub_env_var_context): Renamed to ...
23223 (current_context): ... this.
23224 (grub_env_find): Look only at CURRENT_CONTEXT.
23225 (grub_env_context_open): Rewritten to copy exported variables from
23226 previous context.
23227 (grub_env_context_close): Rewritten according to the new
23228 scheme. Also, add an assertion to prevent the initial context from
23229 removed.
23230 (grub_env_insert): Removed the code for the sorted list.
23231 (grub_env_remove): Likewise.
23232 (grub_env_export): Simply mark the variable with
23233 GRUB_ENV_VAR_GLOBAL.
23234 (grub_env_set): A cosmetic change for naming consistency.
23235 (grub_env_get): Likewise.
23236 (grub_env_unset): Likewise.
23237 (grub_env_iterate): Rewritten to sort variables within this
23238 function.
23239 (grub_register_variable_hook): Fixed for naming consistency. Call
23240 grub_env_find again, only if NAME is not found at the first time.
23241 (mangle_data_slot_name): New function.
23242 (grub_env_set_data_slot): Likewise.
23243 (grub_env_get_data_slot): Likewise.
23244 (grub_env_unset_data_slot): Likewise.
23245
23246 * include/grub/env.h (grub_env_var_type): New enum.
23247 (GRUB_ENV_VAR_LOCAL): New constant.
23248 (GRUB_ENV_VAR_GLOBAL): Likewise.
23249 (GRUB_ENV_VAR_DATA): Likewise.
23250 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23251 "type".
23252 (grub_env_set): Replace VAR with NAME for consistency.
23253 (grub_register_variable_hook): Likewise.
23254 (grub_env_export): Specify the name of the argument.
23255 (grub_env_set_data_slot): New prototype.
23256 (grub_env_get_data_slot): Likewise.
23257 (grub_env_unset_data_slot): Likewise.
23258
23259 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23260
23261 Extend the loader so that GRUB can accept a loader which comes
23262 back to GRUB when a loaded image exits. Also, this change adds
23263 support for a chainloader on EFI.
23264
23265 * term/efi/console.c: Include grub/misc.h.
23266 (grub_console_checkkey): Display a scan code on the top for
23267 debugging. This will be removed once the EFI port gets stable.
23268 Correct the scan code mapping.
23269
23270 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23271 allocate memory from larger regions, in order to reduce the number
23272 of allocated regions. Otherwise, the MacOSX loader panics.
23273 (filter_memory_map): Avoid less than 1MB for compatibility with
23274 other loaders.
23275 (add_memory_regions): Allocate from the tail of a region, if
23276 possible, to avoid allocating a region near to 1MB, for the MacOSX
23277 loader.
23278
23279 * kern/efi/init.c (grub_efi_set_prefix): Specify
23280 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23281
23282 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23283 argument IMAGE_HANDLE and specify it to get a loaded image.
23284 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23285 grub_efi_get_loaded_image.
23286 (grub_efi_get_filename): Divide the length by the size of
23287 grub_efi_char16_t.
23288 (grub_efi_get_device_path): New function.
23289 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23290 the length by the size of grub_efi_char16_t for a file path device
23291 path node.
23292
23293 * kern/loader.c (grub_loader_noreturn): New variable.
23294 (grub_loader_set): Accept a new argument NORETURN. Set
23295 GRUB_LOADER_NORETURN to NORETURN.
23296 All callers changed.
23297 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23298 grub_machine_fini.
23299
23300 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23301 prototype.
23302 (grub_efi_get_loaded_image): Take an argument to specify an image
23303 handle.
23304
23305 * include/grub/loader.h (grub_loader_set): Added one more argument
23306 NORETURN.
23307
23308 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23309 instead of grub_efi_open_protocol.
23310 (grub_efidisk_get_device_name): Likewise.
23311 (grub_efidisk_close): Print a newline.
23312 (grub_efidisk_get_device_handle): Fixed to use
23313 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23314 GRUB_EFI_DEVICE_PATH_TYPE.
23315
23316 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23317 * kern/efi/efi.c (device_path_guid): ... here.
23318
23319 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23320 chain.mod.
23321 (kernel_mod_HEADERS): Added efi/disk.h.
23322 (_chain_mod_SOURCES): New variable.
23323 (_chain_mod_CFLAGS): Likewise.
23324 (_chain_mod_LDFLAGS): Likewise.
23325 (chain_mod_SOURCES): Likewise.
23326 (chain_mod_CFLAGS): Likewise.
23327 (chain_mod_LDFLAGS): Likewise.
23328
23329 * DISTLIST: Added include/grub/efi/chainloader.h,
23330 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23331
23332 * include/grub/efi/chainloader.h: New file.
23333 * loader/efi/chainloader.c: Likewise.
23334 * loader/efi/chainloader_normal.c: Likewise.
23335
23336 2006-04-30 Marco Gerards <marco@gnu.org>
23337
23338 * commands/configfile.c (grub_cmd_source): New function.
23339 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23340 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23341
23342 2006-04-30 Marco Gerards <marco@gnu.org>
23343
23344 * normal/execute.c (grub_script_execute_cmd): Change the return
23345 type to `grub_err_t'. Correctly return the error.
23346 (grub_script_execute_cmdline): In case a command line is not a
23347 command or a function, try to interpret it as an assignment.
23348
23349 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23350
23351 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23352 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23353 skip a node whose name is obviously invalid as UTF-16,
23354 i.e. contains a NUL character. Stop the iteration when the last
23355 directory entry is found. Instead of using the return value of
23356 grub_hfsplus_btree_iterate_node, store the value in RET and use
23357 it, because the iterator can be stopped by the last directory
23358 entry.
23359
23360 2006-04-30 Marco Gerards <marco@gnu.org>
23361
23362 * include/grub/env.h (grub_env_export): New prototype. Reported
23363 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23364
23365 2006-04-30 Marco Gerards <marco@gnu.org>
23366
23367 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23368 size of the extents in a catalog file record.
23369
23370 2006-04-29 Marco Gerards <marco@gnu.org>
23371
23372 * commands/configfile.c (grub_cmd_configfile): Execute the
23373 configfile within its own context.
23374
23375 * include/grub/env.h (grub_env_context_open): New prototype.
23376 (grub_env_context_close): Likewise.
23377
23378 * kern/env.c (grub_env): Removed.
23379 (grub_env_sorted): Likewise.
23380 (grub_env_context): New variable.
23381 (grub_env_var_context): Likewise.
23382 (grub_env_find): Search both the active context and the global
23383 context.
23384 (grub_env_context_open): New function.
23385 (grub_env_context_close): Likewise.
23386 (grub_env_insert): Likewise.
23387 (grub_env_remove): Likewise.
23388 (grub_env_export): Likewise.
23389 (grub_env_set): Changed to use helper functions to avoid code
23390 duplication.
23391 (grub_env_iterate): Rewritten so both the current context and the
23392 global context are being used.
23393
23394 * normal/command.c (export_command): New function.
23395 (grub_command_init): Register the `export' function.
23396
23397 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23398
23399 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23400 explicitly to suppress gcc's warnings.
23401 * fs/fat.c (grub_fat_find_dir): Likewise.
23402 (grub_fat_label): Likewise.
23403 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23404 (grub_xfs_mount): Likewise.
23405 (grub_xfs_label): Likewise.
23406 * fs/affs.c (grub_affs_mount): Likewise.
23407 (grub_affs_label): Likewise.
23408 (grub_affs_iterate_dir): Likewise.
23409 * fs/sfs.c (grub_sfs_mount): Likewise.
23410 (grub_sfs_iterate_dir): Likewise.
23411 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23412 * fs/hfs.c (grub_hfs_mount): Likewise.
23413 (grub_hfs_cmp_catkeys): Likewise.
23414 (grub_hfs_find_dir): Likewise.
23415 (grub_hfs_dir): Likewise.
23416 (grub_hfs_label): Likewise.
23417 * fs/jfs.c (grub_jfs_mount): Likewise.
23418 (grub_jfs_opendir): Likewise.
23419 (grub_jfs_getent): Likewise.
23420 (grub_jfs_lookup_symlink): Likewise.
23421 (grub_jfs_label): Likewise.
23422 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23423 (grub_hfsplus_iterate_dir): Likewise.
23424 (grub_hfsplus_btree_iterate_node): Made static.
23425
23426 * util/grub-emu.c (prefix): New variable.
23427 (grub_machine_set_prefix): New function.
23428 (main): Do not set the environment variable "prefix" here. Only
23429 set PREFIX, which is used later by grub_machine_set_prefix.
23430
23431 * include/grub/video.h: Do not include grub/symbol.h.
23432 (grub_video_register): Not exported. This symbol is not defined in
23433 the kernel.
23434 (grub_video_unregister): Likewise.
23435 (grub_video_iterate): Likewise.
23436 (grub_video_setup): Likewise.
23437 (grub_video_restore): Likewise.
23438 (grub_video_get_info): Likewise.
23439 (grub_video_get_blit_format): Likewise.
23440 (grub_video_set_palette): Likewise.
23441 (grub_video_get_palette): Likewise.
23442 (grub_video_set_viewport): Likewise.
23443 (grub_video_get_viewport): Likewise.
23444 (grub_video_map_color): Likewise.
23445 (grub_video_map_rgb): Likewise.
23446 (grub_video_map_rgba): Likewise.
23447 (grub_video_fill_rect): Likewise.
23448 (grub_video_blit_glyph): Likewise.
23449 (grub_video_blit_bitmap): Likewise.
23450 (grub_video_blit_render_target): Likewise.
23451 (grub_video_scroll): Likewise.
23452 (grub_video_swap_buffers): Likewise.
23453 (grub_video_create_render_target): Likewise.
23454 (grub_video_delete_render_target): Likewise.
23455 (grub_video_set_active_render_target): Likewise.
23456
23457 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23458 Undefined.
23459 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23460
23461 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23462 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23463 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23464 instead of $(srcdir)/genkernsyms.sh.
23465
23466 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23467 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23468 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23469 instead of $(srcdir)/genkernsyms.sh.
23470
23471 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23472 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23473 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23474 instead of $(srcdir)/genkernsyms.sh.
23475
23476 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23477 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23478 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23479 instead of $(srcdir)/genkernsyms.sh.
23480
23481 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23482 genkernsyms.sh.
23483
23484 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23485 genkernsyms.sh.
23486 (gensymlist.sh): New target.
23487 (genkernsyms.sh): Likewise.
23488
23489 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23490 genkernsyms.sh.in and gensymlist.sh.in.
23491
23492 * genkernsyms.sh: Removed.
23493 * gensymlist.sh: Likewise.
23494
23495 * genkernsyms.sh.in: New file.
23496 * gensymlist.sh.in: Likewise.
23497
23498 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23499
23500 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23501 clobber "prefix", since we may have already set it manually.
23502
23503 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23504
23505 * kern/misc.c (abort): New alias for grub_abort.
23506
23507 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23508
23509 A new machine-specific function "grub_machine_set_prefix" is
23510 defined. This is called after loading modules, so that a prefix
23511 initialization can use modules. Also, this change adds an
23512 intensive debugging feature for the memory manager via the
23513 configure option "--enable-mm-debug".
23514
23515 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23516 PART.LEN.
23517
23518 * kern/sparc64/ieee1275/init.c (abort): Removed.
23519 (grub_stop): Likewise.
23520 (grub_exit): New function.
23521 (grub_set_prefix): Renamed to ...
23522 (grub_machine_set_prefix): ... this.
23523 (grub_machine_init): Do not call grub_set_prefix.
23524
23525 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23526 (grub_machine_set_prefix): ... this.
23527 (grub_machine_init): Do not call grub_set_prefix.
23528
23529 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23530 (grub_machine_init): Do not set the prefix here.
23531
23532 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23533
23534 * kern/efi/init.c: Include grub/mm.h.
23535 (grub_efi_set_prefix): New function.
23536
23537 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23538 (grub_efi_get_filename): New function.
23539 (grub_print_device_path): Renamed to ...
23540 (grub_efi_print_device_path): ... this.
23541
23542 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23543 [MM_DEBUG] (grub_realloc): Likewise.
23544 [MM_DEBUG] (grub_free): Likewise.
23545 [MM_DEBUG] (grub_memalign): Likewise.
23546 [MM_DEBUG] (grub_mm_debug): New variable.
23547 [MM_DEBUG] (grub_debug_malloc): New function.
23548 [MM_DEBUG] (grub_debug_free): New function.
23549 [MM_DEBUG] (grub_debug_realloc): New function.
23550 [MM_DEBUG] (grub_debug_memalign): New function.
23551
23552 * kern/misc.c (grub_abort): Print a newline to distinguish
23553 the message.
23554
23555 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23556 grub_set_root_dev after loading modules. This is necessary when
23557 setting a prefix depends on modules.
23558
23559 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23560 (grub_efi_print_device_path): ... this.
23561 (grub_efi_get_filename): New prototype.
23562 (grub_efi_set_prefix): Likewise.
23563
23564 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23565 and grub/disk.h.
23566 (grub_efidisk_get_device_handle): New prototype.
23567 (grub_efidisk_get_device_name): Likewise.
23568
23569 * include/grub/mm.h: Include config.h.
23570 (MM_DEBUG): Removed.
23571 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23572 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23573 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23574 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23575 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23576 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23577 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23578 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23579 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23580
23581 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23582
23583 * disk/efi/efidisk.c: Include grub/partition.h.
23584 (iterate_child_devices): New function.
23585 (add_device): First, compare only last device path nodes, so that
23586 devices are sorted by the types.
23587 (grub_efidisk_get_device_handle): New function.
23588 (grub_efidisk_get_device_name): Likewise.
23589
23590 * configure.ac (--enable-mm-debug): New option to enable the
23591 memory manager debugging feature. This makes the binary much
23592 bigger, so is disabled by default.
23593
23594 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23595
23596 Use grub_abort instead of grub_stop, and grub_exit must be
23597 define in each architecture now. Also, this change adds support
23598 for EFI disks.
23599
23600 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23601 (grub_getkey): New function.
23602 (grub_term_get_current): Likewise.
23603
23604 * util/i386/pc/grub-setup.c: Include grub/term.h.
23605 (grub_getkey): New function.
23606 (grub_term_get_current): Likewise.
23607
23608 * util/misc.c (grub_stop): Renamed to ...
23609 (grub_exit): ... this.
23610
23611 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23612 (grub_exit): ... this.
23613 (grub_machine_init): Use grub_abort instead of abort.
23614 (grub_stop): Removed.
23615
23616 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23617 abort.
23618
23619 * kern/i386/pc/startup.S (grub_exit): New function.
23620 (cold_reboot): New label.
23621
23622 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23623 (grub_efi_init): Call grub_efidisk_init.
23624 (grub_efi_fini): Call grub_efidisk_fini.
23625
23626 * kern/efi/efi.c: Include grub/mm.h.
23627 (grub_efi_console_control_guid): Renamed to ...
23628 (console_control_guid): ... this.
23629 (grub_efi_loaded_image_guid): Renamed to ...
23630 (loaded_image_guid): ... this.
23631 (grub_efi_locate_handle): New function.
23632 (grub_efi_open_protocol): Likewise.
23633 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23634 GRUB_EFI_CONSOLE_CONTROL_GUID.
23635 (grub_efi_exit): Removed.
23636 (grub_stop): Likewise.
23637 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23638 (grub_exit): New function.
23639 (grub_print_device_path): Likewise.
23640
23641 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23642 (grub_enter_rescue_mode): Register "exit".
23643
23644 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23645 (grub_abort): New function.
23646
23647 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23648
23649 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23650
23651 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23652
23653 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23654 (grub_print_device_path): New prototype.
23655 (grub_efi_locate_handle): Likewise.
23656 (grub_efi_open_protocol): Likewise.
23657
23658 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23659 * disk/efi/efidisk.c: Likewise.
23660
23661 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23662
23663 * include/grub/efi/console_control.h
23664 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23665
23666 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23667 last 8 bytes as an array.
23668 (GRUB_EFI_DISK_IO_GUID): New macro.
23669 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23670 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23671 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23672 grub_uint8_t.
23673 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23674 (struct grub_efi_device_path): Rename the member "sub_type" to
23675 "subtype".
23676 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23677 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23678 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23679 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23680 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23681 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23682 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23683 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23684 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23685 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23686 (struct grub_efi_pci_device_path): New structure.
23687 (grub_efi_pci_device_path_t): New type.
23688 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23689 (struct grub_efi_pccard_device_path): New structure.
23690 (grub_efi_pccard_device_path_t): New type.
23691 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23692 (struct grub_efi_memory_mapped_device_path): New structure.
23693 (grub_efi_memory_mapped_device_path_t): New type.
23694 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23695 (struct grub_efi_vendor_device_path): New structure.
23696 (grub_efi_vendor_device_path_t): New type.
23697 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23698 (struct grub_efi_controller_device_path): New structure.
23699 (grub_efi_controller_device_path_t): New type.
23700 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23701 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23702 (struct grub_efi_acpi_device_path): New structure.
23703 (grub_efi_acpi_device_path_t): New type.
23704 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23705 (struct grub_efi_expanded_acpi_device_path): New structure.
23706 (grub_efi_expanded_acpi_device_path_t): New type.
23707 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23708 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23709 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23710 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23711 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23712 (struct grub_efi_atapi_device_path): New structure.
23713 (grub_efi_atapi_device_path_t): New type.
23714 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23715 (struct grub_efi_fibre_channel_device_path): New structure.
23716 (grub_efi_fibre_channel_device_path_t): New type.
23717 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23718 (struct grub_efi_1394_device_path): New structure.
23719 (grub_efi_1394_device_path_t): New type.
23720 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23721 (struct grub_efi_usb_device_path): New structure.
23722 (grub_efi_usb_device_path_t): New type.
23723 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23724 (struct grub_efi_usb_class_device_path): New structure.
23725 (grub_efi_usb_class_device_path_t): New type.
23726 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23727 (struct grub_efi_i2o_device_path): New structure.
23728 (grub_efi_i2o_device_path_t): New type.
23729 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23730 (struct grub_efi_mac_address_device_path): New structure.
23731 (grub_efi_mac_address_device_path_t): New type.
23732 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23733 (struct grub_efi_ipv4_device_path): New structure.
23734 (grub_efi_ipv4_device_path_t): New type.
23735 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23736 (struct grub_efi_ipv6_device_path): New structure.
23737 (grub_efi_ipv6_device_path_t): New type.
23738 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23739 (struct grub_efi_infiniband_device_path): New structure.
23740 (grub_efi_infiniband_device_path_t): New type.
23741 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23742 (struct grub_efi_uart_device_path): New structure.
23743 (grub_efi_uart_device_path_t): New type.
23744 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23745 (struct grub_efi_vendor_messaging_device_path): New structure.
23746 (grub_efi_vendor_messaging_device_path_t): New type.
23747 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23748 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23749 (struct grub_efi_hard_drive_device_path): New structure.
23750 (grub_efi_hard_drive_device_path_t): New type.
23751 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23752 (struct grub_efi_cdrom_device_path): New structure.
23753 (grub_efi_cdrom_device_path_t): New type.
23754 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23755 (struct grub_efi_vendor_media_device_path): New structure.
23756 (grub_efi_vendor_media_device_path_t): New type.
23757 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23758 (struct grub_efi_file_path_device_path): New structure.
23759 (grub_efi_file_path_device_path_t): New type.
23760 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23761 (struct grub_efi_protocol_device_path): New structure.
23762 (grub_efi_protocol_device_path_t): New type.
23763 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23764 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23765 (struct grub_efi_bios_device_path): New structure.
23766 (grub_efi_bios_device_path_t): New type.
23767 (struct grub_efi_disk_io): New structure.
23768 (grub_efi_disk_io_t): New type.
23769 (struct grub_efi_block_io_media): New structure.
23770 (grub_efi_block_io_media_t): New type.
23771 (struct grub_efi_block_io): New structure.
23772 (grub_efi_block_io_t): New type.
23773
23774 * include/grub/misc.h (grub_stop): Removed.
23775 (grub_exit): New prototype.
23776 (grub_abort): Likewise.
23777
23778 * include/grub/disk.h (enum grub_disk_dev_id): Added
23779 GRUB_DISK_DEVICE_EFIDISK_ID.
23780
23781 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23782 disk/efi/efidisk.c.
23783 (kernel_syms.lst): Remove the target if an error occurs.
23784
23785 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23786
23787 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23788 as it was simply too buggy.
23789
23790 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23791
23792 * kern/misc.c (grub_lltoa): New function.
23793 (grub_vsprintf): Added support for the long long suffix,
23794 i.e. "ll".
23795
23796 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23797
23798 * Makefile.in (LDFLAGS): Add variable.
23799 (LD): Remove variable.
23800 * configure.ac: Add -m32 to LDFLAGS.
23801 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23802 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23803 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23804 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23805 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23806 variables.
23807 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23808 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23809 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23810
23811 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23812
23813 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23814 length for unknown glyph.
23815
23816 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23817
23818 Add support for pre-loaded modules into the EFI port.
23819
23820 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
23821 completely. Accept one more argument DIR. The caller has changed.
23822
23823 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
23824
23825 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
23826 (grub_efi_loaded_image_guid): New variable.
23827 (grub_efi_get_loaded_image): New function.
23828 (grub_arch_modules_addr): Likewise.
23829
23830 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
23831 prototype.
23832
23833 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
23834 (struct grub_efi_loaded_image): New structure.
23835 (grub_efi_loaded_image_t): New type.
23836
23837 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23838
23839 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
23840 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
23841 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
23842
23843 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
23844
23845 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23846
23847 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23848
23849 * DISTLIST: Added include/grub/efi/console.h,
23850 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23851 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23852
23853 * include/grub/efi/console.h: New file.
23854 * include/grub/efi/time.h: Likewise.
23855 * include/grub/i386/efi/kernel.h: Likewise.
23856 * kern/efi/init.c: Likewise.
23857 * kern/efi/mm.c: Likewise.
23858 * term/efi/console.c: Likewise.
23859
23860 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23861 (grub_stop): Removed.
23862 (grub_get_rtc): Likewise.
23863 (grub_machine_init): Simply call grub_efi_init.
23864 (grub_machine_fini): Call grub_efi_fini.
23865
23866 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23867 (grub_efi_output_string): Removed.
23868 (grub_efi_stall): New function.
23869 (grub_stop): Likewise.
23870 (grub_get_rtc): Likewise.
23871
23872 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23873 (grub_efi_stall): New prototype.
23874 (grub_efi_allocate_pages): Likewise.
23875 (grub_efi_free_pages): Likewise.
23876 (grub_efi_get_memory_map): Likewise.
23877 (grub_efi_mm_init): Likewise.
23878 (grub_efi_mm_fini): Likewise.
23879 (grub_efi_init): Likewise.
23880 (grub_efi_fini): Likewise.
23881
23882 * include/grub/i386/efi/time.h: Do not include
23883 grub/symbol.h. Include grub/efi/time.h.
23884 (GRUB_TICKS_PER_SECOND): Removed.
23885 (grub_get_rtc): Likewise.
23886
23887 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23888 Added padding. The EFI spec is buggy.
23889 (GRUB_EFI_BLACK): New macro.
23890 (GRUB_EFI_BLUE): Likewise.
23891 (GRUB_EFI_GREEN): Likewise.
23892 (GRUB_EFI_CYAN): Likewise.
23893 (GRUB_EFI_RED): Likewise.
23894 (GRUB_EFI_MAGENTA): Likewise.
23895 (GRUB_EFI_BROWN): Likewise.
23896 (GRUB_EFI_LIGHTGRAY): Likewise.
23897 (GRUB_EFI_BRIGHT): Likewise.
23898 (GRUB_EFI_DARKGRAY): Likewise.
23899 (GRUB_EFI_LIGHTBLUE): Likewise.
23900 (GRUB_EFI_LIGHTGREEN): Likewise.
23901 (GRUB_EFI_LIGHTCYAN): Likewise.
23902 (GRUB_EFI_LIGHTRED): Likewise.
23903 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23904 (GRUB_EFI_YELLOW): Likewise.
23905 (GRUB_EFI_WHITE): Likewise.
23906 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23907 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23908 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23909 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23910 (GRUB_EFI_BACKGROUND_RED): Likewise.
23911 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23912 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23913 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23914 (GRUB_EFI_TEXT_ATTR): Likewise.
23915
23916 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23917 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23918 (kernel_mod_HEADERS): Added efi/time.h.
23919
23920 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23921
23922 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23923 include/grub/efi/api.h, include/grub/efi/console_control.h,
23924 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23925 include/grub/i386/efi/time.h, kern/efi/efi.c,
23926 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23927 and util/i386/efi/grub-mkimage.c.
23928
23929 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23930
23931 * genmk.rb (PModule#rule): Do not export symbols if
23932 #{prefix}_EXPORTS is set to "no".
23933
23934 * conf/i386-efi.mk: New file.
23935 * conf/i386-efi.rmk: Likewise.
23936 * include/grub/efi/api.h: Likewise.
23937 * include/grub/efi/console_control.h: Likewise.
23938 * include/grub/efi/efi.h: Likewise.
23939 * include/grub/efi/pe32.h: Likewise.
23940 * include/grub/i386/efi/time.h: Likewise.
23941 * kern/efi/efi.c: Likewise.
23942 * kern/i386/efi/init.c: Likewise.
23943 * kern/i386/efi/startup.S: Likewise.
23944 * util/i386/efi/grub-mkimage.c: Likewise.
23945
23946 2006-04-17 Marco Gerards <marco@gnu.org>
23947
23948 * include/grub/script.h: Include <grub/parser.h> and
23949 "grub_script.tab.h".
23950 (struct grub_lexer_param): New struct.
23951 (struct grub_parser_param): Likewise.
23952 (grub_script_create_arglist): Pass the state in an argument.
23953 (grub_script_add_arglist): Likewise.
23954 (grub_script_create_cmdline): Likewise.
23955 (grub_script_create_cmdblock): Likewise.
23956 (grub_script_create_cmdif): Likewise.
23957 (grub_script_create_cmdmenu): Likewise.
23958 (grub_script_add_cmd): Likewise.
23959 (grub_script_arg_add): Likewise.
23960 (grub_script_lexer_ref): Likewise.
23961 (grub_script_lexer_deref): Likewise.
23962 (grub_script_lexer_record_start): Likewise.
23963 (grub_script_lexer_record_stop): Likewise.
23964 (grub_script_mem_record): Likewise.
23965 (grub_script_mem_record_stop): Likewise.
23966 (grub_script_malloc): Likewise.
23967 (grub_script_yylex): Likewise.
23968 (grub_script_yyparse): Likewise.
23969 (grub_script_yyerror): Likewise.
23970 (grub_script_yylex): Likewise.
23971 (grub_script_lexer_init): Return the state.
23972
23973 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23974 (grub_script_lexer_done): Likewise.
23975 (grub_script_lexer_getline): Likewise.
23976 (grub_script_lexer_refs): Likewise.
23977 (script): Likewise.
23978 (newscript): Likewise.
23979 (record): Likewise.
23980 (recording): Likewise.
23981 (recordpos): Likewise.
23982 (recordlen): Likewise.
23983 (grub_script_lexer_init): Return the state instead of setting
23984 global variables.
23985 (grub_script_lexer_ref): Use the newly added argument for state
23986 instead of globals.
23987 (grub_script_lexer_deref): Likewise.
23988 (grub_script_lexer_record_start): Likewise.
23989 (grub_script_lexer_record_stop): Likewise.
23990 (recordchar): Likewise.
23991 (nextchar): Likewise.
23992 (grub_script_yylex2): Likewise.
23993 (grub_script_yylex): Likewise.
23994 (grub_script_yyerror): Likewise.
23995
23996 * normal/parser.y (func_mem): Removed variable.
23997 (menu_entry): Likewise.
23998 (err): Likewise.
23999 (%lex-param): New parser option.
24000 (%parse-param): Likewise.
24001 (script): Always return the AST.
24002 (argument): Pass the state around.
24003 (arguments): Likewise.
24004 (grubcmd): Likewise.
24005 (commands): Likewise.
24006 (function): Likewise.
24007 (menuentry): Likewise.
24008 (if_statement): Likewise.
24009 (if): Likewise.
24010
24011 * normal/script.c (grub_script_memused): Removed variable.
24012 (grub_script_parsed): Likewise.
24013 (grub_script_malloc): Added a state argument. Use that instead of
24014 global variables.
24015 (grub_script_mem_record): Likewise.
24016 (grub_script_mem_record_stop): Likewise.
24017 (grub_script_arg_add): Likewise.
24018 (grub_script_add_arglist): Likewise.
24019 (grub_script_create_cmdline): Likewise.
24020 (grub_script_create_cmdif): Likewise.
24021 (grub_script_create_cmdmenu): Likewise.
24022 (grub_script_add_cmd): Likewise.
24023 (grub_script_parse): Setup the state before calling the parser.
24024
24025 2006-04-16 Marco Gerards <marco@gnu.org>
24026
24027 * normal/command.c (grub_command_init): Remove the title command.
24028
24029 * normal/lexer.c (grub_script_yylex): Renamed from this...
24030 (grub_script_yylex2): ... to this.
24031 (grub_script_yylex): New function. Temporary
24032 introduced to filter some tokens.
24033 (grub_script_yyerror): Print a newline.
24034
24035 * normal/main.c (read_config_file): Output information about the
24036 lines that contain errors. Wait for a key after all lines have
24037 been processed. Don't return an empty menu.
24038
24039 * normal/parser.y (func_mem): Don't initialize.
24040 (menu_entry): Likewise.
24041 (err): New variable.
24042 (script): Don't return anything when an error was encountered.
24043 (ws, returns): Removed rules.
24044 (argument): Disabled concatenated variable support.
24045 (arguments): Remove explicit separators.
24046 (grubcmd): Likewise.
24047 (function): Likewise.
24048 (menuentry): Likewise.
24049 (if): Likewise.
24050 (commands): Likewise. Add error handling.
24051
24052 * normal/script.c (grub_script_create_cmdline): If
24053 `grub_script_parsed' is 0, assume the parser encountered an error.
24054
24055 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24056
24057 * configure.ac: Add support for EFI. Fix the typo
24058 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24059
24060 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24061
24062 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24063 foreign multibyte characters should be shown correctly.
24064
24065 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24066
24067 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24068 calculation.
24069 (read_config_file): Made it to close file before returning.
24070
24071 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24072
24073 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24074 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24075 video/i386/pc/vbefill.c.
24076
24077 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24078 video/i386/pc/vbefill.c.
24079
24080 * include/grub/video.h (grub_video_blit_format): New enum.
24081 (grub_video_mode_info): Added new member blit_format.
24082 (grub_video_get_blit_format): New function prototype.
24083
24084 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24085 function prototype.
24086 (grub_video_vbe_map_rgb): Likewise.
24087 (grub_video_vbe_unmap_color): Likewise.
24088
24089 * include/grub/i386/pc/vbeblit.h: New file.
24090
24091 * include/grub/i386/pc/vbefill.h: New file.
24092
24093 * video/video.c (grub_video_get_blit_format): New function.
24094 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24095 (grub_video_vbe_map_rgb): Likewise.
24096 (grub_video_vbe_unmap_color): Likewise.
24097
24098 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24099 optimized fills.
24100 (grub_video_vbe_blit_render_target): Changed to use more optimized
24101 blits.
24102 (grub_video_vbe_setup): Added detection for optimized settings.
24103 (grub_video_vbe_create_render_target): Likewise.
24104
24105 * video/i386/pc/vbeblit.c: New file.
24106
24107 * video/i386/pc/vbefill.c: New file.
24108
24109 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24110
24111 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24112 here...
24113
24114 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24115 parsing to support both hex and dec ranges. If filename was missing
24116 show usage information.
24117
24118 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24119
24120 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24121 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24122
24123 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24124 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24125 (video_mod_SOURCES): Added.
24126 (video_mod_CFLAGS): Likewise.
24127 (video_mod_LDFLAGS): Likewise.
24128 (gfxterm_mod_SOURCES): Likewise.
24129 (gfxterm_mod_CFLAGS): Likewise.
24130 (gfxterm_mod_LDFLAGS): Likewise.
24131 (videotest_mod_SOURCES): Likewise.
24132 (videotest_mod_CFLAGS): Likewise.
24133 (videotest_mod_LDFLAGS): Likewise.
24134 (vesafb_mod_SOURCES): Removed.
24135 (vesafb_mod_CFLAGS): Likewise.
24136 (vesafb_mod_LDFLAGS): Likewise.
24137 (vga_mod_SOURCES): Likewise.
24138 (vga_mod_CFLAGS): Likewise.
24139 (vga_mod_LDFLAGS): Likewise.
24140
24141 * commands/videotest.c: New file.
24142
24143 * font/manager.c (fill_with_default_glyph): Modified to use
24144 grub_font_glyph.
24145 (grub_font_get_glyph): Likewise.
24146 (fontmanager): Renamed from this...
24147 (font_manager): ... to this.
24148
24149 * include/grub/font.h (grub_font_glyph): Added new structure.
24150 (grub_font_get_glyph): Modified to use grub_font_glyph.
24151
24152 * include/grub/misc.h (grub_abs): Added as inline function.
24153
24154 * include/grub/video.h: New file.
24155
24156 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24157 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24158 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24159 (grub_vbe_get_controller_info): Renamed from this...
24160 (grub_vbe_bios_get_controller_info): ... to this.
24161 (grub_vbe_get_mode_info): Renamed from this...
24162 (grub_vbe_bios_get_mode_info): ... to this.
24163 (grub_vbe_set_mode): Renamed from this...
24164 (grub_vbe_bios_set_mode): ... to this.
24165 (grub_vbe_get_mode): Renamed from this...
24166 (grub_vbe_bios_get_mode): ... to this.
24167 (grub_vbe_set_memory_window): Renamed from this...
24168 (grub_vbe_bios_set_memory_window): ... to this.
24169 (grub_vbe_get_memory_window): Renamed from this...
24170 (grub_vbe_bios_get_memory_window): ... to this.
24171 (grub_vbe_set_scanline_length): Renamed from this...
24172 (grub_vbe_set_scanline_length): ... to this.
24173 (grub_vbe_get_scanline_length): Renamed from this...
24174 (grub_vbe_bios_get_scanline_length): ... to this.
24175 (grub_vbe_set_display_start): Renamed from this...
24176 (grub_vbe_bios_set_display_start): ... to this.
24177 (grub_vbe_get_display_start): Renamed from this...
24178 (grub_vbe_bios_get_display_start): ... to this.
24179 (grub_vbe_set_palette_data): Renamed from this...
24180 (grub_vbe_bios_set_palette_data): ... to this.
24181 (grub_vbe_set_pixel_rgb): Removed.
24182 (grub_vbe_set_pixel_index): Likewise.
24183
24184 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24185 from this...
24186 (grub_vbe_bios_get_controller_info): ... to this.
24187 (grub_vbe_get_mode_info): Renamed from this...
24188 (grub_vbe_bios_get_mode_info): ... to this.
24189 (grub_vbe_set_mode): Renamed from this...
24190 (grub_vbe_bios_set_mode): ... to this.
24191 (grub_vbe_get_mode): Renamed from this...
24192 (grub_vbe_bios_get_mode): ... to this.
24193 (grub_vbe_set_memory_window): Renamed from this...
24194 (grub_vbe_bios_set_memory_window): ... to this.
24195 (grub_vbe_get_memory_window): Renamed from this...
24196 (grub_vbe_bios_get_memory_window): ... to this.
24197 (grub_vbe_set_scanline_length): Renamed from this...
24198 (grub_vbe_set_scanline_length): ... to this.
24199 (grub_vbe_get_scanline_length): Renamed from this...
24200 (grub_vbe_bios_get_scanline_length): ... to this.
24201 (grub_vbe_set_display_start): Renamed from this...
24202 (grub_vbe_bios_set_display_start): ... to this.
24203 (grub_vbe_get_display_start): Renamed from this...
24204 (grub_vbe_bios_get_display_start): ... to this.
24205 (grub_vbe_set_palette_data): Renamed from this...
24206 (grub_vbe_bios_set_palette_data): ... to this.
24207 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24208 getting corrupted after calling it. Added more pushes and pops.
24209 (grub_vbe_bios_set_mode): Likewise.
24210 (grub_vbe_bios_get_mode): Likewise.
24211 (grub_vbe_bios_get_memory_window): Likewise.
24212 (grub_vbe_bios_set_scanline_length): Likewise.
24213 (grub_vbe_bios_get_scanline_length): Likewise.
24214 (grub_vbe_bios_get_display_start): Likewise.
24215 (grub_vbe_bios_set_palette_data): Likewise.
24216
24217 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24218 (cl_insert): Likewise.
24219 (cl_delete): Likewise.
24220
24221 * term/gfxterm.c: New file.
24222
24223 * term/i386/pc/vesafb.c: Removed file.
24224
24225 * video/video.c: New file.
24226
24227 * video/i386/pc/vbe.c (real2pm): Added new function.
24228 (grub_video_vbe_draw_pixel): Likewise.
24229 (grub_video_vbe_get_video_ptr): Likewise.
24230 (grub_video_vbe_get_pixel): Likewise
24231 (grub_video_vbe_init): Likewise.
24232 (grub_video_vbe_fini): Likewise.
24233 (grub_video_vbe_setup): Likewise.
24234 (grub_video_vbe_get_info): Likewise.
24235 (grub_video_vbe_set_palette): Likewise.
24236 (grub_video_vbe_get_palette): Likewise.
24237 (grub_video_vbe_set_viewport): Likewise.
24238 (grub_video_vbe_get_viewport): Likewise.
24239 (grub_video_vbe_map_color): Likewise.
24240 (grub_video_vbe_map_rgb): Likewise.
24241 (grub_video_vbe_map_rgba): Likewise.
24242 (grub_video_vbe_unmap_color): Likewise.
24243 (grub_video_vbe_fill_rect): Likewise.
24244 (grub_video_vbe_blit_glyph): Likewise.
24245 (grub_video_vbe_blit_bitmap): Likewise.
24246 (grub_video_vbe_blit_render_target): Likewise.
24247 (grub_video_vbe_scroll): Likewise.
24248 (grub_video_vbe_swap_buffers): Likewise.
24249 (grub_video_vbe_create_render_target): Likewise.
24250 (grub_video_vbe_delete_render_target): Likewise.
24251 (grub_video_vbe_set_active_render_target): Likewise.
24252 (grub_vbe_set_pixel_rgb): Remove function.
24253 (grub_vbe_set_pixel_index): Likewise.
24254 (index_color_mode): Remove static variable.
24255 (active_mode): Likewise.
24256 (framebuffer): Likewise.
24257 (bytes_per_scan_line): Likewise.
24258 (grub_video_vbe_adapter): Added new static variable.
24259 (framebuffer): Likewise.
24260 (render_target): Likewise.
24261 (initial_mode): Likewise.
24262 (mode_in_use): Likewise.
24263 (mode_list): Likewise.
24264
24265 2006-03-10 Marco Gerards <marco@gnu.org>
24266
24267 * configure.ac (AC_INIT): Bumped to 1.93.
24268
24269 * DISTLIST: Added `include/grub/hfs.h'.
24270
24271 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24272
24273 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24274 18H, which might help the BIOS falling back to next boot media.
24275
24276 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24277
24278 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24279 Poe Chen <poe.poechen@gmail.com>.
24280
24281 2006-01-17 Marco Gerards <marco@gnu.org>
24282
24283 * include/grub/normal.h: Include <grub/script.h>.
24284 (grub_command_list): Removed struct.
24285 (grub_command_list_t): Removed type.
24286 (grub_menu_entry): Remove members `num' and `command_list'. Add
24287 members `commands' and `sourcecode'.
24288 * include/grub/script.h: Add inclusion guards.
24289 (grub_script_cmd_menuentry): New struct.
24290 (grub_script_execute_menuentry): New prototype.
24291 (grub_script_lexer_record_start): Likewise.
24292 (grub_script_lexer_record_stop): Likewise.
24293 * normal/execute.c (grub_script_execute_menuentry): New function.
24294 * normal/lexer.c (record, recording, recordpos, recordlen): New
24295 variables.
24296 (grub_script_lexer_record_start): New function.
24297 (grub_script_lexer_record_stop): Likewise.
24298 (recordchar): Likewise.
24299 (nextchar): Likewise.
24300 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24301 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24302 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24303 (current_menu): New variable.
24304 (free_menu): Mainly rewritten.
24305 (grub_normal_menu_addentry): New function.
24306 (read_config_file): Rewritten.
24307 * normal/menu.c (run_menu_entry): Mainly rewritten.
24308 * normal/menu_entry.c (make_screen): Rewritten the code to insert
24309 the menu entry.
24310 (run): Mainly rewritten.
24311 * normal/parser.y (menu_entry): New variable.
24312 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24313 (menuentry): New rule.
24314 (command): Add `menuentry'.
24315 (if_statement): Allow additional returns before `fi'.
24316 * normal/script.c (grub_script_create_cmdmenu): New function.
24317
24318 2006-01-03 Marco Gerards <marco@gnu.org>
24319
24320 * INSTALL: GNU Bison is required.
24321 * configure.ac: Rewritten the test to detect Bison.
24322 * Makefile.in (YACC): New variable. Reported by Xun Sun
24323 <xun.sun.cn@gmail.com>.
24324
24325 2006-01-03 Marco Gerards <marco@gnu.org>
24326
24327 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24328 the HFS+ filesystem to filesystem blocks.
24329 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24330 GCC warning is silenced.
24331
24332 2006-01-03 Marco Gerards <marco@gnu.org>
24333
24334 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24335 read from disk from big endian to host byte order.
24336
24337 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24338
24339 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24340 documentation.
24341 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24342 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24343 embedded HFS+ filesystem.
24344 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24345 (grub_hfs_sblock): Move from here...
24346 * include/grub/hfs.h: To here... New file.
24347 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24348 documentation.
24349 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24350 New macros.
24351 (grub_hfsplus_volheader): Change type of member `magic' to
24352 `grub_uint16_t'.
24353 (grub_hfsplus_data): Add new member `embedded_offset'.
24354 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24355 returned block.
24356 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24357 Calculate the offset.
24358
24359 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24360
24361 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24362 Removed.
24363 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24364
24365 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24366
24367 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24368 ENV->NAME is NULL after allocating ENV->VALUE.
24369
24370 2005-12-25 Marco Gerards <marco@gnu.org>
24371
24372 * kern/env.c (grub_env_set): Rewritten the error handling code.
24373
24374 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24375
24376 * geninit.sh: Made more robust, and more portable.
24377
24378 2005-12-25 Marco Gerards <marco@gnu.org>
24379
24380 Add support for Apple HFS+ filesystems.
24381
24382 * fs/hfsplus.c: New file.
24383
24384 * DISTLIST: Added `fs/hfsplus.c'.
24385
24386 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24387 (hfsplus_mod_SOURCES): New variable.
24388 (hfsplus_mod_CFLAGS): Likewise.
24389 (hfsplus_mod_LDFLAGS): Likewise.
24390 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24391 (grub_setup_SOURCES): Likewise.
24392 (grub_mkdevicemap_SOURCES): Likewise.
24393 (grub_emu_SOURCES): Likewise.
24394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24395
24396 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24397
24398 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24399
24400 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24401
24402 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24403 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24404 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24405 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24406 normal/lexer.c, normal/parser.y, normal/script.c, and
24407 partmap/gpt.c.
24408 Removed kern/sparc64/cache.c.
24409
24410 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24411 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24412 grub_emu_init.c.
24413
24414 * configure.ac (AC_INIT): Bumped to 1.92.
24415
24416 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24417
24418 * kern/err.c (grub_error_push): Added new function to support error
24419 stacks.
24420 (grub_error_pop): Likewise.
24421 (grub_error_stack_items): New local variable to support error stacks.
24422 (grub_error_stack_pos): Likewise.
24423 (grub_error_stack_assert): Likewise.
24424 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24425 stack depth.
24426 (grub_print_error): Added support to print errors from error stack.
24427
24428 * include/grub/err.h (grub_error_push): Added function prototype.
24429 (grub_error_pop): Likewise.
24430
24431 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24432
24433 * configure.ac: Accept `powerpc64' as host_cpu.
24434 (amd64): Rename to `biarch32'.
24435
24436 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24437 non-cacheline-aligned addresses.
24438
24439 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24440 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24441 if `size' is non-zero.
24442
24443 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
24444
24445 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24446 and `cd' to make sure the filename is not prefixed with a
24447 directory name.
24448 (pkgdata_MODULES): Add `gpt.mod'.
24449 (gpt_mod_SOURCES): New variable.
24450 (gpt_mod_CFLAGS): Likewise.
24451 (gpt_mod_LDFLAGS): Likewise.
24452
24453 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24454
24455 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24456 New macro.
24457
24458 * partmap/gpt.c: New file.
24459
24460 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24461 GPT partition map is detected.
24462
24463 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24464
24465 * commands/i386/pc/play.c: New file.
24466 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24467 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24468 macros.
24469
24470 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
24471
24472 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24473 ((unused))' to silence gcc warning.
24474
24475 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24476
24477 * configure.ac: Correct `AC_PROG_YACC' test.
24478
24479 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24480
24481 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24482 check before installing files.
24483
24484 2005-11-22 Mike Small <smallm@panix.com>
24485
24486 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24487 number regex so multidigit numbers are recognized correctly.
24488
24489 2005-11-22 Mike Small <smallm@panix.com>
24490
24491 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24492 debugging message before attempting to claim memory.
24493 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24494 multiple addresses in case of failure.
24495
24496 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24497
24498 * term/tparm.c (get_space): Remove empty `if' statement.
24499
24500 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24501
24502 * kern/parser.c (check_varstate): Rename `state' to 's'.
24503
24504 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24505
24506 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24507 variable definitions to the beginning of each function. Sort stack
24508 variables by size.
24509 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24510 `buf' argument to `char *'.
24511
24512 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24513
24514 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24515 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24516 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24517 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24518 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24519 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24520 configfile.mod, search.mod, gzio.mod and test.mod.
24521 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24522 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24523 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24524 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24525 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24526 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24527 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24528 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24529 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24530 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24531 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24532 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24533 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24534 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24535 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24536 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24537 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24538 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24539 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24540 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24541 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24542 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24543 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24544
24545 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24546 `grep --include'.
24547 (pkgdata_MODULES): Add test.mod.
24548
24549 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24550
24551 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24552 appending to variables with "+=".
24553 (PModule): Use full pathname to generate *.lst filenames.
24554
24555 * Makefile.in: Fixed list rules moved from genmk.rb.
24556 (.DELETE_ON_ERROR): New special target.
24557 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24558
24559 * conf/i386-pc.rmk: Include conf/common.mk.
24560 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24561 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24562 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24563 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24564 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24565 configfile.mod, search.mod, gzio.mod and test.mod.
24566 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24567 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24568 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24569 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24570 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24571 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24572 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24573 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24574 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24575 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24576 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24577 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24578 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24579 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24580 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24581 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24582 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24583 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24584 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24585 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24586 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24587 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24588 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24589 here...
24590 * conf/common.rmk: ... to here. New file.
24591
24592 * conf/common.mk: New file.
24593
24594 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24595
24596 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24597 (grub_script.tab.c): ... here.
24598
24599 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24600 (grub_script.tab.c): ... here.
24601
24602 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24603 (grub_script.tab.c): ... here.
24604
24605 * normal/command.c (grub_command_find): Fixed a memory leak of
24606 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24607
24608 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24609
24610 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24611 "@" which marks the start of a comment on ARM.
24612 (VARIABLE): Likewise.
24613
24614 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24615
24616 Add support for Linux/ADFS partition tables.
24617
24618 * partmap/acorn.c: New file.
24619
24620 * include/grub/acorn_filecore.h: Likewise.
24621
24622 * DISTLIST: Added `partmap/acorn.c' and
24623 `include/grub/acorn_filecore.h'.
24624
24625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24626 `partmap/acorn.c'.
24627 (pkgdata_MODULES): Add `acorn.mod'.
24628 (acorn_mod_SOURCES): New variable.
24629 (acorn_mod_CFLAGS): Likewise.
24630
24631 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24632 `partmap/acorn.c'.
24633 (pkgdata_MODULES): Add `acorn.mod'.
24634 (acorn_mod_SOURCES): New variable.
24635 (acorn_mod_CFLAGS): Likewise.
24636
24637 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24638 (pkgdata_MODULES): Add `acorn.mod'.
24639 (acorn_mod_SOURCES): New variable.
24640 (acorn_mod_CFLAGS): Likewise.
24641 (acorn_mod_LDFLAGS): Likewise.
24642
24643 * include/types.h (grub_disk_addr_t): New typedef.
24644
24645 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
24646
24647 * geninit.sh: New file.
24648
24649 * geninitheader.sh: Likewise.
24650
24651 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24652 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24653 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24654 * commands/configfile.c (grub_configfile_init)
24655 (grub_configfile_fini): Likewise.
24656 * commands/default.c (grub_default_init, grub_default_fini):
24657 Likewise.
24658 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24659 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24660 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24661 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24662 Likewise.
24663 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24664 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24665 Likewise.
24666 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
24667 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
24668 Likewise.
24669 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24670 Likewise.
24671 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
24672 Likewise.
24673 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24674 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24675 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24676 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24677 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24678 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24679 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24680 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24681 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24682 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24683 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24684 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24685 * partmap/amiga.c (grub_amiga_partition_map_init)
24686 (grub_amiga_partition_map_fini): Likewise.
24687 * partmap/apple.c (grub_apple_partition_map_init)
24688 (grub_apple_partition_map_fini): Likewise.
24689 * partmap/pc.c (grub_pc_partition_map_init)
24690 (grub_pc_partition_map_fini): Likewise.
24691 * partmap/sun.c (grub_sun_partition_map_init,
24692 grub_sun_partition_map_fini): Likewise.
24693 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24694 Likewise.
24695
24696 * util/grub-emu.c: Include <grub_modules_init.h>.
24697 (main): Don't initialize and de-initialize any modules directly,
24698 use `grub_init_all' and `grub_fini_all' instead.
24699
24700 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24701 `grub_vesafb_mod_init'.
24702 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24703 all users.
24704 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24705 `grub_vga_mod_init'. Updated all users.
24706 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
24707
24708 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24709 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24710 rules.
24711
24712 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24713 Generate a function to initialize the module in utilities.
24714 Updated all callers.
24715 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24716 initialize the module in utilities. Updated all callers.
24717
24718 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24719
24720 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24721 escape sequence and a literal ^L to clear the screen.
24722
24723 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24724 when returning from Open Firmware.
24725
24726 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24727
24728 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24729 (grub_ofconsole_height): Likewise.
24730 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24731 manually insert a '\n'.
24732 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24733 `grub_ofconsole_height'. Return early if these are already set.
24734
24735 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24736
24737 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24738 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24739 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24740 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24741 and `normal/script.c'.
24742 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24743 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24744 (test_mod_SOURCES): New variable.
24745 (test_mod_CFLAGS): Likewise.
24746 (test_mod_LDFLAGS): Likewise.
24747 (pkgdata_MODULES): Add `test.mod'.
24748 (grub_script.tab.c): New rule.
24749 (grub_script.tab.h): Likewise.
24750
24751 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
24752
24753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24754 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24755 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24756 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24757 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24758 (test_mod_SOURCES): New variable.
24759 (test_mod_CFLAGS): Likewise.
24760 (pkgdata_MODULES): Add `test.mod'.
24761 (grub_script.tab.c): New rule.
24762 (grub_script.tab.h): Likewise.
24763
24764 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
24765
24766 Add initial scripting support.
24767
24768 * commands/test.c: New file.
24769 * include/grub/script.h: Likewise.
24770 * normal/execute.c: Likewise.
24771 * normal/function.c: Likewise.
24772 * normal/lexer.c: Likewise.
24773 * normal/parser.y: Likewise.
24774 * normal/script.c: Likewise.
24775
24776 * configure.ac: Add `AC_PROG_YACC' test.
24777
24778 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24779 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24780 `normal/function.c' and `normal/script.c'.
24781 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24782 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24783 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24784 variables.
24785 (pkgdata_MODULES): Add `test.mod'.
24786 (grub_script.tab.c): New rule.
24787 (grub_script.tab.h): Likewise.
24788
24789 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24790
24791 * include/grub/normal.h (grub_test_init): New prototype.
24792 (grub_test_fini): Likewise.
24793
24794 * normal/command.c: Include <grub/script.h>.
24795 (grub_command_execute): Rewritten.
24796
24797 * util/grub-emu.c (main): Call `grub_test_init' and
24798 `grub_test_fini'.
24799
24800 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24801
24802 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24803 to 0.
24804 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24805 there are no pending characters.
24806
24807 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24808
24809 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24810 `grub_strndup' to drop device arguments. Replace unnecessary
24811 `grub_strndup' with `grub_strdup'.
24812
24813 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24814
24815 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
24816 `debug' environment variable has been set.
24817
24818 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
24819
24820 * Makefile.in (install-local): Use $(DATA).
24821 (uninstall): Likewise.
24822 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
24823 (sbin_UTILITIES): ... to here.
24824 (sbin_SCRIPTS): New variable.
24825 (grub_install_SOURCES): New variable.
24826 * util/powerpc/ieee1275/grub-install.in: New file.
24827 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
24828 variable.
24829 (add_segments): Call `grub_util_get_path'.
24830
24831 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24832
24833 From Timothy Baldwin:
24834 * commands/ls.c (grub_ls_list_files): Close FILE with
24835 grub_file_close.
24836 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
24837
24838 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
24839
24840 * include/grub/parser.h: New file.
24841
24842 * kern/parser.c: Likewise.
24843
24844 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24845 (grub_setup_SOURCES): Likewise.
24846 (grub_probefs_SOURCES): Likewise.
24847 (grub_emu_SOURCES): Likewise.
24848 (kernel_img_HEADERS): Add `parser.h'.
24849
24850 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24851 (grub_emu_SOURCES): Add `kern/parser.c'.
24852 (grubof_SOURCES): Likewise.
24853
24854 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24855 (grubof_SOURCES): Add `kern/parser.c'.
24856
24857 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24858
24859 * kern/misc.c (grub_split_cmdline): Removed function.
24860
24861 * kern/rescue.c: Include <grub/parser.h>.
24862 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24863 of `grub_split_cmdline'.
24864
24865 * normal/command.c: Include <grub/parser.h>.
24866 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24867 of `grub_split_cmdline'.
24868
24869 * normal/completion.c: Include <grub/parser.h>.
24870 (cmdline_state): New variable.
24871 (iterate_dir): End the filename with a quote depending on the
24872 command line state.
24873 (get_state): new function.
24874 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24875 split the arguments and determine the current argument. When the
24876 argument string is not quoted, escape all spaces.
24877
24878 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24879
24880 * normal/sparc64/setjmp.S: New file.
24881
24882 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24883
24884 * include/grub/sparc64/libgcc.h: New file.
24885 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24886 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24887 normal/sparc64/setjmp.c.
24888
24889 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24890
24891 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24892 * kern/sparc64/cache.S: New file.
24893 * kern/sparc64/cache.c: Removed.
24894 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24895 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24896 -mtune=ultrasparc.
24897 (COMMON_LDFLAGS): Add -melf64_sparc.
24898 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24899 (grubof_SOURCES): Use cache.S instead of cache.c.
24900 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24901 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24902 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24903 commented though.
24904 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24905 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24906 (linux_mod_CFLAGS): Commented out.
24907 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24908 out because module isn't built.
24909 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24910 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24911 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24912 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24913 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24914 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24915 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24916 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24917 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24918 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24919 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24920 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24921 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24922 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24923
24924 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24925
24926 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24927 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24928 longer, because HFS should not be used on PC.
24929
24930 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24931
24932 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24933 consistently within the loop.
24934
24935 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
24936
24937 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24938 directory can not be read.
24939
24940 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24941
24942 * configure.ac (AC_INIT): Increase the version number to 1.91.
24943
24944 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24945 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24946 term/i386/pc/serial.c.
24947
24948 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24949
24950 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24951 file size must be permitted.
24952
24953 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24954 between %ah and %al.
24955
24956 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24957
24958 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24959 grub_uint64_t.
24960 Call the hook with a NUL-terminated filename.
24961 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24962 grub_cpu_to_be32.
24963
24964 * kern/term.c (cursor_state): New variable.
24965 (grub_term_set_current): Reset the cursor state on a new
24966 terminal.
24967 (grub_setcursor): Rewritten to use CURSOR_STATE.
24968 (grub_getcursor): New function.
24969
24970 * include/grub/term.h (grub_getcursor): New prototype.
24971
24972 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24973 integers on ARM. Reported by Timothy Baldwin
24974 <T.E.Baldwin99@members.leeds.ac.uk>.
24975
24976 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
24977
24978 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24979 allocated.
24980 (grub_sfs_dir): Likewise.
24981
24982 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
24983
24984 Add support for the SFS filesystem.
24985
24986 * fs/sfs.c: New file.
24987
24988 * DISTLIST: Added `fs/sfs.c'.
24989
24990 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24991 (grub_probefs_SOURCES): Likewise.
24992 (grub_emu_SOURCES): Likewise.
24993 (pkgdata_MODULES): Add `sfs.mod'.
24994 (sfs_mod_SOURCES): New variable.
24995 (sfs_mod_CFLAGS): Likewise.
24996 (sfs_mod_LDFLAGS): Likewise.
24997
24998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24999 (pkgdata_MODULES): Add `sfs.mod'.
25000 (sfs_mod_SOURCES): New variable.
25001 (sfs_mod_CFLAGS): Likewise.
25002
25003 * util/grub-emu.c (main): Call `grub_sfs_init' and
25004 `grub_sfs_fini'.
25005
25006 * include/grub/fs.h (grub_sfs_init): New prototype.
25007 (grub_sfs_fini): Likewise.
25008
25009 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
25010
25011 Add support for the AFFS filesystem.
25012
25013 * fs/affs.c: New file.
25014
25015 * DISTLIST: Added `fs/affs.c'.
25016
25017 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25018 (grub_probefs_SOURCES): Likewise.
25019 (grub_emu_SOURCES): Likewise.
25020 (pkgdata_MODULES): Add `affs.mod'.
25021 (affs_mod_SOURCES): New variable.
25022 (affs_mod_CFLAGS): Likewise.
25023 (affs_mod_LDFLAGS): Likewise.
25024
25025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25026 (pkgdata_MODULES): Add `affs.mod'.
25027 (affs_mod_SOURCES): New variable.
25028 (affs_mod_CFLAGS): Likewise.
25029
25030 * util/grub-emu.c (main): Call `grub_affs_init' and
25031 `grub_affs_fini'.
25032
25033 * include/grub/fs.h (grub_affs_init): New prototype.
25034 (grub_affs_fini): Likewise.
25035
25036 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25037
25038 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25039
25040 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25041
25042 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25043 `-m32' to CFLAGS.
25044
25045 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25046 linking.
25047
25048 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25049 (COMMON_LDFLAGS): New variable.
25050 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25051 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25052 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25053 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25054 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25055 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25056 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25057 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25058 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25059 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25060 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25061 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25062 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25063 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25064 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25065 variables.
25066 (normal_mod_ASFLAGS): Add `-m32'.
25067
25068 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25069 (grub_host_size_t, grub_host_ssize_t): New types.
25070 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
25071 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
25072 `GRUB_HOST_SIZEOF_VOID_P'.
25073
25074 * include/grub/kernel.h (struct grub_module_header): Type of
25075 member offset changed to `grub_host_off_t'. Type of member size
25076 changed to `grub_host_size_t'.
25077 (struct grub_module_info): Type of member offset changed to
25078 `grub_host_off_t'. Type of member size changed to
25079 `grub_host_size_t'.
25080
25081 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25082
25083 Make GRUB's kernel compliant to Multiboot Specification.
25084
25085 * kern/i386/pc/startup.S (multiboot_header): New label.
25086 (multiboot_entry): Likewise.
25087 (multiboot_trampoline): Likewise.
25088
25089 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25090 Increased to 0x4A0.
25091
25092 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25093 put parentheses after a question mark.
25094 [!GRUB_UTIL] (my_mod): New variable.
25095
25096 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25097
25098 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
25099
25100 Adds support for the XFS filesystem. Btrees are not supported
25101 yet.
25102
25103 * fs/xfs.c: New file.
25104
25105 * DISTLIST: Added `fs/xfs.c'.
25106
25107 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25108 (grub_probefs_SOURCES): Likewise.
25109 (grub_emu_SOURCES): Likewise.
25110 (pkgdata_MODULES): Add `xfs.mod'.
25111 (xfs_mod_SOURCES): New variable.
25112 (xfs_mod_CFLAGS): Likewise.
25113
25114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25115 (pkgdata_MODULES): Add `xfs.mod'.
25116 (xfs_mod_SOURCES): New variable.
25117 (xfs_mod_CFLAGS): Likewise.
25118
25119 * util/grub-emu.c (main): Call `grub_xfs_init' and
25120 `grub_xfs_fini'.
25121
25122 * include/grub/fs.h (grub_xfs_init): New prototype.
25123 (grub_xfs_fini): Likewise.
25124
25125
25126 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25127
25128 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25129 color modes, allow greater than 16 colors to be configured as
25130 a default palette.
25131
25132 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25133
25134 * normal/completion.c (complete_arguments): Add the qualifier
25135 const into OPTIONS.
25136
25137 From Omniflux <omniflux+lists@omniflux.com>:
25138 * include/grub/terminfo.h: New file.
25139 * include/grub/tparm.h: Likewise.
25140 * include/grub/i386/pc/serial.h: Likewise.
25141 * term/terminfo.c: Likewise.
25142 * term/tparm.c: Likewise.
25143 * term/i386/pc/serial.c: Likewise.
25144 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25145 serial.mod.
25146 (terminfo_mod_SOURCES): New variable.
25147 (terminfo_mod_CFLAGS): Likewise.
25148 (serial_mod_SOURCES): Likewise.
25149 (serial_mod_CFLAGS): Likewise.
25150
25151 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25152
25153 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25154 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25155 and kern/powerpc/ieee1275/cmain.c, respectively.
25156
25157 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25158 * kern/powerpc/ieee1275/crt0.S: ... here.
25159
25160 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25161 * kern/powerpc/ieee1275/cmain.c: ... here.
25162
25163 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25164 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25165 instead of boot/powerpc/ieee1275/crt0.S and
25166 boot/powerpc/ieee1275/cmain.c, respectively.
25167
25168 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25169 sectors. It was not used anyway.
25170
25171 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25172
25173 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25174 `unused parameter' warning.
25175
25176 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25177
25178 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25179 function.
25180 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25181 getcharwidth.
25182
25183 2005-08-28 Marco Gerards <metgerards@student.han.nl>
25184
25185 * include/grub/normal.h (enum grub_completion_type): Added
25186 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25187
25188 * normal/cmdline.c (print_completion): Handle
25189 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25190 * normal/menu_entry.c (store_completion): Likewise.
25191
25192 * normal/completion.c (complete_arguments): New function.
25193 (grub_normal_do_completion): Call `complete_arguments' when the
25194 current words start with a dash.
25195
25196 2005-08-27 Marco Gerards <metgerards@student.han.nl>
25197
25198 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25199 `gzio.mod' instead of `io.mod').
25200
25201 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25202
25203 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25204 (DISTDIRS): Added io and video.
25205 Rewrite the search routine to make an output consistently.
25206
25207 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25208 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25209 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25210 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25211 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25212 util/powerpc/ieee1275/misc.c.
25213
25214 * include/grub/gzio.h: New file.
25215 * io/gzio.c: Likewise.
25216
25217 * kern/file.c (grub_file_close): Call grub_device_close only if
25218 FILE->DEVICE is not NULL.
25219
25220 * include/grub/mm.h [!NULL] (NULL): New macro.
25221
25222 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25223
25224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25225 (pkgdata_MODULES): Added gzio.mod.
25226 (gzio_mod_SOURCES): New variable.
25227 (gzio_mod_CFLAGS): Likewise.
25228
25229 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25230 (pkgdata_MODULES): Added gzio.mod.
25231 (gzio_mod_SOURCES): New variable.
25232 (gzio_mod_CFLAGS): Likewise.
25233
25234 * commands/cat.c: Include grub/gzio.h.
25235 (grub_cmd_cat): Use grub_gzfile_open instead of
25236 grub_file_open.
25237
25238 * commands/cmp.c: Include grub/gzio.h.
25239 (grub_cmd_cmp): Use grub_gzfile_open instead of
25240 grub_file_open.
25241
25242 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25243 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25244 grub_file_open.
25245 (grub_rescue_cmd_module): Likewise.
25246
25247 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25248
25249 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25250 kern/sparc64/ieee1275/init.c because it contains _start.
25251 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25252
25253 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25254
25255 * configure.ac: Add support for sparc64 host with ieee1275
25256 firmware.
25257 * configure: Generated from configure.ac.
25258 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25259 instead of int.
25260 (grub_ofdisk_read): Likewise.
25261 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25262 pointers as (void *) to remove a warning.
25263 (grub_ofdisk_close): Likewise.
25264 (grub_ofdisk_read): Likewise.
25265 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25266 returns, so make it return void to remove a warning.
25267 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25268 Corresponding prototype change.
25269 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25270 values, and cast the pointers as (void *) to remove a warning.
25271 (grub_mm_dump): Likewise.
25272 * conf/sparc64-ieee1275.mk: New file.
25273 * conf/sparc64-ieee1275.rmk: Likewise.
25274 * include/grub/sparc64/setjmp.h: Likewise.
25275 * include/grub/sparc64/types.h: Likewise.
25276 * include/grub/sparc64/ieee1275/console.h: Likewise.
25277 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25278 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25279 * include/grub/sparc64/ieee1275/time.h: Likewise.
25280 * kern/sparc64/cache.c: Likewise.
25281 * kern/sparc64/dl.c: Likewise.
25282 * kern/sparc64/ieee1275/init.c: Likewise.
25283 * kern/sparc64/ieee1275/openfw.c: Likewise.
25284
25285 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25286
25287 * util/console.c (grub_ncurses_putchar): If C is greater than
25288 0x7f, set C to a question mark.
25289 (grub_ncurses_getcharwidth): New function.
25290 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25291 getcharwidth.
25292
25293 * normal/menu.c (print_entry): Made aware of Unicode. First,
25294 convert TITLE to UCS-4, and predict the cursor position by
25295 grub_getcharwidth.
25296
25297 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25298 const to SRC.
25299 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25300
25301 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25302
25303 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25304 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25305 grub_strcat.
25306
25307 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25308 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25309 grub_strcpy and grub_strlen. Take it into account that a space
25310 character is inserted as a delimiter.
25311
25312 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25313
25314 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
25315 invalid magic in the error.
25316
25317 * commands/search.c: New file.
25318
25319 * util/grub-emu.c (main): Call grub_search_init and
25320 grub_search_fini.
25321
25322 * kern/rescue.c (grub_rescue_print_disks): Removed.
25323 (grub_rescue_print_devices): New function.
25324 (grub_rescue_cmd_ls): Use grub_device_iterate with
25325 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25326 grub_rescue_print_disks.
25327
25328 * kern/partition.c (grub_partition_iterate): Return the result of
25329 PARTMAP->ITERATE instead of GRUB_ERRNO.
25330
25331 * kern/device.c: Include grub/partition.h.
25332 (grub_device_iterate): New function.
25333
25334 * include/grub/partition.h (grub_partition_iterate): Return int
25335 instead of grub_err_t.
25336
25337 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25338 prototype.
25339 [GRUB_UTIL] (grub_search_fini): Likewise.
25340
25341 * include/grub/device.h (grub_device_iterate): New prototype.
25342
25343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25344 commands/search.c.
25345 (pkgdata_MODULES): Added search.mod.
25346 (search_mod_SOURCES): New variable.
25347 (search_mod_CFLAGS): Likewise.
25348
25349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25350 (pkgdata_MODULES): Added search.mod.
25351 (search_mod_SOURCES): New variable.
25352 (search_mod_CFLAGS): Likewise.
25353
25354 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25355 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25356 All callers changed.
25357
25358 * DISTLIST: Added commands/search.c.
25359
25360 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25361
25362 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25363 conversion.
25364 (grub_getcharwidth): New function.
25365
25366 * kern/misc.c (grub_utf8_to_ucs4): New function.
25367
25368 * include/grub/term.h (struct grub_term): Added a new member
25369 "getcharwidth".
25370 (grub_getcharwidth): New prototype.
25371
25372 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25373
25374 * term/i386/pc/console.c (map_char): New function. Segregated from
25375 grub_console_putchar.
25376 (grub_console_putchar): Use map_char.
25377 (grub_console_getcharwidth): New function.
25378 (grub_console_term): Specified grub_console_getcharwidth as
25379 getcharwidth.
25380
25381 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25382 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25383
25384 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25385 GRUB_ERRNO.
25386 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25387 on grub_strtoul completely.
25388 (write_char): Declare local variables in the beginning of the
25389 function.
25390 (grub_vesafb_getcharwidth): New function.
25391 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25392 getcharwidth.
25393
25394 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25395
25396 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25397 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25398 commands/i386/pc/vbetest.c.
25399
25400 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25401 call grub_vbe_get_controller_info again, because the returned
25402 information is volatile.
25403 (grub_vbe_set_video_mode): Mostly rewritten.
25404 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25405 grub_vbe_status_t correctly.
25406 (grub_vbe_get_video_mode_info): Likewise.
25407 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25408 several if statements.
25409
25410 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25411 * commands/i386/pc/vbeinfo.c: ... this.
25412
25413 * commands/i386/pc/vbe_test.c: Renamed to ...
25414 * commands/i386/pc/vbetest.c: ... this.
25415
25416 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25417 ...
25418 (grub_cmd_vbeinfo): ... this. Save video modes before
25419 iterating. Skip a video mode, if it is not available, not enough
25420 information is given or it is monochrome. Show the memory
25421 model. Leave the interpretation of MODEVAR to grub_strtoul
25422 completely.
25423 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25424 (GRUB_MOD_FINI): Likewise.
25425
25426 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25427 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25428 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25429 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25430 grub_strtoul completely.
25431 (real2pm): Removed.
25432 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25433 (GRUB_MOD_FINI): Likewise.
25434
25435 * normal/misc.c: Include grub/mm.h.
25436
25437 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25438 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25439 (vbe_list_modes_mod_SOURCES): Removed.
25440 (vbe_list_modes_mod_CFLAGS): Likewise.
25441 (vbe_test_mod_SOURCES): Likewise.
25442 (vbe_test_mod_CFLAGS): Likewise.
25443 (vbeinfo_mod_SOURCES): New variable.
25444 (vbeinfo_mod_CFLAGS): Likewise.
25445 (vbetest_mod_SOURCES): Likewise.
25446 (vbetest_mod_CFLAGS): Likewise.
25447
25448 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25449
25450 * normal/misc.c: New file.
25451
25452 * DISTLIST: Added normal/misc.c.
25453
25454 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25455 DISK to HOOK. Call HOOK with DISK.
25456 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25457 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25458 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25459
25460 * normal/menu_entry.c (struct screen): Added a new member
25461 "completion_shown".
25462 (completion_buffer): New global variable.
25463 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25464 (store_completion): New function.
25465 (complete): Likewise.
25466 (clear_completions): Likewise.
25467 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25468 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25469 a tab, call complete.
25470
25471 * normal/completion.c (disk_dev): Removed.
25472 (print_simple_completion): Likewise.
25473 (print_partition_completion): Likewise.
25474 (print_func): New global variable.
25475 (add_completion): Do not take the arguments WHAT or PRINT any
25476 longer. Added a new argument TYPE. Instead of printing directly,
25477 call PRINT_FUNC if not NULL.
25478 All callers changed.
25479 (complete_device): Use a local variable DEV instead of
25480 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25481 (grub_normal_do_completion): Take a new argument HOOK. Do not
25482 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25483 empty string, return NULL instead.
25484 All callers changed.
25485
25486 * normal/cmdline.c (print_completion): New function.
25487
25488 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25489 to HOOK.
25490 All callers changed.
25491
25492 * kern/disk.c (grub_print_partinfo): Removed.
25493
25494 * include/grub/partition.h (struct grub_partition_map): Add a new
25495 argument DISK into HOOK of ITERATE.
25496 (grub_partition_iterate): Add a new argument DISK to HOOK.
25497
25498 * include/grub/normal.h (enum grub_completion_type): New enum.
25499 (grub_completion_type_t): New type.
25500 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25501 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25502 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25503 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25504 (grub_normal_do_completion): Added a new argument HOOK.
25505 (grub_normal_print_device_info): New prototype.
25506
25507 * include/grub/disk.h (grub_print_partinfo): Removed.
25508
25509 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25510 (normal_mod_SOURCES): Likewise.
25511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25512 (normal_mod_SOURCES): Likewise.
25513
25514 * commands/ls.c (grub_ls_list_disks): Use
25515 grub_normal_print_device_info instead of grub_print_partinfo. Free
25516 PNAME.
25517 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25518 duplicating the code.
25519
25520 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25521
25522 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
25523 follow GCS more precisely.
25524 * commands/i386/pc/vbe_test.c: Likewise.
25525 * include/grub/i386/pc/vbe.h: Likewise.
25526 * term/i386/pc/vesafb.c: Likewise.
25527 * video/i386/pc/vbe.c: Likewise.
25528
25529 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25530
25531 * DISTLIST: Added term/i386/pc/vesafb.c
25532 DISTLIST: Added video/i386/pc/vbe.c
25533 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25534 DISTLIST: Added commands/i386/pc/vbe_test.c.
25535 * commands/i386/pc/vbe_list_modes.c: New file.
25536 * commands/i386/pc/vbe_test.c: Likewise.
25537 * term/i386/pc/vesafb.c: Likewise.
25538 * video/i386/pc/vbe.c: Likewise.
25539 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25540 (grub_vbe_probe) Added prototype.
25541 (grub_vbe_set_video_mode) Likewise.
25542 (grub_vbe_get_video_mode) Likewise.
25543 (grub_vbe_get_video_mode_info) Likewise.
25544 (grub_vbe_set_pixel_rgb) Likewise.
25545 (grub_vbe_set_pixel_index) Likewise.
25546 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25547 (pkgdata_MODULES): Added vesafb.mod.
25548 (pkgdata_MODULES): Added vbe_list_modes.mod.
25549 (pkgdata_MODULES): Added vbe_test.mod.
25550 (vbe_mod_SOURCES): Added.
25551 (vbe_mod_CFLAGS): Likewise.
25552 (vesafb_mod_SOURCES): Likewise.
25553 (vesafb_mod_CFLAGS): Likewise.
25554 (vbe_list_modes_mod_SOURCES): Likewise.
25555 (vbe_list_modes_mod_CFLAGS): Likewise.
25556 (vbe_test_mod_SOURCES): Likewise.
25557 (vbe_test_mod_CFLAGS): Likewise.
25558
25559 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25560
25561 * normal/command.c (grub_command_execute): If INTERACTIVE is
25562 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25563 CMDLINE. Disable the pager if INTERACTIVE is true.
25564 All callers are changed.
25565
25566 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25567 before reading a config file.
25568 * normal/main.c (read_config_file): Even if a command is not
25569 found, register it if it is within an entry.
25570
25571 * util/grub-emu.c: Include sys/types.h and unistd.h.
25572 (options): Added --hold.
25573 (struct arguments): Added a new member "hold".
25574 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25575 missing.
25576 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25577 cleared by a debugger, if it is not zero.
25578
25579 * include/grub/normal.h (grub_command_execute): Add an argument
25580 INTERACTIVE.
25581
25582 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25583
25584 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25585
25586 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25587
25588 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25589 program with another one, because the old one didn't detect a bug
25590 in gcc-3.4. Always use regparm 2, because the new test is still
25591 not enough for gcc-4.0. Someone must investigate a simple test
25592 case which detects a bug in gcc-4.0.
25593
25594 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25595
25596 * DISTLIST: Added normal/completion.c.
25597
25598 * normal/completion.c: New file.
25599
25600 * term/i386/pc/console.c (grub_console_getwh): New function.
25601 (grub_console_term): Assign grub_console_getwh to getwh.
25602
25603 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25604 function is defined in normal/completion.c as
25605 grub_normal_do_completion.
25606 (grub_cmdline_get): Use grub_normal_do_completion instead of
25607 grub_tab_complete.
25608
25609 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25610 returns non-zero, otherwise return 0.
25611 (grub_partition_iterate): First, probe the partition map. Then,
25612 call ITERATE only for this partition map.
25613
25614 * kern/misc.c (grub_strncmp): Rewritten.
25615
25616 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25617 returns non-zero. Otherwise return 0.
25618
25619 * include/grub/partition.h (grub_partition_map_iterate): Return
25620 int instead of void.
25621
25622 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25623
25624 * include/grub/misc.h (grub_strncmp): Change the type of N to
25625 grub_size_t.
25626
25627 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25628 of void.
25629
25630 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
25631 unsigned explicitly before comparing it with I.
25632
25633 * kern/main.c (grub_env_write_root): Add the attribute unused into
25634 VAR.
25635
25636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25637 normal/completion.c.
25638 (normal_mod_SOURCES): Likewise.
25639 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25640 (normal_mod_SOURCES): Likewise.
25641
25642 * normal/command.c (grub_iterate_commands): If ITERATE returns
25643 non-zero, return one immediately.
25644
25645 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25646
25647 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25648 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25649 descriptions.
25650 (grub_vbe_get_controller_info): New function.
25651 (grub_vbe_get_mode_info): Likewise.
25652 (grub_vbe_set_mode): Likewise.
25653 (grub_vbe_get_mode): Likewise.
25654 (grub_vbe_set_memory_window): Likewise.
25655 (grub_vbe_get_memory_window): Likewise.
25656 (grub_vbe_set_scanline_length): Likewise.
25657 (grub_vbe_get_scanline_length): Likewise.
25658 (grub_vbe_set_display_start): Likewise.
25659 (grub_vbe_get_display_start): Likewise.
25660 (grub_vbe_set_palette_data): Likewise.
25661 * include/grub/i386/pc/vbe.h: New file.
25662
25663 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25664
25665 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25666 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25667 * DISTLIST: Likewise.
25668 * kern/ieee1275/of.c: Moved to ...
25669 * kern/ieee1275/ieee1275.c: ... here.
25670
25671 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25672
25673 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25674 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25675 Pass 0 as `end' parameter to grub_strtoul().
25676
25677 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25678
25679 * include/grub/powerpc/ieee1275/console.h: Do not include
25680 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25681 ifdef.
25682 (grub_console_cur_color): Remove i386-specific prototype.
25683 (grub_console_real_putchar): Likewise.
25684 (grub_console_checkkey): Likewise.
25685 (grub_console_getkey): Likewise.
25686 (grub_console_getxy): Likewise.
25687 (grub_console_gotoxy): Likewise.
25688 (grub_console_cls): Likewise.
25689 (grub_console_setcursor): Likewise.
25690 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25691 Include <grub/machine/console.h>.
25692 * term/ieee1275/ofconsole.c: Likewise.
25693
25694 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25695
25696 * Makefile.in (LIBLZO): New variable.
25697
25698 * configure.ac: Check for LZO version 2.
25699
25700 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25701 lzo/lzo1x.h instead of lzo1x.h.
25702
25703 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25704 of -llzo.
25705
25706 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25707 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25708
25709 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25710 copying the data from PARTITION to P.
25711
25712 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25713
25714 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25715 negative, unload the module.
25716
25717 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25718 map is "pc_partition_map" but not "pc".
25719 (usage): Fix the description. The options are --boot-image and
25720 --core-image but not --boot-file or --core-file.
25721 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25722 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25723 DEFAULT_DIRECTORY.
25724
25725 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25726 --core-file. Specify INSTALL_DEVICE as an argument.
25727
25728 * util/console.c: Include config.h.
25729 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25730 [HAVE_NCURSES_H]: Include ncurses.h.
25731 [HAVE_CURSES_H]: Include curses.h.
25732 [!A_NORMAL] (A_NORMAL): Defined as zero.
25733 [!A_STANDOUT] (A_STANDOUT): Likewise.
25734
25735 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25736 -lncurses.
25737 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25738
25739 * configure.ac: Check for curses libraries and headers.
25740
25741 * Makefile.in (LIBCURSES): New variable.
25742
25743 * genmk.rb (Script::rule): Set the executable bits.
25744
25745 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25746 name of the PC partition map is "pc_partition_map" but not "pc".
25747
25748 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25749
25750 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25751 (modules): Likewise.
25752 (usage): Added descriptions for --modules and --grub-probefs.
25753 Handle --modules and --grub-probefs. Save the arguments in MODULES
25754 and GRUB_PROBEFS, respectively.
25755 Auto-detect a filesystem module against GRUBDIR. If the result is
25756 empty and modules are not specified explicitly, abort the
25757 installation. Add the result to MODULES.
25758
25759 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25760 disk/powerpc/ieee1275/ofdisk.c,
25761 include/grub/powerpc/ieee1275/init.h and
25762 term/powerpc/ieee1275/ofconsole.c.
25763 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25764 term/ieee1275/ofconsole.c.
25765
25766 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25767
25768 * COPYING: Upgraded to the latest version. Only the address of the
25769 FSF office has changed.
25770
25771 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25772
25773 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25774 kern/ieee1275.c with kern/ieee1275/of.c.
25775
25776 * kern/ieee1275.c: Moved to ...
25777 * kern/ieee1275/of.c: ... here.
25778
25779 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25780
25781 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
25782 readability.
25783
25784 * config.guess: Updated to the latest version from gnulib.
25785 * config.sub: Likewise.
25786 * install.sh: Likewise.
25787 * mkinstalldirs: Likewise.
25788
25789 * include/grub/console.h: Removed. This file is arch-specific. Do
25790 not put this in include/grub.
25791
25792 * include/grub/i386/pc/console.h: Resurrected.
25793
25794 * util/console.c: Include grub/machine/console.h instead of
25795 grub/console.h.
25796 * util/grub-emu.c: Likewise.
25797
25798 2005-08-04 Marco Gerards <metgerards@student.han.nl>
25799
25800 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25801 hardcoded value.
25802
25803 From Vincent Pelletier <subdino2004@yahoo.fr>
25804 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25805 Redefined to use grub_getwh.
25806 (grub_term): New member named getwh.
25807 (grub_getwh): New prototype.
25808 * kern/term.c (grub_getwh): New function.
25809 * term/i386/pc/console.c (grub_console_getwh): New function.
25810 (grub_console_term): New member `getwh'.
25811 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25812 (grub_vga_term): New member `getwh'.
25813 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
25814 grub_ssize_t.
25815 (grub_ofconsole_getw): New function.
25816 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
25817 (grub_ofconsole_term): New field named getwh and new initial
25818 value.
25819
25820 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
25821
25822 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
25823 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
25824 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
25825 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
25826 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
25827 of <grub/machine/ieee1275.h>.
25828 * commands/ieee1275/reboot.c: Likewise.
25829 * boot/powerpc/ieee1275/ieee1275.c: Move ...
25830 * kern/ieee1275.c: ... to here. All users updated. Change all
25831 parameter structs to use new type `grub_ieee1275_cell_t'.
25832 * term/powerpc/ieee1275/ofconsole.c: Move ...
25833 * term/ieee1275/ofconsole.c: ... to here. All users updated.
25834 * disk/powerpc/ieee1275/ofdisk.c: Move ...
25835 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
25836 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
25837 to return int.
25838 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
25839 Remove unused prototypes. All users updated.
25840 * include/grub/powerpc/ieee1275/console.h: Removed.
25841 * include/grub/powerpc/ieee1275/ieee1275.h: Define
25842 `grub_ieee1275_cell_t'.
25843 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
25844 Cast comparisons with -1 to the correct type.
25845 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25846 type to match `grub_ieee1275_entry_fn'.
25847
25848 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25849
25850 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25851
25852 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25853 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25854 partmap/sun.c.
25855 (grub_probefs_SOURCES): New variable.
25856
25857 * util/i386/pc/grub-probefs.c: New file.
25858
25859 * util/i386/pc/grub-setup.c (main): Call
25860 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25861 grub_hfs_init and grub_jfs_init to initialize the system. Call
25862 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25863 grub_pc_partition_map_fini to finish the system.
25864
25865 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25866
25867 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25868 function.
25869 (grub_multiboot_load_elf32): Likewise.
25870 (grub_multiboot_is_elf64): Likewise.
25871 (grub_multiboot_load_elf64): Likewise.
25872 (grub_multiboot_load_elf): Likewise.
25873 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25874 an ELF32 or ELF64 file.
25875 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25876
25877 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25878 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25879 NULL before calling FS->LABEL.
25880 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25881 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25882 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25883 before calling FS->LABEL.
25884
25885 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25886
25887 * util/i386/pc/grub-install.in (datadir): New variable.
25888 (libdir): Removed.
25889 (pkgdatadir): New variable.
25890 (pkglibdir): Removed.
25891
25892 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25893
25894 * DISTLIST: Added util/i386/pc/grub-install.in.
25895
25896 * util/i386/pc/grub-install.in: New file.
25897
25898 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25899 (grub_install_SOURCES): Likewise.
25900
25901 * genmk.rb: Added support for scripts.
25902 (Script): New class.
25903 (scripts): New variable.
25904
25905 * Makefile.in (install-local): Install sbin_SCRIPTS by
25906 INSTALL_SCRIPT.
25907 (uninstall): Remove sbin_SCRIPTS.
25908
25909 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25910 device, try to get a GRUB device by
25911 grub_util_biosdisk_get_grub_dev.
25912 Free DEST_DEV.
25913
25914 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25915 description for --device-map.
25916
25917 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25918
25919 Change the semantics of variable hooks. They now return strings
25920 instead of error values.
25921
25922 * util/i386/pc/grub-setup.c: Include grub/env.h.
25923 (setup): Use grub_device_set_root instead of grub_env_set.
25924
25925 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25926 grub_env_get instead of grub_device_set_root and
25927 grub_device_get_root, respectively.
25928
25929 * kern/main.c (grub_env_write_root): New function.
25930 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25931 grub_env_set instead of grub_device_set_root.
25932
25933 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25934 many variables.
25935 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25936 rather than calling ENV->WRITE_HOOK afterwards.
25937 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25938 passing a pointer of a pointer.
25939 (grub_register_variable_hook): Change the types of "read_hook" and
25940 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25941 respectively.
25942 Allocate the default empty string on the heap, because this string
25943 may be freed later.
25944
25945 * kern/device.c: Include grub/env.h.
25946 (grub_device_set_root): Removed.
25947 (grub_device_get_root): Likewise.
25948 (grub_device_open): Use grub_env_get instead of
25949 grub_device_get_root.
25950
25951 * include/grub/env.h (grub_env_read_hook_t): New type.
25952 (grub_env_write_hook_t): Likewise.
25953 (grub_env_var): Change the types of "read_hook" and "write_hook"
25954 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25955 (grub_register_variable_hook): Likewise.
25956
25957 * include/grub/device.h (grub_device_set_root): Removed.
25958 (grub_device_set_root): Likewise.
25959
25960 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25961 make sure that DIRNAME terminates with '/', so that
25962 grub_fat_find_dir will fail if PATH is not a directory.
25963
25964 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25965 from DIRNAME.
25966 Use the qualifier auto for print_files and print_files_long.
25967 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25968 as a regular file.
25969 Put a newline only if there is no error.
25970 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25971 used.
25972
25973 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25974
25975 * kern/partition.c (grub_partition_probe): Initialize PART to
25976 NULL. Otherwise, when no partition map is registered, this returns
25977 a garbage.
25978
25979 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25980
25981 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25982 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25983 valid.
25984
25985 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25986
25987 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25988 information on each device, if it does not have partitions. Print
25989 "Device" instead of "Disk", because this function is not specific
25990 to disk devices.
25991
25992 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25993 static to ensure that it is put on the memory rather than a
25994 register.
25995
25996 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25997
25998 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25999 (grub_cat_init): Likewise.
26000 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26001 (options): Likewise.
26002 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26003 (grub_configfile_init): Likewise.
26004 * font/manager.c (GRUB_MOD_INIT): Likewise.
26005 * commands/help.c (GRUB_MOD_INIT): Likewise.
26006 (grub_help_init): Likewise.
26007 * normal/command.c (grub_command_init): Likewise.
26008 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26009 * disk/loopback.c (grub_loop_init): Likewise.
26010 (GRUB_MOD_INIT): Likewise.
26011 * commands/ls.c (grub_ls_init): Likewise.
26012 (GRUB_MOD_INIT): Likewise.
26013 (options): Likewise.
26014 * commands/boot.c (grub_boot_init): Likewise.
26015 (GRUB_MOD_INIT): Likewise.
26016 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26017 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26018 (GRUB_MOD_INIT): Likewise.
26019 * commands/cmp.c (grub_cmp_init): Likewise.
26020 (GRUB_MOD_INIT): Likewise.
26021
26022 * normal/arg.c: Use <> instead of "" to include header files.
26023 (SHORT_ARG_HELP): New macro.
26024 (SHORT_ARG_USAGE): Likewise.
26025 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26026 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26027 descriptions.
26028 (find_short): Check if C is 'h' or 'u' explicitly.
26029 (grub_arg_show_help): Use space characters instead of tabs. Treat
26030 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26031 are shown with --help and --usage only if they are not used for
26032 the command itself.
26033 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26034 'h' and 'u'.
26035
26036 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26037 const into "longarg". Change the type of "shortarg" to int.
26038
26039 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26040
26041 * boot/i386/pc/boot.S (boot_drive_check): New label.
26042
26043 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26044 macro.
26045
26046 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26047 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26048
26049 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26050
26051 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26052 When turning off Gate A20, skip the check and return immediately,
26053 because this is not fatal usually.
26054
26055 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26056
26057 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26058 be 0x7C00 instead of 0x8000.
26059
26060 * boot/i386/pc/pxeboot.S: Rewritten.
26061
26062 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26063 EXT_C.
26064 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26065 result.
26066
26067 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26068
26069 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26070 robustness. This routine now supports a BIOS call and System
26071 Control Port A to modify the gate A20.
26072
26073 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26074 Increased to 0x440.
26075
26076 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26077
26078 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26079 device path and resulting ihandle.
26080 (grub_ofdisk_close): dprintf the ihandle being closed.
26081 (grub_ofdisk_read): dprintf function parameters.
26082 * kern/mm.c (grub_mm_init_region): Likewise.
26083 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26084 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26085 size, and boot arguments.
26086 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26087 before loading into memory.
26088 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26089 before loading into memory.
26090
26091 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26092
26093 * kern/mm.c: Added much documentation.
26094 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26095 8, set to 5 instead of 8.
26096
26097 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26098
26099 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26100
26101 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26102 (grub_mkdevicemap_SOURCES): New variable.
26103
26104 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26105 lib/device.c of GRUB Legacy.
26106
26107 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26108
26109 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26110 instead of PATH is NULL.
26111
26112 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26113
26114 * commands/cmp.c (BUFFER_SIZE): New macro.
26115 (grub_cmd_cmp): Close the right file at the right time. Compare
26116 only data just read. Don't report files of different size as
26117 identical. Dynamically allocate buffers. Move variable
26118 declarations at the beginning of function.
26119
26120 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
26121
26122 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26123 reverse.
26124
26125 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26126
26127 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26128 when backspace is pressed at beginning of line.
26129
26130 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
26131
26132 * DISTLIST: Added genfslist.sh.
26133
26134 * normal/main.c (fs_module_list): New variable.
26135 (autoload_fs_module): New function.
26136 (read_fs_list): Likewise.
26137 (grub_normal_execute): Call read_fs_list.
26138
26139 * kern/fs.c (grub_fs_autoload_hook): New variable.
26140 (grub_fs_probe): Added support for auto-loading.
26141
26142 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26143 (grub_fs_module_list_t): New type.
26144
26145 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26146 (grub_fs_autoload_hook): New prototype.
26147
26148 * genfslist.sh: New file.
26149
26150 * genmk.rb: Added a rule to generate a filesystem list.
26151
26152 2005-06-30 Marco Gerards <metgerards@student.han.nl>
26153
26154 * configure.ac: Fix the test for cross-compiling.
26155
26156 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26157 define GRUB_UTIL anymore.
26158
26159 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26160 so this function works on other systems than just big endian.
26161 (load_modules): Likewise.
26162 (add_segments): Likewise.
26163
26164 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26165
26166 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26167 contains `l' modifier, get a long from va_arg().
26168
26169 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26170
26171 * kern/mm.c (grub_free): If the next free block which is being
26172 merged is the first free block, set the first block to the block
26173 being freed.
26174 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26175
26176 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26177
26178 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26179 `grub_ieee1275_chosen'.
26180
26181 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26182
26183 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26184 (grub_ieee1275_chosen): New variable.
26185 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26186 `chosen'.
26187 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26188 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26189 Rename first argument to `phandle' for consistency.
26190 (grub_ieee1275_get_property_length): Likewise.
26191 (grub_ieee1275_next_property): Likewise. Change type of first argument
26192 to grub_ieee1275_phandle_t.
26193 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26194 Move export next to declaration.
26195 (grub_ieee1275_chosen): New variable.
26196 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26197 Correct cosmetic typo.
26198 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26199 `grub_ieee1275_chosen'.
26200 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26201 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26202 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26203 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26204 `grub_ieee1275_chosen'.
26205
26206 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26207
26208 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26209 /chosen/bootargs.
26210 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26211 /chosen/bootargs as "variable=value" pairs.
26212
26213 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26214
26215 * include/grub/misc.h (grub_dprintf): New macro.
26216 (grub_real_dprintf): New prototype.
26217 (grub_strword): Likewise.
26218 (grub_iswordseparator): Likewise.
26219 * kern/misc.c (grub_real_dprintf): New function.
26220 (grub_strword): Likewise.
26221 (grub_iswordseparator): Likewise.
26222
26223 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26224
26225 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26226 (roundup): Remove macro.
26227 (grub_ieee1275_flags): Make static.
26228 (grub_ieee1275_realmode): Remove.
26229 (grub_ieee1275_test_flag): New function.
26230 (grub_ieee1275_set_flag): Likewise.
26231 (find_options): Rename to `grub_ieee1275_find_options'; update
26232 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26233 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26234 (cmain): New prototype.
26235 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26236 `grub_ieee1275_flags' directly.
26237 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26238 machine/biosdisk.h.
26239 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26240 Don't include grub/machine/init.h.
26241 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26242 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26243 Remove prototype.
26244 (grub_ieee1275_realmode): Likewise.
26245 (grub_ieee1275_flag): New enum.
26246 (grub_ieee1275_test_flag): New prototype.
26247 (grub_ieee1275_set_flag): New prototype.
26248 * include/grub/powerpc/ieee1275/init.h: Remove file.
26249 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26250 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26251 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26252 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26253 comment.
26254 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26255 `grub_ieee1275_test_flag'.
26256 (grub_ieee1275_encode_devname): Likewise.
26257
26258 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26259
26260 * include/grub/powerpc/ieee1275/ieee1275.h
26261 (grub_ieee1275_encode_devname): New prototype.
26262 (grub_ieee1275_get_filename): Likewise.
26263 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26264 function.
26265 (grub_set_prefix): Likewise.
26266 (grub_machine_init): Call grub_set_prefix.
26267 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26268 (grub_parse_type): New enum.
26269 (grub_ieee1275_get_devargs): New function.
26270 (grub_ieee1275_get_devname): Likewise.
26271 (grub_ieee1275_parse_args): Likewise.
26272 (grub_ieee1275_get_filename): Likewise.
26273 (grub_ieee1275_encode_devname): Likewise.
26274
26275 2005-03-30 Marco Gerards <metgerards@student.han.nl>
26276
26277 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26278 `grub_loader_unset'.
26279
26280 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26281
26282 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26283 instead of grub_ieee1275_interpret.
26284 (grub_halt_init): New function.
26285 (grub_halt_fini): Likewise.
26286 (GRUB_MOD_INIT): Correct message grammar.
26287 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26288 instead of grub_ieee1275_interpret.
26289 (grub_reboot_init): New function.
26290 (grub_reboot_fini): Likewise.
26291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26292 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26293 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26294 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26295 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26296 function.
26297 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26298 Add prototype.
26299 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26300 prototype.
26301 (grub_halt): Likewise.
26302 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26303 (cmain): Remove __attribute__((unused)).
26304 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26305 (grub_heap_len): Likewise.
26306 (grub_machine_fini): New function.
26307 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26308 (grub_halt): Likewise.
26309 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26310 function.
26311 * util/powerpc/ieee1275/misc.c: New file.
26312
26313 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26314
26315 * DISTLIST: New file.
26316 * gendistlist.sh: Likewise.
26317
26318 * Makefile.in (COMMON_DISTFILES): Removed.
26319 (BOOT_DISTFILES): Likewise.
26320 (CONF_DISTFILES): Likewise.
26321 (DISK_DISTFILES): Likewise.
26322 (FS_DISTFILES): Likewise.
26323 (INCLUDE_DISTFILES): Likewise.
26324 (KERN_DISTFILES): Likewise.
26325 (LOADER_DISTFILES): Likewise.
26326 (TERM_DISTFILES): Likewise.
26327 (UTIL_DISTFILES): Likewise.
26328 (DISTFILES): Likewise.
26329 (uninstall): Uninstall files in $(pkgdata_DATA).
26330 (DISTLIST): New target.
26331 (distdir): Use the contents of the file DISTLIST to get a list of
26332 distributed files.
26333
26334 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26335
26336 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26337 descriptor. This is ported from GRUB Legacy.
26338
26339 * gencmdlist.sh: Added an extra semicolon to make it work with
26340 old sed versions. Reported by Robert Bihlmeyer
26341 <robbe@orcus.priv.at>.
26342
26343 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
26344
26345 Automatic loading of commands is supported.
26346
26347 * normal/main.c (read_command_list): New function.
26348 (grub_normal_execute): Call read_command_list.
26349
26350 * normal/command.c (grub_register_command): Return zero or CMD.
26351 Allocate CMD->NAME from the heap.
26352 Initialize CMD->MODULE_NAME to zero.
26353 Find the same name as well. If the same command is found and it is
26354 a dummy command, overwrite members. If it is not a dummy command,
26355 return zero.
26356 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26357 (grub_command_find): If a dummy command is found, load a module
26358 and retry to find a command only once.
26359
26360 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26361 make sure that each command is loaded.
26362
26363 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26364 macro.
26365 (struct grub_command): Remove const from the member `name'.
26366 Add a new member `module_name'.
26367 (grub_register_command): Return grub_command_t.
26368
26369 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26370 sure that each command is loaded.
26371
26372 * genmk.rb (PModule::rule): Specify a module name without the
26373 suffix ".mod" to gencmdlist.sh.
26374
26375 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26376
26377 * gencmdlist.sh: New file.
26378
26379 * genmk.rb (PModule::rule): Generate a rule for a command list.
26380 Clean command.lst.
26381 Generate command.lst from $(COMMANDFILES).
26382
26383 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26384 (DATA): Added $(pkgdata_DATA).
26385 (install-local): Install files in $(pkgdata_DATA).
26386
26387 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26388
26389 * term/i386/pc/vga.c (debug_command): Removed.
26390 (GRUB_MOD_INIT): Do not register the command "debug".
26391
26392 From Hollis Blanchard:
26393 * commands/configfile.c: New file.
26394 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26395 commands/configfile.c.
26396 (pkgdata_MODULES): Added configfile.mod.
26397 (configfile_mod_SOURCES): New variable.
26398 (configfile_mod_CFLAGS): Likewise.
26399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26400 commands/configfile.c.
26401 (pkgdata_MODULES): Added configfile.mod.
26402 (configfile_mod_SOURCES): New variable.
26403 (configfile_mod_CFLAGS): Likewise.
26404 * util/grub-emu.c (main): Call grub_configfile_init and
26405 grub_configfile_fini.
26406 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26407 prototype.
26408 [GRUB_UTIL] (grub_configfile_fini): Likewise.
26409
26410 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26411
26412 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26413 address.
26414
26415 * commands/help.c (grub_cmd_help): Do not print newlines after
26416 the last command in print_command_help.
26417
26418 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26419
26420 * commands/default.h: New file.
26421 * commands/timeout.h: Likewise.
26422 * normal/context.c: Likewise.
26423
26424 * util/misc.c: Do not include sys/times.h.
26425 Include sys/time.h and grub/machine/time.h.
26426 (grub_get_rtc): Rewritten with gettimeofday.
26427
26428 * util/grub-emu.c (main): Call grub_default_init and
26429 grub_timeout_init before grub_normal_init, and call
26430 grub_timeout_fini and grub_default_fini after grub_main.
26431
26432 * util/console.c (grub_ncurses_checkkey): Return the read
26433 character or -1.
26434
26435 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26436 timeouts.
26437
26438 * normal/main.c (read_config_file): Push MENU. If this fails,
26439 print an error and wait for a user input.
26440 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26441 If a menu is empty or an error occurs, pop MENU.
26442 (grub_normal_execute): Pop and free MENU after grub_menu_run
26443 returns.
26444
26445 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26446
26447 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26448 include time.h.
26449 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26450 without GRUB_UTIL.
26451 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26452 time.h.
26453 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26454 without GRUB_UTIL.
26455
26456 * include/grub/normal.h (struct grub_menu_list): New struct.
26457 (grub_menu_list_t): New type.
26458 (struct grub_context): New struct.
26459 (grub_context_t): New type.
26460 (grub_register_command): Got rid of EXPORT_FUNC.
26461 (grub_unregister_command): Likewise.
26462 (grub_context_get): New prototype.
26463 (grub_context_get_current_menu): Likewise.
26464 (grub_context_push_menu): Likewise.
26465 (grub_context_pop_menu): Likewise.
26466 [GRUB_UTIL] (grub_default_init): Likewise.
26467 [GRUB_UTIL] (grub_default_fini): Likewise.
26468 [GRUB_UTIL] (grub_timeout_init): Likewise.
26469 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26470
26471 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26472 commands/timeout.c and normal/context.c.
26473 (pkgdata_MODULES): Added default.mod and timeout.mod.
26474 (normal_mod_SOURCES): Added normal/context.c.
26475 (default_mod_SOURCES): New variable.
26476 (default_mod_CFLAGS): Likewise.
26477 (timeout_mod_SOURCES): Likewise.
26478 (timeout_mod_CFLAGS): Likewise.
26479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26480 conf/i386-pc.rmk.
26481 (pkgdata_MODULES): Added default.mod and timeout.mod.
26482 (normal_mod_SOURCES): Added normal/context.c.
26483 (default_mod_SOURCES): New variable.
26484 (default_mod_CFLAGS): Likewise.
26485 (timeout_mod_SOURCES): Likewise.
26486 (timeout_mod_CFLAGS): Likewise.
26487
26488 * Makefile.in (all-local): Added $(MKFILES).
26489
26490 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26491
26492 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26493 (grub_emu_SOURCES): Likewise.
26494 (pkgdata_MODULES): Add `sun.mod'.
26495 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26497 `partmap/sun.c'.
26498 (pkgdata_MODULES): Add `sun.mod'.
26499 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26500 * include/grub/partition.h (grub_sun_partition_map_init): New
26501 prototype.
26502 (grub_sun_partition_map_fini): Likewise.
26503 * partmap/sun.c: New file.
26504 * util/grub-emu.c (main): Initialize and de-initialize the sun
26505 partitionmap support.
26506
26507 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26508
26509 This implements an Emacs-like menu entry editor.
26510
26511 * normal/menu_entry.c: New file.
26512
26513 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26514 characters to ASCII.
26515 (saved_char): New variable.
26516 (grub_ncurses_checkkey): Rewritten completely.
26517 (grub_ncurses_getkey): Likewise.
26518 (grub_ncurses_init): Call raw instead of cbreak.
26519
26520 * normal/menu.c (print_entry): Do not put a space.
26521 (init_page): Renamed to ...
26522 (grub_menu_init_page): ... this. All callers changed.
26523 (edit_menu_entry): Removed.
26524 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26525
26526 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26527
26528 * kern/misc.c (grub_vprintf): Call grub_refresh.
26529
26530 * normal/menu.c (DISP_LEFT): Renamed to ...
26531 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26532 * normal/menu.c (DISP_UP): Renamed to ...
26533 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26534 * normal/menu.c (DISP_RIGHT): Renamed to ...
26535 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26536 * normal/menu.c (DISP_DOWN): Renamed to ...
26537 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26538 * normal/menu.c (DISP_HLINE): Renamed to ...
26539 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26540 * normal/menu.c (DISP_VLINE): Renamed to ...
26541 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26542 * normal/menu.c (DISP_UL): Renamed to ...
26543 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26544 * normal/menu.c (DISP_UR): Renamed to ...
26545 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26546 * normal/menu.c (DISP_LL): Renamed to ...
26547 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26548 * normal/menu.c (DISP_LR): Renamed to ...
26549 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26550 * normal/menu.c (TERM_WIDTH): Renamed to ...
26551 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26552 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26553 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26554 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26555 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26556 * normal/menu.c (TERM_MARGIN): Renamed to ...
26557 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26558 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26559 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26560 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26561 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26562 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26563 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26564 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26565 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26566 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26567 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26568 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26569 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26570 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26571 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26572 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26573 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26574 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26575 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26576 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26577 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26578 All callers changed.
26579
26580 * include/grub/normal.h: New prototype.
26581
26582 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26583 normal/menu_entry.c.
26584 (normal_mod_SOURCES): Likewise.
26585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26586 (normal_mod_SOURCES): Likewise.
26587
26588 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26589
26590 * include/grub/normal.h (grub_halt_init): New prototype.
26591 (grub_halt_fini): Likewise.
26592 (grub_reboot_init): Likewise.
26593 (grub_reboot_fini): Likewise.
26594
26595 * util/grub-emu.c: Include signal.h.
26596 (main_env): New global variable.
26597 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26598 catch C-c.
26599 (grub_machine_fini): New function.
26600 (main): Call grub_halt_init and grub_reboot_init before
26601 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26602 Call setjmp with MAIN_ENV to go back afterwards.
26603 Call grub_machine_fini right before return.
26604
26605 * include/grub/util/misc.h: Include setjmp.h.
26606 (main_env): New prototype.
26607
26608 * include/grub/kernel.h (grub_machine_fini): New prototype.
26609 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26610 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26611
26612 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26613 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26614 * term/i386/pc/console.c (grub_console_fini): Likewise.
26615
26616 * util/i386/pc/misc.c: New file.
26617
26618 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26619 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26620 commands/i386/pc/reboot.c.
26621
26622 2005-02-14 Guillem Jover <guillem@hadrons.org>
26623
26624 * include/grub/dl.h (grub_dl_check_header): New prototype.
26625 (grub_arch_dl_check_header): Change return type to grub_err_t,
26626 remove size parameter and export function. Update all callers.
26627 * kern/dl.c (grub_dl_check_header): New function.
26628 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26629 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26630 are inside the core.
26631 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26632 independent ELF header checks.
26633 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26634 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26635 `grub_dl_check_header' instead of explicit checks. Check for the
26636 ELF type.
26637 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26638 `grub_dl_check_header' instead of explicit checks. Remove arch
26639 specific ELF header checks.
26640
26641 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26642 argument SIZE.
26643
26644 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26645
26646 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26647 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26648
26649 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26650
26651 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
26652 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
26653 (part_map_iterate): Clear `grub_errno' and return 0 if
26654 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
26655 * partmap/amiga.c (amiga_partition_map_iterate): Return
26656 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26657 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26658
26659 2005-02-01 Guillem Jover <guillem@hadrons.org>
26660
26661 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26662 help info.
26663
26664 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26665
26666 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26667 Removed prototype.
26668 (grub_rescue_cmd_linux): New prototype.
26669 (grub_rescue_cmd_initrd): Likewise.
26670 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26671 `bi_rec'.
26672 (grub_linux_release_mem): Release the memory for the initrd.
26673 (grub_load_linux): Renamed from this...
26674 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26675 Changed `entry' not to be static. Loop over memory regions to
26676 find another one when the default fails.
26677 (grub_rescue_cmd_initrd): New function.
26678 (grub_linux_init): Remove function.
26679 (grub_linux_fini): Likewise.
26680 (GRUB_MOD_INIT): Register `initrd'.
26681 (GRUB_MOD_FINI): Unregister `initrd'.
26682 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26683 Function removed.
26684 (grub_linux_normal_fini): Likewise.
26685 (GRUB_MOD_INIT): Register `initrd'.
26686 (GRUB_MOD_FINI): Unregister `initrd'.
26687
26688 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26689
26690 * commands/help.c: New file.
26691 * normal/arg.c (show_help): Renamed to...
26692 (grub_arg_show_help): ... this.
26693 * commands/i386/pc/halt.c: New file.
26694 * commands/i386/pc/reboot.c: Likewise.
26695 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26696 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26697 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26698 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26699 variables.
26700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26701 `commands/help.c'.
26702 (pkgdata_MODULES): Add `help.mod'.
26703 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26704 * grub/i386/pc/init.h (grub_reboot): New prototype.
26705 (grub_halt): Likewise.
26706 * include/grub/normal.h (grub_arg_show_help): New prototype.
26707 (grub_help_init): Likewise.
26708 (grub_help_fini): Likewise.
26709 * util/grub-emu.c (main): Initialize and deinitialize the help
26710 command.
26711
26712 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26713
26714 * normal/command.c (grub_command_init): Fixed the description of
26715 the `set' and `unset' commands.
26716
26717 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26718
26719 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26720 function.
26721 * commands/ieee1275/halt.c: New file.
26722 * commands/ieee1275/reboot.c: Likewise.
26723 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26724 `__attribute__ ((unused))'. Some GCS related fixed.
26725 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26726 (grub_suspend_fini): Likewise.
26727 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26728 and `halt.mod'.
26729 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26730 (halt_mod_CFLAGS): New variables.
26731 * include/grub/powerpc/ieee1275/ieee1275.h
26732 (grub_ieee1275_interpret): New prototype.
26733
26734 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26735
26736 * include/grub/misc.h (memmove): New prototype.
26737 (memcpy): Likewise.
26738
26739 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26740
26741 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26742 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26743
26744 2005-01-22 Marco Gerards <metgerards@student.han.nl>
26745
26746 * kern/misc.c (grub_strndup): Function rewritten.
26747
26748 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26749
26750 * normal/menu.c (TERM_WIDTH): Macro redefined.
26751 (TERM_TOP_BORDER_Y): Likewise.
26752 (draw_border): Replaced while-loop by a for-loop. Make the number
26753 of lines consistent with the number of lines displayed in
26754 print_entries. Added a margin below the rectangle.
26755 (print_entry): Make the entry fit in the rectangle.
26756 (print_entries): Display the scroll arrows next to the right
26757 border.
26758
26759 2005-01-21 Marco Gerards <metgerards@student.han.nl>
26760
26761 * fs/minix.c (grub_minix_find_file): Reserve more space for
26762 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26763 `grub_strncpy' to copy `path' into it.
26764
26765 2005-01-21 Marco Gerards <metgerards@student.han.nl>
26766
26767 Add the loopback device, a device via which files can be accessed
26768 as devices.
26769
26770 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26771 (pkgdata_MODULES): Add loopback.mod.
26772 (loopback_mod_SOURCES): New variable.
26773 (loopback_mod_CFLAGS): Likewise.
26774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26775 `disk/loopback.c'.
26776 (pkgdata_MODULES): Add loopback.mod.
26777 (loopback_mod_SOURCES): New variable.
26778 (loopback_mod_CFLAGS): Likewise.
26779 * disk/loopback.c: new file.
26780 * include/grub/normal.h (grub_loop_init): New prototype.
26781 (grub_loop_fini): New prototype.
26782 * util/grub-emu.c (main): Initialize and de-initialize loopback
26783 support.
26784 * include/grub/disk.h (grub_disk_dev_id): Add
26785 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26786
26787 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26788
26789 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26790 function.
26791 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26792 (suspend_mod_SOURCES): New variable.
26793 (suspend_mod_CFLAGS): Likewise.
26794 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26795 New prototype.
26796 * commands/ieee1275/suspend.c: New file.
26797
26798 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26799
26800 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
26801 ((unused))' to `__attribute__ ((used))'.
26802 (GRUB_MOD_FINI): Likewise.
26803 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26804 * genmk.rb (PModule): Assign space to common symbols when linking
26805 modules.
26806
26807 2005-01-20 Marco Gerards <metgerards@student.han.nl>
26808
26809 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26810 `unsigned' arguments to `grub_size_t'.
26811 (grub_malloc): Likewise.
26812 (grub_realloc): Likewise.
26813 (grub_memalign): Likewise.
26814 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
26815 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26816 * util/misc.c (grub_malloc): Likewise.
26817 (grub_realloc): Likewise.
26818 * kern/mm.c (get_header_from_pointer): Change the casts to
26819 `unsigned' into a cast to `grub_size_t'.
26820
26821 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
26822 point to `currnode' when `currnode' is changed.
26823
26824 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
26825 Schottelius <nico-linux@schottelius.org>.
26826
26827 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
26828
26829 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
26830 (note_path): Remove variable.
26831 (GRUB_IEEE1275_NOTE_NAME): New macro.
26832 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
26833 (grub_ieee1275_note_hdr): New structure.
26834 (grub_ieee1275_note_desc): Likewise.
26835 (grub_ieee1275_note): Likewise.
26836 (load_note): Remove `dir' argument. All callers updated. Remove
26837 `note_img' and `path'. Do not load a file from `note_path'.
26838 Initialize a struct grub_ieee1275_note and write that to `out'.
26839 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
26840
26841 2005-01-05 Marco Gerards <metgerards@student.han.nl>
26842
26843 * util/misc.c (grub_util_read_image): Revert last change. It
26844 called `grub_util_read_at', which seeks from the beginning of the
26845 file.
26846
26847 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26848
26849 * TODO: Add note about endianness in grub-mkimage.
26850 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26851 section.
26852 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26853 (grub_mkimage_SOURCES): New target.
26854 * include/grub/kernel.h (grub_start_addr): Remove variable.
26855 (grub_end_addr): Likewise.
26856 (grub_total_module_size): Likewise.
26857 (grub_kernel_image_size): Likewise.
26858 (GRUB_MODULE_MAGIC): New constant.
26859 (grub_module_info): New structure.
26860 (grub_arch_modules_addr): New prototype.
26861 (grub_get_end_addr): Remove prototype.
26862 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26863 * include/grub/powerpc/ieee1275/kernel.h: New file.
26864 * include/grub/util/misc.h (grub_util_get_fp_size): New
26865 prototype.
26866 (grub_util_read_at): Likewise.
26867 (grub_util_write_image_at): Likewise.
26868 * kern/main.c (grub_get_end_addr): Remove function.
26869 (grub_load_modules): Call grub_arch_modules_addr instead of using
26870 grub_end_addr. Look for a grub_module_info struct in memory. Use
26871 the grub_module_info fields instead of calling grub_get_end_addr
26872 as loop conditions. Move grub_add_unused_region code here.
26873 (grub_add_unused_region): Remove function.
26874 * kern/i386/pc/init.c: Include grub/cache.h.
26875 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26876 one call to add_mem_region.
26877 (grub_arch_modules_addr): New function.
26878 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26879 (grub_total_module_size): Likewise.
26880 Include grub/machine/kernel.h.
26881 (grub_arch_modules_addr): New function.
26882 * util/grub-emu.c (grub_end_addr): Remove variable.
26883 (grub_total_module_size): Likewise.
26884 (grub_arch_modules_addr): New function.
26885 * util/misc.c: Include unistd.h.
26886 (grub_util_get_fp_size): New function.
26887 (grub_util_read_at): Likewise.
26888 (grub_util_write_image_at): Likewise.
26889 (grub_util_read_image): Call grub_util_read_at.
26890 (grub_util_write_image): Call grub_util_write_image_at.
26891 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26892 additional memory in kernel_img for a struct grub_module_info.
26893 Fill in that grub_module_info.
26894 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26895
26896 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26897
26898 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26899 New function.
26900 * include/grub/powerpc/ieee1275/ieee1275.h
26901 (grub_ieee1275_milliseconds): New prototype.
26902 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26903 Change to 1000.
26904 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26905 grub_ieee1275_milliseconds.
26906
26907 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26908
26909 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26910 variable.
26911 (find_options): New function.
26912 (cmain): Call find_options.
26913 * include/grub/powerpc/ieee1275/ieee1275.h
26914 (grub_ieee1275_realmode): New extern variable.
26915 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26916 grub_map if grub_ieee1275_realmode is false.
26917
26918 2004-12-29 Marco Gerards <metgerards@student.han.nl>
26919
26920 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26921 lines are inserted and make it work like readline. Reported by
26922 Vincent Pelletier <subdino2004@yahoo.fr>.
26923
26924 2004-12-28 Marco Gerards <metgerards@student.han.nl>
26925
26926 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26927
26928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26929 `kern/powerpc/cache.S'.
26930
26931 2004-12-27 Marco Gerards <metgerards@student.han.nl>
26932
26933 * genmk.rb: Handle the `Program' class in the main loop. Written
26934 by Johan Rydberg <jrydberg@gnu.org>.
26935 (Program): New class.
26936 (programs): New variable.
26937 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26938 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26939 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26940 (help_arch): Function removed.
26941 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26942 `powerpc/libgcc.h' and `loader.h'.
26943 (pkgdata_PROGRAMS): New variable.
26944 (sbin_UTILITIES): Variable removed.
26945 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26946 (grubof_SOURCES): Variable re-defined so it only includes the
26947 core functionality.
26948 (grubof_CFLAGS): Remove `-DGRUBOF'.
26949 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26950 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26951 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26952 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26953 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26954 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26955 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26956 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26957 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26958 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26959 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26960 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26961 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26962 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26963 (pc_mod_CFLAGS): New variables.
26964 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26965 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26966 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26967 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26968 Moved from here...
26969 * include/grub/i386/pc/init.h (grub_os_area_addr)
26970 (rub_os_area_size): ... to here.
26971 * include/grub/powerpc/ieee1275/ieee1275.h
26972 (grub_ieee1275_entry_fn): Export symbol.
26973 * include/grub/powerpc/ieee1275/init.h: New file.
26974 * include/grub/powerpc/libgcc.h: Likewise.
26975 * include/grub/cache.h: Likewise.
26976 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26977 <hollis@penguinppc.org>.
26978 * kern/dl.c: Include <grub/cache.h>.
26979 (grub_dl_flush_cache): New function.
26980 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26981 for this module.
26982 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26983 (grub_console_init): Removed prototypes.
26984 (grub_machine_init): Don't initialize the modules anymore.
26985 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26986 static.
26987 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26988 Macro undef removed.
26989 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26990 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26991 relocation `R_PPC_REL32'. Return an error when the relocation is
26992 unknown.
26993 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26994 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26995 * util/misc.c (grub_arch_sync_caches): Likewise.
26996
26997 2004-12-19 Marco Gerards <metgerards@student.han.nl>
26998
26999 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27000 `symlist.c', add `grubof_symlist.c'.
27001 (symlist.c): Variable removed.
27002 (grubof_HEADERS): Variable added.
27003 (grubof_symlist.c): New target.
27004 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27005 `kernel_img_HEADERS'.
27006 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27007 * kern/powerpc/dl.c: New file.
27008 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27009 Function removed.
27010 (grub_arch_dl_relocate_symbols): Likewise.
27011 (grub_register_exported_symbols): Likewise.
27012
27013 2004-12-13 Marco Gerards <metgerards@student.han.nl>
27014
27015 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27016 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27017 to fail instead. Reported by Vincent Pelletier
27018 <subdino2004@yahoo.fr>.
27019
27020 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27021 it is not allocated. Reported by Vincent Pelletier
27022 <subdino2004@yahoo.fr>.
27023
27024 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27025 output so the output looks better.
27026
27027 2004-12-04 Marco Gerards <metgerards@student.han.nl>
27028
27029 Modulize the partition map support and add support for the amiga
27030 partition map.
27031
27032 * commands/ls.c: Include <grub/partition.h> instead of
27033 <grub/machine/partition.h>.
27034 * kern/disk.c: Likewise.
27035 * kern/rescue.c: Likewise.
27036 * loader/i386/pc/chainloader.c: Likewise.
27037 * normal/cmdline.c: Likewise.
27038 * kern/powerpc/ieee1275/init.c: Likewise.
27039 (grub_machine_init): Call `grub_pc_partition_map_init',
27040 `grub_amiga_partition_map_init' and
27041 `grub_apple_partition_map_init'.
27042 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27043 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27044 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27045 `partition.h' and `pc_partition.h'.
27046 (grub_setup_SOURCES): Remove
27047 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27048 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27049 (grub_emu_SOURCES): Likewise.
27050 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27051 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27052 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27054 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27055 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27056 (grubof_SOURCES): Likewise.
27057 * disk/i386/pc/partition.c: File removed.
27058 * disk/powerpc/ieee1275/partition.c: Likewise.
27059 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27060 * include/grub/i386/pc/partition.h: Likewise.
27061 * kern/partition.c: New file.
27062 * partmap/amiga.c: Likewise.
27063 * partmap/apple.c: Likewise.
27064 * partmap/pc.c: Likewise.
27065 * include/grub/partition.h: Likewise..
27066 * include/grub/pc_partition.h: Likewise.
27067 * util/grub-emu.c: Include <grub/partition.h> instead of
27068 <grub/machine/partition.h>.
27069 (main): Call `grub_pc_partition_map_init',
27070 `grub_amiga_partition_map_init' and
27071 `grub_apple_partition_map_init' and deinitialize afterwards.
27072 * util/i386/pc/biosdisk.c: Include `#include
27073 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27074 `<grub/machine/partition.h>'.
27075 * util/i386/pc/grub-setup.c: Likewise.
27076 * util/i386/pc/biosdisk.c: Likewise.
27077 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27078 partition information in case of a PC partition.
27079 * util/i386/pc/grub-setup.c: Include `#include
27080 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27081 `<grub/machine/partition.h>'.
27082 (setup): Only access the PC specific partition information in case
27083 of a PC partition.
27084
27085 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
27086
27087 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27088 (grub_longjmp): Likewise.
27089 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27090 20.
27091 * normal/powerpc/setjmp.S: New file.
27092 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27093 `normal/powerpc/setjmp.S'.
27094 (grubof_CFLAGS): Add `-DGRUBOF'.
27095 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27096 [GRUB_UTIL && !GRUBOF].
27097
27098 2004-11-16 Marco Gerards <metgerards@student.han.nl>
27099
27100 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27101 property named `name'. Correctly handle the error returned by
27102 `grub_ieee1275_finddevice' if a device can not be opened.
27103
27104 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27105
27106 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27107 `actual' for negativity.
27108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27109 kern/fshelp.c.
27110
27111 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27112
27113 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27114 (PAGE_OFFSET): New macro.
27115 (CRTC_ADDR_PORT): Likewise.
27116 (CRTC_DATA_PORT): Likewise.
27117 (START_ADDR_HIGH_REGISTER): Likewise.
27118 (START_ADDR_LOW_REGISTER): Likewise.
27119 (GRAPHICS_ADDR_PORT): Likewise.
27120 (GRAPHICS_DATA_PORT): Likewise.
27121 (READ_MAP_REGISTER): Likewise.
27122 (INPUT_STATUS1_REGISTER): Likewise.
27123 (INPUT_STATUS1_VERTR_BIT): Likewise.
27124 (page): New variable.
27125 (wait_vretrace): New function.
27126 (set_read_map): Likewise.
27127 (set_start_address): Likewise.
27128 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27129 the right page.
27130 (check_vga_mem): Take the page into account.
27131 (write_char): Likewise.
27132 (write_cursor): Likewise.
27133 (scroll_up): Likewise. Copy the page to the page that is not
27134 shown and switch between both pages.
27135 (grub_vga_putchar): Fix off by one error.
27136 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27137 account.
27138
27139 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27140
27141 Add support for iso9660 (including rockridge).
27142
27143 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27144 (iso9660_mod_SOURCES): New variable.
27145 (iso9660_mod_CFLAGS): Likewise.
27146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27147 * include/grub/fs.h (grub_iso9660_init): New prototype.
27148 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27149 * fs/iso9660.c: New file.
27150
27151 * include/grub/misc.h (grub_strncat): New prototype.
27152 * kern/misc.c (grub_strncat): New function.
27153
27154 * fs/hfs.c (grub_hfs_mount): Translate the error
27155 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27156 * fs/jfs.c (grub_jfs_mount): Likewise.
27157 * fs/ufs.c (grub_ufs_mount): Likewise.
27158
27159 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27160
27161 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27162 which initialized BAT registers.
27163 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27164 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27165 Move from here...
27166 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27167 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27168 ... to here.
27169 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27170 (grub_mapclaim): Likewise.
27171 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27172 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27173 hand.
27174
27175 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27176
27177 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27178 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27179 -ffreestanding and -msoft-float.
27180
27181 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27182
27183 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27184 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27185 set in grub_ieee1275_flags.
27186
27187 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27188
27189 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27190 prototype.
27191 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27192 grub_console_init first.
27193 Change the memory range used for grub_ieee1275_claim and
27194 grub_mm_init_region.
27195 Print an error message if the claim fails.
27196 Include <grub/misc.h>.
27197
27198 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27199
27200 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27201 Call grub_children_iterate for device nodes of type `scsi',
27202 `ide', or `ata'.
27203 (grub_ofdisk_open): Remove manual device alias resolution.
27204 Fix memory leak when device cannot be opened.
27205 * include/grub/powerpc/ieee1275/ieee1275.h
27206 (grub_children_iterate): New prototype.
27207 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27208 New function.
27209 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27210 Return -1 if args.size was -1.
27211
27212 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27213
27214 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27215 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27216 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27217 Open Firmware's memory for it; claim memory from _start to _end.
27218 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27219 (_end): New extern.
27220 (_start): Zero BSS from __bss_start to _end.
27221 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27222 New extern.
27223 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27224
27225 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27226
27227 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27228 -1 if args.base was -1.
27229
27230 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27231
27232 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27233 escape sequence instead of a literal ^L. Also call
27234 grub_ofconsole_gotoxy.
27235
27236 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27237
27238 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27239 void * arguments to grub_addr_t. All callers updated. Also make
27240 the `result' argument optional.
27241 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27242 All callers updated.
27243
27244 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27245
27246 * commands/ls.c (grub_ls_list_files): Use the string following the
27247 initial ')', if present, as the filesystem path.
27248 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27249
27250 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27251
27252 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27253
27254 Make the source code of the menu interface more readable.
27255
27256 * normal/menu.c: Include grub/mm.h.
27257 (TERM_WIDTH): New macro.
27258 (TERM_HEIGHT): Likewise.
27259 (TERM_INFO_HEIGHT): Likewise.
27260 (TERM_MARGIN): Likewise.
27261 (TERM_SCROLL_WIDTH): Likewise.
27262 (TERM_TOP_BORDER_Y): Likewise.
27263 (TERM_LEFT_BORDER_X): Likewise.
27264 (TERM_BORDER_WIDTH): Likewise.
27265 (TERM_MESSAGE_HEIGHT): Likewise.
27266 (TERM_BORDER_HEIGHT): Likewise.
27267 (TERM_NUM_ENTRIES): Likewise.
27268 (TERM_FIRST_ENTRY_Y): Likewise.
27269 (TERM_ENTRY_WIDTH): Likewise.
27270 (TERM_CURSOR_X): Likewise.
27271 (draw_border): Use macros instead of magic numbers.
27272 (print_entry): Likewise.
27273 (print_entries): Likewise.
27274 (run_menu): Likewise. Also, handle the key 'e'.
27275 (run_menu_entry): Ignore empty command lines.
27276 (print_message): Added a new argument EDIT. If EDIT is true,
27277 print a different message.
27278 (init_page): Likewise.
27279 (edit_menu_entry): New function. Not implemented yet.
27280
27281 2004-09-17 Marco Gerards <metgerards@student.han.nl>
27282
27283 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27284 can be loaded from normal mode.
27285
27286 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27287 `multiboot.mod'.
27288 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27289 (multiboot_mod_CFLAGS): New variables.
27290 * loader/i386/pc/linux_normal.c: New file.
27291 * loader/i386/pc/multiboot_normal.c: Likewise.
27292
27293 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27294 attribute `unused'.
27295
27296 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27297 `fdiro' to read the mode information from instead of `diro'.
27298
27299 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27300 looking up a symlink.
27301
27302 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27303 macro.
27304 * normal/command.c (grub_command_execute): Don't parse the
27305 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27306 flags of the command.
27307
27308 * normal/menu.c (grub_menu_run): Fix typo.
27309
27310 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27311
27312 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27313
27314 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27315 `y + 1' instead of `y - 1'.
27316
27317 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
27318
27319 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27320
27321 From Hollis Blanchard <hollis@penguinppc.org>:
27322 * kern/misc.c (memmove): New alias for grub_memmove.
27323 (memcmp): New alias for grub_memcmp.
27324 (memset): New alias for grub_memset.
27325 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27326 Change "int handle" to "grub_ieee1275_phandle_t handle".
27327 * include/grub/powerpc/ieee1275/ieee1275.h
27328 (grub_ieee1275_get_property): Likewise.
27329
27330 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27331
27332 Added normal mode command `chainloader' as module chain.mod, which
27333 depends on normal.mod and _chain.mod.
27334
27335 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27336 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27337 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27338 Deleted prototype.
27339 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27340 but arguments parsing moved to ...
27341 (grub_chainloader_cmd): ... here. New function.
27342 * include/grub/i386/pc/chainloader.h: New file.
27343 * loader/i386/pc/chainloader_normal.c: Likewise.
27344
27345 2004-09-11 Marco Gerards <metgerards@student.han.nl>
27346
27347 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27348 (grub_mkimage_LDFLAGS): Likewise.
27349 (grub_emu_SOURCES): Likewise.
27350 (kernel_img_HEADERS): Added fshelp.h.
27351 * fs/ext2.c: Include <grub/fshelp.h>.
27352 (FILETYPE_REG): New macro.
27353 (FILETYPE_INO_REG): Likewise.
27354 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27355 Changed all users.
27356 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27357 all users.
27358 (grub_fshelp_node): New struct.
27359 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27360 to a pointer.
27361 (grub_ext2_get_file_block): Removed function.
27362 (grub_ext2_read_block): New function.
27363 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27364 This function was written.
27365 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27366 (grub_ext2_find_file): Removed function.
27367 (grub_ext2_read_symlink): New function.
27368 (grub_ext2_iterate_dir): Likewise.
27369 (grub_ext2_open): Rewritten.
27370 (grub_ext2_dir): Rewritten.
27371 * include/grub/fshelp.h: New file.
27372 * fs/fshelp.c: Likewise.
27373
27374 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27375
27376 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27377 (print_message): Add a missing newline.
27378 (run_menu): Added timeout support.
27379 (run_menu_entry): New local function.
27380 (grub_menu_run): Added support for booting.
27381
27382 * kern/loader.c (grub_loader_is_loaded): New function.
27383
27384 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27385 (grub_get_rtc): Exported.
27386
27387 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27388 (grub_get_rtc): Exported.
27389
27390 * include/grub/normal.h (struct grub_command_list): Remove
27391 constant from the member `command'.
27392
27393 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27394
27395 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27396
27397 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27398
27399 2004-08-28 Marco Gerards <metgerards@student.han.nl>
27400
27401 Add support for the JFS filesystem.
27402
27403 * fs/jfs.c: New file.
27404 * include/grub/fs.h (grub_jfs_init): New prototype.
27405 (grub_jfs_fini): New prototype.
27406 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27407 (grub_emu_SOURCES): Likewise.
27408 (pkgdata_MODULES): Add jfs.mod.
27409 (jfs_mod_SOURCES): New variable.
27410 (jfs_mod_CFLAGS): Likewise.
27411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27412 (grubof_SOURCES): Likewise.
27413 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27414
27415 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27416 endian to the host endian.
27417 (grub_fat_utf16_to_utf8): Move function from there...
27418 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
27419 the endianness of the source string anymore.
27420 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27421
27422 2004-08-24 Marco Gerards <metgerards@student.han.nl>
27423
27424 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27425 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27426 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27427 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
27428
27429 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27430 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27431 for `node_found' and `it_dir'.
27432 (grub_hfs_dir): Add prototype for `dir_hook'.
27433
27434 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27435 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27436 and `indir32' to silence a gcc warning.
27437
27438 * include/grub/fs.h (grub_hfs_init): New prototype.
27439 (grub_hfs_fini): Likewise.
27440
27441
27442 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27443
27444 Each disk device has its own id now. This is useful to make use
27445 of multiple disk devices.
27446
27447 * include/grub/disk.h (grub_disk_dev_id): New enum.
27448 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27449 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27450
27451 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27452 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27453
27454 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27455 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27456
27457 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27458 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27459
27460 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27461 "id" which is used by the cache manager.
27462
27463 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27464 of just "GRUB".
27465
27466 2004-08-18 Marco Gerards <metgerards@student.han.nl>
27467
27468 * fs/hfs.c: New file.
27469 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27470 (grub_emu_SOURCES): Likewise.
27471 (pkgdata_MODULES): Add hfs.mod.
27472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27473 (grubof_SOURCES): Likewise.
27474 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27475
27476 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27477 * kern/misc.c (grub_strncasecmp): Add function.
27478
27479 2004-08-14 Marco Gerards <metgerards@student.han.nl>
27480
27481 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27482 with parentheses.
27483
27484 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27485 (grub_ext2_dir): In case the directory entry type is unknown, read
27486 it from the inode.
27487
27488 2004-08-02 Peter Bruin <pjbruin@dds.nl>
27489
27490 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27491 grub_load_linux instead of grub_rescue_cmd_linux as second
27492 argument of grub_rescue_register_command.
27493
27494 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27495
27496 2004-07-27 Marco Gerards <metgerards@student.han.nl>
27497
27498 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27499 function.
27500 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27501 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27502 `loader/powerpc/ieee1275/linux.c',
27503 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27504 * include/grub/powerpc/ieee1275/ieee1275.h
27505 (grub_ieee1275_release): New prototype.
27506 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27507 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27508 normal, boot, linux and linux_normal.
27509 * loader/powerpc/ieee1275/linux.c: New file.
27510 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27511
27512 2004-07-12 Marco Gerards <metgerards@student.han.nl>
27513
27514 * normal/arg.c (grub_arg_parse): Correct error handling after
27515 reallocating the argumentlist (check if `argl' is not null instead
27516 of checking if `args' is not null).
27517 * kern/mm.c (grub_realloc): Return the same pointer when using the
27518 same region, instead of returning the header address.
27519
27520 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27521
27522 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27523 one block instead of two when looking for the initial partition.
27524 (grub_partition_probe): Initialize the local variable `p' with 0.
27525 Use base 10 for the grub_strtoul call.
27526 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27527 need for one local variable.
27528 (grub_strtoul): Don't add the new value to `num', instead of that
27529 just assign it.
27530
27531 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27532
27533 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27534 (pxeboot_img_SOURCES): New variable.
27535 (pxeboot_img_ASFLAGS): Likewise.
27536 (pxeboot_img_LDFLAGS): Likewise.
27537 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27538 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27539 <lode_leroy@hotmail.com>.
27540
27541 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27542
27543 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27544 there was no input.
27545
27546 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27547
27548 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27549 the history buffer logic.
27550
27551 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27552
27553 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27554 (FILETYPE_INO_SYMLINK): New macros.
27555 (grub_ext2_find_file): Check if the node is a directory using the
27556 inode stat information instead of using the filetype in the
27557 dirent. Exclude the first character of an absolute symlink.
27558 (grub_ext2_dir): Mask out the filetype part of the mode member of
27559 the inode.
27560
27561 2004-05-24 Marco Gerards <metgerards@student.han.nl>
27562
27563 Add support for UFS version 1 and 2. Add support for the minix
27564 filesystem version 1 and 2, both the variants with 14 and 30 long
27565 filenames.
27566
27567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27568 fs/minix.c.
27569 (grub_emu_SOURCES): Likewise.
27570 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27571 (ufs_mod_SOURCES): New variable.
27572 (ufs_mod_CFLAGS): Likewise.
27573 (minix_mod_SOURCES): Likewise.
27574 (minix_mod_CFLAGS): Likewise.
27575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27576 fs/minix.c.
27577 (grubof_SOURCES): Likewise.
27578 * fs/ufs.c: New file.
27579 * fs/minix.c: New file.
27580 * include/grub/fs.h (grub_ufs_init): New prototype.
27581 (grub_ufs_fini): Likewise.
27582 (grub_minix_init): Likewise.
27583 (grub_minix_fini): Likewise.
27584 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27585 minix fs.
27586
27587 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27588
27589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27590 commands/ls.c, commands/terminal.c, commands/boot.c,
27591 commands/cmp.c and commands/cat.c.
27592 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27593
27594 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27595 "env.h"
27596
27597 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27598
27599 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27600 and grub_, respectively. Because the conversion is trivial and
27601 mechanical, I omit the details here. Please refer to the CVS
27602 if you need more information.
27603
27604 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27605
27606 * include/pupa: Renamed to ...
27607 * include/grub: ... this.
27608 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27609 * util/i386/pc/grub-mkimage.c: ... this.
27610 * util/i386/pc/pupa-setup.c: Renamed to ...
27611 * util/i386/pc/grub-setup.c: ... this.
27612 * util/pupa-emu.c: Renamed to ...
27613 * util/grub-emu.c: ... this.
27614
27615 2004-03-29 Marco Gerards <metgerards@student.han.nl>
27616
27617 Add support for the newworld apple macintosh (PPC). This has been
27618 tested on the powerbook 2000 only. It only adds support for
27619 generic ieee1275 functions, console and disk support. This should
27620 be easy to port to other architectures with support for Open
27621 Firmware.
27622
27623 * configure.ac: Accept the powerpc as host_cpu. In the case of
27624 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27625 specific tests are only executed while building for the i386.
27626 Inverse test for crosscompile.
27627 * genmk.rb (Utility): Allow assembler files.
27628 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27629 * conf/powerpc-ieee1275.rmk: New file.
27630 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27631 * disk/powerpc/ieee1275/partition.c: Likewise.
27632 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27633 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27634 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27635 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27636 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27637 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27638 * include/pupa/powerpc/ieee1275/loader.h
27639 * include/pupa/powerpc/setjmp.h: Likewise.
27640 * include/pupa/powerpc/types.h: Likewise.
27641 * kern/powerpc/ieee1275/init.c: Likewise.
27642 * kern/powerpc/ieee1275/openfw.c: Likewise.
27643 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27644
27645 These files were written by Johan Rydberg
27646 (jrydberg@night.trouble.net) and I only modified them slightly.
27647
27648 * boot/powerpc/ieee1275/cmain.c: New file.
27649 * boot/powerpc/ieee1275/crt0.S: Likewise.
27650 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27651 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27652
27653 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27654
27655 * Makefile.in: Update copyright.
27656 * genmodsrc.sh: Likewise.
27657 * gensymlist.sh: Likewise.
27658 * term/i386/pc/vga.c: Indent correctly.
27659
27660 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27661 bugreporting address.
27662 * util/i386/pc/pupa-setup.c (usage): Likewise,
27663 (main): Call pupa_ext2_init and pupa_ext2_fini.
27664
27665 * fs/fat.c (log2): Renamed to ...
27666 (fat_log2): ... this.
27667 All callers changed.
27668 * kern/misc.c (memcpy): Alias to pupa_memmove.
27669 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27670 lvalue cast.
27671 * util/console.c (pupa_ncurses_fini): Return 0.
27672
27673 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27674 Move fail label here.
27675 [__GNU__]: Don't warn when using stat.
27676 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27677 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27678 long int. Use strtol instead of strtoul.
27679
27680 2004-03-14 Marco Gerards <metgerards@student.han.nl>
27681
27682 * commands/boot.c: New file.
27683 * commands/cat.c: Likewise.
27684 * commands/cmp.c: Likewise.
27685 * commands/ls.c: Likewise.
27686 * commands/terminal.c: Likewise.
27687 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27688 (pupa_register_command): Changed interface to match the new
27689 argument parser.
27690 (pupa_command_execute): Changed (almost rewritten) so it uses
27691 pupa_split_command. Added support for setting variables using the
27692 syntax `foo=bar'.
27693 (rescue_command): Changed to work with the new argument parser.
27694 (terminal_command): Moved from here to commands/terminal.c.
27695 (set_command): New function.
27696 (unset_command): New function.
27697 (insmod_command): New function.
27698 (rmmod_command): New function.
27699 (lsmod_command): New function.
27700 (pupa_command_init): Don't initialize the command terminal
27701 anymore. Initialize the commands set, unset, insmod, rmmod and
27702 lsmod.
27703 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27704 (kernel_img_HEADERS): Add arg.h and env.h.
27705 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27706 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27707 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27708 normal/arg.c.
27709 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27710 terminal.mod.
27711 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27712 (boot_mod_SOURCES): New variable.
27713 (terminal_mod_SOURCES): Likewise.
27714 (ls_mod_SOURCES): Likewise.
27715 (cmp_mod_SOURCES): Likewise.
27716 (cat_mod_SOURCES): Likewise.
27717
27718 * normal/arg.c: New file.
27719 * kern/env.c: Likewise.
27720 * include/pupa/arg.h: Likewise.
27721 * include/pupa/env.h: Likewise.
27722 * font/manager.c (font_command): Changed to match argument parsing
27723 interface changes.
27724 (PUPA_MOD_INIT): Likewise.
27725 * hello/hello.c (pupa_cmd_hello): Likewise.
27726 (PUPA_MOD_INIT): Likewise.
27727 * include/pupa/disk.h: Include <pupa/device.h>.
27728 (pupa_print_partinfo): New prototype.
27729 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27730 (pupa_dl_get_prefix): Likewise.
27731 * include/pupa/misc.h: Include <pupa/err.h>.
27732 (pupa_isgraph): New prototype.
27733 (pupa_isdigit): Likewise.
27734 (pupa_split_cmdline): Likewise.
27735 * include/pupa/normal.h: Include <pupa/arg.h>.
27736 (pupa_command): Changed the prototype of the member `func' to
27737 match the argument parsing interface. Added member `options'.
27738 (pupa_register_command): Updated to match function.
27739 (pupa_arg_parse): New prototype.
27740 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27741 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27742 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27743 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27744 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27745 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27746 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27747 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27748 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27749 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27750 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27751 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27752 * kern/disk.c: Include <pupa/file.h>.
27753 (pupa_print_partinfo): New function.
27754 * kern/dl.c: Include <pupa/env.h>.
27755 (pupa_dl_dir): Variable removed.
27756 (pupa_dl_load): Use the environment variable `prefix' instead of
27757 the variable pupa_dl_dir.
27758 (pupa_dl_set_prefix): Function removed.
27759 (pupa_dl_get_prefix): Likewise.
27760 * kern/i386/pc/init.c: Include <pupa/env.h>.
27761 (pupa_machine_init): Use the environment variable `prefix' instead of
27762 using pupa_dl_set_prefix to set the prefix.
27763 * kern/main.c: Include <pupa/env.h>.
27764 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27765 using pupa_dl_get_prefix to get the prefix.
27766 * kern/misc.c: Include <pupa/env.h>.
27767 (pupa_isdigit): New function.
27768 (pupa_isgraph): Likewise.
27769 (pupa_ftoa): Likewise.
27770 (pupa_vsprintf): Added support for printing values of the type
27771 `double'. Make it possible to format variable output when using
27772 formatting like `%1.2%f'.
27773 (pupa_split_cmdline): New function.
27774 * kern/rescue.c: Include <pupa/env.h>.
27775 (next_word): Removed function.
27776 (pupa_rescue_cmd_prefix): Likewise.
27777 (pupa_rescue_cmd_set): New function.
27778 (pupa_rescue_cmd_unset): New function.
27779 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27780 split the command line instead of splitting it here. Added
27781 support for setting variables using the syntax `foo=bar'. Don't
27782 initialize the prefix command anymore. Initialized the set and
27783 unset commands.
27784 * normal/cmdline.c: Include <pupa/env.h>.
27785 (pupa_tab_complete): Added prototypes for print_simple_completion,
27786 print_partition_completion, add_completion, iterate_commands,
27787 iterate_dev, iterate_part and iterate_dir. Moved code to print
27788 partition information from here to kern/disk.c.
27789 (pupa_cmdline_run): Don't check if the function exists anymore.
27790 * normal/main.c: Include <pupa/env.h>.
27791 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27792 instead of using pupa_dl_get_prefix to get the prefix.
27793 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27794 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27795 warning.
27796 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27797 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27798 ((unused))' to silence a gcc warning.
27799 (pupa_vga_setcolor): Likewise.
27800 (debug_command): Changed to match argument parsing
27801 interface changes.
27802 * util/pupa-emu.c: Include <pupa/env.h>.
27803 (options): Added 0's for unused fields to silence a gcc warning.
27804 (argp): Likewise.
27805 (main): Use the environment variable `prefix' instead of using
27806 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27807 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27808 and terminal.
27809
27810 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27811 * util/misc.c: Include <malloc.h>.
27812 (pupa_malloc): Rewritten so errors are correctly reported.
27813 (pupa_realloc): Likewise.
27814 (pupa_memalign): Likewise.
27815 (pupa_mm_init_region): Declare unused variables with
27816 `__attribute__ ((unused))' to silence a gcc warning.
27817 * normal/i386/setjmp.S: Remove tab at the end of the file to
27818 silence a gcc warning.
27819 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
27820 variables with `__attribute__ ((unused))' to silence a gcc
27821 warning.
27822 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
27823 local variable i unsigned to silence a gcc warning.
27824
27825 * kern/term.c: Include <pupa/misc.h>.
27826 (pupa_more_lines): New variable.
27827 (pupa_more): Likewise.
27828 (pupa_putcode): When the pager is active pause at the end of every
27829 screen.
27830 (pupa_set_more): New function.
27831 * include/pupa/term.h (pupa_set_more): New prototype.
27832
27833
27834 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
27835
27836 Now this project is GRUB 2 rather than PUPA. The location of
27837 the CVS repository was moved to GRUB's.
27838
27839 * configure.ac: Use bug-grub as the reporting address.
27840 Use GRUB instead of PUPA.
27841 Change the version number to 1.90.
27842
27843 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
27844
27845 * genkernsyms.sh: Updated copyright information.
27846 * genmk.rb: Likewise.
27847 * genmodsrc.sh: Likewise.
27848 * gensymlist.sh: Likewise.
27849 * boot/i386/pc/boot.S: Likewise.
27850 * boot/i386/pc/diskboot.S: Likewise.
27851 * disk/i386/pc/biosdisk.c: Likewise.
27852 * disk/i386/pc/partition.c: Likewise.
27853 * font/manager.c: Likewise.
27854 * fs/ext2.c: Likewise.
27855 * fs/fat.c: Likewise.
27856 * include/pupa/boot.h: Likewise.
27857 * include/pupa/device.h: Likewise.
27858 * include/pupa/disk.h: Likewise.
27859 * include/pupa/dl.h: Likewise.
27860 * include/pupa/elf.h: Likewise.
27861 * include/pupa/err.h: Likewise.
27862 * include/pupa/file.h: Likewise.
27863 * include/pupa/font.h: Likewise.
27864 * include/pupa/fs.h: Likewise.
27865 * include/pupa/kernel.h: Likewise.
27866 * include/pupa/loader.h: Likewise.
27867 * include/pupa/misc.h: Likewise.
27868 * include/pupa/mm.h: Likewise.
27869 * include/pupa/net.h: Likewise.
27870 * include/pupa/normal.h: Likewise.
27871 * include/pupa/rescue.h: Likewise.
27872 * include/pupa/setjmp.h: Likewise.
27873 * include/pupa/symbol.h: Likewise.
27874 * include/pupa/term.h: Likewise.
27875 * include/pupa/types.h: Likewise.
27876 * include/pupa/i386/setjmp.h: Likewise.
27877 * include/pupa/i386/types.h: Likewise.
27878 * include/pupa/i386/pc/biosdisk.h: Likewise.
27879 * include/pupa/i386/pc/boot.h: Likewise.
27880 * include/pupa/i386/pc/console.h: Likewise.
27881 * include/pupa/i386/pc/init.h: Likewise.
27882 * include/pupa/i386/pc/kernel.h: Likewise.
27883 * include/pupa/i386/pc/linux.h: Likewise.
27884 * include/pupa/i386/pc/loader.h: Likewise.
27885 * include/pupa/i386/pc/memory.h: Likewise.
27886 * include/pupa/i386/pc/multiboot.h: Likewise.
27887 * include/pupa/i386/pc/partition.h: Likewise.
27888 * include/pupa/i386/pc/time.h: Likewise.
27889 * include/pupa/i386/pc/vga.h: Likewise.
27890 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27891 * include/pupa/util/getroot.h: Likewise.
27892 * include/pupa/util/misc.h: Likewise.
27893 * include/pupa/util/resolve.h: Likewise.
27894 * kern/device.c: Likewise.
27895 * kern/disk.c: Likewise.
27896 * kern/dl.c: Likewise.
27897 * kern/err.c: Likewise.
27898 * kern/file.c: Likewise.
27899 * kern/fs.c: Likewise.
27900 * kern/loader.c: Likewise.
27901 * kern/main.c: Likewise.
27902 * kern/misc.c: Likewise.
27903 * kern/mm.c: Likewise.
27904 * kern/rescue.c: Likewise.
27905 * kern/term.c: Likewise.
27906 * kern/i386/dl.c: Likewise.
27907 * kern/i386/pc/init.c: Likewise.
27908 * kern/i386/pc/lzo1x.S: Likewise.
27909 * kern/i386/pc/startup.S: Likewise.
27910 * loader/i386/pc/chainloader.c: Likewise.
27911 * loader/i386/pc/linux.c: Likewise.
27912 * loader/i386/pc/multiboot.c: Likewise.
27913 * normal/cmdline.c: Likewise.
27914 * normal/command.c: Likewise.
27915 * normal/main.c: Likewise.
27916 * normal/menu.c: Likewise.
27917 * normal/i386/setjmp.S: Likewise.
27918 * term/i386/pc/console.c: Likewise.
27919 * term/i386/pc/vga.c: Likewise.
27920 * util/console.c: Likewise.
27921 * util/genmoddep.c: Likewise.
27922 * util/misc.c: Likewise.
27923 * util/pupa-emu.c: Likewise.
27924 * util/resolve.c: Likewise.
27925 * util/unifont2pff.rb: Likewise.
27926 * util/i386/pc/biosdisk.c: Likewise.
27927 * util/i386/pc/getroot.c: Likewise.
27928 * util/i386/pc/pupa-mkimage.c: Likewise.
27929 * util/i386/pc/pupa-setup.c: Likewise.
27930
27931 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27932
27933 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27934 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27935 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27936 reading and reset it after reading.
27937 (pupa_ext2_close): Return PUPA_ERR_NONE.
27938
27939 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27940 Correct value.
27941 (struct linux_kernel_header): Add kernel_version and
27942 initrd_addr_max.
27943 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27944 pupa_file_read succeeds.
27945 (pupa_rescue_cmd_initrd): Implement.
27946
27947 2003-12-03 Marco Gerards <metgerards@student.han.nl>
27948
27949 * fs/ext2.c (pupa_ext2_label): New function.
27950 (pupa_ext2_fs): Added label.
27951 * fs/fat.c (pupa_fat_label): New function.
27952 (pupa_fat_fs): Added label.
27953 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27954
27955 * kern/misc.c (pupa_strndup): New function.
27956 * include/pupa/misc.h (pupa_strndup): New prototype.
27957
27958 * include/pupa/normal.h: Include <pupa/err.h>.
27959 (pupa_set_history): New prototype.
27960 (pupa_iterate_commands): New prototype.
27961 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27962 <pupa/disk.h>, <pupa/file.h>.
27963 (hist_size): New variable.
27964 (hist_lines): Likewise.
27965 (hist_end): Likewise.
27966 (hist_used): Likewise.
27967 (pupa_set_history): New function.
27968 (pupa_history_get): Likewise.
27969 (pupa_history_add): Likewise.
27970 (pupa_history_replace): Likewise.
27971 (pupa_tab_complete): Likewise.
27972 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27973 completion shows partitionnames while completing partitions, this
27974 feature was suggested by Jeff Bailey.
27975 * normal/command.c (pupa_iterate_commands): New function.
27976 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27977 (pupa_normal_init): Initialize history buffer.
27978 (PUPA_MOD_INIT): Likewise.
27979 (pupa_normal_fini): Free the history buffer.
27980 (PUPA_MOD_FINI): Likewise.
27981
27982 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27983 key.
27984
27985 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27986 * configure.ac [i386]: Check for regparam bug.
27987 (NESTED_FUNC_ATTR) [! i386]: Defined.
27988
27989 2003-11-17 Marco Gerards <metgerards@student.han.nl>
27990
27991 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27992 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27993 (pupa_emu_SOURCES): New variable.
27994 (pupa_emu_LDFLAGS): Likewise.
27995 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27996 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27997 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27998 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27999 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28000 (pupa_jmp_buf): New typedef.
28001 (pupa_setjmp) [PUPA_UTIL]: New macro.
28002 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28003 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28004 (pupa_refresh): New prototype.
28005 * include/pupa/util/getroot.h: New file.
28006 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28007 it.
28008 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28009 (pupa_rescue_cmd_cat): Likewise.
28010 (pupa_rescue_cmd_ls): Likewise.
28011 (pupa_rescue_cmd_testload): Likewise.
28012 (pupa_rescue_cmd_lsmod): Likewise.
28013 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28014 * normal/menu.c (run_menu): Likewise.
28015 * kern/term.c (pupa_cls): Likewise.
28016 (pupa_refresh): New function.
28017 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28018 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28019 * util/console.c: New file.
28020
28021 * util/i386/pc/getroot.c: New file.
28022 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28023 (pupa_putchar): New function.
28024 (pupa_refresh): Likewise.
28025 (xgetcwd): Function moved to ...
28026 (strip_extra_slashes): Likewise.
28027 (get_prefix): Likewise.
28028 * util/i386/pc/getroot.c: ... here.
28029 (find_root_device): Function moved and renamed to...
28030 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28031 Changed all callers.
28032 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28033 and renamed to...
28034 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28035 Changed all callers.
28036 * util/misc.c (pupa_memalign): New function.
28037 (pupa_mm_init_region): Likewise.
28038 (pupa_register_exported_symbols): Likewise.
28039 (pupa_putchar): Function removed.
28040 * util/pupa-emu.c: New file.
28041
28042 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28043
28044 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28045 (_multiboot_mod_SOURCES): New variable.
28046 (_multiboot_mod_CFLAGS): Likewise.
28047 * loader/i386/pc/multiboot.c: New file.
28048 * include/pupa/i386/pc/multiboot.h: Likewise.
28049 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28050 (pupa_multiboot_real_boot): New function.
28051 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28052 (pupa_multiboot_real_boot): New prototype.
28053 (pupa_rescue_cmd_multiboot): Likewise
28054 (pupa_rescue_cmd_module): Likewise.
28055
28056 * kern/loader.c (pupa_loader_set): Continue when
28057 pupa_loader_unload_func() fails.
28058 (pupa_loader_unset): New function.
28059 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28060
28061 * kern/misc.c (pupa_stpcpy): New function.
28062 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28063
28064 2003-11-12 Marco Gerards <metgerards@student.han.nl>
28065
28066 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28067 for available extensions.
28068
28069 * include/pupa/i386/pc/time.h: New file.
28070 * kern/disk.c: Include <pupa/machine/time.h>.
28071 (PUPA_CACHE_TIMEOUT): New macro.
28072 (pupa_last_time): New variable.
28073 (pupa_disk_open): Flush the cache when there was a timeout.
28074 (pupa_disk_close): Reset the timer.
28075 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28076 pupa_currticks.
28077 * util/misc.c: Include <sys/times.h>
28078 (pupa_get_rtc): New function.
28079
28080 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28081
28082 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28083 as blocks.
28084 (pupa_ext2_get_file_block): Use blocks member.
28085
28086 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28087 first block. Return -1 instead of pupa_errno on error.
28088
28089 2003-10-27 Marco Gerards <metgerards@student.han.nl>
28090
28091 * README: In the pupa-mkimage example use _chain instead of chain
28092 and ext2 instead of fat.
28093 * TODO: Replace ext2fs with jfs as an example. Add an item for
28094 adding journal playback for ext2fs.
28095 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28096 (pkgdata_MODULES): Added ext2.mod.
28097 (ext2_mod_SOURCES): New variable.
28098 (ext2_mod_CFLAGS): Likewise.
28099 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28100 * include/pupa/misc.h (pupa_strncpy): New prototype.
28101 (pupa_strcat): Likewise.
28102 (pupa_strncmp): Likewise.
28103 * kern/misc.c (pupa_strcat): Enable function.
28104 (pupa_strncpy): New function.
28105 (pupa_strncmp): Likewise.
28106 * fs/ext2.c: New file.
28107
28108 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28109 when the read failed before retrying.
28110 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28111 (_FILE_OFFSET_BITS): Likewise.
28112 * configure.ac: Added AC_SYS_LARGEFILE.
28113
28114 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28115
28116 * genmk.rb (PModule#rule): Make sure to get only symbol names
28117 from the output of nm.
28118 Reported by Robert Millan <rmh.grub@aybabtu.com>.
28119
28120 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28121
28122 I forgot to check in these changes for a long time. This adds
28123 incomplete support for VGA console, and this is still very
28124 buggy. Also, a lot of consideration is required for I18N,
28125 UNICODE, and VGA font issues. Therefore, assume that this is
28126 such that "better than nothing".
28127
28128 * font/manager.c: New file.
28129 * include/pupa/font.h: Likewise.
28130 * include/pupa/i386/pc/vga.h: Likewise.
28131 * term/i386/pc/vga.c: Likewise.
28132 * util/unifont2pff.rb: Likewise.
28133
28134 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28135 (pkgdata_MODULES): Added vga.mod and font.mod.
28136 (vga_mod_SOURCES): New variables.
28137 (vga_mod_CFLAGS): Likewise.
28138 (font_mod_SOURCES): Likewise.
28139 (font_mod_CFLAGS): Likewise.
28140
28141 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28142
28143 * include/pupa/term.h: Include pupa/err.h.
28144 (struct pupa_term): Added init and fini.
28145 Changed the argument of putchar to pupa_uint32_t.
28146
28147 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28148 (pupa_console_real_putchar): New prototype.
28149 (pupa_console_putchar): Removed.
28150 (pupa_console_checkkey): Exported.
28151 (pupa_console_getkey): Likewise.
28152
28153 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28154 characters.
28155
28156 * kern/term.c (pupa_term_set_current): Rewritten.
28157 (pupa_putchar): Likewise.
28158 (pupa_putcode): New function.
28159
28160 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28161 (pupa_console_real_putchar): ... this.
28162 (pupa_vga_set_mode): New function.
28163 (pupa_vga_get_font): Likewise.
28164
28165 * normal/command.c: Include pupa/term.h.
28166 (terminal_command): New function.
28167 (pupa_command_init): Register the command "terminal".
28168
28169 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28170 (DISP_UP): Likewise.
28171 (DISP_RIGHT): Likewise.
28172 (DISP_DOWN): Likewise.
28173 (DISP_HLINE): Likewise.
28174 (DISP_VLINE): Likewise.
28175 (DISP_UL): Likewise.
28176 (DISP_UR): Likewise.
28177 (DISP_LL): Likewise.
28178 (DISP_LR): Likewise.
28179
28180 * term/i386/pc/console.c (pupa_console_putchar): New function.
28181
28182 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28183
28184 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28185 FIX. Reverse the path_list.
28186
28187 * include/pupa/normal.h: Export pupa_register_command and
28188 pupa_unregister_command.
28189
28190 * hello/hello.c (pupa_cmd_hello): New module.
28191 * conf/i386-pc.rmk: Added hello.mod.
28192
28193 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28194
28195 * kern/i386/pc/lzo1x.S: New file.
28196
28197 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28198 (compress_kernel): New variable.
28199 (generate_image): Heavily modified to support compressing a
28200 large part of the core image.
28201
28202 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28203 leak.
28204 (pupa_util_load_image): New function.
28205
28206 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28207 (pupa_compressed_size): New variable.
28208 (codestart): Enable Gate A20 here.
28209 Decompress the compressed part of the core image.
28210 Rearrange the code to put functions and variables which are
28211 required for initialization in the non-compressed part.
28212 Include lzo1x.S.
28213
28214 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28215 here.
28216
28217 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28218
28219 * include/pupa/i386/pc/kernel.h
28220 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28221 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28222 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28223 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28224 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28225
28226 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28227
28228 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28229 (Utility#rule): Likewise.
28230
28231 * configure.ac: Check if LZO is available.
28232
28233 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28234
28235 * include/pupa/normal.h: New file.
28236 * include/pupa/setjmp.h: Likewise.
28237 * include/pupa/i386/setjmp.h: Likewise.
28238 * normal/cmdline.c: Likewise.
28239 * normal/command.c: Likewise.
28240 * normal/main.c: Likewise.
28241 * normal/menu.c: Likewise.
28242 * normal/i386/setjmp.S: Likewise.
28243
28244 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28245 (pupa_rescue_cmd_initrd): Likewise.
28246
28247 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28248 Likewise.
28249
28250 * kern/i386/pc/startup.S (translation_table): New variable.
28251 (translate_keycode): New function.
28252 (pupa_console_getkey): Call translate_keycode.
28253
28254 * kern/rescue.c (attempt_normal_mode): New function.
28255 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28256 it failed, print a message.
28257
28258 * kern/mm.c (pupa_real_malloc): Print more information when a
28259 free magic is broken.
28260 (pupa_free): If the first free header is not free actually, set
28261 it to P.
28262
28263 * kern/main.c (pupa_load_normal_mode): Just load the module
28264 "normal".
28265 (pupa_main): Don't print the message
28266 "Entering into rescue mode..." here.
28267
28268 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28269 Declared.
28270 (pupa_rescue_cmd_initrd): Likewise.
28271 (pupa_rescue_cmd_initrd): Likewise.
28272
28273 * include/pupa/symbol.h (FUNCTION): Specify the type.
28274 (VARIABLE): Likewise.
28275
28276 * include/pupa/err.h (pupa_err_t): Added
28277 PUPA_ERR_UNKNOWN_COMMAND.
28278
28279 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28280 (pupa_dl_get_prefix): Likewise.
28281
28282 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28283 Added _chain.mod and _linux.mod instead of chain.mod and
28284 linux.mod.
28285 (chain_mod_SOURCES): Renamed to ...
28286 (_chain_mod_SOURCES): ... this.
28287 (chain_mod_CFLAGS): Renamed to ...
28288 (_chain_mod_CFLAGS): ... this.
28289 (linux_mod_SOURCES): Renamed to ...
28290 (_linux_mod_SOURCES): ... this.
28291 (linux_mod_CFLAGS): Renamed to ...
28292 (_linux_mod_CFLAGS): ... this.
28293 (normal_mod_SOURCES): New variable.
28294 (normal_mod_CFLAGS): Likewise.
28295 (normal_mod_ASFLAGS): Likewise.
28296
28297 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28298
28299 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28300 possible.
28301
28302 * kern/dl.c (pupa_dl_ref): Refer depending modules
28303 recursively.
28304 (pupa_dl_unref): Unrefer depending modules recursively.
28305 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28306 a module is unloaded before one depending on that module is
28307 unloaded.
28308 (pupa_dl_unload): Unload depending modules explicitly,
28309 if possible.
28310
28311 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28312
28313 * include/pupa/i386/pc/linux.h: New file.
28314 * loader/i386/pc/linux.c: Likewise.
28315
28316 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28317 Removed.
28318 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28319 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28320 of PUPA_CHAINLOADER_BOOT_SECTOR.
28321
28322 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28323 (pupa_linux_prot_size): New variable.
28324 (pupa_linux_tmp_addr): Likewise.
28325 (pupa_linux_real_addr): Likewise.
28326 (pupa_linux_boot_zimage): New function.
28327 (pupa_linux_boot_bzimage): Likewise.
28328
28329 * kern/i386/pc/init.c (struct mem_region): New structure.
28330 (MAX_REGIONS): New macro.
28331 (mem_regions): New variable.
28332 (num_regions): Likewise.
28333 (pupa_os_area_addr): Likewise.
28334 (pupa_os_area_size): Likewise.
28335 (pupa_lower_mem): Likewise.
28336 (pupa_upper_mem): Likewise.
28337 (add_mem_region): New function.
28338 (compact_mem_regions): Likewise.
28339 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28340 the size of the conventional memory and that of so-called upper
28341 memory (before the first memory hole).
28342 Instead of adding each found region to free memory, use
28343 add_mem_region and add them after removing overlaps.
28344 Also, add only 1/4 of the upper memory to free memory. The rest
28345 is used for loading OS images. Maybe this is ad hoc, but this
28346 makes it much easier to relocate OS images when booting.
28347
28348 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28349 (pupa_enter_rescue_mode): Don't register initrd and module.
28350
28351 * kern/mm.c: Include pupa/dl.h.
28352
28353 * kern/main.c: Include pupa/file.h and pupa/device.h.
28354
28355 * kern/loader.c (pupa_loader_load_module_func): Removed.
28356 (pupa_loader_load_module): Likewise.
28357
28358 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28359 ``.o''.
28360
28361 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28362 (pupa_linux_tmp_addr): Likewise.
28363 (pupa_linux_real_addr): Likewise.
28364 (pupa_linux_boot_zimage): Likewise.
28365 (pupa_linux_boot_bzimage): Likewise.
28366
28367 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28368 (pupa_upper_mem): Likewise.
28369 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28370 module is too dangerous.
28371
28372 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28373 (pupa_os_area_size): Likewise.
28374 (pupa_loader_set): Remove the first argument. Loader doesn't
28375 manage modules or initrd any longer.
28376 (pupa_loader_load_module): Removed.
28377
28378 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28379 (linux_mod_SOURCES): New variable.
28380 (linux_mod_CFLAGS): Likewise.
28381
28382 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28383
28384 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28385 the length of a blocklist correctly.
28386
28387 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28388 Use ioctl only if the OS file is a block device.
28389 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28390 not very useful for normal files.
28391
28392 * kern/main.c (pupa_set_root_dev): New function.
28393 (pupa_load_normal_mode): Likewise.
28394 (pupa_main): Call those above.
28395
28396 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28397 pupa_uint16_t.
28398
28399 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28400
28401 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28402
28403 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28404 (setup): Configure the installed partition information and the
28405 dl prefix.
28406
28407 * loader/i386/pc/chainloader.c (my_mod): New variable.
28408 (pupa_chainloader_unload): New function.
28409 (pupa_rescue_cmd_chainloader): Refer itself.
28410 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28411
28412 * kern/i386/pc/startup.S (install_partition): Removed.
28413 (version_string): Likewise.
28414 (config_file): Likewise.
28415 (pupa_install_dos_part): New variable.
28416 (pupa_install_bsd_part): Likewise.
28417 (pupa_prefix): Likewise.
28418 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28419
28420 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28421 and pupa/misc.h.
28422 (make_install_device): New function.
28423 (pupa_machine_init): Set the dl prefix.
28424
28425 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28426 (buf): Renamed to ...
28427 (linebuf): ... this.
28428 (pupa_rescue_cmd_prefix): New function.
28429 (pupa_rescue_cmd_insmod): Likewise.
28430 (pupa_rescue_cmd_rmmod): Likewise.
28431 (pupa_rescue_cmd_lsmod): Likewise.
28432 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28433 rmmod and lsmod.
28434
28435 * kern/mm.c (pupa_memalign): If failed even after invalidating
28436 disk caches, unload unneeded modules and retry.
28437
28438 * kern/misc.c (pupa_memmove): New function.
28439 (pupa_memcpy): Removed.
28440 (pupa_strcpy): New function.
28441 (pupa_itoa): Made static.
28442
28443 * kern/dl.c (pupa_dl_iterate): New function.
28444 (pupa_dl_ref): Likewise.
28445 (pupa_dl_unref): Likewise.
28446 (pupa_dl_unload): Return if succeeded or not.
28447 (pupa_dl_unload_unneeded): New function.
28448 (pupa_dl_unload_all): Likewise.
28449 (pupa_dl_init): Renamed to ...
28450 (pupa_dl_set_prefix): ... this.
28451 (pupa_dl_get_prefix): New function.
28452
28453 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28454 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28455 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28456 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28457 (pupa_install_dos_part): Declared.
28458 (pupa_install_bsd_part): Likewise.
28459 (pupa_prefix): Likewise.
28460 (pupa_boot_drive): Likewise.
28461
28462 * include/pupa/types.h: Fix a typo.
28463
28464 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28465 pupa_memmove.
28466 (pupa_memmove): Declared.
28467 (pupa_strcpy): Likewise.
28468
28469 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28470 pupa_mod_init takes one argument, its own module.
28471 (pupa_dl_unload_unneeded): Declared.
28472 (pupa_dl_unload_all): Likewise.
28473 (pupa_dl_ref): Likewise.
28474 (pupa_dl_unref): Likewise.
28475 (pupa_dl_iterate): Likewise.
28476 (pupa_dl_init): Renamed to ...
28477 (pupa_dl_set_prefix): ... this.
28478 (pupa_dl_get_prefix): Declared.
28479
28480 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
28481 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
28482 unloaded.
28483 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28484 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28485
28486 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28487 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28488
28489 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28490
28491 * util/i386/pc/pupa-setup.c (setup): Define the internal
28492 function find_first_partition_start at the top level, because GCC
28493 3.0.x cannot compile internal functions in deeper scopes
28494 correctly.
28495 (find_root_device): Use lstat instead of stat.
28496 Don't follow symbolic links.
28497 Fix the path-constructing code.
28498
28499 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28500 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28501 by a BLKGETSIZE ioctl first, because block devices don't fill
28502 the member st_mode of the structure stat on Linux.
28503 [__linux__] (linux_find_partition): Use a temporary buffer
28504 REAL_DEV for the working space. Copy it to DEV before returning.
28505 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28506 buffer cache consistent.
28507 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28508 strncmp. The previous value was merely wrong.
28509 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28510
28511 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28512 FAT size is 12. The previous value was merely wrong.
28513
28514 * kern/main.c (pupa_main): Don't split the starting message from
28515 newlines.
28516
28517 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28518 LF, because BIOS goes crazy about character attributes in this
28519 case.
28520
28521 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28522
28523 * include/i386/pc/util/biosdisk.h: New file.
28524 * util/i386/pc/biosdisk.c: Likewise.
28525 * util/i386/pc/pupa-setup.c: Likewise.
28526
28527 * Makefile.in (INCLUDE_DISTFILES): Added
28528 include/pupa/i386/pc/util/biosdisk.h.
28529 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28530 directory util/i386/pc.
28531 (install-local): Added a rule for sbin_UTILITIES.
28532 (uninstall): Likewise.
28533
28534 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28535
28536 * util/misc.c (xrealloc): New function.
28537 (pupa_malloc): Likewise.
28538 (pupa_free): Likewise.
28539 (pupa_realloc): Likewise.
28540 (pupa_stop): Likewise.
28541 (pupa_putchar): Likewise.
28542
28543 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28544
28545 * include/pupa/util/misc.h (xrealloc): Declared.
28546
28547 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28548 macro.
28549 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28550 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28551
28552 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28553 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28554
28555 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28556 way should be implemented.
28557 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28558
28559 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28560 the size of NAME for safety.
28561 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28562 0x88.
28563
28564 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28565 (pupa_setup_SOURCES): Likewise.
28566
28567 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28568
28569 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28570
28571 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28572 bunch of pushl's from pusha, because this destroys the return
28573 value.
28574
28575 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28576
28577 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28578 This means that any missing prototypes could be fatal. Also, you
28579 must take care when writing assembly code. See the comments at
28580 the beginning of startup.S, for more details.
28581
28582 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28583 compilation mechanism.
28584 (pupa_chainloader_real_boot): Likewise.
28585 (pupa_biosdisk_rw_int13_extensions): Likewise.
28586 (pupa_biosdisk_rw_standard): Likewise.
28587 (pupa_biosdisk_check_int13_extensions): Likewise.
28588 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28589 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28590 (pupa_get_memsize): Likewise.
28591 (pupa_get_mmap_entry): Likewise.
28592 (pupa_console_putchar): Likewise.
28593 (pupa_console_setcursor): Likewise.
28594 (pupa_getrtsecs): Use pushl instead of push.
28595
28596 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28597 memory instead of the stack for a mmap entry, because some
28598 BIOSes may ignore the maximum size and overflow.
28599
28600 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28601
28602 * genmk.rb (PModule#rule): Compile automatically generated
28603 sources with module-specific CFLAGS as well as other sources.
28604
28605 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28606
28607 * configure.ac: Check ld.
28608 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28609 respectively, before checking endianness and sizes.
28610
28611 * Makefile.in (LD): New variable.
28612
28613 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28614
28615 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28616
28617 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28618
28619 * Changelog: New file.
28620