]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
[grub2.git] / ChangeLog
CommitLineData
0b0f9620
CW
12010-07-06 Colin Watson <cjwatson@ubuntu.com>
2
3 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4 and disk/raid6_recover.c.
5 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7
1e545469
CW
82010-07-06 Colin Watson <cjwatson@ubuntu.com>
9
10 * term/gfxterm.c (repaint_schedulded): Rename to ...
11 (repaint_scheduled): ... this. Update all callers.
12 (repaint_was_schedulded): Rename to ...
13 (repaint_was_scheduled): ... this. Update all callers.
14
5357687a
CW
152010-07-06 Colin Watson <cjwatson@ubuntu.com>
16
17 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18 which we expect to be handled by upper layers.
19
29d7e783
BC
202010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21
22 * bus/usb/usbhub.c: #include time.h header.
23
37582066
CW
242010-07-06 Colin Watson <cjwatson@ubuntu.com>
25
26 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
27 entry_name also for entries without stat blocks (e.g. ".."); fixes
28 corruption of the first entry in a directory.
29
c8c06953
CW
302010-07-06 Colin Watson <cjwatson@ubuntu.com>
31
32 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
33 after setting gfxterm as the active terminal. GRUB_BACKGROUND
34 doesn't work otherwise.
35
e75056f1
CW
362010-07-05 Colin Watson <cjwatson@ubuntu.com>
37
38 * docs/grub.texi (Features): Update list of supported file systems.
39 (GNU/Linux): Update for GRUB 2.
40 (Serial terminal): Remove mention of --disable-serial, which was a
41 GRUB Legacy configure option. Update instructions to use
42 `terminal_input' and `terminal_output' rather than `terminal'.
43 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
44 configuration' and `Installing GRUB using grub-install'.
45 (Menu entry editor): Update for GRUB 2.
46 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
47 Document new -a, -u, and -v options.
48 (initrd): New section.
49 (initrd16): New section.
50 (linux): New section.
51 (linux16): New section.
52 (search): The `var' argument to `--set' is optional.
53 (GRUB only offers a rescue shell): Go into a little more detail on
54 drive ordering.
55
5cf69151
CW
562010-07-05 Colin Watson <cjwatson@ubuntu.com>
57
58 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
59
e3f90044
CW
602010-07-05 Colin Watson <cjwatson@ubuntu.com>
61
62 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
63 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
64
38d8f4f3
CW
652010-07-05 Colin Watson <cjwatson@ubuntu.com>
66
67 * util/i386/pc/grub-setup.c (setup): Rename prefix to
68 install_prefix, in line with install_dos_part and install_bsd_part.
69 Add new prefix variable, which is copied to install_prefix after
70 comparing core.img in memory with the one read from disk in the
71 no-embedding case, and use that rather than overwriting
72 install_prefix immediately when installing to a partition.
73 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
74 Bicakci.
75
57ebd41e
GS
762010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
77
78 * configure.ac: Avoid == in test command, it's not portable.
79 * util/grub.d/30_os-prober.in: Likewise.
80
cb7f64b2
CW
812010-07-04 Colin Watson <cjwatson@ubuntu.com>
82
83 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
84
6b654bb0
GS
852010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
86
87 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
88 multiple (top-level) partmaps.
89
72a2026d
VS
902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 93 Reported by: Tino Keitel.
72a2026d 94
df3eb88f
VS
952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
96
97 Bidi and diacritics support.
98
99 * Makefile.in (widthspec.bin): New target.
100 (widthspec.h): Likewise.
101 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
102 * autogen.sh: Generate unidata.c.
103 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
104 * commands/ls.c (grub_ls_list_devices): Likewise.
105 (grub_ls_list_files): Likewise.
106 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
107 (grub_mini_cmd_lsmod): Likewise.
108 * commands/read.c: Likewise.
109 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
110 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
111 * lib/arg.c (grub_arg_show_help): Likewise.
112 * lib/crypto.c (grub_password_get): Likewise.
113 * normal/auth.c (grub_username_get): Likewise.
114 * normal/misc.c (grub_normal_print_device_info): Likewise.
115 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
116 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
117 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
118 (normal/charset.c_DEPENDENCIES): New variable.
119 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
120 (pkglib_MODULES): Remove charset.mod.
121 (charset_mod_SOURCES): Removed.
122 (charset_mod_CFLAGS): Likewise.
123 (charset_mod_LDFLAGS): Likewise.
124 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
125 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
126 and term/tparm.c.
127 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
128 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
129 (kernel_img_HEADERS): Add terminfo.h.
130 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
131 Fill ->font. Reverse ascii bitmaps.
132 (grub_font_get_xheight): New function.
133 * font/font.c (grub_font_get_string_width): Moved from here ...
134 * gfxmenu/font.c (grub_font_get_string_width): ... here.
135 * font/font.c (grub_font_draw_string): Moved from here ...
136 * gfxmenu/font.c (grub_font_draw_string): ... here.
137 * font/font.c (grub_font_dup_glyph): New function.
138 (grub_font_blit_glyph): Likewise.
139 (grub_font_blit_glyph_mirror): Likewise.
140 (blit_comb): Likewise.
141 (grub_font_construct_dry_run): Likewise.
142 (grub_font_get_constructed_device_width): Likewise.
143 (grub_font_construct_glyph): Likewise.
144 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
145 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
146 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
147 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
148 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
149 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
150 (grub_font_get_xheight): New proto.
151 (grub_font_get_constructed_device_width): Likewise.
152 (grub_font_construct_glyph): Likewise.
153 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
154 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
155 * include/grub/font.h (grub_font_draw_string): Moved from here ...
156 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
157 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
158 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
159 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
160 (grub_console_getcharwidth): Likewise.
161 * include/grub/misc.h (grub_xputs): New proto.
162 (grub_puts): Inlined.
163 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
164 (grub_normal_get_line_counter): Removed.
165 (grub_install_newline_hook): Likewise.
166 (grub_normal_get_char_counter): New proto.
167 (grub_normal_reset_more): Likewise.
168 (grub_xputs_normal): Likewise.
169 * include/grub/powerpc/ieee1275/console.h: Removed.
170 * include/grub/sparc64/ieee1275/console.h: Likewise.
171 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
172 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
173 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
174 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
175 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
176 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
177 (grub_term_input): Pass reference to self. All users updated.
178 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
179 Pass reference to self. New fields normal_color, highlight_color and
180 data. All users updated.
181 (grub_putchar): Removed.
182 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
183 (grub_unicode_estimate_width): New function.
184 (grub_term_getcharwidth): Add defaults.
185 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
186 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
187 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
188 (grub_cls): Remove EXPORT_FUNC.
189 (grub_setcolorstate): Inline.
190 (grub_newline_hook): Removed.
191 * include/grub/terminfo.h: Rewritten. All users updated.
192 * include/grub/unicode.h: New file.
193 * include/grub/video.h (grub_video_signed_rect): New type.
194 * kern/emu/console.c (grub_console_highlight_color): Removed.
195 (grub_console_normal_color): Likewise.
196 (grub_console_standard_color): Made static.
197 (grub_ncurses_putchar): Remove mapping.
198 (grub_ncurses_getcharwidth): Removed.
199 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
200 (grub_ncurses_setcolor): Removed.
201 (grub_ncurses_getcolor): Likewise.
202 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
203 (grub_console_putchar): ... this.
204 (grub_console_putchar): Handle argument difference.
205 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
206 console_init_early and console_init_lately.
207 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
208 * kern/misc.c (grub_puts): Removed.
209 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
210 (grub_vsnprintf_real): Remove str = NULL support.
211 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
212 * normal/charset.c (grub_utf8_to_ucs4): ... here.
213 * kern/term.c (grub_putcode): Renamed to ...
214 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
215 (grub_putchar): Removed.
216 (grub_xputs_dumb): New function.
217 (grub_xputs): New variable.
218 * lib/charset.c: Move from here ...
219 * normal/charset.c: ... to here.
220 (grub_ucs4_to_utf8): New function.
221 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
222 (join_types): New variable.
223 (unpack_join): New function.
224 (bidi_types): New variable.
225 (unpack_bidi): New function.
226 (get_bidi_type): Likewise.
227 (get_join_type): Likewise.
228 (is_mirrored): Likewise.
229 (grub_unicode_get_comb_type): Likewise.
230 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
231 (is_type_after): Likewise.
232 (grub_unicode_aglomerate_comb): Likewise.
233 (bidi_line_wrap): Likewise.
234 (grub_bidi_line_logical_to_visual): Likewise.
235 (grub_bidi_logical_to_visual): Likewise.
236 (grub_unicode_mirror_code): Likewise.
237 (grub_unicode_shape_code): Likewise.
238 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
239 Don't use grub_putchar.
240 * normal/main.c (grub_normal_init_page): Use grub_putcode.
241 (grub_normal_reader_init): Likewise.
242 (grub_xputs_saved): New variable.
243 (GRUB_MOD_INIT): Set grub_xputs.
244 (GRUB_MOD_FINI): Restore grub_xputs.
245 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
246 (menu_init): Avoid printing gfxmenu error.
247 (show_menu): Use grub_normal_get_char_counter.
248 * normal/menu_entry.c (update_screen): Fix out-of-array.
249 (complete): Avoid NULL dereferencing.
250 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
251 * normal/menu_text.c (print_spaces): Removed.
252 (grub_print_ucs4): Likewise.
253 (grub_print_message_indented): Use grub_print_ucs4.
254 (print_message): Use grub_putcode.
255 (print_entry): Hanlde diacritics.
256 * normal/term.c (term_state): New type.
257 (grub_more_lines): Removed.
258 (term_states): New variable.
259 (grub_normal_line_counter): Renamed to ..
260 (grub_normal_char_counter): ...this. All users updated.
261 (grub_normal_get_line_counter): Renamed to ...
262 (grub_normal_get_char_counter): ... this.
263 (grub_normal_reset_more): New function.
264 (process_newline): Removed.
265 (print_more): New function.
266 (grub_install_newline_hook): Removed.
267 (map_code): New function.
268 (grub_puts_terminal): Use grub_print_ucs4.
269 (putglyph): New function.
270 (putcode_real): Likewise.
271 (grub_putcode): Use putcode_real.
272 (get_maxwidth): New function.
273 (get_startwidth): Likewise.
274 (print_ucs4_terminal): Likewise.
275 (find_term_state): Likewise.
276 (put_glyphs_terminal): Likewise.
277 (print_backlog): Likewise.
278 (print_ucs4_real): Likewise.
279 (grub_print_ucs4): Likewise.
280 (grub_xputs_normal): Likewise.
281 * term/efi/console.c (grub_console_putchar): Output diacritics.
282 (grub_console_getcharwidth): Removed.
283 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
284 * term/gfxterm.c (clear_char): Free chars.
285 (scroll_up): Avoid leaking memory.
286 (grub_gfxterm_putchar): Support diacritics.
287 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
288 * term/i386/pc/console.c (grub_console_term_output): Declare as
289 GRUB_TERM_CODE_TYPE_VGA.
290 * term/i386/pc/vga.c (grub_vga_term): Declare as
291 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
292 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
293 GRUB_TERM_CODE_TYPE_VGA.
294 * term/i386/vga_common.c (map_char): Removed.
295 (grub_console_putchar): Likewise.
296 (grub_console_getcharwidth): Likewise.
297 * term/ieee1275/ofconsole.c: Simplify using terminfo.
298 (colors): Reordered to match terminfo.
299 (grub_ofconsole_normal_color): Removed.
300 (grub_ofconsole_writeesc): Likewise.
301 (grub_ofconsole_highlight_color): Likewise.
302 (grub_ofconsole_getcharwidth): Likewise.
303 (grub_ofconsole_setcolorstate): Likewise.
304 (grub_ofconsole_setcolor): Likewise.
305 (grub_ofconsole_getcolor): Likewise.
306 (grub_ofconsole_readkey): Renamed to ...
307 (readkey): ... this. Remove escape sequence handling. Return -1 on no
308 key.
309 (grub_ofconsole_checkkey): Removed.
310 (grub_ofconsole_getkey): Likewise.
311 (grub_ofconsole_getxy): Likewise.
312 (grub_ofconsole_gotoxy): Likewise.
313 (grub_ofconsole_cls): Likewise.
314 (grub_ofconsole_refresh): Likewise.
315 (grub_ofconsole_terminfo_input): New struct.
316 (grub_ofconsole_terminfo_output): Likewise.
317 (grub_ofconsole_term_input): Use terminfo.
318 (grub_ofconsole_term_output): Likewise.
319 (grub_console_init): Split into ...
320 (grub_console_init_early): ...this and ...
321 (grub_console_init_lately): ...this. Use terminfo.
322 (grub_ofconsole_putchar): Renamed to ...
323 (put): ... this. Remove mapping.
324 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
325 * term/serial.c: Simplify using terminfo.
326 (xpos): Removed.
327 (ypos): Likewise.
328 (keep_track): Likewise.
329 (registered): Likewise.
330 (input_buf): Likewise.
331 (npending): Likewise.
332 (serial_translate_key_sequence): Likewise.
333 (fill_input_buf): Likewise.
334 (grub_serial_checkkey): Likewise.
335 (grub_serial_getkey): Likewise.
336 (grub_serial_getxy): Likewise.
337 (grub_serial_gotoxy): Likewise.
338 (grub_serial_putchar): Likewise.
339 (grub_serial_cls): Likewise.
340 (grub_serial_setcolorstate): Likewise.
341 (grub_serial_setcursor): Likewise.
342 (serial_hw_init): Use serial_hw_fetch.
343 (grub_serial_terminfo_input): New variable.
344 (grub_serial_terminfo_output): Likewise.
345 (grub_serial_term_input): Use terminfo.
346 (grub_serial_term_output): Likewise.
347 * term/terminfo.c (putstr): Use put.
348 (grub_terminfo_all_free): New function
349 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
350 (grub_terminfo_output_register): New function.
351 (grub_terminfo_output_unregister): Likewise.
352 (grub_terminfo_getxy): Likewise.
353 (grub_terminfo_readkey): Likewise.
354 (grub_terminfo_checkkey): Likewise.
355 (grub_terminfo_getkey): Likewise.
356 (grub_terminfo_input_init): Likewise.
357 (print_terminfo): Likewise.
358 (grub_cmd_terminfo): Handle encoding.
359 (grub_terminfo_gotoxy): Track position.
360 (grub_terminfo_cls): Likewise.
361 (grub_terminfo_putchar): Likewise.
362 (grub_terminfo_setcolorstate): Handle colors
363 (grub_terminfo_cursor_on): This ...
364 (grub_terminfo_cursor_off): ... and this merged into ...
365 (grub_terminfo_setcursor): ... this.
366 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
367 * unicode/ArabicShaping.txt: New file (imported from Unicode).
368 * unicode/BidiMirroring.txt: Likewise.
369 * unicode/UnicodeData.txt: Likewise.
370 * unicode/COPYING: Likewise.
371 * util/grub-editenv.c (grub_putchar): Removed.
372 (grub_xputs_real): New function.
373 (grub_xputs): New variable.
374 * util/grub-fstest.c (grub_putchar): Removed.
375 (grub_xputs_real): New function.
376 (grub_xputs): New variable.
377 * util/grub-mkdevicemap.c (grub_putchar): Removed.
378 (grub_xputs_real): New function.
379 (grub_xputs): New variable.
380 * util/grub-probe.c (grub_putchar): Removed.
381 (grub_xputs_real): New function.
382 (grub_xputs): New variable.
383 * util/grub-script-check.c (grub_putchar): Removed.
384 (grub_xputs_real): New function.
385 (grub_xputs): New variable.
386 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
387 (grub_xputs_real): New function.
388 (grub_xputs): New variable.
389 * util/import_unicode.py: New file.
390 * util/grub-mkfont.c (ft_errmsgs): New array.
391 (grub_glyph_info): Make bitmap a pointer.
392 (file_formats): New type WIDTH_SPEC.
393 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
394 (options): Add width-spec.
395 (help): Likewise.
396 (add_char): Renamed to ...
397 (add_glyph): ... this.
398 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
399 (glyph_replace): New type.
400 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
401 (add_char): New function.
402 (add_subst): Likewise.
403 (process_cursive): Likewise.
404 (add_font): Handle GSUB.
405 (write_font_width_spec): New function.
406 (main): Sort glyphs.
407 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
408 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
409 * kern/term.c (grub_cls): Moved from here...
410 * normal/term.c (grub_cls): ... here.
411
50f0bcda
CW
4122010-07-02 Colin Watson <cjwatson@ubuntu.com>
413
414 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
415 suitable for using within the format argument of printf when
416 converting grub_size_t.
417 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
418 "x" to convert grub_size_t arguments.
419
40372103
VS
4202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
423 too long captions.
424 (list_get_minimal_size): Take selection box into account.
425
942a10c7
VS
4262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
429 NULL font.
430
2bdb2892
CW
4312010-07-02 Colin Watson <cjwatson@ubuntu.com>
432
433 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
434 devices when iterating over /dev/disk/by-id; they will be handled
435 later if appropriate, which they aren't always (e.g. LVM).
436
e03ed6c1
CW
4372010-07-02 Colin Watson <cjwatson@ubuntu.com>
438
439 * include/grub/misc.h (grub_reboot): Declare as noreturn.
440 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
441 fails.
442 (grub_halt): Likewise.
443 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
444 reset-all fails.
445 (grub_halt): Don't return, even if all of shut-down, power-off, and
446 poweroff fail.
447
47695765
CW
4482010-07-02 Colin Watson <cjwatson@ubuntu.com>
449
450 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
451 arguments, not three.
452
507736c8
CW
4532010-07-02 Colin Watson <cjwatson@ubuntu.com>
454
455 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
456 * util/grub.d/10_linux.in: Use it to check for LVM, so that
457 LVM-on-RAID is handled correctly.
458
e3c8cd37
CW
4592010-07-02 Colin Watson <cjwatson@ubuntu.com>
460
461 * docs/grub.texi (Changes from GRUB Legacy): New section.
462 (Future): Fix typo.
463
8d4a2fec
CW
4642010-07-02 Colin Watson <cjwatson@ubuntu.com>
465
466 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
467 grub.d/README accidentally ends up executable for one reason or
468 another. Ignore it.
469
1c4827be
VS
4702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
473 (gpt_partition_map_iterate): Support non-512B sectors.
474
d9a0c941
VS
4752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * kern/efi/init.c (grub_efi_init): Disable watchdog.
478 Tested by: Seth Goldberg.
479
48f27e87
VS
4802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
483 Properly align mbi.
484 Reported by: Seth Goldberg.
485
b0c4f956
VS
4862010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * util/grub-mkrescue.in: Avoid module duplication.
489
105a2e8c
SF
4902010-07-01 Sean Finney <seanius@seanius.net>
491
492 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
493
5944958c
SF
4942010-07-01 Sean Finney <seanius@seanius.net>
495
496 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
497
4982010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * disk/lvm.c (grub_lvm_checkvalue): New function.
501 (grub_lvm_check_flag): Likewise.
502
b79889ba
RM
5032010-07-01 Robert Millan <rmh@gnu.org>
504
505 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
506 Support 'p' as partition separator on kernel of FreeBSD (used
507 with GPT labels).
508 (grub_util_biosdisk_get_grub_dev): Likewise.
509
ec1d04f1
VS
5102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Yeeloong firmware port.
513
514 * boot/mips/yeeloong/fwstart.S: New file.
515 * bus/cs5536.c (gpiodump): New const.
516 (set_io_space): New function.
517 (set_iod): Likewise.
518 (set_p2d): Likewise.
519 (grub_cs5536_init_geode): Likewise.
520 * commands/mips/yeeloong/lsspd.c: New file.
521 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
522 (serial_mod_SOURCES): New variable.
523 (serial_mod_CFLAGS): Likewise.
524 (serial_mod_LDFLAGS): Likewise.
525 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
526 term/terminfo.c and term/tparm.c.
527 (pkglib_IMAGES): Add fwstart.img.
528 (fwstart_img_SOURCES): New variable.
529 (fwstart_img_CFLAGS): Likewise.
530 (fwstart_img_ASFLAGS): Likewise.
531 (fwstart_img_LDFLAGS): Likewise.
532 (fwstart_img_FORMAT): Likewise.
533 (pkglib_MODULES): Add lsspd.mod.
534 (lsspd_mod_SOURCES): New variable.
535 (lsspd_mod_CFLAGS): Likewise.
536 (lsspd_mod_LDFLAGS): Likewise.
537 (pkglib_MODULES): Add halt.mod.
538 (halt_mod_SOURCES): New variable.
539 (halt_mod_CFLAGS): Likewise.
540 (halt_mod_LDFLAGS): Likewise.
541 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
542 (serial_mod_SOURCES): Removed.
543 (serial_mod_CFLAGS): Likewise.
544 (serial_mod_LDFLAGS): Likewise.
545 * disk/ata.c (check_device): New function.
546 (grub_ata_device_initialize): Use check_device.
547 (grub_ata_iterate): Recheck devices.
548 (grub_ata_open): Likewise.
549 (grub_atapi_iterate): Likewise.
550 (grub_atapi_open): Likewise.
551 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
552 (GRUB_ATA_CH1_PORT1): Likewise.
553 (GRUB_ATA_CH0_PORT2): Likewise.
554 (GRUB_ATA_CH1_PORT2): Likewise.
555 * include/grub/mips/loongson.h: New file.
556 * include/grub/mips/yeeloong/ec.h: Likewise.
557 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
558 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
559 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
560 * include/grub/misc.h (grub_halt): Declare as noreturn.
561 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
562 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
563 (UART_ENABLE_FIFO_TRIGGER1): New definition.
564 (UART_ENABLE_DTRRTS): Likewise.
565 (UART_ENABLE_MODEM): Removed.
566 (UART_ENABLE_OUT2): New const.
567 * include/grub/term.h (grub_term_register_input_active): New function.
568 (grub_term_register_output_active): Likewise.
569 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
570 argument.
571 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
572 (init_pci): New function.
573 (grub_machine_init): Execute platform init when firmware. Init serial.
574 (grub_halt): Implement.
575 (grub_exit): Likewise.
576 (grub_reboot): Likewise.
577 * term/serial.c (serial_hw_init): Update macros.
578 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
579 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
580 (image_targets): New target mipsel-yeeloong-flash.
581 (generate_image): Support IMAGE_YEELOONG_FLASH.
582 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
583 (grub_video_sm712_setup): Init card.
584 (grub_video_sm712_set_palette): Removed.
585 * video/sm712_init.c: New file.
586
ff4a70d2
CW
5872010-06-30 Colin Watson <cjwatson@ubuntu.com>
588
589 * Makefile.in (install-local): Temporarily prepend $(builddir) to
590 PATH when running help2man and then run it on the unadorned
591 executable names, rather than passing $(builddir)/* paths to
592 help2man. This avoids the build directory ending up in generated
593 manual pages.
594
1246efeb
CW
5952010-06-29 Colin Watson <cjwatson@ubuntu.com>
596
597 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
598 to avoid accidents when debugging with 'sh -x'.
599 * util/grub-mkrescue.in: Likewise.
600 * util/grub.d/00_header.in: Likewise.
601 * util/grub.d/10_hurd.in: Likewise.
602 * util/grub.d/10_kfreebsd.in: Likewise.
603 * util/grub.d/10_linux.in: Likewise.
604 * util/grub.d/10_netbsd.in: Likewise.
605 * util/grub.d/10_windows.in: Likewise.
606 * util/grub.d/20_linux_xen.in: Likewise.
607 * util/grub.d/30_os-prober.in: Likewise.
608 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
609
1ba9b889
CW
6102010-06-29 Colin Watson <cjwatson@ubuntu.com>
611
612 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
613 last character in the buffer.
614 Reported by: Vladimir Serbinenko.
615
dccaf99d
RM
6162010-06-29 Robert Millan <rmh@gnu.org>
617
618 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
619 (Command-line and menu entry commands): Document `badram' command.
620
d500ed12
RM
6212010-06-28 Robert Millan <rmh@gnu.org>
622
623 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
624 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
625 command using ${GRUB_BADRAM} as parameter.
626
20bc84a6
CW
6272010-06-28 Colin Watson <cjwatson@ubuntu.com>
628
629 * docs/grub.texi (Device map): New section.
630 (Themes): New section (stub).
631 * Makefile.in (docs/grub.info): The info documentation now builds
632 without errors. Make sure it stays that way.
633
4045dee1
VS
6342010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Use normal parser for menu entries.
637 Reported by: Thomas Frauendorfer
638
639 * include/grub/parser.h (grub_parser_execute): Don't export.
640 * normal/menu.c (grub_menu_execute_entry_real): New function.
641 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
642
bca58c7b
CW
6432010-06-28 Colin Watson <cjwatson@ubuntu.com>
644
645 * docs/grub.texi (Embedded configuration): New section (replacing
646 old "Preset Menu" stub).
647 (Images): New section.
648 (configfile): Note that any menu entries defined in `file' are shown
649 immediately.
650
dec53e63
JT
6512010-06-28 Josh Triplett <josh@joshtriplett.org>
652
653 * mmap/i386/pc/mmap_helper.S: Set CF on return.
654
c06e40f7
CW
6552010-06-28 Colin Watson <cjwatson@ubuntu.com>
656
657 * util/grub-install.in: Add --debug-image= option.
658
cb88052b
CW
6592010-06-28 Colin Watson <cjwatson@ubuntu.com>
660
661 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
662 possible on Linux.
663
664 * util/deviceiter.c (check_device): Rename to ...
665 (check_device_readable_unique): ... this. Update all callers.
666 Maintain and check a list of which devices (by canonicalized name)
667 have already been seen.
668 (clear_seen_devices): New function.
669 (compare_file_names) [__linux__]: New function.
670 (grub_util_iterate_devices): Clear the list of seen devices on exit
671 and (just in case) on entry.
672 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
673 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
674 seen-devices list, superseded by general code in check_device.
675
bbe34652
CW
6762010-06-28 Colin Watson <cjwatson@ubuntu.com>
677
678 * commands/cat.c (options): New variable.
679 (grub_cmd_cat): Parse options. If the --dos option is given, print
680 DOS-style "\r\n" line endings as simple newlines (Debian bug
681 #586358).
682 (GRUB_MOD_INIT): Use extcmd.
683 (GRUB_MOD_FINI): Likewise.
684 * docs/grub.texi (cat): Document --dos.
685
412e09f3
VS
6862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
687
688 XEN with Linux grub-mkconfig support.
689
690 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
691 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
692 GRUB_CMDLINE_XEN_DEFAULT.
693 * util/grub.d/20_linux_xen.in: New file.
694
53f3ef38 6952010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
696
697 Initialise VGA video on qemu ourselves.
698
699 * boot/i386/qemu/boot.S: Don't call 0xc000.
700 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
701 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
702 (kernel_img_HEADERS): Add pci.h.
703 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
704 * configure.ac: Force unifont on qemu and yeeloong.
705 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
706 (grub_vga_palette_write): Use correct register.
707 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
708 Call grub_qemu_init_cirrus.
709 * kern/i386/qemu/init.c: New file.
710 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
711
712 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
713
c75be4fb
PR
7142010-06-26 Pavel Roskin <proski@gnu.org>
715
716 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
717 13.
718
d8034603
CW
7192010-06-26 Colin Watson <cjwatson@ubuntu.com>
720
721 * docs/grub.texi (Simple configuration): Explain that
722 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
723 set to `true' to disable their respective recovery entries, not
724 merely set.
725
3fa06487
CW
7262010-06-26 Colin Watson <cjwatson@ubuntu.com>
727
728 Make the `source' command slightly faster.
729
730 * normal/main.c (grub_normal_execute): Don't re-read list files when
731 nested.
732
e9b29642
CW
7332010-06-23 Colin Watson <cjwatson@ubuntu.com>
734
735 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
736 field position and mask size to red fields from mode_info, not
737 green.
738 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
739 Remove redundant tag->common.framebuffer_type assignment.
740 Reported by: Seth Goldberg.
741
e726542f
CW
7422010-06-23 Colin Watson <cjwatson@ubuntu.com>
743
744 Sync up other versions of the Linux loader with Robert Millan's
745 change of 2010-01-09, "Make loader output a bit more user-friendly".
746
747 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
748 grub_dprintf().
749 (grub_cmd_linux): Likewise.
750 (grub_cmd_initrd): Likewise.
751 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
752 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
753
d6e98a17
CW
7542010-06-21 Colin Watson <cjwatson@ubuntu.com>
755
756 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
757 larger than MEMORY_MAP_SIZE.
758
14d3f08e
BC
7592010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
760
761 Fix parallel build.
762
763 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
764 dependency.
765 * script/parser.y: #include grub_script.tab.h header.
766
4f9613a3
VS
7672010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Support >3GiB and <16MiB RAM in i386-qemu.
770
771 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
772 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
773 (grub_lower_mem): Removed.
774 (grub_upper_mem): Likewise.
775 (mem_size): Made static.
776 (above_4g): New variable.
777 (grub_machine_mmap_init): Detect small mem_size and above_4g.
778 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
779 support.
780
05e51879
VS
7812010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
782
783 Cirrus 5446 and Bochs video cards support.
784
785 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
786 video_bochs.mod
787 (video_cirrus_mod_SOURCES): New variable.
788 (video_cirrus_mod_CFLAGS): Likewise.
789 (video_cirrus_mod_LDFLAGS): Likewise.
790 (video_bochs_mod_SOURCES): Likewise.
791 (video_bochs_mod_CFLAGS): Likewise.
792 (video_bochs_mod_LDFLAGS): Likewise.
793 * include/grub/vga.h: New file.
794 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
795 (grub_video_fb_set_page_t): New type.
796 (grub_video_fb_setup): New prototype.
797 (grub_video_fb_swap_buffers): Likewise.
798 (grub_video_fb_get_info_and_fini): Likewise.
799 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
800 (CRTC_DATA_PORT): Likewise.
801 (CRTC_CURSOR): Likewise.
802 (CRTC_CURSOR_ADDR_HIGH): Likewise.
803 (CRTC_CURSOR_ADDR_LOW): Likewise.
804 (CRTC_CURSOR_DISABLE): Likewise.
805 (update_cursor): Use grub_vga_cr_write.
806 (grub_vga_text_setcursor): Likewise.
807 * video/bochs.c: New file.
808 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
809 (palette): Likewise.
810 (palette_size): Likewise.
811 (framebuffer): New variable.
812 (grub_video_fb_init): Use 'framebuffer'.
813 (grub_video_fb_fini): Likewise.
814 (grub_video_fb_get_info): Likewise.
815 (grub_video_fb_get_palette): Likewise.
816 (grub_video_fb_set_palette): Likewise.
817 (grub_video_fb_set_viewport): Likewise.
818 (grub_video_fb_get_viewport): Likewise.
819 (grub_video_fb_map_color): Likewise.
820 (grub_video_fb_map_rgb): Likewise.
821 (grub_video_fb_map_rgba): Likewise.
822 (grub_video_fb_unmap_color): Likewise.
823 (grub_video_fb_unmap_color_int): Likewise.
824 (grub_video_fb_fill_rect): Likewise.
825 (grub_video_fb_blit_bitmap): Likewise.
826 (grub_video_fb_blit_render_target): Likewise.
827 (grub_video_fb_scroll): Likewise.
828 (grub_video_fb_create_render_target): Likewise.
829 (grub_video_fb_doublebuf_blit_init): Likewise.
830 (grub_video_fb_set_active_render_target): Handle doublebuffering.
831 (doublebuf_pageflipping_update_screen): New function.
832 (doublebuf_pageflipping_init): Likewise.
833 (grub_video_fb_setup): Likewise.
834 (grub_video_fb_swap_buffers): Likewise.
835 (grub_video_fb_get_info_and_fini): Likewise.
836 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
837 All users updated.
838 (doublebuf_pageflipping_commit): Restructured into ...
839 (doublebuf_pageflipping_set_page): ... this.
840 (doublebuf_pageflipping_update_screen): Removed.
841 (doublebuf_pageflipping_init): Likewise.
842 (double_buffering_init): Likewise.
843 (grub_video_vbe_setup): Use grub_video_fb_setup.
844 (grub_video_vbe_swap_buffers): Removed.
845 (grub_video_vbe_set_active_render_target): Likewise.
846 (grub_video_vbe_get_active_render_target): Likewise.
847 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
848 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
849 grub_video_fb_set_active_render_target and
850 grub_video_fb_get_active_render_target.
851 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
852 (SEQUENCER_DATA_PORT): Likewise.
853 (MAP_MASK_REGISTER): Likewise.
854 (CRTC_ADDR_PORT): Likewise.
855 (CRTC_DATA_PORT): Likewise.
856 (START_ADDR_HIGH_REGISTER): Likewise.
857 (START_ADDR_LOW_REGISTER): Likewise.
858 (GRAPHICS_ADDR_PORT): Likewise.
859 (GRAPHICS_DATA_PORT): Likewise.
860 (READ_MAP_REGISTER): Likewise.
861 (INPUT_STATUS1_REGISTER): Likewise.
862 (INPUT_STATUS1_VERTR_BIT): Likewise.
863 (get_map_mask): Use grub_vga_sr_read.
864 (set_map_mask): Use grub_vga_sr_write.
865 (set_read_map): Use grub_vga_gr_write.
866 (set_start_address): Use grub_vga_cr_write.
867 * video/sm712.c (framebuffer): Remove leftover fields.
868
4321c64a
CW
8692010-06-20 Colin Watson <cjwatson@ubuntu.com>
870
871 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
872 setting GRUB_VIDEO_BACKEND. Make it available as a user override
873 instead. Replace the gfxterm backend check with a check that
874 ${GRUB_PREFIX}/video.lst is non-empty.
875 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
876 again.
877 (load_video): New generated function. Call it before loading
878 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
879 * util/grub.d/10_linux.in (linux_entry): Call load_video.
880 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
881 * docs/grub.texi (Simple configuration): Document
882 GRUB_VIDEO_BACKEND.
883
8842010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Use video functions in linux and xnu loaders.
887
888 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
889 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
890 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
891 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
892 loader/i386/pc/linux.c.
893 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
894 (find_line_len): Removed.
895 (find_framebuf): Likewise.
896 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
897 * loader/i386/efi/xnu.c: Removed.
898 * loader/i386/pc/xnu.c: Moved from here...
899 * loader/i386/xnu.c: ...here.
900
901 Enable priorities in video drivers.
902
903 * include/grub/video.h (grub_video_adapter_prio_t): New type.
904 (grub_video_adapter): New field prio.
905 (grub_video_register): Respect prio when inserting.
906 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
907 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
908 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
909 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
910 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
911 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
912 * video/sm712.c (grub_video_sm712_adapter): Likewise.
913
914 Fix SDL driver ID.
915
916 * include/grub/video.h (grub_video_driver_id_t): New value
917 GRUB_VIDEO_DRIVER_SDL.
918 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
919
7d24e434
CW
9202010-06-17 Colin Watson <cjwatson@ubuntu.com>
921
922 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
923 argument to printf.
924 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
925
c88a83f6
CW
9262010-06-17 Colin Watson <cjwatson@ubuntu.com>
927
928 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
929 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
930
094dfb69
CW
9312010-06-17 Colin Watson <cjwatson@ubuntu.com>
932
933 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
934 directly, and recommend grub-install instead.
935 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
936
2164da6b
CW
9372010-06-17 Colin Watson <cjwatson@ubuntu.com>
938
939 Fix i386-pc prefix handling with nested partitions (Debian bug
940 #585068). Note that the case where the core image is booted using
941 multiboot and relocated from its original location still requires
942 more work.
943
944 * kern/i386/pc/init.c (make_install_device): If the prefix starts
945 with "(,", fill the boot drive in between those two characters, but
946 expect that a full partition specification including partition map
947 names will follow.
948 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
949 specified, write a prefix without the drive name but including a
950 full partition specification.
951
044e2e60
CW
9522010-06-16 Colin Watson <cjwatson@ubuntu.com>
953
954 * util/grub-mkconfig.in: Ignore non-option arguments, for
955 compatibility with older versions (before 2010-06-12) which did the
956 same. In particular, this makes it easier to ship an update-grub
957 wrapper which is compatible with that used with GRUB Legacy (Debian
958 bug #586056).
959
5591324f
GS
9602010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
961
962 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
963 for manual page generation.
964
662e24d5
GS
9652010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
966
967 * po/POTFILES: Remove leftover commands/handler.c.
968
8d70754e
CW
9692010-06-14 Colin Watson <cjwatson@ubuntu.com>
970
971 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
972 left this script non-functional.
973
41160e2e
CW
9742010-06-14 Colin Watson <cjwatson@ubuntu.com>
975
976 * docs/man/grub-emu.h2m: New file.
977
b5309cc1
CW
9782010-06-13 Colin Watson <cjwatson@ubuntu.com>
979
980 * docs/grub.texi (Commands): Document reduced command set in rescue
981 mode.
982 (cpuid): New section.
983
fcb2d090
GS
9842010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
985
986 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
987 new partition naming style.
988 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
989
96e5c556
BC
9902010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
991
992 Add "-o grub.iso" like cmdline options support.
993
994 * util/grub-install.in: Improve cmdline option parsing.
995 * util/grub-mkconfig.in: Likewise.
996 * util/grub-mkrescue.in: Likewise.
997 * util/grub-reboot.in: Likewise.
998 * util/grub-set-default.in: Likewise.
999 * util/i386/efi/grub-install.in: Likewise.
1000 * util/ieee1275/grub-install.in: Likewise.
1001 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1002
c16be99b
CW
10032010-06-12 Colin Watson <cjwatson@ubuntu.com>
1004
1005 * .bzrignore: Ignore 41_custom.
1006
ce08a9fb
TS
10072010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1008
1009 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1010
7beac90c
CW
10112010-06-12 Colin Watson <cjwatson@ubuntu.com>
1012
1013 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1014 prototype declarations.
1015
1016 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1017 generating fs, partmap, and video lists.
1018 * include/grub/fs.h (grub_fs_register): Omit prototype if
1019 GRUB_LST_GENERATOR is defined.
1020 * include/grub/partition.h (grub_partition_map_register): Likewise.
1021 * include/grub/video.h (grub_video_register): Likewise.
1022
1c8f0f8d
JM
10232010-06-12 Javier Martín <lordhabbit@gmail.com>
1024
1025 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1026
a6085973
TS
10272010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1028
1029 * util/grub-mkrescue.in: Support --xorriso argument.
1030
25c56d29
VS
10312010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1034 Suggested by: Thomas Schmitt.
1035
e03e4b24
VS
10362010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1039 Suggested by: Thomas Schmitt.
1040
57711df6
VS
10412010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 custom.cfg support.
1044
1045 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1046 * util/grub.d/41_custom.in: New file.
1047
ee62c427
CW
10482010-06-12 Colin Watson <cjwatson@ubuntu.com>
1049
1050 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1051 been merged back into normal.
1052
283af07a
CW
10532010-06-11 Colin Watson <cjwatson@ubuntu.com>
1054
1055 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1056 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1057
56a0d956
CW
10582010-06-11 Colin Watson <cjwatson@ubuntu.com>
1059
1060 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1061 when generating manual pages.
1062 * docs/man/grub-bin2h.h2m: New file.
1063 * docs/man/grub-editenv.h2m: New file.
1064 * docs/man/grub-fstest.h2m: New file.
1065 * docs/man/grub-install.h2m: New file.
1066 * docs/man/grub-macho2img.h2m: New file.
1067 * docs/man/grub-mkconfig.h2m: New file.
1068 * docs/man/grub-mkdevicemap.h2m: New file.
1069 * docs/man/grub-mkfont.h2m: New file.
1070 * docs/man/grub-mkimage.h2m: New file.
1071 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1072 * docs/man/grub-mkrelpath.h2m: New file.
1073 * docs/man/grub-mkrescue.h2m: New file.
1074 * docs/man/grub-ofpathname.h2m: New file.
1075 * docs/man/grub-pe2elf.h2m: New file.
1076 * docs/man/grub-probe.h2m: New file.
1077 * docs/man/grub-reboot.h2m: New file.
1078 * docs/man/grub-script-check.h2m: New file.
1079 * docs/man/grub-set-default.h2m: New file.
1080 * docs/man/grub-setup.h2m: New file.
1081
3a37e322
VS
10822010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 Use FOR_* macros instead of *_iterate whenever possible.
1085
1086 * commands/handler.c: Removed.
1087 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1088 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1089 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1090 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1091 (grub_probe_SOURCES): Remove kern/parser.c.
1092 (util/grub-script-check.c_DEPENDENCIES): Removed.
1093 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1094 and grub_script_check_init.c.
1095 (grub_script_check_init.lst): Removed.
1096 (grub_script_check_init.h): Likewise.
1097 (grub_script_check_init.c): Likewise.
1098 (pkglib_MODULES): Remove handler.mod and sh.mod.
1099 (handler_mod_SOURCES): Removed.
1100 (handler_mod_CFLAGS): Likewise.
1101 (handler_mod_LDFLAGS): Likewise.
1102 (normal_mod_SOURCES): Remove normal/handler.c.
1103 Add script/main.c, script/script.c, script/execute.c,
1104 script/function.c, script/lexer.c, grub_script.tab.c
1105 and grub_script.yy.c.
1106 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1107 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1108 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1109 (grub_setup_SOURCES): Remove kern/parser.c.
1110 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1111 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1112 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1113 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1114 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1115 (grub_setup_SOURCES): Remove kern/parser.c.
1116 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1117 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1118 * include/grub/command.h (grub_command_iterate): Removed.
1119 (FOR_COMMANDS): New macro.
1120 * include/grub/dl.h (grub_dl): New member next.
1121 (grub_dl_iterate): Removed.
1122 (grub_dl_head): New variable declaration.
1123 (FOR_DL_MODULES): New macro.
1124 * include/grub/fs.h: Include list.h.
1125 (grub_fs): Make next first element.
1126 (grub_fs_list): New variable declaration.
1127 (grub_fs_register): Make inline.
1128 (grub_fs_unregister): Likewise.
1129 (grub_fs_iterate): Removed.
1130 (FOR_FILESYSTEMS): New macro.
1131 * include/grub/handler.h: Removed.
1132 * include/grub/list.h (grub_list_hook_t): Removed.
1133 (grub_list_test_t): Likewise.
1134 (grub_list_pop): Likewise.
1135 (grub_list_iterate): Likewise.
1136 (grub_list_insert): Likewise.
1137 (FOR_LIST_ELEMENTS): New macro.
1138 * include/grub/parser.h (grub_parser_class): Removed.
1139 (grub_parser_register): Likewise.
1140 (grub_parser_unregister): Likewise.
1141 (grub_parser_get_current): Likewise.
1142 (grub_parser_set_current): Likewise.
1143 (grub_register_rescue_parser): Likewise.
1144 (grub_rescue_parse_line): New function.
1145 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1146 * include/grub/script_sh.h (grub_script_function_list): New variable
1147 declaration.
1148 (FOR_SCRIPT_FUNCTIONS): New macro.
1149 (grub_script_function_iterate): Removed.
1150 (grub_normal_parse_line): New prototype.
1151 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1152 (FOR_DISABLED_TERM_INPUTS): Likewise.
1153 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1154 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1155 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1156 element.
1157 (grub_video_register): Inline.
1158 (grub_video_unregister): Likewise.
1159 (grub_video_adapter_list): New variable declaration.
1160 (grub_video_iterate): Removed.
1161 (FOR_VIDEO_ADAPTERS): New macro.
1162 * kern/dl.c (grub_dl_list): Removed. All users updated.
1163 (grub_dl_iterate): Removed.
1164 * kern/fs.c (grub_fs_list): Make global.
1165 (grub_fs_register): Removed.
1166 (grub_fs_unregister): Likewise.
1167 (grub_fs_iterate): Likewise.
1168 * kern/handler.c: Removed.
1169 * kern/list.c (grub_list_pop): Removed.
1170 (grub_list_iterate): Likewise.
1171 (grub_list_insert): Likewise.
1172 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1173 (grub_prio_list_insert): Don't use grub_list_insert.
1174 * kern/main.c (grub_register_rescue_parser): Don't call
1175 grub_register_rescue_parser.
1176 * kern/parser.c (grub_parser_class): Removed.
1177 (grub_parser_execute): Use grub_rescue_parse_line.
1178 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1179 (grub_rescue_parser): Removed.
1180 (grub_register_rescue_parser): Likewise.
1181 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1182 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1183 (grub_auth_check_authentication): Likewise.
1184 * normal/completion.c (iterate_command): Removed.
1185 (grub_normal_do_completion): Use FOR_COMMANDS.
1186 * normal/handler.c: Removed.
1187 * normal/main.c (read_config_file): Remove parser changing.
1188 (grub_normal_execute): Don't call read_handler_list.
1189 (grub_normal_read_line_real): Statically allocate prompt.
1190 (grub_cmdline_run): Use grub_normal_parse_line.
1191 (GRUB_MOD_FINI): Don't call free_handler_list.
1192 * normal/menu_entry.c (run): Likewise.
1193 * script/function.c (grub_script_function_list): Make global.
1194 (grub_script_function_iterate): Removed.
1195 * script/main.c (grub_normal_parse_line): Make global.
1196 (grub_sh_parser): Removed.
1197 (GRUB_MOD_INIT): Likewise.
1198 (GRUB_MOD_FINI): Likewise.
1199 * tests/lib/functional_test.c (grub_functional_test): Use
1200 FOR_LIST_ELEMENTS.
1201 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1202 (grub_test_run): Use FOR_LIST_ELEMENTS.
1203 * tests/lib/unit_test.c (main): Likewise.
1204 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1205 grub_list_pop.
1206 * util/grub-fstest.c (grub_term_input_class): Removed.
1207 (grub_term_output_class): Likewise.
1208 * util/grub-probe.c: Likewise.
1209 * util/i386/pc/grub-setup.c: Likewise.
1210 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1211 * util/grub-script-check.c (main): Don't call grub_init_all and
1212 grub_fini_all.
1213 * video/video.c (grub_video_adapter_list): Make global.
1214 (grub_video_register): Removed.
1215 (grub_video_unregister): Likewise.
1216 (grub_video_iterate): Likewise.
1217
6289c3a7
VS
12182010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1221 reported by Henrique Ferreiro.
1222
91460247
RM
12232010-06-09 Robert Millan <rmh@gnu.org>
1224
1225 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1226 ones, when both are available.
1227
0ea7c4f9
GS
12282010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1229
1230 Make --version uniform and avoid hard-coded program name.
1231
1232 * util/grub-mkimage.c (main): Use `program_name' instead of
1233 hard-coded string.
1234 * util/i386/pc/grub-setup.c (main): Likewise.
1235 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1236 * util/grub-install.in: Save the basename of $0 in $self, and use the
1237 latter in informational messages. Use the same format for --version
1238 as the binary programs.
1239 * util/grub-mkconfig.in: Likewise.
1240 * util/grub-mkrescue.in: Likewise.
1241 * util/grub-reboot.in: Likewise.
1242 * util/grub-set-default.in: Likewise.
1243 * util/i386/efi/grub-install.in: Likewise.
1244 * util/ieee1275/grub-install.in: Likewise.
1245 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1246
e8a6f3b6
GS
12472010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1248
1249 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1250 embedding area. Use <= instead of == when checking for non-emptiness.
1251
f4d095d7
GS
12522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1253
1254 * configure.ac: Add `.' to the directories searched for unifont.
1255
50e532ca
CW
12562010-06-08 Colin Watson <cjwatson@ubuntu.com>
1257
1258 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1259 grub_script.yy.h.
1260
d39f3dec
CW
12612010-06-08 Colin Watson <cjwatson@ubuntu.com>
1262
1263 * docs/grub.texi (History): Expand to cover GRUB 2.
1264 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1265 commands, not `terminal'.
1266 (serial): Likewise.
1267 (terminal_input): New section.
1268 (terminal_output): New section.
1269 (uppermem): New section (stub).
1270 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1271
6ef0ddb4
CW
12722010-06-08 Colin Watson <cjwatson@ubuntu.com>
1273
1274 * docs/grub.texi (Security): Menu entries are unrestricted by
1275 default, not restricted to superusers as I had previously thought.
1276 Reword to account for this.
1277
e0f4c438
CW
12782010-06-07 Colin Watson <cjwatson@ubuntu.com>
1279
1280 * kern/emu/misc.c (device_mapper_null_log): New function.
1281 (grub_device_mapper_supported): New function.
1282 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1283 prototype.
1284 * kern/emu/hostdisk.c (find_partition_start): Check whether
1285 device-mapper is supported before trying to use it.
1286 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1287
da908200
CW
12882010-06-07 Colin Watson <cjwatson@ubuntu.com>
1289
1290 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1291 (File name syntax): Likewise.
1292 (help): --all is no longer supported in GRUB 2. Be more precise
1293 about pattern matching.
1294
fb55c3ac
CW
12952010-06-07 Colin Watson <cjwatson@ubuntu.com>
1296
1297 * normal/completion.c (grub_normal_do_completion): When completing
1298 arguments to "set" and the current word contains an equals sign,
1299 skip to after the equals sign before starting completion.
1300
258c2573
CW
13012010-06-07 Colin Watson <cjwatson@ubuntu.com>
1302
1303 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1304
ee75515e
CW
13052010-06-07 Colin Watson <cjwatson@ubuntu.com>
1306
1307 * docs/grub.texi (Network): New section.
1308 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1309 `(nd)' as in GRUB Legacy.
1310 (pxe_unload): New section.
1311
a6a700aa
CW
13122010-06-07 Colin Watson <cjwatson@ubuntu.com>
1313
1314 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1315 in the rescue shell, so recommend using `set' instead. Thanks,
1316 Jordan Uggla.
1317
4003dd38
CW
13182010-06-07 Colin Watson <cjwatson@ubuntu.com>
1319
1320 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1321 (password): New section.
1322 (password_pbkdf2): New section.
1323 (search): New section.
1324 (Security): New section.
1325 (Troubleshooting): New section, currently very incomplete.
1326 (Invoking grub-mkpasswd-pbkdf2): New section.
1327 (Internals): New section, currently very incomplete.
1328
e1cbcc40
CW
13292010-06-07 Colin Watson <cjwatson@ubuntu.com>
1330
1331 * util/grub.d/00_header.in: Add some more quoting (of
1332 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1333 work again.
1334 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1335
db8fa1ad
CW
13362010-06-07 Colin Watson <cjwatson@ubuntu.com>
1337
1338 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1339 to `count', fixing variable shadowing that broke the -c option.
1340
13412010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
1342
1343 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1344 in case they contain spaces.
1345
f28a9212
CW
13462010-06-04 Colin Watson <cjwatson@ubuntu.com>
1347
1348 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1349 "part_" to partmap module names, in line with grub-install.
1350 Reported by: Jindřich Makovička (Debian bug #584426).
1351
9cdfe32f
CW
13522010-06-04 Colin Watson <cjwatson@ubuntu.com>
1353
1354 * util/grub-mkimage.c: Make target-related error messages slightly
1355 more helpful; -O talks about "format". Explicitly point to the use
1356 of -O if no target is specified.
1357 Reported by: Didier Raboud (Debian bug #584415).
1358
795b593a
CW
13592010-06-03 Colin Watson <cjwatson@ubuntu.com>
1360
1361 * INSTALL: Document several build requirements for optional features
1362 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1363
9d9b5833
GS
13642010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1365
1366 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1367 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1368 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1369
0819fec8
CW
13702010-06-02 Colin Watson <cjwatson@ubuntu.com>
1371
1372 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1373 Thanks to Jordan Uggla for spotting this.
1374
49396b4f
VS
13752010-06-02 Aleš Nesrsta <starous@volny.cz>
1376
1377 Finally make USB usable.
1378
1379 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1380 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1381 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1382 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1383 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1384 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1385 (GRUB_OHCI_FSMPS): Likewise.
1386 (GRUB_OHCI_PERIODIC_START): Likewise.
1387 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1388 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1389 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1390 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1391 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1392 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1393 (grub_ohci_transaction): Likewise.
1394 (grub_ohci_transfer): Improve condition detection algorithms.
1395 Handle toggle property. Program the transactions correctly.
1396 Improve error handling. Various important fixups.
1397 (grub_ohci_portstatus): Put register writes in right order.
1398 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1399 (grub_uhci_transfer): Don't show "failed" message on success.
1400 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1401 array.
1402 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1403 determine its size.
1404 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1405 before initialization is completed. Use IN direction for empty
1406 transfers. Use last_trans and compute toggle.
1407 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1408 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1409 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1410 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1411 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1412 (grub_usb_device): Increase toggle to 256.
1413 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1414 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1415 GRUB_USBMS_SUBCLASS_SFF8070.
1416 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1417 (grub_scsi_inquiry): New member page and alloc_length.
1418 (grub_scsi_request_sense): New structure.
1419 (grub_scsi_request_sense_data): Likewise.
1420 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1421 control.
1422 * disk/scsi.c (grub_scsi_request_sense): New function.
1423 (grub_scsi_test_unit_ready): Likewise.
1424 (grub_scsi_inquiry): Fill new fields.
1425 (grub_scsi_read_capacity): Likewise.
1426 (grub_scsi_read10): Add request sense at the end.
1427 (grub_scsi_read12): Likewise.
1428 (grub_scsi_write10): Likewise.
1429 (grub_scsi_write12): Likewise.
1430 (grub_scsi_open): Add Test Unit Ready.
1431 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1432 Support additional subclasses. Con't clear halt yet. Activate the
1433 proper config. Calculate LUNs correctly.
1434 (grub_usbms_transfer): Various important fixups.
1435
14362010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1439 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1440 (grub_ohci_fini_hw): New function.
1441 (grub_ohci_restore_hw): Likewise.
1442 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1443 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1444 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1445
14462010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 Dedicated DMA allocations.
1449
1450 * bus/pci.c (grub_memalign_dma32): New function
1451 (grub_dma_free): Likewise.
1452 (grub_dma_get_virt): Likewise.
1453 (grub_dma_get_phys): Likewise.
1454 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1455 (grub_ohci_pci_iter): Use dma32_alloc.
1456 (grub_ohci_transfer): Likewise.
1457 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1458 (grub_usb_bulk_readwrite): Likewise.
1459 * include/grub/pci.h: Add declarations.
1460
14612010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 CS5536 support.
1464
1465 * bus/cs5536.c: New file.
1466 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1467 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1468 (cs5536_mod_SOURCES): New variable.
1469 (cs5536_mod_CFLAGS): Likewise.
1470 (cs5536_mod_LDFLAGS): Likewise.
1471 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1472 machine/pci.h.
1473 (kernel_img_SOURCES): Add bus/cs5536.c.
1474 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1475 usb_keyboard.mod.
1476 (usb_mod_SOURCES): New variable.
1477 (usb_mod_CFLAGS): New variable.
1478 (usb_mod_LDFLAGS): New variable.
1479 (usbtest_mod_SOURCES): New variable.
1480 (usbtest_mod_CFLAGS): New variable.
1481 (usbtest_mod_LDFLAGS): New variable.
1482 (ohci_mod_SOURCES): New variable.
1483 (ohci_mod_CFLAGS): New variable.
1484 (ohci_mod_LDFLAGS): New variable.
1485 (usbms_mod_SOURCES): New variable.
1486 (usbms_mod_CFLAGS): New variable.
1487 (usbms_mod_LDFLAGS): New variable.
1488 (usb_keyboard_mod_SOURCES): New variable.
1489 (usb_keyboard_mod_CFLAGS): New variable.
1490 (usb_keyboard_mod_LDFLAGS): New variable.
1491 * include/grub/smbus.h: New file.
1492 * include/grub/cs5536.h: New file.
1493
0b35b2a9
CW
14942010-06-02 Colin Watson <cjwatson@ubuntu.com>
1495
1496 * util/grub.d/00_header.in: Add safety check to make sure that
1497 ${locale_dir} exists before trying to probe it.
1498
ca0afd5b
CW
14992010-06-02 Colin Watson <cjwatson@ubuntu.com>
1500
1501 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1502 per the GNU Coding Standards; this is now too obscure to be worth
1503 documenting.
1504 (QNX): Likewise.
1505 (chainloader): Remove cross-reference to `SCO UnixWare'.
1506
1c41aa78
CW
15072010-06-02 Colin Watson <cjwatson@ubuntu.com>
1508
1509 * docs/grub.texi (Chain-loading): New section.
1510 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1511 adjusted for GRUB 2.
1512 (SCO UnixWare): Likewise.
1513 (QNX): Likewise.
1514 (chainloader): Add reference to `Block list syntax'.
1515 (drivemap): New section.
1516 (parttool): New section.
1517
bb8ea0f5
CW
15182010-06-02 Colin Watson <cjwatson@ubuntu.com>
1519
1520 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1521 the grub shell'.
1522 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1523 (Installing GRUB using grub-install): Remove reference to the grub
1524 shell; mention `grub-mkimage' and `grub-setup' instead.
1525 (Invoking grub-install): Likewise.
1526 (Interface): Add reference to `Menu entry editor'.
1527 (serial): Remove `--device' option.
1528
288dd6ed
CW
15292010-06-02 Colin Watson <cjwatson@ubuntu.com>
1530
1531 * docs/grub.texi (Configuration): New section, documenting
1532 configuration file generation using grub-mkconfig. I've left a slot
1533 for documenting the full shell scripting format but have not yet
1534 started on writing that up.
1535 (Invoking grub-mkconfig): New section.
1536
34c9f0e9
CW
15372010-06-02 Colin Watson <cjwatson@ubuntu.com>
1538
1539 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1540 (GNU GRUB manual): Likewise.
1541 (General commands): Update description of `terminfo' for GRUB 2.
1542
9121567e
CW
15432010-06-02 Colin Watson <cjwatson@ubuntu.com>
1544
1545 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1546 (GRUB_MOD_INIT): Fix capitalisation.
1547 * docs/grub.texi (Command-line and menu entry commands): Document
1548 gettext and gptsync commands.
1549
ab631611
CW
15502010-06-02 Colin Watson <cjwatson@ubuntu.com>
1551
1552 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1553 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1554
bde4a9ac
CW
15552010-06-01 Colin Watson <cjwatson@ubuntu.com>
1556
1557 Add btrfs probing support, currently only in the single-device case.
1558
1559 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1560 function.
1561 (grub_guess_root_device): Call find_root_device_from_mountinfo
1562 before looking in /dev.
1563
b1d17e10
VS
15642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1567 GRUB_DISK_SIZE_UNKNOWN.
1568 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1569
dfbfe004
JS
15702010-05-31 Jiro SEKIBA <jir@unicus.jp>
1571
1572 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1573 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1574 corrupted or not synced properly.
1575
c2ffc8e9
VS
15762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1579 Reported by: Seth Goldberg.
1580
56293166
VS
15812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1584 addition of dest.
1585 Reported by: Seth Goldberg.
1586
7620e7de
VS
15872010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1590 Reported by: Seth Goldberg.
1591
c837af3f
VS
15922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1595 64-bit address as signed on MIPS.
1596
c7c75cf4
CW
15972010-05-28 Colin Watson <cjwatson@ubuntu.com>
1598
1599 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1600 to the empty string.
1601
fa4b8490
BC
16022010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1603
1604 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1605
1606 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1607 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1608 * kern/misc.c (__enable_execute_stack): Disable on
1609 GRUB_MACHINE_EMU.
1610
a33075b9
CW
16112010-05-28 Colin Watson <cjwatson@ubuntu.com>
1612
1613 Make grub-probe work with symbolic links under /dev/mapper as well
1614 as with real block devices. The Linux world seems to be (at best)
1615 in transition here, and GRUB shouldn't get caught in the middle.
1616
1617 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1618 /dev/mapper.
1619
d8708134
CW
16202010-05-27 Colin Watson <cjwatson@ubuntu.com>
1621
1622 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1623 input files (in which case exit zero).
1624
db2102a0
CW
16252010-05-27 Colin Watson <cjwatson@ubuntu.com>
1626
1627 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1628 return NULL for various reasons even if it has a maximum-length
1629 buffer: for example, there might be a symlink loop, or the path
1630 might exceed PATH_MAX. If this happens, return NULL.
1631
5fdba519
RM
16322010-05-27 Robert Millan <rmh@gnu.org>
1633
1634 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1635 partmap module to handle cross-partmap setups.
1636 Reported by Orestes Mas. Gràcies!
1637
d1d368e4
CW
16382010-05-27 Colin Watson <cjwatson@ubuntu.com>
1639
1640 * util/grub-mkrescue.in: Initialise override_dir rather than
1641 assuming that it's unset or empty in the environment.
1642
95ac3c73
GS
16432010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1644
1645 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1646 variable index into p_index to suppress a warning with -Wshadow.
1647
7d8c0213
BC
16482010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1649
1650 * INSTALL: Added flex >= 2.5.35 requirement.
1651
db4d5813
VS
16522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1655
f24f4300
VS
16562010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 cmostest support.
1659
1660 * commands/i386/cmostest.c: New file.
1661 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1662 (cmostest_mod_SOURCES): New variable.
1663 (cmostest_mod_CFLAGS): Likewise.
1664 (cmostest_mod_LDFLAGS): Likewise.
1665 * conf/i386-pc.rmk: Likewise.
1666 * docs/grub.texi (Vendor power-on keys): New section.
1667 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1668 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1669 and GRUB_BUTTON_CMOS_ADDRESS.
1670 * util/grub.d/00_header.in: Handle powering-on by separate button.
1671
ad603f61
VS
16722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1675 Removed drawing_scrollbar argument. All users updated
1676 Fixes #29792.
1677 Reported by Jo Shields
1678
3ecb080a
VS
16792010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1682 buffer since gfxterm handles double repaint.
1683
5f2316c1
VS
16842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1687 * term/gfxterm.c (real_scroll): Likewise.
1688
9a25f885
VS
16892010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1692 before calling BIOS.
1693
39fbb79a
VS
16942010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * include/grub/i18n.h: Always enable grub_gettext.
1697
228cfa97
VS
16982010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1701 partition naming style.
1702
21717c8f
CW
17032010-05-21 Colin Watson <cjwatson@ubuntu.com>
1704
1705 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1706 not the first option.
1707
c0f48e65
CW
17082010-05-20 Colin Watson <cjwatson@ubuntu.com>
1709
1710 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1711
96779aec
CW
17122010-05-20 Colin Watson <cjwatson@ubuntu.com>
1713
1714 * util/misc.c: Move inclusion of <limits.h> to ...
1715 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1716
fa9d256e
GS
17172010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1718
1719 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1720 Fix merge error in NetBSD code.
1721 (find_partition_start) [__NetBSD__]: Likewise.
1722
123b7a85
BC
17232010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1724
1725 Fix grub-mkrescue usage unit testing.
1726
1727 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1728
74276c0d
CF
17292010-05-18 Christian Franke <franke@computer.org>
1730
1731 * util/grub.d/10_windows.in: Use path names instead of
1732 drive letters to prevent warning from Cygwin 1.7.
1733 Add drivemap command to menuentry if needed.
1734
c4f7b523
ST
17352010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1736
1737 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1738 gnumach and gnumach.gz.
1739
95b97950
VS
17402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * include/grub/i18n.h (gettext): Inline instead of using #define.
1743 (grub_gettext): Likewise.
1744 (_): Likewise.
1745
01b8d2d7
VS
17462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1749 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1750 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1751 (main): Add a slash after pkglibdirroot.
1752
654e1d1e
VS
17532010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * util/grub-install.in: Add missing "in" keyword.
1756
26966aeb
VS
17572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1760 Reported by: Seth Goldberg.
1761
75006747
VS
17622010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1765
74cbf5bd
CW
17662010-05-18 Colin Watson <cjwatson@ubuntu.com>
1767
1768 * configure.ac: Check for Linux device-mapper support.
1769
1770 * util/hostdisk.c (device_is_mapped): New function.
1771 (find_partition_start): New function, partly broken out from
1772 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1773 device-mapper support added.
1774 (linux_find_partition): Use find_partition_start.
1775 (convert_system_partition_to_system_disk): Add `st' argument.
1776 Support Linux /dev/mapper/* devices if device-mapper support is
1777 available; only DM-RAID devices are understood at present.
1778 (find_system_device): Add `st' argument. Pass it to
1779 convert_system_partition_to_system_disk.
1780 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1781 find_system_device and convert_system_partition_to_system_disk. Use
1782 find_partition_start.
1783
1784 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1785 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1786 * util/deviceiter.c [__linux__]: Define MINOR.
1787 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1788 * util/mkdevicemap.c (grub_putchar): New function.
1789 (grub_getkey): New function.
1790 (grub_refresh): New function.
1791 (main): Set debug=all if -v -v is used.
1792
355b51e9
CW
17932010-05-18 Colin Watson <cjwatson@ubuntu.com>
1794
1795 Fix build with non-GNU libcs.
1796
1797 * util/misc.c (canonicalize_file_name): Move to ...
1798 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1799 grub_make_system_path_relative_to_its_root.
1800
7fb5c25f
CW
18012010-05-18 Colin Watson <cjwatson@ubuntu.com>
1802
1803 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1804 we handle finding grub-mkimage. Default to finding grub-mkimage in
1805 ${bindir} with program_transform_name applied, and provide a
1806 --grub-mkimage option to override this.
1807
1d3293d6
VS
18082010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 Remove grub-mkisofs.
1811
1812 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1813 (grub_mkisofs_SOURCES): Removed.
1814 (grub_mkisofs_CFLAGS): Removed.
1815 * util/mkisofs/defaults.h: Removed.
1816 * util/mkisofs/eltorito.c: Likewise.
1817 * util/mkisofs/exclude.h: Likewise.
1818 * util/mkisofs/hash.c: Likewise.
1819 * util/mkisofs/include/: Likewise.
1820 * util/mkisofs/include/fctldefs.h: Likewise.
1821 * util/mkisofs/include/mconfig.h: Likewise.
1822 * util/mkisofs/include/prototyp.h: Likewise.
1823 * util/mkisofs/include/statdefs.h: Likewise.
1824 * util/mkisofs/iso9660.h: Likewise.
1825 * util/mkisofs/joliet.c: Likewise.
1826 * util/mkisofs/match.c: Likewise.
1827 * util/mkisofs/match.h: Likewise.
1828 * util/mkisofs/mkisofs.c: Likewise.
1829 * util/mkisofs/mkisofs.h: Likewise.
1830 * util/mkisofs/msdos_partition.h: Likewise.
1831 * util/mkisofs/multi.c: Likewise.
1832 * util/mkisofs/name.c: Likewise.
1833 * util/mkisofs/rock.c: Likewise.
1834 * util/mkisofs/tree.c: Likewise.
1835 * util/mkisofs/write.c: Likewise.
1836
5dde9afe
VS
18372010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Unify grub-mkimage accross platforms.
1840
1841 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
1842 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
1843 (grub_mkelfimage_SOURCES): Removed.
1844 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
1845 (util/grub-mkimage.c_DEPENDENCIES): .. this.
1846 (bin_UTILITIES): Add grub-mkimage.
1847 (grub_mkimage_SOURCES): New variable.
1848 (kernel_img_HEADERS): Remove machine/kernel.h.
1849 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
1850 (pkglib_PROGRAMS): Add kernel.img.
1851 (kernel_img_HEADERS): Add machine/kernel.h.
1852 (kernel_img_FORMAT): Removed.
1853 (bin_UTILITIES): Remove grub-mkimage.
1854 (grub_mkimage_SOURCES): Removed.
1855 (grub_mkimage_CFLAGS): Likewise.
1856 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1857 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
1858 (pkglib_PROGRAMS): Add kernel.img.
1859 (bin_UTILITIES): Remove grub-mkimage.
1860 (grub_mkimage_SOURCES): Removed.
1861 (grub_mkimage_CFLAGS): Likewise.
1862 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1863 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
1864 (pkglib_PROGRAMS): Add kernel.img.
1865 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
1866 (pkglib_PROGRAMS): Add kernel.img.
1867 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1868 (grub_mkimage_SOURCES): Removed.
1869 (grub_mkimage_CFLAGS): Likewise.
1870 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1871 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1872 (pkglib_PROGRAMS): Add kernel.img.
1873 (bin_UTILITIES): Remove grub-mkimage.
1874 (grub_mkimage_SOURCES): Removed.
1875 (grub_mkimage_CFLAGS): Likewise.
1876 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1877 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1878 (grub_mkimage_SOURCES): Removed.
1879 (grub_mkimage_CFLAGS): Likewise.
1880 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1881 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1882 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1883 (grub_pe32_optional_header): ... this.
1884 (grub_pe64_optional_header): ... and this. All users updated.
1885 (GRUB_PE32_PE32_MAGIC): Split into ..
1886 (GRUB_PE32_PE32_MAGIC): .. this.
1887 (GRUB_PE32_PE64_MAGIC): .. and this.
1888 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1889 * include/grub/elf.h (PT_GNU_STACK): New definition.
1890 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1891 * include/grub/i386/efi/kernel.h: Likewise.
1892 * include/grub/i386/kernel.h: Likewise.
1893 * include/grub/i386/pc/kernel.h: Likewise.
1894 * include/grub/i386/qemu/boot.h: Likewise.
1895 * include/grub/mips/kernel.h: Likewise.
1896 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1897 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1898 * include/grub/powerpc/kernel.h: Likewise.
1899 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1900 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1901 * include/grub/sparc64/kernel.h: Likewise.
1902 * include/grub/x86_64/efi/kernel.h: Likewise.
1903 * include/grub/x86_64/kernel.h: Likewise.
1904 * include/grub/offsets.h: New file.
1905 * include/grub/kernel.h (grub_module_info): Split into ...
1906 (grub_module_info32): ... this.
1907 (grub_module_info64): ... and this.
1908 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1909 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1910 (grub_boot_blocklist): Moved from here ...
1911 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1912 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1913 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1914 * include/grub/types.h (grub_target_to_host16): Removed.
1915 (grub_target_to_host32): Likewise.
1916 (grub_target_to_host64): Likewise.
1917 (grub_host_to_target16): Likewise.
1918 (grub_host_to_target32): Likewise.
1919 (grub_host_to_target64): Likewise.
1920 (grub_host_to_target_addr): Likewise.
1921
1922 Support grub-mkrescue for efi, coreboot and qemu.
1923
1924 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1925 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1926 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1927 * util/grub-mkrawimage.c: Moved from here ...
1928 * util/grub-mkimage.c: ... here. All users updated.
1929 (ALIGN_ADDR): Use image_target.
1930 (TARGET_NO_FIELD): New const.
1931 (image_target_desc): New type.
1932 (image_targets): New array.
1933 (grub_target_to_host64): Use image_target.
1934 (grub_target_to_host32): Likewise.
1935 (grub_target_to_host16): Likewise.
1936 (grub_host_to_target64): Likewise.
1937 (grub_host_to_target32): Likewise.
1938 (grub_host_to_target16): Likewise.
1939 (grub_host_to_target_addr): Likewise.
1940 (generate_image): Handle multiimage.
1941 (main): Require -O parameter. All users updated.
1942 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1943 util/efi/grub-mkimage.c
1944 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1945 New option --rom-directory.
1946 Use xorriso.
1947 * util/i386/efi/grub-mkimage.c: Removed.
1948 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1949 (grub_target_to_host32): Likewise.
1950 (grub_target_to_host64): Likewise.
1951 (grub_host_to_target16): Likewise.
1952 (grub_host_to_target32): Likewise.
1953 (grub_host_to_target64): Likewise.
1954 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1955 (grub_target_to_host32): Likewise.
1956 (grub_target_to_host64): Likewise.
1957 (grub_host_to_target16): Likewise.
1958 (grub_host_to_target32): Likewise.
1959 (grub_host_to_target64): Likewise.
1960
f4fc97d0
BC
19612010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1962
1963 Source tree is reorganized for emu build.
1964
1965 * include/grub/util/console.h: Move from here...
1966 * include/grub/emu/console.h: ...to here.
1967 * include/grub/util/getroot.h: Move from here...
1968 * include/grub/emu/getroot.h: ...to here.
1969 * include/grub/util/hostdisk.h: Move from here...
1970 * include/grub/emu/hostdisk.h: ...to here.
1971 * util/console.c: Move from here...
1972 * kern/emu/console.c: ...to here.
1973 * util/getroot.c: Move from here...
1974 * kern/emu/getroot.c: ...to here.
1975 * util/grub-emu.c: Move from here...
1976 * kern/emu/main.c: ...to here.
1977 * util/hostdisk.c: Move from here...
1978 * kern/emu/hostdisk.c: ...to here.
1979 * util/hostfs.c: Move from here...
1980 * kern/emu/hostfs.c: ...to here.
1981 * util/mm.c: Move from here...
1982 * kern/emu/mm.c: ...to here.
1983 * util/pci.c: Move from here...
1984 * bus/emu/pci.c: ...to here.
1985 * util/sdl.c: Move from here...
1986 * video/emu/sdl.c: ...to here.
1987 * util/time.c: Move from here...
1988 * kern/emu/time.c: ...to here.
1989 * util/usb.c: Move from here...
1990 * bus/usb/emu/usb.c: ...to here.
1991
1992 * include/grub/emu/misc.h: New header for grub-emu functions.
1993 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1994
1995 * conf/any-emu.rmk: Rule updates for above renames.
1996 * conf/common.rmk: Likewise.
1997 * conf/i386-pc.rmk: Likewise.
1998 * conf/i386-qemu.rmk: Likewise.
1999 * conf/mips.rmk: Likewise.
2000 * conf/sparc64-ieee1275.rmk: Likewise.
2001 * conf/x86-efi.rmk: Likewise.
2002
2003 * disk/lvm.h: #include updates for above renames.
2004 * util/grub-mkrelpath.c: Likewise.
2005 * util/grub-probe.c: Likewise.
2006 * util/i386/pc/grub-setup.c: Likewise.
2007 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2008 * kern/emu/console.c: Likewise.
2009 * kern/emu/getroot.c: Likewise.
2010 * kern/emu/hostdisk.c: Likewise.
2011 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2012
2013 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2014 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2015 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2016 * util/misc.c: Remove grub-emu functions.
2017
cced9145
VS
20182010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Fix gfxmenu crash.
2021 Reported by: Thorsten Grützmacher.
2022
2023 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2024 timeout hook.
2025 (circprog_set_property): Register and unregister timeout hook.
2026 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2027 (label_destroy): Free template. and unregister hook.
2028 (label_set_state): New function.
2029 (label_set_property): Handle templates and hooks.
2030 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2031 timeout hook.
2032 (progress_bar_set_property): Register and unregister timeout hook.
2033 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2034 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2035 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2036 (update_timeout_visit): Removed.
2037 (update_timeouts): New function.
2038 (redraw_timeouts): Likewise.
2039 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2040 (grub_gfxmenu_clear_timeout): Likewise.
2041 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2042 (grub_gfxmenu_timeout_notify): Likewise.
2043 (grub_gfxmenu_timeout_notifications): New external variable.
2044 (grub_gfxmenu_timeout_register): New function.
2045 (grub_gfxmenu_timeout_unregister): Likewise.
2046
c6e5caab
VS
20472010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 Transform (broken) vga terminal into (working) vga video driver.
2050
2051 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2052 video/i386/pc/vga.c.
2053 * include/grub/video.h (grub_video_driver_id):
2054 Add GRUB_VIDEO_DRIVER_VGA.
2055 * term/i386/pc/vga.c: Renamed to ...
2056 * video/i386/pc/vga.c: ...this
2057 (DEBUG_VGA): Removed.
2058 (CHAR_WIDTH): Likewise.
2059 (CHAR_HEIGHT): Likewise.
2060 (TEXT_WIDTH): Likewise.
2061 (TEXT_HEIGHT): Likewise.
2062 (DEFAULT_FG_COLOR): Likewise.
2063 (DEFAULT_BG_COLOR): Likewise.
2064 (colored_char): Likewise.
2065 (xpos): Likewise.
2066 (ypos): Likewise.
2067 (cursor_state): Likewise.
2068 (fg_color): Likewise.
2069 (bg_color): Likewise.
2070 (text_buf): Likewise.
2071 (page): Likewise.
2072 (font): Likewise.
2073 (framebuffer): New variable.
2074 (set_read_map): Disabled.
2075 (setup): New variable.
2076 (is_target): Likewise.
2077 (grub_vga_mod_init): Likewise.
2078 (grub_vga_mod_fini): Likewise.
2079 (check_vga_mem): Likewise.
2080 (write_char): Likewise.
2081 (write_cursor): Likewise.
2082 (scroll_up): Likewise.
2083 (grub_vga_putchar): Likewise.
2084 (grub_vga_getcharwidth): Likewise.
2085 (grub_vga_getwh): Likewise.
2086 (grub_vga_getxy): Likewise.
2087 (grub_vga_gotoxy): Likewise.
2088 (grub_vga_cls): Likewise.
2089 (grub_vga_setcolorstate): Likewise.
2090 (grub_vga_setcursor): Likewise.
2091 (grub_video_vga_init): New function.
2092 (grub_video_vga_setup): Likewise.
2093 (grub_video_vga_fini): Likewise.
2094 (update_target): Likewise.
2095 (grub_video_vga_blit_bitmap): Likewise.
2096 (grub_video_vga_blit_render_target): Likewise.
2097 (grub_video_vga_set_active_render_target): Likewise.
2098 (grub_video_vga_get_active_render_target): Likewise.
2099 (grub_video_vga_swap_buffers): Likewise.
2100 (grub_video_vga_set_palette): Likewise.
2101 (grub_video_vga_get_info_and_fini): Likewise.
2102 (grub_vga_term): Removed.
2103 (grub_video_vga_adapter): New variable.
2104 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2105 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2106
2bf61a98
VS
21072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * video/readers/jpeg.c: Indented.
2110
09ddcd11
VS
21112010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Various jpeg cleanups.
2114
2115 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2116 (grub_jpeg_decode_quan_table): Use sizeof.
2117 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2118
e5507505
PH
21192010-05-05 Peter Hurley <No e-mail available> (tiny change)
2120
2121 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2122 tables. Ignore non-last ac bit.
2123 (grub_jpeg_decode_quan_table): Likewise.
2124
7e720a9b
VS
21252010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2128 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2129 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2130 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2131 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2132 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2133
a7fc080b
VS
21342010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2137 error.
2138
2bf6012d
VS
21392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2142
265d68cd
VS
21432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2146 condition.
2147
21482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
2149
2150 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2151 part.
2152
265d68cd 21532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
2154
2155 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2156 pointers.
2157
265d68cd 21582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
2159
2160 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2161
d1b61374
CF
21622010-05-01 Christian Franke <franke@computer.org>
2163
2164 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2165 Remove broken Cygwin path conversion.
2166 * util/misc.c: [__CYGWIN__] Add include and define.
2167 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2168 for Cygwin 1.7.
2169 (make_system_path_relative_to_its_root): Simplify loop, replace early
2170 return by break.
2171 [__CYGWIN__] Add conversion to win32 path.
2172 Include "/" case in trailing slash removal.
2173
3558c6e9
VS
21742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2177 Reported by: Seth Goldberg
2178
f5f3ff93
VS
21792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * commands/help.c (grub_cmd_help): Fix a typo.
2182 Reported by: Seth Goldberg
2183
d8b5cd40
VS
21842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2187 name and add N_.
2188 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2189 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2190 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2191 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2192 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2193 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2194 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2195 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2196 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2197 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2198 * normal/context.c (GRUB_MOD_INIT): Likewise.
2199 * normal/main.c (GRUB_MOD_INIT): Likewise.
2200 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2201 * term/serial.c (GRUB_MOD_INIT): Likewise.
2202 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2203
88c14915
VS
22042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2207 extra == 0.
2208
165134bc
VS
22092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * commands/iorw.c: New file.
2212 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2213 (iorw_mod_SOURCES): New variable.
2214 (iorw_mod_CFLAGS): Likewise.
2215 (iorw_mod_LDFLAGS): Likewise.
2216
c5ac9b32
VS
22172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 Hotkey support
2220
2221 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2222 * normal/main.c (hotkey_aliases): New variable.
2223 (grub_normal_add_menu_entry): Parse "--hotkey".
2224 * normal/menu_text.c (run_menu): Handle hotkeys.
2225
ce60689c
VS
22262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * kern/i386/coreboot/init.c (grub_machine_init): Call
2229 grub_machine_mmap_init on qemu.
2230
0359d006
VS
22312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * boot/i386/qemu/boot.S: Add a missing .code16.
2234
7819a456
VS
22352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Use LBIO on coreboot.
2238
2239 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2240 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2241 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2242 New declaration.
2243 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2244 grub_machine_mmap_init on coreboot.
2245 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2246 GRUB_LINUXBIOS_MEMBER_LINK.
2247 (grub_machine_mmap_iterate): Fix declaration.
2248 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2249
7210dca9
VS
22502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 Split coreboot and multiboot ports.
2253
2254 * conf/i386-multiboot.rmk: New file.
2255 * configure.ac: Add multiboot port.
2256 * include/grub/i386/multiboot/boot.h: New file.
2257 * include/grub/i386/multiboot/console.h: Likewise.
2258 * include/grub/i386/multiboot/init.h: Likewise.
2259 * include/grub/i386/multiboot/kernel.h: Likewise.
2260 * include/grub/i386/multiboot/loader.h: Likewise.
2261 * include/grub/i386/multiboot/memory.h: Likewise.
2262 * include/grub/i386/multiboot/serial.h: Likewise.
2263 * include/grub/i386/multiboot/time.h: Likewise.
2264 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2265 * loader/multiboot.c: Likewise.
2266 * loader/multiboot_mbi2.c: Likewise.
2267 * util/grub-mkrescue.in: Generate multiboot rescue.
2268
6f8aaf68
VS
22692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2270
3080f7a7
VS
2271 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2272
22732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
2276
2277 * commands/terminal.c (abstract_terminal): New struct.
2278 (handle_command): New function. Based on grub_cmd_terminal_input.
2279 (grub_cmd_terminal_input): Use handle_command.
2280 (grub_cmd_terminal_output): Use handle_command.
2281
a8ebb841
BC
22822010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2283
2284 Fix comment handling.
2285
2286 * tests/grub_script_comments.in: New testcase.
2287 * conf/tests.rmk: Rules for new testcase.
2288 * script/yylex.l: Updated flex rules.
2289
bb06ba08
ST
22902010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2291
2292 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
2293 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2294 if argc is 1.
bb06ba08 2295
cc9d2425
VS
22962010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2299 autogen issues.
2300
460d8402
CF
23012010-04-26 Christian Franke <franke@computer.org>
2302
2303 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2304 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2305 (grub_get_prefix): Remove function.
2306 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2307 make_system_path_relative_to_its_root ().
2308 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2309
553c01f9
CF
23102010-04-24 Christian Franke <franke@computer.org>
2311
2312 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2313 (kernel_img_LDFLAGS): Remove -static-libgcc.
2314
2aec1692
CF
23152010-04-24 Christian Franke <franke@computer.org>
2316
2317 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2318 and CHECK_END_SYMBOL if grub-emu is built.
2319 Unset TARGET_OBJ2ELF if grub-emu is built
2320 without module support.
2321
f67dc308
JS
23222010-04-24 Jiro SEKIBA <jir@unicus.jp>
2323
2324 Nilfs2 support.
2325
2326 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2327 (grub_fstest_SOURCES): Likewise.
2328 (pkglib_MODULES): Add nilfs2.mod.
2329 (nilfs2_mod_SOURCES): New variable.
2330 (nilfs2_mod_CFLAGS): Likewise.
2331 (nilfs2_mod_LDFLAGS): Likewise.
2332 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2333 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2334 * fs/nilfs2.c: New file.
2335
4ba8d354
VS
23362010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2339 is not supported.
2340
0d2c20c6
GS
23412010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2342
2343 Add grub-mkconfig support for NetBSD.
2344
2345 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2346 * util/grub-mkconfig.in: export new NetBSD specific variables.
2347 * po/POTFILES-shell: added 10_netbsd.in.
2348 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2349
bc4a2d83
BC
23502010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2351
2352 Fix emu build with grub-emu-pci and grub-emu-modules.
2353
2354 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2355 functions.
2356 * include/grub/libpciaccess.h: New file.
2357 * conf/any-emu.rmk: Update kernel headers for emu build.
2358
f48c87aa
VS
23592010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2362
18959385
VS
23632010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2366
0037de3f
VS
23672010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2370 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2371 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2372 util/ieee1275/ofpath.c.
2373 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2374 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2375 * include/grub/sparc64/ieee1275/boot.h
2376 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2377 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2378 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2379 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2380 const char *.
2381 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2382 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2383 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2384 install.
2385
38e55e90
GS
23862010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2387
2388 * util/grub-mkconfig.in: Corrected two == equality tests.
2389 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2390 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2391 expect a number appended to it.
2392 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2393 expects a number appended to it.
2394
a9e6ff28
VS
23952010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2398
0b830b8f
VS
23992010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * util/hostdisk.c (make_device_name): Change to new partition naming.
2402
0973daeb
VS
24032010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2406
460d8402 24072010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
2408
2409 * Makefile.in: Add missing localedir setting.
2410
0b456309
CW
24112010-04-14 Colin Watson <cjwatson@ubuntu.com>
2412
2413 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2414 mistake in r2156. Noticed by Anthony Fok.
2415
2416 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2417 @localedir@.
2418 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2419
08f46d62
BC
24202010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2421
2422 Fix a spurious, uninitialized variable warning.
2423
2424 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2425 Initialize variable, shdr.
2426 (grub_freebsd_load_elfmodule): Likewise.
2427 (grub_freebsd_load_elf_meta): Likewise.
2428
8c4a72d4
BC
24292010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2430
2431 Fix for escaped dollar in double quoted strings.
2432
2433 * script/yylex.l: Updated flex rules.
2434 * conf/tests.rmk: Rule for new testcase.
2435 * tests/grub_script_dollar.in: New testcase.
2436
ce44826e
CPE
24372010-04-13 Carles Pina i Estany <carles@pina.cat>
24382010-04-13 Colin Watson <cjwatson@ubuntu.com>
2439
2440 Enclose all translated strings in grub.cfg in single quotes, and
2441 escape them appropriately (Ubuntu bug #552921).
2442
2443 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2444 * util/grub.d/10_hurd.in: Use it.
2445 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2446 * util/grub.d/10_linux.in (linux_entry): Likewise.
2447
4b0cd8f8
VS
24482010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 Fix cygwin compilation.
2451
2452 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2453 * include/grub/misc.h (__register_frame_info)
2454 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2455 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2456 * kern/misc.c (__register_frame_info)
2457 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2458 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2459
01fcf061
VS
24602010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2463
5d04b11e
VS
24642010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Unify libgcc processing.
2467
2468 * Makefile.in (kernel_img_LDFLAGS): New variable.
2469 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2470 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2471 overwriting.
2472 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2473 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2474 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2475 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2476 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2477 overwriting. Remove -lgcc and -static-libgcc
2478 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2479 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2480 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2481 (kernel_img_LDFLAGS): Append instead of overwriting.
2482 Remove -lgcc and -static-libgcc
2483 * conf/sparc64-ieee1275.rmk: Likewise.
2484 * include/grub/powerpc/libgcc.h: Move to ...
2485 * include/grub/libgcc.h: .. this.
2486 * include/grub/libgcc.h: Don't export most of the function on x86.
2487 (__bswapsi2): New export.
2488 (__bswapdi2): Likewise.
2489 * include/grub/mips/libgcc.h: Removed.
2490 * include/grub/sparc64/libgcc.h: Likewise.
2491
b7f3ac29
VS
24922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2495 disk_info_msg (conflicts with gettexting into languages with cases).
2496
2c7031b1
GS
24972010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2498
2499 Add grub-probe support for NetBSD.
2500
2501 * util/getroot.c (find_root_device): Convert block device to
2502 character device on NetBSD.
2503 * util/probe.c (probe): Require character device on NetBSD.
2504 * util/hostdisk.c: NetBSD specific headers.
2505 (configure_device_driver): new function to tune device driver
2506 parameters (currently only for NetBSD floppy driver).
2507 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2508 via disklabel ioctl).
2509 (open_device): call configure_device_driver on NetBSD.
2510 (convert_system_partition_to_system_disk): NetBSD specific code.
2511 (device_is_wholedisk): Likewise.
2512 (grub_util_biosdisk_get_grub_dev): Likewise.
2513 (make_device_name): Fixed a typo in bsd_part_str.
2514 * configure.ac: check for opendisk() and getrawpartition() on
2515 NetBSD and set LIBUTIL.
2516 * Makefile.in: add LIBUTIL to LIBS.
2517
f516290c
BC
25182010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2519
2520 Documentation fix.
2521
2522 * util/grub-script-check.c: Better help message.
2523
d8dcc0df
BC
25242010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2525
2526 Fix FreeBSD build.
2527
2528 * configure.ac: Flex version check.
2529 * conf/common.rmk: Add -Wno-error to sh.mod.
2530 * script/yylex.l: Remove all #pragma.
2531
6734334a
VS
25322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2535 prototype.
2536 Reported by: Seth Goldberg.
2537
daea6abd
VS
25382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2541 Rename "module" to "module2".
2542 Reported by: Seth Goldberg.
2543
f2fd9d2b
VS
25442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2547 EXPORT_FUNC.
2548 Reported by: Seth Goldberg.
2549
be124579
VS
25502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * lib/posix_wrap/locale.h: Add missing file.
2553 Reported by: Seth Goldberg.
2554
ef5da797
VS
25552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 grub-emu module load support.
2558
2559 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2560 NO_DYNAMIC_MODULES switched to this.
2561 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2562 (CFLAGS): Likewise.
2563 * conf/any-emu.rmk: Generate symlist.
2564 (kernel_img_HEADERS): Add util/datetime.h.
2565 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2566 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2567 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2568 kern/$(target_cpu)/cache.S.
2569 * configure.ac (grub-emu-modules): New option.
2570 * genmk.rb: Handle multiple source lists.
2571 * include/grub/sdl.h: New file.
2572 * include/grub/libusb.h: Likewise.
2573 * util/grub-emu.c (main): Hanle (host) root.
2574 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2575 GRUB_ERR_UNKNOWN_DEVICE.
2576 * util/misc.c: Move mm functions to ...
2577 * util/mm.c: ... here. All users updated.
2578
47822096
VS
25792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2582 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2583 missing files.
2584 (maintainer-clean): Remove libgcrypt-grub.
2585
5d7e7445
VS
25862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2589
25f4e252
EC
25902010-04-09 EFI Coder <eficoder@hotmail.com>
2591
2592 * normal/menu_text.c (print_message): Clean up the message and show
2593 the Fn information when on EFI
2594 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2595
027de555
VS
25962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2599 All users updated.
2600 * normal/crypto.c (read_crypto_list): Likewise.
2601 * normal/dyncmd.c (read_command_list): Likewise.
2602 * normal/term.c (read_terminal_list): Likewise.
2603 * normal/main.c (read_lists): Use explicit prefix.
2604 (read_lists_hook): Use read_lists.
2605 (grub_normal_execute): Likewise.
2606
47779711
VS
26072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2610 Reported by: Thomas Schmitt.
2611 Add -no-emul-boot to grub-mkisofs parameters.
2612
1118c32e
VS
26132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * font/font.c: Indented.
2616
7d652447
BC
26172010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2618
2619 Elif support to GRUB script (by Deepak Vankadaru).
2620
2621 * tests/grub_script_if.in: New testcase.
2622 * conf/tests.rmk: Rule for new testcase.
2623 * script/parser.y: Grammar rules for elif.
2624
34bb22df
BC
26252010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2626
2627 While and until loops support to GRUB script.
2628
2629 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2630 (grub_script_create_cmdwhile): New function prototype.
2631 (grub_script_execute_cmdwhile): New function prototype.
2632 * script/execute.c (grub_script_execute_cmdwhile): New function.
2633 * script/parser.y (command): New commands.
2634 (whilecmd): New grammar rule.
2635 (untilcmd): New grammar rule.
2636 * script/script.c (grub_script_create_cmdwhile): New function.
2637 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2638 function.
2639
2640 * tests/grub_script_while1.in: New testcase.
2641 * conf/tests.rmk: Rule for new testcase.
2642
e215d8e0
VS
26432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2646 as *.jpg.
2647
d7c43ba1
MV
26482010-04-09 Mario Vazquez <mariovazq@gmail.com>
2649
2650 GRUB_BACKGROUND support.
2651
2652 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2653 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2654
d64795c0
VS
26552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 2658 Idea by: Mario Vazquez
d64795c0
VS
2659
2660 * util/grub.d/00_header.in: Load pf2 and image modules.
2661
f267f83a
VS
26622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 grub-mkconfig multiple terminal support.
2665
2666 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2667 * util/grub.d/00_header.in: Likewise.
2668
b7841ceb
VS
26692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2672 we use cd $(srcdir).
2673
df60998c
CW
26742010-04-08 Colin Watson <cjwatson@ubuntu.com>
2675
2676 * util/grub.d/10_linux.in: Only use the first word of
2677 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2678 spaces in GRUB_DISTRIBUTOR.
2679 * util/grub.d/10_kfreebsd.in: Likewise.
2680 * util/grub.d/10_hurd.in: Likewise.
2681
fa09c82e
BC
26822010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2683
14e18ae3 2684 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
2685
2686 * tests/util/grub-shell.in: Remove -serial stdio option.
2687
daf892b3
BC
26882010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 POSIX header file wrappers.
2691
2692 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2693 equivalents.
2694 * lib/posix_wrap/ctype.h: Likewise.
2695 * lib/posix_wrap/errno.h: Likewise.
2696 * lib/posix_wrap/langinfo.h: Likewise.
2697 * lib/posix_wrap/limits.h: Likewise.
2698 * lib/posix_wrap/localcharset.h: Likewise.
2699 * lib/posix_wrap/stdint.h: Likewise.
2700 * lib/posix_wrap/stdio.h: Likewise.
2701 * lib/posix_wrap/stdlib.h: Likewise.
2702 * lib/posix_wrap/string.h: Likewise.
2703 * lib/posix_wrap/sys/types.h: Likewise.
2704 * lib/posix_wrap/unistd.h: Likewise.
2705 * lib/posix_wrap/wchar.h: Likewise.
2706 * lib/posix_wrap/wctype.h: Likewise.
2707 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2708 (grub_script.yy.h): Likewise.
2709 * script/yylex.l: Remove POSIX emulation #defines.
2710 * Makefile.in (POSIX_CFLAGS): New variable.
2711 (GNULIB_UTIL_CFLAGS): Likewise.
2712
2713 Regexp support.
2714
2715 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2716 (regexp_mod_SOURCES): New variable.
2717 (regexp_mod_CFLAGS): Likewise.
2718 (regexp_mod_LDFLAGS): Likewise.
2719 * commands/regexp.c: New file.
2720 * gnulib/regcomp.c: New file. Imported from gnulib.
2721 * gnulib/regex.c: Likewise.
2722 * gnulib/regex_internal.c: Likewise.
2723 * gnulib/regex_internal.h: Likewise.
2724 * gnulib/regexec.c: Likewise.
2725 * gnulib/regex.h: Likewise.
2726
974ac4f7
VS
27272010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2730 unsupported video mode types.
2731
2622c3ff
VS
27322010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2735
064cb524
VS
27362010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2739 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2740
a8c3b552
VS
27412010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 Remove unused grub_vga_get_font.
2744
2745 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2746 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2747
187bbe3d
GS
27482010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2749
2750 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2751 * include/grub/misc.h: Likewise.
2752
b9396631
GS
27532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2754
2755 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2756 for which failure is fatal.
2757
50479feb
GS
27582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2759
2760 * util/grub-install.in: Use mkdir -p to create grub directory.
2761 * util/i386/efi/grub-install.in: Likewise.
2762 * util/ieee1275/grub-install.in: Likewise.
2763
b1654fdf
GS
27642010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2765
2766 * Makefile.in (LEX): new variable.
2767
bd5a6415
GS
27682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2769
2770 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2771 `=' and added double quotes on operands of this equality test.
2772
3db3a82b
VS
27732010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * Makefile.in (uninstall): Remove a leftover debug echo.
2776 Reported by: Grégoire Sutre
2777
38023412
VS
27782010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 MIPS multiboot2 support.
2781
2782 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2783 (multiboot2_mod_SOURCES): New variable.
2784 (multiboot2_mod_CFLAGS): Likewise.
2785 (multiboot2_mod_LDFLAGS): Likewise.
2786 (multiboot2_mod_ASFLAGS): Likewise.
2787 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2788 definition.
2789 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2790 (MULTIBOOT_MBI_REGISTER): Likewise.
2791 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2792 (MULTIBOOT_ELF32_MACHINE): Likewise.
2793 (MULTIBOOT_ELF64_MACHINE): Likewise.
2794 * include/grub/mips/multiboot.h: New file.
2795 * include/grub/video.h (grub_video_driver_id): New type
2796 GRUB_VIDEO_DRIVER_SM712.
2797 (grub_video_get_info_and_fini): Export.
2798 (grub_video_get_palette): Likewise.
2799 (grub_video_get_driver_id): Likewise.
2800 * include/multiboot2.h: Resynced with spec.
2801 * loader/i386/multiboot.c: Moved from here ...
2802 * loader/multiboot.c: ... here. All users updated.
2803 (grub_multiboot_boot): Use platform-specific macros.
2804 * loader/i386/multiboot_elfxx.c: Moved from here ...
2805 * loader/multiboot_elfxx.c: ... here. All users updated.
2806 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2807 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2808 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2809
47674667
VS
28102010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 Import gnulib argp module.
2813
2814 * gnulib/argp-ba.c: New file.
2815 * gnulib/argp-eexst.c: Likewise.
2816 * gnulib/argp-fmtstream.c: Likewise.
2817 * gnulib/argp-fmtstream.h: Likewise.
2818 * gnulib/argp-fs-xinl.c: Likewise.
2819 * gnulib/argp-help.c: Likewise.
2820 * gnulib/argp-namefrob.h: Likewise.
2821 * gnulib/argp-parse.c: Likewise.
2822 * gnulib/argp-pin.c: Likewise.
2823 * gnulib/argp-pv.c: Likewise.
2824 * gnulib/argp-pvh.c: Likewise.
2825 * gnulib/argp-version-etc.c: Likewise.
2826 * gnulib/argp-version-etc.h: Likewise.
2827 * gnulib/argp-xinl.c: Likewise.
2828 * gnulib/argp.h: Likewise.
2829
495442ed
VS
28302010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * kern/device.c (grub_device_iterate): Clear errors after failed
2833 opening device.
2834
f9fd65df
VS
28352010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
2838 returned by firmware.
2839
af09641e
VS
28402010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
2843 compilation on coreboot and qemu
2844
016883a5
VS
28452010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * include/multiboot2.h: Resync with spec.
2848
f97e1f7d
VS
28492010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 Multiboot2 tag support
2852
2853 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
2854 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
2855 Remove loader/multiboot_loader.c.
2856 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
2857 (grub_multiboot2_real_boot): Likewise.
2858 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
2859 (grub_get_multiboot_mmap_count): New proto.
2860 (grub_fill_multiboot_mmap): Likewise.
2861 (grub_multiboot_set_video_mode): Likewise.
2862 (grub_multiboot_set_console): Likewise.
2863 (grub_multiboot_load): Likewise.
2864 (grub_multiboot_load_elf): Likewise.
2865 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
2866 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
2867 * include/multiboot.h: Resynced with specification.
2868 * include/multiboot2.h: Resynced with specification.
2869 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2870 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2871 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2872 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2873 users updated.
2874 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2875 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2876 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2877 Removed.
2878 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2879 Moved from here...
2880 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2881 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2882 Moved from here...
2883 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2884 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2885 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2886 All users updated.
2887 * loader/i386/multiboot_mbi2.c: New file.
2888
3506b90b
VS
28892010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 Resync with gnulib.
2892
2893 * Makefile.in (GNULIB_CFLAGS): New variable.
2894 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2895 (grub_script_check_CFLAGS): New variable.
2896 * gnulib/alloca.h: Resync with gnulib.
2897 * gnulib/error.c: Likewise.
2898 * gnulib/error.h: Likewise.
2899 * gnulib/fnmatch.c: Likewise.
2900 * gnulib/fnmatch_loop.c: Likewise.
2901 * gnulib/getdelim.c: Likewise.
2902 * gnulib/getline.c: Likewise.
2903 * gnulib/getopt.c: Likewise.
2904 * gnulib/getopt1.c: Likewise.
2905 * gnulib/getopt_int.h: Likewise.
2906 * gnulib/gettext.h: Likewise.
2907 * gnulib/progname.c: Likewise.
2908 * gnulib/progname.h: Likewise.
2909
394a3120
GS
29102010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2911
2912 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2913 which is the case with --disabled-nls.
2914
2915 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2916 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2917 * util/misc.c: Likewise.
2918 * util/mkisofs/mkisofs.c: Likewise.
2919 * util/mkisofs/mkisofs.h: Likewise.
2920
969d1c78
VS
29212010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Simplify Apple CC support.
2924
2925 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2926 Add 0 byte at the end not to have a symbol with empty target.
2927 * mmap/i386/pc/mmap_helper.S: Likewise.
2928 * genmk.rb: Ignore errors 2030 and 2050.
2929 * kern/i386/pc/startup.S: Use LOCAL when possible.
2930
8d2977bb
BC
29312010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2932
2933 Testcase and the fix for final semicolon on cmdline.
2934
2935 * tests/grub_script_final_semicolon.in: New testcase.
2936 * conf/tests.rmk: Rules for the new testcase.
2937 * script/parser.y: Grammar fix.
2938
a7bd6915
BC
29392010-03-26 BVK Chaitanya <bvk@localhost>
2940
2941 Blank lines testcase for GRUB script.
2942
2943 * tests/grub_script_blanklines.in: New testcase.
2944 * conf/tests.rmk: Rules for the new testcase.
2945
e4ff6628
VS
29462010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 Don't use __FILE__.
2949
2950 * genmk.rb: Add -DGRUB_FILE to all C targets.
2951 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2952 * include/grub/list.h: Likewise.
2953 * include/grub/misc.h: Likewise.
2954 * include/grub/mm.h: Likewise.
2955 * include/grub/test.h: Likewise.
2956 * kern/mm.c: Likewise.
2957 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2958
6a5cf6b6
VS
29592010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 Sunpc partitions support.
2962
2963 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2964 (grub_fstest_SOURCES): Likewise.
2965 (pkglib_MODULES): Add part_sunpc.mod.
2966 (part_sunpc_mod_SOURCES): New variable.
2967 (part_sunpc_mod_CFLAGS): Likewise.
2968 (part_sunpc_mod_LDFLAGS): Likewise.
2969 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2970 * partmap/sunpc.c: New file.
2971
746d9045
BC
29722010-03-26 BVK Chaitanya <bvk@localhost>
2973
2974 For loop support to GRUB script.
2975
2976 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2977 (grub_script_create_cmdfor): New function prototype.
2978 (grub_script_execute_cmdfor): New function prototype.
2979 * script/execute.c (grub_script_execute_cmdfor): New function.
2980 * script/parser.y (command): New for command.
2981 (forcmd): New grammar rule.
2982 * script/script.c (grub_script_create_cmdfor): New function.
2983 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2984 function.
2985 * tests/grub_script_for1.in: New testcase.
2986 * conf/tests.rmk: Rules for new testcase.
2987
18486b18
VS
29882010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 Nested partitions
2991
2992 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2993 'partition' is NULL, grub_partition_get_start already does that.
2994 * commands/loadenv.c (check_blocklists): Likewise.
2995 (write_blocklists): Likewise.
2996 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2997 (grub_fstest_SOURCES): Likewise.
2998 (pkglib_MODULES): Add part_bsd.mod.
2999 (part_bsd_mod_SOURCES): New variable.
3000 (part_bsd_mod_CFLAGS): Likewise.
3001 (part_bsd_mod_LDFLAGS): Likewise.
3002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3003 (grub_emu_SOURCES): Likewise.
3004 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3005 * include/grub/bsdlabel.h: New file.
3006 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3007 'get_name'.
3008 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3009 (grub_partition_map_list): New variable.
3010 (grub_partition_map_register): Inline.
3011 (grub_partition_map_unregister): Likewise.
3012 (FOR_PARTITION_MAPS): New macro.
3013 (grub_partition_map_iterate): Removed.
3014 (grub_partition_get_start): Handle nested partitions.
3015 * include/grub/msdos_partition.h: Remove bsd-related entries.
3016 (grub_pc_partition): Remove.
3017 * kern/disk.c (grub_disk_close): Free partition data.
3018 (grub_disk_adjust_range): Handle nested partitions.
3019 * kern/partition.c (grub_partition_map_probe): New function.
3020 (grub_partition_probe): Parse name to number, handle subpartitions.
3021 (get_partmap): New function.
3022 (grub_partition_iterate): Handle subpartitions.
3023 (grub_partition_get_name): Likewise.
3024 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3025 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3026 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3027 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3028 Set 'number'.
3029 (acorn_partition_map_probe): Remove.
3030 (acorn_partition_map_get_name): Likewise.
3031 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3032 Set 'number'.
3033 Set 'index' to 0 since there can be only one partition entry per sector.
3034 (amiga_partition_map_probe): Remove.
3035 (amiga_partition_map_get_name): Likewise.
3036 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3037 Set 'number'.
3038 Set 'offset' and 'index' to real positions of partitions.
3039 (apple_partition_map_probe): Remove.
3040 (apple_partition_map_get_name): Likewise.
3041 * partmap/bsdlabel.c: New file.
3042 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3043 Set 'number'.
3044 Allocate 'data' so it can be correctly freed.
3045 Set 'index' to offset inside sector.
3046 (gpt_partition_map_probe): Remove.
3047 (gpt_partition_map_get_name): Likewise.
3048 * partmap/msdos.c (grub_partition_parse): Remove.
3049 (pc_partition_map_iterate): Don't force raw access.
3050 Set 'number'.
3051 Make 'ext_offset' a local variable.
3052 (pc_partition_map_probe): Remove.
3053 (pc_partition_map_get_name): Remove.
3054 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3055 Set 'number'.
3056 (sun_partition_map_probe): Remove.
3057 (sun_partition_map_get_name): Likewise.
3058 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3059 (grub_pcpart_type): Likewise.
3060 * util/hostdisk.c (open_device): Handle new numbering scheme.
3061 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3062 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3063 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3064 * util/grub-install.in: Insert all subpartition modules.
3065 * util/ieee1275/grub-install.in: Likewise.
3066
a3940f88
AG
30672010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3068
3069 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3070 grammar.
3071
21b99926 30722010-03-24 Colin Watson <cjwatson@ubuntu.com>
3073
3074 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3075
bed1d352
CW
30762010-03-21 Colin Watson <cjwatson@ubuntu.com>
3077
3078 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3079 match where 'make install' puts them.
3080 * util/i386/efi/grub-install.in: Likewise.
3081
c9f58427
CW
30822010-03-19 Colin Watson <cjwatson@ubuntu.com>
3083
3084 * .bzrignore: Add gentrigtables, grub-script-check,
3085 grub_script_check_init.c, grub_script_check_init.h, and
3086 trigtables.c.
3087
f84afb27
VS
30882010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * kern/parser.c: Indented.
3091
ed0e3d30
VS
30922010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3095
0ea81d98
VS
30962010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3099 alpha_mask_size == 0 case.
3100
0cdc2a09
BC
31012010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3102
3103 GRUB shell lexer and parser improvements.
3104
3105 * conf/any-emu.rmk: Build rule updates.
3106 * conf/common.rmk: Likewise.
3107 * conf/i386-coreboot.rmk: Likewise.
3108 * conf/i386-efi.rmk: Likewise.
3109 * conf/i386-ieee1275.rmk: Likewise.
3110 * conf/i386-pc.rmk: Likewise.
3111 * conf/powerpc-ieee1275.rmk: Likewise.
3112 * conf/x86_64-efi.rmk: Likewise.
3113
3114 * configure.ac: Configure check for flex.
3115
3116 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3117 types.
3118 (grub_lexer_param): Struct member updates.
3119 (grub_parser_param): Likewise.
3120 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3121 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3122 (grub_script_lexer_init): Prototype update.
3123 (grub_script_lexer_record_start): Likewise.
3124 (grub_script_lexer_record_stop): Likewise.
3125 (grub_script_lexer_yywrap): New function prototype.
3126 (grub_script_lexer_fini): Likewise.
3127 (grub_script_execute_argument_to_string): Removed by...
3128 (grub_script_execute_argument_to_argv): ...better version.
3129
3130 * script/execute.c (ROUND_UPTO): New macro.
3131 (grub_script_execute_cmdline): Out of memory fixes.
3132 (grub_script_execute_menuentry): Likewise.
3133 (grub_script_execute_argument_to_string): Removed. Update all
3134 users by...
3135 (grub_script_execute_argument_to_argv): ...better version.
3136 * script/function.c (grub_script_function_create): Use
3137 grub_script_execute_argument_to_argv instead of
3138 grub_script_execute_argument_to_string.
3139
3140 * script/lexer.c (check_varstate): Removed.
3141 (check_textstate): Removed.
3142 (grub_script_lexer_record_start): Likewise.
3143 (grub_script_lexer_record_stop): Likewise.
3144 (recordchar): Replaced with...
3145 (grub_script_lexer_record): ...new function.
3146 (nextchar): Removed.
3147 (grub_script_lexer_init): Rewritten.
3148 (grub_script_yylex): Rewritten.
3149 (append_newline): New function.
3150 (grub_script_lexer_yywrap): New function.
3151 (grub_script_lexer_fini): New function.
3152 (grub_script_yyerror): Sets error flag.
3153
3154 * script/yylex.l: New file.
3155 (grub_lexer_yyfree): Wrapper for flex yyffre.
3156 (grub_lexer_yyalloc): Likewise.
3157 (grub_lexer_yyrealloc): Likewise.
3158 * script/parser.y: Refactored.
3159
3160 * script/script.c (grub_script_arg_add): Out of memory fixes.
3161 (grub_script_add_arglist): Likewise.
3162 (grub_script_create_cmdline): Likewise.
3163 (grub_script_create_cmdmenu): Likewise.
3164 (grub_script_add_cmd): Likewise.
3165 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3166 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3167 unnecessary code.
3168
3169 * tests/grub_script_echo1.in: New testcase.
3170 * tests/grub_script_vars1.in: New testcase.
3171 * tests/grub_script_echo_keywords.in: New testcase.
3172
1d63a066
VS
31732010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 Remove some redundancy in build system.
3176
3177 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3178 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3179 (TARGET_LDFLAGS): Add -nostdlib.
3180 (TARGET_IMG_LDFLAGS): Likewise.
3181 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3182 anything since mmap isn't available.
3183 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3184 Add util/time.c.
3185 (pkglib_MODULES): Remove reboot.mod.
3186 (reboot_mod_SOURCES): Removed.
3187 (reboot_mod_CFLAGS): Likewise.
3188 (reboot_mod_LDFLAGS): Likewise.
3189 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3190 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3191 (DEFSYMFILES): Add kernel_syms.lst.
3192 (kernel_img_HEADERS): Add common headers.
3193 (symlist.c): New target.
3194 (kernel_syms.lst): Likewise.
3195 (pkglib_MODULES): Add memdisk.mod.
3196 (memdisk_mod_SOURCES): New variable.
3197 (memdisk_mod_CFLAGS): Likewise.
3198 (memdisk_mod_LDFLAGS): Likewise.
3199 (pkglib_MODULES): Add reboot.mod.
3200 (reboot_mod_SOURCES): New variable.
3201 (reboot_mod_CFLAGS): Likewise.
3202 (reboot_mod_LDFLAGS): Likewise.
3203 (pkglib_MODULES): Add date.mod.
3204 (date_mod_SOURCES): New variable.
3205 (date_mod_CFLAGS): Likewise.
3206 (date_mod_LDFLAGS): Likewise.
3207 (pkglib_MODULES): Add datehook.mod.
3208 (datehook_mod_SOURCES): New variable.
3209 (datehook_mod_CFLAGS): Likewise.
3210 (datehook_mod_LDFLAGS): Likewise.
3211 (pkglib_MODULES): Add lsmmap.mod.
3212 (lsmmap_mod_SOURCES): New variable.
3213 (lsmmap_mod_CFLAGS): Likewise.
3214 (lsmmap_mod_LDFLAGS): Likewise.
3215 (pkglib_MODULES): Add boot.mod.
3216 (boot_mod_SOURCES): New variable.
3217 (boot_mod_CFLAGS): Likewise.
3218 (boot_mod_LDFLAGS): Likewise.
3219 * conf/i386-coreboot.rmk: Removed redundant parts.
3220 * conf/i386-ieee1275.rmk: Likewise.
3221 * conf/i386-pc.rmk: Likewise.
3222 * conf/mips-yeeloong.rmk: Likewise.
3223 * conf/mips.rmk: Likewise.
3224 * conf/powerpc-ieee1275.rmk: Likewise.
3225 * conf/sparc64-ieee1275.rmk: Likewise.
3226 * conf/x86_64-efi.rmk: Likewise.
3227 * conf/i386-coreboot.rmk: Moved qemu parts ..
3228 * conf/i386-qemu.rmk: ... here
3229 * conf/i386-efi.rmk: Moved common parts to...
3230 * conf/x86-efi.rmk: ... here.
3231 * conf/i386.rmk: Added modules common to all x86 variants.
3232 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3233 * disk/memdisk.c: Remove grub/machine/kernel.h.
3234 * gensymlist.sh.in: Include symbol.h.
3235 * hook/datehook.c: Correct module name.
3236 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3237 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3238 * include/grub/i386/efi/serial.h: New file.
3239 * include/grub/x86_64/efi/serial.h: Likewise.
3240 * util/time.c: Likewise.
3241 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3242
463ac55f
CK
32432010-03-14 Colin King <colin.king@ubuntu.com>
32442010-03-14 Colin Watson <cjwatson@ubuntu.com>
3245
3246 Shrink the pre-partition-table part of boot.img by eight bytes.
3247
3248 * boot/i386/pc/boot.S (ERR): New macro.
3249 (chs_mode): Use ERR.
3250 (geometry_error): Likewise.
3251 (hd_probe_error): Remove. This is only used once, so we wrwite
3252 it inline instead.
3253 (read_error): Instead of printing read_error_string, just set up
3254 %si and fall through to ...
3255 (error_message): ... this new function, also used by ERR.
3256
08e46ede
CW
32572010-03-14 Colin Watson <cjwatson@ubuntu.com>
3258
3259 Speed up consecutive hostdisk operations on the same device.
3260
3261 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3262 (grub_util_biosdisk_open): Initialise disk->data.
3263 (struct linux_partition_cache): New structure.
3264 (linux_find_partition): Cache partition start positions; these are
3265 expensive to compute on every read and write.
3266 (open_device): Cache open file descriptor in disk->data, so that we
3267 don't have to reopen it and flush the buffer cache for consecutive
3268 operations on the same device.
3269 (grub_util_biosdisk_close): New function.
3270 (grub_util_biosdisk_dev): Set `close' member.
3271
3272 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3273 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3274 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3275 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3276 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3277
4a6d2d06
VS
32782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 Compile parts of grub-emu as modules.
3281
3282 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3283 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3284 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3285 (all-local): Add $(GRUB_EMU).
3286 (install-local): Install $(GRUB_EMU).
3287 (uninstall): Uninstall $(GRUB_EMU).
3288 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3289 * kern/dl.c: Likewise.
3290 * commands/sleep.c: Not include machine/time.h.
3291 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3292 (COMMON_CFLAGS): Likewise.
3293 (sbin_UTILITIES): Remove grub-emu.
3294 (grub_emu_SOURCES): Removed.
3295 (kernel_img_RELOCATABLE): New variable.
3296 (pkglib_PROGRAMS): Add kernel.img.
3297 (kernel_img_SOURCES): New variable
3298 (kernel_img_CFLAGS): Likewise.
3299 (kernel_img_LDFLAGS): Likewise.
3300 (TARGET_NO_STRIP): Likewise.
3301 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3302 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3303 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3304 (grub-emu): New target.
3305 (GRUB_EMU): New variable.
3306 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3307 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3308 * loader/xnu.c: Likewise.
3309 * include/grub/pci.h: Likewise.
3310 * genemuinit.sh: New file.
3311 * genemuinitheader.sh: Likewise.
3312 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3313 Support TARGET_NO_DYNAMIC_MODULES.
3314 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3315 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3316 * disk/loopback.c: Likewise.
3317 * font/font_cmd.c: Likewise.
3318 * partmap/acorn.c: Likewise.
3319 * partmap/amiga.c: Likewise.
3320 * partmap/apple.c: Likewise.
3321 * partmap/gpt.c: Likewise.
3322 * partmap/msdos.c: Likewise.
3323 * partmap/sun.c: Likewise.
3324 * parttool/msdospart.c: Likewise.
3325 * term/gfxterm.c: Likewise.
3326 * video/bitmap.c: Likewise.
3327 * video/readers/jpeg.c: Likewise.
3328 * video/readers/png.c: Likewise.
3329 * video/readers/tga.c: Likewise.
3330 * video/video.c: Likewise.
3331 * util/grub-emu.c (read_command_list): Removed.
3332 (main): Don't call util_init_nls.
3333 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3334 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3335
91fdd2ed
VS
33362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3339 date.mod, datehook.mod.
3340 (datetime_mod_SOURCES): New variable.
3341 (datetime_mod_CFLAGS): Likewise.
3342 (datetime_mod_LDFLAGS): Likewise.
3343 (date_mod_SOURCES): Likewise.
3344 (date_mod_CFLAGS): Likewise.
3345 (date_mod_LDFLAGS): Likewise.
3346 (datehook_mod_SOURCES): Likewise.
3347 (datehook_mod_CFLAGS): Likewise.
3348 (datehook_mod_LDFLAGS): Likewise.
3349 * conf/sparc64-ieee1275.rmk: Likewise.
3350 * lib/ieee1275/datetime.c: New file.
3351
873ccae6
VS
33522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3355 (ieee1275_fb_mod_SOURCES): New variable.
3356 (ieee1275_fb_mod_CFLAGS): Likewise.
3357 (ieee1275_fb_mod_LDFLAGS): Likewise.
3358 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3359 New proto.
3360 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3361 (HEAP_MAX_ADDR): Likewise.
3362 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3363 type.
3364 Correct stop condition.
3365 (grub_ieee1275_devices_iterate): New function.
3366 * video/ieee1275.c: New file.
3367
601c97c0
VS
33682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3371
3372 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3373 as scratch.
3374 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3375 SCRATCH_PAD_DISKBOOT as scratch.
3376 (bootit): Pass Openfirmware pointer in %o4.
3377 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3378 of 0x200000.
3379 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3380 with util/grub-mkrawimage.c.
3381 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3382 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3383 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3384 (grub_aout_load) [GRUB_UTIL]: Likewise.
3385 * include/grub/kernel.h (grub_modules_get_end): New proto.
3386 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3387 (SCRATCH_PAD_BOOT): New definition.
3388 (SCRATCH_PAD_DISKBOOT): Likewise.
3389 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3390 * include/grub/sparc64/ieee1275/ieee1275.h
3391 (grub_ieee1275_original_stack): New variable
3392 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3393 New definition
3394 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3395 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3396 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3397 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3398 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3399 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3400 (grub_platform_image_format_t): New type.
3401 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3402 * kern/main.c (grub_modules_get_end)
3403 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3404 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3405 (codestart): Switch stacks.
3406 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3407 variable.
3408 (grub_heap_init): Use grub_modules_get_end.
3409 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3410 stack.
3411 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3412 (main): Likewise.
3413 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3414
d68b491e
TG
34152010-03-14 Thorsten Glaser <tg@mirbsd.org>
3416
3417 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3418
4e02ed50
MK
34192010-03-08 Matt Kraai <kraai@ftbfs.org>
3420
3421 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3422 bug #559005).
3423
1f15fc1e
VS
34242010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * genmoddep.awk: Output all missing symbols and not only first.
3427
fce5d8ff
VS
34282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * NEWS: Put the date of 1.98 release.
3431
d1e8a02f
VS
34322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3435 ft2build.h.
3436
696fd607
VS
34372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3440 completition in the middle of string.
3441
33e2e6f3
VS
34422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * util/grub-mkrescue.in: Use mktemp with explicit template.
3445
b1f6d291
VS
34462010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3449
2ac227c7
VS
34502010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3453 right pointer.
3454
8f9a632b
VS
34552010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Fix FreeBSD compilation.
3458
3459 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3460 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3461
60b03859
VS
34622010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3465
48a5a769
VS
34662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3469
3ab4bd77
VS
34702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3473
d116e0d8
RM
34742010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3475
3476 Support relative image path in theme file.
3477
3478 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3479 (image_set_property): Handle theme_dir and relative path.
3480
c7ef54aa
VS
34812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * configure.ac: Alias amd64 to x86_64.
3484
fcee14ed
VS
34852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * NEWS: mention multiboot on EFI.
3488
d0780363
VS
34892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * kern/main.c (grub_load_modules): Handle errors from init functions of
3492 embeded modules.
3493
41168ea4
VS
34942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * normal/autofs.c (autoload_fs_module): Handle errors.
3497
b54d93ac
VS
34982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 Disable linux.mod on qemu-mips since it's not functional and leads
3501 to compilation failure.
3502
3503 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3504 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3505 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3506 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3507 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3508 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3509 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3510 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3511 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3512 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3513 Reported by: BVK Chaitanya
3514
fc8345da
JU
35152010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3516
3517 * INSTALL: Add gettext as a dependency and add qemu to a new section
3518 "Prerequisites for make-check".
3519
4760f979
CF
35202010-03-04 Christian Franke <franke@computer.org>
3521
3522 * util/grub-pe2elf.c: Add missing include "progname.h".
3523
f209b5b2
VS
35242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * normal/crypto.c (read_crypto_list): Fix a typo.
3527 Reported by: Seth Goldberg.
3528
b4b7be98
VS
35292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 3532 Reported by: Seth Goldberg.
b4b7be98 3533
c0ee0385
VS
35342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3537 ascii.bitmaps.
3538
a8efbf64
VS
35392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 3542 Reported by: Seth Goldberg.
a8efbf64 3543
08dcd913
VS
35442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * util/i386/efi/grub-install.in: Copy gettext files.
3547
c4d0b332
VS
35482010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3551
c6f2fe52
VS
35522010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 Wait for user entry basing on presence of output rather than on errors.
3555
3556 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3557 (grub_install_newline_hook): Likewise.
3558 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3559 * normal/menu.c (show_menu): Check line_counter to determine presence
3560 of output.
3561 * normal/term.c (grub_normal_line_counter): New variable.
3562 (grub_normal_get_line_counter): New function.
3563 (grub_install_newline_hook): Likewise.
3564
5382b1e4
VS
35652010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3568
5519963b
VS
35692010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * configure.ac: Update version to 1.98.
3572
72b28631
VS
35732010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * util/grub.d/10_linux.in (linux_entry): Don't default to
3576 gfxpayload=keep if Linux doesn't support video handover.
3577
c140a180
VS
35782010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 Don't compile video modules on yeeloong since video subsystem is part
3581 of kernel.
3582
3583 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3584 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3585 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3586 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3587 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3588 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3589 * include/grub/bitmap_scale.h: Likewise.
3590 * include/grub/bufio.h: Likewise.
3591 * include/grub/font.h: Likewise.
3592 * include/grub/gfxterm.h: Likewise.
3593 * include/grub/video.h: Likewise.
3594 * include/grub/vbe.h: Don't include video_fb.h.
3595 * video/i386/pc/vbe.c: Include video_fb.h.
3596 * commands/i386/pc/vbetest.c: Include video.h.
3597
a0ca21c2
CW
35982010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3599
3600 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3601 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3602 default entry if GRUB_SAVEDEFAULT=true. This allows using
3603 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3604 saving a new default on every boot.
3605
4a8a763c
VS
36062010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3609 * normal/term.c (read_terminal_list): Likewise.
3610 * normal/main.c (grub_normal_init_page): Likewise.
3611 (grub_normal_read_line_real): Likewise.
3612
607ffde2
VS
36132010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3616 memory leak.
3617 Reported by: Seth Goldberg.
3618
2b8fa975
CW
36192010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3620
3621 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3622 duplicate declaration of `start'.
3623
618307dd
VS
36242010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3627 filename.
3628 Reported by: Georgy Buranov
3629
7dd05b96 36302010-02-20 Carles Pina i Estany <carles@pina.cat>
3631
3632 * util/grub-mkrawimage.c (usage): Change string formatting to
3633 improve gettext.
3634
d1484a42
MRA
36352010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3636
3637 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3638 backspace keys.
3639
42b1d186
VS
36402010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3643 Reported by: Michael Suchanek.
3644
36452010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
3646
3647 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3648 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3649
d9f31a41
VS
36502010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 Remove any reference to non-free fonts.
3653
3654 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3655 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3656 uses non-free components.
3657 * font/font.c (grub_font_get_name): Remove example name.
3658 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3659 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3660 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3661 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3662
2793c71e
GB
36632010-02-16 Georgy Buranov <gburanov@gmail.com>
3664
3665 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3666
402e3779
VS
36672010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3670 Double divisor.
3671 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3672 features.
3673 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3674
0dd1e0dd
VS
36752010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3678
6fa7cfce
ST
36792010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3680
3681 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3682 * docs/grub.texi (Command-line and menu entry commands): Document play
3683 command.
3684
37c8483b
ST
36852010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3686
3687 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3688 parse arguments as inline tempo and notes. Move code for playing notes
3689 to...
3690 (play): ... new function.
3691
14da0fb7
ST
36922010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3693
3694 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3695 grub_uint16_t instead of short.
3696 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3697 disk from little endian to cpu endianness.
3698
04459e70
ST
36992010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3700
3701 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3702 GRUB_TICKS_PER_SECOND instead of 120.
3703
a0876943
VS
37042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3707 escape sequence after \e.
3708
e29f95dc
VS
37092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3712 non-ASCII characters.
3713
d27859b2
VS
37142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3717 set root in single quotes to prevent \, from being unescaped.
3718
bc028f2f
VS
37192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 Prevent unknown commands from stopping menuentry execution.
3722
3723 * script/execute.c (grub_script_execute_cmdline): Print error after
3724 unknown command.
3725
095f5f82
VS
37262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3729 Reported by: Pavel Pisa.
3730
8c717950
VS
37312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3734
904935c3
VS
37352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Merge grub_ieee1275_map_physical into grub_map and rename to
3738 grub_ieee1275_map
3739
3740 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3741 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3742 Remove.
3743 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3744 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3745 necessary.
3746 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3747
5b59a4e3
VS
37482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3751 opening and not after.
3752
69e137e8
VS
37532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3756 constants.
3757
2c0fcc36
VS
37582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3761 (alloc_phys): Use ALIGN_UP instead of align_addr.
3762
8c6052ce
VS
37632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3766
17cec782
VS
37672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3770
e0128bbd
VS
37712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3774 verbose dprintf.
3775
ca62070b
VS
37762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 Fix over-4GiB seek on sparc64.
3779
3780 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3781 Replace pos_i and pos_lo with pos. All users updated.
3782 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3783 New constant.
3784 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3785 Likewise.
3786 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3787 and pos_lo.
3788
bdca2607
VS
37892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * util/grub-mkrawimage.c (main): Call set_program_name.
3792
da278c4d
VS
37932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Properly align 64-bit targets.
3796
3797 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3798 (generate_image): Use ALIGN_ADDR.
3799
b274d734
VS
38002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Properly create cross-endian images.
3803
3804 * include/grub/types.h (grub_host_to_target_addr): New macro
3805 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3806
82da2062
VS
38072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3810
7cae4377
VS
38112010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3814
3815 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3816 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3817 (grub_linux_boot): Divide by 64K when on VESA.
3818
65a533e7
VS
38192010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Support GRUB_GFXPAYLOAD_LINUX.
3822
3823 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3824 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3825
dd01d397
VS
38262010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3829 to show messages instead of discarding them.
3830 Process errors after executing command and not before. Keep old method
3831 too as precaution.
3832
660960d6
VS
38332010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * configure.ac: Check for ft2build.h.
3836
62509f04
VS
38372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
3840
473df63d
VS
38412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * genkernsyms.sh.in: Use TARGET_CC.
3844
c98d2a13
CW
38452010-02-07 Colin Watson <cjwatson@ubuntu.com>
3846
3847 * NEWS: Update.
3848
6e14234c
VS
38492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
3852 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
3853 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 3854
b255e9cf
YB
38552010-02-07 Yves Blusseau <blusseau@zetam.org>
3856
6e14234c 3857 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 3858
98e6959d
VS
38592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Fix warnings in grub-emu when compiling with maximum warning options.
3862
3863 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
3864 (grub_arch_modules_addr): Return 0 and not NULL.
3865 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 3866 (xstrdup): Use newstr instead of dup.
f88d801b
VS
3867 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3868 of disk to dsk to avoid shadowing.
74e4934e
VS
3869 (find_free_slot): Fix prototype.
3870 * util/getroot.c (grub_util_is_dmraid): Make static.
3871 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3872 Add missing prototype.
3873 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 3874
74e31b5c
VS
38752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3878 appropriately.
3879
6b2ad14b
VS
38802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3883 code out.
3884
8f891adc
VS
38852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3888 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3889 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3890 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3891 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3892 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3893
74b45184
VS
38942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * include/grub/err.h (grub_err_printf): Don't export.
3897
a4bced77
VS
38982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3901
007d0695
VS
39022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3905 * kern/misc.c (grub_gettext_dummy): Make static.
3906
b6c0d9c2
VS
39072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3910 by non-valid ones.
3911 * kern/term.c (grub_putchar): Likewise.
3912
f51a90d0
VS
39132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3916 buggy hook call and memory leak.
3917
6846cec5
VS
39182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3921
468d69fe
VS
39222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3925
51906b8c
VS
39262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3929 modevar.
3930 Return grub_errno on allocation error.
3931
09706ce5
VS
39322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3935
911df80c
YB
39362010-02-06 Yves Blusseau <blusseau@zetam.org>
3937
3938 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3939 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3940
3746a6bc
VS
39412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3944 non-pxe disk.
3945 (grub_pxefs_open): Likewise.
3946
09706ce5
VS
39472010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3948
3949 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3950 * util/grub.d/10_kfreebsd.in: Likewise.
3951 * util/grub.d/10_linux.in: Likewise.
3952
7cc192d9
VS
39532010-02-06 Colin D Bennett <colin@gibibit.com>
3954
3955 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3956 (gfxmenu_mod_SOURCES): New variable.
3957 (gfxmenu_mod_CFLAGS): Likewise.
3958 (gfxmenu_mod_LDFLAGS): Likewise.
3959 * include/grub/term.h (grub_term_set_current_output): Declare
3960 argument as const.
3961 * docs/gfxmenu-theme-example.txt: New file.
3962 * gfxmenu/gfxmenu.c: Likewise.
3963 * gfxmenu/gui_box.c: Likewise.
3964 * gfxmenu/gui_canvas.c: Likewise.
3965 * gfxmenu/gui_circular_progress.c: Likewise.
3966 * gfxmenu/gui_image.c: Likewise.
3967 * gfxmenu/gui_label.c: Likewise.
3968 * gfxmenu/gui_list.c: Likewise.
3969 * gfxmenu/gui_progress_bar.c: Likewise.
3970 * gfxmenu/gui_string_util.c: Likewise.
3971 * gfxmenu/gui_util.c: Likewise.
3972 * gfxmenu/icon_manager.c: Likewise.
3973 * gfxmenu/model.c: Likewise.
3974 * gfxmenu/named_colors.c: Likewise.
3975 * gfxmenu/theme_loader.c: Likewise.
3976 * gfxmenu/view.c: Likewise.
3977 * gfxmenu/widget-box.c: Likewise.
3978 * include/grub/gfxmenu_model.h: Likewise.
3979 * include/grub/gfxmenu_view.h: Likewise.
3980 * include/grub/gfxwidgets.h: Likewise.
3981 * include/grub/gui.h: Likewise.
3982 * include/grub/gui_string_util.h: Likewise.
3983 * include/grub/icon_manager.h: Likewise.
3984
39852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Agglomerate scrolling in gfxterm.
3988
3989 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3990 (grub_virtual_screen_setup): Initialise 'total_screen'.
3991 (write_char): Split to ...
3992 (paint_char): ... this ...
3993 (write_char): ... and this.
3994 (paint_char): Handle delayed scrolling.
3995 (draw_cursor): Likewise.
3996 (scroll_up): Split to ...
3997 (real_scroll): ... this ...
3998 (scroll_up): ... and this.
3999 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4000 characters.
4001 (grub_gfxterm_refresh): Call real_scroll.
4002
40032010-02-06 Colin D Bennett <colin@gibibit.com>
4004
4005 * include/grub/misc.h (grub_iscntrl): New inline function.
4006 (grub_isalnum): Likewise.
4007 (grub_strtol): Likewise.
4008
40092010-02-06 Colin D Bennett <colin@gibibit.com>
4010
4011 * normal/menu_text.c (get_entry_number): Move from here ...
4012 * normal/menu.c (get_entry_number): ... moved here.
4013 * include/grub/menu.h (grub_menu_get_default_entry_index):
4014 New prototype.
4015 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4016 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4017 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4018 (grub_menu_viewer_should_return): Likewise.
4019 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4020 * normal/menu_text.c (run_menu): Enable menu switching.
4021 * normal/menu_viewer.c (should_return): New variable.
4022 (menu_viewer_changed): Likewise.
4023 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4024 (grub_menu_viewer_should_return): New function.
4025 (menuviewer_write_hook): Likewise.
4026 (grub_menu_viewer_init): Likewise.
4027
40282010-02-06 Colin D Bennet <colin@gibibit.com>
40292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 Support for gfxterm in a window.
4032
4033 * include/grub/gfxterm.h: New file.
4034 * include/grub/video.h (struct grub_video_rect): New declaration.
4035 (grub_video_rect_t): Likewise.
4036 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4037 (refcount): New variable.
4038 (render_target): Likewise.
4039 (window): Likewise.
4040 (repaint_callback): Likewise.
4041 (grub_virtual_screen_setup): Use 'render_target'.
4042 (init_window): New function.
4043 (grub_gfxterm_init_window): Likewise.
4044 (grub_gfxterm_init): Check reference counter.
4045 Use init_window.
4046 (destroy_window): New function.
4047 (grub_gfxterm_destroy_window): Likewise.
4048 (grub_gfxterm_fini): Check reference counter.
4049 Use destroy_window.
4050 (redraw_screen_rect): Restore viewport.
4051 Use 'render_target' and 'window'.
4052 Call 'repaint_callback'.
4053 (write_char): Use 'render_target'.
4054 (draw_cursor): Likewise.
4055 (scroll_up): Restore viewport.
4056 Use 'render_target' and 'window'.
4057 Call 'repaint_callback'.
4058 (grub_gfxterm_cls): Likewise.
4059 (grub_gfxterm_refresh): Use 'window'.
4060 (grub_gfxterm_set_repaint_callback): New function.
4061 (grub_gfxterm_background_image_cmd): Use 'window'.
4062 (grub_gfxterm_get_term): New function.
4063 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4064
40652010-02-06 Colin D Bennett <colin@gibibit.com>
4066
4067 Bitmap scaling support.
4068
4069 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4070 (bitmap_scale_mod_SOURCES): New variable.
4071 (bitmap_scale_mod_CFLAGS): Likewise.
4072 (bitmap_scale_mod_LDFLAGS): Likewise.
4073 * include/grub/bitmap_scale.h: New file.
4074 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4075 (background_image_cmd_options): New variable.
4076 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4077 (cmd): Rename and change type to ...
4078 (background_image_cmd_handle): ... this. All users updated.
4079 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4080 * video/bitmap_scale.c: New file.
4081
40822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 SDL support.
4085
4086 * Makefile.in (LIBSDL): New variable.
4087 (enable_grub_emu_sdl): Likewise.
4088 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4089 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4090 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4091 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4092 * util/sdl.c: New file.
4093
40942010-02-06 Colin D Bennett <colin@gibibit.com>
40952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 Double buffering support.
4098
4099 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4100 * include/grub/video.h: Update comment.
4101 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4102 New type.
4103 (grub_video_fb_doublebuf_blit_init): New prototype.
4104 * term/gfxterm.c (scroll_up): Support double buffering.
4105 (grub_gfxterm_refresh): Likewise.
4106 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4107 (grub_video_fb_doublebuf_blit_init): Likewise.
4108 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4109 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4110 'displayed_page', 'render_page' and 'update_screen'.
4111 (grub_video_vbe_fini): Free offscreen buffer.
4112 (doublebuf_pageflipping_commit): New function.
4113 (doublebuf_pageflipping_update_screen): Likewise.
4114 (doublebuf_pageflipping_init): Likewise.
4115 (double_buffering_init): Likewise.
4116 (grub_video_vbe_setup): Enable doublebuffering.
4117 (grub_video_vbe_swap_buffers): Implement.
4118 (grub_video_vbe_set_active_render_target): Handle double buffering.
4119 (grub_video_vbe_get_active_render_target): Likewise.
4120 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4121 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4122 (grub_video_vbe_enable_double_buffering): Likewise.
4123 (grub_video_vbe_swap_buffers): Use update_screen.
4124 (grub_video_set_mode): Use double buffering.
4125
41262010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4127
4128 * maintainance/gentrigtables.py: Remove.
4129 * lib/trig.c: Likewise.
4130
4131 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4132
4133 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4134 `trigtables.c'.
4135 (trigtables.c): New rule.
4136 (gentrigtables): Likewise.
4137 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4138
41392010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4140
4141 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4142 integer constants.
4143
41442010-02-06 Colin D Bennet <colin@gibibit.com>
4145
4146 Trigonometry support.
4147
4148 * include/grub/trig.h: New file.
4149 * lib/trig.c: Likewise.
4150 * maintainance/gentrigtables.py: Likewise.
4151 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4152 (trig_mod_SOURCES): New variable.
4153 (trig_mod_CFLAGS): Likewise.
4154 (trig_mod_LDFLAGS): Likewise.
4155
5562834e
VS
41562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4159 disk devices.
4160
4f8528fc
VS
41612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4164 error.
4165
2b4068e9
VS
41662010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * util/hostdisk.c (open_device): Don't use partition device when reading
4169 before the partition.
4170 (grub_util_biosdisk_read): Don't read from partition and before the
4171 partition in single operation.
4172 (grub_util_biosdisk_write): Don't write to partition and before the
4173 partition in single operation.
4174
399f6e4d
TL
41752010-02-03 Torsten Landschoff <torsten@debian.org>
4176
4177 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4178 last sectors.
4179
996649b0
VS
41802010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4183 CDROM reads.
4184 (grub_biosdisk_write): Refuse to write to CDROM.
4185
3b205d4d
VS
41862010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4189
61e89d9d
VS
41902010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * font/font.c (find_glyph): Check that bmp_idx is available before
4193 using it.
4194 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4195 with (font == NULL).
4196
bf7fcba2
CS
41972010-01-28 Christian Schmitt <chris@ilovelinux.de>
4198
4199 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4200
f45d2663
BC
42012010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4202
4203 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4204 * util/grub-script-check.c (getline): Fix empty lines case.
4205
ec1444e6
RM
42062010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4207
4208 * Makefile.in (check): Exit with fail status when one of the tests
4209 fails.
4210 * tests/example_functional_test.c (example_test): Fix reversed assert.
4211 * tests/example_unit_test.c (example_test): Likewise.
4212
2e1cb9bb
CW
42132010-01-28 Colin Watson <cjwatson@ubuntu.com>
4214
4215 * util/grub.d/10_linux.in: This script does not use any of the
4216 contents of gettext.sh, only the external command `gettext', so stop
4217 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4218 the same prefix as GRUB.)
4219 * util/grub.d/10_kfreebsd.in: Likewise.
4220
63533ab0
VS
42212010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4224 of the line.
4225
989e1f93
VS
42262010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4229 last sectors.
4230
e709ebe2
VS
42312010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4234 having a 4KiB and not 32KiB buffer size.
4235
27dea7ed
RM
42362010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4237
4238 * util/hostfs.c: Include `<errno.h>'.
4239 (grub_hostfs_read): Handle errors from fseeko() and fread().
4240
67667b9c
RM
42412010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4242
4243 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4244 loop when using read hooks on files whose size isn't sector-aligned.
4245
c294d9d8
RM
42462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4247
4248 Remove unused parameter.
4249
4250 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4251 (grub_iso9660_open): Remove initialization of `data->length'.
4252
af75a9f1
RM
42532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4254
4255 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4256 memleak conditions.
4257
254e2ce5 42582010-01-27 Carles Pina i Estany <carles@pina.cat>
4259
4260 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4261 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4262
b510928c 42632010-01-26 Carles Pina i Estany <carles@pina.cat>
4264
4265 * util/bin2h.c (usage): Fix warning (space after backslash).
4266
aa2f9dd2 42672010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 4268
4269 * font/font.c: Include `grub/fontformat.h.
4270 Remove font file format constants.
4271 (grub_font_load): Use the new macros.
4272 * include/grub/fontformat.h: New file.
4273 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4274 (write_font_pf2): Use the new macros.
4275
94e7e712
RM
42762010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4277
4278 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4279 does.
4280
3973a59a
RM
42812010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4282
4283 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4284
4285 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4286 (_start): Macroify `0x7F'.
4287
4288 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4289 (make_install_device): Use "(pxe)" as fallback prefix when booting
4290 via PXE.
4291
42e0cba3
GS
42922010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * configure.ac: Reset LIBS after check for libgcc symbols.
4295
847effd8
CW
42962010-01-25 Colin Watson <cjwatson@ubuntu.com>
4297
4298 * util/hostdisk.c (open_device): Add trailing newline to debug
4299 message.
4300
ea4a7e35
GS
43012010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4302
4303 * configure.ac: Check for `limits.h'.
4304 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4305
67951a53
RM
43062010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4307
4308 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4309 capitalize error strings.
4310
c273d4ce
ST
43112010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4312
4313 * util/grub.d/10_hurd.in: Add a recovery mode.
4314
69be5b74
VS
43152010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * configure.ac: Check for libgcc symbols with -nostdlib.
4318
fc9e5810
BC
43192010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4320
4321 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4322
4b358c0a
VS
43232010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4326 stack since heap may be unavailable at that point.
4327 (grub_ofconsole_gotoxy): Likewise.
4328
454fcd1c
VS
43292010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * configure.ac: Check for _restgpr_14_x.
4332 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4333 and _savegpr_* prototypes.
4334
566863ca
RM
43352010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4336
4337 Use generic grub_reboot() for i386-efi.
4338
4339 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4340 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4341 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4342
bf86e59a
VS
43432010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4346 presence of "prefix" variable as it breaks when normal.mod is
4347 embedded.
4348
d645e0f8
VS
43492010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4352 stack since heap is unavailable at that point.
4353
f9ab2e25
VS
43542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4357 (grub_freebsd_bootinfo): Rewritten.
4358 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4359
01fc7054
VS
43602010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4363
caab4fd6
RM
43642010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4365
4366 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4367 domain now.
4368
67eb1427
FZ
43692010-01-20 Felix Zielcke <fzielcke@z-51.de>
4370
4371 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4372 around for handling "/" to the correct fix. Fix a memory leak. Use
4373 xstrdup instead of strdup.
4374
a9ed4ff3
VS
43752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4378
43792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
4380
4381 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4382
4383 * font/font.c (struct grub_font): New member 'bmp_idx'.
4384 (font_init): Initialise 'bmp_idx'.
4385 (load_font_index): Fill 'bmp_idx'.
4386 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4387
48209f4f
VS
43882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4391 unnecessary calls.
4392
9f0a4bb7
VS
43932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 Move context handling out of the kernel.
4396
4397 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4398 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4399 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4400 * conf/i386-efi.rmk: Likewise.
4401 * conf/i386-ieee1275.rmk: Likewise.
4402 * conf/i386-pc.rmk: Likewise.
4403 * conf/powerpc-ieee1275.rmk: Likewise.
4404 * conf/sparc64-ieee1275.rmk: Likewise.
4405 * conf/x86_64-efi.rmk: Likewise.
4406 * include/grub/env.h: Include grub/menu.h.
4407 (grub_env_var_type): Removed.
4408 (grub_env_var): Replaced field 'type' with 'global'.
4409 (grub_env_find): New prototype.
4410 (grub_env_context_open): Remove EXPORT_FUNC.
4411 (grub_env_context_close): Likewise.
4412 (grub_env_export): Likewise.
4413 (grub_env_set_data_slot): Removed.
4414 (grub_env_get_data_slot): Likewise.
4415 (grub_env_unset_data_slot): Likewise.
4416 (grub_env_unset_menu): New prototype.
4417 (grub_env_set_menu): Likewise.
4418 (grub_env_get_menu): Likewise.
4419 * include/grub/env_private.h: New file.
4420 * include/grub/normal.h (grub_context_init): New prototype.
4421 (grub_context_fini): Likewise.
4422 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4423 * normal/context.c (grub_cmd_export): ... to here.
4424 * kern/env.c: Include env_private.h.
4425 (HASHSZ): Moved to include/grub/env_private.h.
4426 (grub_env_context): Likewise.
4427 (grub_env_sorted_var): Likewise.
4428 (current_context): Renamed from this ...
4429 (grub_current_context): ...to this. 'static' removed. All users updated.
4430 (grub_env_find): Removed 'static'.
4431 (grub_env_context_open): Moved to normal/context.c.
4432 (grub_env_context_close): Likewise.
4433 (grub_env_export): Likewise.
4434 (mangle_data_slot_name): Removed.
4435 (grub_env_set_data_slot): Likewise.
4436 (grub_env_get_data_slot): Likewise.
4437 (grub_env_unset_data_slot): Likewise.
4438 * kern/main.c (grub_set_root_dev): Don't export root.
4439 It will be done later.
4440 (grub_main): Don't export prefix.
4441 It will be done later.
4442 * normal/context.c: New file.
4443 * normal/main.c (free_menu): Use grub_env_unset_menu.
4444 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4445 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4446 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4447 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4448
8dd35b8c
VS
44492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 setpci support.
4452
4453 * commands/setpci.c: New file.
4454 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4455 (setpci_mod_SOURCES): New variable.
4456 (setpci_mod_CFLAGS): Likewise.
4457 (setpci_mod_LDFLAGS): Likewise.
4458
449193d5
VS
44592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 Byte-addressable PCI configuration space.
4462
4463 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4464 dword address.
4465 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4466 GRUB_PCI_REG_CACHELINE.
4467 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4468 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4469 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4470 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4471 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4472 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4473 grub_pci_make_address.
4474 (lock_rom_area): Likewise.
4475 * commands/lspci.c (grub_lspci_iter): Use macroses
4476 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4477 of grub_pci_make_address.
4478 * disk/ata.c (grub_ata_pciinit): Likewise.
4479 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4480 (GRUB_PCI_REG_VENDOR): Likewise.
4481 (GRUB_PCI_REG_DEVICE): Likewise.
4482 (GRUB_PCI_REG_COMMAND): Likewise.
4483 (GRUB_PCI_REG_STATUS): Likewise.
4484 (GRUB_PCI_REG_REVISION): Likewise.
4485 (GRUB_PCI_REG_CLASS): Likewise.
4486 (GRUB_PCI_REG_CACHELINE): Likewise.
4487 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4488 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4489 (GRUB_PCI_REG_BIST): Likewise.
4490 (GRUB_PCI_REG_ADDRESSES): Likewise.
4491 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4492 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4493 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4494 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4495 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4496 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4497 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4498 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4499 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4500 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4501 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4502 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4503 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4504 (GRUB_PCI_REG_MIN_GNT): Likewise.
4505 (GRUB_PCI_REG_MAX_LAT): Likewise.
4506 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4507 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4508 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 4509 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
4510 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4511 space.
4512
96d73208
RM
45132010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4514
4515 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4516 can be reliably determined to be supported.
4517
d4484482
RM
45182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4519
4520 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4521 that VESA is supported.
4522 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4523 supported.
4524
00308ecf
VS
45252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4528
f66924a4
RM
45292010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4530
4531 * util/misc.c (make_system_path_relative_to_its_root): Work around
4532 special-casing of "/", as previous incarnation of this routine did.
4533
cbca0ada
VS
45342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 Fix any-emu compilation.
4537
4538 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4539 * grub_bin2h_SOURCES: New variable.
4540
34a66d99
RM
45412010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4542
4543 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4544
94fabf58
RM
45452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4546
4547 * util/grub.d/00_header.in: Fix handling of locale_dir.
4548
02cf98ca
VS
45492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4552 as possible unifont location (Gentoo).
4553 Reported by: Alexander Brüning
4554
327dbcd7
VS
45552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 Don't try to generate lists for kernel.img.
4558
4559 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4560 (pkglib_MODULES): Remove kernel.img.
4561 (kernel_img_EXPORTS): Removed.
4562 (kernel_img_RELOCATABLE): New variable.
4563 * conf/x86_64-efi.rmk: Likewise.
4564 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4565
ca467290
VS
45662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4569 grub_xasprintf or grub_snprintf.
4570 (grub_vsprintf): Likewise.
4571 (grub_snprintf): New proto.
4572 (grub_vsnprintf): Likewise.
4573 (grub_xasprintf): Likewise.
4574 (grub_xvasprintf): Likewise.
4575 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4576 (grub_sprintf): Removed.
4577 (grub_vsnprintf): New function.
4578 (grub_snprintf): Likewise.
4579 (grub_xvasprintf): Likewise.
4580 (grub_xasprintf): Likewise.
4581 (grub_vsprintf): Renamed to ...
4582 (grub_vsnprintf_real): ...this. New argument max_len.
4583
aca655fd
BC
45842010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4585
4586 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4587 fix grub-script-check warning.
4588
7ee92c32
VS
45892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * include/grub/font.h (grub_font_load): Fix prototype.
4592
f80927ca
VS
45932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4596
119c50ea
VS
45972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * include/grub/x86_64/at_keyboard.h: New file.
4600
47d5f3c1
VS
46012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * loader/mips/linux.c: Include missing grub/i18n.h.
4604
55ff5266
RM
46052009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4606
4607 * normal/menu.c (notify_execution_failure): Clarify error message.
4608
c893cc87
RM
46092009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4610
4611 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4612 return value (and revert all return statements). Update users.
4613
917dd370
CW
46142010-01-20 Dan Merillat <debian@dan.merillat.org>
4615
4616 * kern/device.c (grub_device_iterate): Allocate new part_ent
4617 structure based on sizeof (*p) rather than sizeof (p->next), to
4618 account for structure padding.
4619
4620 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4621 disk is NULL, which might happen for LVM physical volumes with no
4622 LVM signature.
4623
d4a4ee57
RM
46242009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4625
4626 * loader/mips/linux.c (grub_cmd_initrd)
4627 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4628
46292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4630
4631 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4632 (grub_video_video_init, grub_video_bitmap_init)
4633 (grub_font_manager_init, grub_term_gfxterm_init)
4634 (grub_at_keyboard_init): New extern declarations.
4635 (grub_machine_init): Initialize gfxterm and at_keyboard.
4636
4637 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4638
4639 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4640 `gfxterm.mod' into core image.
4641
4642 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4643 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4644 (kernel_img_FORMAT): Copy to ...
4645
4646 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4647 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4648 (kernel_img_FORMAT): ... here, and ...
4649
4650 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4651 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4652 (kernel_img_FORMAT): ... here.
4653
4654 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4655 and input (at_keyboard) terminals in kernel.
4656 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4657
4658 (pkglib_MODULES): Remove `pci.mod'.
4659 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4660 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4661 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4662 (at_keyboard_mod_LDFLAGS): Remove variables.
4663
46642010-01-11 Felix Zielcke <fzielcke@z-51.de>
4665
4666 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4667
46682009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4669
4670 * include/grub/mips/libgcc.h: Only export symbols for functions
4671 that libgcc provides.
4672
46732009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 MIPS support.
4676
4677 * bus/bonito.c: New file.
4678 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4679 GRUB_PCI_NUM_DEVICES.
4680 * term/i386/pc/serial.c: Move to ...
4681 * term/serial.c: ... here. All users updated.
4682 * util/i386/pc/grub-mkimage.c: Move to ...
4683 * util/grub-mkrawimage.c: ... here. All users updated.
4684 * term/i386/pc/at_keyboard.c: Move to ...
4685 * term/at_keyboard.c: ... here. All users updated.
4686 * conf/mips-qemu-mips.rmk: New file.
4687 * conf/mips-yeeloong.rmk: Likewise.
4688 * conf/mips.rmk: Likewise.
4689 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4690 mipsel-qemu-mips.
4691 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4692 to port addresses.
4693 (grub_ata_pciinit): Support CS5536.
4694 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4695 * font/font_cmd.c (loadfont_command): Open file before passing it to
4696 grub_font_load.
4697 (pseudo_file_read): New function.
4698 (pseudo_file_close): Likewise.
4699 (pseudo_fs): New structure.
4700 (load_font_module): New function.
4701 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4702 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4703 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4704 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4705 * include/grub/i386/at_keyboard.h: Split into ...
4706 * include/grub/at_keyboard.h: ... this ...
4707 * include/grub/i386/at_keyboard.h: ... and this.
4708 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4709 New prototype.
4710 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4711 updated.
4712 (grub_elf64_size): Likewise.
4713 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4714 filename.
4715 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4716 * include/grub/i386/coreboot/serial.h: Rewritten.
4717 * include/grub/i386/ieee1275/serial.h: Include
4718 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4719 * include/grub/i386/pc/serial.h: Moved from here ...
4720 * include/grub/serial.h: ... to here. All users updated.
4721 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4722 (GRUB_PCI_NUM_BUS): Likewise.
4723 (GRUB_PCI_NUM_DEVICES): Likewise.
4724 (grub_pci_device_map_range): Add missing volatile keyword.
4725 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4726 * include/grub/mips/at_keyboard.h: New file.
4727 * include/grub/mips/cache.h: Likewise.
4728 * include/grub/mips/io.h: Likewise.
4729 * include/grub/mips/kernel.h: Likewise.
4730 * include/grub/mips/libgcc.h: Likewise.
4731 * include/grub/mips/pci.h: Likewise.
4732 * include/grub/mips/qemu-mips/boot.h: Likewise.
4733 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4734 * include/grub/mips/qemu-mips/loader.h: Likewise.
4735 * include/grub/mips/qemu-mips/memory.h: Likewise.
4736 * include/grub/mips/qemu-mips/serial.h: Likewise.
4737 * include/grub/mips/qemu-mips/time.h: Likewise.
4738 * include/grub/mips/relocator.h: Likewise.
4739 * include/grub/mips/time.h: Likewise.
4740 * include/grub/mips/types.h: Likewise.
4741 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4742 * include/grub/mips/yeeloong/boot.h: Likewise.
4743 * include/grub/mips/yeeloong/kernel.h: Likewise.
4744 * include/grub/mips/yeeloong/loader.h: Likewise.
4745 * include/grub/mips/yeeloong/memory.h: Likewise.
4746 * include/grub/mips/yeeloong/pci.h: Likewise.
4747 * include/grub/mips/yeeloong/serial.h: Likewise.
4748 * include/grub/mips/yeeloong/time.h: Likewise.
4749 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4750 * kern/elf.c (grub_elf32_size): New parameter. All users
4751 updated.
4752 (grub_elf64_size): Likewise.
4753 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4754 Load modules before saying "Welcome to GRUB!".
4755 Call grub_refresh after saying "Welcome to GRUB!".
4756 * kern/mips/cache.S: New file.
4757 * kern/mips/cache_flush.S: Likewise.
4758 * kern/mips/dl.c: Likewise.
4759 * kern/mips/init.c: Likewise.
4760 * kern/mips/qemu-mips/init.c: Likewise.
4761 * kern/mips/startup.S: Likewise.
4762 * kern/mips/yeeloong/init.c: Likewise.
4763 * kern/term.c (grub_putcode): Handle NULL terminal.
4764 (grub_getcharwidth): Likewise.
4765 (grub_getkey): Likewise.
4766 (grub_checkkey): Likewise.
4767 (grub_getkeystatus): Likewise.
4768 (grub_getxy): Likewise.
4769 (grub_getwh): Likewise.
4770 (grub_gotoxy): Likewise.
4771 (grub_cls): Likewise.
4772 (grub_setcolorstate): Likewise.
4773 (grub_setcolor): Likewise.
4774 (grub_getcolor): Likewise.
4775 (grub_refresh): Likewise.
4776 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4777 (write_jump): Add hatch nop.
4778 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4779 * lib/mips/setjmp.S: New file.
4780 * loader/mips/linux.c: Likewise.
4781 * term/i386/pc/at_keyboard.c: Move from here ...
4782 * term/at_keyboard.c: ... to here.
4783 * term/i386/pc/serial.c: Moved from here ...
4784 * term/serial.c: ... to here. All users updated.
4785 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4786 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4787 (serial_translate_key_sequence): Avoid deadlock.
4788 (grub_serial_getkey): Handle backspace.
4789 (grub_serial_putchar): Fix newline handling.
4790 * util/i386/pc/grub-mkimage.c: Move from here ...
4791 * util/grub-mkrawimage.c: ... to here. All users updated.
4792 (generate_image): New parameters 'font_path' and 'format'.
4793 Support embedding font.
4794 Use grub_host_to_target* instead of grub_cpu_to_le*.
4795 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4796 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4797 (options): New option "--font".
4798 (usage): Likewise.
4799 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4800 (main): Handle "--font".
4801 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4802 (grub_virtual_screen_setup): Set bg_color_display.
4803 (redraw_screen_rect): Use bg_color_display instead of incorrect
4804 bg_color.
4805 (grub_gfxterm_cls): Likewise.
4806 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4807 Support embedding config file.
4808 (add_segments): Likewise.
4809 (options): New option "--config".
4810 (main): Handle "--config".
4811 * video/sm712.c: New file.
4812
25c2b5b3
RM
48132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4814
4815 Fix parallel builds.
4816
4817 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4818 font.c depend on ascii.h).
4819
48202010-01-12 Carles Pina i Estany <carles@pina.cat>
4821
4822 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4823
48242010-01-11 Carles Pina i Estany <carles@pina.cat>
4825
4826 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4827 By default: disabled.
4828 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4829 parameter.
4830
48312010-01-10 Carles Pina i Estany <carles@pina.cat>
4832
4833 * font/font.c: Update copyright years.
4834 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4835
48362010-01-10 Carles Pina i Estany <carles@pina.cat>
4837
4838 * font/font.c: Include `ascii.h'.
4839 (ASCII_BITMAP_SIZE): New macro.
4840 (ascii_font_glyph): Define.
4841 (ascii_glyph_lookup): New function.
4842 (grub_font_get_string_width): Change comment. If glyph not found, use
4843 ascii_glyph_lookup.
4844 (grub_font_get_glyph_with_fallback): If glyph not available returns
4845 ascii_glyph_lookup.
4846 * util/grub-mkfont.c (file_formats): New enum.
4847 (options): Add `ascii-bitmaps' new option.
4848 (usage): Add `asii-bitmaps' new option.
4849 (write_font_ascii_bitmap): New function.
4850 (write_font): Rename to ...
4851 (write_font_p2): ... this. Remove print_glyphs call.
4852 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
4853 used. Call print_glyphs.
4854 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
4855
48562010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4857
4858 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
4859 (grub_bin2h_SOURCES): New variable.
4860 * util/bin2h.c: New file.
4861
915fc1b8
VS
48622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * include/multiboot.h: Resynced with spec.
4865 * include/multiboot2.h: Likewise.
4866 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
4867 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4868
9444b678
RM
48692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4870
4871 * include/grub/term.h (grub_term_register_input,
4872 grub_term_register_output): Check return of terminal init()
4873 routines, and abort if errors are raised.
4874
4875 * commands/terminal.c: Update copyright year.
4876
cba98e8d
RM
48772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4878
4879 * commands/terminal.c (grub_cmd_terminal_input)
4880 (grub_cmd_terminal_output): Check return of terminal init()
4881 routines, and abort if errors are raised.
4882
6f7db5d6
VS
48832010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * include/grub/i386/bsd.h: Fix include pathes.
4886
262bff8d
VS
48872010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 Add missing *BSD copyright headers.
4890
4891 * include/grub/aout.h: Add BSD licence.
4892 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4893 * include/grub/i386/freebsd_linker.h: ... here,
4894 * include/grub/i386/freebsd_reboot.h: ... here,
4895 * include/grub/i386/netbsd_bootinfo.h: ... here,
4896 * include/grub/i386/netbsd_reboot.h: ... here,
4897 * include/grub/i386/openbsd_bootarg.h: ... here,
4898 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4899 licence to each file.
4900
b2cab848
RM
49012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4902
4903 * acinclude.m4: Remove `nop' assembly instruction; it's not
4904 implemented by all architectures.
4905
2cb6be4b
RM
49062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4907
4908 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4909 ELILO. This is no longer necessary.
4910
a2eaee15
BC
49112010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4912
4913 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4914
4915 * util/grub-script-check.c: grub-script-check tool.
4916 * conf/common.rmk: Make rules for grub-script-check.
4917
88d17012
RM
49182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4919
4920 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4921 spotting it back in 2008. Shame on me for forgetting he did.
4922
4923 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4924
8040619d
RM
49252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4926
4927 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4928 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4929 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4930 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4931 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4932 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4933
a0c2a0f6
RM
49342010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4935
4936 * include/grub/test.h: Add license header.
4937 * tests/example_functional_test.c: Likewise.
4938 * tests/example_unit_test.c: Likewise.
4939 * tests/lib/functional_test.c: Likewise.
4940 * tests/lib/test.c: Likewise.
4941 * tests/lib/unit_test.c: Likewise.
4942
b0b13907
VS
49432010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 Use flag-based instead of hook-based video mode selection and "auto"
4946 keyword.
4947
4948 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4949 (grub_video_set_mode): Changed prototype. All users updated.
4950 (grub_video_check_mode_flag): New inline function.
4951 * video/video.c (parse_modespec): New function.
4952 (grub_video_set_mode): Parse flags and keywords.
4953
ea379330 49542010-01-17 Carles Pina i Estany <carles@pina.cat>
4955
4956 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4957 fprintf call.
4958
e15c215e
FZ
49592010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4960
4961 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4962
409ae1c9 49632010-01-16 Carles Pina i Estany <carles@pina.cat>
4964
4965 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4966 string.
4967 * util/grub-emu.c (usage): Likewise.
4968 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4969 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4970 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4971 * util/i386/pc/grub-setup.c (usage): Likewise.
4972
70a14d3d 49732010-01-16 Carles Pina i Estany <carles@pina.cat>
4974
4975 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4976 the message.
4977 (grub_util_info): Likewise.
4978 (grub_util_error): Likewise.
4979 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4980 and/or new lines in `grub_util_warna', `grub_util_info',
4981 `grub_util_error' calls.
4982 * util/getroot.c: Likewise.
4983 * util/grub-editenv.c: Likewise.
4984 * util/grub-emu.c: Likewise.
4985 * util/grub-fstest.c: Likewise.
4986 * util/grub-mkdevicemap.c: Likewise.
4987 * util/grub-mkfont.c: Likewise.
4988 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4989 * util/grub-mkrelpath.c: Likewise.
4990 * util/grub-pe2elf.c: Likewise.
4991 * util/grub-probe.c: Likewise.
4992 * util/hostdisk.c: Likewise.
4993 * util/i386/efi/grub-mkimage.c: Likewise.
4994 * util/i386/pc/grub-mkimage.c: Likewise.
4995 * util/i386/pc/grub-setup.c: Likewise.
4996 * util/ieee1275/ofpath.c: Likewise.
4997 * util/mkisofs/eltorito.c: Likewise.
4998 * util/mkisofs/rock.c: Likewise.
4999 * util/mkisofs/write.c: Likewise.
5000 * util/raid.c: Likewise.
5001 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5002 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5003
a0b766fc
VS
50042010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 Enable multiboot on non-pc.
5007
5008 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5009 multiboot.mod and multiboot2.mod to ...
5010 * conf/i386.rmk (pkglib_MODULES): ... here.
5011 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5012 Moved to ...
5013 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5014 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5015 Moved to ...
5016 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5017 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5018 Moved to ...
5019 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5020 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5021 Moved to ...
5022 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5023 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5024 relocator.mod.
5025 (ata_mod_SOURCES): Removed.
5026 (ata_mod_CFLAGS): Likewise.
5027 (ata_mod_LDFLAGS): Likewise.
5028 (relocator_mod_SOURCES): Removed.
5029 (relocator_mod_CFLAGS): Likewise.
5030 (relocator_mod_ASFLAGS): Likewise.
5031 (relocator_mod_LDFLAGS): Likewise.
5032 Include i386.mk.
5033 * include/grub/x86_64/multiboot.h: New file.
5034 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5035 Terminate EFI.
5036
884ade56
VS
50372010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 Video multiboot support.
5040
5041 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5042 New prototype.
5043 * include/multiboot.h: Resynced with multiboot specification.
5044 * include/multiboot2.h: Likewise.
5045 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5046 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5047 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5048 (HAS_VGA_TEXT): Likewise.
5049 (accepts_video): New variable.
5050 (grub_multiboot_set_accepts_video): New function.
5051 (grub_multiboot_get_mbi_size): Account for video structures.
5052 (set_video_mode): New function.
5053 (retrieve_video_parameters): Likewise.
5054 (grub_multiboot_make_mbi): Fill video fields.
5055
0d90e8a6
VS
50562010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 Video driver ids.
5059
5060 * include/grub/video.h (grub_video_driver_id): New type.
5061 (grub_video_adapter): New member 'id'. All users updated.
5062 (grub_video_get_driver_id): New proto.
5063 * video/video.c (grub_video_get_driver_id): New function.
5064
5c71db1b 50652010-01-14 Carles Pina i Estany <carles@pina.cat>
5066
5067 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5068 `var=val'.
5069
cca15b52 50702010-01-14 Carles Pina i Estany <carles@pina.cat>
5071
5072 * normal/cmdline.c (print_completion): Gettextizze.
5073
c586fbb2 50742001-01-14 Carles Pina i Estany <carles@pina.cat>
5075
5076 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5077
ba2f6848 50782010-01-14 Carles Pina i Estany <carles@pina.cat>
5079
5080 * gettext/gettext.c (grub_gettext_translate): Push and pop
5081 grub_errno.
5082 (grub_gettext_delete_list): Change comment style.
5083 * kern/err.c (grub_error): Gettextizze.
5084 (grub_fatal): Gettextizze.
5085
0a46429a
RM
50862010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5087
5088 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5089 (grub_linux16_real_boot): ... this.
5090 * kern/i386/loader.S: Likewise.
5091 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5092 (grub_linux16_boot): New function. Switches to text mode and calls
5093 grub_linux16_real_boot().
5094
5095 * loader/i386/bsd.c: Include `<grub/video.h>'.
5096 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5097 text mode before calling grub_unix_real_boot().
5098
5099 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5100 (grub_multiboot_boot): Switch to text mode before calling
5101 grub_relocator32_boot().
5102
5103 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5104 (grub_chainloader_boot): Switch to text mode before calling
5105 grub_chainloader_real_boot().
5106
d6f93a66
RM
51072010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
51082010-01-05 Colin Watson <cjwatson@ubuntu.com>
5109
5110 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5111 non-empty value.
5112
51132010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
51142010-01-05 Colin Watson <cjwatson@ubuntu.com>
5115
5116 * util/grub.d/00_header.in: Define a "savedefault" function for use
5117 in menu entries.
5118 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5119
51202010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
51212010-01-05 Colin Watson <cjwatson@ubuntu.com>
5122
5123 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5124 saved_entry if boot_once is unset.
5125 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5126 previous saved entry (i.e. grub-reboot).
5127
51282009-12-08 Colin Watson <cjwatson@ubuntu.com>
5129
5130 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5131
51322009-12-08 Colin Watson <cjwatson@ubuntu.com>
5133
5134 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5135 `var=val'.
5136 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5137
51382009-12-08 Colin Watson <cjwatson@ubuntu.com>
5139
5140 * util/grub-reboot.in: Fix --version output.
5141 * util/grub-set-default.in: Likewise.
5142
51432009-12-08 Colin Watson <cjwatson@ubuntu.com>
5144
5145 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5146 blocks.
5147
51482009-12-08 Colin Watson <cjwatson@ubuntu.com>
5149
5150 * util/grub.d/00_header.in: Quote the value assigned to `default',
5151 in case it contains spaces.
5152
51532009-12-08 Colin Watson <cjwatson@ubuntu.com>
5154
5155 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5156 `save_default_entry' call from the macosx case to the linux case.
5157
51582009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
51592009-10-25 Colin Watson <cjwatson@ubuntu.com>
5160
5161 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5162 in `chosen' environment variable.
5163 * normal/menu_text.c (get_entry_number): Check if the variable
5164 matches the title of a menu entry.
5165 (run_menu): Pass menu to get_entry_number.
5166
5167 * util/grub-reboot.in: New file.
5168 * util/grub-set-default.in: New file.
5169 * conf/common.rmk (grub-reboot): New utility.
5170 (grub-set-default): New utility.
5171
5172 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5173 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5174 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5175 move it to `saved_entry' for the next boot. Load environment on
5176 initialisation.
5177 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5178 * util/grub.d/10_hurd.in: Likewise.
5179 * util/grub.d/10_linux.in (linux_entry): Likewise.
5180 * util/grub.d/10_windows.in: Likewise.
5181 * util/grub.d/30_os-prober.in: Likewise.
5182
5183 * util/grub-install.in: Create environment block.
5184 * util/i386/efi/grub-install.in: Likewise.
5185 * util/ieee1275/grub-install.in: Likewise.
5186 * util/sparc64/ieee1275/grub-install.in: Likewise.
5187
0934d184
BC
51882010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5189
5190 Unit testing framework for GRUB.
5191
5192 * Makefile.in: Test framework build rules for 'make check'.
5193 * conf/tests.rmk: Build rules for individual tests and framework.
5194
5195 * include/grub/test.h: Header file for whitebox tests.
5196 * tests/lib/functional_test.c: Framework support for whitebox
5197 functional tests.
5198 * tests/lib/test.c: Common whitebox testing code for unit and
5199 functional tests.
5200 * tests/lib/unit_test.c: Framework support for whitebox unit
5201 tests.
5202
5203 * tests/util/grub-shell-tester.in: Support utility for grub-script
5204 tests.
5205 * tests/util/grub-shell.in: Utility to execute grub-script
5206 commands in a Qemu instance.
5207
5208 * tests/example_functional_test.c: Example whitebox functional
5209 test.
5210 * tests/example_grub_script_test.in: Example grub-script test.
5211 * tests/example_scripted_test.in: Example scripted test.
5212 * tests/example_unit_test.c: Example whitebox unit test.
5213
9c4ffeeb
VS
52142010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5217 Add loader/i386/multiboot_mbi.c.
5218 (multiboot2_mod_SOURCES): Likewise.
5219 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5220 (multiboot2_mod_SOURCES): Likewise.
5221 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5222 (grub_multiboot_make_mbi): Likewise.
5223 (grub_multiboot_free_mbi): Likewise.
5224 (grub_multiboot_init_mbi): Likewise.
5225 (grub_multiboot_add_module): Likewise.
5226 (grub_multiboot_set_bootdev): Likewise.
5227 * loader/i386/multiboot.c (mbi): Removed.
5228 (mbi_dest): Likewise.
5229 (alloc_mbi): New variable.
5230 (grub_multiboot_payload_size): Removed. All users updated.
5231 (grub_multiboot_pure_size): New variable.
5232 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5233 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5234 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5235 (grub_fill_multiboot_mmap): Likewise.
5236 (grub_multiboot_get_bootdev): Likewise.
5237 (grub_multiboot): Use multiboot_mbi functions.
5238 * loader/i386/multiboot_mbi.c: New file.
5239
17383dfe
VS
52402010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5243 it would result in module crash.
5244
c1f28820
VS
52452010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5248 (grub_ofconsole_getwh): Split to ...
5249 (grub_ofconsole_getwh): ... this.
5250 (grub_ofconsole_dimensions): ...and this.
5251 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5252
58655a16
RM
52532010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5254
5255 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5256
10891398
VS
52572010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * loader/i386/pc/multiboot2.c: Removed stalled file.
5260
0b8a223c
VS
52612010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5264 Reported by: Grégoire Sutre
5265
92ab12b0
RM
52662010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5267
5268 * util/misc.c (canonicalize_file_name): New function.
5269 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5270 instead of realpath().
5271
a788afb6
CW
52722010-01-11 Colin Watson <cjwatson@ubuntu.com>
5273
5274 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5275 and make it clearer that it's optional. Based on confusion
5276 witnessed on IRC.
5277
ffa8e3d2
VS
52782010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5281 in premature implicit newline.
5282
e9060a9d
VS
52832010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5286 which resulted in garbled command line at the end of screen.
5287
f0d0c0b7
RM
52882010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5289
5290 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5291 initialization with similar approach as with other Linux loaders.
5292
0e60bae7
RM
52932010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5294
5295 Fix i386-ieee1275 build.
5296
5297 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5298 and grub_term_height() for video_{width,height} initialization.
5299
53002010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
5301
5302 Fix grub-emu build.
5303
5304 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5305
cdb3f378
RM
53062010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
53072010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5308
5309 Support for multiple terminals.
5310
5311 * Makefile.in (pkglib_DATA): terminal.lst.
5312 (terminal.lst): New target.
5313 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5314 (GRUB_MOD_INIT(handler)): Likewise.
5315 (GRUB_MOD_FINI(handler)): Likewise.
5316 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5317 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5318 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5319 (grub_cmd_sleep): Use grub_term_save_pos.
5320 * commands/terminal.c: New file.
5321 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5322 commands/terminal.c and lib/charset.c.
5323 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5324 (pkglib_MODULES): Add terminal.mod.
5325 (terminal_mod_SOURCES): New variable.
5326 (terminal_mod_CFLAGS): Likewise.
5327 (terminal_mod_LDFLAGS): Likewise.
5328 * genhandlerlist.sh: Don't handle terminals.
5329 * genmk.rb: Generate terminal-*.lst.
5330 * genterminallist.sh: New file.
5331 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5332 (grub_is_valid_utf8): Likewise.
5333 (grub_utf8_to_ucs4_alloc): Likewise.
5334 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5335 (grub_menu_register_viewer): Changed argument.
5336 (grub_menu_try_text): New proto.
5337 (grub_gfxmenu_try_hook): New declaration.
5338 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5339 (grub_menu_init_page): Additional argument term.
5340 (grub_normal_init_page): Likewise.
5341 (grub_cmdline_get): Arguments simplified.
5342 (grub_utf8_to_ucs4_alloc): Removed.
5343 (grub_print_ucs4): Additional argument term.
5344 (grub_getstringwidth): Likewise.
5345 (grub_print_message_indented): Likewise.
5346 (grub_menu_text_register_instances): New proto.
5347 (grub_show_menu): Likewise.
5348 (read_terminal_list): Likewise.
5349 (grub_set_more): Likewise.
5350 * include/grub/parser.h: Include handler.h.
5351 * include/grub/reader.h: Rewritten.
5352 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5353 (GRUB_TERM_WIDTH): Changed to function.
5354 (GRUB_TERM_HEIGHT): Likewise.
5355 (GRUB_TERM_BORDER_WIDTH): Likewise.
5356 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5357 (GRUB_TERM_NUM_ENTRIES): Likewise.
5358 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5359 (GRUB_TERM_CURSOR_X): Likewise.
5360 (grub_term_input_class): Likewise.
5361 (grub_term_output_class): Likewise.
5362 (grub_term_outputs_disabled): New declaration.
5363 (grub_term_inputs_disabled): Likewise.
5364 (grub_term_outputs): Likewise.
5365 (grub_term_inputs): Likewise.
5366 (grub_term_register_input): Rewritten.
5367 (grub_term_register_output): Likewise.
5368 (grub_term_unregister_input): Likewise.
5369 (grub_term_unregister_output): Likewise.
5370 (FOR_ACTIVE_TERM_INPUTS): New macro.
5371 (FOR_DISABLED_TERM_INPUTS): Likewise.
5372 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5373 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5374 * include/grub/terminfo.h: Add oterm argument to all protypes.
5375 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5376 Use grub_rescue_run.
5377 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5378 All users updated.
5379 * kern/reader.c: Removed. All users updated.
5380 * kern/rescue_reader.c (grub_rescue_init): Removed.
5381 (grub_rescue_reader): Likewise.
5382 (grub_register_rescue_reader): Likewise.
5383 (grub_rescue_run): New function based on kern/reader.c.
5384 * kern/term.c: Adapted for multiterm.
5385 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5386 (grub_is_valid_utf8): Likewise.
5387 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5388 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5389 right terminal.
5390 * loader/i386/linux.c (grub_linux_boot): Likewise.
5391 * normal/auth.c (grub_username_get): New function.
5392 (grub_auth_check_authentication): Use grub_username_get.
5393 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5394 * normal/color.c: Adapt for multiterm.
5395 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5396 (grub_normal_init_page): Additional argument term.
5397 (read_lists): Call read_terminal_lists.
5398 (grub_enter_normal_mode): Call grub_cmdline_run.
5399 Handle grub_normal_exit_level.
5400 (grub_cmd_normal): Make reentrant.
5401 (grub_cmd_normal_exit): New function.
5402 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5403 * normal/menu.c: Adapt for multiterm.
5404 * normal/menu_entry.c: Likewise.
5405 * normal/menu_text.c: Likewise.
5406 * normal/menu_viewer.c: Removed. All users updated.
5407 * normal/term.c: New file.
5408 * util/console.c: Change order of includes to workaround a bug in
5409 ncurses headers.
5410 * term/terminfo.c: New argument oterm on all exported functions.
5411 All users updated.
5412 * util/grub-editenv.c (grub_term_input_class): Removed.
5413 (grub_term_output_class): Likewise.
5414
1a064917
RM
54152010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5416
5417 Make loader output a bit more user-friendly.
5418
5419 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5420 is being loaded. Likewise for the Hurd.
5421
5422 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5423 that kernel of FreeBSD ${version} is being loaded.
5424
5425 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5426 grub_dprintf().
5427 (grub_cmd_initrd): Likewise.
5428 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5429 that Linux ${version} is being loaded. Likewise for initrd.
5430
5ce0a83a 54312010-01-09 Carles Pina i Estany <carles@pina.cat>
5432
5433 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5434
809bbfeb 54352010-01-08 Carles Pina i Estany <carles@pina.cat>
5436
5437 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5438 (GRUB_MOD_INIT): Gettextizze.
5439 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5440 (GRUB_MOD_INIT): Gettextizze.
5441 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5442 (grub_cmd_linux): Capitalise Linux.
5443 (GRUB_MOD_INIT): Gettextizze.
5444 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5445 (grub_cmd_linux): Capitalise Linux.
5446 (GRUB_MOD_INIT): Gettextizze.
5447 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5448 (grub_cmd_linux): Capitalise Linux.
5449 (GRUB_MOD_INIT): Gettextizze.
5450 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5451 (GRUB_MOD_INIT): Gettextizze.
5452 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5453 (grub_cmd_linux): Capitalise Linux.
5454 (GRUB_MOD_INIT): Gettextizze.
5455 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5456 (grub_cpu_xnu_init): Gettextizze.
5457 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5458 (GRUB_MOD_INIT): Gettextizze.
5459 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5460 (GRUB_MOD_INIT): Gettextizze.
5461 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5462 (grub_linux_load64): Capitalise Linux.
5463 (GRUB_MOD_INIT): Gettextizze.
5464 * loader/xnu.c: Include `<grub/i18n.h>'.
5465 (GRUB_MOD_INIT): Gettextizze.
5466 * po/POTFILES: Add `loader/efi/appleloader.c',
5467 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5468 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5469 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5470 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5471 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5472 and `loader/xnu.c'.
5473
b394b2ca
RM
54742010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5475
5476 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5477
54782010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
5479
5480 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5481 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5482 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5483
bc8b32b3
RM
54842010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5485
5486 Reset Multiboot 2 support. New loader implements the draft in
5487 /branches/multiboot2 and shares as much code as possible with the
5488 production Multiboot 1 implementation.
5489
5490 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5491 * loader/multiboot2.c: Likewise.
5492 * loader/i386/multiboot_helper.S: Likewise.
5493 * include/multiboot2.h: Replace with latest version from the draft
5494 in /branches/multiboot2.
5495
5496 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5497 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5498 and `loader/multiboot2.c'.
5499 (pkglib_MODULES): Add `multiboot2.mod'.
5500 (multiboot2_mod_SOURCES): New variable.
5501 (multiboot2_mod_LDFLAGS): Likewise.
5502 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5503
5504 * conf/i386-pc.rmk: Likewise.
5505
5506 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5507 (multiboot_mod_SOURCES): Remove variable.
5508 (multiboot_mod_LDFLAGS): Likewise.
5509 (multiboot_mod_CFLAGS): Likewise.
5510
5511 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5512 `<multiboot2.h>' instead of `<multiboot.h>'.
5513 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5514 (MULTIBOOT_HEADER_MAGIC): New macros.
5515
5516 * loader/multiboot_loader.c (module_version_status): Remove variable.
5517 (find_multi_boot2_header): Remove function.
5518 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5519 logic. Always check for the Multiboot version we're compiling for.
5520 (grub_cmd_module_loader): Likewise.
5521 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5522 command instead of `multiboot'.
5523
5d2c52b8
RM
55242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5525
5526 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5527 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5528 all users.
5529
53108d92
RM
55302010-01-07 Robert Millan <rmh.grub@aybabtu.com>
55312010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 Fix breakage introduced with previous commit.
5534
5535 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5536 commands.
5537 * normal/handler.c (read_handler_list): Revert part of previous commit
5538 affecting this file.
5539 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5540 (grub_normal_execute): ... here.
5541
e2e936b2
RM
55422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5543
5544 Merge prefix-redefinition-fix branch.
5545
5546 * normal/autofs.c (read_fs_list): Make function capable of being
5547 run multiple times, gracefuly replacing the previous data
5548 structures.
5549 * normal/dyncmd.c (read_command_list): Likewise.
5550 * normal/handler.c (read_handler_list): Likewise.
5551 * normal/main.c (read_lists): New function. Calls all the
5552 list reading functions.
5553 (grub_normal_execute): Use read_lists() instead of calling all
5554 list reading functions explicitly. Register read_lists() as a
5555 variable hook attached to ${prefix}.
5556
607a3701
VS
55572010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 Merge crypto branch.
5560
5561 * Makefile.in (pkglib_DATA): Add crypto.lst.
5562 (crypto.lst): New target.
5563 * commands/hashsum.c: New file.
5564 * commands/password.c (check_password): Use grub_crypto_memcmp.
5565 * commands/password_pbkdf2.c: New file.
5566 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5567 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5568 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5569 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5570 -I$(srcdir)/lib/libgcrypt_wrap.
5571 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5572 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5573 password_pbkdf2.mod.
5574 (crypto_mod_SOURCES): New variable.
5575 (crypto_mod_CFLAGS): Likewise.
5576 (crypto_mod_LDFLAGS): Likewise.
5577 (hashsum_mod_SOURCES): New variable.
5578 (hashsum_mod_CFLAGS): Likewise.
5579 (hashsum_mod_LDFLAGS): Likewise.
5580 (pbkdf2_mod_SOURCES): New variable.
5581 (pbkdf2_mod_CFLAGS): Likewise.
5582 (pbkdf2_mod_LDFLAGS): Likewise.
5583 (password_pbkdf2_mod_SOURCES): New variable.
5584 (password_pbkdf2_mod_CFLAGS): Likewise.
5585 (password_pbkdf2_mod_LDFLAGS): Likewise.
5586 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5587 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5588 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5589 Include conf/gcry.rmk.
5590 * include/grub/auth.h: Rewritten.
5591 * include/grub/crypto.h: New file.
5592 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5593 * include/grub/normal.h (read_crypto_list): New prototype.
5594 * lib/crypto.c: New file.
5595 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5596 * lib/pbkdf2.c: Likewise.
5597 * normal/auth.c (grub_auth_strcmp): Removed.
5598 (grub_iswordseparator): Likewise.
5599 (grub_auth_strword): Likewise.
5600 (is_authenticated): Use grub_strword.
5601 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5602 and grub_strword. Pass entered password to authentication callback.
5603 * normal/crypto.c: New file.
5604 * normal/main.c: Call read_crypto_list.
5605 * util/grub-mkpasswd-pbkdf2.c: New file.
5606 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5607
42841caa
VS
56082010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Fix descent and ascent calculation.
5611
5612 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5613 (options): New option "asce".
5614 (usage): Likewise.
5615 (add_char): Ignore invalid glyphs for descent calculation.
5616 Calculate ascent from actual content.
5617 (print_glyphs): Use 'asce'.
5618 (write_font): Likewise. Allow ascent override.
5619 (main): Handle "asce" option.
5620
e7730de7 56212010-01-06 Carles Pina i Estany <carles@pina.cat>
5622
5623 * kern/err.c: Include `<grub/i18n.h>'.
5624 (grub_print_error): Add full stop. Gettextizze.
5625 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5626 (grub_bsd_load_elf): Capitalise ELF.
5627 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5628 (grub_cmd_freebsd_module): Likewise.
5629 (grub_cmd_freebsd_module_elf): Likewise.
5630 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5631
40e3a41f 56322010-01-06 Carles Pina i Estany <carles@pina.cat>
5633
5634 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5635 * commands/search_file.c (HELP_MESSAGE): New macro.
5636 * commands/search_label.c (HELP_MESSAGE): Likewise.
5637 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5638 * po/POTFILES: Add `commands/search_file.c',
5639 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5640 `commands/search.c'.
5641
83507e68
RM
56422010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5643
5644 * config.rpath: Update from Gnulib.
5645
465c787b
YB
56462010-01-05 Yves Blusseau <blusseau@zetam.org>
5647
5648 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5649
6581dd3a
YB
56502010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5651
5652 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5653
3bff18c5
CW
56542010-01-05 Colin Watson <cjwatson@ubuntu.com>
5655
5656 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5657 arguments to fread so that we get a return value in bytes, rather
5658 than something that will normally be rounded down to 0.
5659 Adjust error handling to avoid producing garbage when size_t is not
5660 the same size as long long.
5661
a1368118
CW
56622010-01-05 Colin Watson <cjwatson@ubuntu.com>
5663
5664 * util/mkisofs/write.c (padblock_write): Check return value of
5665 fread.
5666
7c302978
RM
56672010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5668
5669 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5670 floppy images now.
5671
5672 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5673
e33ace06
RM
56742010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5675
5676 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5677 instead of manual alignment.
5678 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5679 verbose). Avoid attempts to read past end of the device
5680 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5681 but GRUB_DISK_CACHE_SIZE may exceed that).
5682
4b856776
RM
56832010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5684
5685 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5686 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5687 it to upper layer.
5688
52c2d97f
VS
56892010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5692 New constant.
5693 (grub_efi_piwg_device_path): New structure
5694 (grub_efi_piwg_device_path_t): New type.
5695 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5696 (devpath_1): Transform to a structure. All users updated.
5697 (devpath_2): Likewise.
5698 (devpath_3): Likewise.
5699 (devpath_4): Likewise.
5700 (devpath_5): Likewise.
5701
98ff6a54
VS
57022010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * loader/efi/appleloader.c: Restored. Update all users.
5705
3a73dcb6
RM
57062010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5707
5708 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5709
5710 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5711 (struct boot_blocklist): Move from here ...
5712 * include/grub/i386/pc/boot.h [ASM_FILE]
5713 (struct grub_boot_blocklist): ... to here. Update all users.
5714 (setup): Only initialize `start' member of `first_block'
5715 structure. Add assert() calls to verify the other members.
5716
5717 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5718 (generate_image): Fix broken blocklist length initialization.
5719 Add assert() call to verify blocklist `segment' field.
5720
ab0eeb0c
RM
57212010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5722
5723 * loader/efi/appleloader.c: Remove. Update all users.
5724
58bc8bd5
RM
57252010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5726
5727 * boot/i386/pc/boot.S: Update copyright year.
5728 * boot/i386/pc/cdboot.S: Likewise.
5729 * boot/i386/pc/diskboot.S: Likewise.
5730 * boot/i386/pc/lnxboot.S: Likewise.
5731 * boot/i386/pc/pxeboot.S: Likewise.
5732 * bus/pci.c: Likewise.
5733 * commands/cmp.c: Likewise.
5734 * commands/help.c: Likewise.
5735 * commands/hexdump.c: Likewise.
5736 * commands/i386/pc/halt.c: Likewise.
5737 * commands/i386/pc/play.c: Likewise.
5738 * commands/i386/pc/vbeinfo.c: Likewise.
5739 * commands/ls.c: Likewise.
5740 * commands/test.c: Likewise.
5741 * disk/dmraid_nvidia.c: Likewise.
5742 * disk/i386/pc/biosdisk.c: Likewise.
5743 * disk/ieee1275/nand.c: Likewise.
5744 * disk/ieee1275/ofdisk.c: Likewise.
5745 * disk/lvm.c: Likewise.
5746 * disk/raid.c: Likewise.
5747 * disk/raid6_recover.c: Likewise.
5748 * disk/scsi.c: Likewise.
5749 * fs/affs.c: Likewise.
5750 * fs/cpio.c: Likewise.
5751 * fs/ext2.c: Likewise.
5752 * fs/hfs.c: Likewise.
5753 * fs/iso9660.c: Likewise.
5754 * fs/ntfs.c: Likewise.
5755 * fs/sfs.c: Likewise.
5756 * fs/udf.c: Likewise.
5757 * fs/ufs.c: Likewise.
5758 * fs/xfs.c: Likewise.
5759 * gencmdlist.sh: Likewise.
5760 * genmk.rb: Likewise.
5761 * include/grub/disk.h: Likewise.
5762 * include/grub/efi/api.h: Likewise.
5763 * include/grub/efi/efi.h: Likewise.
5764 * include/grub/efi/pe32.h: Likewise.
5765 * include/grub/elf.h: Likewise.
5766 * include/grub/fs.h: Likewise.
5767 * include/grub/i386/at_keyboard.h: Likewise.
5768 * include/grub/i386/pc/memory.h: Likewise.
5769 * include/grub/i386/pc/vbe.h: Likewise.
5770 * include/grub/i386/pci.h: Likewise.
5771 * include/grub/i386/tsc.h: Likewise.
5772 * include/grub/ieee1275/ieee1275.h: Likewise.
5773 * include/grub/ntfs.h: Likewise.
5774 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5775 * include/grub/sparc64/libgcc.h: Likewise.
5776 * include/grub/symbol.h: Likewise.
5777 * include/grub/types.h: Likewise.
5778 * include/multiboot2.h: Likewise.
5779 * io/gzio.c: Likewise.
5780 * kern/device.c: Likewise.
5781 * kern/disk.c: Likewise.
5782 * kern/efi/efi.c: Likewise.
5783 * kern/efi/mm.c: Likewise.
5784 * kern/elf.c: Likewise.
5785 * kern/file.c: Likewise.
5786 * kern/i386/dl.c: Likewise.
5787 * kern/i386/pc/init.c: Likewise.
5788 * kern/i386/pc/startup.S: Likewise.
5789 * kern/ieee1275/ieee1275.c: Likewise.
5790 * kern/ieee1275/init.c: Likewise.
5791 * kern/main.c: Likewise.
5792 * kern/mm.c: Likewise.
5793 * kern/powerpc/dl.c: Likewise.
5794 * kern/sparc64/dl.c: Likewise.
5795 * kern/x86_64/dl.c: Likewise.
5796 * lib/hexdump.c: Likewise.
5797 * loader/efi/appleloader.c: Likewise.
5798 * loader/i386/ieee1275/linux.c: Likewise.
5799 * loader/i386/pc/chainloader.c: Likewise.
5800 * loader/i386/pc/linux.c: Likewise.
5801 * loader/i386/pc/multiboot2.c: Likewise.
5802 * loader/ieee1275/multiboot2.c: Likewise.
5803 * loader/multiboot2.c: Likewise.
5804 * loader/multiboot_loader.c: Likewise.
5805 * loader/powerpc/ieee1275/linux.c: Likewise.
5806 * normal/completion.c: Likewise.
5807 * normal/menu_entry.c: Likewise.
5808 * partmap/apple.c: Likewise.
5809 * util/grub.d/10_hurd.in: Likewise.
5810 * util/hostfs.c: Likewise.
5811 * video/readers/png.c: Likewise.
5812
e2d70b5c
CW
58132010-01-03 Colin Watson <cjwatson@ubuntu.com>
5814
5815 * include/grub/misc.h (GNUC_PREREQ): New macro.
5816 (ATTRIBUTE_ERROR): New macro.
5817 * include/grub/list.h (grub_bad_type_cast_real): Use
5818 ATTRIBUTE_ERROR.
5819
a173283f 58202010-01-03 Carles Pina i Estany <carles@pina.cat>
5821
5822 * normal/menu_text.c (print_message): Change messages.
5823
7fa7ff74 58242010-01-03 Carles Pina i Estany <carles@pina.cat>
5825
5826 * normal/menu_entry.c (store_completion): Gettextizze.
5827
136d24f6 58282010-01-03 Carles Pina i Estany <carles@pina.cat>
5829
5830 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5831
f936862e 58322010-01-03 Carles Pina i Estany <carles@pina.cat>
5833
5834 * po/POTFILES: Sort correctly.
5835
29c44ad1 58362010-01-03 Carles Pina i Estany <carles@pina.cat>
5837
5838 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
5839 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5840 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
5841 full stop.
5842 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
5843 summary. Gettextizze the strings.
5844 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
5845 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
5846 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
5847 full stop.
5848 (GRUB_MOD_INIT): Remove command name from summary.
5849 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
5850 summary.
5851 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
5852 * term/i386/pc/serial.c (options): Add full stops.
5853 (GRUB_MOD_INIT): Remove command name from the summary.
5854
77a79592 58552010-01-03 Carles Pina i Estany <carles@pina.cat>
5856
5857 * commands/acpi.c: Gettextizze help strings and/or options. Include
5858 `grub/i18n.h' if needed.
5859 * commands/blocklist.c: Likewise.
5860 * commands/boot.c: Likewise.
5861 * commands/cat.c: Likewise.
5862 * commands/cmp.c: Likewise.
5863 * commands/configfile.c: Likewise.
5864 * commands/crc.c: Likewise.
5865 * commands/date.c: Likewise.
5866 * commands/echo.c: Likewise.
5867 * commands/efi/fixvideo.c: Likewise.
5868 * commands/efi/loadbios.c: Likewise.
5869 * commands/gptsync.c: Likewise.
5870 * commands/halt.c: Likewise.
5871 * commands/handler.c: Likewise.
5872 * commands/hdparm.c: Likewise.
5873 * commands/hexdump.c: Likewise.
5874 * commands/i386/cpuid.c: Likewise.
5875 * commands/i386/pc/drivemap.c: Likewise.
5876 * commands/i386/pc/halt.c: Likewise.
5877 * commands/i386/pc/pxecmd.c: Likewise.
5878 * commands/i386/pc/vbeinfo.c: Likewise.
5879 * commands/i386/pc/vbetest.c: Likewise.
5880 * commands/ieee1275/suspend.c: Likewise.
5881 * commands/keystatus.c: Likewise.
5882 * commands/loadenv.c: Likewise.
5883 * commands/ls.c: Likewise.
5884 * commands/lsmmap.c: Likewise.
5885 * commands/lspci.c: Likewise.
5886 * commands/memrw.c: Likewise.
5887 * commands/minicmd.c: Likewise.
5888 * commands/parttool.c: Likewise.
5889 * commands/password.c: Likewise.
5890 * commands/probe.c: Likewise.
5891 * commands/read.c: Likewise.
5892 * commands/reboot.c: Likewise.
5893 * commands/search.c: Likewise.
5894 * commands/sleep.c: Likewise.
5895 * commands/test.c: Likewise.
5896 * commands/true.c: Likewise.
5897 * commands/usbtest.c: Likewise.
5898 * commands/videotest.c: Likewise.
5899 * commands/xnu_uuid.c: Likewise.
5900 * disk/loopback.c: Likewise.
5901 * hello/hello.c: Likewise.
5902 * loader/i386/bsd.c: Likewise.
5903 * term/i386/pc/serial.c: Likewise.
5904 * po/POTFILES: Add new files.
5905
da8d5c53
CW
59062010-01-02 Colin Watson <cjwatson@ubuntu.com>
5907
5908 * term/i386/pc/at_keyboard.c
5909 (keyboard_controller_wait_untill_ready): Rename to ...
5910 (keyboard_controller_wait_until_ready): ... this. Update all users.
5911
33937904 59122010-01-01 Carles Pina i Estany <carles@pina.cat>
5913
5914 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5915 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5916 string using string width.
5917 * normal/menu_text.c (grub_print_message_indented): Use
5918 grub_print_spaces and not print_spaces.
5919 (print_timeout): Likewise.
5920 (print_spaces): Move to...
5921 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5922
3fd3b8d8
RM
59232010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5924
5925 Import from Gnulib.
5926
5927 * gnulib/getdelim.c: New file.
5928 * gnulib/getline.c: Likewise.
5929
33433555
VS
59302009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5931
5932 * include/grub/list.h (grub_assert_fail): Removed.
5933 (grub_bad_type_cast_real): New function.
5934 (grub_bad_type_cast): New macro.
5935 (GRUB_AS_LIST): Use grub_bad_type_cast.
5936 (GRUB_AS_LIST_P): Likewise.
e44721e8 5937 (GRUB_AS_NAMED_LIST): Likewise.
33433555 5938 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 5939 (GRUB_AS_PRIO_LIST): Likewise.
33433555 5940 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 5941 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 5942
f5a51306
VS
59432009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5946 Fix syntax error.
5947
90d1e879
RM
59482009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5949
5950 * configure.ac: Check for TARGET_CFLAGS initialization before we
5951 initialize it ourselves (sigh).
5952 Move a few modifications to TARGET_CFLAGS to be unconditional
5953 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5954 eh_frame)
5955
5956 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5957 * term/i386/pc/at_keyboard.c
5958 (keyboard_controller_wait_untill_ready): Likewise.
5959 (keyboard_controller_led): Rename `led_status' paramter to avoid
5960 name conflict.
5961
465b5a81 59622009-12-28 Carles Pina i Estany <carles@pina.cat>
5963
5964 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5965 quotes.
5966
c181849b
VS
59672009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5970
9c8739a4
VS
59712009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * normal/menu_text.c (grub_print_message_indented): Prevent
5974 past-the-end-of-array dereference.
5975
3e74249c
VS
59762009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5979 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5980
64fd18ed 59812009-12-27 Carles Pina i Estany <carles@pina.cat>
5982
5983 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5984 * normal/main.c (grub_normal_read_line): Remove a space from the
5985 default prompt.
5986
714af9b9 59872009-12-27 Carles Pina i Estany <carles@pina.cat>
5988
5989 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5990 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5991 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5992 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5993 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5994 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5995 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5996
82f3e412 59972009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 5998
5999 * video/readers/jpeg.c (cmd): Declare.
6000 (grub_cmd_jpegtest): Use `grub_command_t' type.
6001 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6002 Assign to `cmd'.
6003 (GRUB_MOD_FINI): Use `cmd' to unregister.
6004 * video/readers/png.c (cmd): Declare.
6005 (grub_cmd_pngtest): Use `grub_command_t' type.
6006 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6007 Assign to `cmd'.
6008 (GRUB_MOD_FINI): Use `cmd' to unregister.
6009 * video/readers/tga.c (cmd): Declare.
6010 (grub_cmd_tgatest): Use `grub_command_t' type.
6011 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6012 Assign to `cmd'.
6013 (GRUB_MOD_FINI): Use `cmd' to unregister.
6014
82f3e412 60152009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 6016
6017 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6018 stops.
6019 * kern/corecmd.c (grub_register_core_commands): Likewise.
6020 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6021 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6022 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6023 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6024 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6025 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6026 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6027 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6028 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6029 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6030 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6031 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6032 * normal/handler.c (insert_handler): Likewise.
6033 * normal/main.c (GRUB_MOD_INIT): Likewise.
6034 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6035
fdcdbb66 60362009-12-26 Carles Pina i Estany <carles@pina.cat>
6037
6038 * commands/help.c (grub_cmd_help): Print the command name before the
6039 summary.
6040 (GRUB_MOD_INIT): Remove command name from the summary.
6041 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 6042 string as summary.
fdcdbb66 6043 * lib/arg.c (find_long): Print the command name before the summary.
6044 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6045 summary.
6046 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6047 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6048 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6049 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6050 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6051 * commands/date.c (GRUB_MOD_INIT): Likewise.
6052 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6053 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6054 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6055 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6056 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6057 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6058 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6059 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6060 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6061 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6062 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6063 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6064 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6065 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6066 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6067 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6068 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6069 * commands/password.c (GRUB_MOD_INIT): Likewise.
6070 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6071 * commands/read.c (GRUB_MOD_INIT): Likewise.
6072 * commands/search.c (GRUB_MOD_INIT): Likewise.
6073 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6074 * commands/test.c (GRUB_MOD_INIT): Likewise.
6075 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6076 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6077 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6078 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6079 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6080 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6081 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6082 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6083 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6084 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6085 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6086 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6087 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6088 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6089
9c288be2
VS
60902009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 Use search command for preliminar UUID search.
6093
6094 * commands/search.c: Split into ...
6095 * commands/search_wrap.c: ...this
6096 * commands/search.c: ...and this.
6097 * commands/search_file.c: New file.
6098 * commands/search_label.c: New file.
6099 * commands/search_uuid.c: New file.
6100 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6101 Add commands/search_wrap.c, commands/search_file.c,
6102 commands/search_label.c and commands/search_uuid.c.
6103 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6104 (search_mod_SOURCES): Set to commands/search_wrap.c.
6105 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6106 search_label.mod.
6107 (search_fs_file_mod_SOURCES): New variable.
6108 (search_fs_file_mod_CFLAGS): Likewise.
6109 (search_fs_file_mod_LDFLAGS): Likewise.
6110 (search_label_mod_SOURCES): Likewise.
6111 (search_label_mod_CFLAGS): Likewise.
6112 (search_label_mod_LDFLAGS): Likewise.
6113 (search_fs_uuid_mod_SOURCES): New variable.
6114 (search_fs_uuid_mod_CFLAGS): Likewise.
6115 (search_fs_uuid_mod_LDFLAGS): Likewise.
6116 (fs_file_mod_SOURCES): Removed.
6117 (fs_file_mod_CFLAGS): Likewise.
6118 (fs_file_mod_LDFLAGS): Likewise.
6119 (fs_uuid_mod_SOURCES): Removed.
6120 (fs_uuid_mod_CFLAGS): Likewise.
6121 (fs_uuid_mod_LDFLAGS): Likewise.
6122 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6123 Set to util/grub-install.in.
6124 * disk/fs_file.c: Removed.
6125 * disk/fs_uuid.c: Likewise.
6126 * include/grub/search.h: New file.
6127 * util/grub-install.in: Handle sparc64.
6128 Create and use load.cfg.
6129 * util/sparc64/ieee1275/grub-install.in: Removed.
6130
db943399
VS
61312009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6134 Ignore return status if CF is cleared.
6135 (grub_biosdisk_get_diskinfo_standard): Likewise.
6136
3fdae612
RM
61372009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6138
6139 * term/i386/pc/at_keyboard.c
6140 (keyboard_controller_wait_untill_ready): New function.
6141 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6142 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6143 for keyboard polling, rather than duplicate the same loop. This
6144 saves a few bytes in code size.
6145
7ebaa2b4
VS
61462009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 Support for (pxe[:server[:gateway]]) syntax and
6149 use environment variable for PXE.
6150
6151 * commands/i386/pc/pxecmd.c (options): Removed.
6152 (print_ip): Removed.
6153 (grub_cmd_pxe): Removed
6154 (grub_cmd_pxe_unload): New function.
6155 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6156 (grub_pxe_your_ip): Made static.
6157 (grub_pxe_default_server_ip): Likewise.
6158 (grub_pxe_default_gateway_ip): Likewise.
6159 (grub_pxe_blksize): Likewise.
6160 (parse_ip): New function.
6161 (grub_pxe_open): Support server and gateway specification.
6162 (grub_pxe_close): Free disk->data.
6163 (grub_pxefs_open): Use disk->data.
6164 (grub_pxefs_read): Likewise.
6165 (grub_env_write_readonly): New function.
6166 (set_mac_env): Likewise.
6167 (set_env_limn_ro): Likewise.
6168 (parse_dhcp_vendor): Likewise.
6169 (grub_pxe_detect): Set the environment variables.
6170 (set_ip_env): New function.
6171 (write_ip_env): Likewise.
6172 (grub_env_write_pxe_default_server): Likewise.
6173 (grub_env_write_pxe_default_gateway): Likewise.
6174 (grub_env_write_pxe_blocksize): Likewise.
6175 (GRUB_MOD_INIT(pxe)): Set environment variables.
6176 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6177 (grub_pxe_mac_addr_t): ... this. All users updated.
6178 (grub_pxe_your_ip): Removed.
6179 (grub_pxe_server_ip): Likewise.
6180 (grub_pxe_gateway_ip): Likewise.
6181 (grub_pxe_blksize): Likewise.
6182
ec5f98ab 61832009-12-25 Carles Pina i Estany <carles@pina.cat>
6184
6185 * commands/help.c: Include `<grub/i18n.h>'.
6186 (grub_cmd_help): Gettextizze.
6187 (GRUB_MOD_INIT): Likewise.
6188 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6189 (GRUB_MOD_INIT): Gettextizze.
6190 * commands/search.c: Include `<grub/i18n.h>'.
6191 (options): Gettextizze.
6192 (GRUB_MOD_INIT): Gettextizze.
6193 * lib/arg.c: Include `<grub/i18n.h>'.
6194 (help_options): Gettextizze.
6195 (find_long): Likewise.
6196 (grub_arg_show_help): Likewise.
6197 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6198 (read_command_list): Gettextizze.
6199 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 6200 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 6201
22815526
RM
62022009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6203
6204 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6205 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6206 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6207 (led_status): New variable.
6208 (keyboard_controller_led): New function.
6209 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6210 update led status for caps lock, num lock and scroll lock.
6211
0ad46fd7
FZ
62122009-12-25 Felix Zielcke <fzielcke@z-51.de>
6213
6214 * util/hostdisk.c (open_device): Fix a comment.
6215
d0e158c2
RM
62162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6217
6218 * util/grub-install.in (host_os): New variable.
6219 * util/i386/efi/grub-install.in (host_os): Likewise.
6220
401c0ad6
RM
62212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6222
6223 * util/mkisofs/write.c (padblock_write): Abort when given an
6224 excedingly large embed image, instead of silently truncating it.
6225
d14d3370
RM
62262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6227
6228 * include/multiboot.h: Indentation fixes.
6229
eeed10b4
RM
62302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6231
6232 * include/multiboot.h (struct multiboot_aout_symbol_table)
6233 (struct multiboot_elf_section_header_table): New structure
6234 declarations (stolen from GRUB Legacy).
6235 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6236 table information.
6237
6238 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6239 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6240 type aliases.
6241
681c70ab
RM
62422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6243
6244 * include/multiboot.h: Make comments src2texi-friendly.
6245
e4d47d8d
RM
62462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6247
6248 For consistency with [multiboot]/docs/boot.S.
6249
6250 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6251 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6252 (MULTIBOOT_MAGIC2): Rename from this ...
6253 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6254
a0b70bda
RM
62552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6256
6257 * include/multiboot.h: Remove `<grub/types.h>'.
6258 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6259 types. Update all users.
6260
61ba42be 62612009-12-25 Carles Pina i Estany <carles@pina.cat>
6262
6263 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6264 `couldn't' and `can not' by `cannot'.
6265 * commands/i386/pc/drivemap.c: Likewise.
6266 * disk/ata.c: Likewise.
6267 * disk/ieee1275/nand.c: Likewise.
6268 * fs/affs.c: Likewise.
6269 * fs/fat.c: Likewise.
6270 * fs/hfs.c: Likewise.
6271 * fs/hfsplus.c: Likewise.
6272 * fs/iso9660.c: Likewise.
6273 * fs/jfs.c: Likewise.
6274 * fs/minix.c: Likewise.
6275 * fs/reiserfs.c: Likewise.
6276 * fs/sfs.c: Likewise.
6277 * fs/udf.c: Likewise.
6278 * fs/ufs.c: Likewise.
6279 * fs/xfs.c: Likewise.
6280 * loader/powerpc/ieee1275/linux.c: Likewise.
6281 * loader/sparc64/ieee1275/linux.c: Likewise.
6282 * util/grub-probe.c: Likewise.
6283 * util/misc.c: Likewise.
6284
7fd0baee 62852009-12-24 Carles Pina i Estany <carles@pina.cat>
6286
6287 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6288 grub_errno calls.
6289 * commands/acpi.c: Likewise.
6290 * commands/blocklist.c: Likewise.
6291 * commands/efi/loadbios.c: Likewise.
6292 * commands/i386/pc/drivemap.c: Likewise.
6293 * commands/loadenv.c: Likewise.
6294 * commands/memrw.c: Likewise.
6295 * commands/password.c: Likewise.
6296 * commands/videotest.c: Likewise.
6297 * disk/ata.c: Likewise.
6298 * disk/ata_pthru.c: Likewise.
6299 * disk/dmraid_nvidia.c: Likewise.
6300 * disk/ieee1275/nand.c: Likewise.
6301 * disk/ieee1275/ofdisk.c: Likewise.
6302 * disk/loopback.c: Likewise.
6303 * disk/lvm.c: Likewise.
6304 * disk/mdraid_linux.c: Likewise.
6305 * disk/raid.c: Likewise.
6306 * disk/raid6_recover.c: Likewise.
6307 * disk/scsi.c: Likewise.
6308 * efiemu/main.c: Likewise.
6309 * efiemu/mm.c: Likewise.
6310 * efiemu/pnvram.c: Likewise.
6311 * efiemu/symbols.c: Likewise.
6312 * font/font.c: Likewise.
6313 * fs/cpio.c: Likewise.
6314 * fs/hfsplus.c: Likewise.
6315 * fs/iso9660.c: Likewise.
6316 * fs/jfs.c: Likewise.
6317 * fs/minix.c: Likewise.
6318 * fs/ntfs.c: Likewise.
6319 * fs/ntfscomp.c: Likewise.
6320 * fs/reiserfs.c: Likewise.
6321 * fs/ufs.c: Likewise.
6322 * fs/xfs.c: Likewise.
6323 * gettext/gettext.c: Likewise.
6324 * include/grub/auth.h: Likewise.
6325 * kern/elf.c: Likewise.
6326 * kern/file.c: Likewise.
6327 * kern/ieee1275/init.c: Likewise.
6328 * kern/ieee1275/mmap.c: Likewise.
6329 * kern/ieee1275/openfw.c: Likewise.
6330 * kern/powerpc/dl.c: Likewise.
6331 * kern/sparc64/dl.c: Likewise.
6332 * lib/arg.c: Likewise.
6333 * loader/i386/bsd.c: Likewise.
6334 * loader/i386/bsdXX.c: Likewise.
6335 * loader/i386/efi/linux.c: Likewise.
6336 * loader/i386/efi/xnu.c: Likewise.
6337 * loader/i386/ieee1275/linux.c: Likewise.
6338 * loader/i386/linux.c: Likewise.
6339 * loader/i386/multiboot.c: Likewise.
6340 * loader/i386/pc/linux.c: Likewise.
6341 * loader/i386/pc/multiboot2.c: Likewise.
6342 * loader/i386/xnu.c: Likewise.
6343 * loader/ieee1275/multiboot2.c: Likewise.
6344 * loader/macho.c: Likewise.
6345 * loader/machoXX.c: Likewise.
6346 * loader/multiboot2.c: Likewise.
6347 * loader/multiboot_loader.c: Likewise.
6348 * loader/powerpc/ieee1275/linux.c: Likewise.
6349 * loader/sparc64/ieee1275/linux.c: Likewise.
6350 * loader/xnu.c: Likewise.
6351 * loader/xnu_resume.c: Likewise.
6352 * mmap/i386/pc/mmap.c: Likewise.
6353 * normal/menu_viewer.c: Likewise.
6354 * partmap/acorn.c: Likewise.
6355 * partmap/amiga.c: Likewise.
6356 * partmap/apple.c: Likewise.
6357 * script/lexer.c: Likewise.
6358 * term/gfxterm.c: Likewise.
6359 * term/i386/pc/serial.c: Likewise.
6360 * term/i386/pc/vga.c: Likewise.
6361 * term/ieee1275/ofconsole.c: Likewise.
6362 * term/terminfo.c: Likewise.
6363 * video/bitmap.c: Likewise.
6364 * video/efi_gop.c: Likewise.
6365 * video/efi_uga.c: Likewise.
6366 * video/fb/video_fb.c: Likewise.
6367 * video/i386/pc/vbe.c: Likewise.
6368 * video/readers/tga.c: Likewise.
6369 * video/video.c: Likewise.
6370
0ad46fd7 63712009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
6372
6373 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6374 * commands/lspci.c: Likewise.
6375 * commands/probe.c: Likewise.
6376 * commands/xnu_uuid.c: Likewise.
6377 * conf/i386-coreboot.rmk: Likewise.
6378 * conf/i386-efi.rmk: Likewise.
6379 * conf/i386-ieee1275.rmk: Likewise.
6380 * conf/i386-pc.rmk: Likewise.
6381 * conf/powerpc-ieee1275.rmk: Likewise.
6382 * conf/sparc64-ieee1275.rmk: Likewise.
6383 * conf/x86_64-efi.rmk: Likewise.
6384 * fs/i386/pc/pxe.c: Likewise.
6385 * gettext/gettext.c: Likewise.
6386 * include/grub/efi/graphics_output.h: Likewise.
6387 * include/grub/i386/pc/memory.h: Likewise.
6388 * kern/env.c: Likewise.
6389 * kern/i386/qemu/startup.S: Likewise.
6390 * lib/i386/pc/biosnum.c: Likewise.
6391 * lib/i386/relocator.c: Likewise.
6392 * lib/i386/relocator_asm.S: Likewise.
6393 * lib/relocator.c: Likewise.
6394 * loader/i386/bsd.c: Likewise.
6395 * loader/i386/multiboot.c: Likewise.
6396 * loader/i386/pc/chainloader.c: Likewise.
6397 * loader/i386/xnu.c: Likewise.
6398 * loader/xnu.c: Likewise.
6399 * normal/main.c: Likewise.
6400 * normal/menu_text.c: Likewise.
6401 * util/getroot.c: Likewise.
6402 * util/grub-mkconfig_lib.in: Likewise.
6403 * util/grub.d/00_header.in: Likewise.
6404 * util/i386/pc/grub-mkimage.c: Likewise.
6405 * util/mkisofs/eltorito.c: Likewise.
6406 * util/mkisofs/exclude.h: Likewise.
6407 * util/mkisofs/hash.c: Likewise.
6408 * util/mkisofs/iso9660.h: Likewise.
6409 * util/mkisofs/joliet.c: Likewise.
6410 * util/mkisofs/mkisofs.c: Likewise.
6411 * util/mkisofs/mkisofs.h: Likewise.
6412 * util/mkisofs/multi.c: Likewise.
6413 * util/mkisofs/name.c: Likewise.
6414 * util/mkisofs/rock.c: Likewise.
6415 * util/mkisofs/tree.c: Likewise.
6416 * util/mkisofs/write.c: Likewise.
6417 * video/efi_gop.c: Likewise.
6418
009ec743
VS
64192009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6422 size counting.
6423
0ad46fd7 64242009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
6425
6426 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6427 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6428
d3d30ea0
VS
64292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6432 (GRUB_MOD_INIT(memrw)): Update help line.
6433
a34f5c70
VS
64342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6437 Use grub_extcmd_t. All users updated.
6438 (options): New variable.
6439 (grub_cmd_read): Restructure for readability. Support "-v" option.
6440 (grub_cmd_write): Restructure for readability.
6441
0ad46fd7 64422009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
6443
6444 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6445
0ad46fd7 64462009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
6447
6448 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6449 with the actual contents of the correspondending make variable.
6450 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6451 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6452 specifying `*.lst' and `efiemu??.o'
6453
0ad46fd7 64542009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
6455
6456 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6457 after function name.
6458 Noticed by Rene Engelhard <rene@debian.org>.
6459
dc77a799
VS
64602009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6463 (options): New variable.
6464 (iospace): Likewise.
6465 (grub_lspci_iter): List IO spaces if "-i" was given.
6466 (grub_cmd_lspci): Parse options.
6467 (GRUB_MOD_INIT(lspci)): Use extcmd.
6468 (GRUB_MOD_FINI(lspci)): Likewise.
6469
0ad46fd7 64702009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
6471
6472 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6473 `function' keyword.
6474 Patch by Tony Mancill <tmancill@debian.org>.
6475
b5d5993b
VS
64762009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6479 (grub_uhci_portstatus): Likewise.
6480 (grub_uhci_portstatus): Add necessary delay.
11d18281 6481 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 6482
941903f2 64832009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 6484
941903f2 6485 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6486 (GRUB_MOD_INIT): Likewise.
6487 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 6488 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6489 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 6490 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6491 (enable_rom_area): Likewise.
6492 (GRUB_MOD_INIT): Likewise.
6493 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6494 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6495 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6496 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6497 * commands/hexdump.c (options): Likewise.
6498 * commands/i386/cpuid.c (options): Likewise.
6499 (GRUB_MOD_INIT): Likewise.
6500 * commands/i386/pc/drivemap.c (options): Likewise.
6501 (GRUB_MOD_INIT): Likewise.
6502 * commands/i386/pc/halt (options): Likewise.
6503 (GRUB_MOD_INIT): Likewise.
6504 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6505 * commands/i386/pc/pxecmd.c (options): Likewise.
6506 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6507 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6508 * commands/keystatus.c (options): Likewise.
6509 (GRUB_MOD_INIT): Likewise.
6510 * commands/loadenv.c (options): Likewise.
6511 * commands/ls.c (options): Likewise.
6512 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6513 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6514 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6515 * commands/parttool.c (helpmsg): Likewise.
6516 * commands/probe.c (options): Likewise.
6517 * commands/read.c (GRUB_MOD_INIT): Likewise.
6518 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6519 * commands/search.c (options): Likewise.
6520 * commands/sleep.c (options): Likewise.
6521 * commands/test.c (GRUB_MOD_INIT): Likewise.
6522 * commands/true.c (GRUB_MOD_INIT): Likewise.
6523 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6524 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6525 * lib/arg.c (help_options): Likewise.
e9bbb4e7 6526 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6527 `$(XGETTEXT)'.
98a50553 6528 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 6529
0ad46fd7 65302009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 6531
ef3c2c3a 6532 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
6533 instead of specifying them explicit.
6534
7922f68b
RM
65352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6536
6537 * NEWS: Add grub-probe support for GNU/Hurd.
6538
537ce47f
RM
65392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6540
6541 * NEWS: gettext was added after 1.97.
6542
9b214e3a
RM
65432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6544
6545 * util/mkisofs/msdos_partition.h: New file (based on
6546 include/grub/msdos_partition.h).
6547 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6548 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6549 (ld_options, main): Recognize --protective-msdos-label.
6550 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6551 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6552 (padblock_write): If `use_protective_msdos_label' is set, patch a
6553 protective DOS-style label in the output image.
6554
6555 * util/grub-mkrescue.in: Use --protective-msdos-label.
6556
e9309813
RM
65572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6558
6559 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6560 boot.
6561
0ae56929
RM
65622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6563
6564 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6565 variables.
6566 (ld_options, main): Recognize `--embedded-boot'.
6567 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6568 declarations.
6569 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6570 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6571 (padblock_write): Likewise. Rewrite to support embedded boot image.
6572
6573 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6574 for BIOS-based disk boot instead of only ElTorito.
6575
b15937b1
RM
65762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6577
6578 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6579 build (not needed for bootstrap).
6580
52cc3ce0
RM
65812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6582
6583 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6584 from i386-pc build (not needed for bootstrap).
6585 Rewrite a pair of strings.
6586
36f5ff04
RM
65872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6588
6589 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6590
973c6c85 65912009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
6592
6593 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6594
05d21547
AB
65952009-12-21 Andreas Born <futur.andy@googlemail.com>
6596
6597 * kern/env.c (grub_env_context_open): Mark exported variable for
6598 reexport.
6599
0175d51f
AB
66002009-12-21 Andreas Born <futur.andy@googlemail.com>
6601
6602 * kern/env.c (grub_env_export): Create nonexistent variables before
6603 exporting.
6604
7f39d92f 66052009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 6606
7f39d92f 6607 * include/grub/auth.h: Include `<grub/i18n.h>'.
6608 (GRUB_GET_PASSWORD): Gettextizze string.
6609 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6610 menu_text.c.
6611 (grub_utf8_to_ucs4_alloc): Fix indentation.
6612 (grub_print_ucs4): Likewise.
6613 (grub_getstringwidth): Likewise.
6614 (print_message_indented): New declaration.
6615 * normal/auth.c: Include `<grub/i18n.h>'.
6616 (grub_auth_check_authentication): Gettexttize string.
6617 * normal/cmdline.c: Include `<grub/i18n.h>'.
6618 (grub_cmdline_get): Gettextizze.
6619 * normal/color.c: Include `<grub/i18n.h>'.
6620 (grub_parse_color_name_pair): Gettexttize strings.
6621 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6622 string (use `print_message_indented').
6623 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6624 `include/grub/normal.h'.
6625 (print_message_indented): Renamed to ...
6626 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6627 used in normal/main.c).
6628 (print_message): Use `grub_print_message_indented' instead of
6629 `print_message_indented'.
6630 (print_timeout): Likewise.
6631 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6632 (grub_normal_print_device_info): Gettexttize strings.
6633 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6634
3041d898
VS
66352009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6638 of arguments. Return number of tokens and not arguments. All users
6639 updated.
6640
de15bf8e
VS
66412009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6644 non-MSDOS paritions.
6645
e0a6ca52
VS
66462009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * include/grub/types.h (UNUSED): Removed since it conflicts with
6649 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6650 Reported by Grégoire Sutre.
6651
b99518d1 66522009-12-19 Carles Pina i Estany <carles@pina.cat>
6653
6654 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6655 (grub_print_ucs4_alloc): Likewise.
6656 (grub_getstringwidth): Likewise.
6657 * normal/main.c (grub_normal_init_page): Gettextize version string.
6658 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6659 (getstringwidth): Renamed to ...
6660 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6661 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6662 (grub_print_ucs4): Remove `static' qualifer (now used in
6663 normal/main.c).
6664 * po/POTFILES: Add normal/main.c.
6665
bfd5e52b 66662009-12-19 Carles Pina i Estany <carles@pina.cat>
6667
6668 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6669 (print_message_indented): Add `margin_left' and `margin_right'
6670 parameters.
6671 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6672 strings.
6673 (print_timeout): Use `print_message_indented' to print the message.
6674 Deletes `second_stage' parameter.
6675 (run_menu): Update `print_timeout' calls.
6676
5a1ad2b9
VS
66772009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 Fix console palette on OpenFirmware.
6680
6681 * term/ieee1275/ofconsole.c (MAX): Removed.
6682 (colors): Redone based on VGA palette.
6683 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6684 colors are supported.
6685 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6686
b045f00a
VS
66872009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Fix potential EfiEmu double prepare.
6690
6691 * efiemu/main.c (prepared): New variable
6692 (grub_efiemu_unload): Set prepare to '0'.
6693 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6694
6695 set_virtual_address_map support.
6696
6697 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6698 prototype.
6699 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6700 prototype.
6701 (grub_efiemu_crc32): Likewise.
6702 (grub_efiemu_crc64): Likewise.
6703 (grub_efiemu_set_virtual_address_map): Likewise.
6704 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6705 New definition.
6706 (grub_autoefi_set_virtual_address_map): Likewise.
6707 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6708 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6709 Restructure flow to accomodate it.
6710 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6711 (grub_efiemu_crc): Recompute CRC32.
6712 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6713 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6714 * efiemu/symbols.c (relocated_handle): New variable.
6715 (grub_efiemu_free_syms): Free relocated_handle.
6716 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6717 (grub_efiemu_write_sym_markers): New function.
6718 (grub_efiemu_set_virtual_address_map): Likewise.
6719
6720 Newer XNU parameters.
6721
6722 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6723 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6724 (grub_xnu_fill_devicetree): New prototype.
6725 (grub_xnu_heap_real_start): New variable.
6726 * loader/xnu.c (get_name_ptr): New function.
6727 (grub_xnu_load_driver): Fill namelen and name.
6728
6729 64-bit xnu support.
6730
6731 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6732 and 'loader/macho64.c'.
6733 * conf/i386-pc.rmk: Likewise.
6734 * conf/x86_64-efi.rmk: Likewise.
6735 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6736 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6737 * include/grub/macho.h (grub_macho_segment64): New structure.
6738 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6739 (grub_macho_size32): ... to this.
6740 (grub_macho32_get_entry_point): Renamed from ...
6741 (grub_macho_get_entry_point32): ... to this.
6742 (grub_macho_contains_macho64): New prototype.
6743 (grub_macho_size64): Likewise.
6744 (grub_macho_get_entry_point64): Likewise.
6745 (grub_macho32_load): Renamed from ...
6746 (grub_macho_load32): ... to this.
6747 (grub_macho32_filesize): Renamed from ...
6748 (grub_macho_filesize32): ... to this.
6749 (grub_macho32_readfile): Renamed from ...
6750 (grub_macho_readfile32): ... to this.
6751 (grub_macho_filesize64): New prototype.
6752 (grub_macho_readfile64): Likewise.
6753 (grub_macho_parse32): Likewise.
6754 (grub_macho_parse64): Likewise.
6755 * loader/macho.c: Split into ...
6756 * loader/machoXX.c: ... and this. Replace 32 with XX.
6757 * loader/macho32.c: New file.
6758 * loader/macho64.c: Likewise.
6759 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6760 (grub_cmd_xnu_kernel): Make 32-bit only.
6761 (grub_cmd_xnu_kernel64): New function.
6762 (grub_xnu_load_driver): Support Mach-O 64.
6763 (grub_cmd_xnu_mkext): Likewise.
6764 * util/grub.d/30_os-prober.in (osx_entry): New function.
6765 Generate entries for 64-bit boot too.
6766
6767 Eliminate ad-hoc tree format in XNU and EfiEmu.
6768
6769 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6770 * efiemu/pnvram.c: Rewritten to use environment variables.
6771 All users updated.
6772
6773 Inline utf16_to_utf8.
6774
6775 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6776 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6777 All users updated.
6778 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6779
6780 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6781 * commands/usbtest.c (grub_usb_get_string): ... move here.
6782 (usb_print_str): Fix error handling.
6783 * include/grub/usb.h (grub_usb_get_string): Remove.
6784
6785 UTF-8 to UTF-16 transformation.
6786
6787 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6788 (charset_mod_SOURCES): New variable.
6789 (charset_mod_CFLAGS): Likewise.
6790 (charset_mod_LDFLAGS): Likewise.
6791 * include/grub/utf.h: New file.
6792 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6793
6794 Support for device properties.
6795
6796 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6797 (grub_xnu_devprop_device_header): Likewise.
6798 (grub_xnu_devprop_device_descriptor): Likewise.
6799 (grub_xnu_devprop_add_device): New prototype.
6800 (grub_xnu_devprop_remove_device): Likewise.
6801 (grub_xnu_devprop_remove_property): Likewise.
6802 (grub_xnu_devprop_add_property_utf8): Likewise.
6803 (grub_xnu_devprop_add_property_utf16): Likewise.
6804 (grub_cpu_xnu_init): Likewise.
6805 (grub_cpu_xnu_fini): Likewise.
6806 (grub_cpu_xnu_unload): Likewise.
6807 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6808 (property_descriptor): Likewise.
6809 (devices): New variable.
6810 (grub_xnu_devprop_remove_property): New function.
6811 (grub_xnu_devprop_add_device): Likewise.
6812 (grub_xnu_devprop_remove_device): Likewise.
6813 (grub_xnu_devprop_add_property): Likewise.
6814 (grub_xnu_devprop_add_property_utf8): Likewise.
6815 (grub_xnu_devprop_add_property_utf16): Likewise.
6816 (hextoval): Likewise.
6817 (grub_cpu_xnu_fill_devprop): Likewise.
6818 (grub_cmd_devprop_load): Likewise.
6819 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6820 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6821 (cmd_devprop_load): New variable.
6822 (grub_cpu_xnu_init): New function.
6823 (grub_cpu_xnu_fini): Likewise.
6824 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6825 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6826 (grub_cmd_xnu_devtree): Likewise.
6827 (hextoval): New function.
6828 (unescape): Likewise.
6829 (grub_xnu_fill_devicetree): Likewise.
6830
6831 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6832 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6833
0945f181
VS
68342009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 Workaround for broken ATI VBE.
6837
6838 * video/i386/pc/vbe.c (last_set_mode): New variable.
6839 (grub_vbe_set_video_mode): Set 'last_set_mode'.
6840 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
6841 (grub_video_vbe_setup): Don't check for reserved flag.
6842
0ad46fd7 68432009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
6844
6845 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
6846 the `find' command.
6847
c179ebe4
VS
68482009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 UUID support for HFS.
6851
6852 * fs/hfs.c (grub_hfs_uuid): New function.
6853 (grub_hfs_fs): New value .uuid.
6854 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
6855
0ad46fd7 68562009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
6857
6858 Fix a segfault with parsing unknown long options.
6859
6860 * util/grub-mkrelpath.c (options): Zero terminate it.
6861
c4a3e41a
CPE
68622009-12-13 Carles Pina i Estany <carles@pina.cat>
6863
6864 * include/grub/misc.h (grub_puts): New declaration.
6865 (grub_puts_): Likewise.
a22008a6 6866 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
6867 (grub_puts_): Likewise.
6868
2e8a7602
RM
68692009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6870
6871 * util/grub-probe.c (probe): Improve error message.
6872
b50b77b9
RM
68732009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6874
6875 * loader/i386/multiboot_elfxx.c
6876 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6877 initialization.
6878
68792009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 Relocator framework
6882
6883 * loader/i386/xnu_helper.S: Removed. All users updated.
6884 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6885 (relocator_mod_SOURCES): New variable.
6886 (relocator_mod_CFLAGS): Likewise.
6887 (relocator_mod_LDFLAGS): Likewise.
6888 (relocator_mod_ASFLAGS): Likewise.
6889 * conf/x86_64.rmk: Likewise.
6890 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6891 (grub_multiboot_payload_entry_offset): Likewise.
6892 (grub_multiboot_forward_relocator): Likewise.
6893 (grub_multiboot_forward_relocator_end): Likewise.
6894 (grub_multiboot_backward_relocator): Likewise.
6895 (grub_multiboot_backward_relocator_end): Likewise.
6896 (grub_multiboot_payload_eip): New variable.
6897 (grub_multiboot_payload_orig): Likewise.
6898 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6899 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6900 * include/grub/i386/memory.h
6901 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6902 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6903 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6904 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6905 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6906 * include/grub/i386/relocator.h: New file.
6907 * include/grub/x86_64/relocator.h: Likewise.
6908 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6909 (XNU_RELOCATOR): New macro.
6910 (grub_xnu_launcher_start): Remove.
6911 (grub_xnu_launcher_end): Likewise.
6912 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6913 (grub_xnu_heap_real_start): Remove.
6914 (grub_xnu_heap_start): Change to void *. All users updated.
6915 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6916 * lib/i386/relocator.c: New file.
6917 * lib/i386/relocator_asm.S: Likewise.
6918 * lib/i386/relocator_backward.S: Likewise.
6919 * lib/mips/relocator.c: Likewise.
6920 * lib/mips/relocator_asm.S: Likewise.
6921 * lib/relocator.c: Likewise.
6922 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6923 (entry): Removed.
6924 (playground): Likewise.
6925 (grub_multiboot_payload_orig): New variable.
6926 (grub_multiboot_payload_dest): Likewise.
6927 (grub_multiboot_payload_size): Likewise.
6928 (grub_multiboot_payload_eip): Likewise.
6929 (grub_multiboot_payload_esp): Likewise.
6930 (grub_multiboot_boot): Use grub_relocator32_boot.
6931 (grub_multiboot_unload): Free relocators.
6932 (grub_multiboot): Setup stack. Use relocators.
6933 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6934 (grub_multiboot_load_elfXX): Use relocators.
6935 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6936 (grub_multiboot_payload_size): Likewise.
6937 (grub_multiboot_payload_dest): Likewise.
6938 (grub_multiboot_payload_entry_offset): Likewise.
6939 (grub_multiboot_forward_relocator): Likewise.
6940 (grub_multiboot_backward_relocator): Likewise.
6941 (grub_multiboot_real_boot): Likewise.
6942 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6943 (grub_xnu_entry_point): Likewise.
6944 (grub_xnu_arg1): Likewise.
6945 (grub_xnu_stack): Likewise.
6946 (grub_xnu_launch): Removed.
6947 (grub_xnu_boot_resume): New function.
6948 (grub_xnu_boot): Use relocators.
6949 * loader/i386/xnu_helper.S: Removed.
6950 * loader/xnu.c (grub_xnu_heap_start): New variable.
6951 (grub_xnu_heap_size): Likewise.
6952 (grub_xnu_heap_malloc): Use relocators.
6953 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6954
29eb90c6
VS
69552009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6958 anything.
6959
31027430
CPE
69602009-12-13 Carles Pina i Estany <carles@pina.cat>
6961
6962 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6963 GRUB_ERR_NONE before calling grub_env_set.
6964
dc0c71d9
RM
69652009-12-12 Robert Millan <rmh@aybabtu.com>
6966
6967 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6968 * genmk.rb (video): New variable.
6969 (CLEANFILES, VIDEOFILES): Add #{video}.
6970 (#{video}): New target rule.
6971 * genvideolist.sh: New file.
6972 * Makefile.in (pkglib_DATA): Add video.lst.
6973 (video.lst): New target rule.
6974 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6975 `video.lst'.
6976 * util/grub.d/30_os-prober.in: Replace `vbe' with
6977 ${GRUB_VIDEO_BACKEND}.
6978
2a4bfcf0
RM
69792009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6980
6981 * THANKS: Add David Miller.
6982
2a3aa4d5
RM
69832009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 libpciaccess support.
6986
6987 * Makefile.in (LIBPCIACCESS): New variable.
6988 (enable_grub_emu_pci): Likewise.
6989 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6990 util/pci.c and commands/lspci.c.
6991 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6992 * configure.ac (grub-emu-pci): New option.
6993 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6994 (grub_pci_device_unmap_range): Likewise.
6995 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6996 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6997 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6998 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6999 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7000 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7001 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7002 * include/grub/pciutils.h: New file.
7003 * util/pci.c: Likewise.
7004
0ad46fd7 70052009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
7006
7007 * util/misc.c: Don't include <errno.h> twice.
7008
0ad46fd7 70092009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
7010
7011 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7012 name in an error message.
7013 (grub_biosdisk_rw): Likewise.
7014
2e59983c
VS
70152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 Eliminate NTFS 4Gib barrier.
7018
7019 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7020 (read_run_data): Likewise.
7021 (grub_ntfs_read_run_list): Likewise.
7022 (grub_ntfs_read_block): Likewise.
7023 (grub_ntfs_iterate_dir): Likewise.
7024 (read_mft): Likewise.
7025 (read_data): Likewise.
7026 Use COM_LOG_LEN.
7027 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7028 to avoid 64-bit division
7029 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7030 (grub_ntfs_rlst): Use grub_disk_addr_t.
7031
71ee178a
VS
70322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 Eliminate grub-fstest 4Gib barrier.
7035
7036 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7037 (read_file): Fix error reporting.
7038
2520d4b8
VS
70392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 Eliminate hexdump 4Gib barrier.
7042
7043 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7044 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7045
e1f27065
VS
70462009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7049 Fixes amarsh bug.
7050
1a0f7f45
RM
70512009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7052
7053 Remove miscellaneous files in distclean target.
7054
7055 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7056
c631d9fb
CW
70572009-12-09 Colin Watson <cjwatson@ubuntu.com>
7058
7059 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7060 if they're already set. This resolves the conflict between my
7061 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7062 fixing the --grub-probe option again.
7063 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7064 change on 2009-10-06, so that we now once again source
7065 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7066
7c7b6106
RM
70672009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7068
7069 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7070 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7071 `util/devicemap.c'.
7072
e3069ec1
CPE
70732009-12-08 Carles Pina i Estany <carles@pina.cat>
7074
7075 * include/grub/misc.h (grub_printf_): New declaration.
7076 * kern/misc.c (grub_printf_): New definition.
7077 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7078 instead of `grub_printf' and `_'.
7079 * normal/menu_entry.c (store_completion): Likewise.
7080 (run): Likewise.
7081 (grub_menu_entry_run): Likewise.
7082 * normal/menu_text.c (grub_wait_after_message): Likewise.
7083 (notify_booting): Likewise.
7084 (notify_fallback): Likewise.
7085 (notify_execution_failure): Likewise.
7086
d6ceebf1
CW
70872009-12-07 Colin Watson <cjwatson@ubuntu.com>
7088
7089 * configure.ac: Check for vasprintf.
7090 * util/misc.c (asprintf): Move allocation from here ...
7091 (vasprintf): ... to here. New function.
7092 (xasprintf): New function.
7093 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7094 prototypes.
7095 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7096 * util/grub-mkfont.c (write_font): Likewise.
7097 * util/grub-probe.c (probe): Likewise.
7098 * util/hostdisk.c (make_device_name): Likewise.
7099
de6daa8b
DM
71002009-12-06 David S. Miller <davem@sunset.davemloft.net>
7101
7102 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7103 anything even prefixed with 'cdrom' as a cdrom.
7104
0ad46fd7 71052009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
7106
7107 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7108 mount points.
7109
98d3dc02
CPE
71102009-12-05 Carles Pina i Estany <carles@pina.cat>
7111
7112 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7113 grub_gettext_msg_list.
7114 (grub_gettext_gettranslation_from_position): Return const char *
7115 and not char *.
a2c1332b 7116 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
7117 returns from the list if existing there.
7118 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7119 (grub_gettext_delete_list): Delete the list.
7120 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7121 lang environment variable is changed.
7122 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7123
b283f108
VS
71242009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 Rename kernel.mod to kernel.img.
7127
7128 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7129 (kernel_mod_EXPORTS): Rename to ...
7130 (kernel_img_EXPORTS): ... this.
7131 (kernel_mod_SOURCES): Rename to ...
7132 (kernel_img_SOURCES): ... this.
7133 (kernel_mod_HEADERS): Rename to ...
7134 (kernel_img_HEADERS): ... this. All users updated.
7135 (kernel_mod_CFLAGS): Rename to ...
7136 (kernel_img_CFLAGS): ... this.
7137 (kernel_mod_ASFLAGS): Rename to ...
7138 (kernel_img_ASFLAGS): ... this.
7139 (kernel_mod_LDFLAGS): Rename to ...
7140 (kernel_img_LDFLAGS): ... this.
7141 * conf/x86_64-efi.rmk: Likewise.
7142 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7143 (read_kernel_image): ... this. All users updated.
7144 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7145
69055f8a
CPE
71462009-12-05 Carles Pina i Estany <carles@pina.cat>
7147
7148 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7149 (print_spaces): New function.
7150 (grub_print_ucs4): New function.
7151 (getstringwidth): New function.
7152 (print_message_indented): New function.
7153 (print_message): Gettexttize strings using print_message_indented.
7154 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7155 width.
7156 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 7157 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
7158 Gettextize.
7159 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7160 string.
7161 (run): Likewise.
7162 (grub_menu_entry_run): Likewise.
7163 * PO/POTFILES: Add normal/menu_entry.c.
7164
f616f51c
VS
71652009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7168
57bbe3be
CPE
71692009-12-05 Carles Pina i Estany <carles@pina.cat>
7170
7171 * util/grub-install.in: Install gettext .mo files.
7172 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7173
013d67a1
CPE
71742009-12-05 Carles Pina i Estany <carles@pina.cat>
7175
7176 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7177 grub_dprintf.
7178
fb954db0
RM
71792009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7180
7181 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7182 non-firmware-dependant one in realmode.S takes precedence.
7183
6b8474f8
RM
71842009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7185
7186 * commands/halt.c: Replace misc arch-specific headers with
7187 `<grub/misc.h>'.
7188 * commands/reboot.c: Likewise.
7189 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7190 `<grub/misc.h>'.
7191 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7192 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7193 (kernel_img_SOURCES): ... to here.
7194
7195 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7196 * include/grub/i386/pc/init.h: Likewise.
7197 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7198 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7199
7200 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7201
7202 * include/grub/i386/halt.h: Remove.
7203 * include/grub/i386/reboot.h: Likewise.
7204
7205 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7206
4b2e6ca2
DM
72072009-12-03 David S. Miller <davem@sunset.davemloft.net>
7208
7209 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7210 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7211 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7212 "progname.h"
7213 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7214 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7215 (usage): Add missing comma in printf.
7216
5239348f
RM
72172009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7218
7219 Use the same reboot approach on i386 coreboot and qemu as we do on
7220 BIOS.
7221
7222 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7223 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7224 * kern/i386/reboot.c: Remove.
7225 * include/grub/i386/reboot.h (grub_reboot): Export function.
7226 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7227 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7228 0xf000:0xfff0 instead of 0xffff:0x0000.
7229 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7230 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7231
ef34cbd4
RM
72322009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7233
7234 Fix $srcdir != $objdir build.
7235
7236 * Makefile.in (po/%.po): Rewrite as ...
7237 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7238
dc9837ea
ST
72392009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7240
7241 Fix GNU/Hurd grub-install crash.
7242 * util/grub-probe.c (probe): Try to access `path' only when it is not
7243 NULL.
7244
2f857f98
VS
72452009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 Correct module naming.
7248
7249 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7250 (GRUB_MOD_INIT(efi_uga)): ... to this
7251 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7252 (GRUB_MOD_FINI(efi_uga)): ... to this
7253 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7254 (GRUB_MOD_INIT(efi_gop)): ... to this
7255 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7256 (GRUB_MOD_FINI(efi_gop)): ... to this
7257
c5448046
RM
72582009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7259
7260 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7261 translatable.
7262 (usage): Translate `arg' strings using gettext().
7263 Thanks to Jordi Mallach for the suggestion.
7264
c85184ad
VS
72652009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 GOP support. Based on patch from Bean
7268 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7269
7270 * video/efi_gop.c: New file.
7271 * include/grub/efi/graphics_output.h: Likewise.
7272 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7273 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7274 variables.
7275 * conf/x86_64-efi.rmk: Likewise.
7276
8a4c48d8
VS
72772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 Rename efi_fb to efi_uga.
7280
7281 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7282 'efi_uga.mod'.
7283 (efi_fb_mod_SOURCES): Rename this ...
7284 (efi_uga_mod_SOURCES): ... to this.
7285 (efi_fb_mod_CFLAGS): Rename this ...
7286 (efi_uga_mod_CFLAGS): ... to this.
7287 (efi_fb_mod_LDFLAGS): Rename this ...
7288 (efi_uga_mod_LDFLAGS): ... to this.
7289 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7290 'efi_uga.mod'.
7291 (efi_fb_mod_SOURCES): Rename this ...
7292 (efi_uga_mod_SOURCES): ... to this.
7293 (efi_fb_mod_CFLAGS): Rename this ...
7294 (efi_uga_mod_CFLAGS): ... to this.
7295 (efi_fb_mod_LDFLAGS): Rename this ...
7296 (efi_uga_mod_LDFLAGS): ... to this.
7297 * video/efi_fb.c: Move this ...
7298 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7299
fb6c1a7b
RM
73002009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7301
7302 * po/README: New file. Explain our PO file workflow.
7303
3bc7896c
RM
73042009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7305
7306 * po/ChangeLog: Remove. Move relevant entries back to ...
7307 * ChangeLog: ... here.
7308 * po/ca.po: Remove (now handled by TLP).
7309 * po/id.po: Likewise.
7310 * po/zh_CN.po: Likewise.
7311 * Makefile.in (LINGUAS): Initialize in a way that supports
7312 empty set.
7313
9ed4841d
RM
73142009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7315
7316 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7317 reliing on po/LINGUAS.
7318 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7319 (po/%.po): ... this.
7320
0ad46fd7 73212009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
7322
7323 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7324 (main): Use `program_name' instead of nonexistent `progname'.
7325
e30dd392
FZ
73262009-11-26 Felix Zielcke <fzielcke@z-51.de>
7327
7328 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7329 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7330
7656de4f
RM
73312009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7332
7333 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7334 commit.
7335 * conf/i386-efi.rmk: Likewise.
7336 * conf/i386-ieee1275.rmk: Likewise.
7337 * conf/powerpc-ieee1275.rmk: Likewise.
7338 * conf/sparc64-ieee1275.rmk: Likewise.
7339 * conf/x86_64-efi.rmk: Likewise.
7340
db77c4d4
FZ
73412009-11-26 Felix Zielcke <fzielcke@z-51.de>
7342
7343 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7344
a755bb04
FZ
73452009-11-26 Felix Zielcke <fzielcke@z-51.de>
7346
7347 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7348
8a4c07fd
RM
73492009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7350
7351 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7352 (grub_mkdevicemap_SOURCES): New variable.
7353 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7354 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7355 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7356 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7357 (grub_mkdevicemap_SOURCES): Remove.
7358 * conf/i386-efi.rmk: Likewise.
7359 * conf/i386-ieee1275.rmk: Likewise.
7360 * conf/i386-pc.rmk: Likewise.
7361 * conf/powerpc-ieee1275.rmk: Likewise.
7362 * conf/sparc64-ieee1275.rmk: Likewise.
7363 * conf/x86_64-efi.rmk: Likewise.
7364 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7365 (usage): Fix strings to use `program_name'.
7366 (main): Initialize gettext.
7367 * util/grub-editenv.c: Likewise.
7368 * util/grub-emu.c: Likewise.
7369 * util/grub-fstest.c: Likewise.
7370 * util/grub-mkdevicemap.c: Likewise.
7371 * util/grub-mkfont.c: Likewise.
7372 * util/grub-mkrelpath.c: Likewise.
7373 * util/grub-pe2elf.c: Likewise.
7374 * util/grub-probe.c: Likewise.
7375 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7376 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7377 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7378
7379 * util/misc.c: Include `"progname.h"'.
7380 (progname): Remove variable.
7381 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7382
6f61ed55
FZ
73832009-11-25 Felix Zielcke <fzielcke@z-51.de>
7384
7385 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7386 printf and print a newline after the menuentry header line.
7387 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7388
f022876b
FZ
73892009-11-25 Felix Zielcke <fzielcke@z-51.de>
7390
7391 autoconf >= 2.60 support $(localedir).
7392
7393 * INSTALL: Note that autoconf 2.60 is required.
7394 * configure.ac (AC_PREREQ): Bump to 2.60.
7395 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7396 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7397
6717926e
YB
73982009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7399
7400 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7401 aclocal is run.
7402
08806a54
RM
74032009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7404
7405 * normal/main.c (grub_normal_read_line): Fix off-by-one
7406 buffer overflow.
7407
13b33fba
RM
74082009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7409
7410 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7411 "parser.grub" in grub_command_execute() call.
7412
4a8572e9
CPE
74132009-11-24 Carles Pina i Estany <carles@pina.cat>
7414
7415 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7416 * conf/i386-efi.rmk: Likewise.
7417 * conf/i386-ieee1275.rmk: Likewise.
7418 * conf/i386-pc.rmk: Likewise.
7419 * conf/powerpc-ieee1275.rmk: Likewise.
7420 * conf/sparc64-ieee1275.rmk: Likewise.
7421 * conf/x86_64-efi.rmk: Likewise.
7422 * gettext/gettex.c: Include <grub/i18n.h>.
7423 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7424 here ...
7425 * include/grub/i18n.h: ... to here
7426 * include/grub/i18n.h: ... to here.
7427 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 7428 (grub_gettext_dummy): Move above user.
4a8572e9 7429
bee48093
FZ
74302009-11-24 Felix Zielcke <fzielcke@z-51.de>
7431
7432 * util/Makefile.in (install-local): Convert a `for' into a normal
7433 shell expansion.
7434
a031e91c
RM
74352009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7436
7437 * autogen.sh: Add automake call.
7438 * config.guess: Remove.
7439 * config.sub: Likewise.
7440 * install-sh: Likewise.
7441
26bec39d
FZ
74422009-11-24 Felix Zielcke <fzielcke@z-51.de>
7443
7444 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7445
8e2532fd
FZ
74462009-11-24 Felix Zielcke <fzielcke@z-51.de>
7447
7448 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7449 function to a normal shell `for'.
7450
fefa1b7d
FZ
74512009-11-24 Felix Zielcke <fzielcke@z-51.de>
7452
7453 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7454
4501250b
FZ
74552009-11-24 Felix Zielcke <fzielcke@z-51.de>
7456
7457 * util/grub-mkrelpath.c: New file.
7458 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7459 (grub_mkrelpath_SOURCES): New variable.
7460 * include/grub/util/misc.h: New function prototype.
7461 * util/misc.c (make_system_path_relative_to_its_root): New function.
7462
7463 * util/grub-mkconfig_lib.in (bindir): New variable.
7464 (grub_mkrelpath): Likewise.
7465 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7466
7467 * util/probe.c (probe): Make the file path relative to its root.
7468 Change a info message to use the GRUB path. Enable again the
7469 check if we can read the file with GRUB facilities.
7470
7471 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7472 to its root.
7473
11d9778b
FZ
74742009-11-24 Felix Zielcke <fzielcke@z-51.de>
7475
7476 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7477 platform.
7478
4465287d
FZ
74792009-11-24 Felix Zielcke <fzielcke@z-51.de>
7480
7481 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7482 strncmp().
7483
62b47f22
FZ
74842009-11-24 Felix Zielcke <fzielcke@z-51.de>
7485
7486 * util/getroot.c (grub_util_is_dmraid): New function.
7487 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7488 devices as normal ones, not as LVM.
7489
1eafb9b9 74902009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
7491
7492 * conf/common.rmk: Add grub-gettext_lib target and updates
7493 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7494 LDFLAGS.
7495 * gettext/gettext.c: New file. (Reads mo files).
7496 * include/grub/file.h (grub_file_pread): New prototype.
7497 * include/grub/i18n.h (_): New prototype.
7498 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7499 prototypes.
7500 * kern/misc.c (grub_gettext_dummy): New function.
7501 * normal/menu_text.c: Include <grub/i18n.h>.
7502 * normal/menu_text.c (print_timeout): Gettexttize string.
7503 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
7504 * po/POTFILES: Add `normal/menu_text.c'.
7505 * po/ca.po: Add new translations.
c3ea6bd4
CPE
7506 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7507 gettext module and defines locale_dir and lang in grub.cfg.
7508 * NEWS: Add gettext support.
7509
0fdb2568
RM
75102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7511
7512 * util/hostdisk.c: Include `<grub/i18n.h>'.
7513 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7514 (make_device_name): Rewrite using asprintf.
7515 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7516 (find_system_device): If a device is not found, generate one just
7517 by reusing the OS path name.
7518 (read_device_map): Make it permissible for device.map not to exist.
7519
f515aa62
RM
75202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7521
7522 * script/sh/execute.c: Move from here ...
7523 * script/execute.c: ... to here. Update all users.
7524 * script/sh/function.c: Move from here ...
7525 * script/function.c: ... to here. Update all users.
7526 * script/sh/lexer.c: Move from here ...
7527 * script/lexer.c: ... to here. Update all users.
7528 * script/sh/main.c: Move from here ...
7529 * script/main.c: ... to here. Update all users.
7530 * script/sh/parser.y: Move from here ...
7531 * script/parser.y: ... to here. Update all users.
7532 * script/sh/script.c: Move from here ...
7533 * script/script.c: ... to here. Update all users.
7534
f84b481b
RM
75352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7536
7537 * configure.ac: Detect all `emu' platforms. Define
7538 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7539 --enable-grub-emu logic. Disable include/grub/machine
7540 symlink on `emu' platforms.
7541
7542 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7543 * gensymlist.sh.in: Likewise.
7544
7545 * include/grub/i386/coreboot/machine.h: Remove file.
7546 * include/grub/i386/efi/machine.h: Likewise.
7547 * include/grub/i386/ieee1275/machine.h: Likewise.
7548 * include/grub/i386/pc/machine.h: Likewise.
7549 * include/grub/i386/qemu/machine.h: Likewise.
7550 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7551 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7552 * include/grub/x86_64/efi/machine.h: Likewise.
7553
7554 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7555 * commands/halt.c: Likewise.
7556 * commands/reboot.c: Likewise.
7557 * include/grub/autoefi.h: Likewise.
7558 * include/grub/i386/at_keyboard.h: Likewise.
7559 * include/grub/i386/kernel.h: Likewise.
7560 * include/grub/i386/loader.h: Likewise.
7561 * include/grub/i386/pc/memory.h: Likewise.
7562 * kern/dl.c: Likewise.
7563 * kern/i386/coreboot/init.c: Likewise.
7564 * loader/i386/bsd.c: Likewise.
7565 * loader/i386/linux.c: Likewise.
7566 * loader/multiboot_loader.c: Likewise.
7567 * term/i386/pc/serial.c: Likewise.
7568 * term/usb_keyboard.c: Likewise.
7569
7570 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7571 `<grub/machine/machine.h>'
7572 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7573 * util/misc.c: Remove `<grub/machine/machine.h>' and
7574 `<grub/machine/time.h>'.
7575
7576 * Makefile.in (enable_grub_emu): Remove variable.
7577 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7578
7579 * conf/any-emu.rmk: New file.
7580 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7581 (grub_emu_init.c): Move from here ...
7582 * conf/any-emu.rmk: ... to here.
7583
7584 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7585 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7586 * conf/any-emu.rmk: ... to here.
7587
4efeab03
RM
75882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7589
7590 * include/grub/parser.h (grub_parser_register): Document need
7591 of `name' parameter.
7592 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7593 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7594 "sh" to "grub".
7595
ea1dd8bf
RM
75962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7597
7598 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7599 `$(XGETTEXT)'.
7600 * include/grub/i18n.h (N_): New macro.
7601 * util/mkisofs/mkisofs.h: Likewise.
7602 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7603 around N_().
7604 (usage): Use gettext() to translate help strings when printing them.
7605
0c140626
RM
76062009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7607
7608 Based on patch from Bean
7609 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7610
7611 * video/efi_fb.c: New file.
7612 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7613 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7614 variables.
7615 * conf/x86_64-efi.rmk: Likewise.
7616
87d58298
RM
76172009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7618
7619 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7620 * util/i386/pc/grub-setup.c: Likewise.
7621
994cc3a3
ST
76222009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7623
7624 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7625 <hurd/fs.h>
7626 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7627 file_get_storage_info to implement grub_guess_root_device.
7628
26a61d6a
FZ
76292009-11-21 Felix Zielcke <fzielcke@z-51.de>
7630
7631 * Makefile.in (target): Use make's builtin $(shell) function
7632 instead of calling directly $(SHELL) to create the locale directories,
7633 inside the $(foreach) function.
7634
74ff1dd5
FZ
76352009-11-21 Felix Zielcke <fzielcke@z-51.de>
7636
7637 * util/grub-mkrescue.in: Print an error and usage if output option
7638 has not been given.
7639
0b787d0e
FZ
76402009-11-21 Felix Zielcke <fzielcke@z-51.de>
7641
7642 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7643 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7644 root and /boot are on different devices.
7645
1164b270
RM
76462009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7647
7648 Fix build for srcdir != objdir.
7649
7650 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7651 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7652 $(srcdir).
7653 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7654 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7655 reference for input.
7656
13774a2f
RM
76572009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7658
7659 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7660 or hardlinking it). Remove -J option, Joliet is not compatible with
7661 multiple source directories.
7662
efda854e
RM
76632009-11-21 Carles Pina i Estany <carles@pina.cat>
76642009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7665
7666 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7667 (process_input_dir): New function. Process an arbitrary input
7668 directory.
7669 Misc adjustments to support both "override mode" and system-wide mode.
7670
6c09890c
FZ
76712009-11-20 Felix Zielcke <fzielcke@z-51.de>
7672
7673 * configure.ac (UNIFONT_BDF): Rename to ...
7674 (FONT_SOURCE): ... this. Update all users.
7675
a797824f
FZ
76762009-11-20 Felix Zielcke <fzielcke@z-51.de>
7677
7678 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7679 to the list of unifont files to look for.
7680
cd4f42b0
RM
76812009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7682
7683 Patch from Joe Auricchio <jauricchio@gmail.com>
7684 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7685 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7686 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7687
393c783d
FZ
76882009-11-19 Felix Zielcke <fzielcke@z-51.de>
7689
7690 * Makefile.in (install-local): Add a missing backslash.
7691
b2f1e327
FZ
76922009-11-19 Felix Zielcke <fzielcke@z-51.de>
7693
7694 * include/grub/x86_64/io.h: New file.
7695
f577f7a0
RM
76962009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7697
7698 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7699 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7700 Include `"progname.h"'.
7701 (main): Initialize gettext.
7702 * util/i386/pc/grub-setup.c: Gettexttize.
7703 * util/i386/pc/grub-mkimage.c: Likewise.
7704
7705 * Makefile.in (po/*.po): Redefine as ...
7706 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7707
3bc7896c
RM
7708 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7709
c37943b6
RM
77102009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7711
7712 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7713 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7714 (program_name): Remove.
7715 (main): Initialize gettext support.
6323f705
RM
7716 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7717 Include `<libintl.h>'.
7718 (_): New macro.
c37943b6
RM
7719
7720 * util/mkisofs/eltorito.c: Gettexttize.
7721 * util/mkisofs/joliet.c: Likewise.
7722 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
7723 * util/mkisofs/multi.c: Likewise.
7724 * util/mkisofs/rock.c: Likewise.
7725 * util/mkisofs/tree.c: Likewise.
7726 * util/mkisofs/write.c: Likewise.
7727
3bc7896c
RM
7728 * po/POTFILES: Update with new files.
7729
5ce77c6e
RM
77302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7731
7732 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7733 * util/mkisofs/iso9660.h: Likewise.
7734 * util/mkisofs/joliet.c: Likewise.
7735 * util/mkisofs/mkisofs.c: Likewise.
7736 * util/mkisofs/mkisofs.h: Likewise.
7737 * util/mkisofs/rock.c: Likewise.
7738 * util/mkisofs/tree.c: Likewise.
7739 * util/mkisofs/write.c: Likewise.
7740
7741 * util/mkisofs/eltorito.c (rcsid): Remove.
7742 * util/mkisofs/hash.c: Likewise.
7743 * util/mkisofs/joliet.c: Likewise.
7744 * util/mkisofs/name.c: Likewise.
7745 * util/mkisofs/rock.c: Likewise.
7746 * util/mkisofs/tree.c: Likewise.
7747 * util/mkisofs/write.c: Likewise.
7748
1dabbc77
RM
77492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7750
7751 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7752 instead of static allocation.
7753 * util/mkisofs/match.h: Likewise.
7754
633877cb
RM
77552009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7756
3bc7896c
RM
7757 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7758 and `util/grub.d/10_linux.in'.
633877cb
RM
7759 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7760 translatable Shell files.
7761
af1c0c85
RM
77622009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7763
7764 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7765
769ae37b
RM
77662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7767
7768 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 7769 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
7770 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7771 Add gettext initialization.
7772 (kfreebsd_entry): Make menuentry output translatable.
7773
77742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7775
7776 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7777 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7778 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7779 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7780 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 7781 * po/LINGUAS: New file.
769ae37b
RM
7782
77832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7784
7785 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7786 other things).
7787 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7788 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7789 bindtextdomain() calls for gettext initialization.
7790
77912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7792
7793 * gnulib/progname.c: New file (imported from Gnulib).
7794 * gnulib/progname.h: Likewise.
7795 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7796 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7797 (usage): Replace `progname' with `program_name'.
7798 (main): Use set_program_name() for program name initialization.
7799
78002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7801
7802 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7803 from here ...
7804 * Makefile.in (CPPFLAGS): ... to here.
7805
78062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7807
7808 * aclocal.m4: Move from here ...
7809 * acinclude.m4: ... to here.
7810 * autogen.sh: Add call to `aclocal'.
7811 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7812
78132009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7814
7815 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7816 (LINGUAS): New variable.
7817 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7818 (install-local): Install MO files.
7819 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7820 * include/grub/i18n.h: New file.
3bc7896c
RM
7821 * po/POTFILES: New file.
7822 * po/ca.po: New file.
769ae37b
RM
7823 * util/grub.d/10_linux.in (bindir): New variable.
7824 Add gettext initialization.
7825 (linux_entry): Make menuentry output translatable.
7826 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7827 (usage): Make --help output translatable.
7828 (main): Initialize gettext.
7829
02c0a6ad
RM
78302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7831
7832 * import_gcry.py: New file (written by Vladimir with minor
7833 adjustments).
7834 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7835 ciphers.
7836 * INSTALL: Document that Python is required for bootstrap.
7837
78382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7839
7840 Import ciphers from libgcrypt 1.4.4.
7841
7842 * lib/libgcrypt/cipher/ChangeLog
7843 * lib/libgcrypt/cipher/ac.c
7844 * lib/libgcrypt/cipher/arcfour.c
7845 * lib/libgcrypt/cipher/bithelp.h
7846 * lib/libgcrypt/cipher/blowfish.c
7847 * lib/libgcrypt/cipher/camellia-glue.c
7848 * lib/libgcrypt/cipher/camellia.c
7849 * lib/libgcrypt/cipher/camellia.h
7850 * lib/libgcrypt/cipher/cast5.c
7851 * lib/libgcrypt/cipher/cipher.c
7852 * lib/libgcrypt/cipher/crc.c
7853 * lib/libgcrypt/cipher/des.c
7854 * lib/libgcrypt/cipher/dsa.c
7855 * lib/libgcrypt/cipher/ecc.c
7856 * lib/libgcrypt/cipher/elgamal.c
7857 * lib/libgcrypt/cipher/hash-common.c
7858 * lib/libgcrypt/cipher/hash-common.h
7859 * lib/libgcrypt/cipher/hmac-tests.c
7860 * lib/libgcrypt/cipher/md.c
7861 * lib/libgcrypt/cipher/md4.c
7862 * lib/libgcrypt/cipher/md5.c
7863 * lib/libgcrypt/cipher/primegen.c
7864 * lib/libgcrypt/cipher/pubkey.c
7865 * lib/libgcrypt/cipher/rfc2268.c
7866 * lib/libgcrypt/cipher/rijndael-tables.h
7867 * lib/libgcrypt/cipher/rijndael.c
7868 * lib/libgcrypt/cipher/rmd.h
7869 * lib/libgcrypt/cipher/rmd160.c
7870 * lib/libgcrypt/cipher/rsa.c
7871 * lib/libgcrypt/cipher/seed.c
7872 * lib/libgcrypt/cipher/serpent.c
7873 * lib/libgcrypt/cipher/sha1.c
7874 * lib/libgcrypt/cipher/sha256.c
7875 * lib/libgcrypt/cipher/sha512.c
7876 * lib/libgcrypt/cipher/tiger.c
7877 * lib/libgcrypt/cipher/twofish.c
7878 * lib/libgcrypt/cipher/whirlpool.c
7879
af2f93ac
RM
78802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7881
7882 Fix build for systems without error().
7883
7884 * gnulib/error.c: New file (imported from Gnulib).
7885 * gnulib/error.h: Likewise.
7886 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7887 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7888 (this variable is now used by error()).
7889
73fb3dd5
FZ
78902009-11-16 Felix Zielcke <fzielcke@z-51.de>
7891
814f5e96
FZ
7892 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7893 instead of relying that char is signed.
73fb3dd5 7894
a691ca33
VS
78952009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7898 blocksize different from specified.
7899 (grub_pxefs_read): Likewise.
7900
2af8f0f4
FZ
79012009-11-16 Felix Zielcke <fzielcke@z-51.de>
7902
7903 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7904
7905 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7906 (grub_ata_readwrite): Likewise. Update 2 format strings.
7907 (grub_atapi_read): Likewise.
7908
7909 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7910 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7911 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7912 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7913 (ata_mod_LDFLAGS): Move from here ...
7914 * conf/i386.rmk: ... to here ...
7915 * conf/x86_64-efi.rmk: ... and here.
7916 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7917 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7918
83bdecaf
RM
79192009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7920
7921 Relicense multiboot.h, with RMS' blessing.
7922
7923 * include/multiboot.h: Change to X11 license.
7924
fd6fd3d7
RM
79252009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7926
7927 Support --version in grub-mkisofs.
7928
7929 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7930 (OPTION_VERSION): New macro.
7931 (ld_options): Recognize --version.
7932 (usage): Move `program_name' from here ...
7933 (program_name): ... to here. Add `static' qualifier.
7934 (main): Recognize `OPTION_VERSION'.
7935
16a88c49
FZ
79362009-11-15 Felix Zielcke <fzielcke@z-51.de>
7937
7938 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7939 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7940
a4158476
RM
79412009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7942
7943 Fix help2man generation for mkisofs.
7944
7945 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7946 (usage): Send output to stdout (rather than stderr).
7947
fc2208b0
RM
79482009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7949
7950 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7951 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7952 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7953 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7954 (bin_SCRIPTS): Add `grub-mkfloppy'.
7955 (grub_mkfloppy_SOURCES): New variable.
7956
7957 * util/grub-mkrescue.in: New file.
7958 * util/i386/pc/grub-mkfloppy.in: New file.
7959
7960 * util/i386/coreboot/grub-mkrescue.in: Remove.
7961 * util/i386/pc/grub-mkrescue.in: Remove.
7962
8d0edf4a
RM
79632009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7964
7965 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7966 from here ...
7967 * include/multiboot.h (struct multiboot_header): ... to here. Update
7968 all users.
7969 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7970 from here ...
7971 * include/multiboot.h (struct multiboot_info): ... to here. Update
7972 all users.
7973 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7974 from here ...
7975 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7976 Update all users.
7977 * include/grub/multiboot.h (struct grub_mod_list): Move
7978 from here ...
7979 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7980 Update all users.
7981
a73f5969
RM
79822009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7983
7984 * include/multiboot2.h (multiboot_word): Rename from this ...
7985 (multiboot2_word): ... to this. Update all users.
7986 (multiboot_header): Rename from this ...
7987 (multiboot2_header): ... to this. Update all users.
7988 (multiboot_tag_header): Rename from this ...
7989 (multiboot2_tag_header): ... to this. Update all users.
7990 (multiboot_tag_start): Rename from this ...
7991 (multiboot2_tag_start): ... to this. Update all users.
7992 (multiboot_tag_name): Rename from this ...
7993 (multiboot2_tag_name): ... to this. Update all users.
7994 (multiboot_tag_module): Rename from this ...
7995 (multiboot2_tag_module): ... to this. Update all users.
7996 (multiboot_tag_memory): Rename from this ...
7997 (multiboot2_tag_memory): ... to this. Update all users.
7998 (multiboot_tag_unused): Rename from this ...
7999 (multiboot2_tag_unused): ... to this. Update all users.
8000 (multiboot_tag_end): Rename from this ...
8001 (multiboot2_tag_end): ... to this. Update all users.
8002
1c8927f0
RM
80032009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8004
8005 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8006 this platform we should support Multiboot1 first.
8007
8008 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8009 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8010 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8011
6e1e0d89
RM
80122009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8013
8014 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8015 of write calls (converting them to fwrite() if they aren't already).
8016 (get_torito_desc): Likewise.
8017 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8018
7f2b34d8
RM
80192009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8020
8021 * util/i386/pc/grub-install.in: Move from here ...
8022 * util/grub-install.in: ... to here. Update all users.
8023
c0ef3311
CW
80242009-11-11 Colin Watson <cjwatson@ubuntu.com>
8025
8026 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8027
e1f240ff
RM
80282009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8029
8030 Support for El Torito without floppy emulation.
8031
8032 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8033 (init_boot_catalog): Improve error handling.
8034 (get_torito_desc): Don't use floppy emulation unless requested by
8035 user. Patch boot information table when requested via
8036 `-boot-info-table'.
8037 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8038 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8039 (use_boot_info_table): New variables.
8040 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8041 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8042 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8043 `--eltorito-emul-floppy'.
8044 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8045 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8046 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8047 (use_boot_info_table, get_731): New prototypes.
8048 * util/mkisofs/write.c (get_731): New function.
8049
af7d4de5
FZ
80502009-11-11 Felix Zielcke <fzielcke@z-51.de>
8051
8052 Fix the generation of the man page.
8053
8054 * util/pc/i386/grub-install.in: Source
8055 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8056
2c55dbc0
RM
80572009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8058
8059 Large file support for grub-mkisofs.
8060
8061 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8062 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8063 (session_start): Upgrade type to `uint64_t'. Update all users.
8064 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8065 (struct directory_entry): Upgrade type of `starting_block' and
8066 `size' to `uint64_t'. Update all users.
8067 (struct deferred): Remove unused structure.
8068 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8069 Update all users.
8070 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8071 file is larger than `UINT32_MAX'.
8072 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8073 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8074 return value.
8075 (struct deferred_write): Upgrade type of `extent' and `size' to
8076 `uint64_t'. Update all users.
8077 (last_extent_written): Upgrade type to `uint64_t'. Update all
8078 users.
8079 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8080 Update all users. Upgrade type of `remain' to `int64_t' and
8081 `use' to `size_t'. Use error() to handle fread() errors.
8082 (write_files): Rely on write_one_file() rather than calling
8083 xfwrite() directly.
8084
6a9cead5
FZ
80852009-11-09 Felix Zielcke <fzielcke@z-51.de>
8086
8087 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8088
4825d790
RM
80892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8090
8091 * util/mkisofs/fnmatch.c: Remove.
8092 * util/mkisofs/getopt1.c: Likewise.
8093 * util/mkisofs/getopt.c: Likewise.
8094 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8095 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8096 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8097 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8098 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8099
8100 * configure.ac: Detect `mingw32msvc' host_os.
8101 Check for lstat(), getuid() and getgid().
8102
8103 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8104 instances of `u_char' with `uint8_t'.
8105
8106 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8107 [!HAVE_GETUID] (getuid): New function (stub).
8108 [!HAVE_GETGID] (getgid): Likewise.
8109 [!HAVE_LSTAT] (lstat): Likewise.
8110 [!S_IROTH] (S_IROTH): New macro (dummy).
8111 [!S_IRGRP] (S_IRGRP): Likewise.
8112
84b860d8
RM
81132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8114
8115 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8116 conditional expression).
8117
66e9b712
RM
81182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8119
8120 Import from Gnulib.
8121
8122 * gnulib/fnmatch.c: New file.
8123 * gnulib/fnmatch.h: Likewise.
8124 * gnulib/fnmatch_loop.c: Likewise.
8125 * gnulib/getopt.c: Likewise.
8126 * gnulib/getopt.h: Likewise.
8127 * gnulib/getopt1.c: Likewise.
8128 * gnulib/getopt_int.h: Likewise.
8129 * gnulib/gettext.h: Likewise.
8130
34f4a5b0
RM
81312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8132
8133 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8134 * normal/handler.c (read_handler_list): Likewise.
8135
ac451143
RM
81362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8137
8138 Misc cleanup.
8139
8140 * kern/command.c (grub_register_command_prio): Use
8141 grub_zalloc() instead of explicitly zeroing data.
8142 * kern/list.c: Include `<grub/mm.h>'.
8143 (grub_named_list_find): Replace `0' with `NULL'.
8144 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8145 (fs_module_list): Change type to `grub_named_list_t'. Update all
8146 users.
8147 * normal/dyncmd.c (read_command_list): Add space between function
8148 call and parenthesis.
8149 * normal/handler.c (read_handler_list): Likewise.
8150
4089b167
RM
81512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8152
8153 * normal/auth.c (punishment_delay): Moved from here ...
8154 (grub_auth_strcmp): ... to here (inside function).
8155
325f5037
RM
81562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8157
8158 * include/grub/list.h (struct grub_named_list): Remove `const'
8159 qualifier from `name'.
8160 (struct grub_prio_list): Likewise.
8161
7aea29a3
RM
81622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8163
8164 * normal/auth.c: Include `<grub/time.h>'.
8165 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8166
3fd6f044
RM
81672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8168
8169 * normal/auth.c (punishment_delay): New variable.
8170 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8171 (grub_auth_check_authentication): Punish failed login attempts with
8172 an incremental (2^N) delay.
8173
a4cd68e4
RM
81742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8175
8176 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8177 path with $(srcdir).
8178
7ad12f43
VS
81792009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8182
c1129f03
RM
81832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8184
8185 * util/i386/coreboot/grub-mkrescue.in: New file.
8186 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8187 variables.
8188
8189 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8190 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8191 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8192 requirements.
8193 * util/mkisofs/defaults.h: New file.
8194 * util/mkisofs/eltorito.c: Likewise.
8195 * util/mkisofs/exclude.h: Likewise.
8196 * util/mkisofs/fnmatch.c: Likewise.
8197 * util/mkisofs/getopt.c: Likewise.
8198 * util/mkisofs/getopt1.c: Likewise.
8199 * util/mkisofs/hash.c: Likewise.
8200 * util/mkisofs/include/fctldefs.h: Likewise.
8201 * util/mkisofs/include/mconfig.h: Likewise.
8202 * util/mkisofs/include/prototyp.h: Likewise.
8203 * util/mkisofs/include/statdefs.h: Likewise.
8204 * util/mkisofs/iso9660.h: Likewise.
8205 * util/mkisofs/joliet.c: Likewise.
8206 * util/mkisofs/match.c: Likewise.
8207 * util/mkisofs/match.h: Likewise.
8208 * util/mkisofs/mkisofs.c: Likewise.
8209 * util/mkisofs/mkisofs.h: Likewise.
8210 * util/mkisofs/multi.c: Likewise.
8211 * util/mkisofs/name.c: Likewise.
8212 * util/mkisofs/rock.c: Likewise.
8213 * util/mkisofs/tree.c: Likewise.
8214 * util/mkisofs/write.c: Likewise.
8215
ec8bb77d
VS
82162009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8219 being insecure.
8220
3716b12c
RM
82212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8222
8223 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8224 `grub-mkimage' (and use $0 when possible).
8225
b97b7b91
RM
82262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8227
8228 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8229 error message for excessively large memory map.
8230
04114812
RM
82312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8232
8233 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8234 executable bit.
8235
e4eb2373
RM
82362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8237
8238 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8239 message for coreboot users.
8240
c926e1d5 82412009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8242
8243 Fix build with GNU gold.
8244
8245 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8246 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8247 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8248 link addresses.
8249 * aclocal.m4: Likewise.
8250
86e5b1db 82512009-11-04 Felix Zielcke <fzielcke@z-51.de>
8252
8253 * configure.ac (AC_PREREQ): Bump to 2.59d.
8254 * INSTALL: Make it more clear when Autoconf and Ruby are
8255 needed and when to run `./autogen.sh'.
8256
246cd78f 82572009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8258
8259 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8260 OSes.
8261
4f9dfb37 82622009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8263
8264 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8265
b82bd5e1 82662009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8267
8268 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8269 giving it to GNU Mach.
8270
ff1a9bca 82712009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8272
8273 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8274 GNU partition number to get internal GRUB partition number.
8275
61697d9c 82762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8277
8278 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8279 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8280
a50569e1 82812009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8282
8283 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8284 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8285 case.
8286
5b153867 82872009-11-01 Felix Zielcke <fzielcke@z-51.de>
8288
8289 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8290
d9e2cd70 82912009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8292
8293 Fix build problem.
8294
8295 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8296 `-isystem=$(srcdir)/include'.
8297
805111a4 82982009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8299
8300 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8301 checked (grub-install doesn't currently rely on it).
8302
fa6e945f 83032009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8304
8305 Revert SVN r2660.
8306
8307 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8308 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8309 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8310 * conf/i386-ieee1275.rmk: Likewise.
8311 * conf/i386-pc.rmk: Likewise.
8312 * conf/powerpc-ieee1275.rmk: Likewise.
8313 * conf/sparc64-ieee1275.rmk: Likewise.
8314 * conf/x86_64-efi.rmk: Likewise.
8315
cee15086 83162009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8317
8318 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8319
95b9239e 83202009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8321
8322 * include/grub/misc.h: Stop checking for APPLE_CC.
8323
2ed19dfd 83242009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8325
8326 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8327 doesn't cause an infinite call loop.
8328
fdcdde19 83292009-10-28 Felix Zielcke <fzielcke@z-51.de>
8330
8331 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8332 strings.
8333
cefabfe1 83342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8335
8336 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8337 variable.
8338 * Makefile.in: Likewise.
8339
ed96ab6d 83402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8341
8342 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8343
0579b753 83442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8345
8346 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8347
478df409 83482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8349
8350 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8351
083d1679 83522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8353
8354 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8355 from here ...
8356 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8357
5947ae32 83582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8359
8360 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8361 in $(MAKEINFO) invocation. This makes it clear in output that
8362 errors are being ignored.
8363
94180ff6 83642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8365
8366 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8367 from here ...
8368 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8369 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8370 * conf/i386-ieee1275.rmk: Likewise.
8371 * conf/i386-pc.rmk: Likewise.
8372 * conf/powerpc-ieee1275.rmk: Likewise.
8373 * conf/sparc64-ieee1275.rmk: Likewise.
8374 * conf/x86_64-efi.rmk: Likewise.
8375
9031b03a 83762009-10-26 Colin Watson <cjwatson@ubuntu.com>
8377
8378 * util/grub-editenv.c (main): If only a command is given, use
8379 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8380 (usage): FILENAME is now optional and has a default.
8381
e4f6809b 83822009-10-26 Colin Watson <cjwatson@ubuntu.com>
8383
8384 Improve grub-mkconfig performance when there are several menu
8385 entries on a single filesystem.
8386
8387 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8388 prepare_grub_to_access_device.
8389 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8390 * util/grub.d/30_os-prober.in: Likewise.
8391
67937d4d 83922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8393
8394 * util/grub.d/10_freebsd.in: Remove.
8395 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8396 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8397
ee3756cc 83982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8399
5c35048e 8400 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 8401
4dea1c6f 84022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8403
8404 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8405 grub_util_error() call.
8406
042484d7 84072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8408
8409 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8410 `reserved_first_sector' member.
8411 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8412 `reserved_first_sector' to 1.
8413 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8414 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8415 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8416 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8417 filesystems which begin at first sector.
8418 (options): New option --skip-fs-probe.
8419 (main): Handle --skip-fs-probe and pass it to setup().
8420
d64448a7 84212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8422
8423 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8424 (memset): Fix function prototype.
8425
508d42ec 84262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
84272009-10-25 Vasily Averin <vvs@parallels.com>
8428
8429 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8430 `dirent.direntlen == 0'.
8431
b240e30c 84322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8433
8434 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8435 `cpio'.
8436 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8437
346e7fbe 84382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8439
8440 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8441 `__trampoline_setup' and `__ucmpdi2'.
8442 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8443 that libgcc provides.
8444
cdb308b0 84452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8446
8447 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8448 * include/grub/sparc64/libgcc.h (memset): Likewise.
8449 * include/grub/misc.h (memset, memcmp): New function prototypes.
8450
fb26abc2 84512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8452
8453 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8454 `cpio'.
8455 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8456
f6693890 84572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8458
8459 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8460 * docs/grub.cfg: Compensate for recent change in multiboot
8461 loader (since 2009-08-14 it won't pass filename to payload).
8462 * util/grub.d/10_hurd.in: Likewise.
8463
0933cdc0 84642009-10-21 Felix Zielcke <fzielcke@z-51.de>
8465
8466 * config.guess: Update to latest version from config git
8467 repository.
8468 * config.sub: Likewise.
8469
3b2fe8c2 84702009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8471
8472 Fix build on sparc64.
8473
8474 * configure.ac: Perform checks for libgcc symbols before
8475 adding `-nostdlib' to LDFLAGS.
8476
46695a62 84772009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Let user specify OpenBSD root device.
8480
8481 * loader/i386/bsd.c (openbsd_root): New variable.
8482 (openbsd_opts): New option 'root'.
8483 (OPENBSD_ROOT_ARG): New macro.
8484 (grub_openbsd_boot): Use 'openbsd_root'.
8485 (grub_cmd_openbsd): Fill 'openbsd_root'.
8486
d2b6b7fc 84872009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8488
8489 * NEWS: Misc adjustments.
8490
421bd7ac 84912009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8494
f1d29d87 84952009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8496
8497 * configure.ac: Bump version to 1.97.
8498
6f3cd880 84992009-10-16 Colin Watson <cjwatson@ubuntu.com>
8500
8501 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8502 -mno-3dnow on x86 architectures. Some toolchains enable these
8503 features by default, but they rely on registers that aren't enabled
8504 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8505
035f7122 85062009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8507
8508 Make entry text a bit more readable.
8509
8510 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8511
44998e58 85122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8515
cd2851b3 85162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8519 operations.
8520
c6f3b249 85212009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * configure.ac: Add missing dollar.
8524
6b5886ba 85252009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8528
8529 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8530 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8531 exports.
8532 * include/grub/sparc64/libgcc.h: Likewise. Use
8533 preprocessor conditionals.
8534
e9d66f6d 85352009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8536
8537 * conf/common.rmk (grub-dumpbios): Remove rule.
8538 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8539 * util/grub-dumpbios.in: Remove file.
8540
9155bc17 85412009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8542
8543 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8544 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8545
8546 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8547 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8548 users.
8549
8550 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8551 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8552 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8553 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8554 users.
8555
bf7f7a18 85562009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8557
8558 * term/tparm.c: Switch to GPLv3.
8559
86564c26 85602009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8561
8562 * include/grub/i386/cpuid.h: Add header protection.
8563
5c936493 85642009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8565
8566 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8567
8568 * include/grub/i386/cpuid.h: New file.
8569 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8570 (has_longmode): Rename to ...
8571 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8572 `static' attribute.
8573 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8574 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8575 on a CPU that doesn't implement AMD64 instruction set.
8576
186e7cf2 85772009-10-06 Colin Watson <cjwatson@ubuntu.com>
8578
8579 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8580 that version.texi is rebuilt on version number changes.
8581
83b65c4a 85822009-10-06 Colin Watson <cjwatson@ubuntu.com>
8583
8584 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8585 Fixes bug #27602.
8586
d244281c 85872009-10-06 Colin Watson <cjwatson@ubuntu.com>
8588
8589 * util/i386/pc/grub-install.in: Source
8590 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8591 that the --grub-probe option will work.
8592 * util/sparc64/ieee1275/grub-install.in: Likewise.
8593
da25306d 85942009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8595
8596 * configure.ac: Bump version to 1.97~beta4.
8597
e8ee83c0 85982009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8599
8600 Resync grub-mkdevicemap in x86_64-efi.
8601
8602 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8603 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8604 `util/devicemap.c'.
8605
50dcabcf 86062009-10-01 Colin Watson <cjwatson@ubuntu.com>
8607
8608 * util/grub-editenv.c (create_envblk_file): Write new block with a
8609 .new suffix and then rename it into place, to ensure atomic
8610 creation.
8611
0e51c3a7 86122009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8613
8614 Do not automatically install headers.
8615
8616 * Makefile.in (include_DATA): Remove. Update all users.
8617
31299a95 86182009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8619
8620 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8621 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8622
8623 * util/osdetect.lua: Remove.
8624 * script/lua/lauxlib.c: Likewise.
8625 * script/lua/ldebug.c: Likewise.
8626 * script/lua/grub_main.c: Likewise.
8627 * script/lua/lauxlib.h: Likewise.
8628 * script/lua/ldebug.h: Likewise.
8629 * script/lua/ltablib.c: Likewise.
8630 * script/lua/liolib.c: Likewise.
8631 * script/lua/lstrlib.c: Likewise.
8632 * script/lua/lualib.h: Likewise.
8633 * script/lua/ldo.c: Likewise.
8634 * script/lua/ldump.c: Likewise.
8635 * script/lua/ldo.h: Likewise.
8636 * script/lua/loslib.c: Likewise.
8637 * script/lua/lundump.c: Likewise.
8638 * script/lua/grub_lib.c: Likewise.
8639 * script/lua/ldblib.c: Likewise.
8640 * script/lua/lundump.h: Likewise.
8641 * script/lua/lmem.c: Likewise.
8642 * script/lua/grub_lib.h: Likewise.
8643 * script/lua/lmathlib.c: Likewise.
8644 * script/lua/lstate.c: Likewise.
8645 * script/lua/ltm.c: Likewise.
8646 * script/lua/lvm.c: Likewise.
8647 * script/lua/lmem.h: Likewise.
8648 * script/lua/lstate.h: Likewise.
8649 * script/lua/ltm.h: Likewise.
8650 * script/lua/ltable.c: Likewise.
8651 * script/lua/lvm.h: Likewise.
8652 * script/lua/llex.c: Likewise.
8653 * script/lua/lgc.c: Likewise.
8654 * script/lua/grub_lua.h: Likewise.
8655 * script/lua/loadlib.c: Likewise.
8656 * script/lua/lfunc.c: Likewise.
8657 * script/lua/lopcodes.c: Likewise.
8658 * script/lua/lparser.c: Likewise.
8659 * script/lua/ltable.h: Likewise.
8660 * script/lua/llex.h: Likewise.
8661 * script/lua/lgc.h: Likewise.
8662 * script/lua/lfunc.h: Likewise.
8663 * script/lua/lbaselib.c: Likewise.
8664 * script/lua/lopcodes.h: Likewise.
8665 * script/lua/lparser.h: Likewise.
8666 * script/lua/lzio.c: Likewise.
8667 * script/lua/linit.c: Likewise.
8668 * script/lua/lobject.c: Likewise.
8669 * script/lua/llimits.h: Likewise.
8670 * script/lua/lstring.c: Likewise.
8671 * script/lua/lzio.h: Likewise.
8672 * script/lua/lapi.c: Likewise.
8673 * script/lua/lcode.c: Likewise.
8674 * script/lua/lua.h: Likewise.
8675 * script/lua/lobject.h: Likewise.
8676 * script/lua/lstring.h: Likewise.
8677 * script/lua/lapi.h: Likewise.
8678 * script/lua/lcode.h: Likewise.
8679 * script/lua/luaconf.h: Likewise.
8680
cb8a2c38 86812009-09-26 Colin Watson <cjwatson@ubuntu.com>
8682
8683 * docs/grub.texi (Command-line and menu entry commands): Document
8684 date and echo commands.
8685
6b9b6276 86862009-09-24 Pavel Roskin <proski@gnu.org>
8687
8688 * include/grub/kernel.h (struct grub_module_header): Remove
8689 `grub_module_header_types'. Make `type' unsigned. Make `size'
8690 32-bit on all platforms.
8691 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8692 8-bit field. Use grub_host_to_target32() for `size'.
8693 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8694 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8695 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8696
4e5a02a7 86972009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8698
8699 Fix "lost keypress" bug in at_keyboard.
8700
8701 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8702 Checks for readyness of input buffer (without flushing it).
8703 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8704 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8705
c6dcedf6 87062009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8707
8708 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8709 size check within GRUB_MACHINE_PCBIOS section.
8710
74c958b1 87112009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8712
8713 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8714 return value.
8715 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8716 KEYBOARD_ISREADY check.
8717 (grub_at_keyboard_checkkey): Rename to ...
8718 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8719 Remove gratuitous cast.
8720
ff420223 87212009-09-23 Colin Watson <cjwatson@ubuntu.com>
8722
8723 * configure.ac: Call AC_PROG_MKDIR_P.
8724 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8725 version.texi in $(builddir) rather than $(srcdir).
8726 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8727 to makeinfo's @include search path.
8728
d96875df 87292009-09-23 Felix Zielcke <fzielcke@z-51.de>
8730
8731 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8732
9b3f8365 87332009-09-23 Felix Zielcke <fzielcke@z-51.de>
8734
8735 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8736 for `*.dpkg-new'.
8737
c44c90db 87382009-09-21 Colin Watson <cjwatson@ubuntu.com>
8739
8740 Build info documentation. Some code borrowed from Automake.
8741
8742 * configure.ac: Check for makeinfo.
8743 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8744 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8745 docs/version.texi.
8746 (MOSTLYCLEANFILES): Add vti.tmp.
8747 (docs/version.texi, docs/stamp-vti): Update automatically.
8748 (docs/grub.info): Build info documentation. Use --force and ignore
8749 errors for now.
8750 (all-local): Add $(INFOS).
8751 (install-local): Install info files.
8752 (uninstall): Uninstall info files.
8753 * docs/version.texi: Remove from revision control. This file is
8754 automatically generated on build now.
8755 * gendistlist.sh: Add `*.info'.
8756
e0b37bb5 87572009-09-21 Felix Zielcke <fzielcke@z-51.de>
8758
8759 * kern/term.c: Fix indentation.
8760
5a78865b 87612009-09-21 Felix Zielcke <fzielcke@z-51.de>
8762
8763 * util/hostdisk.c: Fix a comment.
8764
dace7e8a 87652009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8766
8767 Fix regression introduced in r2539.
8768
8769 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8770 to 0xA1.
8771
a83d079b 87722009-09-19 Colin Watson <cjwatson@ubuntu.com>
8773
8774 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 8775 os-prober. Under normal operation, it does not print anything to
8776 stderr; if it does, we need to debug it, and throwing away stderr
8777 makes that excessively difficult.
a83d079b 8778
be94a509 87792009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8782
63f745e8 87832009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8784
8785 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8786 AC_LANG_PROGRAM from autoconf.
8787 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8788 prototypes (fixes warning).
8789
8790 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8791 `--disable-werror' was used.
8792
bbb2a70f 87932009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8794
8795 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8796 uninitialized `lastaddr'.
8797
77c24f1d 87982009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8799
0f0b8c87 8800 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 8801
07197f23 88022009-09-14 Colin Watson <cjwatson@ubuntu.com>
8803
8804 * commands/test.c (get_fileinfo): Return immediately if
8805 grub_fs_probe fails.
8806
dabf1798 88072009-09-14 José Martínez <xosemp@gmail.com>
8808
8809 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8810
d52109a7 88112009-09-14 Colin Watson <cjwatson@ubuntu.com>
8812
8813 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8814 output.
8815
56532179 88162009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8817
8818 * configure.ac: Remove --enable-grub-pe2elf. Only build
8819 grub-pe2elf when needed by the build system itself.
8820 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8821
8ef070f5 88222009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8823
8824 * configure.ac: Bump version to 1.97~beta3.
8825 * docs/version.texi: Likewise.
8826
61229557 88272009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8828
8829 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8830 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8831 from here ...
8832 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8833 (grub_linux_setup_video): ... to here (with some adjustments).
8834
5c9f8d84 88352009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8836
8837 Fix memory corruption issue (spotted by Colin Watson).
8838
8839 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
8840 causing returned size to be stored in an incorrect memory location.
8841 Fix use of uninitialized value when storing the returned size.
8842
e8f5d6e9 88432009-09-12 Yves Blusseau <blusseau@zetam.org>
8844
8845 Change clean rules to properly remove files
8846
8847 * genmk.rb: add new clean rules
8848 * Makefile.in (clean): add the new targets
8849 (mostlyclean): likewise
8850
cda2a409 88512009-09-11 Colin Watson <cjwatson@ubuntu.com>
8852
8853 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
8854 to grub_uint64_t.
8855 * fs/ntfs.c (init_file): Understand 64-bit sizes for
8856 non-resident files.
8857
86695375 88582009-09-11 Colin Watson <cjwatson@ubuntu.com>
8859
8860 * configure.ac: Don't look for help2man when cross-compiling. Fixes
8861 part of bug #27349.
8862
8aa1541a 88632009-09-10 Felix Zielcke <fzielcke@z-51.de>
8864
8865 * util/grub-mkconfig.in: Make the created config mode 400 and
8866 print a warning if it fails.
8867
48d9bb0a 88682009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8869
8870 * util/grub.d/40_custom.in: Ask user to type custom entries below
8871 comment, rather than below 'exec tail' line.
8872
3b0521be 88732009-09-10 Colin Watson <cjwatson@ubuntu.com>
8874
8875 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8876 visible in grub.cfg.
8877
50051d55 88782009-09-10 Colin Watson <cjwatson@ubuntu.com>
8879
8880 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8881 file.
8882
c0d34387 88832009-09-10 Felix Zielcke <fzielcke@z-51.de>
8884
8885 * docs/grub.cfg: Add an example menu entry for memtest86+.
8886
80a608f3 88872009-09-09 Felix Zielcke <fzielcke@z-51.de>
8888
a2094832 8889 * config.guess: Update to latest version from config git.
80a608f3 8890 * config.sub: Likewise.
8891
99423078 88922009-09-08 Colin Watson <cjwatson@ubuntu.com>
8893
8894 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8895 unknown-command case. Fixes bug #27320.
8896
44454e4c 88972009-09-08 Felix Zielcke <fzielcke@z-51.de>
8898
8899 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8900 `help' if the command exists.
8901
e30d87ad 89022009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8903
8904 * INSTALL: Require GCC 4.1.3 or later.
8905
9a86f1ec 89062009-09-06 Yves Blusseau <blusseau@zetam.org>
8907
8908 * Makefile.in (RMKFILES): add i386-qemu.rmk
8909 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8910 $(srcdir)/stamp-h.in
8911
7f26d466 89122009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8913
8914 * util/grub-probe.c (probe): Comment out buggy codepath, which
8915 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8916 should be re-enabled after 1.97.
8917
3a613259 89182009-09-05 Felix Zielcke <fzielcke@z-51.de>
8919
8920 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8921 find searches for.
8922
197f76c7 89232009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8926 unnecessary calls to grub_error.
8927
70ba68ce 89282009-09-04 Colin Watson <cjwatson@ubuntu.com>
8929
8930 * NEWS: Mention `keystatus' and Unicode fonts.
8931
4ff0d7a4 89322009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8933
8934 * configure.ac: Bump version to 1.97~beta2.
8935 * docs/version.texi: Likewise.
8936
77c55a87 89372009-09-03 Colin Watson <cjwatson@ubuntu.com>
8938
8939 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8940 containing unwind information in some cases where it previously did
8941 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8942 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8943 discussion.
8944
f79572cd 89452009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8946
8947 Embedding loadenv module into grub-emu
8948
8949 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8950 commands/loadenv.c
8951 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8952 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8953 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8955 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8956 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8957
93a81088 89582009-09-03 Magnus Granberg <zorry@ume.nu>
8959
8960 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8961 include -fPIE in the default specs.
8962 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8963 to TARGET_CFLAGS.
8964
160034b2 89652009-09-03 Felix Zielcke <fzielcke@z-51.de>
8966
8967 * INSTALL: Note that GNU Bison 2.3 or later is required.
8968
087c07c4 89692009-09-03 Colin Watson <cjwatson@ubuntu.com>
8970
8971 * kern/i386/pc/startup.S: Fix typo.
8972
cbf978c0 89732009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8976 according to GCS.
8977
89782009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 8979
8980 * docs/grub.texi (Naming convention): Describe one-based partition
8981 numbering.
8982 (Device syntax): Likewise.
8983 (File name syntax): Likewise.
8984 (Block list syntax): Likewise.
8985 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8986 menu.lst.
8987 (File name syntax): Likewise.
8988 (Command-line and menu entry commands): Document acpi, blocklist,
8989 crc, export, insmod, keystatus, ls, set, and unset commands.
8990
f3e8cdfd 89912009-09-02 Colin Watson <cjwatson@ubuntu.com>
8992
8993 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8994 to avoid implying that only one of --shift, --ctrl, or --alt may be
8995 used.
8996
c0bc232b 89972009-09-02 Colin Watson <cjwatson@ubuntu.com>
8998
8999 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9000 rather than comparing against S_IFREG, which will almost never work.
9001
aa0f752d 90022009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9005 (write_blocklists): Likewise.
9006
ecb3166a 90072009-09-01 Colin Watson <cjwatson@ubuntu.com>
9008
9009 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9010 argument to grub_printf.
9011
c403a125 90122009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 9013
9014 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 9015 non GNU test.
31aba781 9016
b5e7312c 90172009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * kern/file.c (grub_file_read): Spelling fix
9020
fe00f472 90212009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9024 loading of headers in some cases.
9025
cc55302e 90262009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9027
9028 * configure.ac: Bump version to 1.97~beta1.
9029 * docs/version.texi: Likewise.
9030
5c90cdd2 90312009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 9032
9033 * include/grub/i386/xnu.h: Add license header.
9034 include grub/err.h explicitly.
9035
c90edae4 90362009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9037
9038 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9039 to `ufs' in the vfs.root.mountfrom kernel parameter.
9040
d8888b5c 90412009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9042
9043 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9044
9045 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9046 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9047
9048 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9049 `ARRAY_SIZE' macro.
9050
6f07b921 90512009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * kern/file.c (grub_file_read): Check offset.
9054 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9055 * fs/jfs.c (grub_jfs_read_file): Likewise.
9056 * fs/ntfs.c (grub_ntfs_read): Likewise.
9057 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9058 * fs/minix.c (grub_minix_read_file): Correct offset check.
9059 * fs/ufs.c (grub_ufs_read_file): Likewise.
9060
b4f34077 90612009-08-28 Colin Watson <cjwatson@ubuntu.com>
9062
9063 * term/i386/pc/console.c (bios_data_area): Cast
9064 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9065
e7c69859 90662009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 1-bit optimised blitters.
9069
9070 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9071 prototype.
9072 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9073 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9074 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9075 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9076 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9077 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9078 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9079 function.
9080 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9081 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9082 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9083 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9084 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9085 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9086 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9087 when possible.
9088 * video/video.c (grub_video_get_blit_format): Return
9089 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9090
a57da43f 90912009-08-28 Colin Watson <cjwatson@ubuntu.com>
9092
9093 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9094 the first argument to grub_printf.
9095
4cbe67e5 90962009-08-28 Colin Watson <cjwatson@ubuntu.com>
90972009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9098
9099 Add `getkeystatus' terminal method. Add a new `keystatus' command
9100 to query it.
9101
9102 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9103 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9104 modifier key bitmasks.
9105 (struct grub_term_input): Add `getkeystatus' member.
9106 (grub_getkeystatus): Add prototype.
9107 * kern/term.c (grub_getkeystatus): New function.
9108
9109 * include/grub/i386/pc/memory.h
9110 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9111 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9112 Data Area layout.
9113 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9114 (grub_console_term_input): Set `getkeystatus' member.
9115 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9116 constants.
9117 (grub_usb_keyboard_getreport): Likewise.
9118 (grub_usb_keyboard_checkkey): Likewise.
9119 (grub_usb_keyboard_getkeystatus): New function.
9120 (grub_usb_keyboard_term): Set `getkeystatus' member.
9121
9122 * commands/keystatus.c: New file.
9123 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9124 (keystatus_mod_SOURCES): New variable.
9125 (keystatus_mod_CFLAGS): Likewise.
9126 (keystatus_mod_LDFLAGS): Likewise.
9127 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9128 commands/keystatus.c.
9129 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9130 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9131 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9133 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9134 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 9135
6e2a9085 91362009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 Split befs.mod and afs.mod into *_be.mod and *.mod
9139
9140 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9141 (grub_fstest_SOURCES): Likewise.
9142 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9143 (afs_be_mod_SOURCES): New variable.
9144 (afs_be_mod_CFLAGS): Likewise.
9145 (afs_be_mod_LDFLAGS): Likewise.
9146 (befs_be_mod_SOURCES): Likewise.
9147 (befs_be_mod_CFLAGS): Likewise.
9148 (befs_be_mod_LDFLAGS): Likewise.
9149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9151 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9152 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9153 (grub_emu_SOURCES): Likewise.
9154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9155 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9156 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9157 * fs/afs_be.c: New file.
9158 * fs/befs_be.c: New file.
9159 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9160 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9161 (U16): Replaced with ...
9162 (grub_afs_to_cpu16): ...this. All users updated.
9163 (U32): Replaced with ...
9164 (grub_afs_to_cpu32): ...this. All users updated.
9165 (U64): Replaced with ...
9166 (grub_afs_to_cpu64): ...this. All users updated.
9167 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9168 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 9169 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 9170 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9171 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9172 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9173 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9174 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9175 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9176 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9177 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9178
32a71655 91792009-08-26 Bean <bean123ch@gmail.com>
9180
9181 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9182 64-bit number.
9183 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9184 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9185 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9186
552bf6c5 91872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 NetBSD memory map support.
9190
9191 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9192 (grub_netbsd_btinfo_mmap_header): New structure.
9193 (grub_netbsd_btinfo_mmap_entry): Likewise.
9194 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9195
1ae2078c 91962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Enable bsd.mod on coreboot.
9199
9200 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9201 (bsd_mod_SOURCES): New variable.
9202 (bsd_mod_CFLAGS): Likewise.
9203 (bsd_mod_LDFLAGS): Likewise.
9204 (bsd_mod_ASFLAGS): Likewise.
9205 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9206 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9207
beefc598 92082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 Cleanup NetBSD root support.
9211
9212 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9213 grub_bsd_get_device.
9214 Fix typo.
9215
3b76e68b 92162009-08-25 Felix Zielcke <fzielcke@z-51.de>
9217
9218 * util/grub.d/00_header.in: Move check for the video backend of
9219 gfxterm from here ...
9220 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9221 a suitable video backend.
9222
aea664ea 92232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 Fix breakage in grub-setup.
9226
9227 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9228 "msdos_partition_map".
9229
ff747d50 92302009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 Fix breakage in normal/auth.c.
9233
9234 * normal/auth.c (grub_iswordseparator): New function.
9235
e7e1f93f 92362009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 Authentication support.
9239
9240 * commands/password.c: New file.
9241 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9242 (password_mod_SOURCES): New variable.
9243 (password_mod_CFLAGS): Likewise.
9244 (password_mod_LDFLAGS): Likewise.
9245 (normal_mod_SOURCES): Add normal/auth.c.
9246 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9247 normal/auth.c.
9248 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9249 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9250 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9252 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9253 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9254 * include/grub/auth.h: New file.
9255 * include/grub/err.h (grub_err_t): New enum value
9256 GRUB_ERR_ACCESS_DENIED.
9257 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9258 'users'.
9259 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9260 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9261 users updated.
9262 * normal/auth.c: New file.
9263 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9264 (grub_cmdline_run): Don't allow to go to command line without
9265 authentication.
9266 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9267 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9268 menuentry without superuser rights.
9269 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9270 user isn't a superuser.
9271
70f1161d 92722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 Save space by inlining misc.c functions.
9275
9276 * kern/misc.c (grub_iswordseparator): Made static.
9277 * kern/misc.c (grub_strcat): Moved from here ...
9278 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9279 * kern/misc.c (grub_strncat): Moved from here ...
9280 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9281 * kern/misc.c (grub_strcasecmp): Moved from here ...
9282 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9283 * kern/misc.c (grub_strncasecmp): Moved from here ...
9284 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9285 * kern/misc.c (grub_isalpha): Moved from here ...
9286 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9287 * kern/misc.c (grub_isdigit): Moved from here ...
9288 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9289 * kern/misc.c (grub_isgraph): Moved from here ...
9290 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9291 * kern/misc.c (grub_tolower): Moved from here ...
9292 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9293
48e40bff 92942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * script/sh/function.c (grub_script_function_find): Cut error message
9297 not to flood terminal.
9298 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9299 limit.
9300 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9301
c385bfc3 93022009-08-24 Colin Watson <cjwatson@ubuntu.com>
9303
9304 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9305 `report' grub_uint8_t *.
9306 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9307 Use a 50-millisecond timeout rather than just repeating
9308 grub_usb_keyboard_getreport 50 times.
9309 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9310
2d21e3e8 93112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 Rename *_partition_map to part_*
9314
9315 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9316 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9317 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9318 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9319 All users updated.
9320 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9321 All users updated.
9322 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9323 * util/grub-probe.c (probe_partmap): Don't transform partition name
9324 to get module name.
9325
dd103c4e 93262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 Fix OpenBSD and NetBSD support.
9329
9330 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9331 memory address conflict.
9332 (OPENBSD_MMAP_ACPI): New definition.
9333 (OPENBSD_MMAP_NVS): Likewise.
9334 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9335 and OPENBSD_MMAP_NVS.
9336 Add memory map terminator
9337 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 9338 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 9339
16c84d74 93402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 Let user specify NetBSD root device.
9343
9344 * loader/i386/bsd.c (netbsd_root): New variable.
9345 (netbsd_opts): New option 'root'.
9346 (NETBSD_ROOT_ARG): New macro.
9347 (grub_netbsd_boot): Use 'netbsd_root'.
9348 (grub_bsd_unload): Free 'netbsd_root'.
9349 (grub_cmd_netbsd): Fill 'netbsd_root'.
9350
adb29902 93512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 Support for 64-bit NetBSD.
9354
9355 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9356 point when booting non-FreeBSD.
9357
f5ae9f74 93582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 Support --no-smp and --no-acpi for NetBSD.
9361
9362 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9363 (NETBSD_AB_NOACPI): Likewise.
9364 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9365 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9366
de74f136 93672009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9370 errors.
9371 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9372 errors. Call grub_error when needed.
9373
e9a925da 93742009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * commands/search.c (search_fs): Try searching without autoload first.
9377 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9378 filesystem module explicitly for faster booting.
9379
5174302b 93802009-08-23 Colin Watson <cjwatson@ubuntu.com>
9381
9382 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9383
c8c80635 93842009-08-23 Colin Watson <cjwatson@ubuntu.com>
9385
9386 * util/grub.d/30_os-prober.in: Disable os-prober if
9387 `GRUB_DISABLE_OS_PROBER' was set to true.
9388
71acf5e5 93892009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9390
9391 * partmap/pc.c: Rename to ...
9392 * partmap/msdos.c: ... this. Update all users.
9393 (grub_pc_partition_map): Rename to ...
9394 (grub_msdos_partition_map): ... this. Update all users.
9395
9396 * parttool/pcpart.c: Rename to ...
9397 * parttool/msdospart.c: ... this. Update all users.
9398
9399 * include/grub/pc_partition.h: Rename to ...
9400 * include/grub/msdos_partition.h: ... this. Update all users.
9401 (grub_pc_partition_bsd_entry): Rename to ...
9402 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9403 (grub_pc_partition_disk_label): Rename to ...
9404 (grub_msdos_partition_disk_label): ... this. Update all users.
9405 (grub_pc_partition_entry): Rename to ...
9406 (grub_msdos_partition_entry): ... this. Update all users.
9407 (grub_pc_partition_mbr): Rename to ...
9408 (grub_msdos_partition_mbr): ... this. Update all users.
9409 (grub_pc_partition): Rename to ...
9410 (grub_msdos_partition): ... this. Update all users.
9411 (grub_pc_partition_is_empty): Rename to ...
9412 (grub_msdos_partition_is_empty): ... this. Update all users.
9413 (grub_pc_partition_is_extended): Rename to ...
9414 (grub_msdos_partition_is_extended): ... this. Update all users.
9415 (grub_pc_partition_is_bsd): Rename to ...
9416 (grub_msdos_partition_is_bsd): ... this. Update all users.
9417
9418 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9419 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9420 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9421 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9422 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9423 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9424 (gpt_mod_LDFLAGS): Rename to ...
9425 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9426 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9427 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9428 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9429 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9430 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9431 (part_gpt_mod_LDFLAGS): ... this.
9432 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9433 `pcpart.mod' to `msdospart.mod'.
9434 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9435 to ...
9436 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9437 (msdospart_mod_LDFLAGS): ... this.
9438
c11fded5 94392009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9442 (openbsd_opts): Likewise.
9443 (netbsd_opts): Likewise.
9444 (freebsd_flags): Added 0 terminator.
9445 (openbsd_flags): Likewise.
9446 (netbsd_flags): Likewise.
9447 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9448 (grub_cmd_freebsd): Transformed into extended command.
9449 (grub_cmd_openbsd): Likewise.
9450 (grub_cmd_netbsd): Likewise.
9451 (cmd_freebsd): Changed type to grub_extcmd_t.
9452 (cmd_openbsd): Likewise.
9453 (cmd_netbsd): Likewise.
9454 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9455 grub_cmd_openbsd as extended commands.
9456 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9457 cmd_netbsd and cmd_openbsd
9458
11d1c769 94592009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9462
7a9094e5 94632009-08-21 Pavel Roskin <proski@gnu.org>
9464
5496c37e 9465 * Makefile.in (install-local): When checking if a file is in the
9466 build directory, use "test -e" to detect symlinks.
9467
7a9094e5 9468 * Makefile.in (install-local): Remove all files in
9469 $(DESTDIR)$(pkglibdir) before installing new files there.
9470
e53cea11 94712009-08-18 Felix Zielcke <fzielcke@z-51.de>
9472
9473 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9474 grub-mkelfimage.
9475
9aced544 94762009-08-18 Felix Zielcke <fzielcke@z-51.de>
9477
9478 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9479 explicitly specified by the user.
9480
b7da6bab 94812009-08-18 Pavel Roskin <proski@gnu.org>
9482
9483 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9484 grub_uint8_t pointer for data.
9485 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9486 Likewise.
9487 * video/fb/fbutil.c: Remove unnecessary casts.
9488
19f1b335 94892009-08-17 Michal Suchanek <hramrach@centrum.cz>
9490
9491 VBE cleanup.
9492
9493 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9494 (grub_vbe_set_video_mode): Save active mode info
9495 only after setting the mode.
9496 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9497 second argument.
9498
2f467aa9 94992009-08-17 Michal Suchanek <hramrach@centrum.cz>
9500
9501 Rename variables for clarity.
9502
9503 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9504 (active_vbe_mode_info): ... this. All users updated.
9505 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9506 All users updated.
9507 (initial_mode): Rename to ...
9508 (initial_vbe_mode): ... this. All users updated.
9509 (mode_in_use): Rename to ..
9510 (vbe_mode_in_use): ... this. All users updated.
9511 (mode_list): Rename to ..
9512 (vbe_mode_list): ... this. All users updated.
9513 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9514 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9515 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9516 'mode_list_size' to 'vbe_mode_list_size'.
9517 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9518 'best_mode_info' to 'best_vbe_mode_info' and
9519 'best_mode' to 'best_vbe_mode'
9520
6025fcd7 95212009-08-17 Michal Suchanek <hramrach@centrum.cz>
9522
9523 Remove duplicate grub_video_fb_get_video_ptr.
9524
9525 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9526 (grub_video_fb_get_video_ptr): ... this.
9527 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9528 * video/fb/fbutil.c: Add comment about addressing.
9529 (get_data_ptr): Rename to ...
9530 (grub_video_fb_get_video_ptr): ... this. All users updated.
9531 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9532
cc8c6faf 95332009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9534
9535 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9536 grub_dprintf() that was just added.
9537
08aa61f0 95382009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9539
9540 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9541 (DEFAULT_VIDEO_MODE): Remove macros.
9542 (grub_linux_boot): Remove assumption that Linux has FB support,
9543 and use "text" as default video mode.
9544
7cef4f75 95452009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9548 grub_dprintf.
9549 * fs/fat.c (grub_fat_read_data): Likewise.
9550
e1f39873 95512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9554 payload.
9555 (grub_module): Likewise.
9556
c166d79e 95572009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9560 mbi->cmdline but free playground.
9561
c60cee8e 95622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 Handle group offset on UFS1.
9565
9566 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9567 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9568
c0d8b5d4 95692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 Split ufs.mod into ufs1.mod and ufs2.mod.
9572
9573 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9574 (grub_fstest_SOURCES): Likewise.
9575 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9576 (ufs_mod_SOURCES): Remove.
9577 (ufs_mod_CFLAGS): Likewise.
9578 (ufs_mod_LDFLAGS): Likewise.
9579 (ufs1_mod_SOURCES): New variable.
9580 (ufs1_mod_CFLAGS): Likewise.
9581 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 9582 (ufs2_mod_SOURCES): New variable.
9583 (ufs2_mod_CFLAGS): Likewise.
9584 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 9585 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9586 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9587 Likewise.
9588 (grub_emu_SOURCES): Likewise.
9589 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9590 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9591 (grub_setup_SOURCES): Likewise.
9592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9593 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9594 (grub_setup_SOURCES): Likewise.
9595 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9596 Likewise.
9597 * fs/ufs2.c: New file.
9598 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9599
d3539132 96002009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 Framebuffer split.
9603
9604 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9605 subsystem at the end.
9606 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9607 (video_fb_mod_SOURCES): New variable.
9608 (video_fb_mod_CFLAGS): Likewise.
9609 (video_fb_mod_LDFLAGS): Likewise.
9610 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9611 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9612 * video/i386/pc/vbeblit.c: Moved from here ...
9613 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9614 * video/i386/pc/vbefill.c: Moved from here ...
9615 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9616 * video/i386/pc/vbeutil.c: Moved from here ...
9617 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9618 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9619 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9620 * include/grub/i386/pc/vbefill.h: Moved from here ...
9621 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9622 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9623 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9624 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9625 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9626 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9627 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9628 (grub_video_adapter): Added 'get_info_and_fini'.
9629 (grub_video_get_info_and_fini): New prototype.
9630 (grub_video_set_mode): make modestring const char *.
9631 * loader/i386/linux.c (grub_linux_setup_video): Use
9632 grub_video_get_info_and_fini.
9633 (grub_linux_boot): Move modesetting just before booting.
9634 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9635 grub_video_get_info_and_fini.
9636 * video/i386/pc/vbe.c: Moved framebuffer part ...
9637 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9638 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9639 grub_video_fbstd_colors and grub_video_fb_set_palette.
9640 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9641 grub_video_fb_init.
9642 (grub_video_vbe_fini): Use grub_video_fb_fini.
9643 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9644 render_target and use grub_video_fb_set_active_render_target and
9645 grub_video_fb_set_palette.
9646 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9647 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9648 (grub_video_vbe_adapter): Use framebuffer.
9649 * video/video.c (grub_video_get_info_and_fini): New function.
9650 (grub_video_set_mode): Make modestring const char *.
9651 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9652 values are already initialised.
9653
d404ee56 96542009-08-14 Pavel Roskin <proski@gnu.org>
9655
9656 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9657 ABS and APPLE_CC.
9658 * boot/i386/pc/diskboot.S: Likewise.
9659 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9660 sectors allow compilation on MacOSX.
9661 * conf/i386-pc.rmk: Enable unconditional compilation of
9662 lnxboot.img.
9663
9a10df16 96642009-08-13 Colin Watson <cjwatson@ubuntu.com>
9665
9666 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9667 * util/grub.d/00_header.in: Enter interruptible sleep if
9668 GRUB_HIDDEN_TIMEOUT is set.
9669
be3c9ca7 96702009-08-13 Yves Blusseau <blusseau@zetam.org>
9671
9672 * include/grub/symbol.h: Add the LOCAL macro.
9673 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9674 starting with "L_".
9675
1f9e557e 96762009-08-13 Pavel Roskin <proski@gnu.org>
9677
9ca62843 9678 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9679 any modern compilers we support.
9680
1f9e557e 9681 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9682 Use local labels starting with "L_" so that Apple assembler
9683 knows they are local.
9684
81623db6 96852009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9686
9687 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9688 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9689 (bsd_kernel_types): ... this enum.
9690
9691 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9692 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9693 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9694
9695 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9696 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9697 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9698 messages.
9699
f5d35e7a 97002009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9701
9702 * util/grub-dumpdevtree: Moved from here ...
9703 * util/i386/efi/grub-dumpdevtree: ... to here.
9704 (hexify): New function. Converts a string to its hex version.
9705 Generate hex versions of "efi" and "device-properties" by calling
9706 hexify() on the ASCII strings rather than by hardcoding numbers.
9707
d1e1d527 97082009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9709
9710 * fs/jfs.c: Update copyright year.
9711
1ebbe064 97122009-08-08 Felix Zielcke <fzielcke@z-51.de>
9713
9714 * util/grub.d/00_header.in: Fix a comment.
9715 * util/grub.d/10_linux.in: Likewise.
9716 * util/grub.d/10_windows.in: Likewise.
9717 * util/grub.d/10_hurd.in: Likewise.
9718
a78c8d24 97192009-08-08 Felix Zielcke <fzielcke@z-51.de>
9720
9721 * util/grub-mkconfig.in: Allow the user to specify the used font
9722 with GRUB_FONT.
9723
29a6b9e8 97242009-08-08 Pavel Roskin <proski@gnu.org>
9725
b5f16cc4 9726 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9727 available, xfs.mod needs it now.
9728
2f5cb827 9729 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9730 the "g" modifier in sed when the intention is to strip something
9731 once. This fixes comparison of kernels with multiple dashes.
9732
29a6b9e8 9733 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9734 on it. Add missing space before closing bracket. Fix
9735 misleading formatting.
9736
892a3d98 97372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9738
9739 * docs/grub.texi: Major overhaul. Remove all sections that are
9740 specific to GRUB Legacy, or mostly composed of Legacy-specific
9741 information.
9742
ed94253f 97432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9744
9745 * docs/version.texi: New file. Provides version information for
9746 grub.texi.
9747
126d6628 97482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9749
9750 * docs/grub.texi: Update CVS information to SVN.
9751 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9752
998b5aa9 97532009-08-07 Felix Zielcke <fzielcke@z-51.de>
9754
9755 * util/grub-mkconfig.in: Remove a wrong `fi'.
9756
818e094a 97572009-08-07 Felix Zielcke <fzielcke@z-51.de>
9758
9759 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9760 (grub_jfs_uuid): New function.
9761 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9762
b969c52f 97632009-08-07 Felix Zielcke <fzielcke@z-51.de>
9764
9765 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9766 of it to ...
9767 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9768 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9769
7a4894cc 97702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9771
9772 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9773 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9774 Update all users.
9775
9776 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9777 not just "vmlinu[zx]".
9778 Moved from here ...
9779 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9780 all users.
9781
9782 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9783 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9784 all users.
9785
4e2171f8 97862009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9787
9788 * util/grub.d/10_freebsd.in: Use an absolute device path for
9789 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9790
6dcfcb32 97912009-08-06 Felix Zielcke <fzielcke@z-51.de>
9792
9793 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9794 handling of multiple abstraction modules.
9795
f56a8756 97962009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9797
9798 Fix a bug resulting in black screen when loading Linux using a
9799 packed video mode.
9800
9801 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9802 function.
9803
9804 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9805 (grub_vbe_bios_getset_dac_palette_width): New function.
9806 (grub_vbe_bios_get_dac_palette_width)
9807 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9808 grub_vbe_bios_getset_dac_palette_width()).
9809
9810 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9811 check for return status.
9812 (grub_vbe_get_video_mode_info): When getting information for a packed
9813 mode (<= 8 bpp), obtain DAC palette width using
9814 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9815 {red,green,blue}_mark_size.
9816
222671b2 98172009-08-04 Felix Zielcke <fzielcke@z-51.de>
9818
ecb1a6d9 9819 * commands/search.c (options): Fix help output to match actual code.
222671b2 9820
f84114f5 98212009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9824 of homegrown code.
9825
bd288a20 98262009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 9827
9828 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9829 on XFS or ReiserFS.
9830
8aab5e25 98312009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 Support Apple partition map with sector size different from 512 bytes.
9834
9835 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9836 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9837 and 'apart.partmap_size'.
9838
6ad6258a 98392009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
98402009-08-01 Robert Millan <rmh.grub@aybabtu.com>
9841
9842 Fix cpuid command.
9843
9844 * commands/i386/cpuid.c (options): New variable.
9845 (grub_cmd_cpuid): Return real error.
9846 (GRUB_MOD_INIT(cpuid)): Declare options.
9847
67459bc6 98482009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
9851 valid.
9852
fbc6ab54 98532009-07-31 Bean <bean123ch@gmail.com>
9854
9855 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
9856 log2_inode.
9857 (grub_fshelp_node): Move inode field to the end.
9858 (grub_xfs_data): Remove inode field.
9859 (grub_xfs_inode_block): Calculate inode size using sblock.
9860 (grub_xfs_inode_offset): Likewise.
9861 (grub_xfs_read_inode): Calculate inode size using sblock.
9862 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
9863 (grub_xfs_iterate_dir): Calculate inode size using sblock.
9864 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
9865 to match inode size.
9866 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
9867 not accessible when data is null.
9868 (grub_xfs_open): Likewise.
9869
f45d6cfc 98702009-07-31 Bean <bean123ch@gmail.com>
9871
9872 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9873 Don't change pv->disk if it's already set.
9874
9875 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9876 (grub_raid_register): ... here.
9877 (grub_raid_rescan): Removed.
9878
9879 * include/grub/raid.h (grub_raid_rescan): Removed.
9880
9881 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9882 (fstest): Replace grub_raid_rescan with module fini function followed
9883 by init function.
9884
9885 * util/grub-probe.c: Add include file <grub/raid.h>.
9886 (probe_raid_level): New function.
9887 (probe): Detect abstraction by walking the disk device, support two
9888 level of abstraction (LVM on RAID) when detecting partition map.
9889
24443b5a 98902009-07-31 Pavel Roskin <proski@gnu.org>
9891
9892 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9893 to grub_zalloc(), it was erroneous.
9894 Reported by Bean <bean123ch@gmail.com>
9895
a275d9e7 98962009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 9899 embedding zone, not only the first one.
a275d9e7 9900
56c5a47f 99012009-07-29 Joe Auricchio <jauricchio@gmail.com>
9902
9903 * term/gfxterm.c (clear_char): New function.
9904 (grub_virtual_screen_setup): Use clear_char.
9905 (scroll_up): Likewise.
9906 (grub_virtual_screen_cls): Likewise.
9907
67bb323a 99082009-07-29 Felix Zielcke <fzielcke@z-51.de>
9909
9910 * util/deviceiter.c (get_acceleraid_disk_name): New static
9911 function.
9912 (grub_util_iterate_devices): Handle Accelraid devices.
9913 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9914
388a7c75 99152009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9916
9917 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9918 separator for the suggested gfxpayload string (';' collides with the
9919 parser and needs escaping).
9920
3bb7abcf 99212009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9924 Clear direction flag before jumping to OS.
9925 (grub_multiboot2_real_boot): Likewise.
9926
2ddd36d7 99272009-07-28 Felix Zielcke <fzielcke@z-51.de>
9928
9929 * util/i386/pc/grub-install: Fix parsing of --disk-module
9930 option.
9931
c521b62b 99322009-07-28 Felix Zielcke <fzielcke@z-51.de>
9933
9934 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9935 when embedding.
9936
880e0a0c 99372009-07-26 Felix Zielcke <fzielcke@z-51.de>
9938
9939 * util/grub-mkconfig.in (package_version): New variable.
9940 Use it do display the version.
9941
2366e356 99422009-07-25 Felix Zielcke <fzielcke@z-51.de>
9943
9944 * kern/file.c (grub_file_open): Revert to previous check with
9945 grub_errno.
9946
7ad8c80e 99472009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9950 from help line. It's out of sync with code.
9951
72b9658b 99522009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9955 entries on failed boot.
9956
77435277 99572009-07-25 Felix Zielcke <fzielcke@z-51.de>
9958
9959 * kern/file.c (grub_file_open): Fix an error check.
9960
fcaa8b21 99612009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9962
35d16c74 9963 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9964 partition map couldn't be identified.
fcaa8b21 9965
48904cd1 99662009-07-23 Pavel Roskin <proski@gnu.org>
9967
ef3c317f 9968 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9969 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9970 case of little endian words becomes just an optimization.
9971 Respect const modifier.
ad8ea1f4 9972 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 9973
48904cd1 9974 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9975 to avoid loss of upper bits if align is unsigned and shorter
9976 than addr.
9977
260c9a89 99782009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 UUID support for UFS
9981
9982 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9983 (grub_ufs_uuid): New function.
9984 (grub_ufs_fs): add .uuid
9985
f76ce889 99862009-07-21 Pavel Roskin <proski@gnu.org>
9987
9988 * kern/dl.c (grub_dl_check_header): Make static.
9989
6a6cbcaf 99902009-07-21 Felix Zielcke <fzielcke@z-51.de>
9991
9992 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9993 add drivemap for Vista. It breaks Windows 7.
9994
cffcddb2 99952009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9998 128 bytes
9999
1ef44b80 100002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 Add BFS support
10003
10004 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10005 (grub_fstest_SOURCES): Likewise.
10006 (pkglib_MODULES): Add befs.mod.
10007 (befs_mod_SOURCES): New variable.
10008 (befs_mod_CFLAGS): Likewise.
10009 (befs_mod_LDFLAGS): Likewise.
10010 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10011 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10012 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10013 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10014 (grub_setup_SOURCES): Likewise.
10015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10017 (grub_setup_SOURCES): Likewise.
10018 * fs/befs.c: New file.
10019 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10020 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10021 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10022 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10023 (B_KEY_INDEX_ALIGN): New declaration.
10024 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10025 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10026 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10027 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10028 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10029 (grub_afs_mount) [MODE_BFS]: Likewise.
10030 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10031 (grub_afs_fs): Use GRUB_AFS_FSNAME
10032 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10033 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10034 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10035 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10036
4f253044 100372009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10038
10039 * util/getroot.c (find_root_device): Add support for MacOSX.
10040 * util/hostdisk.c: Likewise.
10041
57a55913 100422009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * font/font.c (find_glyph): Check whether a font is present to avoid
10045 segmentation fault.
75421ca9 10046
100472009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 10048
10049 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10050
e98cd0c2 100512009-07-20 Pavel Roskin <proski@gnu.org>
10052
10053 * configure.ac: Trim excessively wordy excuses.
10054
1d2d169a 100552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 Add symlink, mtime and label support to AtheFS.
10058
10059 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10060 (grub_afs_iterate_dir): Handle symlinks.
10061 (grub_afs_open): Use grub_afs_read_symlink.
10062 (grub_afs_dir): Likewise.
10063 Pass mtime.
10064 (grub_afs_label): New function.
10065 (grub_afs_fs): Add grub_afs_label.
10066 (grub_afs_read_symlink): New function.
10067
186f3189 100682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 Fix AtheFS support.
10071
10072 * fs/afs.c: Fix comments style.
10073 (grub_afs_blockrun): Declare as packed.
10074 (grub_afs_datastream): Likewise.
10075 (grub_afs_bnode): Likewise.
10076 (grub_afs_btree): Likewise.
10077 (grub_afs_sblock): Likewise.
10078 Declare `name' as char.
10079 (grub_afs_inode): Declare as packed.
10080 Change void *vnode to grub_uint32_t unused.
10081 (grub_afs_iterate_dir): Check that key_size is positive.
10082 (grub_afs_mount): Don't read superblock twice.
75421ca9 10083 (grub_afs_dir): Don't free node in case of error,
186f3189 10084 grub_fshelp_find_file already handles this.
10085 (grub_afs_open): Likewise.
10086
5680109e 100872009-07-19 Pavel Roskin <proski@gnu.org>
10088
10089 * Makefile.in: Remove LIBLZO and enable_lzo.
10090 * conf/i386-pc.rmk: Remove lzo support.
10091 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10092 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10093 support.
10094 * kern/i386/pc/lzo1x.S: Remove.
10095 * kern/i386/pc/startup.S: Remove lzo support.
10096 * util/i386/pc/grub-mkimage.c: Likewise.
10097
ac70fa32 100982009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10101 * fs/xfs.c (grub_xfs_dir): Likewise.
10102 * fs/afs.c (grub_afs_dir): Likewise.
10103 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10104 (grub_iso9660_open): Likewise.
10105 * fs/jfs.c (grub_jfs_open): Likewise.
10106 * fs/ext2.c (grub_ext2_dir): Likewise.
10107 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10108 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 10109
eab58da2 101102009-07-16 Pavel Roskin <proski@gnu.org>
10111
d2838156 10112 * configure.ac: Never add "-c" to CFLAGS.
10113
55c70904 10114 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10115
43e6200c 10116 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10117 grub_cv_cc_efiemu should be used.
10118
ce7a733d 10119 * configure.ac: Typo fixes.
10120
eab58da2 10121 * kern/mm.c (grub_zalloc): New function.
10122 (grub_debug_zalloc): Likewise.
10123 * include/grub/mm.h: Declare grub_zalloc() and
10124 grub_debug_zalloc().
10125 * util/misc.c (grub_zalloc): New function.
10126 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10127 instead of grub_malloc(), remove unneeded initializations.
10128 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10129 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10130 * commands/parttool.c (grub_cmd_parttool): Likewise.
10131 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10132 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10133 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10134 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10135 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10136 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10137 (grub_cmd_efiemu_pnvram): Likewise.
10138 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10139 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10140 (grub_iso9660_iterate_dir): Likewise.
10141 * fs/jfs.c (grub_jfs_opendir): Likewise.
10142 * fs/ntfs.c (list_file): Likewise.
10143 (grub_ntfs_mount): Likewise.
10144 * kern/disk.c (grub_disk_open): Likewise.
10145 * kern/dl.c (grub_dl_load_core): Likewise.
10146 * kern/elf.c (grub_elf_file): Likewise.
10147 * kern/env.c (grub_env_context_open): Likewise.
10148 (grub_env_set): Likewise.
10149 (grub_env_set_data_slot): Likewise.
10150 * kern/file.c (grub_file_open): Likewise.
10151 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10152 * loader/i386/multiboot.c (grub_module): Likewise.
10153 * loader/xnu.c (grub_xnu_create_key): Likewise.
10154 (grub_xnu_create_value): Likewise.
10155 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10156 (read_config_file): Likewise.
10157 * normal/menu_entry.c (make_screen): Likewise.
10158 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10159 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10160 * script/sh/script.c (grub_script_parse): Likewise.
10161 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10162 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10163 * video/readers/png.c (grub_png_output_byte): Likewise.
10164 (grub_video_reader_png): Likewise.
10165
830afef7 101662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 10167
10168 Enable all targets that can be built by default
10169
830afef7 10170 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 10171 grub-mkfont and grub-fstest if they can be built
10172
ee293aee 101732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 Fix hang and segmentation fault in grub-emu-usb
10176
10177 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10178 * util/usb.c (grub_libusb_devices): likewise
10179 (grub_libusb_init): rename to ...
10180 (GRUB_MOD_INIT (libusb)):...this
10181 (grub_libusb_fini): rename to ..
10182 (GRUB_MOD_FINI (libusb)):...this
10183 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10184 * include/grub/disk.h (grub_raid_init): removed, it's useless
10185 (grub_raid_fini): likewise
10186 (grub_lvm_init): likewise
10187 (grub_lvm_fini): likewise
10188 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10189 by grub_init_all
10190
94414221 101912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 Fix libusb
10194
10195 * Makefile.in (LIBUSB): new macro
10196 * genmk.rb (Utility/print_tail): new method
10197 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10198 (top level): call util.print_tail at the end.
10199
59ade63d 102002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 Make FreeBSD accept zpool.cache
10203
10204 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10205 type is /boot/zfs/zpool.cache
10206
a58da8c7 102072009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 Fix 64-bit efiemu
10210
10211 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10212 correct wrong typedef
10213 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10214
20591577 102152009-07-15 Pavel Roskin <proski@gnu.org>
10216
560ca572 10217 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10218 * kern/disk.c (struct grub_disk_cache): Likewise.
10219
e8e8e4fd 10220 * commands/probe.c (options): Typo fix.
10221
fde24e10 10222 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10223 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10224 accordingly.
10225 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10226
379c54c1 10227 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10228 the end of "Error" to make the message more readable.
10229
7bd8f5bf 10230 * boot/i386/pc/boot.S (kernel_segment): Remove.
10231 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10232 for destination.
10233
40b132c5 10234 * boot/i386/pc/boot.S (boot_version): Remove.
10235 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10236 Remove.
10237
20591577 10238 * include/grub/i386/pc/boot.h: Sort all offsets.
10239 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10240 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10241 * boot/i386/pc/boot.S: Assert location of every offset listed in
10242 include/grub/i386/pc/boot.h.
10243
2df32b2c 102442009-07-13 Pavel Roskin <proski@gnu.org>
10245
44b5d879 10246 * include/grub/i386/coreboot/machine.h: Rename
10247 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10248 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10249 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10250
17dc3751 10251 * kern/dl.c: Force native word size to suppress warnings when
10252 compiling grub-emu.
10253
2df32b2c 10254 * kern/device.c (grub_device_iterate): Change struct part_ent to
10255 hold the name, not a pointer to it. Use one grub_malloc() per
10256 partition, not two. Free partition_name if grub_malloc() fails.
10257 Set ents to NULL only before grub_partition_iterate() is called.
10258
75c59f59 102592009-07-11 Bean <bean123ch@gmail.com>
10260
10261 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10262 childname.
10263
0ae1bf88 102642009-07-10 Bean <bean123ch@gmail.com>
102652009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10266
10267 * kern/ieee1275/openfw.c (grub_children_iterate)
10268 (grub_devalias_iterate): Fix size evaluation for property or path
10269 strings, which was broken since r2132.
10270
8279cade 102712009-07-07 Pavel Roskin <proski@gnu.org>
10272
7d8a52d3 10273 * commands/search.c (search_file): Merge into ...
10274 (search_fs): ... this. Accept search type as argument.
10275 (grub_cmd_search): Pass search type to search_fs().
10276
25f9a05a 10277 * include/grub/util/console.h: New file.
10278 * util/console.c: Use it instead of grub/machine/console.h.
10279 * util/grub-emu.c: Likewise.
10280
8279cade 10281 * lib/arg.c (find_long_option): Remove.
10282 (find_long): Add `len' argument, make `s' const char *.
10283 (grub_arg_parse): Parse long options in place, not in a
10284 temporary buffer.
10285
4a11b60f 102862009-07-06 Pavel Roskin <proski@gnu.org>
10287
99f68041 10288 * commands/search.c (search_fs): Fix potential NULL pointer
10289 dereference.
10290
4a11b60f 10291 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10292 function pointer.
10293
e110f4de 102942009-07-06 Daniel Mierswa <impulze@impulze.org>
10295
10296 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10297 comparison.
10298
46eeb6a2 102992009-07-05 Pavel Roskin <proski@gnu.org>
10300
bab74958 10301 * include/grub/i386/linux.h (struct linux_kernel_params):
10302 Restore padding3, it's still needed.
10303
46eeb6a2 10304 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10305 FreeBSD.
10306 * util/osdetect.lua: Likewise.
10307
b4a1dc79 103082009-07-05 Bean <bean123ch@gmail.com>
10309
10310 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10311
10312 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10313 (grub_lua_getenv): Likewise.
10314 (grub_lua_setenv): Likewise.
10315 (save_errno): New function.
10316 (push_result): Likewise.
10317 (grub_lua_enum_device): Likewise.
10318 (grub_lua_enum_file): Likewise.
10319 (grub_lua_file_open): Likewise.
10320 (grub_lua_file_close): Likewise.
10321 (grub_lua_file_seek): Likewise.
10322 (grub_lua_file_read): Likewise.
10323 (grub_lua_file_getline): Likewise.
10324 (grub_lua_file_getsize): Likewise.
10325 (grub_lua_file_getpos): Likewise.
10326 (grub_lua_file_eof): Likewise.
10327 (grub_lua_file_exist): Likewise.
10328 (grub_lua_add_menu): Likewise.
10329
10330 * script/lua/grub_lua.h (isupper): New inline function.
10331 (islower): Likewise.
10332 (ispunct): Likewise.
10333 (isxdigit): Likewise.
10334 (strcspn): Change to normal function.
10335 (strpbkr): New function declaration.
10336 (memchr): Likewise.
10337
10338 * script/lua/grub_main.c (scan_str): New function.
10339 (strcspn): Likewise.
10340 (strpbrk): Likewise.
10341 (memchr): Likewise.
10342
10343 * script/lua/linit.c (lualibs): Enable the string library.
10344
10345 * util/osdetect.lua: New file.
10346
2da92295 103472009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10348
10349 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10350 `capabilities' member.
10351
b2582ec9 103522009-07-02 Pavel Roskin <proski@gnu.org>
10353
10354 * genparttoollist.sh: Add missing newline at the end.
10355
32622956 103562009-07-01 Pavel Roskin <proski@gnu.org>
10357
87a7339e 10358 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10359
d23af54e 10360 * util/hostdisk.c (open_device): Remove `const' from
10361 `sysctl_size', as sysctlbyname() can change it (in this case it
10362 doesn't actually happen).
10363
c94b18a9 10364 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10365 using signed long int constants.
10366
c6cd3ef0 10367 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10368 constant to avoid a warning on FreeBSD.
10369
0df63420 10370 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10371 where it's needed.
10372
999577f1 10373 * Makefile.in: Install include/grub/machine symlink.
10374
6f41557f 10375 * Makefile.in: When installing symlinks, use "cp -fR", which
10376 works on FreeBSD and MacOSX.
10377 From Yves Blusseau <cl7m42e02@sneakemail.com>
10378
c8d22988 10379 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10380 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10381
1b96e952 10382 * util/misc.c: Move grub_reboot() and grub_halt() ...
10383 * util/grub-emu.c: ... here. Make main_env static.
10384 * include/grub/util/misc.h: Remove main_env.
10385
2ef0084d 10386 * kern/mm.c: Use correct format to print size_t.
10387
32622956 10388 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10389 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10390 * kern/powerpc/dl.c: Likewise.
10391 * kern/sparc64/dl.c: Likewise.
10392 * kern/x86_64/dl.c: Likewise.
10393
3f7f0cd0 103942009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10395
10396 Fix grub-emu build on sparc64-ieee1275.
10397
75421ca9 10398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 10399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10400
211d06b5 104012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10402
10403 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10404 (grub_reboot, grub_halt): New functions.
10405
10406 * util/i386/pc/misc.c: Delete. Update all users.
10407 * util/sparc64/ieee1275/misc.c: Likewise.
10408 * util/powerpc/ieee1275/misc.c: Likewise.
10409
aaf53e3c 104102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10411
10412 * conf/i386.rmk (setjmp_mod_SOURCES)
10413 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10414 * conf/common.rmk (setjmp_mod_SOURCES)
10415 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10416 to use $(target_cpu).
10417 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10418 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10419 * conf/powerpc-ieee1275.rmk: Likewise.
10420 * conf/sparc64-ieee1275.rmk: Likewise.
10421
10422 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10423 $(target_cpu) for kern/$(target_cpu)/dl.c.
10424 * conf/i386-efi.rmk: Likewise.
10425 * conf/i386-ieee1275.rmk: Likewise.
10426 * conf/x86_64-efi.rmk: Likewise.
10427 * conf/i386-coreboot.rmk: Likewise.
10428 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10429 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10430 kern/$(target_cpu)/cache.S.
10431 * conf/sparc64-ieee1275.rmk: Likewise.
10432
a337130b 104332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10434
10435 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10436 type to `grub_uint8_t', and adjust `padding9' accordingly.
10437
c6fe4d53 104382009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10439
b09db61d 10440 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10441
c6fe4d53 10442 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10443 assembly in final jump, using register constraints.
10444
b09db61d 10445 (grub_linux_boot): For text mode, initialize `have_vga' using
10446 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10447
10448 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10449 right before the final jump.
10450
10451 Set `video_mode' to 0x3.
10452
10453 Document initialization of `video_page', `video_mode' and
10454 `video_ega_bx'.
10455
28333ad0 104562009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10457
10458 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10459 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 10460 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 10461
02164e1b 104622009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10463
10464 Fix build on Debian / sparc.
10465
10466 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10467
18b6c557 104682009-06-28 Pavel Roskin <proski@gnu.org>
10469
85f2aab6 10470 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10471 fix a warning.
10472
18b6c557 10473 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10474
ad760f81 104752009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10476
10477 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10478 `err'.
10479
87a4623b 104802009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10481
10482 Revert r2338.
10483
10484 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10485 file can't be opened. grub_file_open() is already supposed to set
75421ca9 10486 grub_errno / grub_errmsg appropriately.
87a4623b 10487 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10488
8231fb77 104892009-06-27 Pavel Roskin <proski@gnu.org>
104902009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10491
10492 * include/grub/dl.h: Include grub/elf.h.
10493 (struct grub_dl): Add symtab field.
10494 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10495 GRUB_MODULES_MACHINE_READONLY.
10496 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10497 of the header for read-only modules.
10498 (grub_dl_unload): Free mod->symtab for read-only modules.
10499 * kern/i386/dl.c: Use mod->symtab.
10500 * kern/powerpc/dl.c: Likewise.
10501 * kern/sparc64/dl.c: Likewise.
10502 * kern/x86_64/dl.c: Likewise.
10503
10504 * conf/i386-qemu.rmk: New file.
10505 * kern/i386/qemu/startup.S: Likewise.
10506 * kern/i386/qemu/mmap.c: Likewise.
10507 * boot/i386/qemu/boot.S: Likewise.
10508 * include/grub/i386/qemu/time.h: Likewise.
10509 * include/grub/i386/qemu/serial.h: Likewise.
10510 * include/grub/i386/qemu/kernel.h: Likewise.
10511 * include/grub/i386/qemu/console.h: Likewise.
10512 * include/grub/i386/qemu/boot.h: Likewise.
10513 * include/grub/i386/qemu/init.h: Likewise.
10514 * include/grub/i386/qemu/machine.h: Likewise.
10515 * include/grub/i386/qemu/loader.h: Likewise.
10516 * include/grub/i386/qemu/memory.h: Likewise.
10517
10518 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10519 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10520 [qemu] (pkglib_IMAGES): Add `boot.img'.
10521 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10522 [qemu] (boot_img_FORMAT): New variables.
10523 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10524 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10525 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10526 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10527 [qemu] (kernel_img_FORMAT): New variables.
10528
10529 * configure.ac: Recognise `i386-qemu'.
10530
10531 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10532 (for no compression).
10533 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10534 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10535 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10536 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10537 ifdefs).
10538
97fe384e 105392009-06-27 Pavel Roskin <proski@gnu.org>
10540
10541 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10542 read.
10543 * efiemu/prepare32.c: Likewise.
10544 * efiemu/prepare64.c: Likewise.
10545
c402ab17 105462009-06-26 Pavel Roskin <proski@gnu.org>
10547
10548 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10549 * include/grub/elf.h: Define symbols without "32" or "64" based
10550 on GRUB_TARGET_WORDSIZE.
10551 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10552 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10553 ELF definitions.
10554 * efiemu/loadcore64.c: Likewise.
10555 * loader/i386/bsd32.c: Likewise.
10556 * loader/i386/bsd64.c: Likewise.
10557 * kern/dl.c: Remove own ELF definitions.
10558 * util/i386/efi/grub-mkimage.c: Likewise.
10559
9bbdfd4d 105602009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10561
10562 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10563 segment 0x0 unconditionally, because the reference generated by
10564 GAS is an absolute address.
10565
a42ce6e9 105662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10567
10568 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10569 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10570
c952cf92 105712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10572
10573 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10574 indexes. Check for -f explicitly.
cc3752ad 10575 (search_file): Improve error message.
10576 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 10577
132a0a59 105782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10579
10580 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10581 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10582
387a140c 105832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10584
10585 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10586 * conf/i386-ieee1275.rmk: Likewise.
10587 * conf/i386-coreboot.rmk: Likewise.
10588
10589 * kern/i386/pc/startup.S (grub_stop): Remove function.
10590 * kern/i386/ieee1275/startup.S: Likewise.
10591 * kern/i386/coreboot/startup.S: Likewise.
10592 * kern/i386/misc.S (grub_stop): New function.
10593
41da9665 105942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10595
10596 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10597 * kern/i386/realmode.S (real_to_prot): ... to here.
10598
bf337234 105992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10600
10601 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10602 with `kernel.img'.
10603 (kernel_elf_SOURCES): Rename to ...
10604 (kernel_img_SOURCES): ... this.
10605 (kernel_elf_HEADERS): Rename to ...
10606 (kernel_img_HEADERS): ... this. Update all users.
10607 (kernel_elf_ASFLAGS): Rename to ...
10608 (kernel_img_ASFLAGS): ... this.
10609 (kernel_elf_CFLAGS): Rename to ...
10610 (kernel_img_CFLAGS): ... this.
10611 (kernel_elf_LDFLAGS): Rename to ...
10612 (kernel_img_LDFLAGS): ... this.
10613 * conf/i386-coreboot.rmk: Likewise.
10614 * conf/powerpc-ieee1275.rmk: Likewise.
10615
10616 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10617 with "kernel.img".
10618
f52196ff 106192009-06-21 Pavel Roskin <proski@gnu.org>
10620
c3cee413 10621 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10622 to match nested functions.
10623 * loader/sparc64/ieee1275/linux.c: Likewise.
10624
f52196ff 10625 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10626
58750afc 106272009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10628
10629 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10630 all i386 platforms.
10631
15355c7d 106322009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10633
10634 Fix asm file handling on ELF, and remove workarounds.
10635
10636 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 10637 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 10638 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10639 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10640
3f3ec72b 106412009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 Load BSD ELF modules
10644
10645 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10646 and loader/i386/bsd64.c
10647 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10648 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10649 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10650 (grub_freebsd_load_elfmodule32): New declaration
10651 (grub_freebsd_load_elfmoduleobj64): Likewise
10652 (grub_freebsd_load_elf_meta32): Likewise
10653 (grub_freebsd_load_elf_meta64): Likewise
10654 (grub_freebsd_add_meta): Likewise
10655 (grub_freebsd_add_meta_module): Likewise
10656 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10657 (grub_freebsd_add_meta_module): Likewise and move module-specific
10658 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10659 (grub_cmd_freebsd): Add elf-kernel specific parts
10660 based on grub_freebsd_add_meta_module
10661 (grub_cmd_freebsd_module): Add type parsing moved from
10662 grub_freebsd_add_meta_module
10663 (grub_cmd_freebsd_module_elf): New function
10664 (cmd_freebsd_module_elf): New variable
10665 (GRUB_MOD_INIT): Register freebsd_module_elf
10666 * loader/i386/bsd32.c: New file
10667 * loader/i386/bsd64.c: Likewise
10668 * loader/i386/bsdXX.c: Likewise
10669 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10670 (grub_elf64_load): Likewise
10671 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10672 All users updated
10673 (grub_elf64_load_hook_t): Likewise
10674
0db15301 106752009-06-21 Colin Watson <cjwatson@ubuntu.com>
10676
10677 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10678 variable.
10679 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10680 don't write a menu entry for recovery mode.
10681
546796c1 106822009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10683
10684 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10685 after it's no longer needed.
10686
cd7310d5 106872009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10688
10689 * include/grub/i386/loader.h (grub_linux_prot_size)
10690 (grub_linux_tmp_addr, grub_linux_real_addr)
10691 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10692 GRUB_MACHINE_PCBIOS.
10693 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10694 common grub_util_info() call to ...
10695 (generate_image): ... here.
10696 Fix use of uninitialized memory, comparison of signed with
10697 unsigned integers and memory leak.
10698 Remove bogus module address message.
10699
ab32d3b5 107002009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10703 grub_raid_register
10704 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10705
024ef597 107062009-06-19 Pavel Roskin <proski@gnu.org>
10707
10708 * configure.ac: Remove stray AC_MSG_CHECKING.
10709
3ac72b51 107102009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 10713
e14cd814 107142009-06-18 Pavel Roskin <proski@gnu.org>
10715
10716 * conf/common.rmk: Add fs_file.mod.
10717 * disk/fs_file.c: New file.
10718 * include/grub/disk.h (enum grub_disk_dev_id): Add
10719 GRUB_DISK_DEVICE_FILE_ID.
10720
26586d98 107212009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 Fix build with Apple's toolchain. Part 2
10724
10725 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10726 a fake start
10727
26de2bcd 107282009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 Fix build with Apple's toolchain. Part 1
10731
10732 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10733 for long calls
10734 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 10735 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 10736 Apple's toolchain
10737
09b3490b 107382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 Fix warnings
10741
10742 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10743 (decomp_block): initialize ch
10744 use grub_memcpy instead of memcpy
10745
c22a006a 107462009-06-17 Pavel Roskin <proski@gnu.org>
10747
d3638678 10748 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10749 version, use declarations needed to use vga_text as the startup
10750 console.
10751
c22a006a 10752 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10753 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10754 the kernel.
10755 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10756 and grub_at_keyboard_fini(), it's done on module load and
10757 unload.
10758
05b129e0 107592009-06-17 Felix Zielcke <fzielcke@z-51.de>
10760
10761 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10762 file can't be found.
10763 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10764
cf24ed9e 107652009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 Fix newline handling
10768
10769 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 10770 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 10771 (grub_script_yylex): don't segfault on unterminated script
10772 newline terminates command and variable
10773
74aa8e4b 107742009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 avoid double grub_adjust_range call. Bug reported by David Simner
10777
10778 * kern/disk.c (grub_disk_write): change to raw disk access before
10779 calling disk_read
10780
1bd265f3 107812009-06-17 Colin Watson <cjwatson@ubuntu.com>
10782
10783 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10784 spaces, for the benefit of help2man.
10785 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10786
a2d08c06 107872009-06-16 Pavel Roskin <proski@gnu.org>
10788
10789 * kern/i386/halt.c: Include grub/machine/init.h.
10790 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10791
b97bcb19 107922009-06-16 Felix Zielcke <fzielcke@z-51.de>
10793
10794 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10795 drivemap menuentry.
10796
0644f96c 107972009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10798
10799 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10800 `echo' command.
10801
3ef17a2e 108022009-06-16 Pavel Roskin <proski@gnu.org>
10803
10804 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10805 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10806 save %dx, we only need %dl and we never change it.
10807 * boot/i386/pc/cdboot.S: Don't set the root drive.
10808 * boot/i386/pc/pxeboot.S: Likewise.
10809 * include/grub/i386/pc/boot.h: Remove
10810 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10811 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10812 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10813 * kern/i386/pc/init.c (make_install_device): Remove references
10814 to grub_root_drive.
10815 * kern/i386/pc/startup.S: Likewise.
10816 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10817
693fe637 108182009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 xnu_uuid command
10821
10822 * commands/xnu_uuid.c: new file
10823 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10824 (xnu_uuid_mod_SOURCES): new variable
10825 (xnu_uuid_mod_CFLAGS): likewise
10826 (xnu_uuid_mod_LDFLAGS): likewise
10827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10828 * conf/i386-ieee1275.rmk: likewise
10829 * conf/i386-pc.rmk: likewise
10830 * conf/powerpc-ieee1275.rmk: likewise
10831 * conf/sparc64-ieee1275.rmk: likewise
10832 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10833
c9da87d0 108342009-06-16 Pavel Roskin <proski@gnu.org>
10835
10836 * configure.ac: Avoid '==' in test command, it's not portable.
10837
9c6f4596 108382009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 Probe command
10841
10842 * commands/probe.c: new file
10843 * conf/common.rmk (pkglib_MODULES): add probe.mod
10844 (probe_mod_SOURCES): new variable
10845 (probe_mod_CFLAGS): likewise
10846 (probe_mod_LDFLAGS): likewise
10847 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10848 * conf/i386-ieee1275.rmk: likewise
10849 * conf/i386-pc.rmk: likewise
10850 * conf/powerpc-ieee1275.rmk: likewise
10851 * conf/sparc64-ieee1275.rmk: likewise
10852
70b7f9fd 108532009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 Fix handling of string like \"hello\" and "a
10856 b"
10857
10858 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
10859 (grub_script_yylex): fix parsing of quoting, escaping and newline
10860
71c79a6b 108612009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
10862
dd74360c 10863 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 10864 handling
dd74360c 10865
0644f96c 108662009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 10867
10868 * util/grub-mkconfig.in: Fix parsing of --output option.
10869
e40893c3 108702009-06-12 Pavel Roskin <proski@gnu.org>
10871
10872 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10873 genmk.rb don't need to be generated or installed.
10874
3a1acfe2 108752009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 * commands/i386/pc/drivemap_int13h.S: add more comments
10878
3a4575d4 108792009-06-11 Pavel Roskin <proski@gnu.org>
10880
0658e928 10881 * Makefile.in (uninstall): Uninstall manuals.
10882
ca0388f0 10883 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10884 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10885 and update-grub_lib in two places.
10886 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10887
e3b27c39 10888 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10889 a compiler warning.
10890
3a4575d4 10891 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10892 `entry_lo' to fix variable shadowing.
10893
af1f4f55 108942009-06-11 Christian Franke <franke@computer.org>
10895
10896 * kern/misc.c (__enable_execute_stack): Add missing return type
10897 to prevent gcc warning.
10898
5225e649 108992009-06-11 Felix Zielcke <fzielcke@z-51.de>
10900
10901 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10902
7d83bd47 109032009-06-11 Pavel Roskin <proski@gnu.org>
10904
c1cb63ba 10905 * Makefile.in: Don't rely on any scripts being executable.
10906 Always use $(SHELL) to run shell scripts.
10907
7d83bd47 10908 * configure.ac: Always define ___main if using -nostdlib. This
10909 fixes tests on Cygwin.
10910
948f48e7 109112009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10912
10913 UDF fix
10914
7d83bd47 10915 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 10916 is in bytes and not in blocks
7d83bd47 10917
8ada9bc1 109182009-06-11 Pavel Roskin <proski@gnu.org>
10919
10920 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10921 warning.
10922
25ad2323 109232009-06-11 Felix Zielcke <fzielcke@z-51.de>
10924
10925 * util/grub.d/30_os-prober.in: Fix a comment. Source
10926 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10927 to set the root device. Place drivemap command in the generated
10928 chain entry.
10929
e65acb0c 109302009-06-11 Pavel Roskin <proski@gnu.org>
10931
10932 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10933 have long been resolved.
10934
f285fe2d 109352009-06-11 Colin Watson <cjwatson@ubuntu.com>
10936
bd47b0b5 10937 * util/grub.d/10_linux.in: Capitalise "Linux".
10938
f285fe2d 10939 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10940
a0c62e4e 109412009-06-11 Pavel Roskin <proski@gnu.org>
10942
b6783cb2 10943 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10944 fix a gcc warning and ensure that the function won't ever exit.
10945
dde032e8 10946 * kern/i386/ieee1275/init.c: Add missing prototype for
10947 grub_stop_floppy().
10948
22cd079d 10949 * loader/ieee1275/multiboot2.c [__i386__]: Include
10950 grub/cpu/multiboot.h.
10951
a0c62e4e 10952 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10953 casts to short - they are not portable and cause warnings. Fix
10954 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10955
63963d17 109562009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 Drivemap fixes
10959
10960 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10961 new function
10962 (grub_get_root_biosnumber_saved): new variable
10963 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10964 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 10965 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 10966 %dx after the call if necessary
10967 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10968 (boot_mod_SOURCES): remove
10969 (boot_mod_CFLAGS): remove
10970 (boot_mod_LDFLAGS): remove
10971 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10972 (boot_mod_SOURCES): new variable
10973 (boot_mod_CFLAGS): likewise
10974 (boot_mod_LDFLAGS): likewise
10975 * conf/i386-efi.rmk: likewise
10976 * conf/i386-ieee1275.rmk: likewise
10977 * conf/i386-pc.rmk: likewise
10978 * conf/powerpc-ieee1275.rmk: likewise
10979 * conf/sparc64-ieee1275.rmk: likewise
10980 * conf/x86_64-efi.rmk: likewise
10981 * include/grub/i386/pc/biosnum.h: new file
10982 * lib/i386/pc/biosnum.c: likewise
10983 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10984 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10985 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 10986
33abf7ae 109872009-06-10 Pavel Roskin <proski@gnu.org>
10988
5ac35b35 10989 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10990 Use separate variables. Read only the file size at the end, but
10991 not the checksum that we don't use.
10992
5c5215d5 10993 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10994 Adjust all callers.
10995
27d5fef7 10996 * kern/ieee1275/openfw.c: Remove libc includes.
10997 * kern/ieee1275/cmain.c: Likewise.
10998 * include/grub/ieee1275/ieee1275.h: Likewise.
10999
33abf7ae 11000 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11001 compiler warnings.
11002
19d50c2b 110032009-06-10 Felix Zielcke <fzielcke@z-51.de>
11004
11005 * Makefile.in: Remove all trailing whitespace.
11006 * conf/i386-pc.rmk: Likewise.
11007 * conf/powerpc-ieee1275.rmk: Likewise.
11008 * conf/sparc64-ieee1275.rmk: Likewise.
11009 * docs/grub.texi: Likewise.
11010 * docs/texinfo.tex: Likewise.
11011 * disk/fs_uuid.c: Likewise.
11012 * disk/lvm.c: Likewise.
11013 * disk/scsi.c: Likewise.
11014 * disk/ata.c: Likewise.
11015 * disk/ieee1275/ofdisk.c: Likewise.
11016 * disk/i386/pc/biosdisk.c: Likewise.
11017 * disk/host.c: Likewise.
11018 * disk/raid.c: Likewise.
11019 * disk/efi/efidisk.c: Likewise.
11020 * disk/usbms.c: Likewise.
11021 * disk/memdisk.c: Likewise.
11022 * disk/loopback.c: Likewise.
11023 * kern/powerpc/dl.c: Likewise.
11024 * kern/device.c: Likewise.
11025 * kern/dl.c: Likewise.
11026 * kern/sparc64/dl.c: Likewise.
11027 * kern/ieee1275/ieee1275.c: Likewise.
11028 * kern/term.c: Likewise.
11029 * kern/fs.c: Likewise.
11030 * kern/i386/dl.c: Likewise.
11031 * kern/i386/pc/startup.S: Likewise.
11032 * kern/i386/pc/init.c: Likewise.
11033 * kern/i386/pc/mmap.c: Likewise.
11034 * kern/i386/pc/lzo1x.S: Likewise.
11035 * kern/i386/ieee1275/init.c: Likewise.
11036 * kern/i386/realmode.S: Likewise.
11037 * kern/i386/tsc.c: Likewise.
11038 * kern/partition.c: Likewise.
11039 * kern/corecmd.c: Likewise.
11040 * kern/file.c: Likewise.
11041 * kern/efi/efi.c: Likewise.
11042 * kern/efi/init.c: Likewise.
11043 * kern/efi/mm.c: Likewise.
11044 * kern/main.c: Likewise.
11045 * kern/err.c: Likewise.
11046 * kern/env.c: Likewise.
11047 * kern/disk.c: Likewise.
11048 * kern/generic/millisleep.c: Likewise.
11049 * kern/generic/rtc_get_time_ms.c: Likewise.
11050 * kern/misc.c: Likewise.
11051 * kern/parser.c: Likewise.
11052 * genmk.rb: Likewise.
11053 * configure.ac: Likewise.
11054 * boot/i386/pc/diskboot.S: Likewise.
11055 * boot/i386/pc/pxeboot.S: Likewise.
11056 * boot/i386/pc/boot.S: Likewise.
11057 * boot/i386/pc/lnxboot.S: Likewise.
11058 * boot/i386/pc/cdboot.S: Likewise.
11059 * parttool/pcpart.c: Likewise.
11060 * video/readers/tga.c: Likewise.
11061 * video/video.c: Likewise.
11062 * video/bitmap.c: Likewise.
11063 * lib/envblk.c: Likewise.
11064 * lib/i386/setjmp.S: Likewise.
11065 * fs/xfs.c: Likewise.
11066 * fs/afs.c: Likewise.
11067 * fs/fat.c: Likewise.
11068 * fs/ntfs.c: Likewise.
11069 * fs/udf.c: Likewise.
11070 * fs/affs.c: Likewise.
11071 * fs/iso9660.c: Likewise.
11072 * fs/hfs.c: Likewise.
11073 * fs/fshelp.c: Likewise.
11074 * fs/ext2.c: Likewise.
11075 * fs/jfs.c: Likewise.
11076 * fs/reiserfs.c: Likewise.
11077 * fs/hfsplus.c: Likewise.
11078 * fs/minix.c: Likewise.
11079 * fs/cpio.c: Likewise.
11080 * fs/sfs.c: Likewise.
11081 * fs/ufs.c: Likewise.
11082 * efiemu/prepare.c: Likewise.
11083 * efiemu/loadcore_common.c: Likewise.
11084 * efiemu/runtime/efiemu.sh: Likewise.
11085 * efiemu/runtime/efiemu.S: Likewise.
11086 * efiemu/runtime/efiemu.c: Likewise.
11087 * efiemu/pnvram.c: Likewise.
11088 * efiemu/main.c: Likewise.
11089 * efiemu/i386/pc/cfgtables.c: Likewise.
11090 * efiemu/i386/loadcore64.c: Likewise.
11091 * efiemu/i386/loadcore32.c: Likewise.
11092 * efiemu/loadcore.c: Likewise.
11093 * efiemu/symbols.c: Likewise.
11094 * efiemu/mm.c: Likewise.
11095 * include/grub/autoefi.h: Likewise.
11096 * include/grub/datetime.h: Likewise.
11097 * include/grub/term.h: Likewise.
11098 * include/grub/hfs.h: Likewise.
11099 * include/grub/lvm.h: Likewise.
11100 * include/grub/i386/tsc.h: Likewise.
11101 * include/grub/i386/linux.h: Likewise.
11102 * include/grub/i386/xnu.h: Likewise.
11103 * include/grub/i386/efiemu.h: Likewise.
11104 * include/grub/i386/pc/biosdisk.h: Likewise.
11105 * include/grub/i386/pc/memory.h: Likewise.
11106 * include/grub/i386/pc/vbe.h: Likewise.
11107 * include/grub/parttool.h: Likewise.
11108 * include/grub/video.h: Likewise.
11109 * include/grub/memory.h: Likewise.
11110 * include/grub/fs.h: Likewise.
11111 * include/grub/partition.h: Likewise.
11112 * include/grub/xnu.h: Likewise.
11113 * include/grub/efi/api.h: Likewise.
11114 * include/grub/efi/pe32.h: Likewise.
11115 * include/grub/efi/memory.h: Likewise.
11116 * include/grub/multiboot.h: Likewise.
11117 * include/grub/usbdesc.h: Likewise.
11118 * include/grub/multiboot2.h: Likewise.
11119 * include/grub/acpi.h: Likewise.
11120 * include/grub/efiemu/efiemu.h: Likewise.
11121 * include/grub/disk.h: Likewise.
11122 * include/grub/ieee1275/ieee1275.h: Likewise.
11123 * include/grub/net.h: Likewise.
11124 * include/grub/machoload.h: Likewise.
11125 * include/grub/macho.h: Likewise.
11126 * include/multiboot.h: Likewise.
11127 * genmoddep.awk: Likewise.
11128 * normal/main.c: Likewise.
11129 * normal/menu_entry.c: Likewise.
11130 * normal/menu_viewer.c: Likewise.
11131 * normal/completion.c: Likewise.
11132 * normal/cmdline.c: Likewise.
11133 * normal/misc.c: Likewise.
11134 * normal/datetime.c: Likewise.
11135 * bus/usb/usbtrans.c: Likewise.
11136 * bus/usb/ohci.c: Likewise.
11137 * bus/usb/uhci.c: Likewise.
11138 * bus/usb/usb.c: Likewise.
11139 * mmap/efi/mmap.c: Likewise.
11140 * mmap/i386/pc/mmap_helper.S: Likewise.
11141 * mmap/i386/pc/mmap.c: Likewise.
11142 * mmap/i386/mmap.c: Likewise.
11143 * mmap/i386/uppermem.c: Likewise.
11144 * mmap/mmap.c: Likewise.
11145 * commands/acpi.c: Likewise.
11146 * commands/echo.c: Likewise.
11147 * commands/blocklist.c: Likewise.
11148 * commands/loadenv.c: Likewise.
11149 * commands/usbtest.c: Likewise.
11150 * commands/boot.c: Likewise.
11151 * commands/parttool.c: Likewise.
11152 * commands/search.c: Likewise.
11153 * commands/cat.c: Likewise.
11154 * commands/i386/pc/play.c: Likewise.
11155 * commands/i386/pc/drivemap.c: Likewise.
11156 * commands/i386/pc/vbeinfo.c: Likewise.
11157 * commands/i386/pc/acpi.c: Likewise.
11158 * commands/i386/pc/vbetest.c: Likewise.
11159 * commands/ls.c: Likewise.
11160 * commands/cmp.c: Likewise.
11161 * commands/test.c: Likewise.
11162 * commands/efi/acpi.c: Likewise.
11163 * commands/gptsync.c: Likewise.
11164 * commands/help.c: Likewise.
11165 * partmap/amiga.c: Likewise.
11166 * partmap/apple.c: Likewise.
11167 * partmap/acorn.c: Likewise.
11168 * partmap/pc.c: Likewise.
11169 * partmap/sun.c: Likewise.
11170 * partmap/gpt.c: Likewise.
11171 * script/sh/lexer.c: Likewise.
11172 * script/sh/function.c: Likewise.
11173 * font/font.c: Likewise.
11174 * font/font_cmd.c: Likewise.
11175 * loader/powerpc/ieee1275/linux.c: Likewise.
11176 * loader/efi/chainloader.c: Likewise.
11177 * loader/multiboot_loader.c: Likewise.
11178 * loader/macho.c: Likewise.
11179 * loader/i386/multiboot.c: Likewise.
11180 * loader/i386/linux.c: Likewise.
11181 * loader/i386/pc/linux.c: Likewise.
11182 * loader/i386/pc/multiboot2.c: Likewise.
11183 * loader/i386/pc/chainloader.c: Likewise.
11184 * loader/i386/pc/xnu.c: Likewise.
11185 * loader/i386/bsd_trampoline.S: Likewise.
11186 * loader/i386/efi/linux.c: Likewise.
11187 * loader/i386/multiboot_elfxx.c: Likewise.
11188 * loader/i386/bsd_helper.S: Likewise.
11189 * loader/i386/bsd.c: Likewise.
11190 * loader/i386/linux_trampoline.S: Likewise.
11191 * loader/i386/xnu_helper.S: Likewise.
11192 * loader/i386/xnu.c: Likewise.
11193 * loader/i386/bsd_pagetable.c: Likewise.
11194 * loader/i386/multiboot_helper.S: Likewise.
11195 * loader/xnu.c: Likewise.
11196 * loader/xnu_resume.c: Likewise.
11197 * io/gzio.c: Likewise.
11198 * term/efi/console.c: Likewise.
11199 * term/terminfo.c: Likewise.
11200 * term/ieee1275/ofconsole.c: Likewise.
11201 * term/i386/pc/serial.c: Likewise.
11202 * term/i386/pc/vesafb.c: Likewise.
11203 * term/i386/pc/vga.c: Likewise.
11204 * term/usb_keyboard.c: Likewise.
11205 * term/gfxterm.c: Likewise.
11206 * aclocal.m4: Likewise.
11207 * util/lvm.c: Likewise.
11208 * util/grub.d/30_os-prober.in: Likewise.
11209 * util/grub.d/10_hurd.in: Likewise.
11210 * util/console.c: Likewise.
11211 * util/grub-macho2img.c: Likewise.
11212 * util/grub-probe.c: Likewise.
11213 * util/hostfs.c: Likewise.
11214 * util/i386/pc/grub-mkimage.c: Likewise.
11215 * util/i386/pc/grub-setup.c: Likewise.
11216 * util/i386/efi/grub-mkimage.c: Likewise.
11217 * util/grub-mkconfig.in: Likewise.
11218 * util/raid.c: Likewise.
11219 * util/resolve.c: Likewise.
11220 * util/grub-mkdevicemap.c: Likewise.
11221 * util/grub-emu.c: Likewise.
11222 * util/getroot.c: Likewise.
11223 * util/hostdisk.c: Likewise.
11224 * util/usb.c: Likewise.
11225 * util/grub-editenv.c: Likewise.
11226 * util/misc.c: Likewise.
11227
d2d49665 112282009-06-10 Felix Zielcke <fzielcke@z-51.de>
11229
11230 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11231 `genparttoollist.sh'.
11232 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11233 Add `*.sh' to the list find searches for and change `mdate.sh'
11234 to `mdate-sh'.
11235
fe052e37 112362009-06-10 Pavel Roskin <proski@gnu.org>
11237
2763ac18 11238 * include/grub/multiboot2.h: Provide compatibility defines for
11239 multiboot2.h.
11240 * include/multiboot2.h: Include stdint.h only if needed, using
11241 angle brackets.
11242 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11243 grub/multiboot2.h.
11244 * loader/ieee1275/multiboot2.c: Likewise.
11245 * loader/multiboot2.c: Likewise.
11246 * loader/multiboot_loader.c: Likewise.
11247
437e6adc 11248 * configure.ac: Use -nostdlib when probing for the target. It
11249 should not be required to have libc for the target.
11250
06a6836c 11251 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11252 they fail without libc headers for the target.
11253 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11254 exports.
11255 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11256 preprocessor conditionals.
11257
fe052e37 11258 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11259 build system doesn't need to be aware of the tar.c internals.
11260
afd22553 112612009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 11262
afd22553 11263 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 11264
6b787c4f 112652009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11266
11267 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11268 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11269
112702009-06-09 Felix Zielcke <fzielcke@z-51.de>
11271
11272 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 11273 aren't available if ata.mod gets used.
6b787c4f 11274
473d1e45 112752009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 11276
473d1e45 11277 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 11278 initialising controller.
473d1e45 11279 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 11280
255a27d4 112812009-06-08 Felix Zielcke <fzielcke@z-51.de>
11282
11283 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11284 to choose between ata and biosdisk module on i386-pc.
11285
473d1e45 112862009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 11287
d55842d8 11288 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11289 Subclass and Programming Interface fields in terms of the 3 byte
11290 Class Code register.
11291 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11292
fa5db0b1 11293 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11294 interface is OHCI. Add grub_dprintf for symmetry with
11295 bus/usb/uhci.c.
11296 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11297 interface is UHCI. Add interf variable for programming
11298 interface. Print interface with class/subclass.
11299
c0947beb 11300 * bus/usb/ohci.c: Set interf with correct field.
11301
69da8877 11302 * bus/usb/uhci.c: Remove unneeded doubled lines.
11303 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11304 Remove whitespace inside comment.
11305
9e172e30 113062009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11307
11308 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11309 as fallback an equivalent option without depth.
11310
de65ee2b 113112009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 Not fail if unable to retrieve C/H/S on LBA disks
11314
473d1e45 11315 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 11316 if unable to retrieve C/H/S on LBA disks
11317
b57ea2c9 113182009-06-08 Pavel Roskin <proski@gnu.org>
11319
11320 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11321 about aliasing.
11322
af361263 113232009-06-08 Felix Zielcke <fzielcke@z-51.de>
11324
11325 * Makefile.in (uninstall): Remove all $lib_DATA files.
11326
4c9ec6b3 113272009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 Bugfix: install on partitionless device
11330
11331 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11332 is a whole disk
11333
e76fc924 113342009-06-08 Felix Zielcke <fzielcke@z-51.de>
11335
11336 * Makefile.in (uninstall): Remove all $include_DATA files.
11337
ba5a0d05 113382009-06-08 Felix Zielcke <fzielcke@z-51.de>
11339
11340 * commands/true.c: New file. Implement the true and false commands.
11341 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11342 (true_mod_SOURCES): New variable.
11343 (true_mod_CFLAGS): Likewise.
11344 (true_mod_LDFLAGS): Likewise.
11345
c8048e32 113462009-06-05 Colin D Bennett <colin@gibibit.com>
11347
11348 Optimized font character lookup using binary search instead of linear
11349 search. Fonts now are required to have the character index ordered by
11350 code point.
11351
11352 * font/font.c (load_font_index): Verify that fonts have ordered
11353 character indices.
11354 (find_glyph): Use binary search instead of linear search to find a
11355 character in a font.
11356
408305be 113572009-06-05 Michael Scherer <misc@mandriva.org>
11358
11359 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11360 uses case sensitive btree.
11361 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11362 only for case insensitive filesystems.
11363
8ee1e0d9 113642009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11367 * conf/common.rmk (search_mod_CFLAGS): likewise
11368
a9966eb1 113692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11370
473d1e45 11371 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 11372 compensate a compiler bug
11373
9e7100fb 113742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11375
473d1e45 11376 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 11377 instead of '\b'
473d1e45 11378
ede21d71 113792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 Definitions for creating asm symbols with Apple's CC
11382
11383 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11384 [APPLE_CC] (VARIABLE): likewise
11385
9dbf7653 113862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 Disable lnxboot.img when compiled
11389 with Apple's CC
11390
11391 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11392 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11393 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11394 [! APPLE_CC] (CODE_LENG): skip
11395 [! APPLE_CC] (setup_sects): likewise
11396 [! APPLE_CC]: skip filling
473d1e45 11397
e93cdc3d 113982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 Address in trampolines based on 32-bit registers when compiled
11401 with Apple's CC
11402
473d1e45 11403 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 11404 for addresses
11405 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11406
6c688477 114072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11410
11411 * kern/misc.c [APPLE_CC] (memcpy): new function
11412 [APPLE_CC] (memmove): likewise
11413 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 11414 (memcpy): define alias conditionally on !APPLE_CC
6c688477 11415 (memset): likewise
11416 (abort): likewise
11417 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11418 APPLE_CC are defined
11419 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11420 (grub_assert_fail): make prototype conditional
11421
e37ffc5c 114222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11425
473d1e45 11426 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11427 grub-macho2img
e37ffc5c 11428 (CLEANFILES): add grub-macho2img
11429 (grub_macho2img_SOURCES): new variable
11430 * kern/i386/pc/startup.S (bss_start): new variable
11431 (bss_end): likewise
11432 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11433 * util/grub-macho2img.c: new file
11434
cf00df31 114352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 Use objconv when compiling with Apple's CC
11438
11439 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11440 (efiemu64.o): likewise
11441 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11442 when compiling with Apple's CC
11443 (efiemu64_s.o): likewise
11444 * configure.ac: check for objconv when compiling with Apple's CC
11445 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 11446
d119a20c 114472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 Define segment as well as section when compiling with
11450 Apple's CC
11451
11452 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11453 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11454 (efiemu_convert_pointer): likewise
11455 (efiemu_set_virtual_address_map): likewise
11456 (efiemu_convert_pointer): likewise
11457 (efiemu_getcrc32): likewise
11458 (init_crc32_table): likewise
11459 (reflect): likewise
11460 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11461 (GRUB_MOD_DEP): likewise
473d1e45 11462
c8600122 114632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 Allow a compilation without -mcmodel=large
11466
11467 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11468 when compiled without -mcmodel=large
473d1e45 11469 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 11470 without -mcmodel=large
473d1e45 11471 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 11472 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 11473
e8df1d4e 114742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Remove nested functions in efiemu core
11477
11478 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 11479
cc6c3ac1 114802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11483
11484 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11485 temporary storage
473d1e45 11486 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11487 using Apple's CC
cc6c3ac1 11488 (grub_cpu_is_tsc_supported): likewise
11489 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 11490
3e325901 114912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11492
11493 Absolute addressing through constant with Apple's cc
11494
11495 * kern/i386/pc/startup.S: Define necessary constants
11496 and address through it when using ABS with Apple's CC
11497 * boot/i386/pc/diskboot.S: likewise
11498 * boot/i386/pc/boot.S: likewise
11499 * boot/i386/pc/lnxboot.S: likewise
11500 * boot/i386/pc/cdboot.S: likewise
11501 * mmap/i386/pc/mmap_helper.S: likewise
11502 * commands/i386/pc/drivemap_int13h.S: likewise
11503
2b167a72 115042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 Check if compiler is apple cc
11507
11508 * Makefile.in (ASFLAGS): new variable
11509 (TARGET_ASFLAGS): likewise
11510 (TARGET_MODULE_FORMAT): likewise
11511 (TARGET_APPLE_CC): likewise
11512 (OBJCONV): likewise
11513 (TARGET_IMG_CFLAGS): likewise
11514 (TARGET_CPPFLAGS): add includedir
11515 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11516 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11517 Check for linker script only if compiler isn't Apple's CC
11518 (TARGET_MODULE_FORMAT): set
11519 (TARGET_APPLE_CC): likewise
11520 (TARGET_ASFLAGS): likewise
11521 (ASFLAGS): likewise
11522 Check for objcopy only if compiler isn't Apple's CC
11523 Check for BSS symbol only if compiler isn't Apple's CC
11524 * genmk.rb: adapt nm options if we use Apple's utils
11525 * aclocal.m4 (grub_apple_cc): new test
11526 (grub_apple_target_cc): likewise
473d1e45 11527
fb14123e 115282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 Simplify sed expressions and improve awk
11531
11532 * Makefile.in (install-local): simplify sed expression
11533 * gencmdlist.sh: likewise
11534 * genmoddep.awk: avoid adding module as a dependency of itself
11535
5b889789 115362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Add missing start symbols
11539
11540 * boot/i386/pc/boot.S: add start
fb14123e 11541 * boot/i386/pc/pxeboot.S: likewise
473d1e45 11542
fd2bf2e3 115432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 11546
11547 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 11548 (relocate_addresses): consider both r_addend and value at offset
11549 (make_mods_section): zerofill modinfo and header
11550 (convert_elf): write prefix here
473d1e45 11551
5389763d 115522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 Use .asciz instead of .string
11555
11556 * i386/pc/diskboot.S: use .asciz instead of .string
11557 * i386/pc/boot.S: likewise
11558 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11559 (GRUB_MOD_NAME): likewise
473d1e45 11560
3eb5ed4e 115612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 gfxpayload support
11564
11565 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11566 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11567 (grub_video_setup): remove
11568 (grub_video_set_mode): new prototype
11569 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11570 (vid_mode): remove
11571 (linux_vesafb_res): compile only on PCBIOS
11572 (grub_linux_boot): support gfxpayload
11573 * loader/i386/pc/xnu.c (video_hook): new function
11574 (grub_xnu_set_video): support gfxpayload
11575 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11576 (DEFAULT_VIDEO_HEIGHT): likewise
11577 (DEFAULT_VIDEO_FLAGS): likewise
11578 (DEFAULT_VIDEO_MODE): new definition
11579 (video_hook): new function
11580 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 11581 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 11582 loading xnu
11583 * video/video.c (grub_video_setup): removed
473d1e45 11584 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 11585 grub_video_setup
11586
4b0e1143 115872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Avoid calling biosdisk in drivemap
11590
11591 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11592 (revparse_biosdisk): likewise
11593 (list_mappings): derive name from id directly
11594 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 11595
fda6cb98 115962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 Script fixes
11599
11600 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11601 (grub_lexer_param): add tokenonhold
11602 (grub_script_create_cmdline): remove cmdline. All callers updated
11603 (grub_script_function_create): make functionname
11604 grub_script_arg. All callers updated
11605 (grub_script_execute_argument_to_string): new prototype
11606 * kern/parser.c (state_transitions): reorder
11607 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 11608 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 11609 make global
11610 (grub_script_execute_cmdline): use new format
11611 * script/sh/function.c (grub_script_function_create): make functionname
11612 grub_script_arg. All callers updated
473d1e45 11613 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 11614 (grub_script_yylex): remove
11615 (grub_script_yylex2): renamed to ...
11616 (grub_script_yylex): ...renamed
11617 parse the expressions like a${b}c
11618 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11619 (GRUB_PARSER_TOKEN_VAR): remove
11620 (GRUB_PARSER_TOKEN_NAME): likewise
11621 ("if"): declare as typeless
11622 ("while"): likewise
11623 ("function"): likewise
11624 ("else"): likewise
11625 ("then"): likewise
11626 ("fi"): likewise
11627 (text): remove
11628 (argument): likewise
11629 (script): accept empty scripts and make exit on error
11630 (arguments): use GRUB_PARSER_TOKEN_ARG
11631 (function): likewise
11632 (command): move error handling to script
11633 (menuentry): move grub_script_lexer_ref before
473d1e45 11634 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 11635 argument. All callers updated
11636
f4448a07 116372009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11638
11639 Prevent GRUB from probing floppies during boot.
11640
11641 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11642 * commands/search.c (options): Add --no-floppy.
11643 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11644 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11645 --no-floppy when searching for UUIDs.
11646
2bf5885a 116472009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11648
11649 Simplify the code duplication in commands/search.c.
11650
11651 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11652 (search_fs): ... this. Update all users.
11653
f6fd460a 116542009-06-03 Felix Zielcke <fzielcke@z-51.de>
11655
11656 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11657
cbb3c83e 116582009-05-28 Pavel Roskin <proski@gnu.org>
11659
57788cfd 11660 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11661 Remove the original symlink explicitly.
11662
cbb3c83e 11663 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11664 just one slash. That's how grub_fshelp_find_file() does it.
11665
cd0d5e30 116662009-05-26 Pavel Roskin <proski@gnu.org>
11667
f0f8bbe2 11668 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11669 to `str'.
11670
cd0d5e30 11671 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11672 possibly unused.
11673
8c2cab51 116742009-05-25 Christian Franke <franke@computer.org>
11675
11676 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11677 register.
11678 (grub_atapi_identify): Add wait after drive select.
11679 (grub_ata_identify): Do more strict status register check before
11680 calling grub_atapi_identify (). Suppress error message if status
11681 register is 0x00 after command failure. Add status register
11682 check after PIO read to avoid bogus identify due to stuck DRQ.
11683 Thanks to Pavel Roskin for testing.
11684 (grub_device_initialize): Remove unsafe status register check.
11685 Thanks to 'phcoder' for problem report and patch.
11686 Prevent sign extension in debug message.
11687
230c0ad6 116882009-05-23 Colin D Bennett <colin@gibibit.com>
11689
11690 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11691 definition file, and functions defined in `normal/menu.c' have had
11692 their prototypes moved to `include/grub/menu.h' for consistency.
11693
11694 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11695 from normal.h.
11696 (grub_menu_get_entry): Likewise.
11697 (grub_menu_get_timeout): Likewise.
11698 (grub_menu_set_timeout): Likewise.
11699 (grub_menu_execute_entry): Likewise.
11700 (grub_menu_execute_with_fallback): Likewise.
11701 (grub_menu_entry_run): Likewise.
11702
11703 * include/grub/normal.h: Re-ordered and grouped function
11704 prototypes by file that the function is defined in.
11705 (grub_menu_execute_callback): Removed; moved to menu.h.
11706 (grub_menu_get_entry): Likewise.
11707 (grub_menu_get_timeout): Likewise.
11708 (grub_menu_set_timeout): Likewise.
11709 (grub_menu_execute_entry): Likewise.
11710 (grub_menu_execute_with_fallback): Likewise.
11711 (grub_menu_entry_run): Likewise.
11712 (grub_menu_addentry): Renamed from this ...
11713 (grub_normal_add_menu_entry): ... to this.
11714
11715 * normal/main.c (grub_menu_addentry): Renamed from this ...
11716 (grub_normal_add_menu_entry): ... to this.
11717
11718 * script/sh/execute.c (grub_script_execute_menuentry): Update
11719 reference to renamed grub_menu_addentry function.
11720
861f03a5 117212009-05-23 Felix Zielcke <fzielcke@z-51.de>
11722
11723 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11724
96b1619a 117252009-05-22 Pavel Roskin <proski@gnu.org>
11726
bf6a5fb2 11727 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11728 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11729 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11730 compiling for the i386 targets, but not for the utilities.
11731
96b1619a 11732 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11733 to grub_uint8_t.
11734 (grub_root_drive): Likewise.
11735 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11736 remove alignment.
11737 (grub_root_drive): Change size to byte.
11738 (grub_start_addr): Remove.
11739 (grub_end_addr): Likewise.
11740 (grub_apm_bios_info): Likewise.
11741
b729776b 117422009-05-21 Felix Zielcke <fzielcke@z-51.de>
11743
11744 * normal/i386: Remove.
11745 * normal/powerpc: Likewise.
11746 * normal/sparc64: Likewise.
11747 * normal/x86_64: Likewise.
11748
0a15ce80 117492009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 11752 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 11753 * loader/i386/xnu_helper.S: Likewise
d6da58e6 11754
33db9015 117552009-05-18 Colin D Bennett <colin@gibibit.com>
11756
d6da58e6 11757 Display error messages when parsing a Lua statement fails.
11758 Previously, executing a syntactically invalid statement like
11759 ")foo" or "bar;" would silently fail.
33db9015 11760
11761 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 11762 (grub_lua_parse_line): Improved reporting of Lua parser and
11763 execution errors.
33db9015 11764
46422c89 117652009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 Remove -Werror which causes build to fail on some systems
11768
11769 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11770 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11771 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 11772
22f53a96 117732009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 trampoline for linux on 64-bit platform
11776
18f547ad 11777 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11778 loader/i386/efi/linux_trampoline.S
11779 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 11780 declaration
d6da58e6 11781 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11782 here
22f53a96 11783 * loader/i386/linux_trampoline.S: moved here
d6da58e6 11784 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11785 trampoline
22f53a96 11786 (jumpvector): removed
11787 (grub_linux_trampoline_start): new declaration
11788 (grub_linux_trampoline_end): likewise
11789 (grub_linux_boot): use trampoline when on 64-bit platform
11790 * loader/i386/linux.c: likewise
11791
cb5a0f40 117922009-05-16 Pavel Roskin <proski@gnu.org>
11793
11794 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11795 const to avoid a warning.
11796 (grub_lua_setenv): Likewise.
11797 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11798 lmsg to fix a warning.
11799
334f2c28 118002009-05-16 Felix Zielcke <fzielcke@z-51.de>
11801
11802 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 11803 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11804 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11805 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11806 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11807 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11808 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11809 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 11810
59e5d3ec 118112009-05-16 Felix Zielcke <fzielcke@z-51.de>
11812
11813 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11814
9d87a1ba 118152009-05-16 Bean <bean123ch@gmail.com>
11816
11817 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11818 (lua_mod_SOURCES): New variable.
11819 (lua_mod_CFLAGS): Likewise.
11820 (lua_mod_LDFLAGS): Likewise.
11821
11822 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11823 (setjmp_mod_SOURCES): New variable.
11824 (setjmp_mod_CFLAGS): Likewise.
11825 (setjmp_LDFLAGS): Likewise.
11826
11827 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11828 (setjmp_mod_SOURCES): New variable.
11829 (setjmp_mod_CFLAGS): Likewise.
11830 (setjmp_LDFLAGS): Likewise.
11831
11832 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11833 (setjmp_mod_SOURCES): New variable.
11834 (setjmp_mod_CFLAGS): Likewise.
11835 (setjmp_LDFLAGS): Likewise.
11836
11837 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11838 (setjmp_mod_SOURCES): New variable.
11839 (setjmp_mod_CFLAGS): Likewise.
11840 (setjmp_LDFLAGS): Likewise.
11841
11842 * normal/i386/setjmp.S: Moved from here ...
11843 * lib/i386/setjmp.S: ... Moved here
11844 * normal/x86_64/setjmp.S: Moved from here ...
11845 * lib/x86_64/setjmp.S: ... Moved here
11846 * normal/powerpc/setjmp.S: Moved from here ...
11847 * lib/powerpc/setjmp.S: ... Moved here
11848 * normal/sparc64/setjmp.S: Moved from here ...
11849 * lib/sparc64/setjmp.S: ... Moved here
11850
11851 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
11852 returns_twice in mingw.
11853
11854 * script/lua/grub_lib.c: New file.
11855 * script/lua/grub_lib.h: Likewise.
11856 * script/lua/grub_lua.h: Likewise.
11857 * script/lua/grub_main.c: Likewise.
11858 * script/lua/lapi.c: Likewise.
11859 * script/lua/lapi.h: Likewise.
11860 * script/lua/lauxlib.c: Likewise.
11861 * script/lua/lauxlib.h: Likewise.
11862 * script/lua/lbaselib.c: Likewise.
11863 * script/lua/lcode.c: Likewise.
11864 * script/lua/lcode.h: Likewise.
11865 * script/lua/ldblib.c: Likewise.
11866 * script/lua/ldebug.c: Likewise.
11867 * script/lua/ldebug.h: Likewise.
11868 * script/lua/ldo.c: Likewise.
11869 * script/lua/ldo.h: Likewise.
11870 * script/lua/ldump.c: Likewise.
11871 * script/lua/lfunc.c: Likewise.
11872 * script/lua/lfunc.h: Likewise.
11873 * script/lua/lgc.c: Likewise.
11874 * script/lua/lgc.h: Likewise.
11875 * script/lua/linit.c: Likewise.
11876 * script/lua/liolib.c: Likewise.
11877 * script/lua/llex.c: Likewise.
11878 * script/lua/llex.h: Likewise.
11879 * script/lua/llimits.h: Likewise.
11880 * script/lua/lmathlib.c: Likewise.
11881 * script/lua/lmem.c: Likewise.
11882 * script/lua/lmem.h: Likewise.
11883 * script/lua/loadlib.c: Likewise.
11884 * script/lua/lobject.c: Likewise.
11885 * script/lua/lobject.h: Likewise.
11886 * script/lua/lopcodes.c: Likewise.
11887 * script/lua/lopcodes.h: Likewise.
11888 * script/lua/loslib.c: Likewise.
11889 * script/lua/lparser.c: Likewise.
11890 * script/lua/lparser.h: Likewise.
11891 * script/lua/lstate.c: Likewise.
11892 * script/lua/lstate.h: Likewise.
11893 * script/lua/lstring.c: Likewise.
11894 * script/lua/lstring.h: Likewise.
11895 * script/lua/lstrlib.c: Likewise.
11896 * script/lua/ltable.c: Likewise.
11897 * script/lua/ltable.h: Likewise.
11898 * script/lua/ltablib.c: Likewise.
11899 * script/lua/ltm.c: Likewise.
11900 * script/lua/ltm.h: Likewise.
11901 * script/lua/lua.h: Likewise.
11902 * script/lua/luaconf.h: Likewise.
11903 * script/lua/lualib.h: Likewise.
11904 * script/lua/lundump.c: Likewise.
11905 * script/lua/lundump.h: Likewise.
11906 * script/lua/lvm.c: Likewise.
11907 * script/lua/lvm.h: Likewise.
11908 * script/lua/lzio.c: Likewise.
11909 * script/lua/lzio.h: Likewise.
11910
5e898c9d 119112009-05-16 Bean <bean123ch@gmail.com>
11912
11913 * include/grub/kernel.h (grub_module_header_types): Add type
11914 OBJ_TYPE_CONFIG.
11915
11916 * kern/main.c (grub_load_config): New function.
11917 (grub_main): Call grub_load_config to read boot config.
11918
11919 * grub-mkimage (generate_image): New parameter config_path.
11920 (options): New option --config.
11921 (main): Parse --config option, and pass it to generate_image.
11922
cf353a47 119232009-05-14 Christian Franke <franke@computer.org>
11924
11925 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11926 This fixes build on Cygwin.
11927
3834887f 119282009-05-14 Pavel Roskin <proski@gnu.org>
11929
11930 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11931 jump. This saves two bytes, so the typical case of 2 swapped
11932 drives would fit 32 bytes.
11933
8090fc01 119342009-05-13 Pavel Roskin <proski@gnu.org>
11935
ac963883 11936 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11937 grub_uint32_t to avoid a warning.
11938
8090fc01 11939 * loader/i386/linux.c (allocate_pages): When assigning
11940 real_mode_mem, cast through grub_size_t to fix a warning. The
11941 code already makes sure that the value would fit a pointer.
11942 (grub_linux_setup_video): Cast render_target->data to
11943 grub_size_t to fix a warning.
11944
18f547ad 119452009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 11946
11947 * commands/i386/pc/drivemap.c: New file - implement drivemap
11948 command.
11949 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11950 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11951
6f6a8b28 119522009-05-13 Pavel Roskin <proski@gnu.org>
11953
11954 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11955 embedding_area_exists.
11956
15fbf4c4 119572009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11958
11959 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11960 it easier to understand / work with.
59978c8a 11961 Improve warning messages for cases where there's no embedding area,
11962 or when it is too small (or core.img too large).
15fbf4c4 11963
238e871f 119642009-05-13 Pavel Roskin <proski@gnu.org>
11965
0ab3a9a4 11966 * loader/i386/pc/multiboot2.c: Add necessary includes for
11967 grub_multiboot2_real_boot().
11968
a2c8c5f8 11969 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11970 PX record is always little-endian. We only need the lower 2
11971 bytes of the mode.
11972
faec96af 11973 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11974 facilitate code reuse.
11975 (grub_cpio_mount): Use "struct head", not a char buffer. This
11976 fixes a warning reported by gcc 4.4.
11977
238e871f 11978 * kernel/disk.c (grub_disk_read): Use void pointer for the
11979 buffer.
11980 (grub_disk_write): Use const void pointer for the buffer.
11981 Adjust all callers. Remove unnecessary casts.
11982
901d2f0c 119832009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11984
11985 * util/i386/pc/grub-install.in: Update copyright year.
11986
18f547ad 119872009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 11988
11989 gptsync
11990
11991 * commands/gptsync.c: new file
11992 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11993 (gptsync_mod_SOURCES): new variable
11994 (gptsync_mod_CFLAGS): likewise
11995 (gptsync_mod_LDFLAGS): likewise
18f547ad 11996 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 11997 new definition
11998 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11999 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12000 * conf/i386-ieee1275.rmk: likewise
12001 * conf/i386-pc.rmk: likewise
12002 * conf/powerpc-ieee1275.rmk: likewise
12003
b4ba690a 120042009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 Fixed grub-emu
12007
12008 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12009 (grub_dl_ref): likewise
12010
317e1a44 120112009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12012
12013 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12014 split in two functions (one for msdos and one for gpt).
12015
041b8094 120162009-05-08 Pavel Roskin <proski@gnu.org>
12017
752473c2 12018 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12019 not modified.
12020
041b8094 12021 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12022 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12023 Initialize them with -1. Add sanity check for bad1. Eliminate
12024 nerr variable.
12025
172800ce 120262009-05-08 David S. Miller <davem@davemloft.net>
12027
12028 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12029
29aa5e81 120302009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12031
12032 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 12033 existence.
29aa5e81 12034
96613b62 120352009-05-05 Felix Zielcke <fzielcke@z-51.de>
12036
12037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 12038 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 12039
eef73c8a 120402009-05-05 David S. Miller <davem@davemloft.net>
12041
12042 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12043
119494b5 120442009-05-05 Pavel Roskin <proski@gnu.org>
12045
12046 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12047 of grub_dl_ref() and grub_dl_unref().
12048 * commands/parttool.c: Remove preprocessor conditionals around
12049 grub_dl_ref() and grub_dl_unref().
12050 * fs/affs.c: Likewise.
12051 * fs/afs.c: Likewise.
12052 * fs/cpio.c: Likewise.
12053 * fs/ext2.c: Likewise.
12054 * fs/fat.c: Likewise.
12055 * fs/hfs.c: Likewise.
12056 * fs/hfsplus.c: Likewise.
12057 * fs/iso9660.c: Likewise.
12058 * fs/jfs.c: Likewise.
12059 * fs/minix.c: Likewise.
12060 * fs/ntfs.c: Likewise.
12061 * fs/reiserfs.c: Likewise.
12062 * fs/sfs.c: Likewise.
12063 * fs/udf.c: Likewise.
12064 * fs/ufs.c: Likewise.
12065 * fs/xfs.c: Likewise.
12066 * include/grub/dl.h: Likewise.
12067 * loader/xnu.c: Likewise.
12068
de5fd76e 120692009-05-04 Pavel Roskin <proski@gnu.org>
12070
12071 * commands/acpi.c: Remove unused variable my_mod.
12072 * partmap/amiga.c: Likewise.
12073 * partmap/apple.c: Likewise.
12074 * partmap/gpt.c: Likewise.
12075 * partmap/pc.c: Likewise.
12076 * partmap/sun.c: Likewise.
12077 * term/gfxterm.c: Likewise.
12078 * term/i386/pc/vesafb.c: Likewise.
12079 * term/i386/pc/vga.c: Likewise.
12080
983598ad 120812009-05-04 David S. Miller <davem@davemloft.net>
12082
12083 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12084 pointer args to grub_ieee1275_get_property().
12085
8aadec43 12086 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12087
9554b15e 12088 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12089 devices, and do not traverse down under controller nodes.
12090
67e23c90 12091 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12092 (grub_ofdisk_open): Use it to un-escape "," characters.
12093 * kern/disk.c (find_part_sep): New.
12094 (grub_disk_open): Use it to find the first non-escaped ','
12095 character in the disk name.
12096 * util/ieee1275/devicemap.c (escape_of_path): New.
12097 (grub_util_emit_devicemap_entry): Use it.
12098 * util/sparc64/ieee1275/grub-install.in: Update script to
12099 strip partition specifiers properly by not triggering on
12100 '\' escaped ',' characters.
12101
74bfdd2f 121022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12103
12104 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12105 to 0x300.
12106 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12107 resolutions.
12108 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12109 on documentation from Wikipedia).
12110
4241d2b1 121112009-05-04 Pavel Roskin <proski@gnu.org>
12112
12113 * disk/ata.c: Spelling fixes.
12114 * disk/raid.c: Likewise.
12115 * disk/usbms.c: Likewise.
12116 * disk/dmraid_nvidia.c: Likewise.
12117 * kern/ieee1275/openfw.c: Likewise.
12118 * kern/ieee1275/init.c: Likewise.
12119 * kern/ieee1275/cmain.c: Likewise.
12120 * boot/i386/pc/cdboot.S: Likewise.
12121 * video/readers/png.c: Likewise.
12122 * video/i386/pc/vbe.c: Likewise.
12123 * fs/udf.c: Likewise.
12124 * fs/hfs.c: Likewise.
12125 * fs/reiserfs.c: Likewise.
12126 * efiemu/runtime/efiemu.c: Likewise.
12127 * efiemu/main.c: Likewise.
12128 * efiemu/mm.c: Likewise.
12129 * include/grub/elf.h: Likewise.
12130 * include/grub/xnu.h: Likewise.
12131 * include/grub/usbdesc.h: Likewise.
12132 * include/grub/usb.h: Likewise.
12133 * include/grub/script_sh.h: Likewise.
12134 * include/grub/lib/LzmaEnc.h: Likewise.
12135 * include/grub/efiemu/efiemu.h: Likewise.
12136 * include/grub/command.h: Likewise.
12137 * normal/menu.c: Likewise.
12138 * normal/main.c: Likewise.
12139 * normal/datetime.c: Likewise.
12140 * bus/usb/uhci.c: Likewise.
12141 * mmap/i386/uppermem.c: Likewise.
12142 * mmap/mmap.c: Likewise.
12143 * commands/acpi.c: Likewise.
12144 * commands/test.c: Likewise.
12145 * partmap/apple.c: Likewise.
12146 * font/font.c: Likewise.
12147 * loader/sparc64/ieee1275/linux.c: Likewise.
12148 * loader/macho.c: Likewise.
12149 * loader/i386/bsd_trampoline.S: Likewise.
12150 * loader/i386/bsd.c: Likewise.
12151 * loader/xnu.c: Likewise.
12152 * term/i386/pc/vesafb.c: Likewise.
12153 * term/usb_keyboard.c: Likewise.
12154 * util/resolve.c: Likewise.
12155 * util/getroot.c: Likewise.
12156
0cfc0083 121572009-05-04 Felix Zielcke <fzielcke@z-51.de>
12158
12159 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12160
7c1d00cd 121612009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12162
12163 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12164 build error.
12165
b01f0548 121662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12169 parameter only available on BIOS.
12170
ecc3eb22 121712009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 Removed wrong semicolon in declaration
12174
12175 * grub/misc.h (grub_dprintf): remove semicolon
12176
112972a9 121772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12178
12179 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12180 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12181 is done by grub_cmd_linux() now).
12182 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12183 restore video to text mode.
12184 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12185 indicates lack of "vga=" parameter. "vga=0" is mapped to
12186 `GRUB_LINUX_VID_MODE_NORMAL'.
12187
afd5c115 121882009-05-04 Felix Zielcke <fzielcke@z-51.de>
12189
12190 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12191 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12192 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 12193 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 12194 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12195 `grub_script.tab.c'.
12196
12197 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12198 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12200 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12201 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12202
faa517ce 12203 * Makefile.in: Remove duplicated 2008 in Copyright line.
12204
ae0c0bdc 122052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12206
473d1e45 12207 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 12208 unconditionally.
12209 * include/grub/util/misc.h (grub_util_warn): New declaration.
12210
12211 * util/i386/pc/grub-install.in: Understand --force and pass it down
12212 to grub-setup.
12213
12214 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12215 down to setup().
12216 (setup): Improve error messages and add warnings when requested to
12217 install in odd layouts. Refuse to install using blocklists unless
12218 --force was set.
12219
18f547ad 122202009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 12221
12222 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12223
6d260daa 122242009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 Updated copyright year
12227
12228 * fs/hfsplus.c: updated copyright year
18f547ad 12229
69f853f8 122302009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 HFS+ UUID
12233
18f547ad 12234 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 12235 in the space previously used by unused3
12236 (grub_hfsplus_uuid): new function
12237 (grub_hfsplus_fs): added uuid field
12238
4c402e73 122392009-05-03 Pavel Roskin <proski@gnu.org>
12240
12241 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12242 suppress warnings. It's no longer needed.
12243 * disk/host.c: Likewise.
12244 * disk/ata_pthru.c: Likewise.
12245 * disk/loopback.c: Likewise.
12246 * hook/datehook.c: Likewise.
12247 * parttool/pcpart.c: Likewise.
12248 * fs/i386/pc/pxe.c: Likewise.
12249 * fs/ntfscomp.c: Likewise.
12250 * efiemu/main.c: Likewise.
12251 * mmap/mmap.c: Likewise.
12252 * commands/crc.c: Likewise.
12253 * commands/hexdump.c: Likewise.
12254 * commands/hdparm.c: Likewise.
12255 * commands/acpi.c: Likewise.
12256 * commands/echo.c: Likewise.
12257 * commands/minicmd.c: Likewise.
12258 * commands/blocklist.c: Likewise.
12259 * commands/memrw.c: Likewise.
12260 * commands/loadenv.c: Likewise.
12261 * commands/usbtest.c: Likewise.
12262 * commands/lsmmap.c: Likewise.
12263 * commands/boot.c: Likewise.
12264 * commands/parttool.c: Likewise.
12265 * commands/configfile.c: Likewise.
12266 * commands/search.c: Likewise.
12267 * commands/ieee1275/suspend.c: Likewise.
12268 * commands/cat.c: Likewise.
12269 * commands/i386/pc/pxecmd.c: Likewise.
12270 * commands/i386/pc/play.c: Likewise.
12271 * commands/i386/pc/halt.c: Likewise.
12272 * commands/i386/pc/vbeinfo.c: Likewise.
12273 * commands/i386/pc/vbetest.c: Likewise.
12274 * commands/lspci.c: Likewise.
12275 * commands/date.c: Likewise.
12276 * commands/handler.c: Likewise.
12277 * commands/ls.c: Likewise.
12278 * commands/test.c: Likewise.
12279 * commands/cmp.c: Likewise.
12280 * commands/efi/loadbios.c: Likewise.
12281 * commands/efi/fixvideo.c: Likewise.
12282 * commands/halt.c: Likewise.
12283 * commands/help.c: Likewise.
12284 * commands/reboot.c: Likewise.
12285 * hello/hello.c: Likewise.
12286 * script/sh/main.c: Likewise.
12287 * loader/xnu.c: Likewise.
12288 * term/terminfo.c: Likewise.
12289 * term/i386/pc/serial.c: Likewise.
12290 * term/usb_keyboard.c: Likewise.
12291
515b5079 122922009-05-03 David S. Miller <davem@davemloft.net>
12293
12294 * normal/menu.c: Include grub/parser.h
12295
dfc31a22 122962009-05-03 Pavel Roskin <proski@gnu.org>
12297
2fee74f1 12298 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12299 not char*.
12300 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12301 Suggested by Javier Martín <lordhabbit@gmail.com>
12302
dfc31a22 12303 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12304 efiemu??.o doesn't exist.
12305 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12306 copying.
12307
18f547ad 123082009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 12309
12310 FreeBSD 64-bit support
12311
18f547ad 12312 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 12313 and loader/i386/bsd_trampoline.S
12314 (bsd_mod_ASFLAGS): new variable
12315 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12316 (FREEBSD_MODTYPE_KERNEL64): likewise
12317 (grub_bsd64_trampoline_start): likewise
12318 (grub_bsd64_trampoline_end): likewise
12319 (grub_bsd64_trampoline_selfjump): likewise
12320 (grub_bsd64_trampoline_gdt): likewise
12321 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12322 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12323 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12324 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 12325 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 12326 of "attrib" member
12327 * loader/i386/bsd_pagetable.c: new file
12328 * loader/i386/bsd_trampoline.S: likewise
12329 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12330 (ALIGN_VAR): likewise
12331 (entry_hi): new variable
12332 (kern_end_mdofs): likewise
12333 (is_64bit): likewise
12334 (grub_freebsd_add_meta): use ALIGN_VAR
12335 (grub_e820_mmap): new declaration
12336 (grub_freebsd_add_mmap): new function
12337 (grub_freebsd_add_meta_module): support 64 bit kernels
12338 (grub_freebsd_list_modules): use ALIGN_VAR
12339 (gdt_descriptor): new declaration
12340 (grub_freebsd_boot): support 64 bit kernels
12341 (grub_bsd_elf64_hook): new function
12342 (grub_bsd_load_elf): support elf64
12343
038c5720 123442009-05-03 Bean <bean123ch@gmail.com>
12345
12346 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12347 after we get the result of if statement.
12348
fc45fb58 123492009-05-03 Bean <bean123ch@gmail.com>
12350
12351 * Makefile.in (enable_efiemu): New variable.
12352
12353 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12354 set.
12355 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12356 path.
12357 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12358 path, add -mno-red-zone option.
12359 (efiemu64_s.o): Likewise.
12360 (efiemu64.o): Use macro $^ for source file.
12361
12362 * configure.ac (--enable-efiemu): New option.
12363
bbee0f2b 123642009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 xnu support
12367
12368 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12369 (pkglib_MODULES): add xnu.mod
12370 (xnu_mod_SOURCES): new variable
12371 (xnu_mod_CFLAGS): likewise
12372 (xnu_mod_LDFLAGS): likewise
12373 (xnu_mod_ASFLAGS): likewise
12374 * conf/i386-pc.rmk: likewise
12375 * conf/x86_64-efi.rmk: likewise
7dd4a573 12376 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 12377 new declaration
12378 * include/grub/i386/macho.h: new file
12379 * include/grub/i386/xnu.h: likewise
12380 * include/grub/macho.h: likewise
12381 * include/grub/machoload.h: likewise
12382 * include/grub/x86_64/macho.h: likewise
12383 * include/grub/x86_64/xnu.h: likewise
12384 * include/grub/xnu.h: likewise
12385 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12386 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12387 * loader/i386/efi/xnu.c: new file
12388 * loader/i386/pc/xnu.c: likewise
12389 * loader/i386/xnu.c: likewise
12390 * loader/i386/xnu_helper.S: likewise
12391 * loader/macho.c: likewise
12392 * loader/xnu.c: likewise
12393 * loader/xnu_resume.c: likewise
12394 * util/grub-dumpdevtree: likewise
12395 * include/grub/i386/pit.h: include grub/err.h
12396 (grub_pit_wait): export
12397 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 12398
5caf964d 123992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 Efiemu
7dd4a573 12402
5caf964d 12403 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 12404 _linux_efi, linux_efi.
12405 new files in grub-emu
5caf964d 12406 new targets efiemu32.o and efiemu64.o
12407 * loader/linux_normal_efiemu.c: likewise
12408 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 12409 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 12410 files to copy
12411 * include/grub/autoefi.h: new file
7dd4a573 12412 * include/grub/i386/efiemu.h: likewise
5caf964d 12413 * include/grub/i386/pc/efiemu.h: likewise
12414 * include/grub/efi/api.h: add LL suffix when necessary
12415 new definitions relating to tables
12416 * include/grub/efiemu/efiemu.h: new file
12417 * include/grub/efiemu/runtime.h: likewise
12418 * efiemu/prepare.c: likewise
12419 * efiemu/loadcore_common.c: likewise
12420 * efiemu/loadcore64.c: likewise
12421 * efiemu/runtime/efiemu.sh: likewise
12422 * efiemu/runtime/efiemu.S: likewise
12423 * efiemu/runtime/efiemu.c: likewise
12424 * efiemu/runtime/config.h: likewise
12425 * efiemu/prepare32.c: likewise
12426 * efiemu/main.c: likewise
12427 * efiemu/modules/pnvram.c: likewise
12428 * efiemu/modules/i386: likewise
12429 * efiemu/modules/i386/pc: likewise
12430 * efiemu/modules/acpi.c: likewise
12431 * efiemu/i386/pc/cfgtables.c: likewise
12432 * efiemu/i386/loadcore64.c: likewise
12433 * efiemu/i386/loadcore32.c: likewise
12434 * efiemu/prepare64.c: likewise
12435 * efiemu/loadcore.c: likewise
12436 * efiemu/symbols.c: likewise
12437 * efiemu/mm.c: likewise
12438 * efiemu/loadcore32.c: likewise
7dd4a573 12439
124402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 12441
12442 ACPI spoofing
12443
12444 * commands/acpi.c: new file
12445 * commands/i386/pc/acpi.c: likewise
12446 * commands/efi/acpi.c: likewise
12447 * include/grub/acpi.h: likewise
12448 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12449 (acpi_mod_SOURCES): new variable
12450 (acpi_mod_CFLAGS): likewise
12451 (acpi_mod_LDFLAGS): likewise
12452 * conf/i386-efi.rmk: likewise
12453 * conf/x86_64-efi.rmk: likewise
12454
7dd4a573 124552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 12456
12457 Missing part from mmap patch
12458
12459 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12460 (grub_mmap_unregister)
12461 (grub_mmap_free_and_unregister): use grub_mmap_register
12462
7dd4a573 124632009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 12464
12465 Mmap services
12466
12467 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12468 * loader/i386/linux.c (find_mmap_size): likewise
12469 (allocate_pages): likewise
12470 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12471 (grub_fill_multiboot_mmap): likewise
12472 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12473 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12474 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12475 (OPENBSD_MMAP_RESERVED): likewise
12476 * include/grub/i386/pc/memory.h: include grub/memory.h
12477 (grub_lower_mem): removed
12478 (grub_upper_mem): likewise
12479 (GRUB_MACHINE_MEMORY_ACPI): new definition
12480 (GRUB_MACHINE_MEMORY_NVS): likewise
12481 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12482 (GRUB_MACHINE_MEMORY_HOLE): likewise
12483 (grub_machine_mmap_register): likewise
12484 (grub_machine_mmap_unregister): likewise
12485 (grub_machine_get_upper): likewise
12486 (grub_machine_get_lower): likewise
12487 (grub_machine_get_post64): likewise
12488 * include/grub/i386/efi/memory.h: new file
12489 * include/grub/x86_64/efi/memory.h: likewise
12490 * include/grub/efi/memory.h: likewise
12491 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12492 (mmap_mod_SOURCES): new variable
12493 (mmap_mod_LDFLAGS): likewise
12494 (mmap_mod_ASFLAGS): likewise
12495 * conf/i386-coreboot.rmk: likewise
12496 * conf/i386-ieee1275.rmk: likewise
12497 * conf/i386-efi.rmk: likewise
12498 * conf/x86_64-efi.rmk: likewise
12499 * include/grub/types.h (UINT_TO_PTR): new macro
12500 (PTR_TO_UINT32): likewise
12501 (PTR_TO_UINT64): likewise
12502 * include/grub/memory.h: new file
12503 * mmap/i386/pc/mmap.c: likewise
12504 * mmap/i386/pc/mmap_helper.S: likewise
12505 * mmap/i386/uppermem.c: likewise
12506 * mmap/mmap.c: likewise
12507 * mmap/efi/mmap.c: likewise
7dd4a573 12508 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 12509 grub_upper_mem
12510 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12511 (grub_upper_mem): likewise
12512 (grub_machine_init): don't use grub_upper_mem,
12513 make grub_lower_mem local
12514 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12515 grub_mmap_iterate and grub_mmap_get_upper
12516 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12517
d558e6b5 125182009-05-02 Bean <bean123ch@gmail.com>
12519
12520 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12521 script/sh/parser.y.
12522 (pkglib_MODULES): Add normal.mod and sh.mod.
12523 (normal_SOURCES): New variable.
12524 (normal_mod_CFLAGS): Likewise.
12525 (normal_mod_LDFLAGS): Likewise.
12526 (sh_mod_SOURCES): Likewise.
12527 (sh_mod_CFLAGS): Likewise.
12528 (sh_mod_LDFLAGS): Likewise.
12529
12530 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12531 script/sh/lexer.c_DEPENDENCIES.
12532 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12533 kern/rescue_reader.c and kern/rescue_parser.c.
12534 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12535 (grub_emu_SOURCES): Change source files.
12536 (pkglib_MODULES): Remove normal.mod.
12537 (normal_SOURCES): Removed.
12538 (normal_mod_CFLAGS): Likewise.
12539 (normal_mod_LDFLAGS): Likewise.
12540 * conf/i386-coreboot.rmk: Likewise.
12541 * conf/i386-efi.rmk: Likewise.
12542 * conf/i386-ieee1276.rmk: Likewise.
12543 * conf/powerpc-ieee1275.rmk: Likewise.
12544 * conf/sparc64-ieee1275.rmk: Likewise.
12545 * conf/x86_64-efi.rmk: Likewise.
12546
12547 * include/grub/command.h (grub_command_execute): New inline function.
12548
12549 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12550
12551 * include/grub/normal.h: Remove <grub/setjmp.h>.
12552 (grub_fs_module_list): Moved to normal/autofs.c.
12553 (grub_exit_env): Removed.
12554 (grub_command_execute): Likewise.
12555 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12556 parameter script.
12557 (read_command_list): New function declaration.
12558 (read_fs_list): Likewise.
12559
12560 * include/parser.h: Include <grub/reader.h>.
12561 (grub_parser_split_cmdline): Change type of getline parameter.
12562 (grub_parser): New structure.
12563 (grub_parser_class): New variable.
12564 (grub_parser_execute): New function declaration.
12565 (grub_register_rescue_parser): Likewise.
12566 (grub_parser_register): New inline function.
12567 (grub_parser_unregister): Likewise.
12568 (grub_parser_get_current): Likewise.
12569 (grub_parser_set_current): Likewise.
12570
12571 * include/grub/reader.h: New file.
12572 * kern/reader.c: Likewise.
12573 * kern/rescue_parser.c: Likewise.
12574 * kern/rescue_reader.c: Likewise.
12575 * normal/autofs.c: Likewise.
12576 * normal/dyncmd.c: Likewise.
12577
12578 * include/grub/rescue.h: Removed.
12579 * normal/command.h: Likewise.
12580
12581 * include/grub/script.h: Moved to ...
12582 * include/grub/script_sh.h: ... Moved here.
12583 * normal/execute.c: Moved to ...
12584 * script/sh/execute.c: ... Moved here.
12585 * normal/function.c: Moved to ...
12586 * script/sh/function.c: ... Moved here.
12587 * normal/lexer.c: Moved to ...
12588 * script/sh/lexer.c: ... Moved here.
12589 * normal/parser.y: Moved to ...
12590 * script/sh/parser.y: ... Moved here.
12591 * normal/script.c: Moved to ...
12592 * script/sh/script.c: ... Moved here.
12593
12594 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12595 <grub/reader.h>.
12596 (grub_exit_env): Removed.
12597 (fs_module_list): Moved to normal/autofs.c.
12598 (grub_file_getline): Don't handle comment here.
12599 (free_menu): Skip removed field entry->commands.
12600 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12601 script parameter.
12602 (read_config_file): Removed nested parameter, change getline function.
12603 (grub_enter_normal_mode): Removed.
12604 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12605 (read_command_list): Likewise.
12606 (autoload_fs_module): Moved to normal/autofs.c.
12607 (read_fs_list): Likewise.
12608 (reader_nested): New variable.
12609 (grub_normal_execute): Run parser.sh to switch to sh parser.
12610 (grub_cmd_rescue): Removed.
12611 (cmd_normal): Removed.
12612 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12613 rescue command.
12614 (grub_cmdline_run): New function.
12615 (grub_normal_reader_init): Likewise.
12616 (grub_normal_read_line): Likewise.
12617 (grub_env_write_pager): Likewise.
12618 (cmdline): New variable.
12619 (grub_normal_reader): Likewise.
12620 (GRUB_MOD_INIT): Register normal reader and set as current, register
12621 pager hook, register normal command with grub_register_command_prio,
12622 so that it won't show up in command.lst.
12623 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12624 grub_fs_autoload_hook.
12625
12626 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12627 (grub_menu_execute_entry): Replace grub_script_execute with
12628 grub_parser_execute, change parameter to grub_command_execute.
12629
12630 * normal/menu_text.c: Remove <grub/script.h>.
12631
12632 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12633 and <grub/parser.h>.
12634 (run): Change editor_getline to use new parser interface. Change
12635 parameter to grub_command_execute.
12636
12637 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12638 <grub/reader.h> and <grub/parser.h>.
12639 (grub_load_normal_mode): Execute normal command.
12640 (grub_main): Call grub_register_core_commands,
12641 grub_register_rescue_parser and grub_register_rescue_reader, use
12642 grub_reader_loop to enter input loop.
12643
7dd4a573 12644 * kern/parser.c (grub_parser_split_cmdline): Change type of
12645 getline parameter.
d558e6b5 12646 (grub_parser_class): New variable.
12647 (grub_parser_execute): New function.
12648
12649 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12650 * loader/multiboot2.c: Likewise.
12651 * loader/sparc64/ieee1275/linux.c: Likewise.
12652
12653 * util/grub-emu.c (read_command_list): New dummy function.
12654
18db813d 126552009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12656
12657 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12658 count to 16 for CCISS and IDA.
12659
6c67de15 126602009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12661
12662 * normal/menu_text.c (grub_wait_after_message): Print a newline
12663 after waiting for user input.
12664
12665 * loader/i386/linux.c: Include `<grub/normal.h>'.
12666 (grub_cmd_linux): Improve the error message about `ask' mode, by
12667 waiting for user input so it's not missed (we can do this, since
12668 user requested interaction).
12669
d9dc87b0 126702009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 Added missing lst to grub-mkrescue
12673
12674 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12675 and ${input_dir}/parttool.lst
12676
ac8a2baa 126772009-04-30 David S. Miller <davem@davemloft.net>
12678
ad22a610 12679 * util/hostdisk.c (device_is_wholedisk): New function.
12680 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12681 zero only if device_is_wholedisk() returns true.
12682
6966215d 12683 * util/hostdisk.c (convert_system_partition_to_system_disk):
12684 Handle virtual disk devices named /dev/vdiskX as found on sparc
12685 and powerpc.
12686
ac8a2baa 12687 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12688 lettered partition specifier is found, convert to numbered.
12689
979b4fb4 126902009-04-29 David S. Miller <davem@davemloft.net>
12691
e2bf39b2 12692 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12693 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12694
3c64e104 12695 * normal/command.c: Add missing newline at end of file.
12696
979b4fb4 12697 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12698 warnings.
12699 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12700 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12701 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12702 ihandles have a 32-bit type but need to be stored in a "void *".
12703
136d9f82 127042009-04-28 Pavel Roskin <proski@gnu.org>
12705
9459c306 12706 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12707 not disk. Adjust all dependencies.
2e08a26a 12708 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 12709 grub_disk_close().
12710
136d9f82 12711 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12712 parent's partition, don't copy it by reference, as it gets freed
12713 on close.
12714
7dd4a573 127152009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 12716
12717 Preboot hooks support
12718
12719 * commands/boot.c (struct grub_preboot_t): new declaration
12720 (preboots_head): new variable
12721 (preboots_tail): likewise
12722 (grub_loader_register_preboot_hook): new function
12723 (grub_loader_unregister_preboot_hook): likewise
12724 (grub_loader_set): launch preboot hooks
12725 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12726 (grub_loader_register_preboot_hook): new declaration
12727 (grub_loader_unregister_preboot_hook): likewise
12728
5af922b5 127292009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 Warning fix
12732
7dd4a573 12733 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 12734 calling grub_dprintf
12735
a5562c30 127362009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 Bug and warning fixes
12739
7dd4a573 12740 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 12741 declaration
12742 * commands/test.c (test_parse): fixed bug with file tests and corrected
12743 declaration of find_file
12744
4006f85c 127452009-04-26 Pavel Roskin <proski@gnu.org>
12746
12747 * Makefile.in: Don't install empty manual pages if help2man is
12748 missing. Use help2man option for output, not shell redirection.
12749
5c77c3de 127502009-04-26 David S. Miller <davem@davemloft.net>
12751
12752 * util/grub-mkdevicemap.c (make_device_map): Add missing
12753 NESTED_FUNC_ATTR to process_device().
12754
033b10a8 127552009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 Test command
12758
12759 * commands/test.c: rewritten to use bash-like test
12760
e4343593 127612009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 Parttool autoloading and improvements
12764
7dd4a573 12765 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 12766 (parttool.lst): new target
12767 * genmk.rb: generate parttool-*
12768 (CLEANFILES): add #{parttool}
12769 (PARTTOOLFILES): new variable
12770 * genparttoollist.sh: new file
7dd4a573 12771 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 12772 (grub_pcpart_type): likewise
12773 * commands/parttool.c (helpmsg): new variable
12774 (grub_cmd_parttool): output help if not enough arguments are supplied
12775 autoload modules
12776 (GRUB_MOD_INIT(parttool)): use helpmsg
12777
0d312500 127782009-04-24 David S. Miller <davem@davemloft.net>
12779
7dd4a573 12780 Avoiding opening same device multiple times in device iterator.
0d312500 12781
12782 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 12783 and use it to build a list of partitions in iterate_disk() and
0d312500 12784 iterate_partition().
12785
ac20caff 12786 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12787 on disk->data.
12788
0dcf7495 12789 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12790 grub_devalias_iterate() result instead of unconditional 0.
12791 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12792 Also, capture hook return value, either directly or via
12793 grub_children_iterate(), and propagate to caller.
12794 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12795 grub_children_iterate): Return value is now 'int' instead of
12796 'grub_err_t'.
12797 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12798 like a proper iterator, stopping when hooks return non-zero.
12799 (grub_devalias_iterate): Likewise.
12800
c8c08833 128012009-04-23 David S. Miller <davem@davemloft.net>
12802
12803 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12804
f01005a8 128052009-04-22 David S. Miller <davem@davemloft.net>
12806
12807 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12808 is larger than address_cells, use that value for address_cells too.
12809
4e8269da 12810 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12811 IEEE1275_MAX_PATH_LEN): Define.
12812 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12813 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12814 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12815 'devtype'. Explicitly NULL terminate devalias expansion.
12816
a1447506 12817 * util/sparc64/ieee1275/misc.c: New file.
12818 * util/sparc64/ieee1275/grub-setup.c: New file.
12819 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12820 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12821 * util/sparc64/ieee1275/grub-install.in: New file.
12822 * util/ieee1275/ofpath.c: New file.
12823 * util/ieee1275/devicemap.c: New file.
12824 * util/devicemap.c: New file.
12825 * util/deviceiter.c: New file.
12826 * kern/sparc64/ieee1275/init.c: New file.
12827 * include/grub/util/ofpath.h: New file.
12828 * include/grub/util/deviceiter.h: New file.
12829 * util/grub-mkdevicemap.c: Include deviceiter.h.
12830 Implement using grub_util_emit_devicemap_entry and
12831 grub_util_iterate_devices.
12832 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12833 util/devicemap.c into grub-mkdevicemap
12834 * conf/i386-efi.rmk: Likewise.
12835 * conf/i386-ieee1275.rmk: Likewise.
12836 * conf/i386-pc.rmk: Likewise.
12837 * conf/powerpc-ieee1275.rmk: Likewise.
12838 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
12839 images and installation utilities. Build kernel as image
12840 instead of as elf binary. Use common rules as much as possible.
12841
7dd4a573 128422009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 12843
12844 Correct GPT definition
12845
7dd4a573 12846 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 12847 of "attrib" member
12848
c6c5219f 128492009-04-19 Felix Zielcke <fzielcke@z-51.de>
12850
12851 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
12852
0552ff9f 128532009-04-19 David S. Miller <davem@davemloft.net>
12854
12855 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
12856 (grub_rescue_cmd_linux): Rename to...
12857 (grub_cmd_linux): and fix prototype.
12858 (grub_rescue_cmd_initrd): Rename to...
12859 (grub_cmd_initrd): and fix prototype.
12860 (cmd_linux, cmd_initrd): New.
12861 (GRUB_MOD_INIT(linux)): Use grub_register_command().
12862 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
12863
d1a282fc 128642009-04-17 Pavel Roskin <proski@gnu.org>
12865
07c5039f 12866 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
12867 format.
12868 (grub_ohci_transfer): Likewise.
12869
b012002d 12870 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12871
1bc09c35 12872 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12873 return without a value. Fix inconsistent indentation.
12874
e0ff9126 12875 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12876 match struct grub_fs.
12877
d1a282fc 12878 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12879 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12880 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12881 * commands/lspci.c (grub_lspci_iter): Likewise.
12882
a96df3f2 128832009-04-16 Bean <bean123ch@gmail.com>
12884
12885 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12886 value.
12887
41bb0fe9 128882009-04-15 Pavel Roskin <proski@gnu.org>
12889
12890 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12891 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12892 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12893 definitions.
12894
596c6970 128952009-04-15 Felix Zielcke <fzielcke@z-51.de>
12896
12897 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 12898 that no multiple data or metadata areas are supported and `Unknown
596c6970 12899 metadata header'.
12900
7dd4a573 129012009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 12902
12903 Move loader out of the kernel
12904
12905 * kern/loader.c: moved to ...
12906 * commands/boot.c: ... moved here
12907 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12908 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12909 * include/grub/kernel.h (grub_machine_fini): export
12910 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12911 (grub_loader_set): likewise
12912 (grub_loader_unset): likewise
12913 (grub_loader_boot): likewise
12914 * conf/common.rmk: new module boot.mod
12915 (pkglib_MODULES): add boot.mod
12916 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12917 (grub_emu_SOURCES): likewise
12918 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12919 (grub_emu_SOURCES): likewise
12920 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12921 (grub_emu_SOURCES): likewise
12922 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12923 (grub_emu_SOURCES): likewise
12924 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12925 (grub_emu_SOURCES): likewise
7dd4a573 12926 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12927 (grub_emu_SOURCES): likewise
0d5d5653 12928 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 12929 (grub_emu_SOURCES): likewise
0d5d5653 12930
7dd4a573 129312009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 12932
12933 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 12934
5999d619 12935 * kern/misc.c (grub_itoa): Removed function
12936 (grub_ltoa): likewise
12937 (grub_vsprintf): use grub_lltoa
12938
7dd4a573 129392009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 12940
12941 Restore grub-emu
12942
12943 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12944 * conf/i386-coreboot.rmk: likewise
12945 * conf/i386-ieee1275.rmk: likewise
12946 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12947
20318222 129482009-04-15 Felix Zielcke <fzielcke@z-51.de>
12949
12950 * INSTALL: Add that `./autogen.sh' needs to be run before
12951 `./configure.'.
12952
d05f0df3 129532009-04-14 Bean <bean123ch@gmail.com>
12954
12955 * Makefile.in (pkglib_DATA): Add handler.lst.
12956 (handler.lst): New rule.
12957
12958 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12959 * conf/i386-coreboot.rmk: Likewise.
12960 * conf/i386-ieee1275.rmk: Likewise.
12961 * conf/i386-efi.rmk: Likewise.
12962 * conf/x86_64-efi.rmk: Likewise.
12963 * conf/powerpc-ieee1275.rmk: Likewise.
12964 * conf/sparc64-ieee1275.rmk: Likewise.
12965
12966 * genhandlerlist.sh: New file.
12967
12968 * genmk.rb: Add rules to generate handler.lst.
12969
12970 * include/grub/normal.h (grub_file_getline): New function definition.
12971 (read_handler_list): Likewise.
12972 (free_handler_list): Likewise.
12973
12974 * include/grub/term.h (grub_term_register_input): Add name parameter
12975 for auto generation of handler.lst.
12976 (grub_term_register_output): Likewise.
12977
12978 * normal/handler.c: New file.
12979
12980 * normal/main.c (get_line): Renamed to grub_file_getline.
12981 (read_config_file): Use the newly renamed grub_file_getline.
12982 (read_command_list): Likewise.
12983 (read_fs_list): Likewise.
12984 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12985 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12986
12987 * term/efi/console.c (grub_console_init): Add name parameter for auto
12988 generation of handler.lst.
12989 * term/gfxterm.c: Likewise.
12990 * term/i386/pc/at_keyboard.c: Likewise.
12991 * term/i386/pc/console.c: Likewise.
12992 * term/i386/pc/serial.c: Likewise.
12993 * term/i386/pc/vesafb.c: Likewise.
12994 * term/i386/pc/vga.c: Likewise.
12995 * term/i386/pc/vga_text.c: Likewise.
12996 * term/ieee1275/ofconsole.c: Likewise.
12997 * term/usb_keyboard.c: Likewise.
12998
33c846be 129992009-04-14 Bean <bean123ch@gmail.com>
13000
13001 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13002 properly with null character.
13003
4484e01e 130042009-04-14 Felix Zielcke <fzielcke@z-51.de>
13005
13006 * configure: Remove.
13007 * config.h.in: Likewise.
f93d668e 13008 * stamp-h.in: Likewise.
4484e01e 13009 * DISTLIST: Likewise.
13010 * conf/common.mk: Likewise.
13011 * conf/i386-coreboot.mk: Likewise.
13012 * conf/i386-efi.mk: Likewise.
13013 * conf/i386-ieee1275.mk: Likewise.
13014 * conf/i386.mk: Likewise.
13015 * conf/i386-pc.mk: Likewise.
13016 * conf/powerpc-ieee1275.mk: Likewise.
13017 * conf/sparc64-ieee1275.mk: Likewise.
13018 * conf/x86_64-efi.mk: Likewise.
13019
13020 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13021 develop on GRUB.
13022
7dd4a573 130232009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 13024 David S. Miller <davem@davemloft.net>
13025
13026 * util/hostdisk.c (make_device_name): Fix buffer length
13027 calculations.
13028
e25b5a8c 130292009-04-14 Felix Zielcke <fzielcke@z-51.de>
13030
13031 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13032 <sys/param.h> and <sys/sysctl.h>.
13033 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13034 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13035 opening the device and reset them afterwards.
13036
1f1f580c 130372009-04-13 Pavel Roskin <proski@gnu.org>
13038
13039 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13040 Reported by John Stanley <jpsinthemix@verizon.net>
13041
7ebc2d6b 130422009-04-13 Robert Millan <rmh@aybabtu.com>
13043
13044 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 13045 that name for menuentries when appropriate.
7ebc2d6b 13046
d8ba3667 130472009-04-13 Felix Zielcke <fzielcke@z-51.de>
13048
13049 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13050
cba416eb 130512009-04-13 Robert Millan <rmh@aybabtu.com>
13052
13053 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13054 to Linux, simply abort telling the user it's no longer supported.
13055
a547a745 130562009-04-13 Felix Zielcke <fzielcke@z-51.de>
13057
13058 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 13059 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 13060 `freebsd_loadenv' only when devices.hints exist.
13061
232a769c 130622009-04-13 Pavel Roskin <proski@gnu.org>
13063
13064 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13065
c3012039 130662009-04-13 Felix Zielcke <fzielcke@z-51.de>
13067
13068 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13069 partition number.
13070 (grub_drive): Likewise.
13071
234022fe 130722009-04-13 David S. Miller <davem@davemloft.net>
13073
13074 * kern/sparc64/ieee1275/ieee1275.c: New file.
13075 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13076 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13077 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13078 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13079 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13080 grub_ieee1275_alloc_physmem): Declare new exported functions.
13081
d8e1836c 13082 * include/grub/sparc64/ieee1275/loader.h: New file.
13083 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13084 * include/grub/sparc64/kernel.h: Likewise.
13085 * loader/sparc64/ieee1275/linux.c: Likewise.
13086
96bd81ec 13087 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13088 (grub_fstest_SOURCES): Likewise.
13089
6a4737e5 13090 * util/hostdisk.c (make_device_name): Do not make any assumptions
13091 about the length of drive names.
13092
1d7a72fd 13093 * kern/dl.c (grub_dl_load_file): Close file immediately when
13094 we are done using it.
13095
56bc2471 130962009-04-12 David S. Miller <davem@davemloft.net>
13097
13098 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13099 values. Noticed by Pavel Roskin.
13100
df38d0bb 13101 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13102 target compiler.
7dd4a573 13103
e382e93a 13104 * genmk.rb: Add more flexible image type specification, also
13105 pass --strip-unneeded to objcopy.
13106 * conf/i386-pc.rmk: Use *_FORMAT.
13107 * conf/i386-pc.mk: Rebuilt.
13108
f5dbbca9 13109 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13110 (OFDISK_HASH_SZ): Define.
13111 (ofdisk_hash): New hash table.
13112 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13113 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13114 instead of device phandle which is not unique.
13115
91c88b12 13116 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13117 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13118 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13119 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13120 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13121 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13122 GRUB_KERNEL_MACHINE_DATA_END): Define.
13123 (grub_kernel_image_size, grub_total_module_size): Declare.
13124
5b5d4aa5 131252009-04-12 Pavel Roskin <proski@gnu.org>
13126
7dd4a573 13127 * configure.ac: Change the logic when we check for target tools.
13128 Do it when the target is specified and it's different from the
13129 specified value of the host.
5b5d4aa5 13130
c91e1793 131312009-04-11 Felix Zielcke <fzielcke@z-51.de>
13132
13133 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13134 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13135 GNU/kFreeBSD. Check if a device is a character device. Use
13136 DIOCGMEDIASIZE to get the size.
13137 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13138 support for GNU/kFreeBSD.
13139 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13140 is a character device instead of a block device. Add support for
13141 FreeBSD device names.
13142
13143 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13144 is a character device instead of a block device.
13145
13146 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13147 is a character device instead of a block device.
13148
b1ac8644 131492009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13150
13151 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13152 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13153 FreeBSD. Check if a device is a character device. Use
13154 DIOCGMEDIASIZE to get the size.
13155 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13156 support for FreeBSD.
13157 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13158 is a character device instead of a block device. Add support for
13159 FreeBSD device names.
13160
13161 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13162 a character device instead of a block device.
13163 (grub_util_check_char_device): New function.
13164
13165 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13166 a character device instead of a block device.
13167
13168 * include/grub/util/getroot.h (grub_util_check_char_device): New
13169 prototype.
13170
a3f7515a 131712009-04-11 David S. Miller <davem@davemloft.net>
13172
13173 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13174 static libgcc.
13175 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13176 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13177 function, if present.
13178 (__bswapdi2): Likewise.
13179
0d44993d 13180 * include/grub/sparc64/ieee1275/boot.h: New file.
13181 * boot/sparc64/ieee1275/boot.S: Likewise.
13182 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13183
ed3d2bc2 13184 * kern/misc.c (grub_ltoa): New function.
13185 (grub_vsprintf): Use it to format 'long' integers.
13186
d3bfb59c 131872009-04-10 David S. Miller <davem@davemloft.net>
13188
13189 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13190 slots are of type grub_ieee1275_cell_t.
13191 (grub_nand_read): Likewise.
13192 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13193 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13194 macros are used to compare values in arg/ret block of the call.
13195 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13196 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13197 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13198 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13199 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13200 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13201 grub_ieee1275_close, grub_ieee1275_set_property,
13202 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13203 grub_ieee1275_cell_t.
13204 * kern/ieee1275/openfw.c (grub_map): Likewise.
13205 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13206 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13207
450e2238 13208 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13209 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13210 (grub_devalias_iterate): Likewise.
13211
7dd4a573 132122009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 13213
13214 UFS improvements
13215
13216 * fs/ufs.c (INODE_NBLOCKS): new definition
13217 (struct grub_ufs_dirent): added fields for non-BSD dirents
13218 (grub_ufs_get_file_block): fixed double indirect handling
13219 (grub_ufs_lookup_symlink): use more robust way to determine whether
13220 symlink is inline
13221 (grub_ufs_find_file): support for non-BSD dirents
13222 (grub_ufs_dir): support for non-BSD dirents
13223
e7e6862a 132242009-04-10 Bean <bean123ch@gnail.com>
13225
13226 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13227 attribute, otherwise the size would be wrong for i386 platform.
13228
13229 * include/grub/pci.h (grub_pci_read_word): New inline function.
13230 (grub_pci_read_byte): Likewise.
13231 (grub_pci_write): Likewise.
13232 (grub_pci_write_word): Likewise.
13233 (grub_pci_write_byte): Likewise.
13234
13235 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13236
13237 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13238 (find_framebuf): Scan pci to locate the frame buffer address.
13239
13240 * commands/efi/fixvideo.c: New file.
13241
13242 * commands/efi/loadbios.c: Likewise.
13243
13244 * commands/memrw.c: Likewise.
13245
13246 * util/grub-dumpbios.in: Likewise.
13247
13248 * conf/common.rmk (grub-dumpbios): New utility.
13249 (pkglib_MODULES): New module memrw.mod.
13250 (memrw_mod_SOURCE): New macro.
13251 (memrw_mod_CFLAGS): Likewise.
13252 (memrw_mod_LDFLAGS): Likewise.
13253
7dd4a573 13254 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 13255 fixvideo.mod.
13256 (loadbios_mod_SOURCE): New macro.
13257 (loadbios_mod_CFLAGS): Likewise.
13258 (loadbios_mod_LDFLAGS): Likewise.
13259 (fixvideo_mod_SOURCE): Likewise.
13260 (fixvideo_mod_CFLAGS): Likewise.
13261 (fixvideo_mod_LDFLAGS): Likewise.
13262
7dd4a573 13263 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 13264 fixvideo.mod.
13265 (loadbios_mod_SOURCE): New macro.
13266 (loadbios_mod_CFLAGS): Likewise.
13267 (loadbios_mod_LDFLAGS): Likewise.
13268 (fixvideo_mod_SOURCE): Likewise.
13269 (fixvideo_mod_CFLAGS): Likewise.
13270 (fixvideo_mod_LDFLAGS): Likewise.
13271
af63ada2 132722009-04-08 Felix Zielcke <fzielcke@z-51.de>
13273
13274 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13275
c2cdde70 132762009-04-07 David S. Miller <davem@davemloft.net>
13277
13278 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13279 support for R_SPARC_OLO10 relocations. Fix compile warning for
13280 R_SPARC_WDISP30 case.
ea3f72cf 13281 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 13282
761319cf 132832009-04-06 Pavel Roskin <proski@gnu.org>
13284
1007d1f5 13285 * include/grub/misc.h (ARRAY_SIZE): New macro.
13286 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13287 New macro.
13288 * loader/i386/linux.c (allocate_pages): Use free_pages().
13289 (grub_linux_unload): Don't use free_pages().
13290 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13291 wrong index. Treat all other modes as text modes.
13292 (grub_cmd_linux): Initialize vid_mode unconditionally to
13293 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13294
761319cf 13295 * commands/help.c (print_command_help): Use cmd->prio, not
13296 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13297
ea761d40 132982009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 13299
ea761d40 13300 Parttool
13301
13302 * parttool/pcpart.c: new file
13303 * commands/parttool.c: likewise
13304 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13305 (parttool_mod_SOURCES): new variable
13306 (parttool_mod_CFLAGS): likewise
13307 (parttool_mod_LDFLAGS): likewise
13308 (pcpart_mod_SOURCES): likewise
13309 (pcpart_mod_CFLAGS): likewise
13310 (pcpart_mod_LDFLAGS): likewise
7dd4a573 13311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 13312 and parttool/pcpart.c
13313 * conf/i386-efi.rmk: likewise
13314 * conf/i386-ieee1275.rmk: likewise
13315 * conf/i386-pc.rmk: likewise
13316 * conf/powerpc-ieee1275.rmk: likewise
13317 * conf/sparc64-ieee1275.rmk: likewise
13318 * conf/x86_64-ieee1275.rmk: likewise
13319
05aaebfb 133202009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Support for mtime and further expandability of dir command
13323
13324 * include/grub/lib/datetime.h: moved to ...
7dd4a573 13325 * include/grub/datetime.h: ... moved here and added
05aaebfb 13326 declaration of grub_unixtime2datetime. All users updated
7dd4a573 13327 * include/grub/fs.h: new syntax for dir and mtime functions in
13328 struct grub_fs
05aaebfb 13329 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13330 and GRUB_FSHELP_FLAGS_MASK
13331 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13332 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13333 (grub_ext2_mtime): new function
13334 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13335 (grub_hfsplus_mtime): new function
13336 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13337 (GRUB_UFS_ATTR_FILE): likewise
13338 (GRUB_UFS_ATTR_LNK): likewise
13339 (struct grub_ufs_sblock): new fields mtime
13340 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13341 all users updated
13342 (grub_ufs_dir): mtime support
13343 (grub_ufs_mtime): new function
13344 * fs/affs.c (grub_affs_dir): use new dir syntax
13345 * fs/afs.c (grub_afs_dir): likewise
13346 * fs/cpio.c (grub_cpio_dir): likewise
13347 * fs/fat.c (grub_fat_find_dir): likewise
13348 * fs/hfs.c (grub_hfs_dir): likewise
13349 * fs/iso9660.c (grub_iso9660_dir): likewise
13350 * fs/jfs.c (grub_jfs_dir): likewise
13351 * fs/minix.c (grub_minix_dir): likewise
13352 * fs/ntfs.c (grub_ntfs_dir): likewise
13353 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13354 * fs/sfs.c (grub_sfs_dir): likewise
13355 * fs/xfs.c (grub_xfs_dir): likewise
13356 * util/hostfs.c (grub_hostfs_dir): likewise
13357 * lib/datetime.c: moved to ...
13358 * normal/datetime.c: ... moved here
13359 (grub_unixtime2datetime): new function
13360 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 13361 * normal/completion.c (iterate_dir): use new dir syntax
13362 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 13363 last modification time of a volume
7dd4a573 13364 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 13365 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 13366 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 13367 (normal_mod_SOURCES): likewise
13368 (datetime_mod_SOURCES): Removed lib/datetime.c
13369 * conf/i386-efi.rmk: likewise
7dd4a573 13370 * conf/i386-ieee1275.rmk: likewise
05aaebfb 13371 * conf/i386-pc.rmk: likewise
13372 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 13373 * conf/sparc64-ieee1275.rmk: likewise
13374 * conf/x86_64-efi.rmk: likewise
05aaebfb 13375
8a7e1a14 133762009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13377
13378 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 13379
13380 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 13381 on grub_fat_find_dir
13382 (grub_fat_find_dir): use grub_fat_iterate_dir
13383 (grub_fat_label): likewise
13384
04186a9c 133852009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13386
7dd4a573 13387 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 13388 and command.h
13389 remove extraneous kernel_elf_HEADERS
13390
da4c0bb6 133912009-04-04 Bean <bean123ch@gnail.com>
13392
13393 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13394
13395 * util/misc.c: Likewise.
13396
54ad9555 133972009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13398
13399 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13400 instead of grub_printf.
13401
7a6bf9f2 134022009-04-03 Robert Millan <rmh@aybabtu.com>
13403
13404 * loader/i386/linux.c (grub_linux_setup_video): Fill
13405 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13406 values from `mode info' structure instead of hardcoded
13407 values.
13408
3fcc2083 134092009-04-01 Pavel Roskin <proski@gnu.org>
13410
13411 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13412 unused now.
13413 * genmk.rb: Likewise.
13414 * configure.ac: Likewise.
13415
5ec9740b 134162009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13417
13418 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13419 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13420
5270cec8 134212009-04-01 David S. Miller <davem@davemloft.net>
13422
13423 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 13424 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 13425 (grub_setjmp): Mark with 'returns_twice' attribute.
13426 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13427 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13428 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13429
9c3dd854 134302009-04-01 Robert Millan <rmh@aybabtu.com>
13431
13432 Reapply fix from 2008-07-28 which was accidentally reverted; also
13433 perform the same fix to a similar check in same function.
13434
13435 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13436 with the same number are found, just use issue a warning with
13437 grub_dprintf(), as this error has been reported to be non-fatal.
13438
0d818b7e 134392009-03-31 Pavel Roskin <proski@gnu.org>
13440
13441 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13442 for cross-compilation.
13443
95646d92 134442009-03-30 Robert Millan <rmh@aybabtu.com>
13445
13446 Fix i386-ieee1275 build.
13447
13448 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13449 Remove declaration.
13450
6a003ed1 134512009-03-30 Pavel Roskin <proski@gnu.org>
13452
13453 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13454 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13455 zero-terminated, rely only on the strlen value. Fix comparison
13456 of strings differing in length.
13457
92f33540 134582009-03-30 Robert Millan <rmh@aybabtu.com>
13459
13460 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13461 checking for abi version. Improve error messages on BIOS to notify
13462 user about `linux16' command.
13463
a8c48fd5 134642009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13465
f968172e 13466 Leak fixes
a8c48fd5 13467
f968172e 13468 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13469 in case of collision
13470 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 13471
9c323f09 134722009-03-29 Robert Millan <rmh@aybabtu.com>
13473
13474 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13475 set `vid_mode' accordingly.
13476 (grub_linux_boot): Process `vid_mode' and set video mode.
13477
ae68f423 134782009-03-29 Robert Millan <rmh@aybabtu.com>
13479
13480 * util/grub.d/10_linux.in (linux_entry): New function.
13481 Factorize generation of Linux boot entries.
13482
5709cfc4 134832009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13484
13485 Make the format of Environment Block plain text. The boot loader
13486 part is not tested well yet.
7dd4a573 13487
5709cfc4 13488 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13489 (buffer): Removed.
13490 (envblk): Likewise.
13491 (usage): Remove "info" and "clear". Add "unset". Update the
13492 description of "set", as this does not delete variables any
13493 longer.
13494 (create_envblk_file): Complete rewrite.
13495 (open_envblk_file): Likewise.
13496 (cmd_info): Removed.
13497 (cmd_list): Likewise.
13498 (cmd_set): Likewise.
13499 (cmd_clear): Likewise.
13500 (list_variables): New function.
13501 (write_envblk): Likewise.
13502 (set_variables): Likewise.
13503 (unset_variables): Likewise.
13504 (main): Complete rewrite.
13505
13506 * commands/loadenv.c (buffer): Removed.
13507 (envblk): Likewise.
13508 (open_envblk_file): New function.
13509 (read_envblk_file): Complete rewrite.
13510 (grub_cmd_load_env): Likewise.
13511 (grub_cmd_list_env): Likewise.
13512 (struct blocklist): New struct.
13513 (free_blocklists): New function.
13514 (check_blocklists): Likewise.
13515 (write_blocklists): Likewise.
13516 (grub_cmd_save_env): Complete rewrite.
13517
13518 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13519 a plain text signature.
13520 (GRUB_ENVBLK_MAXLEN): Removed.
13521 (struct grub_envblk): Complete rewrite.
13522 (grub_envblk_find): Removed.
13523 (grub_envblk_insert): Likewise.
13524 (grub_envblk_open): New prototype.
13525 (grub_envblk_set): Likewise.
13526 (grub_envblk_delete): Put const to VALUE.
13527 (grub_envblk_iterate): Put const to NAME and VALUE.
13528 (grub_envblk_close): New prototype.
13529 (grub_envblk_buffer): New inline function.
13530 (grub_envblk_size): Likewise.
13531
13532 * lib/envblk.c: Include grub/mm.h.
13533 (grub_env_find): Removed.
13534 (grub_envblk_open): New function.
13535 (grub_envblk_close): Likewise.
13536 (escaped_value_len): Likewise.
13537 (find_next_line): Likewise.
13538 (grub_envblk_insert): Removed.
13539 (grub_envblk_set): New function.
13540 (grub_envblk_delete): Complete rewrite.
13541 (grub_envblk_iterate): Likewise.
13542
a9368fd3 135432009-03-28 Robert Millan <rmh@aybabtu.com>
13544
13545 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13546 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13547 variables. Use 16-bit loader.
13548 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13549 loader.
13550 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13551 (grub_linux16_boot): ... this. Update all users.
13552 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13553 (grub_linux_boot): ... this. Update all users.
13554
13555 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13556 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13557 commands to `linux16' and `initrd16'.
13558 (GRUB_MOD_FINI(linux)): Rename to ...
13559 (GRUB_MOD_FINI(linux16)): ... this.
13560
e4dd5a7e 135612009-03-24 Pavel Roskin <proski@gnu.org>
13562
13563 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13564 not just for compilation.
13565
c04d6e05 135662009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 Move multiboot helper out of kernel
13569
13570 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13571 `loader/i386/multiboot_helper.S'.
13572 * conf/i386-coreboot.rmk: Likewise
13573 * conf/i386-ieee1275.rmk: Likewise
13574
13575 * kern/i386/loader.S: Move multiboot helpers from here...
13576 * loader/i386/multiboot_helper.S: ...moved here
13577 * include/grub/i386/loader.h: Move declarations of multiboot
13578 helpers from here...
13579 * include/grub/i386/multiboot.h: ...moved here
13580 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13581
42a5b3fc 135822009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13583
13584 * kern/env.c (grub_env_context_open): Added an argument to specify
13585 whether a new context inherits exported variables from current
13586 one. This is useful when making a sandbox to interpret a config
13587 file.
13588 All callers updated.
13589
13590 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13591
b28bbc4e 135922009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13593
13594 * kern/env.c (grub_env_context_close): Fix memory leaks.
13595
f04f02e4 135962009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13597
13598 * normal/main.c (grub_normal_execute): Added an argument
13599 BATCH to specify if an interactive interface should be provided
13600 after reading a config file.
13601 All callers updated.
13602 (read_command_list): Prevent being executed twice.
13603 (read_fs_list): Likewise.
13604
42a5b3fc 13605 * include/grub/normal.h (grub_normal_execute): Updated the
13606 prototype.
f04f02e4 13607
41473ac2 136082009-03-22 Pavel Roskin <proski@gno.org>
13609
fbc00b0c 13610 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13611 _start.
13612 * kern/i386/pc/startup.S: Likewise.
13613 * kern/i386/efi/startup.S: Likewise.
13614 * kern/i386/ieee1275/startup.S: Likewise.
13615 * kern/i386/coreboot/startup.S: Likewise.
13616 * kern/x86_64/efi/startup.S: Likewise.
13617
41473ac2 13618 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13619 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13620 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13621
2274cc8f 136222009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13625
13626 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13627 limit detection.
13628 Use vaddr of correct segment for entry_point.
13629
b1b797cb 136302009-03-21 Bean <bean123ch@gmail.com>
13631
13632 * commands/blocklist.c: Add include file <grub/command.h>, remove
13633 <grub/normal.h> and <grub/arg.h>.
13634 (grub_cmd_blocklist): Use the new command interface.
13635 (GRUB_MOD_INIT): Likewise.
13636 (GRUB_MOD_FINI): Likewise.
13637 * commands/boot.c: Likewise.
13638 * commands/cat.c: Likewise.
13639 * commands/cmp.c: Likewise.
13640 * commands/configfile.c: Likewise.
13641 * commands/crc.c: Likewise.
13642 * commands/echo.c: Likewise.
13643 * commands/halt.c: Likewise.
13644 * commands/handler.c: Likewise.
13645 * commands/hdparm.c: Likewise.
13646 * commands/help.c: Likewise.
13647 * commands/hexdump.c: Likewise.
13648 * commands/loadenv.c: Likewise.
13649 * commands/ls.c: Likewise.
13650 * commands/lsmmap.c: Likewise.
13651 * commands/lspci.c: Likewise.
13652 * commands/loadenv.c: Likewise.
13653 * commands/read.c: Likewise.
13654 * commands/reboot.c: Likewise.
13655 * commands/search.c: Likewise.
13656 * commands/sleep.c: Likewise.
13657 * commands/test.c: Likewise.
13658 * commands/usbtest.c: Likewise.
13659 * commands/videotest.c: Likewise.
13660 * commands/i386/cpuid.c: Likewise.
13661 * commands/i386/pc/halt.c: Likewise.
13662 * commands/i386/pc/play.c: Likewise.
13663 * commands/i386/pc/pxecmd.c: Likewise.
13664 * commands/i386/pc/vbeinfo.c: Likewise.
13665 * commands/i386/pc/vbetest.c: Likewise.
13666 * commands/ieee1275/suspend.c: Likewise.
13667 * disk/loopback.c: Likewise.
13668 * font/font_cmd.c: Likewise.
13669 * hello/hello.c: Likewise.
13670 * loader/efi/appleloader.c: Likewise.
13671 * loader/efi/chainloader.c: Likewise.
13672 * loader/i386/bsd.c: Likewise.
13673 * loader/i386/efi/linux.c: Likewise.
13674 * loader/i386/ieee1275/linux.c: Likewise.
13675 * loader/i386/linux.c: Likewise.
13676 * loader/i386/pc/chainloader.c: Likewise.
13677 * loader/i386/pc/linux.c: Likewise.
13678 * loader/powerpc/ieee1275/linux.c: Likewise.
13679 * loader/multiboot_loader.c: Likewise.
13680 * term/gfxterm.c: Likewise.
13681 * term/i386/pc/serial.c: Likewise.
13682 * term/terminfo.c: Likewise.
13683
13684 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13685 * term/i386/pc/vga.c: Likewise.
13686 * video/readers/jpeg.c: Likewise.
13687 * video/readers/png.c: Likewise.
13688 * video/readers/tga.c: Likewise.
13689
13690 * util/grub-fstest (cmd_loopback): Removed.
13691 (cmd_blocklist): Likewise.
13692 (cmd_ls): Likewise.
13693 (grub_register_command): Likewise.
13694 (grub_unregister_command): Likewise.
13695 (execute_command): Use grub_command_find to locate command and execute
13696 it.
13697
13698 * include/grub/efi/chainloader.h: Removed.
13699 * loader/efi/chainloader_normal.c: Likewise.
13700 * loader/i386/bsd_normal.c: Likewise.
13701 * loader/i386/pc/chainloader_normal.c: Likewise.
13702 * loader/i386/pc/multiboot_normal.c: Likewise.
13703 * loader/linux_normal.c: Likewise.
13704 * loader/multiboot_loader_normal.c: Likewise.
13705 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13706
13707 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13708 and grub_register_command_p1.
13709
13710 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13711 kern/command.c, lib/arg.c and commands/extcmd.c.
13712 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13713 (minicmd_mod_SOURCES): New variable.
13714 (minicmd_mod_CFLAGS): Likewise.
13715 (minicmd_mod_LDFLAGS): Likewise.
13716 (extcmd_mod_SOURCES): Likewise.
13717 (extcmd_mod_CFLAGS): Likewise.
13718 (extcmd_mod_LDFLAGS): Likewise.
13719 (boot_mod_SOURCES): Removed.
13720 (boot_mod_CFLAGS): Likewise.
13721 (boot_mod_LDFLAGS): Likewise.
13722
13723 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13724 kern/corecmd.c.
13725 (kernel_img_HEADERS): Add command.h.
13726 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13727 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13728 and lib/arg.c.
13729 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13730 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13731 remove the corresponding normal mode command.
13732 (normal_mod_SOURCES): Remove normal/arg.c.
13733 * conf/i386-coreboot.rmk: Likewise.
13734 * conf/i386-efi.rmk: Likewise.
13735 * conf/i386-ieee1275.rmk: Likewise.
13736 * conf/powerpc-ieee1275.rmk: Likewise.
13737 * conf/x86_64-efi.rmk: Likewise.
13738
13739 * include/grub/arg.h: Move from here ...
13740 * include/grub/lib/arg.h: ... to here.
13741
13742 * normal/arg.c: Move from here ...
13743 * lib/arg.c: ... to here.
13744
13745 * commands/extcmd.c: New file.
13746 * commands/minicmd.c: Likewise.
13747 * include/grub/command.h: Likewise.
13748 * include/grub/extcmd.h: Likewise.
13749 * kern/command.c: Likewise.
13750 * kern/corecmd.c: Likewise.
13751
13752 * kern/list.c (grub_list_iterate): Return int instead of void.
13753 (grub_list_insert): New function.
13754 (grub_prio_list_insert): Likewise.
13755
13756 * kern/rescue.c (grub_rescue_command): Removed.
13757 (grub_rescue_command_list): Likewise.
13758 (grub_rescue_register_command): Likewise.
13759 (grub_rescue_unregister_command): Likewise.
13760 (grub_rescue_cmd_boot): Move to minicmd.c
13761 (grub_rescue_cmd_help): Likewise.
13762 (grub_rescue_cmd_info): Likewise.
13763 (grub_rescue_cmd_boot): Likewise.
13764 (grub_rescue_cmd_testload): Likewise.
13765 (grub_rescue_cmd_dump): Likewise.
13766 (grub_rescue_cmd_rmmod): Likewise.
13767 (grub_rescue_cmd_lsmod): Likewise.
13768 (grub_rescue_cmd_exit): Likewise.
13769 (grub_rescue_print_devices): Moved to corecmd.c.
13770 (grub_rescue_print_files): Likewise.
13771 (grub_rescue_cmd_ls): Likewise.
13772 (grub_rescue_cmd_insmod): Likewise.
13773 (grub_rescue_cmd_set): Likewise.
13774 (grub_rescue_cmd_unset): Likewise.
7d074e3c 13775 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 13776 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 13777 commands, remove grub_rescue_register_command calls.
b1b797cb 13778
7d074e3c 13779 * normal/command.c (grub_register_command): Removed.
b1b797cb 13780 (grub_unregister_command): Likewise.
13781 (grub_command_find): Likewise.
13782 (grub_iterate_commands): Likewise.
13783 (rescue_command): Likewise.
13784 (export_command): Moved to corecmd.c.
13785 (set_command): Removed.
13786 (unset_command): Likewise.
13787 (insmod_command): Likewise.
13788 (rmmod_command): Likewise.
13789 (lsmod_command): Likewise.
13790 (grub_command_init): Likewise.
13791
13792 * normal/completion.c (iterate_command): Use cmd->prio to check for
13793 active command.
13794 (complete_arguments): Use grub_extcmd_t structure to find options.
13795 (grub_normal_do_completion): Change function grub_iterate_commands to
13796 grub_command_iterate.
13797
13798 * normal/execute.c (grub_script_execute_cmd): No need to parse
13799 argument here.
13800
13801 * normal/main.c (grub_dyncmd_dispatcher): New function.
13802 (read_command_list): Register unload commands as dyncmd.
13803 (grub_cmd_normal): Use new command interface, register rescue,
13804 unregister normal at entry, register normal, unregister rescue at exit.
13805
13806 * include/grub/list.h (grub_list_test_t): New type.
13807 (grub_list_iterate): Return int instead of void.
13808 (grub_list_insert): New function.
13809 (GRUB_AS_NAMED_LIST_P): New macro.
13810 (GRUB_AS_PRIO_LIST): Likewise.
13811 (GRUB_AS_PRIO_LIST_P): Likewise.
13812 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13813 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13814 (grub_prio_list): New structure.
13815 (grub_prio_list_insert): New function.
13816 (grub_prio_list_remove): New inline function.
13817
13818 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13819 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13820 (GRUB_COMMAND_FLAG_MENU): Likewise.
13821 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13822 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13823 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13824 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13825 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13826 (grub_command): Likewise.
13827 (grub_register_command): Likewise.
13828 (grub_command_find): Likewise.
13829 (grub_iterate_commands): Likewise.
13830 (grub_command_init): Likewise.
13831 (grub_arg_parse): Likewise.
13832 (grub_arg_show_help): Likewise.
13833
13834 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13835 (grub_rescue_unregister_command): Likewise.
13836
13837 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
13838 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
13839 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
13840
13841 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
13842 grub_rescue_cmd_initrd.
13843 * include/grub/i386/loader.h: Likewise.
13844 * include/grub/x86_64/loader.h: Likewise.
13845
13846 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
13847
1f4147aa 138482009-03-21 Bean <bean123ch@gmail.com>
13849
13850 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
13851 instead of stat in mingw environment.
13852
13853 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
13854
13855 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
13856
13857 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
13858 AC_CONFIG_LINKS.
13859
2156d5ba 138602009-03-21 Bean <bean123ch@gmail.com>
13861
13862 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
13863 out of range error.
13864
177b82ca 138652009-03-18 Michel Dänzer <michel@daenzer.net>
13866
13867 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13868 checking inode flags for EXT4_EXTENTS_FLAG.
13869
14aad807 138702009-03-18 Robert Millan <rmh@aybabtu.com>
13871
13872 * loader/i386/linux.c: Include `<grub/video.h>' and
13873 `<grub/i386/pc/vbe.h>'..
13874 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13875 (grub_linux32_boot): Attempt to configure video settings with
13876 grub_linux_setup_video().
13877 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13878 to avoid grub_console_fini() which would step out of graphical mode
13879 unconditionally.
13880
8cf83a27 138812009-03-14 Robert Millan <rmh@aybabtu.com>
13882
13883 Fix build on powerpc.
13884 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13885
40164e75 138862009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13889 background image command.
13890
c58bc32a 138912009-03-12 Colin D Bennett <colin@gibibit.com>
13892
13893 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13894 (grub_gfxterm_putchar): Extract pairs of identical calls to
13895 draw_cursor out of conditional blocks.
13896
5415144a 138972009-03-11 Pavel Roskin <proski@gnu.org>
13898
13899 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13900 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13901
6394042e 139022009-03-11 Robert Millan <rmh@aybabtu.com>
13903
13904 * loader/i386/multiboot_elfxx.c
13905 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13906
b7b50e5f 139072009-03-11 Felix Zielcke <fzielcke@z-51.de>
13908
13909 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13910 `kern/handler.c'.
13911
1ca7fc96 139122009-03-11 Robert Millan <rmh@aybabtu.com>
13913
13914 * loader/i386/multiboot.c (code_size): New variable.
13915 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 13916 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 13917 4-byte alignment to MBI and others by increasing
7d074e3c 13918 `boot_loader_name_length' appropriately.
1ca7fc96 13919
13920 * loader/i386/multiboot_elfxx.c
13921 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13922
a83ea1d2 139232009-03-09 Felix Zielcke <fzielcke@z-51.de>
13924
13925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13926 `fs/ext2.c'.
13927
aa9f3bff 139282009-03-08 Robert Millan <rmh@aybabtu.com>
13929
13930 Make loader/i386/linux.c usable on i386-pc again.
13931
13932 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13933 memory to heap.
13934 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13935 `#error' stanza.
13936
d8b3b60e 139372009-03-07 Bean <bean123ch@gmail.com>
13938
13939 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13940 allocation.
13941
b362c9e9 139422009-03-06 Robert Millan <rmh@aybabtu.com>
13943
13944 Fix display issue on terminals with screen size other than 80x25
13945 (e.g. gfxterm with resolution higher than 640x480).
13946
13947 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 13948 position relative to the center of the terminal instead of relying
b362c9e9 13949 on a hardcoded offset.
13950
9304eef1 139512009-03-04 Robert Millan <rmh@aybabtu.com>
13952
13953 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13954 installed.
13955
13956 * Makefile.in (host_kernel): New variable.
13957 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13958 scripts instead of just the windows one.
13959 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13960
eabc95fb 139612009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 13962
13963 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13964 `kern/handler.c'.
13965 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13966 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13967 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13969 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13970 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13971
ceb1223c 139722009-03-04 Felix Zielcke <fzielcke@z-51.de>
13973
13974 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13975 or if there's no space for the disk label and print the partition number on a
13976 invalid magic.
13977
4910684a 139782009-03-04 Felix Zielcke <fzielcke@z-51.de>
13979
13980 * util/misc.c: Include <time.h>.
13981 (grub_millisleep): New function.
13982
7e9ca17a 139832009-03-04 Bean <bean123ch@gmail.com>
13984
13985 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13986 another option -mno-red-zone.
13987
13988 * commands/handler.c: Change module description.
13989
13990 * kern/handler.c: Add missing space at the end of description line.
13991
13992 * kern/list.c: Likewise.
13993
f501677c 139942009-03-03 Robert Millan <rmh@aybabtu.com>
13995
13996 Move more components to the relocation area, and fix mbi pointer
13997 handling to use the destination rather than the origin (thanks to
13998 Vladimir Serbinenko for spotting).
13999
14000 * loader/i386/multiboot.c (mbi_dest): New variable.
14001 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14002 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14003 relocation area.
14004
9902d047 140052009-03-01 Bean <bean123ch@gmail.com>
14006
50fb7002 14007 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 14008 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14009 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14010 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14011
14012 * loader/i386/efi/linux.c (acpi_guid): New variable.
14013 (acpi_guid): Likewise.
14014 (EBDA_SEG_ADDR): New constant.
14015 (LOW_MEM_ADDR): Likewise.
14016 (FAKE_EBDA_SEG): Likewise.
14017 (fake_bios_data): New function.
14018 (grub_linux_boot): Call fake_bios_data.
14019
71b9f361 140202009-03-01 Bean <bean123ch@gmail.com>
14021
14022 * commands/terminal.c: Removed.
14023
14024 * commands/handler.c: New file.
14025
14026 * include/grub/list.h: Likewise.
14027
14028 * include/grub/handler.h: Likewise.
14029
14030 * kern/list.c: Likewise.
14031
14032 * kern/handler.c: Likewise.
14033
14034 * kern/term.h: Include header file <grub/handler.h>.
14035 (grub_term_input): Move next field to the beginning.
14036 (grub_term_output): Likewise.
14037 (grub_term_input_class): New variable.
14038 (grub_term_output_class): Likewise.
14039 (grub_term_register_input): Changed to inline function.
14040 (grub_term_register_output): Likewise.
14041 (grub_term_unregister_input): Likewise.
14042 (grub_term_unregister_output): Likewise.
14043 (grub_term_set_current_input): Likewise.
14044 (grub_term_set_current_output): Likewise.
14045 (grub_term_get_current_input): Likewise.
14046 (grub_term_get_current_output): Likewise.
14047 (grub_term_iterate_input): Removed.
14048 (grub_term_iterate_output): Likewise.
14049
14050 * kern/term.c (grub_term_list_input): Removed.
14051 (grub_term_list_output): Likewise.
14052 (grub_term_input_class): New variable.
14053 (grub_term_output_class): Likewise.
50fb7002 14054 (grub_cur_term_input): Change variable as macro.
71b9f361 14055 (grub_cur_term_output): Likewise.
14056 (grub_term_register_input): Removed.
14057 (grub_term_register_output): Likewise.
14058 (grub_term_unregister_input): Likewise.
14059 (grub_term_unregister_output): Likewise.
14060 (grub_term_set_current_input): Likewise.
14061 (grub_term_set_current_output): Likewise.
14062 (grub_term_iterate_input): Likewise.
14063 (grub_term_iterate_output): Likewise.
14064 (grub_term_get_current_input): Likewise.
14065 (grub_term_get_current_output): Likewise.
14066
14067 * util/grub-editenv.c: Include header file <grub/handler.h>.
14068 (grub_term_get_current_input): Removed.
14069 (grub_term_get_current_output): Likewise.
14070 (grub_term_input_class): New variable.
50fb7002 14071 (grub_term_output_class): Likewise.
71b9f361 14072
14073 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14074 (grub_term_get_current_output): Likewise.
14075 (grub_term_input_class): New variable.
50fb7002 14076 (grub_term_output_class): Likewise.
71b9f361 14077
14078 * util/grub-probe.c (grub_term_get_current_input): Removed.
14079 (grub_term_get_current_output): Likewise.
14080 (grub_term_input_class): New variable.
50fb7002 14081 (grub_term_output_class): Likewise.
71b9f361 14082
14083 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14084 (grub_term_get_current_output): Likewise.
14085 (grub_term_input_class): New variable.
50fb7002 14086 (grub_term_output_class): Likewise.
71b9f361 14087
14088 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14089 (terminal_mod_SOURCES): Likewise.
14090 (terminal_mod_CFLAGS): Likewise.
14091 (terminal_mod_LDFLAGS): Likewise.
14092
14093 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14094 handler.c.
14095 (kernel_img_SOURCES): Add list.c and handler.c.
14096 (kernel_img_HEADERS): Add list.h and handler.h.
14097
14098 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14099 handler.c.
14100 (kernel_mod_SOURCES): Add list.c and handler.c.
14101 (kernel_mod_HEADERS): Add list.h and handler.h.
14102
14103 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14104 handler.c.
14105 (kernel_elf_SOURCES): Add list.c and handler.c.
14106 (kernel_elf_HEADERS): Add list.h and handler.h.
14107
14108 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14109 handler.c.
14110 (kernel_elf_SOURCES): Add list.c and handler.c.
14111 (kernel_elf_HEADERS): Add list.h and handler.h.
14112
14113 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14114 handler.c.
14115 (kernel_mod_SOURCES): Add list.c and handler.c.
14116 (kernel_mod_HEADERS): Add list.h and handler.h.
14117
14118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14119 handler.c.
14120 (kernel_elf_SOURCES): Add list.c and handler.c.
14121 (kernel_elf_HEADERS): Add list.h and handler.h.
14122
8a31787f 141232009-02-27 Robert Millan <rmh@aybabtu.com>
14124
14125 Factorize elf32 / elf64 code in Multiboot loader. This will
14126 prevent it from getting out of sync again.
14127
14128 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14129 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14130 grub_multiboot_load_elf64): Move from here ...
14131 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14132 grub_multiboot_load_elf): ... to here (new file).
14133
51cd3dfc 141342009-02-27 Robert Millan <rmh@aybabtu.com>
14135
14136 * util/grub.d/10_linux.in: Rename "single-user mode" to
14137 "recovery mode".
14138
6e8c9c3a 141392009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 Don't leak in SCSI code.
14142 * disk/scsi.c (grub_scsi_close): free `scsi'.
14143
4b6bf4f9 141442009-02-27 Robert Millan <rmh@aybabtu.com>
14145
14146 * loader/i386/pc/multiboot.c: Move from here ...
14147 * loader/i386/multiboot.c: ... to here. Update all users.
14148
b9413424 141492009-02-27 Robert Millan <rmh@aybabtu.com>
14150
14151 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14152 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14153
50fb7002 141542009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 14155
14156 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14157 b-tree.
14158
8cc50345 141592009-02-27 Robert Millan <rmh@aybabtu.com>
14160
14161 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14162 `0x' qualifier as 0 when base is specified as parameter).
14163
6e09b8b7 141642009-02-24 Bean <bean123ch@gmail.com>
14165
14166 * configure.ac: Check for -mcmodel=large in x86_64 target.
14167
14168 * include/grub/efi/api.h (efi_call_10): New macro.
14169 (efi_wrap_10): New function.
14170
14171 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14172 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14173 (GRUB_PE32_REL_BASED_LOW): Likewise.
14174 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14175 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14176 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14177 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14178 (GRUB_PE32_REL_BASED_REL): Likewise.
14179 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14180 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14181 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14182
14183 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14184 issue.
14185
14186 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14187 (efi_wrap_10): New function.
14188
14189 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14190
14191 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14192 MB/MBP model (NV chipset).
14193 (devdata_devs): Add devpath_5 to the list.
14194
14195 * load/i386/efi/linux.c (video_base): Remove variable.
14196 (RGB_MASK): New macro.
14197 (RGB_MAGIC): Likewise.
14198 (LINE_MIN): Likewise.
14199 (LINE_MAX): Likewise.
14200 (FBTEST_STEP): Likewise.
14201 (FBTEST_COUNT): Likewise.
14202 (fb_list): New variable.
14203 (grub_find_video_card): Remove function.
14204 (find_framebuf): New function.
14205 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14206 line length.
14207
14208 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14209 problem for x86_64.
14210
74b21bee 142112009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14212
14213 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14214
14215 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14216 coding tool name.
14217
a455f472 142182009-02-22 Robert Millan <rmh@aybabtu.com>
14219
14220 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14221 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14222 in our relocation, instead of using it directly from heap. Also
14223 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14224
6374daf3 142252009-02-21 Robert Millan <rmh@aybabtu.com>
14226
14227 Implement USB keyboard support (based on patch by Marco Gerards)
14228
14229 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14230 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14231 (usb_keyboard_mod_LDFLAGS): New variables.
14232
14233 * term/usb_keyboard.c: New file.
14234
8fa4ea70 142352009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 Corrected wrong declaration
14238
14239 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14240
353976ac 142412009-02-14 Christian Franke <franke@computer.org>
14242
14243 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14244 (grub_lspci_iter): Print class code and programming interface byte.
14245
6aa1169b 142462009-02-14 Christian Franke <franke@computer.org>
14247
14248 * gendistlist.sh: Ignore `.svn' directories.
14249
265372ca 142502009-02-14 Felix Zielcke <fzielcke@z-51.de>
14251
14252 * fs/fat.c: Add 2009 to Copyright line.
14253
9ff516f3 142542009-02-14 Christian Franke <franke@computer.org>
14255
14256 * commands/hdparm.c: New file. Provides `hdparm' command
14257 which sends ATA commands via grub_disk_ata_pass_through ().
14258
14259 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14260
14261 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14262 and <grub/cpu/io.h> to include/grub/ata.h.
14263 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14264 (GRUB_CDROM_SECTOR_SIZE): Remove.
14265 (GRUB_ATA_*): Move to include/grub/ata.h.
14266 (GRUB_ATAPI_*): Likewise.
14267 (enum grub_ata_commands): Likewise.
14268 (enum grub_ata_timeout_milliseconds): Likewise.
14269 (struct grub_ata_device): Likewise.
14270 (grub_ata_regset): Likewise.
14271 (grub_ata_regget): Likewise.
14272 (grub_ata_regset2): Likewise.
14273 (grub_ata_regget2): Likewise.
14274 (grub_ata_check_ready): Likewise.
14275 (grub_ata_wait_not_busy): Remove static, exported in
14276 include/grub/ata.h.
14277 (grub_ata_wait_drq): Likewise.
14278 (grub_ata_pio_read): Likewise.
14279
14280 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14281 function for hdparm.mod.
14282
14283 * include/grub/ata.h: New file, contains declarations from
14284 disk/ata.c.
14285 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14286
14287 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14288 (grub_disk_ata_pass_through): New exported variable.
14289
14290 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14291
772e23da 142922009-02-13 Colin D Bennett <colin@gibibit.com>
14293
14294 Support multiple fallback entries, and provide an API to support
14295 executing default+fallback menu entries. Renamed the `terminal' menu
14296 viewer to `text'.
14297
14298 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14299 variable declaration.
14300 (grub_menu_execute_callback): New structure declaration.
14301 (grub_menu_execute_callback_t): New typedef.
14302 (grub_menu_execute_with_fallback): New function declaration.
14303 (grub_menu_get_entry): Likewise.
14304 (grub_menu_get_timeout): Likewise.
14305 (grub_menu_set_timeout): Likewise.
14306
14307 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14308
14309 * normal/menu.c (grub_wait_after_message): Moved to
14310 `normal/menu_text.c'.
14311 (draw_border): Likewise.
14312 (print_message): Likewise.
14313 (print_entry): Likewise.
14314 (print_entries): Likewise.
14315 (grub_menu_init_page): Likewise.
14316 (get_entry_number): Likewise.
14317 (print_timeout): Likewise.
14318 (run_menu): Likewise.
14319 (grub_menu_execute_entry): Likewise.
14320 (show_text_menu): Likewise.
14321 (get_and_remove_first_entry_number): New function.
14322 (grub_menu_execute_with_fallback): Likewise.
14323 (get_entry): Renamed to ...
14324 (grub_menu_get_entry): .. this and made it global.
14325 (get_timeout): Renamed to ...
14326 (grub_menu_get_timeout): ... this and made it global.
14327 (set_timeout): Renamed to ...
14328 (grub_menu_set_timeout): ... this and made it global.
14329 (grub_normal_terminal_menu_viewer): Renamed to ...
14330 (grub_normal_text_menu_viewer): ... this.
14331
14332 * normal/menu_text.c: New file. Extracted text-menu-specific code
14333 from normal/menu.c.
14334
14335 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14336 (normal_mod_SOURCES): Likewise.
14337
14338 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14339 (normal_mod_SOURCES): Likewise.
14340
14341 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14342 (normal_mod_SOURCES): Likewise.
14343
14344 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14345 (normal_mod_SOURCES): Likewise.
14346
14347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14348 (normal_mod_SOURCES): Likewise.
14349
14350 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14351 (normal_mod_SOURCES): Likewise.
14352
14353 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14354 (normal_mod_SOURCES): Likewise.
14355
16ac430e 143562009-02-11 Robert Millan <rmh@aybabtu.com>
14357
14358 * util/grub.d/00_header.in: Update old reference to `font' command.
14359
06ff20fc 143602009-02-10 Felix Zielcke <fzielcke@z-51.de>
14361
14362 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14363
14364 Based on patch from Javier Martín.
14365
96da9407 143662009-02-09 Felix Zielcke <fzielcke@z-51.de>
14367
14368 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 14369 to avoid false positives with FAT.
96da9407 14370 (grub_fstest_SOURCES): Likewise.
14371 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14372 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14374 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14375 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14376 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14377
6dca6fe4 143782009-02-09 Felix Zielcke <fzielcke@z-51.de>
14379
06ff20fc 14380 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 14381 bpb.version_specific.fat12_or_fat16.fstype and
14382 bpb.version_specific.fat32.fstype.
14383
2550c62f 143842009-02-08 Robert Millan <rmh@aybabtu.com>
14385
be110b30 14386 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 14387
56978920 143882009-02-08 Robert Millan <rmh@aybabtu.com>
14389
14390 * Makefile.in (host_os, host_cpu): New variables.
14391 (target_os): Remove. Update all users.
14392
d64399b5 143932009-02-08 Marco Gerards <marco@gnu.org>
14394
14395 * Makefile.in (enable_grub_emu_usb): New variable.
14396 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14397 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14398 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14399 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14400 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14401 `usbtest.mod' and `usbms.mod'.
14402 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14403 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14404 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14405 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14406 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14407 variables.
14408
14409 * disk/usbms.c: New file.
14410
14411 * include/grub/usb.h: Likewise.
14412
14413 * include/grub/usbtrans.h: Likewise.
14414
14415 * include/grub/usbdesc.h: Likewise.
14416
14417 * bus/usb/usbtrans.c: Likewise.
14418
14419 * bus/usb/ohci.c: Likewise.
14420
14421 * bus/usb/uhci.c: Likewise.
14422
14423 * bus/usb/usbhub.c: Likewise.
14424
14425 * bus/usb/usb.c: Likewise.
14426
14427 * commands/usbtest.c: Likewise.
14428
14429 * util/usb.c: Likewise.
50fb7002 14430
d64399b5 14431 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14432
14433 * configure.ac: Test for libusb presence.
50fb7002 14434
d64399b5 14435 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14436
2b40d6bb 144372009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14438
14439 * kern/mm.c: Add more comments.
14440
73a4ce81 144412009-02-08 Robert Millan <rmh@aybabtu.com>
14442
14443 Patch from Javier Martín.
14444 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14445 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14446
f821ce59 144472009-02-08 Robert Millan <rmh@aybabtu.com>
14448
14449 * fs/cpio.c: Split tar functionality to ...
14450 * fs/tar.c: ... here (new file). Update all users.
14451
aebfc4b0 144522009-02-07 Robert Millan <rmh@aybabtu.com>
14453
14454 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14455 backward-incompatible features.
14456
14457 Based on patch from Javier Martín, with some adjustments.
14458
50fb7002 144592009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 14460
14461 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14462
0bb5115e 144632009-02-07 Robert Millan <rmh@aybabtu.com>
14464
14465 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14466 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14467 after the RAID stuff.
14468
38a0f8e7 144692009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14470
50fb7002 14471 Fixes problem when running vbetest command as reported by
38a0f8e7 14472 Vladimir Serbinenko <phcoder@gmail.com>.
14473
14474 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14475
3143cc1c 144762009-02-04 Felix Zielcke <fzielcke@z-51.de>
14477
14478 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14479 /dev/md/NpN style mdraid devices.
14480
9cba6fce 144812009-02-03 Felix Zielcke <fzielcke@z-51.de>
14482
14483 * util/unifont2pff.rb: Remove.
14484
e507a2c1 144852009-02-03 Felix Zielcke <fzielcke@z-51.de>
14486
14487 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14488 `#'.
14489
d2c2b4cd 144902009-02-03 Felix Zielcke <fzielcke@z-51.de>
14491
14492 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14493 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14494 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14495 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14497 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14498 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14499
b4315fb0 145002009-02-02 Christian Franke <franke@computer.org>
14501
14502 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14503
de3aa260 145042009-02-01 Felix Zielcke <fzielcke@z-51.de>
14505
7c3ff286 14506 * INSTALL: Note that we now require at least autoconf 2.59 and
14507 that LZO is optional.
de3aa260 14508
825a182b 145092009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14510
14511 Base on patch on bug #24154 created by Tomas Tintera
14512 <trosos@seznam.cz>.
14513
14514 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14515
a69ef770 145162009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14517
7c3ff286 14518 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 14519 <bero@arklinux.org>.
14520
14521 * normal/parser.y (script_init): Add missing semicolon.
14522
6fa42fa6 145232009-01-31 Colin D Bennett <colin@gibibit.com>
14524
7c3ff286 14525 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 14526 (free_menu_entry_classes): Added.
14527 (grub_normal_menu_addentry): Added class property handling.
14528 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14529 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14530
14531 * normal/menu_viewer.c: New file.
14532
14533 * normal/menu.c (run_menu_entry): Renamed to ...
14534 (grub_menu_execute_entry): ... this and made it as global.
14535 (grub_menu_run): Renamed to ...
14536 (show_text_menu): ... this and made it local.
14537 (show_text_menu): Adapt to new function names.
14538 (grub_normal_terminal_menu_viewer): New global variable.
14539
14540 * include/grub/menu.h: New file.
14541
14542 * include/grub/menu_viewer.h: New file.
14543
14544 * include/grub/normal.h: Added include to grub/menu.h.
14545 (grub_menu_entry): Moved to include/grub/menu.h.
14546 (grub_menu_entry_t): Likewise.
14547 (grub_menu): Likewise.
14548 (grub_menu_t): Likewise.
14549 (grub_normal_terminal_menu_viewer): Added.
14550 (grub_menu_execute_entry): Likewise.
14551 (grub_menu_run): Removed.
14552
14553 * DISTLIST: Added include/grub/menu.h.
14554 Added include/grub/menu_viewer.h.
14555 Added normal/menu_viewer.c.
14556
145572009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14558
14559 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14560 arglist for menutitle arguments.
14561
14562 * normal/main.c (grub_normal_menu_addentry): Likewise.
14563
14564 * normal/parser.y (menuentry): Likewise.
14565
14566 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14567
14568 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14569 (grub_script_create_cmdmenu): Likewise.
14570
14571 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14572
14573 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14574 changes.
14575
14576 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14577
14578 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14579
14580 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14581
14582 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14583
14584 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14585
14586 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14587
56192c23 145882009-01-30 Christian Franke <franke@computer.org>
14589
14590 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14591 in option help text.
14592
d72521b3 145932009-01-27 Pavel Roskin <proski@gnu.org>
14594
14595 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14596
994b5e84 145972009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14598
14599 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14600
14601 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14602
14603 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14604 unregister function.
14605
6a7eab2c 146062009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14607
14608 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14609
14610 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14611
14612 * util/grub-mkfont.c (usage): Fix typo.
14613
14614 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14615
1806b56e 146162009-01-26 Daniel Mierswa <impulze@impulze.org>
14617
3fb18f09 14618 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14619
336e1fb9 14620 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14621
1806b56e 14622 * kern/misc.c (grub_strcasecmp): New function.
14623 (grub_strcasecmp): Use grub_size_t instead of int for length.
14624 Fix return value.
14625 * include/grub/misc.h: Update function prototypes.
14626
580b2a0f 146272009-01-26 Robert Millan <rmh@aybabtu.com>
14628
14629 * configure.ac: Fix cross-compilation check.
ef257b36 14630
d31c24f1 146312009-01-22 Christian Franke <franke@computer.org>
14632
14633 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14634 (precision) digit string. Allow `.format2' without `format1' (width).
14635 Limit input chars for `%s' output to `format2' if specified. This is
14636 compatible with standard printf ().
14637
3138b44c 146382009-01-22 Christian Franke <franke@computer.org>
14639
14640 * disk/ata.c (grub_ata_wait_status): Replace by ...
14641 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14642 other status bits may be invalid while BSY is asserted.
14643 (grub_ata_check_ready): New function.
14644 (grub_ata_cmd): Removed.
14645 (grub_ata_wait_drq): New function.
14646 (grub_ata_strncpy): Remove inline.
14647 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14648 and error check now done by grub_ata_wait_drq ().
14649 (grub_ata_pio_write): Likewise.
14650 (grub_atapi_identify): Set DEV before check for !BSY. Use
14651 grub_ata_wait_drq () to wait for data.
14652 (grub_ata_device_initialize): Add status register check to
14653 detect missing SATA slave devices. Add debug messages.
14654 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14655 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14656 transfer loop by grub_ata_pio_write ().
14657 (grub_ata_identify): Set DEV before check for !BSY. Use
14658 grub_ata_wait_drq () to wait for data.
ef257b36 14659 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 14660 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14661 read/write in one loop. Fix invalid command on write. Fix incomplete
14662 command on (size % batch) == 0. Add missing error check after write of
14663 last block. Add debug messages.
14664 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14665
59a64ef6 146662009-01-19 Christian Franke <franke@computer.org>
14667
14668 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14669 (GRUB_ATAPI_IREASON_*): Likewise.
14670 (grub_ata_pio_write): Fix timeout error return.
14671 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14672 (grub_atapi_wait_drq): New function.
14673 (grub_atapi_packet): New parameter `size'.
14674 Use grub_atapi_wait_drq () and direct write instead of
14675 grub_ata_pio_write ().
14676 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14677 reads the number of bytes requested by the device for each DRQ
14678 assertion.
14679 (grub_atapi_write): Remove old implementation, return not
14680 implemented instead.
14681
1cfe20b3 146822009-01-19 Christian Franke <franke@computer.org>
14683
14684 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14685 of 512 to calculate data size.
14686 (grub_scsi_read12): Likewise.
14687 (grub_scsi_write10): Likewise.
14688 (grub_scsi_write12): Likewise.
14689 (grub_scsi_read): Adjust size according to blocksize.
14690 Add checks for invalid blocksize and unaligned transfer.
14691
bee5fe5d 146922009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14693
14694 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14695
ef257b36 14696 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 14697 width glyphs.
14698
3e643f8c 146992009-01-19 Robert Millan <rmh@aybabtu.com>
14700
14701 * config.guess: Update to latest version from config git.
14702 * config.sub: Likewise.
14703
4fa80998 147042009-01-17 Felix Zielcke <fzielcke@z-51.de>
14705
14706 * Makefile.in: Change font compilation to use new grub-mkfont instead
14707 of java version.
14708
14709 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14710 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14711 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14712 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14713 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14714 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14715 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14716 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14717 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14718
7086085b 147192009-01-16 Christian Franke <franke@computer.org>
14720
14721 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14722 (enum grub_ata_timeout_milliseconds): New enum.
14723 (grub_ata_wait_status): Add parameter milliseconds.
14724 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14725 recovery from timed-out commands.
14726 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14727 return grub_errno instead of REG_ERROR.
14728 (grub_ata_pio_write): Add parameter milliseconds.
14729 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14730 Pass milliseconds to grub_ata_wait_status () and
14731 grub_ata_pio_read ().
14732 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14733 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14734 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14735 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14736 It is not suitable for device detection, because DEV bit is ignored,
14737 the command may run too long, and not all devices set the signature
14738 properly.
14739 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14740 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14741 Fix device selection, DEV bit must be set first to address the registers
14742 of the correct device.
14743 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14744 grub_ata_pio_read/write ().
14745 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14746 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14747
4a412913 147482009-01-13 Carles Pina i Estany <carles@pina.cat>
14749
14750 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14751
7795c55e 147522009-01-13 Bean <bean123ch@gmail.com>
d913988c 14753
14754 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14755
7795c55e 147562009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 14757
14758 * Makefile.in: (enable_grub_mkfont): New variable.
14759 (freetype_cflags): Likewise.
14760 (freetype_libs): Likewise.
14761
14762 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14763 (grub_mkfont_SOURCES): New variable.
14764 (grub_mkfont_CFLAGS): Likewise.
14765 (grub_mkfont_LDFLAGS): Likewise.
14766
14767 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14768 library if `--enable-grub-mkfont' is requested.
14769 (enable_grub_mkfont): New variable.
14770 (freetype_cflags): Likewise.
14771 (freetype_libs): Likewise.
14772
14773 * util/grub-mkfont.c: New file.
14774
093af1fe 147752009-01-12 Christian Franke <franke@computer.org>
14776
14777 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14778 mode check. Fix setting of compat_use[].
14779
f36cc108 147802009-01-10 Robert Millan <rmh@aybabtu.com>
14781
14782 Update a few copyright years which we forgot to do in 2008 (only for
14783 files whose changes made in 2008 were copyright-significant)
14784
14785 * Makefile.in: Add 2008 to Copyright line.
14786 * disk/ieee1275/ofdisk.c: Likewise.
14787 * disk/efi/efidisk.c: Likewise.
14788 * kern/dl.c: Likewise.
14789 * kern/sparc64/ieee1275/init.c: Likewise.
14790 * kern/mm.c: Likewise.
14791 * kern/efi/mm.c: Likewise.
14792 * boot/i386/pc/boot.S: Likewise.
14793 * genfslist.sh: Likewise.
14794 * fs/iso9660.c: Likewise.
14795 * fs/hfs.c: Likewise.
14796 * fs/jfs.c: Likewise.
14797 * fs/minix.c: Likewise.
14798 * fs/ufs.c: Likewise.
14799 * gensymlist.sh.in: Likewise.
14800 * genkernsyms.sh.in: Likewise.
14801 * include/grub/misc.h: Likewise.
14802 * include/grub/types.h: Likewise.
14803 * include/grub/symbol.h: Likewise.
14804 * include/grub/elf.h: Likewise.
14805 * include/grub/kernel.h: Likewise.
14806 * include/grub/disk.h: Likewise.
14807 * include/grub/dl.h: Likewise.
14808 * include/grub/i386/linux.h: Likewise.
14809 * include/grub/i386/pc/biosdisk.h: Likewise.
14810 * include/grub/efi/api.h: Likewise.
14811 * include/grub/efi/pe32.h: Likewise.
14812 * include/grub/util/misc.h: Likewise.
14813 * normal/execute.c: Likewise.
14814 * normal/arg.c: Likewise.
14815 * normal/completion.c: Likewise.
14816 * normal/lexer.c: Likewise.
14817 * normal/parser.y: Likewise.
14818 * normal/misc.c: Likewise.
14819 * commands/i386/pc/vbeinfo.c: Likewise.
14820 * commands/hexdump.c: Likewise.
14821 * commands/terminal.c: Likewise.
14822 * commands/ls.c: Likewise.
14823 * commands/help.c: Likewise.
14824 * partmap/pc.c: Likewise.
14825 * loader/efi/chainloader.c: Likewise.
14826 * loader/multiboot_loader.c: Likewise.
14827 * loader/i386/pc/multiboot2.c: Likewise.
14828 * term/efi/console.c: Likewise.
14829 * term/i386/pc/serial.c: Likewise.
14830 * util/lvm.c: Likewise.
14831 * util/console.c: Likewise.
14832 * util/i386/efi/grub-mkimage.c: Likewise.
14833 * util/raid.c: Likewise.
14834
7f02114b 148352009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14836
14837 * commands/videotest.c: Removed include to grub/machine/memory.h.
14838
14839 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
14840 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
14841 (video_mod_SOURCES): Removed.
14842 (video_mod_CFLAGS): Likewise.
14843 (video_mod_LDFLAGS): Likewise.
14844 (gfxterm_mod_SOURCES): Likewise.
14845 (gfxterm_mod_CFLAGS): Likewise.
14846 (gfxterm_mod_LDFLAGS): Likewise.
14847 (videotest_mod_SOURCES): Likewise.
14848 (videotest_mod_CFLAGS): Likewise.
14849 (videotest_mod_LDFLAGS): Likewise.
14850 (bitmap_mod_SOURCES): Likewise.
14851 (bitmap_mod_CFLAGS): Likewise.
14852 (bitmap_mod_LDFLAGS): Likewise.
14853 (tga_mod_SOURCES): Likewise.
14854 (tga_mod_CFLAGS): Likewise.
14855 (tga_mod_LDFLAGS): Likewise.
14856 (jpeg_mod_SOURCES): Likewise.
14857 (jpeg_mod_CFLAGS): Likewise.
14858 (jpeg_mod_LDFLAGS): Likewise.
14859 (png_mod_SOURCES): Likewise.
14860 (png_mod_CFLAGS): Likewise.
14861 (png_mod_LDFLAGS): Likewise.
14862
14863 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
14864 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
14865 (video_mod_SOURCES): Added.
14866 (video_mod_CFLAGS): Likewise.
14867 (video_mod_LDFLAGS): Likewise.
14868 (videotest_mod_SOURCES): Likewise.
14869 (videotest_mod_CFLAGS): Likewise.
14870 (videotest_mod_LDFLAGS): Likewise.
14871 (bitmap_mod_SOURCES): Likewise.
14872 (bitmap_mod_CFLAGS): Likewise.
14873 (bitmap_mod_LDFLAGS): Likewise.
14874 (tga_mod_SOURCES): Likewise.
14875 (tga_mod_CFLAGS): Likewise.
14876 (tga_mod_LDFLAGS): Likewise.
14877 (jpeg_mod_SOURCES): Likewise.
14878 (jpeg_mod_CFLAGS): Likewise.
14879 (jpeg_mod_LDFLAGS): Likewise.
14880 (png_mod_SOURCES): Likewise.
14881 (png_mod_CFLAGS): Likewise.
14882 (png_mod_LDFLAGS): Likewise.
14883 (gfxterm_mod_SOURCES): Likewise.
14884 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 14885 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 14886
14887 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14888 grub/machine/console.h.
14889
644fff97 148902009-01-04 Jerone Young <jerone@gmail.com>
14891
14892 Make on screen instructions clearer
14893
14894 Based on patch created by Jidanni <jidanni@jidanni.org>
14895
14896 * normal/menu.c: print clearer instructions on the screen
14897
1e901a75 148982009-01-02 Colin D Bennett <colin@gibibit.com>
14899
14900 New font engine.
34c44600 14901
1e901a75 14902 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14903 build system and fixed gfxterm.c to work with different sized fonts.
14904
14905 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 14906
1e901a75 14907 * configure: Re-generated.
34c44600 14908
1e901a75 14909 * DISTLIST: Removed font/manager.c.
14910 Added font/font.c.
14911 Added font/font_cmd.c.
34c44600 14912
1e901a75 14913 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14914 compilation.
34c44600 14915
1e901a75 14916 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 14917
14918 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 14919
14920 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 14921
1e901a75 14922 * normal/menu.c: Likewise.
34c44600 14923
1e901a75 14924 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14925 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 14926
1e901a75 14927 * include/grub/font.h: Replaced with new file.
34c44600 14928
1e901a75 14929 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14930 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14931 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14932 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14933 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 14934 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 14935 fg_red, fg_green, fg_blue, fg_alpha.
14936 (grub_video_adapter): Removed blit_glyph.
34c44600 14937 (grub_video_blit_glyph): Removed.
14938
1e901a75 14939 * font/manager.c: Removed file.
34c44600 14940
14941 * font/font.c: New file.
14942
1e901a75 14943 * font/font_cmd.c: Likewise.
34c44600 14944
1e901a75 14945 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 14946
1e901a75 14947 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14948 (grub_video_vbe_map_rgba): Likewise.
14949 (grub_video_vbe_unmap_color_int): Likewise.
14950 (grub_video_vbe_blit_glyph): Removed.
14951 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 14952
1e901a75 14953 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14954 (get_pixel): Likewise.
34c44600 14955 (set_pixel): Likewise.
14956
1e901a75 14957 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 14958
1e901a75 14959 * term/gfxterm.c: Adapted to new font engine.
34c44600 14960
1e901a75 14961 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 14962
1e901a75 14963 * term/i386/pc/vga.c: Likewise.
34c44600 14964
1e901a75 14965 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 14966
1e901a75 14967 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 14968
1e901a75 14969 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14970
1e901a75 14971 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14972
1e901a75 14973 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 14974
1e901a75 14975 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 14976
1e901a75 14977 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 14978
1e901a75 14979 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 14980
1e901a75 14981 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14982
14983 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 14984
1e901a75 14985 * util/grub-mkconfig_lib.in: Changed font extension.
14986
278922e8 149872008-12-28 Felix Zielcke <fzielcke@z-51.de>
14988
14989 * util/getroot.c (grub_util_get_grub_dev): Add support for
14990 /dev/md/dNNpNN style partitionable mdraid devices.
14991
3ced05cf 149922008-12-12 Alex Smith <alex@alex-smith.me.uk>
14993
14994 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14995 at a time limit of the PXE TFTP API correctly.
14996 (grub_pxefs_close): Likewise.
14997
7fd0ee30 149982008-11-29 Robert Millan <rmh@aybabtu.com>
14999
34c44600 15000 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 15001 grub_ata_device_initialize() calls.
15002
34c44600 150032008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 15004
15005 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15006 iteration failed.
15007 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15008
89313780 150092008-11-28 Robert Millan <rmh@aybabtu.com>
15010
15011 Fix build on powerpc-ieee1275. Based on patch created by
15012 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15013 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15014 `kern/ieee1275/mmap.c'.
15015 * include/grub/powerpc/ieee1275/memory.h: New file.
15016
15257703 15017 Provide grub-install on coreboot.
15018 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15019 (grub_install_SOURCES): New variable.
15020 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15021 usable on coreboot.
15022
9fc5388a 150232008-11-25 Felix Zielcke <fzielcke@z-51.de>
15024
15025 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15026 to `grub_term_input_t'.
15027 (grub_term_get_current_output): Change return type to
15028 `grub_term_output_t'.
15029
bc3a2f31 150302008-11-22 Robert Millan <rmh@aybabtu.com>
15031
34c44600 15032 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 15033 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15034 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15035 grub_vga_text_cls().
15036
80fc88f2 15037 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 15038 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 15039
cbf36fd3 15040 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15041 to 0x200000 (avoids trouble with some OFW implementations, and matches
15042 with the one in Yaboot).
15043 Reported by Manoel Abranches
15044
73e8e268 150452008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 15046
15047 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15048 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15049
73e8e268 15050 * util/grub-mkconfig_lib.in (grub_warn): New function.
15051 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15052 warnings, to obtain consistent formatting.
15053 * util/grub.d/00_header.in: Likewise.
15054 * util/update-grub_lib.in: Likewise.
15055
e94045a1 15056 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 15057 Move comment text to `#error' stanza.
e94045a1 15058
79d29fd7 15059 Harmonize ieee1275's grub_available_iterate() with the generic
15060 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15061 build problem on i386-ieee1275):
15062 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15063 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15064 parameter `type'. Update all users of this function.
15065 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15066 `kern/ieee1275/mmap.c'.
15067 * kern/ieee1275/init.c
15068 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15069 with ...
15070 (grub_machine_mmap_iterate): ... this.
15071 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15072 return type to `grub_err_t'. Update all implementations of this
15073 function prototype.
15074 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15075 Likewise.
15076
60d6b16e 15077 Add `lsmmap' command (lists firmware-provided memory map):
15078 * commands/lsmmap.c: New file.
15079 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15080 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15081 variables.
15082 * conf/powerpc-ieee1275.rmk: Likewise.
15083 * conf/i386-coreboot.rmk: Likewise.
15084 * conf/i386-ieee1275.rmk: Likewise.
15085
ebaaf49b 150862008-11-19 Robert Millan <rmh@aybabtu.com>
15087
15088 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 15089 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15090 constraints to initrd allocation (based on code from
15091 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15092 for Linux to find it.
ebaaf49b 15093
dfab719f 150942008-11-14 Robert Millan <rmh@aybabtu.com>
15095
15096 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15097 order to cope with duplicate slashes.
15098
10fc3eb9 150992008-11-14 Robert Millan <rmh@aybabtu.com>
15100
15101 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15102 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15103 don't want to mess with lower memory, because it is used in the Linux
15104 loader.
15105
15106 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 15107 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 15108 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15109 is in our heap (probably as a result of it being corrupted during
2f2a3442 15110 decompression). Add #error instance with comment to explain why this
15111 loader isn't currently usable on PC/BIOS.
10fc3eb9 15112
e2e07847 151132008-11-14 Robert Millan <rmh@aybabtu.com>
15114
15115 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 15116 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 15117
fe8e8d69 151182008-11-12 Robert Millan <rmh@aybabtu.com>
15119
15120 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15121
15122 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15123 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15124 from here ...
15125 * include/grub/i386/pc/memory.h: ... to here.
15126
976b07d0 151272008-11-12 Robert Millan <rmh@aybabtu.com>
15128
15129 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15130 split).
15131
15132 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15133 (grub_console_cur_color, grub_console_real_putchar)
15134 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15135 (grub_console_setcolorstate, grub_console_setcolor)
15136 (grub_console_getcolor): Move from here ...
15137 * include/grub/i386/vga_common.h: ... to here (new file).
15138
15139 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15140 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15141 `<grub/i386/io.h>'.
15142 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15143 `<grub/i386/vga_common.h>'.
15144
76679cd3 151452008-11-12 Robert Millan <rmh@aybabtu.com>
15146
15147 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15148 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15149 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15150 variables.
15151 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15152 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15153
15154 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15155 grub_console_init() with call to grub_vga_text_init().
15156 (grub_machine_fini): Replace call to
15157 grub_console_fini() with call to grub_vga_text_fini() and
15158 grub_at_keyboard_fini().
15159
15160 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15161 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15162 (grub_console_setcolorstate, grub_console_setcolor)
15163 (grub_console_getcolor): New function prototypes.
15164
15165 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15166 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15167 (grub_vga_text_setcursor): Static-ize.
15168 (grub_vga_text_term): New structure.
15169 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15170
15171 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15172 (grub_console_cur_color, grub_console_standard_color)
15173 (grub_console_normal_color, grub_console_highlight_color)
15174 (map_char, grub_console_putchar, grub_console_getcharwidth)
15175 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15176 (grub_console_getcolor): Move from here ...
15177 * term/i386/vga_common.c: ... to here (same function names).
15178
95b841d3 151792008-11-12 Robert Millan <rmh@aybabtu.com>
15180
15181 Use newly-added Multiboot support in coreboot.
15182
15183 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15184 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15185
15186 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15187 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15188 (codestart): Store the MBI in `startup_multiboot_info' when we're
15189 being loaded using Multiboot.
15190
15191 * kern/i386/coreboot/init.c (grub_machine_init): Move
15192 grub_at_keyboard_init() call to beginning of function (useful for
15193 debugging). Call grub_machine_mmap_init() before attempting to use
15194 grub_machine_mmap_iterate().
15195 (grub_lower_mem, grub_upper_mem): Move from here ...
15196 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15197 here (new file).
15198
15199 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15200 function prototype.
15201
761ca975 152022008-11-12 Robert Millan <rmh@aybabtu.com>
15203
15204 Fix a regression introduced by the at_keyboard.mod split. Because
15205 some terminals are default on some platforms and non-default on
15206 others, the first terminal being registered determines which is
15207 going to be default.
15208
15209 * kern/term.c (grub_term_register_input): If this is the first
15210 terminal being registered, set it as the current one.
15211 (grub_term_register_output): Likewise.
15212
15213 * term/efi/console.c (grub_console_init): Do not call
15214 grub_term_set_current_output() or grub_term_set_current_input().
15215 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15216 * term/i386/pc/console.c (grub_console_init): Likewise.
15217 (grub_console_fini): Do not call grub_term_set_current_input()
15218 (but leave grub_term_set_current_output() to restore text mode).
15219
6c529df7 152202008-11-10 Robert Millan <rmh@aybabtu.com>
15221
15222 * util/grub.d/00_header.in: Add backward compatibility check for
15223 versions of terminal.mod that don't understand `terminal_input' or
15224 `terminal_output'.
15225
132e4113 152262008-11-09 Robert Millan <rmh@aybabtu.com>
15227
15228 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15229 `terminal_input' / `terminal_output', not `terminal'.
15230
ac293d50 152312008-11-08 Robert Millan <rmh@aybabtu.com>
15232
15233 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 15234 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 15235
0025933a 152362008-11-08 Robert Millan <rmh@aybabtu.com>
15237
15238 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 15239 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 15240 members. Update all users.
15241 * util/console.c (grub_ncurses_term): Split in ...
15242 (grub_ncurses_term_input): ... this, and ...
15243 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 15244 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 15245
37c86336 152462008-11-08 Robert Millan <rmh@aybabtu.com>
15247
15248 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15249 (PKGDATA): Add $(pkgdata_SRCDIR).
15250 (pkglib_BUILDDIR): New variable.
15251 (pkgdata_SRCDIR): New variable.
15252 (build_env.mk): New target.
15253 (include_DATA): New variable.
15254 (install-local): Install $(include_DATA) files in $(includedir).
15255
b6c15a2d 152562008-11-07 Pavel Roskin <proski@gnu.org>
15257
d99d46f1 15258 * gendistlist.sh: Use C locale for sorting to ensure consistent
15259 output on all systems.
15260
b6c15a2d 15261 * util/grub.d/00_header.in: Remove incorrect space before
15262 "serial".
15263
c32ee8c9 152642008-11-07 Robert Millan <rmh@aybabtu.com>
15265
15266 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15267 per specification.
15268 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15269 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15270 (based on find_multi_boot1_header).
15271 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15272 using find_multi_boot2_header(), and abort if neither Multiboot or
15273 Multiboot headers were found.
15274
651c29b7 152752008-11-07 Robert Millan <rmh@aybabtu.com>
15276
15277 Modularize at_keyboard.mod:
15278
15279 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15280 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15281 (at_keyboard_mod_LDFLAGS): New variables.
15282
15283 Actual terminal split:
15284
15285 * include/grub/term.h (struct grub_term): Split in ...
15286 (struct grub_term_input): ... this, and ...
15287 (struct grub_term_output): ... this. Update all users.
15288 (grub_term_set_current): Split in ...
15289 (grub_term_set_current_input): ... this, and ...
15290 (grub_term_set_current_output): ... this.
15291 (grub_term_get_current): Split in ...
15292 (grub_term_get_current_input): ... this, and ...
15293 (grub_term_get_current_output): ... this.
15294 (grub_term_register): Split in ...
15295 (grub_term_register_input): ... this, and ...
15296 (grub_term_register_output): ... this.
15297 (grub_term_unregister): Split in ...
15298 (grub_term_unregister_input): ... this, and ...
15299 (grub_term_unregister_output): ... this.
15300 (grub_term_iterate): Split in ...
15301 (grub_term_iterate_input): ... this, and ...
15302 (grub_term_iterate_output): ... this.
15303
15304 * kern/term.c (grub_term_list): Split in ...
15305 (grub_term_list_input): ... this, and ...
15306 (grub_term_list_output): ... this. Update all users.
15307 (grub_cur_term): Split in ...
15308 (grub_cur_term_input): ... this, and ...
15309 (grub_cur_term_output): ... this. Update all users.
15310 (grub_term_set_current): Split in ...
15311 (grub_term_set_current_input): ... this, and ...
15312 (grub_term_set_current_output): ... this.
15313 (grub_term_get_current): Split in ...
15314 (grub_term_get_current_input): ... this, and ...
15315 (grub_term_get_current_output): ... this.
15316 (grub_term_register): Split in ...
15317 (grub_term_register_input): ... this, and ...
15318 (grub_term_register_output): ... this.
15319 (grub_term_unregister): Split in ...
15320 (grub_term_unregister_input): ... this, and ...
15321 (grub_term_unregister_output): ... this.
15322 (grub_term_iterate): Split in ...
15323 (grub_term_iterate_input): ... this, and ...
15324 (grub_term_iterate_output): ... this.
15325
15326 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15327 a check for input and one for output (and only attempt to get keys
15328 from user when input works).
15329
15330 * util/grub-probe.c (grub_term_get_current): Split in ...
15331 (grub_term_get_current_input): ... this, and ...
15332 (grub_term_get_current_output): ... this.
15333 * util/grub-fstest.c: Likewise.
15334 * util/i386/pc/grub-setup.c: Likewise.
15335 * util/grub-editenv.c: Likewise.
15336
15337 Portability adjustments:
15338
15339 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15340 `term/i386/pc/at_keyboard.c'.
15341 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15342 grub_keyboard_controller_init() (now handled by terminal .init).
15343 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15344 grub_at_keyboard_init().
15345 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15346 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15347 at_keyboard.mod via input terminal interface).
15348 * include/grub/i386/coreboot/console.h: Convert into a stub for
15349 `<grub/i386/pc/console.h>'.
15350
15351 Migrate full terminals to new API:
15352
15353 * term/efi/console.c (grub_console_term): Split into ...
15354 (grub_console_term_input): ... this, and ...
15355 (grub_console_term_output): ... this. Update all users.
15356 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15357 (grub_ofconsole_init): Split into ...
15358 (grub_ofconsole_init_input): ... this, and ...
15359 (grub_ofconsole_init_output): ... this.
15360 (grub_ofconsole_term): Split into ...
15361 (grub_ofconsole_term_input): ... this, and ...
15362 (grub_ofconsole_term_output): ... this. Update all users.
15363 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15364 (grub_serial_term_input): ... this, and ...
15365 (grub_serial_term_output): ... this. Update all users.
15366 * term/i386/pc/console.c (grub_console_term): Split into ...
15367 (grub_console_term_input): ... this, and ...
15368 (grub_console_term_output): ... this. Update all users.
15369 (grub_console_term_input): Only enable it on PC/BIOS platform.
15370 (grub_console_init): Remove grub_keyboard_controller_init() call.
15371
15372 Migrate input terminals to new API:
15373
15374 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15375 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15376 i386-specific anyway).
15377 (grub_console_checkkey): Rename to ...
15378 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15379 users.
15380 (grub_keyboard_controller_orig): New variable.
15381 (grub_console_getkey): Rename to ...
15382 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15383 users.
15384 (grub_keyboard_controller_init): Static-ize. Save original
15385 controller value so that it can be restored ...
15386 (grub_keyboard_controller_fini): ... here (new function).
15387 (grub_at_keyboard_term): New structure.
15388 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15389 functions.
15390
15391 Migrate output terminals to new API:
15392
15393 * term/i386/pc/vga.c (grub_vga_term): Change type to
15394 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15395 members. Update all users.
15396 * term/gfxterm.c (grub_video_term): Change type to
15397 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15398 members. Update all users.
15399 * include/grub/i386/pc/console.h (grub_console_checkkey)
15400 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15401 etc).
15402
15403 Migrate `terminal' command and userland tools to new API:
15404
15405 * commands/terminal.c (grub_cmd_terminal): Split into ...
15406 (grub_cmd_terminal_input): ... this, and ...
15407 (grub_cmd_terminal_output): ... this.
15408 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15409 `terminal_input' and `terminal_output'.
15410 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15411 `terminal_input' / `terminal_output' API.
15412 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15413 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15414 provided ${GRUB_TERMINAL}, convert it).
15415
96e5d876 154162008-11-04 Robert Millan <rmh@aybabtu.com>
15417
15418 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15419 for FreeBSD.
15420 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15421
556f3775 154222008-11-03 Bean <bean123ch@gmail.com>
15423
15424 * kern/elf.c (grub_elf32_load): Revert to previous code.
15425 (grub_elf64_load): Likewise.
15426
15427 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15428
926b9823 154292008-11-01 Robert Millan <rmh@aybabtu.com>
15430
15431 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15432 (TARGET_CPPFLAGS): Likewise.
15433 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15434
1432e958 154352008-11-01 Carles Pina i Estany <carles@pina.cat>
15436
15437 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15438
dba3f844 154392008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 15440
15441 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15442 addition of objects until the code is not going to be able to fail.
15443
dba3f844 154442008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 15445
15446 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15447 (add a missing NULL check, and correct them by moving the pointer
15448 operations after the actual check).
15449
7ab28c21 154502008-10-29 Robert Millan <rmh@aybabtu.com>
15451
15452 * util/i386/pc/grub-install.in: Handle empty string as output from
15453 make_system_path_relative_to_its_root().
15454
1b7748eb 154552008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15456
15457 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15458 circular metadata worst case scenario. If the metadata is circular
15459 then copy the wrap in place.
15460 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15461 project lib/format_text/layout.h
15462 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15463
c9618ab2 154642008-10-03 Felix Zielcke <fzielcke@z-51.de>
15465
7a36edca 15466 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 15467
bf981c62 154682008-10-03 Felix Zielcke <fzielcke@z-51.de>
15469
15470 * util/update-grub_lib.in: Mention filename in warning message.
15471
6d994591 154722008-09-29 Felix Zielcke <fzielcke@z-51.de>
15473
15474 * NEWS: Update for rename of update-grub to grub-mkconfig.
15475
18ade780 154762008-09-29 Felix Zielcke <fzielcke@z-51.de>
15477
15478 * util/update-grub_lib.in: Copy to ...
15479 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 15480 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 15481 * util/update-grub.in: Rename to ...
15482 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15483 option. Add `--output' option to allow users to specify the generated
15484 configuration file. Default to stdout.
15485 (update_grub_dir): Rename to ...
15486 (grub_mkconfig_dir): ... this.
15487 (grub_cfg): Default to an empty string.
15488 * conf/common.rmk (update-grub): Rename to ...
15489 (grub-mkconfig): ... this.
15490 (update-grub_lib): Copy to ...
15491 (grub-mkconfig_lib): ... this.
15492 (update-grub_SCRIPTS): Copy to ...
15493 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15494 (update-grub_DATA): Rename to ...
15495 (grub-mkconfig_DATA): ... this.
15496
556ce6ac 154972008-09-28 Robert Millan <rmh@aybabtu.com>
15498
15499 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15500 to `modified'. Add the real `created' field.
15501 (grub_iso9660_uuid): Use `modified' rather than `created' for
15502 constructing the UUID.
15503
155042008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 15505
15506 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15507 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15508
92274e85 155092008-09-28 Bean <bean123ch@gmail.com>
15510
15511 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15512 Thanks to Christian Franke for finding this bug.
15513
add6f17a 155142008-09-25 Robert Millan <rmh@aybabtu.com>
15515
15516 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15517 instances of grub_util_get_disk_name() (see previous commit).
15518
d2a367b8 155192008-09-25 Robert Millan <rmh@aybabtu.com>
15520
15521 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15522 `util/i386/get_disk_name.c'.
15523 * conf/i386-efi.rmk: Likewise.
15524 * conf/x86_64-efi.rmk: Likewise.
15525 * conf/i386-coreboot.rmk: Likewise.
15526 * conf/i386-ieee1275.rmk: Likewise.
15527 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15528 `util/ieee1275/get_disk_name.c'.
15529 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15530 * util/ieee1275/get_disk_name.c: Remove file.
15531 * util/i386/get_disk_name.c: Remove file.
15532 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15533 "hd%d" for device.map entries, rather than using
15534 grub_util_get_disk_name().
15535
81a06771 155362008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 15537
15538 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15539 warning.
15540 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15541
5a004279 155422008-09-24 Carles Pina i Estany <carles@pina.cat>
15543
15544 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15545 Changed to 0x5100.
15546 (GRUB_TERM_PPAGE): Changed to 0x4900.
15547
397093d3 155482008-09-24 Robert Millan <rmh@aybabtu.com>
15549
15550 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15551 macros (they were i386-pc specific).
15552 * include/grub/sparc64/ieee1275/console.h: Likewise.
15553 * include/grub/efi/console.h: Likewise.
15554
a91b6c7c 155552008-09-22 Bean <bean123ch@gmail.com>
15556
15557 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15558 resident and in attribute list.
15559
15560 * include/grub/ntfs.h (BMP_LEN): Removed.
15561
c40fd116 155622008-09-22 Bean <bean123ch@gmail.com>
15563
81a06771 15564 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 15565 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15566
15567 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15568 error occurs, as grub_disk_open will call grub_disk_close, which will
15569 call p->close (scsi).
15570
81a06771 155712008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 15572
15573 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15574 (AC_PREREQ): Bumped to 2.59.
15575 (AC_TRY_COMPILE): Replace obsolete macro with ...
15576 (AC_COMPILE_IFELSE): ... this.
15577 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15578 (AC_LINK_IFELSE): ... this.
15579
5dc43410 155802008-09-21 Felix Zielcke <fzielcke@z-51.de>
15581
15582 * autogen.sh: Add a call to `gendistlist.sh'.
15583
9035dce4 155842008-09-19 Christian Franke <franke@computer.org>
15585
15586 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15587 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15588 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15589 Export __enable_execute_stack() to modules.
15590 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15591 New function.
15592
7fd75377 155932008-09-09 Felix Zielcke <fzielcke@z-51.de>
15594
040030b3 15595 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15596 Sort the list.
15597
155982008-09-09 Felix Zielcke <fzielcke@z-51.de>
15599
15600 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 15601 #include <grub/util/hostdisk.h>.
15602
89d5ffcf 156032008-09-08 Robert Millan <rmh@aybabtu.com>
15604
15605 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15606 segments when their filesz is zero (grub_file_read() interprets
81a06771 15607 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 15608 Use `lowest_segment' rather than 0 for calculating the current
15609 segment load address.
15610
40da438f 156112008-09-08 Robert Millan <rmh@aybabtu.com>
15612
15613 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15614 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15615 clobbered useful information.
15616
ddbf5556 156172008-09-08 Robert Millan <rmh@aybabtu.com>
15618
15619 * include/grub/util/biosdisk.h: Move to ...
15620 * include/grub/util/hostdisk.h: ... here. Update all users.
15621 * util/biosdisk.c: Move to ...
15622 * util/hostdisk.c: ... here. Update all users.
15623
783d0f48 156242008-09-07 Robert Millan <rmh@aybabtu.com>
15625
15626 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15627 variables.
15628 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15629 and length can be stored directly in the `mbi->mmap_addr' and
15630 `mbi->mmap_length' struct fields.
15631
548e2ea5 156322008-09-07 Robert Millan <rmh@aybabtu.com>
15633
15634 * conf/i386.rmk: New file. Provides declaration for building
15635 `cpuid.mod'.
15636 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15637 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15638 variables.
15639 Include `conf/i386.mk'.
15640 * conf/i386-efi.rmk: Likewise.
15641 * conf/x86_64-efi.rmk: Likewise.
15642 * conf/i386-coreboot.rmk: Likewise.
15643 * conf/i386-ieee1275.rmk: Likewise.
15644
0ea85a37 156452008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15646
15647 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15648 Adds optimization support for BGR based modes.
15649
15650 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15651 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15652 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15653 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15654 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15655 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15656 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15657 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15658 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15659 (grub_video_i386_vbeblit_index_index): Likewise.
15660 (grub_video_i386_vbeblit_replace_directN): Added.
15661 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15662 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15663 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15664 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15665 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15666 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 15667 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 15668 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15669 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15670 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15671 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15672 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15673 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15674
15675 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15676 (grub_video_i386_vbefill_R8G8B8): Likewise.
15677 (grub_video_i386_vbefill_index): Likewise.
15678 (grub_video_i386_vbefill_direct32): Added.
15679 (grub_video_i386_vbefill_direct24): Likewise.
15680 (grub_video_i386_vbefill_direct16): Likewise.
15681 (grub_video_i386_vbefill_direct8): Likewise.
15682
81a06771 15683 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 15684 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15685 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15686 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15687 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15688 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 15689
0ea85a37 15690 * video/video.c (grub_video_get_blit_format): Updated to use new
15691 blit formats. Added handling for 16 bit color modes.
81a06771 15692
15693 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 15694 fillers.
15695 (common_blitter): Updated to use new blitters.
15696
15697 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15698 Removed.
15699 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15700 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15701 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15702 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15703 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15704 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15705 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15706 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15707 (grub_video_i386_vbeblit_index_index): Likewise.
15708 (grub_video_i386_vbeblit_replace_directN): Added.
15709 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15710 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15711 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15712 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15713 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15714 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15715 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15716 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15717 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15718 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15719 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15720 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15721 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 15722
0ea85a37 15723 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15724 (grub_video_i386_vbefill_R8G8B8): Likewise.
15725 (grub_video_i386_vbefill_index): Likewise.
15726 (grub_video_i386_vbefill_direct32): Added.
15727 (grub_video_i386_vbefill_direct24): Likewise.
15728 (grub_video_i386_vbefill_direct16): Likewise.
15729 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 15730
0ea85a37 15731 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15732 types.
81a06771 15733
0ea85a37 15734 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15735 types.
81a06771 15736
0ea85a37 15737 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15738 blitter types.
81a06771 15739
0ea85a37 15740 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15741 types.
15742
e8a83df6 157432008-09-06 Felix Zielcke <fzielcke@z-51.de>
15744
15745 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15746 RAID level 1.
15747
6bcd8ee5 157482008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 15749
6bcd8ee5 15750 * fs/iso9660.c (grub_iso9660_date): New structure.
15751 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15752 (grub_iso9660_uuid): New function.
c375ae58 15753
59261157 157542008-09-05 Bean <bean123ch@gmail.com>
15755
15756 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15757
15758 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15759 insensitive bit for names in Win32 and Win32 & DOS namespace.
15760
15761 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15762
15763 * include/grub/types.h (LONG_MAX): Likewise.
15764
58b6645a 157652008-09-04 Felix Zielcke <fzielcke@z-51.de>
15766
4ee55921 15767 * util/getroot.c: Include <config.h>.
15768 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15769 add support for /dev/md/N devices and handle LVM double dash escaping.
15770
157712008-09-04 Felix Zielcke <fzielcke@z-51.de>
15772
15773 * config.guess: Update to latest version from config git.
15774 * config.sub: Likewise.
58b6645a 15775
9124f65d 157762008-09-03 Robert Millan <rmh@aybabtu.com>
15777
15778 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15779 `disk->total_sectors'.
15780
81a06771 157812008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 15782
15783 * include/grub/normal.h: Fixed incorrect comment for
15784 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15785
81a06771 157862008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 15787
15788 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15789 values with defines.
15790
15791 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15792 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15793 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15794 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15795 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15796 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15797 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15798 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15799 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15800 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15801 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15802 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15803 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15804 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15805 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15806 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15807 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15808 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15809 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15810
93d5cbf8 158112008-08-31 Robert Millan <rmh@aybabtu.com>
15812
15813 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15814 declaration.
15815 (grub_multiboot): Fix a few warnings.
15816
21751d50 158172008-08-31 Robert Millan <rmh@aybabtu.com>
15818
15819 * loader/i386/pc/multiboot.c: Update comment not to say that
15820 boot_device support is unimplemented.
15821
e27a75c5 158222008-08-31 Robert Millan <rmh@aybabtu.com>
15823
15824 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15825 or memory map support are unimplemented.
15826
81a06771 158272008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 15828
15829 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15830
81a06771 158312008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 15832
15833 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15834 total video memory in 'vbeinfo' output; show color format details for
15835 each video mode.
15836
7c5d8d95 158372008-08-30 Pavel Roskin <proski@gnu.org>
15838
15839 * util/genmoddep.c: Remove for real this time.
15840 * DISTLIST: Remove util/genmoddep.c.
15841
4cebd25a 158422008-08-30 Robert Millan <rmh@aybabtu.com>
15843
15844 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
15845 as required by Multiboot spec (it was already 4-byte aligned, but
15846 only by chance).
15847
b497a269 158482008-08-29 Pavel Roskin <proski@gnu.org>
15849
e3925185 15850 * kern/powerpc/ieee1275/crt0.S: Rename to ...
15851 * kern/powerpc/ieee1275/startup.S: ... this.
15852 * conf/powerpc-ieee1275.rmk: Adjust for the above.
15853 * DISTLIST: Likewise.
15854
b497a269 15855 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
15856 grub/cpu/kernel.h. Add start label for consistency with other
15857 platforms. Add grub_prefix immediately after start. Add jump
15858 to the code after grub_prefix.
15859 * include/grub/powerpc/kernel.h: Provide valid values for
15860 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
15861
6e5a42fe 158622008-08-29 Bean <bean123ch@gmail.com>
15863
15864 * configure.ac: Change host_os to cygwin for mingw.
15865 (asprintf): New check for function.
15866
15867 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15868 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15869
15870 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 15871 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 15872 sync, sleep and grub_util_get_disk_size for mingw.
15873
15874 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15875 to get size in mingw.
15876 (open_device): Use flag O_BINARY if it's defined.
15877 (find_root_device): Add dummy code for mingw.
15878
15879 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15880 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15881 (get_scsi_disk_name): Return 0 for mingw.
15882
15883 * util/hostfs.c: #include <grub/util/misc.h>.
15884 (grub_hostfs_open): Use "rb" flag to open file, use
15885 grub_util_get_disk_size to get disk size for mingw.
15886
15887 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15888 (asprintf): New function if HAVE_ASPRINTF is not set.
15889 (sync): New function for mingw.
15890 (sleep): Likewise.
15891 (grub_util_get_disk_size): Likewise.
15892
ab3f2673 158932008-08-28 Pavel Roskin <proski@gnu.org>
15894
15895 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15896 kern/time.c.
15897
1c282483 158982008-08-28 Robert Millan <rmh@aybabtu.com>
15899
15900 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15901
678e849c 159022008-08-28 Robert Millan <rmh@aybabtu.com>
15903
15904 Change find_grub_drive() syntax so it doesn't prevent it from
15905 detecting NULL names as errors.
15906
15907 * util/biosdisk.c (find_grub_drive): Move free slot search code
15908 from here ...
15909 (find_free_slot): ... to here.
15910 (read_device_map): Use find_free_slot() to search for free slots.
15911
965c75ca 159122008-08-27 Marco Gerards <marco@gnu.org>
15913
15914 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15915 (scsi_mod_SOURCES): New variable.
15916 (scsi_mod_CFLAGS): Likewise
15917 (scsi_mod_LDFLAGS): Likewise.
15918
15919 * disk/scsi.c: New file.
15920
15921 * include/grub/scsi.h: Likewise.
15922
15923 * include/grub/scsicmd.h: Likewise.
15924
15925 * disk/ata.c: Include <grub/scsi.h>.
15926 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15927 instead.
15928 (grub_ata_iterate): Skip ATAPI devices.
15929 (grub_ata_open): Only handle ATAPI devices.
15930 (struct grub_atapi_read): Removed.
15931 (grub_atapi_readsector): Likewise.
15932 (grub_ata_read): No longer handle ATAPI devices.
15933 (grub_ata_write): Likewise.
15934 (grub_atapi_iterate): New function.
15935 (grub_atapi_read): Likewise.
15936 (grub_atapi_write): Likewise.
15937 (grub_atapi_open): Likewise.
15938 (grub_atapi_close): Likewise.
15939 (grub_atapi_dev): New variable.
15940 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15941 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15942
15943 * include/grub/disk.h (enum grub_disk_dev_id): Add
15944 `GRUB_DISK_DEVICE_SCSI_ID'.
15945
c07ae501 159462008-08-26 Robert Millan <rmh@aybabtu.com>
15947
15948 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15949 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15950 descriptive.
15951
5ed20adc 159522008-08-23 Bean <bean123ch@gmail.com>
15953
15954 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15955 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15956 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15957 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15958 dm_nv.mod.
15959 (raid5rec_mod_SOURCES): New macro.
15960 (raid5rec_mod_CFLAGS): Likewise.
15961 (raid5rec_mod_LDFLAGS): Likewise.
15962 (raid6rec_mod_SOURCES): Likewise.
15963 (raid6rec_mod_CFLAGS): Likewise.
15964 (raid6rec_mod_LDFLAGS): Likewise.
15965 (mdraid_mod_SOURCES): Likewise.
15966 (mdraid_mod_CFLAGS): Likewise.
15967 (mdraid_mod_LDFLAGS): Likewise.
15968 (dm_nv_mod_SOURCES): Likewise.
15969 (dm_nv_mod_CFLAGS): Likewise.
15970 (dm_nv_mod_LDFLAGS): Likewise.
15971
15972 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15973 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15974 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15975
15976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15977 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15978
15979 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15980
15981 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15982
15983 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15984
15985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15986
15987 * disk/raid5_recover.c: New file.
15988
15989 * disk/raid6_recover.c: Likewise.
15990
15991 * disk/mdraid_linux.c: Likewise.
15992
15993 * disk/dmraid_nvidia.c: Likewise.
15994
15995 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15996 ULONG_MAX.
15997
15998 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15999 calculate the size of raid device.
16000 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16001 different layout of raid5.
16002 (grub_raid_scan_device): Remove code specific to mdraid.
16003 (grub_raid_list): New variable.
16004 (free_array): New function.
16005 (grub_raid_register): Likewise.
16006 (grub_raid_unregister): Likewise.
16007 (grub_raid_rescan): Likewise.
16008 (GRUB_MOD_INIT): Don't iterate device here.
16009 (GRUB_MOD_FINI): Use free_array to release resource.
16010
16011 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16012 (grub_raid5_recover_func_t): New function variable type.
16013 (grub_raid6_recover_func_t): Likewise.
16014 (grub_raid5_recover_func): New variable.
16015 (grub_raid6_recover_func): Likewise.
16016 (grub_raid_register): New function.
16017 (grub_raid_unregister): Likewise.
16018 (grub_raid_rescan): Likewise.
16019 (grub_raid_block_xor): Likewise.
16020
16021 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16022 (CMD_CRC): New macro.
16023 (part): Removed.
16024 (read_file): Handle device as well as file.
16025 (cmd_crc): New function.
16026 (fstest): Handle multiple disks.
16027 (options): Remove part, raw and long, add root and diskcount.
16028 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 16029 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 16030 add handling for the new options, support multiple disks.
16031
16032 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16033
29c18915 160342008-08-23 Bean <bean123ch@gmail.com>
16035
16036 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16037
16038 * genfslist.sh: Ignore kernel.mod.
16039
16040 * genpartmaplist.sh: Likewise.
16041
8415f261 160422008-08-23 Robert Millan <rmh@aybabtu.com>
16043
16044 * util/getroot.c (find_root_device): Skip anything that starts with
16045 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16046
d5a7dc5b 160472008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 16048
d5a7dc5b 16049 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16050 * util/grub.d/00_header.in: Allow the administrator to change default
16051 gfxmode via ${GRUB_GFXMODE}.
16052
380cfbb4 160532008-08-21 Felix Zielcke <fzielcke@z-51.de>
16054
16055 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16056
c9baafe7 160572008-08-21 Robert Millan <rmh@aybabtu.com>
16058
16059 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16060 loader.
16061 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16062 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16063
e290bef2 160642008-08-20 Carles Pina i Estany <carles@pina.cat>
16065
16066 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16067 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16068
f9dbfc96 160692008-08-19 Robert Millan <rmh@aybabtu.com>
16070
16071 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16072 (struct grub_virtual_screen): Remove `cursor_color'.
16073 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16074 initialization.
16075 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16076
dd6bd6ab 160772008-08-18 Robert Millan <rmh@aybabtu.com>
16078
16079 Unify (identical) linux_normal.c files.
16080 * loader/i386/efi/linux_normal.c: Move from here ...
16081 * loader/linux_normal.c: ... to here. Update all users.
16082 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16083 * loader/i386/ieee1275/linux_normal.c: Likewise.
16084
7f42f83e 160852008-08-18 Robert Millan <rmh@aybabtu.com>
16086
16087 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16088 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16089 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16090 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16091 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16092 New macros.
16093 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16094 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16095 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16096 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16097 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16098 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16099 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16100 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16101 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16102 portably using grub_getxy().
16103 Replace `-EFI' with `-bzImage' in boot message.
16104
38487ddb 161052008-08-17 Robert Millan <rmh@aybabtu.com>
16106
16107 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16108
deceb3ec 161092008-08-17 Robert Millan <rmh@aybabtu.com>
16110
16111 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16112
16113 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16114 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16115 (grub_machine_mmap_iterate): New function declaration.
16116 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16117 structure.
16118 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16119 macros.
16120
16121 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16122 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16123 Move e820 parsing from here ...
16124 * kern/i386/pc/mmap.c: New file.
16125 (grub_machine_mmap_iterate): ... to here.
16126
16127 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16128 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16129 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16130 (grub_available_iterate): Redeclare to return `void', and redeclare
16131 its hook to use grub_uint64_t as addr and size parameters, and rename
16132 to ...
16133 (grub_machine_mmap_iterate): ... this. Update all users.
16134
16135 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16136 to make it more readable. Rename to ...
16137 (grub_machine_mmap_iterate): ... this.
16138
16139 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16140 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16141 (grub_multiboot): Allocate an extra region after the payload, and fill
16142 it with a Multiboot memory map. Adjust a.out loader to calculate size
16143 with the extra space.
16144 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16145 with the extra space.
16146
f8aa0f43 161472008-08-17 Carles Pina i Estany <carles@pina.cat>
16148
9807deb9 16149 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 16150
605f5bb6 161512008-08-17 Felix Zielcke <fzielcke@z-51.de>
16152
16153 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16154 mdate-sh to the list `find' searches for.
16155 * DISTLIST: Regenerated.
16156
210db6c6 161572008-08-16 Felix Zielcke <fzielcke@z-51.de>
16158
16159 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16160 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 16161 genmoddep.awk, gensymlist.sh.in.
16162 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 16163 * DISTLIST: Regenerated.
48cdbfd4 16164 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 16165
1082b929 161662008-08-16 Robert Millan <rmh@aybabtu.com>
16167
16168 * disk/raid.c (grub_raid_init): Handle/report errors set by
16169 grub_device_iterate().
16170 * disk/lvm.c (grub_lvm_init): Likewise.
16171
42ce5170 161722008-08-15 Bean <bean123ch@gmail.com>
16173
16174 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16175 and datehook.mod.
16176 (datetime_mod_SOURCES): New macro.
16177 (datetime_mod_CFLAGS): Likewise.
16178 (datetime_mod_LDFLAGS): Likewise.
16179 (date_mod_SOURCES): Likewise.
16180 (date_mod_CFLAGS): Likewise.
16181 (date_mod_LDFLAGS): Likewise.
16182 (datehook_mod_SOURCES): Likewise.
16183 (datehook_mod_CFLAGS): Likewise.
16184 (datehook_mod_LDFLAGS): Likewise.
16185
16186 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16187 and datehook.mod.
16188 (datetime_mod_SOURCES): New macro.
16189 (datetime_mod_CFLAGS): Likewise.
16190 (datetime_mod_LDFLAGS): Likewise.
16191 (date_mod_SOURCES): Likewise.
16192 (date_mod_CFLAGS): Likewise.
16193 (date_mod_LDFLAGS): Likewise.
16194 (datehook_mod_SOURCES): Likewise.
16195 (datehook_mod_CFLAGS): Likewise.
16196 (datehook_mod_LDFLAGS): Likewise.
16197
16198 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16199 and datehook.mod.
16200 (datetime_mod_SOURCES): New macro.
16201 (datetime_mod_CFLAGS): Likewise.
16202 (datetime_mod_LDFLAGS): Likewise.
16203 (date_mod_SOURCES): Likewise.
16204 (date_mod_CFLAGS): Likewise.
16205 (date_mod_LDFLAGS): Likewise.
16206 (datehook_mod_SOURCES): Likewise.
16207 (datehook_mod_CFLAGS): Likewise.
16208 (datehook_mod_LDFLAGS): Likewise.
16209
16210 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16211 and datehook.mod.
16212 (datetime_mod_SOURCES): New macro.
16213 (datetime_mod_CFLAGS): Likewise.
16214 (datetime_mod_LDFLAGS): Likewise.
16215 (date_mod_SOURCES): Likewise.
16216 (date_mod_CFLAGS): Likewise.
16217 (date_mod_LDFLAGS): Likewise.
16218 (datehook_mod_SOURCES): Likewise.
16219 (datehook_mod_CFLAGS): Likewise.
16220 (datehook_mod_LDFLAGS): Likewise.
16221
16222 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16223 and datehook.mod.
16224 (datetime_mod_SOURCES): New macro.
16225 (datetime_mod_CFLAGS): Likewise.
16226 (datetime_mod_LDFLAGS): Likewise.
16227 (date_mod_SOURCES): Likewise.
16228 (date_mod_CFLAGS): Likewise.
16229 (date_mod_LDFLAGS): Likewise.
16230 (datehook_mod_SOURCES): Likewise.
16231 (datehook_mod_CFLAGS): Likewise.
16232 (datehook_mod_LDFLAGS): Likewise.
16233
16234 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16235
16236 * commands/date.c: New file.
16237
16238 * hook/datehook.c: Likewise.
16239
16240 * include/grub/lib/datetime.h: Likewise.
16241
16242 * include/grub/i386/cmos.h: Likewise.
16243
16244 * lib/datetime.c: Likewise.
16245
16246 * lib/i386/datetime.c: Likewise.
16247
16248 * lib/efi/datetime.c: Likewise.
16249
0e9242da 162502008-08-14 Robert Millan <rmh@aybabtu.com>
16251
16252 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16253 (grub_mkelfimage_SOURCES): New variable.
16254 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16255
16256 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16257 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16258 * conf/powerpc-ieee1275.rmk: Likewise.
16259 * conf/i386-ieee1275.rmk: Likewise.
16260
16261 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16262 * kern/i386/coreboot/init.c: Likewise.
16263
16264 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16265 with `<grub/cpu/kernel.h>'.
16266 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16267 to ...
16268 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16269 * kern/i386/coreboot/startup.S: Likewise.
16270
16271 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16272 (GRUB_MOD_GAP): Remove.
16273 * include/grub/powerpc/kernel.h: New file.
16274 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16275 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16276 * include/grub/i386/kernel.h: New file.
16277 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16278 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16279 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16280
16281 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16282 `grub-mkelfimage'.
16283 Use --directory when invoking grub_mkimage.
16284
16285 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16286 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16287 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16288 and GRUB_KERNEL_CPU_PREFIX.
16289
b86408f8 162902008-08-14 Felix Zielcke <fzielcke@z-51.de>
16291
d5e619ca 16292 * include/grub/err.h (grub_err_printf): New function prototype.
16293 * util/misc.c (grub_err_printf): New function.
16294 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16295 grub_printf.
16296 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 16297
7161f0e0 162982008-08-13 Robert Millan <rmh@aybabtu.com>
16299
16300 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16301
a1967522 163022008-08-13 Robert Millan <rmh@aybabtu.com>
16303
16304 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16305 boot entry.
16306
371458b5 163072008-08-12 Robert Millan <rmh@aybabtu.com>
16308
16309 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16310 of the relocation code from here ...
16311 (grub_multiboot): ... to here.
16312 (forward_relocator, backward_relocator): Move from here ...
16313 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16314 (grub_multiboot_backward_relocator): ... to here.
16315 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16316 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16317 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16318 (grub_multiboot_forward_relocator_end)
16319 (grub_multiboot_backward_relocator)
16320 (grub_multiboot_backward_relocator_end): New variables.
16321
05f9452b 163222008-08-12 Bean <bean123ch@gmail.com>
16323
16324 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16325
20024ab0 163262008-08-11 Robert Millan <rmh@aybabtu.com>
16327
16328 * kern/i386/linuxbios/startup.S: Move from here ...
16329 * kern/i386/coreboot/startup.S: ... to here.
16330
16331 * kern/i386/linuxbios/init.c: Move from here ...
16332 * kern/i386/coreboot/init.c: ... to here.
16333
16334 * kern/i386/linuxbios/table.c: Move from here ...
16335 * kern/i386/coreboot/mmap.c: ... to here.
16336
16337 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16338
e352e9cd 163392008-08-11 Robert Millan <rmh@aybabtu.com>
16340
16341 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16342 errors. Leave it to the upper layer to handle them.
16343
2d05bc6a 163442008-08-09 Christian Franke <franke@computer.org>
16345
16346 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16347 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16348 Install `grub.d/10_windows' only on Cygwin.
16349 * configure.ac: Add subst of `target_os'.
16350 Check `target_os' also before setting TARGET_OBJ2ELF.
16351 Add `--enable-grub-pe2elf'.
16352
042bd419 163532008-08-08 Robert Millan <rmh@aybabtu.com>
16354
16355 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16356 (grub_last_time): Change type to grub_uint64_t.
16357 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16358 (grub_disk_close): Likewise.
16359
16360 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16361 (run_menu): Migrate code from to using grub_get_time_ms().
16362
16363 * util/misc.c (grub_get_time_ms): New function.
16364
7f280db5 163652008-08-08 Marco Gerards <marco@gnu.org>
16366
16367 * disk/ata.c (grub_ata_regget): Change return type to
16368 `grub_uint8_t'.
16369 (grub_ata_regget2): Likewise.
16370 (grub_ata_wait_status): New function.
16371 (grub_ata_wait_busy): Removed function, updated all users to use
16372 `grub_ata_wait_status'.
16373 (grub_ata_wait_drq): Likewise.
16374 (grub_ata_cmd): New function.
16375 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16376 error handling.
16377 (grub_ata_pio_write): Add error handling.
16378 (grub_atapi_identify): Likewise.
16379 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16380 handling.
16381 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16382 handling. Actually use the detected registers. Reorder the
16383 detection logic such that it is easier to read.
16384 (grub_ata_pciinit): Do not assign the same ID to each controller.
16385 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16386 handling.
16387 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16388
16389 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16390
1fbc5e66 163912008-08-08 Marco Gerards <marco@gnu.org>
16392
16393 * NEWS: Update.
16394
819ce6c0 163952008-08-07 Bean <bean123ch@gmail.com>
16396
16397 * include/grub/x86_64/pci.h: New file.
16398
5c41d44d 163992008-08-07 Christian Franke <franke@computer.org>
16400
16401 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16402 (TIMER2_GATE): Likewise.
16403 (grub_pit_wait): Add enable/disable of the timer2 gate
16404 bit of port 0x61. This fixes a possible infinite loop.
16405
5ebc275d 164062008-08-07 Bean <bean123ch@gmail.com>
16407
16408 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16409 kern/i386/tsc.c and kern/i386/pit.c.
16410
16411 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16412 x86_64 platform.
16413
16414 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16415 <grub/i386/tsc.h>.
16416
16417 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16418
e383b3d0 164192008-08-07 Bean <bean123ch@gmail.com>
16420
16421 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16422
16423 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16424
16425 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16426 multiple inclusion. Add #include <grub/types.h>.
16427
1cbb58ac 164282008-08-06 Christian Franke <franke@computer.org>
16429
16430 * conf/common.rmk: Build and install `10_windows'.
16431 * util/grub.d/10_windows.in: New script.
16432
337f5a1e 164332008-08-06 Pavel Roskin <proski@gnu.org>
16434
16435 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16436
057bc4ac 164372008-08-06 Robert Millan <rmh@aybabtu.com>
16438
16439 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16440 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16441
2b99f123 164422008-08-06 Bean <bean123ch@gmail.com>
16443
16444 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16445 (grub_pxefs_fs_int): Remove dummy definition.
16446 (grub_pxefs_open): Use data->block_size to store the current block
16447 size setting.
16448 (grub_pxefs_read): Use block size stored in data->block_size. As the
16449 value of grub_pxe_blksize can be changed after the file is opened.
16450
9f0234cb 164512008-08-06 Bean <bean123ch@gmail.com>
16452
16453 * fs/i386/pc/pxe.c (curr_file): new variable.
16454 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16455 require the dummy internal file system anymore.
16456 (grub_pxefs_read): Removed.
16457 (grub_pxefs_close): Likewise.
16458 (grub_pxefs_fs_int): Likewise.
16459 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16460 connection when we switch file.
16461 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16462
a55d42e0 164632008-08-06 Robert Millan <rmh@aybabtu.com>
16464
16465 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16466 `halt.mod'.
16467 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16468 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16469
16470 * kern/i386/halt.c: New file.
16471 * kern/i386/reboot.c: Likewise.
16472 * include/grub/i386/reboot.h: Likewise.
16473 * include/grub/i386/halt.h: Likewise.
16474
16475 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16476 Include `<grub/cpu/halt.h>'.
16477 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16478 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16479
16480 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16481 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16482 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16483 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16484 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16485 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16486 from here ...
16487 * include/grub/i386/at_keyboard.h: ... to here.
16488
24371d26 164892008-08-05 Robert Millan <rmh@aybabtu.com>
16490
16491 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16492 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16493 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16494 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16495 `kern/generic/millisleep.c'.
16496
16497 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16498 instead of grub_get_rtc().
16499 (grub_tsc_init): Initialize `tsc_boot_time'.
16500
16501 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16502 (grub_machine_init): Use grub_tsc_init() rather than
16503 installing an RTC-based handler via grub_install_get_time_ms().
16504
16505 * kern/i386/pit.c: New file.
16506 * include/grub/i386/pit.h: Likewise.
16507
9e7007b3 165082008-08-05 Bean <bean123ch@gmail.com>
16509
16510 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16511
16512 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16513 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16514 (pxe_mod_SOURCES): New macro.
16515 (pxe_mod_CFLAGS): Likewise.
16516 (pxe_mod_LDFLAGS): Likewise.
16517 (pxecmd_mod_SOURCES): Likewise.
16518 (pxecmd_mod_CFLAGS): Likewise.
16519 (pxecmd_mod_LDFLAGS): Likewise.
16520
16521 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16522 (grub_pxe_call): Likewise.
16523
16524 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16525
16526 * commands/i386/pc/pxecmd.c: New file.
16527
9f0234cb 16528 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 16529
16530 * include/grub/i386/pc/pxe.h: Likewise.
16531
6977d49f 165322008-08-05 Bean <bean123ch@gmail.com>
16533
16534 * util/console.c (grub_console_cur_color): New variable.
16535 (grub_console_standard_color): Likewise.
16536 (grub_console_normal_color): Likewise.
16537 (grub_console_highlight_color): Likewise.
16538 (color_map): Likewise.
16539 (use_color): Likewise.
16540 (NUM_COLORS): New macro.
16541 (grub_ncurses_setcolorstate): Handle color properly.
16542 (grub_ncurses_setcolor): Don't change color here, just remember the
16543 settings, color will be set in grub_ncurses_setcolorstate.
16544 (grub_ncurses_getcolor): New function.
16545 (grub_ncurses_init): Initialize color pairs.
16546 (grub_ncurses_term): New member grub_ncurses_getcolor.
16547
9c2ff3ee 165482008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 16549
9c2ff3ee 16550 High resolution timer support. Implemented for x86 CPUs using TSC.
16551 Extracted generic grub_millisleep() so it's linked in only as needed.
16552 This requires a Pentium compatible CPU; if the RDTSC instruction is
16553 not supported, then it falls back on the generic grub_get_time_ms()
16554 implementation that uses the machine's RTC.
16555
16556 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16557 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16558 `kern/generic/millisleep.c'.
16559
16560 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16561 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16562
16563 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16564 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16565
16566 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16567
16568 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16569 `kern/generic/millisleep.c'.
16570
16571 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16572
16573 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16574
16575 * kern/generic/rtc_get_time_ms.c: New file.
16576
16577 * kern/generic/millisleep.c: New file.
337f5a1e 16578
9c2ff3ee 16579 * kern/misc.c: Don't include
16580 <kern/time.h> anymore.
16581 (grub_millisleep_generic): Removed.
16582
16583 * commands/sleep.c (grub_interruptible_millisleep): Uses
16584 grub_get_time_ms() instead of grub_get_rtc().
16585
16586 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16587 function.
16588 (grub_cpu_is_cpuid_supported): New inline function.
16589 (grub_cpu_is_tsc_supported): New inline function.
16590 (grub_tsc_init): New function prototype.
16591 (grub_tsc_get_time_ms): New function prototype.
16592
16593 * kern/i386/tsc.c (grub_get_time_ms): New file.
16594
16595 * include/grub/time.h: Include <grub/types.h.
16596 (grub_millisleep_generic): Removed.
16597 (grub_get_time_ms): New prototype.
16598 (grub_install_get_time_ms): New prototype.
16599 (grub_rtc_get_time_ms): New prototype.
16600
16601 * kern/time.c (grub_get_time_ms): New function.
16602 (grub_install_get_time_ms): New function.
16603
16604 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16605 <grub/time.h> anymore.
16606 (grub_millisleep): Removed.
16607 (grub_machine_init): Call grub_tsc_init.
16608
16609 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16610 get_time_ms() implementation.
16611
16612 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16613 (ieee1275_get_time_ms): New function.
16614 (grub_machine_init): Install get_time_ms() implementation.
16615
16616 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16617 (grub_machine_init): Call grub_tsc_init().
16618 (grub_millisleep): Removed.
bf06a93f 16619
9c2ff3ee 16620 * kern/ieee1275/init.c (grub_millisleep): Removed.
16621 (grub_machine_init): Install ieee1275_get_time_ms()
16622 implementation.
16623 (ieee1275_get_time_ms): New function.
16624 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16625 real work.
16626
9ec92aaf 166272008-08-05 Marco Gerards <marco@gnu.org>
16628
16629 * disk/ata.c: Include <grub/pci.h>.
16630 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16631 (grub_ata_initialize): Rewritten.
16632 (grub_ata_device_initialize): New function.
16633
8d23f507 166342008-08-04 Pavel Roskin <proski@gnu.org>
16635
16636 * kern/main.c: Include grub/mm.h.
16637
5e15ee3d 166382008-08-04 Robert Millan <rmh@aybabtu.com>
16639
16640 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16641 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16642 corruption problem).
16643
a9053f8f 166442008-08-04 Robert Millan <rmh@aybabtu.com>
16645
16646 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16647 warnings introduced in my last commit.
16648
dd19c7d7 166492008-08-03 Robert Millan <rmh@aybabtu.com>
16650
16651 Make PCI available on all i386 architectures.
16652
16653 * include/grub/i386/pc/pci.h: Move from here ...
16654 * include/grub/i386/pci.h: ... to here.
16655
16656 * include/grub/i386/pc/pci.h: Remove.
16657 * include/grub/i386/efi/pci.h: Remove.
16658 * include/grub/x86_64/efi/pci.h: Remove.
16659
16660 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16661 `<grub/cpu/pci.h>'.
16662
16663 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16664 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16665 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16666
16667 * conf/i386-ieee1275.rmk: Likewise.
16668
e14a6184 166692008-08-03 Robert Millan <rmh@aybabtu.com>
16670
16671 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16672 (grub_console_setcursor): Make it possible to set cursor off.
16673
52768e37 166742008-08-03 Robert Millan <rmh@aybabtu.com>
16675
16676 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16677 of modules instead of assuming which platform provides what.
16678 * util/update-grub.in: Likewise.
16679
2d52f57f 166802008-08-03 Robert Millan <rmh@aybabtu.com>
16681
16682 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16683 instead of `grub_install_dos_part' to determine whether a drive needs
16684 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 16685 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 16686
2a5cd121 166872008-08-02 Robert Millan <rmh@aybabtu.com>
16688
16689 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16690
93808428 166912008-08-02 Robert Millan <rmh@aybabtu.com>
16692
16693 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16694 of informational grub_dprintf() calls.
16695
3bd0a12a 166962008-08-02 Robert Millan <rmh@aybabtu.com>
16697
16698 * disk/memdisk.c (memdisk_size): Don't initialize.
16699 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16700
16701 * include/grub/i386/pc/kernel.h
16702 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16703 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16704 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16705 (grub_arch_memdisk_size): Remove.
16706
16707 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16708 field (was only used to transfer a constant). Add `type' field to
16709 support multiple module types.
16710 (grub_module_iterate): New function.
16711
16712 * kern/device.c (grub_device_open): Do not hide error messages
16713 when grub_disk_open() fails. Use grub_print_error() instead.
16714
16715 * kern/i386/pc/init.c (grub_arch_modules_addr)
16716 (grub_arch_memdisk_size): Remove functions.
16717 (grub_arch_modules_addr): Return the module address in high memory
16718 (now that it isn't copied anymore).
16719
16720 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16721 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16722 decompression routine (grub_total_module_size already includes that
16723 now). Don't copy modules back to low memory.
16724
16725 * kern/main.c: Include `<grub/mm.h>'.
16726 (grub_load_modules): Split out (and use) ...
16727 (grub_module_iterate): ... this function, which iterates through
16728 module objects and runs a hook.
16729 Comment out grub_mm_init_region() call, as it would cause non-ELF
16730 modules to be overwritten.
16731
16732 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16733 the memdisk image in its own region, make it part of the module list.
16734 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16735 (main): Parse --memdisk|-m option, and pass user-provided path as
16736 parameter to generate_image().
16737 (add_segments): Pass `memdisk_path' down to load_modules().
16738 (load_modules): Embed memdisk image in module section when requested.
16739 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16740 `header.type' instead of `header.offset'.
16741
16742 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16743 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16744 (memdisk_mod_LDFLAGS): New variables.
16745 * conf/i386-coreboot.rmk: Likewise.
16746 * conf/i386-ieee1275.rmk: Likewise.
16747
a927cc73 167482008-08-02 Robert Millan <rmh@aybabtu.com>
16749
16750 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16751 (backward_relocator): New variables. Used to allocate and relocate
16752 the payload, respectively.
16753 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 16754 address, install the appropriate relocator code in each bound of
a927cc73 16755 the payload, and set the entry point such that
16756 grub_multiboot_real_boot() will jump to one of them.
16757
16758 * kern/i386/loader.S (grub_multiboot_payload_size)
16759 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16760 (grub_multiboot_payload_entry_offset): New variables.
16761 (grub_multiboot_real_boot): Set cpu context to what the relocator
16762 expects, and jump to the relocator instead of the payload.
16763
16764 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16765 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16766 (grub_multiboot_payload_entry_offset): Export.
16767
b15d8a0c 167682008-08-01 Bean <bean123ch@gmail.com>
16769
16770 * normal/menu_entry.c (editor_getline): Don't return the original
16771 string as result, as it will be released by lexer once it has done
16772 using it.
16773
cdfb3d22 167742008-08-01 Robert Millan <rmh@aybabtu.com>
16775
16776 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16777 within menuentries, not before them.
16778 util/grub.d/10_hurd.in: Likewise.
16779
9175e93d 167802008-08-01 Bean <bean123ch@gmail.com>
16781
16782 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16783 (bufio_mod_SOURCES): New macro.
16784 (bufio_mod_CFLAGS): Likewise.
16785 (bufio_mod_LDFLAGS): Likewise.
16786
16787 * include/grub/bufio.h: New file.
16788
16789 * io/bufio.c: Likewise.
16790
16791 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16792 (grub_video_reader_png): Use grub_buffile_open to open file.
16793
16794 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16795 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16796
16797 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16798 (grub_video_reader_tga): Use grub_buffile_open to open file.
16799
16800 * font/manager.c: Include <grub/bufio.h>.
16801 (add_font): Use grub_buffile_open to open file.
16802
3d8383e7 168032008-07-31 Robert Millan <rmh@aybabtu.com>
16804
16805 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16806 ELF segments, use a macro for arbitrarily accessing any of them instead
16807 of preparing a pointer that allows access to one at a time.
16808 (grub_multiboot_load_elf64): Likewise.
16809
16e641b6 168102008-07-31 Bean <bean123ch@gmail.com>
16811
16812 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16813 GRUB_KERNEL_MACHINE_DATA_END.
16814
59198b72 168152008-07-30 Robert Millan <rmh@aybabtu.com>
16816
16817 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16818 Increase from 0x50 to 0x60.
16819 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16820 use UUIDs to identify the root drive for them. If that's not
16821 possible, abort.
16822 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16823 check, for cross-disk installs.
16824
ae88bca3 168252008-07-30 Robert Millan <rmh@aybabtu.com>
16826
16827 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16828 is non-empty, use it to set the `prefix' environment variable instead
16829 of the usual approach.
16830 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16831 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16832 environment variable instead of dummy make_install_device().
16833
16834 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16835 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 16836 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 16837
16838 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
16839 New variable reference.
16840 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
16841 New macro. Defines offset of `grub_prefix' within startup.S (relative
16842 to `start').
16843 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
16844 section within startup.S (relative to `start').
16845 * include/grub/i386/coreboot/kernel.h: Likewise.
16846
16847 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
16848 Overwrite grub_prefix with its contents, at the beginning of the
16849 first segment.
16850 (main): Understand -p|--prefix.
16851
14f41dd1 168522008-07-30 Robert Millan <rmh@aybabtu.com>
16853
16854 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
16855
4ca049a3 168562008-07-30 Robert Millan <rmh@aybabtu.com>
16857
16858 * term/i386/pc/vga_text.c (grub_console_cls): Use
16859 grub_console_gotoxy() to go back to beginning of the screen.
16860 Found by Patrick Georgi <patrick.georgi@coresystems.de>
16861
2921d337 168622008-07-29 Christian Franke <franke@computer.org>
16863
16864 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16865 Add conversion of emulated mount points on Cygwin.
16866
b609876d 168672008-07-29 Christian Franke <franke@computer.org>
16868
16869 * util/update-grub.in: Add a check for admin
16870 group on Cygwin.
16871 Remove old `grub.cfg.new' before creation.
16872 Add `-f' to `mv' to handle the different filesystem
16873 semantics of Windows.
16874
e93e4679 168752008-07-29 Bean <bean123ch@gmail.com>
16876
16877 * normal/main.c (get_line): Fix buffer overflow bug.
16878
41694fd0 168792008-07-28 Robert Millan <rmh@aybabtu.com>
16880
16881 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16882 (struct grub_apple_header): New struct. Describes the layout of
16883 the partmap header.
16884 (apple_partition_map_iterate): Check the header magic as well as the
16885 partition magic (which was already being checked).
16886
cfd0b4e6 168872008-07-28 Pavel Roskin <proski@gnu.org>
16888
16889 * genmk.rb: Add a warning to the beginning of the output that
16890 it's a generated file and should not be edited.
16891
93cce016 168922008-07-28 Robert Millan <rmh@aybabtu.com>
16893
16894 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16895 with the same number are found, just use issue a warning with
16896 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 16897
cd1df915 168982008-07-27 Robert Millan <rmh@aybabtu.com>
16899
16900 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16901 information.
16902
b70a8427 169032008-07-27 Bean <bean123ch@gmail.com>
16904
16905 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16906 (grub_fat_find_dir): Ignore case when comparing filename.
16907
8f5e379f 169082008-07-27 Bean <bean123ch@gmail.com>
16909
16910 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16911 smallino, as it's more descriptive, and i8count can be confused with
16912 the other field count.
16913 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16914 inode type.
16915
a85cd5a0 169162008-07-27 Bean <bean123ch@gmail.com>
16917
16918 * commands/crc.c: New file.
16919
16920 * lib/crc.c: Likewise.
16921
16922 * include/grub/lib/crc.h: Likewise.
16923
16924 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16925
16926 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16927 (hexdump): Move this function to ...
16928
16929 * lib/hexdump.c: ... here.
16930
16931 * include/grub/hexdump.h: Renamed to ...
16932
16933 * include/grub/lib/hexdump.h: ... this.
16934
16935 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16936
16937 * util/grub-editenv.c: Likewise.
16938
16939 * include/envblk.h: Renamed to ...
16940
16941 * include/lib/envblk.h: ... this.
16942
16943 * util/envblk.c: Renamed to ...
16944
16945 * lib/envblk.c: ... this.
16946
16947 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16948 lib/hexdump.c.
16949 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16950 (pkglib_MODULES): Add crc.mod.
16951 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16952 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16953 (crc_mod_SOURCES): New macro.
16954 (crc_mod_CFLAGS): Likewise.
16955 (crc_mod_LDFLAGS): Likewise.
16956
16957 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16958
16959 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16960
16961 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16962
16963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16964
16965 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16966
c298def0 169672008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 16968
16969 * commands/help.c: Include <grub/term.h>.
16970 (TERM_WIDTH): Removed. Updated all users.
16971
cc349fb3 169722008-07-27 Pavel Roskin <proski@gnu.org>
16973
16974 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16975 spurious warnings about a comment within a comment.
16976
9051607e 169772008-07-25 Robert Millan <rmh@aybabtu.com>
16978
16979 * util/getroot.c (find_root_device): Skip devices that match
16980 /dev/dm-[0-9]. This lets the real device be found for any type of
16981 abstraction (LVM, EVMS, RAID..).
16982 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16983 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16984 device is found first, find_root_device() will now skip it.
16985
01453bfc 169862008-07-24 Pavel Roskin <proski@gnu.org>
16987
16988 * include/grub/types.h: Use __builtin_bswap32() and
16989 __builtin_bswap64() with gcc 4.3 and newer.
16990
6af9849f 169912008-07-24 Christian Franke <franke@computer.org>
16992
3a0fa256 16993 * util/i386/pc/grub-install.in: If `--debug' is specified,
16994 pass `--verbose' to grub-setup.
16995 Abort script if make_system_path_relative_to_its_root() fails.
16996
7810e747 169972008-07-24 Bean <bean123ch@gmail.com>
16998
16999 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17000 variable `target_platform' should be `platform'.
17001
42290e17 170022008-07-24 Bean <bean123ch@gmail.com>
17003
51cc5193 17004 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 17005 (grub_png_init_fixed_block): New function.
17006 (grub_png_decode_image_data): Handle fixed huffman code compression.
17007
2a8a80e4 170082008-07-24 Bean <bean123ch@gmail.com>
17009
17010 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17011 (grub_pe2elf_SOURCES): New macro.
17012 (CLEANFILES): Add grub-pe2elf.
17013
17014 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17015 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17016 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17017 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17018 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17019 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17020 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17021 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17022 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17023 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17024 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17025 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17026 (GRUB_PE32_DT_FUNCTION): Likewise.
17027 (GRUB_PE32_REL_I386_DIR32): Likewise.
17028 (GRUB_PE32_REL_I386_REL32): Likewise.
17029 (grub_pe32_symbol): New structure.
17030 (grub_pe32_reloc): Likewise.
17031
17032 * util/grub-pe2elf.c: New file.
17033
17034 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17035 start symbol in non pc platform.
17036
17037 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17038
17039 The following patches are from Christian Franke.
17040
17041 * include/grub/dl.h: Remove .previous, gas supports this only
17042 for ELF format.
17043
17044 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17045 Remove .type, gas supports this only for ELF format.
17046
17047 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17048 nullbytes in symbol table. This fixes an infinite loop if table is
17049 zero filled.
17050
17051 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17052 TARGET_IMG_LDFLAGS and EXEEXT.
17053
17054 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17055 TARGET_IMG_LDFLAGS_AC.
17056 (grub_CHECK_STACK_ARG_PROBE): New function.
17057
17058 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17059
17060 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17061
17062 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17063 to set TARGET_IMG_LD* accordingly.
17064 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17065 Add call to grub_CHECK_STACK_ARG_PROBE.
17066 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17067
17068 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17069
17070 * genmk.rb: Add EXEEXT to CLEANFILES.
17071
12ccdb75 170722008-07-23 Robert Millan <rmh@aybabtu.com>
17073
17074 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17075 define the codes for arrows and lines used for the menu).
17076 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17077 as well.
17078
17079 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17080 fonts, because the latter are too slow.
17081
18eeaf04 170822008-07-21 Bean <bean123ch@gmail.com>
17083
17084 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17085 a20. Run keyboard test last, as it will cause macbook to halt.
17086
b095e2ad 170872008-07-18 Pavel Roskin <proski@gnu.org>
17088
17089 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17090 load foreign architecture modules correctly anyway. Keep
17091 support for loading host architecture modules, whether we
17092 compile them or not.
17093
737feb35 170942008-07-17 Pavel Roskin <proski@gnu.org>
17095
3f4ce737 17096 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17097 change target_cpu. The compiler default can mismatch target_cpu
17098 in any case.
17099
4ad2d049 17100 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17101 * kern/efi/efi.c: Likewise.
17102
f6130a12 17103 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17104 target compiler is functional.
17105 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17106 are set up.
17107
58393a2d 17108 * configure.ac: Default to efi platform for x86_64-apple. Allow
17109 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17110 adjustments from the rest, only do them if target is not
17111 explicitly given. Merge other adjustments with the final sanity
17112 check. Remove an extraneous check for supported CPU. Be
17113 specific which CPU and which platform is not supported.
17114
737feb35 17115 * configure.ac: Default to pc platform for x86_64.
17116
546f966a 171172008-07-17 Robert Millan <rmh@aybabtu.com>
17118
17119 Partial LinuxBIOS -> Coreboot rename.
17120
17121 * conf/i386-linuxbios.rmk: Renamed to ...
17122 * conf/i386-coreboot.rmk: ... this.
17123 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17124 * configure.ac: Accept "coreboot" as input platform (but maintain
17125 compatibility with "linuxbios").
17126 * include/grub/i386/linuxbios: Renamed to ...
17127 * include/grub/i386/coreboot: ... this.
17128
20011694 171292008-07-17 Bean <bean123ch@gmail.com>
17130
17131 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 17132 (appleldr_mod_SOURCE): New variable.
20011694 17133 (appleldr_mod_CFLAGS): Likewise.
17134 (appleldr_mod_LDFLAGS): Likewise.
17135 (pci_mod_SOURCES): Likewise.
17136 (pci_mod_CFLAGS): Likewise.
17137 (pci_mod_LDFLAGS): Likewise.
17138 (lspci_mod_SOURCES): Likewise.
17139 (lspci_mod_CFLAGS): Likewise.
17140 (lspci_mod_LDFLAGS): Likewise.
17141
17142 * conf/x86_64-efi.rmk: New file.
17143
17144 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17145 macro.
17146 (grub_efidisk_write): Likewise.
17147
17148 * include/efi/api.h (efi_call_0): New macro.
17149 (efi_call_1): Likewise.
17150 (efi_call_2): Likewise.
17151 (efi_call_3): Likewise.
17152 (efi_call_4): Likewise.
17153 (efi_call_5): Likewise.
17154 (efi_call_6): Likewise.
17155
17156 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17157 grub_rescue_cmd_chainloader.
17158
17159 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17160 (grub_pe32_optional_header): Change some fields based on i386 or
17161 x86_64 platform.
17162 (GRUB_PE32_PE32_MAGIC): Likewise.
17163
17164 * include/grub/efi/uga_draw.h: New file.
17165
17166 * include/grub/elf.h (STN_ABS): New constant.
17167 (R_X86_64_NONE): Relocation constant for x86_64.
17168 (R_X86_64_64): Likewise.
17169 (R_X86_64_PC32): Likewise.
17170 (R_X86_64_GOT32): Likewise.
17171 (R_X86_64_PLT32): Likewise.
17172 (R_X86_64_COPY): Likewise.
17173 (R_X86_64_GLOB_DAT): Likewise.
17174 (R_X86_64_JUMP_SLOT): Likewise.
17175 (R_X86_64_RELATIVE): Likewise.
17176 (R_X86_64_GOTPCREL): Likewise.
17177 (R_X86_64_32): Likewise.
17178 (R_X86_64_32S): Likewise.
17179 (R_X86_64_16): Likewise.
17180 (R_X86_64_PC16): Likewise.
17181 (R_X86_64_8): Likewise.
17182 (R_X86_64_PC8): Likewise.
17183
17184 * include/grub/i386/efi/pci.h: New file.
17185
17186 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17187 Change it value based on platform.
17188 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17189 (GRUB_E820_RAM): Likewise.
17190 (GRUB_E820_RESERVED): Likewise.
17191 (GRUB_E820_ACPI): Likewise.
17192 (GRUB_E820_NVS): Likewise.
17193 (GRUB_E820_EXEC_CODE): Likewise.
17194 (GRUB_E820_MAX_ENTRY): Likewise.
17195 (grub_e820_mmap): New structure.
17196 (linux_kernel_header): Change the efi field according to different
17197 kernel version, also field from linux_kernel_header.
17198
17199 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17200
17201 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17202 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17203 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17204 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17205 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17206 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17207 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17208 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17209 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17210 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17211
17212 * include/grub/x86_64/efi/kernel.h: New file.
17213
17214 * include/grub/x86_64/efi/loader.h: Likewise.
17215
17216 * include/grub/x86_64/efi/machine.h: Likewise.
17217
17218 * include/grub/x86_64/efi/pci.h: Likewise.
17219
17220 * include/grub/x86_64/efi/time.h: Likewise.
17221
17222 * include/grub/x86_64/linux.h: Likewise.
17223
17224 * include/grub/x86_64/setjmp.h: Likewise.
17225
17226 * include/grub/x86_64/time.h: Likewise.
17227
17228 * include/grub/x86_64/types.h: Likewise.
17229
17230 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17231 GRUB_TARGET_SIZEOF_VOID_P.
17232
17233 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17234 (grub_efi_locate_handle): Likewise.
17235 (grub_efi_open_protocol): Likewise.
17236 (grub_efi_set_text_mode): Likewise.
17237 (grub_efi_stall): Likewise.
17238 (grub_exit): Likewise.
17239 (grub_reboot): Likewise.
17240 (grub_halt): Likewise.
17241 (grub_efi_exit_boot_services): Likewise.
17242 (grub_get_rtc): Likewise.
17243
17244 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17245 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17246 (grub_efi_allocate_pages): Wrap efi calls.
17247 (grub_efi_free_pages): Wrap efi calls.
17248 (grub_efi_get_memory_map): Wrap efi calls.
17249
17250 * kern/x86_64/dl.c: New file.
17251
17252 * kern/x86_64/efi/callwrap.S: Likewise.
17253
17254 * kern/x86_64/efi/startup.S: Likewise.
17255
17256 * loader/efi/appleloader.c: Likewise.
17257
17258 * loader/efi/chainloader.c (cmdline): New variable.
17259 (grub_chainloader_unload): Wrap efi calls.
17260 (grub_chainloader_boot): Likewise.
17261 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17262 command line.
17263
17264 * loader/efi/chainloader_normal.c (chainloader_command):
17265 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17266 command line.
17267
17268 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17269 method.
17270 (grub_e820_add_region): New function.
17271 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17272 booting.
17273 (grub_find_video_card): New function.
17274 (grub_linux_setup_video): New function.
17275 (grub_rescue_cmd_linux): Probe for video information.
17276
17277 * normal/x86_64/setjmp.S: New file.
17278
17279 * term/efi/console.c (map_char): New function.
17280 (grub_console_putchar): Map unicode char.
17281 (grub_console_checkkey): Wrap efi calls.
17282 (grub_console_getkey): Likewise.
17283 (grub_console_getwh): Likewise.
17284 (grub_console_gotoxy): Likewise.
17285 (grub_console_cls): Likewise.
17286 (grub_console_setcolorstate): Likewise.
17287 (grub_console_setcursor): Likewise.
17288
17289 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17290
59652a20 172912008-07-16 Pavel Roskin <proski@gnu.org>
17292
ef294055 17293 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17294 format strings.
17295
59652a20 17296 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17297 pointer, not an integer. This fixes a warning and prevents
17298 precision loss on 64-bit systems.
17299 (relocate_addresses): Remove unneeded cast.
17300
afc3b5d7 173012008-07-15 Pavel Roskin <proski@gnu.org>
17302
506b2b3e 17303 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17304
62ead89c 17305 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17306
c4cd51d7 17307 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17308 Fix comparison between signed and unsigned.
17309
0d3d8f28 17310 * include/grub/i386/ieee1275/console.h: Declare
17311 grub_console_init() and grub_console_fini().
17312
8804b286 17313 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17314 It's empty and unused.
17315
ee01cf35 17316 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17317 beginning to avoid warnings with some compilers.
17318
afc3b5d7 17319 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17320 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17321
e4e8eaa5 173222008-07-14 Pavel Roskin <proski@gnu.org>
17323
407aceb4 17324 * kern/env.c (grub_register_variable_hook): Don't copy empty
17325 string, it leaks memory. Pass "" to grub_env_set(), it should
17326 handle constant strings.
17327
e4e8eaa5 17328 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17329 * commands/cmp.c (grub_cmd_cmp): Likewise.
17330 * kern/dl.c (grub_dl_flush_cache): Likewise.
17331 (grub_dl_load_core): Likewise.
17332 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17333 (grub_elf64_load_phdrs): Likewise.
17334
d4e2dad3 173352008-07-13 Pavel Roskin <proski@gnu.org>
17336
17337 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17338 between signed and unsigned.
17339 (LzmaEnc_Finish): Fix warning about an unused parameter.
17340
aa24b516 173412008-07-13 Bean <bean123ch@gmail.com>
17342
17343 * Makefile.in (enable_lzo): New rule.
17344
17345 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17346
17347 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17348
17349 * boot/i386/pc/lnxboot.S: #include <config.h>.
17350
17351 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 17352 its value according to the compression algorithm used, lzo or lzma.
aa24b516 17353
17354 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17355 compression algorithm according to configure macro.
17356
17357 * kern/i386/pc/startup.S (codestart): Likewise.
17358
17359 * kern/i386/pc/lzma_decode.S: New file.
17360
17361 * include/grub/lib/LzFind.h: Likewise.
17362
17363 * include/grub/lib/LzHash.h: Likewise.
17364
17365 * include/grub/lib/LzmaDec.h: Likewise.
17366
17367 * include/grub/lib/LzmaEnc.h: Likewise.
17368
17369 * include/grub/lib/LzmaTypes.h: Likewise.
17370
17371 * lib/LzFind.c: Likewise.
17372
17373 * lib/LzmaDec.c: Likewise.
17374
17375 * lib/LzmaEnc.c: Likewise.
17376
4ae821ac 173772008-07-13 Bean <bean123ch@gmail.com>
17378
17379 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17380 (grub_ext4_extent_header): New structure.
17381 (grub_ext4_extent): Likewise.
17382 (grub_ext4_extent_idx): Likewise.
17383 (grub_ext4_find_leaf): New function.
17384 (grub_ext2_read_block): Handle extents.
17385
9a745147 173862008-07-12 Robert Millan <rmh@aybabtu.com>
17387
17388 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17389
d49a4cf6 173902008-07-11 Robert Millan <rmh@aybabtu.com>
17391
17392 * util/grub.d/40_custom.in: New file. Example on how to add custom
17393 entries to /etc/grub.d.
17394 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17395 40_custom (implicitly, by merging all the grub.d rules).
17396
947414b4 173972008-07-11 Pavel Roskin <proski@gnu.org>
17398
0059cf6f 17399 * commands/read.c (grub_getline): Fix invalid memory access.
17400 Don't add newline to the variable value.
17401
947414b4 17402 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17403 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17404 (serial_hw_get_port): Check validity of the port number.
17405 (grub_cmd_serial): Check return value of serial_hw_get_port().
17406
62a02d00 174072008-07-07 Pavel Roskin <proski@gnu.org>
17408
17409 * boot/i386/pc/diskboot.S (notification_string): Replace
17410 "Loading kernel" with just "loading". This is shorter, less
17411 confusing and saves a few bytes for possible future changes.
17412
3e5581b0 174132008-07-05 Pavel Roskin <proski@gnu.org>
17414
ea387a48 17415 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17416 size for ATAPI devices, they are undefined. Output sector
17417 number in decimal form.
17418
3e5581b0 17419 * disk/ata.c: Use named constants for status bits.
17420
fdecb8fd 174212008-07-04 Pavel Roskin <proski@gnu.org>
17422
bcd35b90 17423 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17424 grub_addr_t before casting it to the void pointer to fix a
17425 warning. Non-addressable regions are discarded earlier.
17426 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17427 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17428 (check_signature): Don't shadow table_header.
17429 (grub_linuxbios_table_iterate): Cast numeric constants to
17430 grub_linuxbios_table_header_t.
17431 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17432 grub_stop().
17433
af58ab3d 17434 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17435 prevent warnings.
17436
1759aa57 17437 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17438 pointer, which can cause warnings. Support 64-bit addresses.
17439
fdecb8fd 17440 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17441 of sizeof(long). This fixes PowerPC image generation on x86_64.
17442
8516d2a8 174432008-07-04 Robert Millan <rmh@aybabtu.com>
17444
17445 This fixes a performance issue when pc & gpt partmap iterators
17446 didn't abort iteration even after our hook found what it was
fe987087 17447 looking for (often causing expensive probes of non-existent drives).
8516d2a8 17448
17449 Some callers relied on previous buggy behaviour, since they would
34c44600 17450 raise an error when their own hooks caused early abortion of its
8516d2a8 17451 iteration.
17452
17453 * kern/device.c (grub_device_open): Improve error message.
17454 * disk/lvm.c (grub_lvm_open): Likewise.
17455 * disk/raid.c (grub_raid_open): Likewise.
17456
17457 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17458 when hook requests it, independently of grub_errno.
17459 (pc_partition_map_probe): Do not fail when find_func() caused
17460 early abortion of pc_partition_map_iterate().
17461
17462 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17463 when hook requests it, independently of grub_errno.
17464 (gpt_partition_map_probe): Do not fail when find_func() caused
17465 early abortion of gpt_partition_map_iterate().
17466
17467 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17468 when hook requests it, independently of grub_errno. Do not fail when
17469 part_map_iterate_hook() caused early abortion of p->iterate().
17470
17471 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17472 when grub_partition_iterate() returned with non-zero.
17473
277d0de9 174742008-07-03 Pavel Roskin <proski@gnu.org>
17475
17476 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17477 like we do in grub_ata_pio_read().
17478 (grub_ata_readwrite): Always write individual sectors. Fix the
17479 sector count for the remainder.
17480 (grub_ata_write): Enable writing to ATA devices. Correctly
17481 report error for ATAPI devices.
17482
d4c9b428 174832008-07-02 Pavel Roskin <proski@gnu.org>
17484
e43fc690 17485 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17486 warning.
17487
f707af42 17488 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17489 for every read sector, we already increment it for the whole
17490 batch. This fixes reading more than 256 sectors at once.
17491
11e16b15 17492 * util/grub-editenv.c (cmd_info): Cast argument to long
17493 explicitly. ptrdiff_t reduces to int on i386.
17494
cbabfdd4 17495 * util/grub-editenv.c (main): Be specific which parameter is
17496 missing.
17497
b8fbce0a 17498 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17499 (memdisk): Make memdisk_orig_addr a pointer.
17500
c9c8e606 17501 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17502 for file offsets, use grub_off_t instead. Fix printf format
17503 warnings.
17504
ca62e598 17505 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17506 there. Real unexpected warnings should not drown in the noise
17507 about known problems.
17508
ce8d1766 17509 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17510 grub_disk_addr_t for memory addresses.
17511
00c7a56a 17512 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17513 explicitly to fix a warning.
17514
08d3ef09 17515 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17516
cb71ba20 17517 * Makefile.in (MODULE_LDFLAGS): New variable.
17518 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17519 the linker accepts --build-id=none.
17520 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17521 MODULE_LDFLAGS.
17522 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17523
d4c9b428 17524 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17525 those in Linux XFS code. Provide a way to access 64-bit parent
17526 inode.
17527 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17528 the end of struct grub_xfs_dir_header.
17529
d4156eee 175302008-07-02 Bean <bean123ch@gmail.com>
17531
17532 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17533 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17534 and GRUB_IEEE1275_FLAG_NO_ANSI.
17535
17536 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17537 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17538 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17539
17540 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17541 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17542
17543 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17544 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17545
17546 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17547 esc sequence on non ANSI terminal.
17548 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17549
17550 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17551 beginning of file.
17552
2270f77b 175532008-07-02 Bean <bean123ch@gmail.com>
17554
17555 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17556 (grub_editenv_SOURCES): New variable.
17557 (pkglib_MODULES): Add loadenv.mod.
17558 (loadenv_mod_SOURCES): New variable.
17559 (loadenv_mod_CFLAGS): Likewise.
17560 (loadenv_mod_LDFLAGS): Likewise.
17561
17562 * include/grub/envblk.h: New file.
17563
17564 * util/envblk.c: New file.
17565
17566 * util/grub-editenv.c: New file.
17567
17568 * commands/loadenv.c: New file.
17569
0e9e51ec 175702008-07-01 Pavel Roskin <proski@gnu.org>
17571
d89b7634 17572 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17573 not unsigned char. This fixes warnings and is consistent with
17574 other tags.
17575
bf1835b1 17576 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17577
8222a04b 17578 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17579
6a42d99d 17580 * term/tparm.c (analyze): Always set *popcount.
17581
10b159d1 17582 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17583 cast to fix a warning.
17584
b8789f6c 17585 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17586 cast to suppress a warning.
17587
29d7e38a 17588 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17589 grub_fshelp_read_file() expects.
17590
f341f669 17591 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17592 write uuid as a 32-bit value in CPU byte order, so declare and
17593 use it as such.
17594
0e9e51ec 17595 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17596 long if the format specifier expects it.
17597 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17598 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17599 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17600 long to fix a warning.
17601 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17602 grub_dprintf() arguments to fix warnings.
17603
3aefa857 176042008-06-30 Pavel Roskin <proski@gnu.org>
17605
56c7668b 17606 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17607 install_bsd_part immediately before core.img is embedded or
17608 modified on disk. This fixes core.img verification if core.img
17609 cannot be embedded.
17610
3aefa857 17611 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17612 core_path to calculate the blocklist.
17613 Patch from Javier Martín <lordhabbit@gmail.com>
17614
5444088d 176152008-06-29 Robert Millan <rmh@aybabtu.com>
17616
17617 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17618 block to disk block.
17619 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17620 Patch from Niels Böhm <bitbucket@arcor.de>
17621
674835c8 176222008-06-29 Robert Millan <rmh@aybabtu.com>
17623
17624 * util/update-grub_lib.in (font_path): Search for fonts in
17625 /boot/grub first, which is more likely to be readable (we aren't
17626 deciding where fonts live, just looking for them).
17627
f527dbc8 176282008-06-26 Pavel Roskin <proski@gnu.org>
17629
6c2d8df6 17630 * util/biosdisk.c (read_device_map): Don't leave dead map
17631 entries for devices failing stat() check.
17632
f527dbc8 17633 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17634 core_path_dev for the core.img path on the target device.
17635
aebe3d13 176362008-06-26 Robert Millan <rmh@aybabtu.com>
17637
17638 * disk/fs_uuid.c: New file.
17639 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17640 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17641 (fs_uuid_mod_LDFLAGS): New variables.
17642 * include/grub/disk.h (grub_disk_dev_id): Add
17643 `GRUB_DISK_DEVICE_UUID_ID'.
17644 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17645 implement iterate().
17646
37aaf354 176472008-06-26 Robert Millan <rmh@aybabtu.com>
17648
17649 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17650 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17651 Linux image includes no initrd.
17652
25ff262a 176532008-06-21 Javier Martín <lordhabbit@gmail.com>
17654
17655 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17656 call to resolve the core image location that effectively appended the
17657 name twice.
17658
76a2bd44 176592008-06-21 Robert Millan <rmh@aybabtu.com>
17660
17661 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17662 call from here ...
17663
17664 * util/grub.d/10_hurd.in: ... to here ...
17665 * util/grub.d/10_linux.in: ... and here.
17666
650e1c79 176672008-06-19 Robert Millan <rmh@aybabtu.com>
17668
fe987087 17669 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 17670 after it has been set by grub_machine_set_prefix().
17671
6ce63911 176722008-06-19 Robert Millan <rmh@aybabtu.com>
17673
17674 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17675 search result when not saving to variable, not the other way around.
17676 When saving to variable, abort iteration as soon as a match is found.
17677
73940cec 176782008-06-19 Robert Millan <rmh@aybabtu.com>
17679
17680 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17681 check for partition that provides /boot/grub. Its logic is flawed,
17682 as it prevents prepare_grub_to_access_device() from being called
17683 multiple times.
17684
3c62a39d 176852008-06-19 Robert Millan <rmh@aybabtu.com>
17686
17687 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17688 "insmod" command directly when abstraction modules are needed,
fe987087 17689 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 17690 since it had already been processed).
17691
47395a42 176922008-06-19 Pavel Roskin <proski@gnu.org>
17693
17694 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17695 changed. This is needed in case GRUB_LIBDIR changes.
17696 * conf/i386-ieee1275.rmk: Likewise.
17697 * conf/i386-linuxbios.rmk: Likewise.
17698 * conf/i386-pc.rmk: Likewise.
17699 * conf/powerpc-ieee1275.rmk: Likewise.
17700
a145ac2d 177012008-06-18 Pavel Roskin <proski@gnu.org>
17702
17703 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17704 kernel_elf_symlist.c to symlist.c for consistency with other
17705 architectures. Update all users.
17706 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17707
7847c51e 177082008-06-18 Robert Millan <rmh@aybabtu.com>
17709
17710 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17711 it in prefix.
17712
17713 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17714 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17715 a RAID device, run setup() for all members independently on whether
17716 LVM abstraction is being used.
17717 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17718 If grub-mkimage has set `*install_dos_part == -2', don't override this
17719 value.
17720 Perform *install_dos_part adjustments independently on whether
17721 we're embedding or not.
17722 Clarify error message when image is too big for embedding.
17723 Remove duplicate *install_dos_part stanza.
17724
b23e5644 177252008-06-17 Robert Millan <rmh@aybabtu.com>
17726
17727 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17728 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17729 variables.
17730 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17731 values in grub_ofconsole_normal_color and
17732 grub_ofconsole_highlight_color (they're not directly related to
17733 background and foreground).
17734 (grub_ofconsole_setcolorstate): Extract background and foreground
17735 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17736
0aac2f79 177372008-06-17 Robert Millan <rmh@aybabtu.com>
17738
17739 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17740 /boot/grub for the check in last commit, not /boot (they could be
17741 different partitions).
17742
3cca7ef3 177432008-06-16 Robert Millan <rmh@aybabtu.com>
17744
17745 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17746 asked to setup access for the same partition that provides /boot,
17747 don't bother using UUIDs since our root already has the value we
17748 want.
17749
347396d8 177502008-06-16 Robert Millan <rmh@aybabtu.com>
17751
17752 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17753 I2O devices.
17754 Patch from Sven Mueller <sven@debian.org>.
17755
991477f8 177562008-06-16 Robert Millan <rmh@aybabtu.com>
17757
17758 * util/update-grub.in: Check for $EUID instead of $UID.
17759 Reported by Vincent Zweije.
17760
d31a32a1 177612008-06-16 Bean <bean123ch@gmail.com>
17762
fe987087 17763 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 17764 (grub_ext2_read_block): Likewise.
17765 (grub_ext2_read_inode): Likewise.
17766 (grub_ext2_mount): Likewise.
17767 (grub_ext2_close): Likewise.
17768 (grub_ext3_get_journal): Removed.
17769
fe987087 17770 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 17771 (grub_reiserfs_read_symlink): Likewise.
17772 (grub_reiserfs_mount): Likewise.
17773 (grub_reiserfs_open): Likewise.
17774 (grub_reiserfs_read): Likewise.
17775 (grub_reiserfs_close): Likewise.
17776 (grub_reiserfs_get_journal): Removed.
17777
17778 * fs/fshelp.c (grub_fshelp_read): Removed.
17779 (grub_fshelp_map_block): Likewise.
17780
17781 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17782 (grub_fshelp_journal): Likewise.
17783 (grub_fshelp_read): Likewise.
17784 (grub_fshelp_map_block): Likewise.
17785
3540a760 177862008-06-16 Pavel Roskin <proski@gnu.org>
17787
17788 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17789 floating point anymore.
17790 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17791
95614c84 177922008-06-15 Pavel Roskin <proski@gnu.org>
17793
17794 * commands/ls.c (grub_ls_list_files): Use integer calculations
17795 for human readable format, avoid floating point use.
17796 * kern/misc.c (grub_ftoa): Remove.
17797 (grub_vsprintf): Remove floating point support.
17798
50465dd6 177992008-06-15 Robert Millan <rmh@aybabtu.com>
17800
fe6b695a 17801 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 17802 devices.
17803 Reported by Max Vozeler.
17804
a9207284 178052008-06-15 Robert Millan <rmh@aybabtu.com>
17806
17807 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17808 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17809 skipped later.
17810 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17811 the beginning of the prefix.
17812
17813 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17814 It is assumed that if we have a memdisk, grub-mkimage has set
17815 grub_prefix to include the "(memdisk)" drive in it.
17816
a7cbd45a 178172008-06-15 Robert Millan <rmh@aybabtu.com>
17818
17819 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17820 Initialize keyboard controller after registering the terminal, so that
17821 grub_printf() can be called from grub_keyboard_controller_init().
17822
21cf716a 178232008-06-15 Robert Millan <rmh@aybabtu.com>
17824
17825 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17826 extent-btree which is written as big endian on disk.
17827 Reported by Alain Greppin <al@chilibi.org>.
17828
23a64d8e 178292008-06-14 Robert Millan <rmh@aybabtu.com>
17830
17831 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17832 * util/i386/pc/grub-install.in (modules): Likewise.
17833
d687651c 178342008-06-13 Pavel Roskin <proski@gnu.org>
17835
17836 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17837
dfe9ddd4 178382008-06-13 Bean <bean123ch@gmail.com>
17839
17840 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
17841
17842 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
17843
17844 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
17845 to indicate sparse block.
17846
16ae7781 178472008-06-12 Pavel Roskin <proski@gnu.org>
17848
e6d1a308 17849 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
17850 number, grub_fshelp_read() does it for us.
17851
16ae7781 17852 * fs/fshelp.c (grub_fshelp_read): New function. Implement
17853 linear disk read with journal translation.
17854 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
17855 * include/grub/fshelp.h: Declare grub_fshelp_read().
17856
40fd3a2b 178572008-06-09 Pavel Roskin <proski@gnu.org>
17858
17859 * fs/minix.c (grub_minix_mount): Handle error reading
17860 superblock.
17861
f5679726 178622008-06-08 Robert Millan <rmh@aybabtu.com>
17863
17864 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
17865 don't append the RAID prefix afterwards.
17866 Reported by Clint Adams.
17867
ce525529 178682008-06-08 Robert Millan <rmh@aybabtu.com>
17869
17870 Based on description from Pavel:
17871 * kern/disk.c (grub_disk_check_range): Rename to ...
17872 (grub_disk_adjust_range): ... this. Add a comment explaining the
17873 tasks performed by this function.
17874
ad4936a0 178752008-06-08 Robert Millan <rmh@aybabtu.com>
17876
17877 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17878 `num_serial' (for consistency with other variables).
17879 (struct grub_ntfs_data): Add `uuid' member.
17880 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17881 (grub_ntfs_uuid): New function.
17882 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17883
dc20b0f9 178842008-06-07 Pavel Roskin <proski@gnu.org>
17885
17886 * util/biosdisk.c (open_device): Revert last change to the
17887 function, it broke installation. The sector needs to be
17888 different dependent on which device is opened.
17889
c5e3cfba 178902008-06-06 Robert Millan <rmh@aybabtu.com>
17891
17892 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17893 rest of GRUB, and breakage doesn't happen if its value were modified.
17894
17895 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17896 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17897 a constant (same value).
17898 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17899 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17900
26a1f8c4 179012008-06-06 Robert Millan <rmh@aybabtu.com>
17902
17903 * util/biosdisk.c (open_device): Do not modify sector offset when
17904 accessing a partition. kern/disk.c already handles this for us.
17905
25d6b327 179062008-06-06 Robert Millan <rmh@aybabtu.com>
17907
17908 * util/grub-emu.c (grub_machine_init): Move code in this function from
17909 here ...
17910 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17911 segfault in case grub_printf() is called).
17912
17913 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17914 grub_probe. Update all users not to explicitly add it again.
17915 (grub_device): New variable; contains corresponding device for grubdir.
17916 (fs_module, partmap_module, devabstraction_module): Pass
17917 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17918 every time.
17919
9ece62fb 179202008-06-05 Robert Millan <rmh@aybabtu.com>
17921
17922 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17923 is found, print it (same layout as with labels).
17924
1ad36d37 179252008-06-04 Robert Millan <rmh@aybabtu.com>
17926
17927 * util/biosdisk.c (get_drive): Rename to ...
17928 (find_grub_drive): ... this. Update all users.
17929
17930 (get_os_disk): Rename to ...
17931 (convert_system_partition_to_system_disk): ... this. Update all users.
17932
17933 (find_drive): Rename to ...
17934 (find_system_device): ... this. Update all users.
17935
e6a30859 179362008-06-04 Robert Millan <rmh@aybabtu.com>
17937
17938 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17939 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17940 (make_device_map): Likewise.
17941
00c108a4 179422008-06-01 Robert Millan <rmh@aybabtu.com>
17943
17944 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17945 before dereferencing it.
17946
17947 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17948 union with fat12/fat16-specific ones. Add some new fields, including
17949 `num_serial' for both versions.
17950 (struct grub_fat_data): Add `uuid' member.
17951 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17952 names. Initialize `data->uuid' using `num_serial'.
17953 (grub_fat_uuid): New function.
17954 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17955
17956 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17957 (grub_reiserfs_uuid): New function.
17958 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17959 member.
17960
17961 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17962 (grub_xfs_uuid): New function.
17963 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17964
1385c5bb 179652008-06-01 Robert Millan <rmh@aybabtu.com>
17966
17967 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17968 code that is backward compatible with pre-uuid search command.
17969
c682dfd7 179702008-05-31 Robert Millan <rmh@aybabtu.com>
17971
17972 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17973 floppies after everything else, to ensure floppy drive isn't accessed
17974 unnecessarily (patch from Bean).
17975
b7db5d47 179762008-05-31 Robert Millan <rmh@aybabtu.com>
17977
17978 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17979 not print device names when we were asked to set a variable.
17980
6e037aa9 179812008-05-31 Robert Millan <rmh@aybabtu.com>
17982
17983 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17984 using "cursor-on" and "cursor-off" commands (understood at least by
17985 the Open Firmware flavour on OLPC).
17986
41305bc8 179872008-05-31 Michael Gorven <michael@gorven.za.net>
17988
17989 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17990 on and off sequences.
17991
69ba137e 179922008-05-31 Robert Millan <rmh@aybabtu.com>
17993
17994 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17995 * util/update-grub.in: Likewise.
17996
520ae21b 179972008-05-30 Pavel Roskin <proski@gnu.org>
17998
17999 * util/biosdisk.c (linux_find_partition): Simplify logic and
18000 make the code more universal. Keep special processing for
18001 devfs, but use a simple rule for all other devices. If the
18002 device ends with a number, append 'p' and the partition number.
18003 Otherwise, append only the partition number.
18004
5786569b 180052008-05-30 Robert Millan <rmh@aybabtu.com>
18006
18007 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18008 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18009 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18010 the `root' parameter to Linux.
18011
51500452 180122008-05-30 Robert Millan <rmh@aybabtu.com>
18013
18014 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18015 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18016 --fs_uuid with --fs-uuid.
18017 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18018 all filesystems support them).
18019
811d3878 180202008-05-30 Robert Millan <rmh@aybabtu.com>
18021
18022 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 18023 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 18024
cab63c95 180252008-05-30 Robert Millan <rmh@aybabtu.com>
18026
18027 * util/grub.d/00_header.in: Remove obsolete comment referencing
18028 convert_system_path_to_grub_path().
18029 * util/update-grub.in: Likewise.
18030 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18031 (convert_system_path_to_grub_path): Add a warning message explaining
18032 that this function is deprecated. Rely on is_path_readable_by_grub()
18033 for the readability checks.
18034 (font_path): Use is_path_readable_by_grub() for the readability
18035 check rather than convert_system_path_to_grub_path().
18036
972e2f7a 180372008-05-30 Robert Millan <rmh@aybabtu.com>
18038
18039 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18040 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18041 converting it first.
18042 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18043 grub.cfg for access to font file, and afterwards call it again to set
18044 the root device.
18045
62191274 180462008-05-30 Robert Millan <rmh@aybabtu.com>
18047
18048 * commands/search.c (options): Add --fs_uuid option.
18049 (search_fs_uuid): New function.
18050 (grub_cmd_search): Fix --set argument passing.
18051 Use search_fs_uuid() when requested via --fs_uuid.
18052 (grub_search_init): Update help message.
18053 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18054 and redeclare it as an array of 16-bit words.
18055 (grub_ext2_uuid): New function.
18056 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18057 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18058 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18059 (GRUB_DEVICE_BOOT_UUID): New variables.
18060 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18061 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18062 whenever possible.
18063 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18064 just assume `root' variable has the right value.
18065 * util/grub.d/10_linux.in: Likewise.
18066 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18067 via PRINT_FS_UUID.
18068 (main): Recognise `-t fs_uuid' argument.
18069
01b73ec8 180702008-05-30 Robert Millan <rmh@aybabtu.com>
18071
18072 * util/biosdisk.c (map): Redefine structure to hold information
18073 about GRUB drive name.
fe6b695a 18074 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 18075 drive names.
18076 (call_hook): Remove.
18077 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18078 member. Assume drive has partitions.
18079 (grub_util_biosdisk_open): Access device names via `.device' struct
18080 member.
18081 (open_device): Likewise.
18082 (find_drive): Likewise.
18083 (read_device_map): Adjust map[] usage to match the new struct
18084 definition. Don't check for duplicates (still possible, but not cheap
18085 anymore).
18086 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18087 (make_device_name): Remove assumption of BIOS-like drive names.
18088
22f16596 180892008-05-30 Pavel Roskin <proski@gnu.org>
18090
18091 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18092 compiling execute.c doesn't need grub_script.tab.h anymore.
18093 (normal/command.c_DEPENDENCIES): Likewise.
18094 (normal/function.c_DEPENDENCIES): Likewise.
18095 * conf/i386-ieee1275.rmk: Likewise.
18096 * conf/i386-linuxbios.rmk: Likewise.
18097 * conf/i386-pc.rmk: Likewise.
18098 * conf/powerpc-ieee1275.rmk: Likewise.
18099 * conf/sparc64-ieee1275.rmk: Likewise.
18100
528ad8f2 181012008-05-29 Pavel Roskin <proski@gnu.org>
18102
d1dff95d 18103 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18104 when scanning metadata for volume group name.
18105
528ad8f2 18106 * include/grub/script.h: Don't include grub_script.tab.h. It's
18107 a generated file, which may only be included from the files with
18108 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18109 use union YYSTYPE, as the later allows forward declaration.
18110 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18111
47248e08 181122008-05-29 Robert Millan <rmh@aybabtu.com>
18113
18114 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18115 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18116 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18117 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18118 scan codes.
18119
ee632529 181202008-05-29 Robert Millan <rmh@aybabtu.com>
18121
18122 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18123 control key combinations.
18124
eee96e08 181252008-05-29 Robert Millan <rmh@aybabtu.com>
18126
18127 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18128 * util/ieee1275/grub-install.in: ... to here.
18129 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18130 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18131 (grub_install_SOURCES): Likewise.
18132
da9a6a94 181332008-05-29 Robert Millan <rmh@aybabtu.com>
18134
18135 * fs/affs.c: Update copyright year.
18136 * fs/ext2.c: Likewise.
18137 * fs/fshelp.c: Likewise.
18138 * fs/hfsplus.c: Likewise.
18139 * fs/ntfs.c: Likewise.
18140 * fs/xfs.c: Likewise.
18141 * include/grub/fshelp.h: Likewise.
18142 * util/grub-mkdevicemap.c: Likewise.
18143
12e65f3a 181442008-05-28 Robert Millan <rmh@aybabtu.com>
18145
18146 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18147 might need to be fatfs to support some firmware implementations
18148 (e.g. OFW or EFI).
18149
23023641 181502008-05-28 Robert Millan <rmh@aybabtu.com>
18151
18152 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18153 devices.
18154 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18155 (make_device_map): Likewise.
18156
887d2619 181572008-05-20 Bean <bean123ch@gmail.com>
18158
18159 * fs/fshelp.c (grub_fshelp_map_block): New function.
18160 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18161 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18162
18163 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18164 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18165 (grub_fshelp_journal): New structure.
18166 (grub_fshelp_map_block): New function prototype.
18167 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18168 (grub_fshelp_map_block): Likewise.
18169
18170 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18171 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18172 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18173 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18174 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18175 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18176 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18177 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18178 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18179 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18180 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18181 (grub_ext2_sblock): New members for journal support.
18182 (grub_ext3_journal_header): New structure.
18183 (grub_ext3_journal_revoke_header): Likewise.
18184 (grub_ext3_journal_block_tag): Likewise.
18185 (grub_ext3_journal_sblock): Likewise.
18186 (grub_fshelp_node): New members logfile and journal.
18187 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18188 grub_fshelp_map_block to get real block number.
18189 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18190 number.
18191 (grub_ext2_read_inode): Likewise.
18192 (grub_ext3_get_journal): New function.
18193 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18194 (grub_ext2_close): Release memory used by journal.
18195
18196 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18197 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18198 (grub_reiserfs_transaction_header): Renamed to
18199 grub_reiserfs_description_block, replace field data with real_blocks.
18200 (grub_reiserfs_commit_block): New structure.
18201 (grub_reiserfs_data): New member journal.
18202 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18203 number.
18204 (grub_reiserfs_read_symlink): Likewise.
18205 (grub_reiserfs_iterate_dir): Likewise.
18206 (grub_reiserfs_open): Likewise.
18207 (grub_reiserfs_read): Likewise.
18208 (grub_reiserfs_get_journal): New function.
18209 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18210 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18211 using grub_reiserfs_get_journal.
18212 (grub_reiserfs_close): Release memory used by journal.
18213
18214 * fs/affs.c (grub_affs_read_block): Change block type to
18215 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18216
18217 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18218
18219 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18220
18221 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18222
18223 * fs/udf.c (grub_udf_read_block): Change block type to
18224 grub_disk_addr_t. Use type cast to avoid warning.
18225
18226 * fs/xfs.c (grub_xfs_read_block): Likewise.
18227
b7c6bed5 182282008-05-16 Christian Franke <franke@computer.org>
18229
18230 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18231 to ensure that break with ESC will always work.
18232 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18233 Remove ESC from keyboard queue.
18234
eedf167f 182352008-05-16 Christian Franke <franke@computer.org>
18236
18237 * util/biosdisk.c: [__CYGWIN__] Add includes.
18238 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18239 (get_os_disk): Move variable declarations to OS specific
18240 parts to avoid warning.
18241 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18242 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18243 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18244 Cygwin.
18245 * util/getroot.c: [__CYGWIN__] Add includes.
18246 (strip_extra_slashes): Fix "/" case.
18247 [__CYGWIN__] (get_win32_path): New function.
18248 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18249 [__CYGWIN__] (find_root_device): Disable.
18250 [__CYGWIN__] (get_bootsec_serial): New function.
18251 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18252 [__linux__] (grub_guess_root_device): Add early returns to simplify
18253 structure.
18254 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18255 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18256 check for Linux only.
18257
a079699e 182582008-05-15 Bean <bean123ch@gmail.com>
18259
18260 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18261 keyboard hang problem in apple's intel mac.
18262
1cf4059a 182632008-05-09 Robert Millan <rmh@aybabtu.com>
18264
18265 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18266 devices.
18267 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18268 (make_device_map): Likewise.
18269 Reported by Aurelien Jarno <aurel32@debian.org>
18270
ed759390 182712008-05-07 Ian Campbell <ijc@hellion.org.uk>
18272
18273 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18274 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18275 (make_device_map): Output entries for xvd type disks.
18276
b56c4eaa 182772008-05-07 Robert Millan <rmh@aybabtu.com>
18278
18279 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18280 devices.
18281 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18282 (make_device_map): Likewise.
18283 Reported by Roland Dreier <rdreier@cisco.com>
18284
7f8866ed 182852008-05-07 Robert Millan <rmh@aybabtu.com>
18286
18287 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18288 grub_strstr() call. Correct a few mistakes in failure path handling.
18289
b0346e0f 182902008-05-06 Robert Millan <rmh@aybabtu.com>
18291
18292 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18293 Do not print a trailing slash (therefore, the root directory is an
18294 empty string).
18295 (convert_system_path_to_grub_path): Do not remove trailing slash
18296 from make_system_path_relative_to_its_root() output.
18297
18298 * util/i386/pc/grub-install.in: Add trailing slash to output from
18299 make_system_path_relative_to_its_root().
18300
6cf12cbd 183012008-05-06 Robert Millan <rmh@aybabtu.com>
18302
18303 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18304 ensures that output lines aren't intermangled with those sent to
18305 stderr (via grub_util_info()).
18306 * util/grub-probe.c (grub_refresh): Likewise.
18307 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18308
0fbb3117 183092008-05-05 Christian Franke <franke@computer.org>
18310
18311 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18312 Add Cygwin device names.
18313 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18314 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18315 (check_device): Return error instead of success on empty name.
18316 (make_device_map): Move label inside linux specific code to
18317 prevent compiler warning.
18318
8124cdb7 183192008-04-30 Robert Millan <rmh@aybabtu.com>
18320
18321 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18322 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18323 first boot option.
18324 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18325
094c01d0 183262008-04-29 Robert Millan <rmh@aybabtu.com>
18327
18328 * docs/grub.cfg: New file (example GRUB configuration).
18329
f4b1fc02 183302008-04-26 Robert Millan <rmh@aybabtu.com>
18331
329ce2a5 18332 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18333 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18334 and `disk/ieee1275/nand.c'.
f4b1fc02 18335
25f16ec1 183362008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 18337
25f16ec1 18338 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18339 i386-linuxbios.
18340
18341 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18342 change the buffer size to 4096 for cdrom device.
18343
18344 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18345 and nand.mod.
18346 (_linux_mod_SOURCES): New variable.
18347 (_linux_mod_CFLAGS): Likewise.
18348 (_linux_mod_LDFLAGS): Likewise.
18349 (linux_mod_SOURCES): Likewise.
18350 (linux_mod_CFLAGS): Likewise.
18351 (linux_mod_LDFLAGS): Likewise.
18352 (nand_mod_SOURCES): Likewise.
18353 (nand_mod_CFLAGS): Likewise.
18354 (nand_mod_LDFLAGS): Likewise.
18355
18356 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18357 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18358 type property. (nand device in olpc don't have this property)
18359
18360 * include/grub/disk.h (grub_disk_dev_id): New macro
18361 GRUB_DISK_DEVICE_NAND_ID.
18362
18363 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18364 function prototype.
18365 (grub_rescue_cmd_initrd): Likewise.
18366
18367 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18368 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18369 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 18370
25f16ec1 18371 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18372 GRUB_MACHINE_IEEE1275 is defined.
18373
18374 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18375 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18376
18377 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18378 on nested function heap_init.
18379 (grub_upper_mem): New variable for i386-ieee1275.
18380 (grub_get_extended_memory): New function for i386-ieee1275.
18381 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18382
18383 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18384 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18385 property.
f19dbdb7 18386
25f16ec1 18387 * loader/i386/ieee1275/linux.c: New file.
18388
18389 * loader/i386/ieee1275/linux_normal.c: New file.
18390
18391 * disk/ieee1275/nand.c: New file.
18392
e89d61e9 183932008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18394
18395 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18396 value.
18397 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18398
602566f6 183992008-04-18 Robert Millan <rmh@aybabtu.com>
18400
18401 Restructures early code path on ieee1275 to unify grub_main() as
18402 the first C function that is executed in every platform.
18403
18404 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18405 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18406 cmain().
18407 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18408 * kern/ieee1275/cmain.c (cmain): Rename to ...
18409 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18410 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18411 at the beginning.
18412
57490c2b 184132008-04-18 Robert Millan <rmh@aybabtu.com>
18414
18415 * util/update-grub.in: Fix syntax error when setting
18416 `GRUB_PRELOAD_MODULES'.
18417 Reported by Stephane Chazelas <stephane@artesyncp.com>
18418
1977517d 184192008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18420
18421 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18422 section into account, newer toolchains generate unique build ids
18423 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 18424 we want build ids to be preserved
1977517d 18425 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18426 far from other sections don't cause the raw binary images grow
18427 size
18428
bfb1f1a2 184292008-04-15 Robert Millan <rmh@aybabtu.com>
18430
18431 * disk/lvm.c: Update copyright year.
18432 * kern/misc.c: Likewise.
18433
01979850 184342008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18435
18436 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 18437 there is no memory left for physical volume name.
01979850 18438
0a1150e2 184392008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18440
18441 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18442 volume name mapping to support bigger than 9 character names properly.
18443
82ead3fe 184442008-04-13 Robert Millan <rmh@aybabtu.com>
18445
18446 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18447 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18448
e54a72f5 184492008-04-13 Christian Franke <franke@computer.org>
18450
18451 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18452 to create a floppy emulation boot CD when non emulation mode
18453 does not work.
18454 Enable Joliet CD filesystem extension.
18455
9fe86034 184562008-04-13 Robert Millan <rmh@aybabtu.com>
18457
18458 * kern/misc.c (grub_strncat): Fix off-by-one error.
18459 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18460
18461 * kern/env.c (grub_env_context_close): Clear current context, not
18462 previous one.
18463 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18464
18465 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18466
7ceeee39 184672008-04-13 Robert Millan <rmh@aybabtu.com>
18468
18469 Improve robustness when handling LVM.
18470
18471 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 18472 (and leave `*p' unmodified).
7ceeee39 18473 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18474 through it.
18475 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18476 iterating through it.
18477 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18478 through it.
fe6b695a 18479 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 18480 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18481 Don't assume `vg->pvs != NULL' when iterating through it.
18482
58cd3d85 184832008-04-13 Robert Millan <rmh@aybabtu.com>
18484
18485 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18486 * genmk.rb (partmap): New variable.
18487 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18488 (#{partmap}): New target rule.
18489 * genpartmaplist.sh: New file.
18490 * Makefile.in (pkglib_DATA): Add partmap.lst.
18491 (partmap.lst): New target rule.
18492 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18493 modules (including all partition maps), instead of preloading them.
18494
78b51059 184952007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18496
18497 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18498 `linux-boot-prober' (if installed) to detect other operating
18499 systems which are installed on the computer and add them to
18500 the boot menu.
18501 * conf/common.rmk: Build and install 30_os-prober.
18502
a91627b4 185032008-04-12 Robert Millan <rmh@aybabtu.com>
18504
18505 * kern/powerpc/ieee1275/init.c: Move from here ...
18506 * kern/ieee1275/init.c: ... to here. Update all users.
18507
18508 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18509 * kern/ieee1275/cmain.c: ... to here. Update all users.
18510
18511 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18512 * kern/ieee1275/openfw.c: ... to here. Update all users.
18513
18514 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18515 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18516
322562ea 185172008-04-10 Pavel Roskin <proski@gnu.org>
18518
18519 * configure.ac: Always use "_cv_" in cache variables for
18520 compatibility with Autoconf 2.62.
18521
a02a73c5 185222008-04-07 Robert Millan <rmh@aybabtu.com>
18523
18524 Revert grub/machine/init.h addition by Pavel (since it breaks on
18525 i386-ieee1275 and others):
18526 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18527 * util/powerpc/ieee1275/misc.c: Likewise.
18528
25c024b1 185292008-04-07 Robert Millan <rmh@aybabtu.com>
18530
18531 * util/grub-probe.c (probe): Improve error message.
18532
3cbd2f98 185332008-04-07 Robert Millan <rmh@aybabtu.com>
18534
18535 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18536 (this prevents the presence of a bogus entry from ruining the whole
18537 thing).
18538
87a297bf 185392008-04-06 Pavel Roskin <proski@gnu.org>
18540
36747a62 18541 * util/biosdisk.c: Include grub/util/biosdisk.h.
18542 * util/grub-fstest.c (execute_command): Make static.
18543 * util/grub-mkdevicemap.c (check_device): Likewise.
18544 * util/i386/pc/misc.c: Include grub/machine/init.h.
18545 * util/powerpc/ieee1275/misc.c: Likewise.
18546 * util/lvm.c: Include grub/util/lvm.h.
18547 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18548 grub/cache.h.
18549 * util/raid.c: Include grub/util/raid.h.
18550 (grub_util_getdiskname): Make static.
18551
87a297bf 18552 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18553 grub_hostfs_fini(), as they are called from grub_init_all() and
18554 grub_fini_all() respectively. This fixes an infinite loop in
18555 grub-fstest due to double registration of hostfs.
18556 Reported by Christian Franke <Christian.Franke@t-online.de>
18557
f6ce7629 185582008-04-05 Pavel Roskin <proski@gnu.org>
18559
18560 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18561 all 8 functions. Otherwise, probe function 0 only.
18562
070e49e4 185632008-04-04 Pavel Roskin <proski@gnu.org>
18564
8b088a4c 18565 * commands/lspci.c (grub_lspci_iter): Print the bus number
18566 correctly.
18567
4f657021 18568 * commands/lspci.c (grub_pci_classes): Fix typos.
18569 (grub_lspci_iter): Don't print func twice. Print vendor ID
18570 before device ID, as it's normally done.
18571
070e49e4 18572 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18573 Fix signedness warnings.
18574 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18575 Likewise.
18576 * util/ieee1275/get_disk_name.c: Include config.h so that
18577 _GNU_SOURCE is defined and getline() is declared. Mark an
18578 unused argument as such. Fix a signedness warning.
18579
ba7328dc 185802008-04-02 Pavel Roskin <proski@gnu.org>
18581
26887f22 18582 * genkernsyms.sh.in: Use more robust assignments for CC and
18583 srcdir. Quote srcdir.
18584 * gensymlist.sh.in: Likewise. Assert at the compile time that
18585 the symbol table is not empty.
18586
ba7328dc 18587 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18588 * fs/cpio.c (grub_cpio_read): Likewise.
18589
0f582c6b 185902008-04-01 Pavel Roskin <proski@gnu.org>
18591
4b6e1995 18592 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18593 * disk/host.c (grub_host_open): Likewise.
18594 * disk/loopback.c (grub_loopback_open): Likewise.
18595 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18596 disk->id as in disk/host.c, not a multi-character constant.
18597
828a2768 18598 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18599 later is obsolete, potentially dangerous and sets a bad example.
18600 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18601 * util/misc.c (grub_util_get_image_size): Likewise.
18602
2bb4fb47 18603 * disk/loopback.c (options): Improve help for "--partitions".
18604
0f582c6b 18605 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18606 options to align them with the short options, e.g. "echo -e".
18607
a33224e0 186082008-03-31 Bean <bean123ch@gmail.com>
18609
18610 * video/reader/png.c (grub_png_data): New member is_16bit and
18611 image_data.
18612 (grub_png_decode_image_header): Detect 16 bit png image.
18613 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18614 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18615 (grub_video_reader_png): Release memory occupied by image_data.
18616
18617 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18618 4096 bytes.
18619 (grub_nfs_mount): Skip the test for sector per cluster.
18620
18621 * include/grub/ntfs.h (MAX_SPC): Removed.
18622
86cb4f54 186232008-03-31 Bean <bean123ch@gmail.com>
18624
18625 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18626 (grub_probe_SOURCES): Add fs/afs.c.
18627 (grub_fstest_SOURCES): Likewise.
18628 (afs_mod_SOURCES): New variable.
18629 (afs_mod_CFLAGS): Likewise.
18630 (afs_mod_LDFLAGS): Likewise.
18631
18632 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18633 (grub_emu_SOURCES): Likewise.
18634
18635 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18636
18637 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18638
18639 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18640
18641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18642
18643 * fs/afs.c: New file.
18644
17c74c21 186452008-03-30 Pavel Roskin <proski@gnu.org>
18646
4cb68e89 18647 * disk/host.c: Include grub/misc.h to fix a warning.
18648 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18649 warnings about implicit declarations.
18650
8790bb04 18651 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18652 variable.
18653 * include/grub/i386/loader.h: Change declaration of
18654 grub_linux_boot() to match what grub_loader_set() expects.
18655 * util/getroot.c (grub_guess_root_device): Return const char* to
18656 fix a warning.
18657 * util/grub-probe.c (probe): Fix a warning about uninitialized
18658 abstraction_name variable.
18659 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18660 second argument as unused to fix a warning.
18661
9a3f3296 18662 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18663 missing grub_error() call.
18664
0ecef90d 18665 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18666 2.60 and newer uses it to define datadir.
18667
0bf6d401 18668 * commands/sleep.c: Fix warning about implicit declaration.
18669 * disk/memdisk.c: Likewise.
18670 * loader/aout.c: Likewise.
18671 * loader/i386/bsd_normal.c: Likewise.
18672 * util/grub-probe.c: Likewise.
18673
7cdacf97 18674 * commands/i386/cpuid.c (has_longmode): Make static.
18675 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18676 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18677
17c74c21 18678 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18679 GDT. This is more robust, as %ds can change.
18680 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18681 calling real_to_prot().
18682 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18683
80a3e68b 186842008-03-28 Pavel Roskin <proski@gnu.org>
18685
18686 * kern/i386/pc/startup.S: Assert that uncompressed functions
18687 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18688 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18689 code, as they push parts of the code (error handlers) beyond
18690 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18691 code as correctness and size.
18692
77bcd272 186932008-03-28 Pavel Roskin <proski@gnu.org>
18694
18695 * kern/i386/pc/startup.S
18696 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18697 data block address to the real mode, keep offset minimal. This
18698 works around a bug in AWARD BIOS on old Athlon systems, which
18699 makes CD detection hang.
18700
c5dfd43b 187012008-03-26 Pavel Roskin <proski@gnu.org>
18702
18703 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18704 const.
18705 * include/grub/normal.h: Add grub_parse_color_name_pair()
18706 declaration.
18707
bf962df2 187082008-03-24 Bean <bean123ch@gmail.com>
18709
18710 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18711 (cd_count): Removed.
18712 (cd_drive): New variable.
18713 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18714 (grub_biosdisk_call_hook): Likewise.
18715 (grub_biosdisk_iterate): Change cdrom detection method.
18716 (grub_biosdisk_open): Replace cd_start with cd_drive.
18717 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18718 detect cdrom device.
18719
18720 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18721 Removed.
18722 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18723 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18724 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18725 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18726 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18727 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18728 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18729 (grub_biosdisk_cdrp): New structure.
18730 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18731
18732 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18733
18734 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18735 device.
18736
18737 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18738 New function.
18739
68e7fc7a 187402008-03-20 Robert Millan <rmh@aybabtu.com>
18741
18742 Remove 2 TiB limit in ata.mod.
18743 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18744 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18745 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18746 grub_uint64_t instead of grub_uint32_t.
18747
38ad2cf5 187482008-03-05 Bean <bean123ch@gmail.com>
18749
18750 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18751 (grub_multiboot): Set boot device.
18752
18753 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18754
2b89344e 187552008-03-02 Bean <bean123ch@gmail.com>
18756
18757 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18758 symlink_buffer.
18759
87a95d1f 187602008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18761
18762 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18763 texinfo.tex.
18764
18765 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18766 modified.
18767
18768 * docs/fdl.texi: New file.
f19dbdb7 18769
87a95d1f 18770 * docs/mdate-sh: New file. Copied from gnulib.
18771 * docs/texinfo.tex: Likewise.
18772
18773 * config.guess: Updated from gnulib.
18774 * install-sh: Likewise.
18775
7dc15d8e 187762008-02-28 Robert Millan <rmh@aybabtu.com>
18777
18778 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18779 (aout_mod_SOURCES): New variable.
18780 (aout_mod_CFLAGS): Likewise.
18781 (aout_mod_LDFLAGS): Likewise.
18782
18783 * conf/i386-ieee1275.rmk: Likewise.
18784
b00ab696 187852008-02-28 Robert Millan <rmh@aybabtu.com>
18786
18787 * util/update-grub.in: Reorganise terminal validity check. Accept
18788 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18789 Based on suggestion by Franklin PIAT.
18790
79ca2d78 187912008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18792
18793 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18794 function.
18795 * util/getroot.c (grub_util_check_block_device): New function that
18796 returns the given argument if it is a block device and returns NULL else.
18797 * util/grub-probe.c (argument_is_device): New variable.
18798 (probe): Promote device_name from a variable to an argument. Receive
18799 device_name from grub_util_check_block_device() if path is NULL and from
18800 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 18801 (options): Introduce new parameter '-d, --device'.
79ca2d78 18802 (main): Add description of the new parameter to the help screen.
18803 Rename path variable to argument. Set argument_is_device if the '-d'
18804 option is given. Pass argument to probe() depending on
18805 argument_is_device.
18806
0d16e571 188072008-02-24 Bean <bean123ch@gmail.com>
18808
18809 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18810 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18811 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18812 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18813 (GRUB_ISO9660_VOLDESC_END): Likewise.
18814 (grub_iso9660_primary_voldesc): New member escape.
18815 (grub_iso9660_data): New member joliet.
18816 (grub_iso9660_convert_string): New function.
18817 (grub_iso9660_mount): Detect joliet extension.
18818 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18819 (grub_iso9660_iso9660_label): Likewise.
18820
18821 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18822 (grub_setup_SOURCES): Add fs/udf.c.
18823 (grub_fstest_SOURCES): Likewise.
18824 (udf_mod_SOURCES): New variable.
18825 (udf_mod_CFLAGS): Likewise.
18826 (udf_mod_LDFLAGS): Likewise.
18827
18828 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18829 (grub_emu_SOURCES): Likewise.
18830
18831 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18832
18833 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18834
18835 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18836
18837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18838
18839 * fs/udf.c: New file.
18840
8a594a17 188412008-02-24 Robert Millan <rmh@aybabtu.com>
18842
18843 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
18844 (normal/lexer.c_DEPENDENCIES): New variables.
18845 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18846 (normal/lexer.c_DEPENDENCIES): Likewise.
18847 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
18848 (normal/lexer.c_DEPENDENCIES): Likewise.
18849 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
18850 (normal/lexer.c_DEPENDENCIES): Likewise.
18851 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18852 (normal/lexer.c_DEPENDENCIES): Likewise.
18853 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18854 (normal/lexer.c_DEPENDENCIES): Likewise.
18855
2dc33c03 188562008-02-23 Robert Millan <rmh@aybabtu.com>
18857
18858 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
18859 since they were intended to be in hex. This didn't break previously
18860 because of a bug in gpt_partition_map_iterate() (see below).
18861
18862 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
18863 when checking the validity of GPT header.
18864 Remove `partno', since it always provides the same information as `i'.
18865
f6f4cfb0 188662008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
18867
18868 * include/grub/efi/time.h: Fix a wrong comment.
18869
79ff665f 188702008-02-19 Pavel Roskin <proski@gnu.org>
18871
18872 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18873 message.
18874
d38e24c2 188752008-02-19 Bean <bean123ch@gmail.com>
18876
18877 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18878 (aout_mod_SOURCES): New variable.
18879 (aout_mod_CFLAGS): Likewise.
18880 (aout_mod_LDFLAGS): Likewise.
18881 (_bsd_mod_SOURCES): New variable.
18882 (_bsd_mod_CFLAGS): Likewise.
18883 (_bsd_mod_LDFLAGS): Likewise.
18884 (bsd_mod_SOURCES): New variable.
18885 (bsd_mod_CFLAGS): Likewise.
18886 (bsd_mod_LDFLAGS): Likewise.
18887
18888 * include/grub/aout.h: New file.
18889
18890 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18891
18892 * include/grub/i386/bsd.h: New file.
18893
18894 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18895 to make it public.
18896
18897 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18898 function is called, so that it's possible to change it inside the hook.
18899 (grub_elf64_load): Likewise.
18900 (grub_elf_file): Don't close the file if elf header is not found.
18901 (grub_elf_close): Close the file if grub_elf_file fails (The new
18902 grub_elf_file won't close it).
18903 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18904 (grub_elf64_size): Likewise.
18905
18906 * kern/i386/loader.S (grub_unix_real_boot): New function.
18907
18908 * loader/aout.c: New file.
18909
18910 * loader/i386/bsd.c: New file.
18911
18912 * loader/i386/bsd_normal.c: New file.
18913
18914 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18915
18916 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 18917 can test other formats.
d38e24c2 18918
b93bdb0f 189192008-02-19 Robert Millan <rmh@aybabtu.com>
18920
18921 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18922 (grub_gpt_partition_type_empty): Redefine with macro from
18923 `<grub/gpt_partition.h>'.
18924 (gpt_partition_map_iterate): Adjust partition type comparison.
18925
18926 Export `entry' as partmap-specific `part.data' struct.
18927 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18928
18929 * include/grub/gpt_partition.h (grub_gpt_header)
18930 (grub_gpt_partentry): ... to here (new file).
18931
18932 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18933
18934 (grub_gpt_partition_type_bios_boot): New const variable, defined
18935 with macro from `<grub/gpt_partition.h>'.
18936
18937 (setup): Replace `first_start' with `embed_region', which keeps
18938 track of the embed region (and is partmap-agnostic).
18939
18940 Replace find_first_partition_start() with find_usable_region(),
18941 which finds a usable region for embedding using partmap-specific
18942 knowledge (supports PC/MSDOS and GPT).
18943
18944 Fix all assumptions that the embed region start at sector 1, using
18945 `embed_region.start' from now on. Similarly, use `embed_region.end'
18946 rather than `first_start' to calculate available size.
18947
18948 In grub_util_info() message, replace "into after the MBR" with an
18949 indication of the specific sector our embed region starts at.
18950
66cb40f6 189512008-02-19 Robert Millan <rmh@aybabtu.com>
18952
18953 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18954 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18955 `commands/reboot.c'.
18956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18957 (halt_mod_SOURCES): Likewise.
18958 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18959 (halt_mod_SOURCES): Likewise.
18960
b7202015 189612008-02-17 Christian Franke <franke@computer.org>
18962
18963 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18964
32b0fc49 189652008-02-17 Robert Millan <rmh@aybabtu.com>
18966
18967 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18968 set `first_start' to 0 for non-PC/MSDOS partition maps.
18969
aca63502 189702008-02-16 Robert Millan <rmh@aybabtu.com>
18971
18972 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18973 do not assume partition map is PC/MSDOS before performing checks that
18974 are specific to that layout.
18975
0de8be86 189762008-02-13 Robert Millan <rmh@aybabtu.com>
18977
18978 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18979 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18980 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18981
c3db8364 189822008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18983
18984 * configure.ac: Only a cosmetic change on the handling of
18985 -fno-stack-protector.
18986
f714229e 189872008-02-12 Alexandre Boeglin <alex@boeglin.org>
18988
c3db8364 18989 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18990 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18991 reboot.c.
f714229e 18992 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18993 (halt_mod_SOURCES): New variable.
18994 (halt_mod_CFLAGS): Likewise.
18995 (halt_mod_LDFLAGS): Likewise.
18996 (reboot_mod_SOURCES): Likewise.
18997 (reboot_mod_CFLAGS): Likewise.
18998 (reboot_mod_LDFLAGS): Likewise.
18999
c3db8364 19000 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19001 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19002 reboot.c.
f714229e 19003 (halt_mod_SOURCES): Likewise.
19004 (reboot_mod_SOURCES): Likewise.
19005
c3db8364 19006 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19007 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 19008 (reboot_mod_SOURCES): Likewise.
19009
19010 * commands/i386/pc/reboot.c: merge this file ...
19011
19012 * commands/ieee1275/reboot.c: ... and this file ...
19013
19014 * commands/reboot.c: ... to this file.
c3db8364 19015 Add some precompiler directive to include the correct header for
19016 each machine.
f714229e 19017
19018 * commands/ieee1275/halt.c: move this file ...
19019
19020 * commands/halt.c: ... to here.
c3db8364 19021 Add some precompiler directive to include the correct header for
19022 each machine.
f714229e 19023
19024 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19025 (grub_halt): Likewise.
19026
19027 * kern/efi/efi.c (grub_reboot): New function.
19028 (grub_halt): Likewise.
19029
c74493e0 190302008-02-12 Robert Millan <rmh@aybabtu.com>
19031
19032 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19033 /dev (like it is done for /dev/mapper). This doesn't provide support
19034 for EVMS, but at least it is now easy to identify the problem when it
19035 arises.
19036
d0db4b04 190372008-02-11 Robert Millan <rmh@aybabtu.com>
19038
19039 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19040 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19041 comparing it with -1, not 0.
19042
bf748642 190432008-02-10 Robert Millan <rmh@aybabtu.com>
19044
19045 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19046 `disk/lvm.c'.
19047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19048 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19049
19050 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19051 `disk/lvm.c' to the end of the list.
19052 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19053 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19054
b5db202a 190552008-02-10 Robert Millan <rmh@aybabtu.com>
19056
19057 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19058 grub_print_error() instead. This will let user know why we're entering
19059 rescue mode.
19060 Based on suggestions from Sam Morris.
19061
83abee31 190622008-02-10 Alexandre Boeglin <alex@boeglin.org>
19063
19064 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19065 on remaining N args, instead of "--" arg N times.
19066
78d5a08b 190672008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19068
19069 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19070 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19071 pattern for unknown glyphs.
19072
68807e5f 190732008-02-09 Robert Millan <rmh@aybabtu.com>
19074
19075 * configure.ac: Probe for `help2man'.
19076 * Makefile.in (builddir): New variable.
19077 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19078 or otherwise add a few flags/options to it.
19079 (install-local): For every executable utility or script that is
19080 installed, invoke $(HELP2MAN) to install a manpage based on --help
19081 output.
19082
19083 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19084 that it doesn't prevent --help from working in build tree.
19085
19086 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19087 with `bug-grub@gnu.org'.
19088 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19089 * util/update-grub.in (usage): New function.
19090 Implement proper argument check, with support for --help and --version
19091 (as well as existing -y).
19092
190932008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 19094
19095 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19096 avoid overwriting previous output.
19097 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19098
c1962162 190992008-02-09 Robert Millan <rmh@aybabtu.com>
19100
19101 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19102 drawing the menu.
19103
3dac2e3f 191042008-02-09 Robert Millan <rmh@aybabtu.com>
19105
19106 * commands/sleep.c: New file.
19107 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19108 (sleep_mod_SOURCES): New variable.
19109 (sleep_mod_CFLAGS): Likewise.
19110 (sleep_mod_LDFLAGS): Likewise.
19111
7a634e08 191122008-02-09 Robert Millan <rmh@aybabtu.com>
19113
19114 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19115 situations in which we can deduce the RAID size and the superblock
19116 doesn't match it.
19117
b92f0c18 191182008-02-09 Robert Millan <rmh@aybabtu.com>
19119
19120 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19121 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19122 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19123
19124 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19125 and return a grub_diskmemberlist_t composed of physical array members.
19126 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19127
19128 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19129 prototype.
19130 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19131 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19132 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19133
19134 * util/grub-probe.c (probe): Move partmap probing code from here ...
19135 (probe_partmap): ... to here.
19136 (probe): Use probe_partmap() once for the disk we're probing, and
19137 additionally, when such disk contains a memberlist() struct member,
19138 once for each disk that is contained in the structure returned by
19139 memberlist().
19140
91a4bf68 191412008-02-09 Robert Millan <rmh@aybabtu.com>
19142
19143 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19144 environment variable to 'all' in order to obtain debug output from
19145 non-util/ code.
19146 * util/i386/pc/grub-setup.c (main): Likewise.
19147
a96f9caa 191482008-02-08 Robert Millan <rmh@aybabtu.com>
19149
19150 * disk/raid.c (grub_raid_scan_device): Check for
19151 `array->device[sb.this_disk.number]' rather than for
19152 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 19153 guaranteed to be accessible.
a96f9caa 19154
b37a9222 191552008-02-08 Robert Millan <rmh@aybabtu.com>
19156
19157 * disk/raid.c: Update copyright.
19158 * fs/cpio.c: Likewise.
19159 * include/grub/raid.h: Likewise.
19160 * loader/i386/pc/multiboot.c: Likewise.
19161 * util/hostfs.c: Likewise.
19162
5626aee1 191632008-02-08 Robert Millan <rmh@aybabtu.com>
19164
19165 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19166 to a grub_disk_t array.
19167 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19168 `device[x]'.
19169 (grub_raid_scan_device): Replace `device[x].name' accesses with
19170 `device[x]->name'. Simplify initialization of `array->device[x]'.
19171
554f0187 191722008-02-08 Robert Millan <rmh@aybabtu.com>
19173
19174 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19175 grub_dprintf() calls.
19176 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19177 error message.
19178
1ec8425d 191792008-02-07 Christian Franke <franke@computer.org>
19180
19181 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19182 instead of fseek and ftell to support large files.
19183 (grub_hostfs_read): Likewise.
19184
f2156fda 191852008-02-07 Robert Millan <rmh@aybabtu.com>
19186
19187 Patch from Jeroen Dekkers.
19188 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 19189 failure, since successfully reading all array members might not be
f2156fda 19190 required.
19191
9216e0e7 191922008-02-06 Robert Millan <rmh@aybabtu.com>
19193
19194 * util/grub-probe.c (probe): Simplify partmap probing (with the
19195 assumption that the first word up to the underscore equals to
19196 the module name).
19197
b0dfd29a 191982008-02-06 Christian Franke <franke@computer.org>
19199
19200 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19201 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19202 last block of a cpio or tar stream.
19203 Check for "TRAILER!!!" instead of any empty data
19204 block to detect last block of a cpio stream.
19205 (grub_cpio_dir): Fix constness of variable np.
19206 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19207 cpio or tar trailer is detected. This fixes a crash
19208 on open of a non existing file.
19209
c32865bf 192102008-02-05 Bean <bean123ch@gmail.com>
19211
19212 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19213 address of entry.
19214 (grub_multiboot_load_elf64): Likewise.
19215 (grub_multiboot): Initialize mbi structure.
19216
19217 * util/grub-fstest.c: Don't include unused header file script.h.
19218
fe6b695a 19219 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 19220 of file.
19221 (grub_fstest_SOURCES): Likewise.
19222
409480b7 192232008-02-05 Robert Millan <rmh@aybabtu.com>
19224
19225 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19226 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19227 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19228 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19229
19230 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19231 (translation_table): Replace hardcoded values with macros
19232 provided by `<grub/term.h>'.
19233
19234 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19235 (keyboard_map): Correct/add a few values, with macros provided
19236 by `<grub/term.h>'.
19237 (keyboard_map_shift): Zero values that don't differ from their
19238 `keyboard_map' equivalents.
19239 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19240 Discard the second scan code that is always sent by Caps lock.
19241 Only use `keyboard_map_shift' when it provides a non-zero value,
19242 otherwise fallback to `keyboard_map'.
19243
99fadbaa 192442008-02-04 Bean <bean123ch@gmail.com>
19245
19246 * Makefile.in (enable_grub_fstest): New variable.
19247
19248 * conf/common.rmk (grub_fstest_init.lst): New rule.
19249 (grub_fstest_init.h): Likewise.
19250 (grub_fstest_init.c): Likewise.
19251 (util/grub-fstest.c_DEPENDENCIES): New variable.
19252 (grub_fstest_SOURCES): Likewise.
19253
19254 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19255
19256 * util/grub-fstest.c: New file.
19257
bf567c50 192582008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19259
19260 Make grub-setup handle a separate root device.
f19dbdb7 19261
bf567c50 19262 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19263 so that the root device can be compared with the destination
19264 device.
19265 When embedding the core image, if the root and destination devices
19266 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19267 0xFF.
19268 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 19269
9be6b98b 192702008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19271
19272 Add support for having a grub directory in a different drive. This
19273 is still only the data handling part.
f19dbdb7 19274
9be6b98b 19275 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19276 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19277 (grub_root_drive): New variable.
19278
19279 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19280 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19281 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19282 as it was.
19283
19284 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19285
19286 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19287 macro.
19288 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19289
19290 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19291 is bogus, because PXE booting does not specify any drive
19292 correctly.
19293
19294 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19295 am not sure if this is really correct.
19296
19297 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19298 is always identical to the boot drive when booting from a CD.
19299
19300 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19301 longer.
19302 (root_drive): New variable.
19303 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19304 (setup_sectors): Push %dx right after popping it, because %dh will
19305 be modified later.
19306 (copy_buffer): Restore %dx.
19307
e0ca0677 193082008-02-03 Robert Millan <rmh@aybabtu.com>
19309
19310 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19311 use `cdboot.img' for cdrom images.
19312
3b3f6629 193132008-02-03 Robert Millan <rmh@aybabtu.com>
19314
19315 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19316 only setup gfxterm when `font' command has succeeded.
19317
d42b3672 193182008-02-03 Robert Millan <rmh@aybabtu.com>
19319
19320 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19321 (grub_rescue_cmd_multiboot_loader)
19322 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19323
fa370ea6 193242008-02-03 Pavel Roskin <proski@gnu.org>
19325
e0c5dacb 19326 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 19327 %edx and %esi from stack only after grub_gate_a20() is called.
19328 grub_gate_a20() clobbers %edx.
19329
f2a76e1d 193302008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19331
19332 * configure.ac (AC_INIT): Bumped to 1.96.
19333
19334 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19335 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19336 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19337 video/readers/png.c.
19338
90fd32d1 193392008-02-03 Bean <bean123ch@gmail.com>
9be665dd 19340
19341 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19342 (cdboot_img_SOURCES): New variable.
19343 (cdboot_img_ASFLAGS): New variable.
19344 (cdboot_img_LDFLAGS): New variable.
19345
19346 * boot/i386/pc/cdboot.S: New file.
19347
19348 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19349 (cd_count): Likewise.
19350 (grub_biosdisk_get_drive): Add support for cd device.
19351 (grub_biosdisk_call_hook): Likewise.
19352 (grub_biosdisk_iterate): Likewise.
19353 (grub_biosdisk_open): Likewise.
19354 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19355 (grub_biosdisk_rw): Support reading from cd device.
19356 (GRUB_MOD_INIT): Iterate cd devices.
19357
19358 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19359 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19360 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19361
19362 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19363
4020aa53 193642008-02-02 Robert Millan <rmh@aybabtu.com>
19365
19366 * commands/read.c: New file.
19367 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19368 (read_mod_SOURCES): New variable.
19369 (read_mod_CFLAGS): Likewise.
19370 (read_mod_LDFLAGS): Likewise.
19371
e03a1132 193722008-02-02 Robert Millan <rmh@aybabtu.com>
19373
19374 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19375 determining whether menu has to be displayed.
19376
58c69220 193772008-02-02 Marco Gerards <marco@gnu.org>
19378
19379 * bus/pci.c: New file.
19380
19381 * include/grub/pci.h: Likewise.
19382
19383 * include/grub/i386/pc/pci.h: Likewise.
19384
19385 * commands/lspci.c: Likewise.
19386
19387 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19388 `lspci.mod'.
19389 (pci_mod_SOURCES): New variable.
19390 (pci_mod_CFLAGS): Likewise.
19391 (pci_mod_LDFLAGS): Likewise.
19392 (lspci_mod_SOURCES): Likewise.
19393 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 19394 (lspci_mod_LDFLAGS): Likewise.
58c69220 19395
c004e1b4 193962008-02-02 Bean <bean123ch@gmail.com>
19397
19398 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19399 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19400
19401 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19402 (grub_xfs_btree_node): New structure.
19403 (grub_xfs_btree_root): New structure.
19404 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19405 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19406 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19407 (GRUB_XFS_EXTENT_SIZE): Likewise.
19408 (grub_xfs_read_block): Support btree format type.
19409 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19410 Use directory block as basic unit.
19411
19412 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19413
19414 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19415 __attribute__ ((__regparm__ (1))).
19416
f95562bf 194172008-02-01 Robert Millan <rmh@aybabtu.com>
19418
19419 Correct a mistake in previous commit.
19420
19421 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19422 top.
19423 (normal/command.c_DEPENDENCIES): New variable.
19424
7d31f41f 194252008-02-01 Robert Millan <rmh@aybabtu.com>
19426
19427 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19428 top.
19429 (normal/command.c_DEPENDENCIES): New variable.
19430 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19431 * conf/i386-ieee1275.rmk: Likewise.
19432 * conf/i386-linuxbios.rmk: Likewise.
19433 * conf/i386-pc.rmk: Likewise.
19434 * conf/sparc64-ieee1275.rmk: Likewise.
19435 * conf/powerpc-ieee1275.rmk: Likewise.
19436 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19437
19438 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19439
60b6be74 194402008-02-01 Robert Millan <rmh@aybabtu.com>
19441
19442 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19443 call at beginning of function.
19444
078522ab 194452008-01-31 Pavel Roskin <proski@gnu.org>
19446
19447 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 19448 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19449 (grub_mkrescue_SOURCES): Likewise.
078522ab 19450 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19451
ccaa8a5f 194522008-01-30 Robert Millan <rmh@aybabtu.com>
19453
19454 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19455 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19456 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19457 (grub_probe_SOURCES): ... to here.
19458
19459 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19460 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19461 * conf/i386-ieee1275.rmk: Likewise.
19462 * conf/i386-linuxbios.rmk: Likewise.
19463 * conf/powerpc-ieee1275.rmk: Likewise.
19464
ae5a9cd7 194652008-01-30 Tristan Gingold <gingold@free.fr>
19466
19467 * kern/rescue.c: Silently accept empty lines.
19468
70bc2ef2 194692008-01-29 Bean <bean123ch@gmail.com>
19470
19471 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19472 (real_code_2): Code cleanup and change comment style.
19473 (move_memory): Avoid using 32-bit address mode.
19474
6a4d50ea 194752008-01-29 Bean <bean123ch@gmail.com>
19476
19477 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19478 (png_mod_SOURCES): New variable.
19479 (png_mod_CFLAGS): Likewise.
19480 (png_mod_LDFLAGS): Likewise.
19481
19482 * video/readers/png.c: New file.
19483
11cc30ac 194842008-01-28 Robert Millan <rmh@aybabtu.com>
19485
19486 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19487 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19488 `ifndef GRUB_MOD_GAP' hack.
19489 * util/elf/grub-mkimage.c (add_segments): Likewise.
19490
3abc589f 194912008-01-27 Robert Millan <rmh@aybabtu.com>
19492
19493 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19494 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 19495 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 19496
e1907778 194972008-01-27 Robert Millan <rmh@aybabtu.com>
19498
19499 Get grub-emu to build again (including parallel builds).
19500
19501 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19502 Split into ...
19503 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19504 (normal/execute.c_DEPENDENCIES): ... this, ...
19505 (grub-emu_DEPENDENCIES): ... and this.
19506
19507 * conf/i386-efi.rmk: Likewise.
19508 * conf/i386-linuxbios.rmk: Likewise.
19509 * conf/i386-ieee1275.rmk: Likewise.
19510 * conf/powerpc-ieee1275.rmk: Likewise.
19511 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19512
2216b101 195132008-01-27 Robert Millan <rmh@aybabtu.com>
19514
19515 * NEWS: Add a few items.
19516
f75172d9 195172008-01-27 Robert Millan <rmh@aybabtu.com>
19518
19519 Fix parallel builds with grub-emu. Based on earlier commit for
19520 grub-probe and grub-setup.
19521
19522 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19523 (util/grub-emu.c_DEPENDENCIES): ... this.
19524 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19525 (util/grub-emu.c_DEPENDENCIES): ... this.
19526 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19527 (util/grub-emu.c_DEPENDENCIES): ... this.
19528 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19529 (util/grub-emu.c_DEPENDENCIES): ... this.
19530 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19531 (util/grub-emu.c_DEPENDENCIES): ... this.
19532
3f51de77 195332008-01-27 Pavel Roskin <proski@gnu.org>
19534
19535 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19536 to create a gap between _end and the modules added to the image
19537 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19538 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19539 * util/elf/grub-mkimage.c (add_segments): Likewise.
19540
2033f53e 195412008-01-26 Pavel Roskin <proski@gnu.org>
19542
19543 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19544 just return an error.
19545
22da1f6f 195462008-01-26 Bean <bean123ch@gmail.com>
19547
19548 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19549 (grub_reiserfs_get_item): Save offset of the next item.
19550 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19551
2a9525e6 195522008-01-25 Robert Millan <rmh@aybabtu.com>
19553
19554 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19555 make all filesystem sources appear together (possibly fixing omissions
19556 while at it).
19557 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19559 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19561
19562 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19563 add `kern/file.c'.
19564 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19565 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19566 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19567 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19568
19569 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19570 (probe): Add a sanity check to make sure of our ability to read
19571 requested files when probing for filesystem type.
19572
19573 * genmk.rb: Update copyright year (2007).
19574
19575 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19576 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19577 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19578 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19579 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19580 : Remove function prototypes.
19581
b95f71b5 195822008-01-25 Robert Millan <rmh@aybabtu.com>
19583
19584 Revert my previous commits (based on wrong assumption of how grub_errno
19585 works).
19586
fe6b695a 19587 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 19588 * kern/file.c (grub_file_open): Likewise.
19589
d08bbb49 195902008-01-24 Pavel Roskin <proski@gnu.org>
19591
19592 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19593 that hang if GRUB tries to setup colors.
19594 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19595 colors for firmwares that don't support it.
19596 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19597 Recognize Open Hack'Ware, set flags to work around its
19598 limitations.
19599
605e36ed 196002008-01-24 Robert Millan <rmh@aybabtu.com>
19601
19602 * kern/file.c (grub_file_open): Do not account previous failures of
19603 unrelated functions when grub_errno is checked for.
19604 Reported by Oleg Strikov.
19605
bac332a1 196062008-01-24 Bean <bean123ch@gmail.com>
19607
19608 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19609 (grub_ufs_sblock): New member volume name.
19610 (grub_ufs_find_file): Fix string copy bug.
19611 (grub_ufs_label): Implement this function properly.
19612
19613 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19614 (grub_hfs_iterate_records): Use the correct file number for extents
19615 and catalog file. Fix problem in next index calculation.
19616 (grub_hfs_find_node): Replace recursive function call with loop.
19617 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19618
15c80c09 196192008-01-23 Robert Millan <rmh@aybabtu.com>
19620
19621 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19622 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19623 (grub_multiboot2_real_boot): New function prototype.
19624
19625 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19626 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19627
19628 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19629 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19630
305338fd 196312008-01-23 Robert Millan <rmh@aybabtu.com>
19632
19633 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19634 #ifdef'ed out grub_printf().
19635
3ea52685 196362008-01-23 Robert Millan <rmh@aybabtu.com>
19637
19638 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19639 grub_dprintf calls, since they make "debug=all" mode unusable.
19640 (grub_console_checkkey): Likewise.
19641
5882ae4b 196422008-01-23 Robert Millan <rmh@aybabtu.com>
19643
19644 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19645 `term/i386/pc/at_keyboard.c'.
19646 (pkglib_MODULES): Add `serial.mod'.
19647 (serial_mod_SOURCES): New variable.
19648 (serial_mod_CFLAGS): Likewise.
19649 (serial_mod_LDFLAGS): Likewise.
19650
19651 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19652 `<grub/powerpc/ieee1275/console.h>'.
19653 (grub_keyboard_controller_init): New function prototype.
19654 (grub_console_checkkey): Likewise.
19655 (grub_console_getkey): Likewise.
19656
19657 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19658 keyboard on i386.
19659
19660 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19661 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19662
06ab5303 196632008-01-23 Robert Millan <rmh@aybabtu.com>
19664
19665 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19666 present, "(memdisk)/boot/grub" becomes the default prefix.
19667
19668 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19669 a memdisk tarball with all the modules. Add --overlay=DIR option that
19670 allows users to overlay additional files into the image.
19671
dbb475a4 196722008-01-23 Robert Millan <rmh@aybabtu.com>
19673
19674 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19675 and `machine/memory.h'.
19676 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19677 (_multiboot_mod_SOURCES): New variable.
19678 (_multiboot_mod_CFLAGS): Likewise.
19679 (_multiboot_mod_LDFLAGS): Likewise.
19680 (multiboot_mod_SOURCES): Likewise.
19681 (multiboot_mod_CFLAGS): Likewise.
19682 (multiboot_mod_LDFLAGS): Likewise.
19683
19684 * include/grub/i386/ieee1275/loader.h: New file.
19685
19686 * include/grub/i386/ieee1275/machine.h: Likewise.
19687
19688 * include/grub/i386/ieee1275/memory.h: Likewise.
19689
19690 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19691 variable declaration.
19692 (grub_os_area_size): Likewise.
19693
19694 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19695 (grub_lower_mem, grub_upper_mem): New variables.
19696 (grub_stop_floppy): New function (just to make
19697 grub_multiboot2_real_boot() happy).
19698
19699 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19700 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19701 (grub_stop): New function.
19702 Include `"../realmode.S"' and `"../loader.S"'.
19703
19704 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19705 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19706
19707 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19708 rely on grub_multiboot2_real_boot() for final boot.
19709
25638629 197102008-01-22 Robert Millan <rmh@aybabtu.com>
19711
19712 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19713 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19714 device that doesn't look like an SD card.
19715 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19716 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19717 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19718 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19719 found.
19720
9dad816d 197212008-01-22 Robert Millan <rmh@aybabtu.com>
19722
19723 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19724 avoid claiming over our own code.
19725
34842f2d 197262008-01-22 Bean <bean123ch@gmail.com>
19727
19728 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19729 (jpeg_mod_SOURCES): New variable.
19730 (jpeg_mod_CFLAGS): Likewise.
19731 (jpeg_mod_LDFLAGS): Likewise.
19732
19733 * video/readers/jpeg.c : New file.
19734
44023a28 197352008-01-22 Bean <bean123ch@gmail.com>
19736
19737 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19738 there are no more items.
19739
bc2d8ac6 197402008-01-21 Robert Millan <rmh@aybabtu.com>
19741
19742 * kern/mm.c (grub_mm_init_region): Improve debug message.
19743
261bd4bc 197442008-01-21 Robert Millan <rmh@aybabtu.com>
19745
19746 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19747 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19748 address.
19749 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19750 a C macro.
19751 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19752 Indicates start of upper memory.
19753 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19754 (generate_image): Abort when image size is big enough to corrupt
19755 upper memory.
19756
19757 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19758 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19759 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19760 instead of hardcoding 0xA0000.
19761 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19762 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19763 instead of hardcoding 0xA0000.
19764
f970b55e 197652008-01-21 Robert Millan <rmh@aybabtu.com>
19766
19767 * disk/memdisk.c (memdisk_size): New variable.
19768 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19769 `memdisk_size'.
19770 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19771 image to dynamic memory.
19772 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19773 `memdisk_size'. Free memdisk block.
19774
1a8b0526 197752008-01-21 Robert Millan <rmh@aybabtu.com>
19776
19777 Fix detection of very small filesystems (like tar).
19778
19779 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19780 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19781 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19782 a problem with this disk).
19783
6e9b4aab 197842008-01-21 Robert Millan <rmh@aybabtu.com>
19785
19786 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19787 on grub_biosdisk_rw_standard() error.
19788
0d8837b2 197892008-01-21 Robert Millan <rmh@aybabtu.com>
19790
19791 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19792 recent changes.
19793 * kern/elf.c: Likewise.
19794 * kern/ieee1275/ieee1275.c: Likewise.
19795 * kern/powerpc/ieee1275/openfw.c: Likewise.
19796 * term/ieee1275/ofconsole.c: Likewise.
19797
ffd36e34 197982008-01-21 Robert Millan <rmh@aybabtu.com>
19799
19800 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19801
3f0093d0 19802 * include/grub/kernel.h (grub_arch_memdisk_addr)
19803 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 19804
3f0093d0 19805 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19806 (grub_arch_memdisk_size): ... to here.
ffd36e34 19807
6c391b21 198082008-01-21 Robert Millan <rmh@aybabtu.com>
19809
19810 Mostly based on bugfix from Bean.
19811
19812 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19813 attribute with hook() parameter.
19814 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19815 declaration.
19816 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19817 attribute with hook() parameter.
19818 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19819 declaration.
19820
55a581dc 198212008-01-21 Robert Millan <rmh@aybabtu.com>
19822
19823 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19824 (pkglib_MODULES): Add `memdisk.mod'.
19825 (memdisk_mod_SOURCES): New variable.
19826 (memdisk_mod_CFLAGS): Likewise.
19827 (memdisk_mod_LDFLAGS): Likewise.
19828
19829 * disk/memdisk.c: New file.
19830
19831 * include/grub/disk.h (grub_disk_dev_id): Add
19832 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19833
19834 * include/grub/i386/pc/kernel.h
19835 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19836 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19837 (grub_kernel_image_size): New variable declaration.
19838 (grub_total_module_size): Likewise.
19839 (grub_memdisk_image_size): Likewise.
19840
19841 * include/grub/i386/pc/memory.h
19842 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
19843
19844 * include/grub/kernel.h: Include `<grub/symbol.h>'.
19845 (grub_arch_memdisk_addr): New variable declaration.
19846 (grub_arch_memdisk_size): Likewise.
19847
19848 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
19849 (grub_arch_memdisk_size): Likewise.
19850
19851 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
19852 (codestart): Replace hardcoded `0x100000' with
19853 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
19854
19855 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
19856 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
19857 not NULL, append the contents of the file it refers to, at the end of
19858 the compressed kernel image. Initialize `grub_memdisk_image_size'
19859 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
19860 (options): Add "memdisk"|'m' option.
19861 (main): Parse --memdisk|-m option, and pass user-provided path as
19862 parameter to generate_image().
19863
3d7f54c9 198642008-01-20 Robert Millan <rmh@aybabtu.com>
19865
19866 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
19867 grub_dprintf() calls from here ...
19868 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19869
0bf74728 198702008-01-20 Robert Millan <rmh@aybabtu.com>
19871
19872 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19873
19874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19875 declaration.
19876 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19877 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19878 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 19879 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 19880 property).
19881 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19882 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19883
33bf70a7 198842008-01-19 Robert Millan <rmh@aybabtu.com>
19885
fe6b695a 19886 Get rid of confusing function (superseded by
33bf70a7 19887 `grub_ieee1275_get_integer_property')
19888 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19889 prototype.
19890 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19891 function.
19892 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19893 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 19894 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 19895
e2da7d26 198962008-01-19 Robert Millan <rmh@aybabtu.com>
19897
19898 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19899 command after "shut-down", since implementations differ on which
19900 the command for halt is.
19901
59f1fd8d 199022008-01-19 Robert Millan <rmh@aybabtu.com>
19903
19904 * include/grub/i386/linuxbios/console.h: Add header protection.
19905 (grub_keyboard_controller_init): New function prototype.
19906 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19907 (KEYBOARD_COMMAND_READ): Likewise.
19908 (KEYBOARD_COMMAND_WRITE): Likewise.
19909 (KEYBOARD_SCANCODE_SET1): Likewise.
19910 (grub_keyboard_controller_write): New function.
19911 (grub_keyboard_controller_read): Likewise.
19912 (grub_keyboard_controller_init): Likewise.
19913
19914 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19915 (grub_console_init): On coreboot/LinuxBIOS, call
19916 grub_keyboard_controller_init().
19917
5f5a7c15 199182008-01-19 Robert Millan <rmh@aybabtu.com>
19919
19920 PowerPC changes provided by Pavel Roskin.
19921
19922 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19923 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19924 don't rely on cmain() doing it.
19925 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19926 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19927
1210e168 199282008-01-16 Robert Millan <rmh@aybabtu.com>
19929
19930 * include/grub/i386/linuxbios/memory.h
19931 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19932 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19933 receive `table_header' as argument. Instead, probe for it in the
19934 known memory ranges where it can be present.
19935 (grub_available_iterate): Do not pass a fixed `table_header' address
19936 to grub_linuxbios_table_iterate().
19937
3d04eab8 199382008-01-15 Robert Millan <rmh@aybabtu.com>
19939
19940 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19941 * conf/i386-ieee1275.rmk: New file.
19942 * include/grub/i386/ieee1275/console.h: Likewise.
19943 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19944 * include/grub/i386/ieee1275/kernel.h: Likewise.
19945 * include/grub/i386/ieee1275/time.h: Likewise.
19946 * kern/i386/ieee1275/init.c: Likewise.
19947 * kern/i386/ieee1275/startup.S: Likewise.
19948
d1bc1b73 199492008-01-15 Robert Millan <rmh@aybabtu.com>
19950
19951 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19952 when pointers are 32-bit (but still do set it to one when they are
19953 64-bit).
19954
66a65807 199552008-01-15 Robert Millan <rmh@aybabtu.com>
19956
19957 * include/grub/ieee1275/ieee1275.h
19958 (grub_ieee1275_get_integer_property): New function prototype.
19959
19960 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19961 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 19962 grub_ieee1275_get_property() to handle endianness.
66a65807 19963
19964 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19965 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 19966 where appropriate.
66a65807 19967 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19968 (grub_map): Likewise.
19969 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19970
a83ccafd 199712008-01-15 Bean <bean123ch@gmail.com>
19972
19973 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19974 (grub_script_execute_cmdline): Reset grub_errno.
19975
19976 * normal/main.c (read_config_file): Reset grub_errno.
19977
19978 * normal/parse.y (script_init): New.
19979 (script): Move function and menuentry here.
19980 (delimiter): New.
19981 (command): Add delimiter at the end of command.
19982 (commands): Adjust to match the new command.
19983 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 19984 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 19985 (if): Use the new commands.
19986
19987 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19988
df6ecfc6 199892008-01-15 Robert Millan <rmh@aybabtu.com>
19990
19991 * normal/menu.c (run_menu): Move timeout message from here ...
19992 (print_timeout): ... to here.
19993 (run_menu): Use print_timeout() once during initial draw to print
19994 the whole message, and again in every clock tick to update only
19995 the number of seconds.
19996
87ae25eb 199972008-01-15 Robert Millan <rmh@aybabtu.com>
19998
19999 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20000 actual size of `available' from grub_ieee1275_get_property(), and
20001 restrict parsing to that bound.
20002
47bf09a4 200032008-01-15 Christian Franke <franke@computer.org>
20004
20005 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20006 (argp_program_version): Remove variable.
20007 (argp_program_bug_address): Likewise.
20008 (options): Convert from struct argp_option to struct option.
20009 (struct arguments): Remove.
20010 (parse_opt): Remove.
20011 (usage): New function.
20012 (main): Replace struct args members by simple variables.
20013 Replace argp_parse() by getopt_long().
20014 Add switch to evaluate options.
20015 Add missing "(...)" around root_dev in prefix string.
20016
c86f1469 200172008-01-14 Robert Millan <rmh@aybabtu.com>
20018
20019 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20020 for grub_ieee1275_exit(), in order to improve portability.
20021
e622c559 200222008-01-14 Robert Millan <rmh@aybabtu.com>
20023
20024 * util/grub.d/10_linux.in (prefix): Define.
20025 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20026
44cb1ec8 200272008-01-13 Pavel Roskin <proski@gnu.org>
20028
20029 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20030 grub_errno if no errors have been detected.
20031
1eb8c802 200322008-01-12 Robert Millan <rmh@aybabtu.com>
20033
20034 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20035 (grub_util_get_dev_abstraction): New function prototype.
20036
20037 * util/getroot.c: Include `<grub/util/getroot.h>'
20038 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20039 (grub_util_get_dev_abstraction): ... here (new function).
20040
20041 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20042 `PRINT_ABSTRACTION'.
20043 (probe): Probe for abstraction type when requested.
20044 (main): Understand `--target=abstraction'.
20045
20046 * util/i386/efi/grub-install.in: Add abstraction module to core
20047 image when it is found to be necessary.
20048 * util/i386/pc/grub-install.in: Likewise.
20049 * util/powerpc/ieee1275/grub-install.in: Likewise.
20050
20051 * util/update-grub_lib.in (font_path): Return system path without
20052 converting to GRUB path.
20053 * util/update-grub.in: Convert system path returned by font_path()
20054 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20055 abstraction module is needed for loading fonts (if any). Export
20056 that as `GRUB_PRELOAD_MODULES'.
20057 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20058 insmod commands).
20059
52bd3de9 200602008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20061
20062 Remove some unused code from reiserfs.
f19dbdb7 20063
52bd3de9 20064 * fs/reiserfs.c (struct grub_reiserfs_key)
20065 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20066 (struct grub_reiserfs_node_body): Removed.
20067 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20068 Likewise.
20069 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20070 Likewise.
20071 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20072 Likewise.
20073 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20074 Likewise.
20075 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20076 Likewise.
20077 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20078 Likewise.
20079 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20080 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20081 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20082
2f80039d 200832008-01-10 Robert Millan <rmh@aybabtu.com>
20084
20085 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20086 Determines if a file is garbage left by packaging systems, etc.
20087 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20088 for processing /etc/grub.d scripts.
20089 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20090 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20091 as a condition for processing Linux images.
20092
87888032 200932008-01-10 Pavel Roskin <proski@gnu.org>
20094
20095 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20096 to compile reiserfs.c on PowerPC.
20097
7e54fced 200982008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 20099
20100 * kern/device.c (grub_device_iterate): Do not abort device iteration
20101 when one of the devices cannot be opened.
20102 * kern/disk.c (grub_disk_open): Do not account previous failures of
20103 unrelated functions when grub_errno is checked for.
20104
5aa541e6 201052008-01-08 Robert Millan <rmh@aybabtu.com>
20106
20107 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20108 `! grub_linux_is_bzimage', change order of address comparison to make
20109 it more intuitive, and improve "too big zImage" error message.
20110
7076340d 201112008-01-08 Robert Millan <rmh@aybabtu.com>
20112
20113 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20114 `$(update-grub_DATA)'.
20115 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20116 targets.
20117
9ca70333 201182008-01-07 Robert Millan <rmh@aybabtu.com>
20119
20120 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20121 which instruction is modified by grub-setup during installation
20122 (since it wasn't obvious by only looking at this file).
20123
38ccf575 201242008-01-07 Robert Millan <rmh@aybabtu.com>
20125
20126 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20127 listing actual TODO items.
20128
f5db4291 201292008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20130
868967cf 20131 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20132 correctly.
20133 (grub_reiserfs_get_key_offset): Likewise.
20134 (grub_reiserfs_set_key_offset): Likewise.
20135 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 20136 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 20137
20138 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20139 better to remove the bitfield version completely.
f19dbdb7 20140
868967cf 201412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20142
f5db4291 20143 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20144 allocated from the heap, due to the fshelp implementation.
20145 (grub_reiserfs_dir): Free NODE, due to the same reason.
20146
492e6d9d 201472008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20148
20149 Mostly from Vincent Pelletier:
f19dbdb7 20150
492e6d9d 20151 * fs/reiserfs.c: New file.
f19dbdb7 20152
492e6d9d 20153 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20154 (reiserfs_mod_SOURCES): New variable.
20155 (reiserfs_mod_CFLAGS): Likewise.
20156 (reiserfs_mod_LDFLAGS): Likewise.
20157
20158 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20159 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20160 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20161 normal/color.c.
20162
9ce3e7c1 201632008-01-06 Robert Millan <rmh@aybabtu.com>
20164
20165 * normal/color.c: Remove `<grub/env.h>'.
20166
f3b58148 201672008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20168
20169 * include/grub/normal.h: Include <grub/env.h>.
20170
7ac3bcfa 201712008-01-05 Robert Millan <rmh@aybabtu.com>
20172
20173 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20174 usage example with `(hd0,1)'.
fb358190 20175 Reported by Samuel Thibault.
7ac3bcfa 20176
c8ee99d7 201772008-01-05 Robert Millan <rmh@aybabtu.com>
20178
20179 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20180 (grub_linux_boot_zimage): Rename to ...
20181 (grub_linux_boot): ... this.
20182 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20183 (grub_linux_boot_zimage): Conditionalize zImage copy.
20184
20185 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20186 (grub_linux_boot_bzimage): Remove prototype.
20187 (grub_linux_boot_zimage): Rename to ...
20188 (grub_linux_boot): ... this.
20189
20190 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20191 (grub_linux_boot): Remove function.
20192
0ece25b1 201932008-01-05 Robert Millan <rmh@aybabtu.com>
20194
20195 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20196 (grub_env_write_color_highlight): Likewise.
20197 (grub_wait_after_message): Likewise.
20198
20199 * normal/color.c: New file.
20200
20201 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20202 (normal_mod_DEPENDENCIES): Likewise.
20203
20204 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20205 (normal_mod_DEPENDENCIES): Likewise.
20206
20207 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20208 (normal_mod_DEPENDENCIES): Likewise.
20209
20210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20211 (normal_mod_DEPENDENCIES): Likewise.
20212
20213 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20214 for waiting after a message is printed.
20215 * normal/main.c (read_config_file): Likewise.
20216 (grub_normal_init): Register grub_env_write_color_normal() and
20217 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20218 `color_highlight' variables as global.
20219
20220 * normal/menu.c (grub_wait_after_message): New function.
20221 (grub_color_menu_normal): New variable. Replaces ...
20222 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20223 (grub_color_menu_highlight): New variable. Replaces ...
20224 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20225 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20226 `GRUB_TERM_COLOR_STANDARD'.
20227 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20228 `normal_code' and `highlight_code' to `old_color_normal' and
20229 `old_color_highlight', respectively.
20230 (grub_menu_init_page): Update colors when drawing the menu, based on
20231 `menu_color_normal' and `menu_color_highlight' variables.
20232 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20233 a message is printed.
20234
182dd4e5 202352008-01-05 Robert Millan <rmh@aybabtu.com>
20236
20237 * kern/env.c (grub_env_context_open): Propagate hooks for global
20238 variables to new context.
20239
20240 * kern/main.c (grub_set_root_dev): Export `root' variable.
20241
ddf8f6ad 202422008-01-05 Robert Millan <rmh@aybabtu.com>
20243
20244 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 20245 discs unconditionally, since udev and others have options to provide
ddf8f6ad 20246 them.
20247
d8b43d9b 202482008-01-05 Robert Millan <rmh@aybabtu.com>
20249
20250 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20251
2bff2de3 202522008-01-04 Christian Franke <franke@computer.org>
20253
20254 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20255 of eisa_mmap.
20256
97eab917 202572008-01-03 Pavel Roskin <proski@gnu.org>
20258
20259 * kern/i386/linuxbios/init.c: Put "void" to all function
20260 declarations with no arguments.
20261 * kern/powerpc/ieee1275/init.c: Likewise.
20262 * term/i386/pc/at_keyboard.c: Likewise.
20263 * term/i386/pc/vga_text.c: Likewise.
20264 * util/grub-mkdevicemap.c: Likewise.
20265
b9416d00 202662008-01-02 Robert Millan <rmh@aybabtu.com>
20267
20268 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20269 message when loaded image is out of bounds.
20270 (grub_multiboot_load_elf64): Likewise.
20271
92695df9 202722008-01-02 Pavel Roskin <proski@gnu.org>
20273
20274 * util/grub.d/10_linux.in: Try version without ".old" when
20275 looking for initrd. It's better to use initrd from the newer
20276 kernel of the same version than no initrd at all.
20277
d98d9cad 202782008-01-01 Robert Millan <rmh@aybabtu.com>
20279
20280 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20281
dbfdce36 202822008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20283
f19dbdb7 20284 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 20285 grub_video_get_active_render_target.
20286 (grub_video_adapter): Added unmap_color and get_active_render_target.
20287
f19dbdb7 20288 * video/video.c: Added grub_video_unmap_color and
dbfdce36 20289 grub_video_get_active_render_target.
20290 (grub_video_get_info): Changed method to accept NULL pointer as an
20291 argument to allow detection of active video adapter.
20292
20293 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20294 grub_video_vbe_unmap_color_int.
20295 Added grub_video_vbe_unmap_color and
20296 grub_video_vbe_get_active_render_target.
20297 (grub_video_vbe_adapter): Added unmap_color and
20298 get_active_render_target.
20299
f19dbdb7 20300 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 20301 with grub_video_vbe_unmap_color_int.
20302
20303 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20304 (DEFAULT_NORMAL_COLOR): Likewise.
20305 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20306 (DEFAULT_FG_COLOR): Removed.
20307 (DEFAULT_BG_COLOR): Likewise.
20308 (DEFAULT_CURSOR_COLOR): Changed value.
20309 (grub_virtual_screen): Added standard_color_setting,
20310 normal_color_setting, highlight_color_setting and term_color.
20311 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20312 (bitmap_width): Added.
20313 (bitmap_height): Likewise.
20314 (bitmap): Likewise.
20315 (set_term_color): Likewise.
20316 (grub_virtual_screen_setup): Changed to use new terminal coloring
20317 settings.
20318 (grub_gfxterm_init): Added init for bitmap.
20319 (grub_gfxterm_fini): Added destroy for bitmap.
20320 (redraw_screen_rect): Updated to use background bitmap and new
20321 terminal coloring.
20322 (scroll_up): Added optimization for case when there is no bitmap.
20323 (grub_gfxterm_cls): Fixed to use correct background color.
20324 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20325 coloring.
20326 (grub_virtual_screen_setcolor): Likewise.
20327 (grub_virtual_screen_getcolor): Added.
20328 (grub_gfxterm_background_image_cmd): Likewise.
20329 (grub_video_term): Added setcolor and getcolor.
20330 (MOD_INIT): Added registration of background_image command.
20331 (MOD_TERM): Added unregistration for background_image command.
20332
c3c20931 203332007-12-30 Pavel Roskin <proski@gnu.org>
20334
20335 * loader/multiboot_loader.c: Fix multiboot command
20336 unregistration. Fix all typos in the word "multiboot".
20337
df266716 203382007-12-29 Pavel Roskin <proski@gnu.org>
94239199 20339
20340 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20341 support for initrd names used in Fedora.
20342
fc6e896c 203432007-12-26 Bean <bean123ch@gmail.com>
20344
20345 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20346 (cpio_mod_SOURCES): New variable.
20347 (cpio_mod_CFLAGS): Likewise.
20348 (cpio_mod_LDFLAGS): Likewise.
20349
20350 * fs/cpio.c: New file.
20351
20352 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20353
20354 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20355
20356 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20357
20358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20359
533110ad 203602007-12-25 Robert Millan <rmh@aybabtu.com>
20361
20362 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20363 (grub_getcolor): New function.
20364
20365 * kern/term.c (grub_getcolor): New function.
20366 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20367 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20368 (print_entry): Set normal and highlight colors to
20369 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20370 respectively, before printing and restore them to old
20371 values afterwards.
20372 (grub_menu_init_page): Likewise. Fill an additional colored space
20373 that would otherwise be left blank.
20374
20375 * term/efi/console.c (grub_console_getcolor): New function.
20376 (struct grub_console_term.getcolor): New variable.
20377 * term/i386/pc/console.c (grub_console_getcolor): New function.
20378 (struct grub_console_term.getcolor): New variable.
20379 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20380 (struct grub_console_term.getcolor): New variable.
20381
20382 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20383 (struct grub_console_term.setcolor): Remove variable.
20384 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20385 (struct grub_console_term.setcolor): Remove variable.
20386 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20387 (struct grub_console_term.setcolor): Remove variable.
20388 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20389 (struct grub_console_term.setcolor): Remove variable.
20390
4931827f 203912007-12-25 Robert Millan <rmh@aybabtu.com>
20392
20393 * configure.ac: Search for possible unifont.hex locations, and
20394 define UNIFONT_HEX if found.
20395
20396 * Makefile.in (UNIFONT_HEX): Define variable.
20397 (DATA): Rename to ...
20398 (PKGLIB): ... this. Update all users.
20399 (PKGDATA): New variable.
20400 (pkgdata_IMAGES): Rename to ...
20401 (pkglib_IMAGES): ... this. Update all users.
20402 (pkgdata_MODULES): Rename to ...
20403 (pkglib_MODULES): ... this. Update all users.
20404 (pkgdata_PROGRAMS): Rename to ...
20405 (pkglib_PROGRAMS): ... this. Update all users.
20406 (pkgdata_DATA): Rename to ...
20407 (pkglib_DATA): ... this. Update all users.
20408 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20409 (unicode.pff, ascii.pff): New rules.
20410 (all-local): Add `$(PKGDATA)' dependency.
20411 (install-local): Process `$(PKGDATA)'.
20412
20413 * util/update-grub_lib.in (font_path): Search for *.pff files in
20414 a few more locations, including `${pkgdata}'.
20415
57e57e31 204162007-12-23 Robert Millan <rmh@aybabtu.com>
20417
20418 Patch from Bean <bean123ch@gmail.com>:
20419 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20420 `size'.
20421
4bc72aa9 204222007-12-21 Bean <bean123ch@gmail.com>
20423
20424 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20425 (ntfscomp_mod_SOURCES): New variable.
20426 (ntfscomp_mod_CFLAGS): Likewise.
20427 (ntfscomp_mod_LDFLAGS): Likewise.
20428
20429 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20430 (grub_probe_SOURCES): Likewise.
20431 (grub_emu_SOURCES): Likewise.
20432
20433 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20434 (grub_emu_SOURCES): Likewise.
20435
20436 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20437 (grub_emu_SOURCES): Likewise.
20438
20439 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20440 (grub_emu_SOURCES): Likewise.
20441
20442 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20443 (read_run_list): Renamed to grub_ntfs_read_run_list.
20444 (decomp_nextvcn): Moved to ntfscomp.c.
20445 (decomp_getch): Likewise.
20446 (decomp_get16): Likewise.
20447 (decomp_block): Likewise.
20448 (read_block): Likewise.
20449 (read_data): Partially moved to ntfscomp.c.
20450 (fixup): Change unsigned to grub_uint16_t.
20451 (read_mft): Change unsigned long to grub_uint32_t.
20452 (read_attr): Likewise.
20453 (read_data): Likewise.
20454 (read_run_data): Likewise.
20455 (read_run_list): Likewise.
20456 (read_mft): Likewise.
20457
20458 * fs/ntfscomp.c: New file.
20459
20460 * include/grub/ntfs.h: New file.
20461
af680a87 204622007-12-16 Robert Millan <rmh@aybabtu.com>
20463
20464 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20465 IDE disk check, since Linux is known to support 20 IDE disks.
20466 Reported by Colin Watson.
20467
84be7599 204682007-12-15 Bean <bean123ch@gmail.com>
20469
20470 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20471 (lnxboot_img_SOURCES): New variable.
20472 (lnxboot_img_ASFLAGS): Likewise.
20473 (lnxboot_img_LDFLAGS): Likewise.
20474
20475 * boot/i386/pc/lnxboot.S: New file.
20476
6af9db01 204772007-11-24 Pavel Roskin <proski@gnu.org>
20478
20479 * configure.ac: Test if '--build-id=none' is supported by the
20480 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20481 objcopy to generate incorrect binary files (binutils
20482 2.17.50.0.18-1 as shipped by Fedora 8).
20483 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20484 linking, so that build ID doesn't break the test.
20485
7361cfe6 204862007-11-24 Pavel Roskin <proski@gnu.org>
20487
20488 * include/grub/i386/time.h: use "void" in the argument list
20489 of grub_cpu_idle().
20490 * include/grub/powerpc/time.h: Likewise.
20491 * include/grub/sparc64/time.h: Likewise.
20492
1593e10c 204932007-11-18 Christian Franke <franke@computer.org>
20494
20495 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20496 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20497 This fixes the problem that function keys did not work in grub-emu.
20498
3b8db1a8 204992007-11-18 Christian Franke <franke@computer.org>
20500
20501 * disk/host.c (grub_host_open): Remove attribute unused from
20502 name parameter. Add check for "host". This fixes the problem
20503 that grub-emu does not find partitions.
20504
2e29408d 205052007-11-18 Christian Franke <franke@computer.org>
20506
20507 * util/hostfs.c (is_dir): New function.
20508 (grub_hostfs_dir): Handle missing dirent.d_type case.
20509 (grub_hostfs_read): Add missing fseek().
20510 (grub_hostfs_label): Clear label pointer. This fixes a crash
20511 of grub-emu on "ls (host)".
20512
398cd047 205132007-11-18 Christian Franke <franke@computer.org>
20514
20515 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20516 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20517 to 64 bit boundary by default.
20518
c405c391 205192007-11-18 Bean <bean123ch@gmail.com>
20520
20521 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20522 (hexdump_mod_SOURCES): New variable.
20523 (hexdump_mod_CFLAGS): Likewise.
20524 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 20525
c405c391 20526 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20527
20528 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20529
20530 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20531
20532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20533
20534 * include/grub/hexdump.h: New file.
20535
20536 * commands/hexdump.c: New file.
20537
5cced7fd 205382007-11-10 Robert Millan <rmh@aybabtu.com>
20539
20540 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20541 in grub_outb() calls.
20542 (beep_on): Likewise.
20543
8b714eb0 205442007-11-10 Christian Franke <franke@computer.org>
20545
20546 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20547 (grub_menu_run): Likewise.
20548
ce0f1839 205492007-11-10 Robert Millan <rmh@aybabtu.com>
20550
20551 * include/grub/i386/efi/machine.h: New file.
20552 * include/grub/i386/linuxbios/machine.h: Likewise.
20553 * include/grub/i386/pc/machine.h: Likewise.
20554 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20555 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20556
20557 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20558 (serial_hw_io_addr): New variable.
20559 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20560 instead of `(unsigned short *) 0x400'.
20561
270c237d 205622007-11-10 Bean <bean123ch@gmail.com>
20563
20564 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20565
a87783bf 205662007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20567
20568 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20569 (vga_mod_SOURCES): Added.
20570 (vga_mod_CFLAGS): Likewise.
20571 (vga_mod_LDFLAGS): Likewise.
20572
20573 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20574 grub_outb() calls.
20575 (set_map_mask): Likewise.
20576 (set_read_map): Likewise.
20577 (set_read_address): Likewise.
20578 (vga_font): Removed variable.
20579 (get_vga_glyph): Removed function.
20580 (invalidate_char): Likewise.
20581 (write_char): Changed to use grub_font_get_glyph() for font
20582 information.
20583 (grub_vga_putchar): Likewise.
20584 (grub_vga_getcharwidth): Likewise.
20585
6433b448 205862007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20587
20588 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20589 flags.
20590 (pxeboot_img_LDFLAGS): Likewise.
20591 (diskboot_img_LDFLAGS): Likewise.
20592 (kernel_img_LDFLAGS): Likewise.
20593
49178511 205942007-11-06 Robert Millan <rmh@aybabtu.com>
20595
20596 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20597 in grub_outb() calls.
20598 (serial_hw_init): Likewise.
20599
53b052de 206002007-11-05 Robert Millan <rmh@aybabtu.com>
20601
20602 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20603 spaces. Skip non-regular files.
20604
5ab33bba 206052007-11-05 Robert Millan <rmh@aybabtu.com>
20606
20607 * kern/disk.c (grub_disk_firmware_fini)
20608 (grub_disk_firmware_is_tainted): New variables.
20609
20610 * include/grub/disk.h (grub_disk_firmware_fini)
20611 (grub_disk_firmware_is_tainted): Likewise.
20612
20613 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20614 (grub_disk_biosdisk_fini): ... to here.
20615 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20616 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20617 is set. Register grub_disk_biosdisk_fini() in
20618 `grub_disk_firmware_fini'.
20619
20620 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20621 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20622 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20623 to finish existing firmware disk interface.
20624
20625 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20626 (ata_mod_SOURCES): New variable.
20627 (ata_mod_CFLAGS): Likewise.
20628 (ata_mod_LDFLAGS): Likewise.
20629
0149ab7c 206302007-11-05 Robert Millan <rmh@aybabtu.com>
20631
20632 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20633 (grub_ata_wait): Reimplement using grub_millisleep().
20634
20635 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20636 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20637
be7ac41e 206382007-11-03 Marco Gerards <marco@gnu.org>
20639
20640 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20641 (CRTC_ADDR_PORT): New macro.
20642 (CRTC_DATA_PORT): Likewise.
20643 (CRTC_CURSOR): Likewise.
20644 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20645 (CRTC_CURSOR_ADDR_LOW): Likewise.
20646 (update_cursor): New function.
20647 (grub_console_real_putchar): Call `update_cursor'.
20648 (grub_console_gotoxy): Likewise.
20649 (grub_console_cls): Set the default color when clearing the
20650 screen.
20651 (grub_console_setcursor): Implemented.
20652
bb06ab2e 206532007-11-03 Marco Gerards <marco@gnu.org>
20654
20655 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20656 become activate.
20657 (grub_ata_pio_write): Likewise.
20658
20659 (grub_atapi_identify): Wait after issuing an ATA command.
20660 (grub_atapi_packet): Likewise.
20661 (grub_ata_identify): Likewise.
20662 (grub_ata_readwrite): Likewise.
20663
cf8f780b 206642007-11-03 Marco Gerards <marco@gnu.org>
20665
20666 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20667 (grub_ata_pio_write): Likewise.
20668 (grub_ata_readwrite): Use `grub_error', instead of
20669 returning `grub_errno'.
20670
ed649e54 206712007-11-03 Marco Gerards <marco@gnu.org>
20672
20673 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20674 grub_ata_pio_write once for every single sector, instead of for
20675 multiple sectors.
20676
ca25d8f0 206772007-10-31 Robert Millan <rmh@aybabtu.com>
20678
20679 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20680
20681 * conf/i386-linuxbios.rmk: New file.
20682
20683 * kern/i386/pc/hardware.c: Likewise.
20684 * term/i386/pc/at_keyboard.c: Likewise.
20685 * term/i386/pc/vga_text.c: Likewise.
20686
20687 * include/grub/i386/linuxbios/boot.h: Likewise.
20688 * include/grub/i386/linuxbios/console.h: Likewise.
20689 * include/grub/i386/linuxbios/init.h: Likewise.
20690 * include/grub/i386/linuxbios/kernel.h: Likewise.
20691 * include/grub/i386/linuxbios/loader.h: Likewise.
20692 * include/grub/i386/linuxbios/memory.h: Likewise.
20693 * include/grub/i386/linuxbios/serial.h: Likewise.
20694 * include/grub/i386/linuxbios/time.h: Likewise.
20695
20696 * kern/i386/linuxbios/init.c: Likewise.
20697 * kern/i386/linuxbios/startup.S: Likewise.
20698 * kern/i386/linuxbios/table.c: Likewise.
20699
e911ecc1 207002007-10-31 Marco Gerards <marco@gnu.org>
20701
20702 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20703 (ata_mod_SOURCES): New variable.
20704 (ata_mod_CFLAGS): Likewise.
20705 (ata_mod_LDFLAGS): Likewise.
20706
20707 * disk/ata.c: New file.
20708
20709 * include/grub/disk.h (grub_disk_dev_id): Add
20710 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 20711
7f66d0e0 207122007-10-31 Robert Millan <rmh@aybabtu.com>
20713
20714 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20715 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20716
20717 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20718 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20719
20720 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20721 `<grub/types.h>'.
20722
20723 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20724
5cd7dd46 207252007-10-27 Robert Millan <rmh@aybabtu.com>
20726
3236ca65 20727 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 20728
2ebfc90f 207292007-10-22 Robert Millan <rmh@aybabtu.com>
20730
20731 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20732 `"../realmode.S"'.
20733 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20734
73fcb0f3 207352007-10-22 Robert Millan <rmh@aybabtu.com>
20736
20737 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20738 (pkgdata_MODULES): Add `biosdisk.mod'.
20739 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20740 variables.
20741
20742 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20743 (grub_biosdisk_init): Replace with ...
20744 (GRUB_MOD_INIT(biosdisk)): ... this.
20745 (grub_biosdisk_fini): Replace with ...
20746 (GRUB_MOD_FINI(biosdisk)): ... this.
20747
20748 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20749 (grub_machine_init): Remove call to grub_biosdisk_init().
20750 (grub_machine_fini): Remove call to grub_machine_fini().
20751
20752 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20753
3381d274 207542007-10-22 Robert Millan <rmh@aybabtu.com>
20755
20756 * include/grub/time.h: New file.
20757 * include/grub/i386/time.h: Likewise.
20758 * include/grub/powerpc/time.h: Likewise.
20759 * include/grub/sparc64/time.h: Likewise.
20760
20761 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20762 instances to ...
20763 (KERNEL_MACHINE_TIME_HEADER): ... this.
20764 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20765 instances to ...
20766 (KERNEL_MACHINE_TIME_HEADER): ... this.
20767 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20768 instances to ...
20769 (KERNEL_MACHINE_TIME_HEADER): ... this.
20770
20771 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20772 (grub_millisleep): New function.
20773 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20774 (grub_millisleep): New function.
20775 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20776 Remove `grub/machine/time.h' include.
20777 (grub_millisleep): New function.
20778 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20779 Remove `grub/machine/time.h' include.
20780 (grub_millisleep): New function.
20781
20782 * include/grub/misc.h (grub_div_roundup): New function.
20783
20784 * kern/misc.c: Include `<grub/time.h>'.
20785 (grub_millisleep_generic): New function.
20786
20787 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20788 Add `time.h'.
20789 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20790 Add `time.h'.
20791 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20792 `machine/time.h'. Add `time.h'.
20793 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20794
a39a0312 207952007-10-21 Robert Millan <rmh@aybabtu.com>
20796
20797 * include/grub/misc.h (grub_max): New function.
20798
2aad70e2 207992007-10-21 Robert Millan <rmh@aybabtu.com>
20800
20801 * util/misc.c (grub_util_info): Call fflush() before returning.
20802
54b71c4b 208032007-10-20 Robert Millan <rmh@aybabtu.com>
20804
20805 * genmk.rb (Image): Copy `extra_flags' from here ...
20806 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20807
20808 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20809 to `argc' and `args' arguments.
20810
a979f513 208112007-10-17 Robert Millan <rmh@aybabtu.com>
20812
20813 * kern/i386/loader.S: New file.
20814
20815 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20816 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20817 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20818 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20819 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20820 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20821 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20822 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20823 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20824 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20825 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20826 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20827 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20828 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20829
20830 * kern/i386/realmode.S: New file.
20831
20832 * kern/i386/pc/startup.S (protstack): Moved from here ...
20833 * kern/i386/realmode.S (protstack)... to here.
20834 * kern/i386/pc/startup.S (gdt): Moved from here ...
20835 * kern/i386/realmode.S (gdt)... to here.
20836 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20837 * kern/i386/realmode.S (prot_to_real)... to here.
20838
20839 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
20840 `kern/i386/realmode.S'.
20841
825fc8fd 208422007-10-17 Robert Millan <rmh@aybabtu.com>
20843
20844 * include/grub/i386/loader.h: New file.
20845
20846 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
20847 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20848 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20849 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20850 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
20851 * include/grub/i386/loader.h (grub_linux_prot_size)
20852 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20853 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20854 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20855 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
20856
20857 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
20858
e179b2f4 208592007-10-15 Robert Millan <rmh@aybabtu.com>
20860
20861 * normal/misc.c (grub_normal_print_device_info): Do not probe for
20862 filesystem when dev->disk is unset.
20863 Do probe for filesystem even when dev->disk->has_partitions is set.
20864 In case a filesystem is found, always report it.
20865 In case it isn't, if dev->disk->has_partitions is set, report that
20866 a partition table was found instead of reporting that no filesystem
20867 could be identified.
20868
5db82af6 208692007-10-12 Robert Millan <rmh@aybabtu.com>
20870
20871 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20872 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20873
68f6ac74 20874 * include/grub/types.h (grub_host_to_target16): New macro.
20875 (grub_host_to_target32): Likewise.
20876 (grub_host_to_target64): Likewise.
20877 (grub_target_to_host16): Likewise.
20878 (grub_target_to_host32): Likewise.
20879 (grub_target_to_host64): Likewise.
5db82af6 20880
20881 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20882 Renamed from to ...
20883 (GRUB_MOD_ALIGN): ...this. Update all users.
20884
68f6ac74 20885 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20886 grub_host_to_target32.
20887 Replace grub_be_to_cpu32 with grub_target_to_host32.
20888 (load_modules): Likewise.
20889 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20890 Replace grub_be_to_cpu32 with grub_target_to_host32.
20891 Replace grub_cpu_to_be16 with grub_host_to_target16.
20892 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 20893
3cf497cc 208942007-10-12 Robert Millan <rmh@aybabtu.com>
20895
20896 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20897 * util/elf/grub-mkimage.c: ... here.
20898
20899 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20900 `util/powerpc/ieee1275/grub-mkimage.c'.
20901
c8cc3692 209022007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 20903
c8cc3692 20904 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20905 and make it easier to figure out.
20906 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20907 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20908 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20909 leave us with less than HEAP_MIN_SIZE total heap.
20910 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 20911
5c58b791 209122007-10-03 Robert Millan <rmh@aybabtu.com>
20913
20914 * include/grub/i386/io.h: New file.
20915 * commands/i386/pc/play.c (inb): Removed.
20916 (outb): Removed.
20917 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20918 with grub_outb().
afcd2ef8 20919 * term/i386/pc/serial.c (inb): Removed.
20920 (outb): Removed.
20921 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20922 with grub_outb().
20923 * term/i386/pc/vga.c (inb): Removed.
20924 (outb): Removed.
20925 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20926 with grub_outb().
5c58b791 20927
1a477ed6 209282007-10-02 Robert Millan <rmh@aybabtu.com>
20929
20930 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20932 Reported by Marcin Kurek.
20933
6b5d80fa 209342007-09-07 Robert Millan <rmh@aybabtu.com>
20935
20936 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20937 SmartFirmware version updates (as released by Sven Luther), and avoid
20938 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20939 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20940 known broken.
20941
5618afbf 209422007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20943
20944 From Hitoshi Ozeki:
20945 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20946 when merging two regions.
20947
6139dcd9 209482007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20949
508e39ee 20950 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20951 * normal/completion.c (grub_normal_do_completion): Likewise.
20952 Reported by Hitoshi Ozeki.
20953
209542007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20955
6139dcd9 20956 Do not use devices at boot in chainloading.
f19dbdb7 20957
6139dcd9 20958 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20959 (boot_part_addr): Likewise.
20960 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20961 with BOOT_DRIVE and BOOT_PART_ADDR.
20962 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20963 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20964
38da6516 209652007-08-29 Robert Millan <rmh@aybabtu.com>
20966
20967 Patch from Simon Peter <dn.tlp@gmx.net>:
20968 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20969 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20970 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20971 util/i386/pc/grub-setup.c_DEPENDENCIES.
20972 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20973 util/grub-probe.c_DEPENDENCIES.
20974 * conf/powerpc-ieee1275.rmk: Likewise.
20975
29d0928c 209762007-08-28 Robert Millan <rmh@aybabtu.com>
20977
20978 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20979 to tell grub-mkdevicemap how to name devices.
20980 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20981 feature).
20982
20983 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20984 util/i386/get_disk_name.c.
20985 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20986 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20987 util/ieee1275/get_disk_name.c.
20988
20989 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20990
20991 * DISTLIST: Add util/i386/get_disk_name.c and
20992 util/ieee1275/get_disk_name.c.
20993
20994 * util/grub-mkdevicemap.c: Replace device naming logic with
20995 grub_util_get_disk_name() calls.
20996
5a0d3cca 209972007-08-20 Robert Millan <rmh@aybabtu.com>
20998
20999 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21000 (so that it works for both plural and singular quantities).
21001
8b72db2f 210022007-08-05 Robert Millan <rmh@aybabtu.com>
21003
21004 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21005 so that [xz] isn't taken into account when determining order.
21006
352466bf 210072007-08-02 Marco Gerards <marco@gnu.org>
21008
21009 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21010 `include/multiboot2.h', `include/grub/elfload.h',
21011 `include/multiboot.h', `include/grub/multiboot.h',
21012 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21013 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21014 `kern/elf.c', `loader/multiboot_loader.c',
21015 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21016 `loader/i386/pc/multiboot2.c',
21017 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21018 `util/i386/pc/grub-mkrescue.in'. Remove
21019 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21020 `include/grub/i386/pc/util/biosdisk.h' and
21021 `include/grub/powerpc/ieee1275/multiboot.h'.
21022
8f096014 210232007-08-02 Bean <bean123ch@gmail.com>
21024
21025 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21026 (ntfs_mod_SOURCES): New variable.
21027 (ntfs_mod_CFLAGS): Likewise.
21028 (ntfs_mod_LDFLAGS): Likewise.
21029
21030 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21031 (grub_probe_SOURCES): Likewise.
21032 (grub_emu_SOURCES): Likewise.
21033
21034 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21035 (grub_emu_SOURCES): Likewise.
21036
21037 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21038 (grub_emu_SOURCES): Likewise.
f19dbdb7 21039
8f096014 21040 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21041
21042 * fs/ntfs.c: New file.
21043
9959f7db 210442007-08-02 Bean <bean123ch@gmail.com>
21045
21046 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21047
21048 * file.h (grub_file): Likewise.
21049
21050 * fshelp.h (grub_fshelp_read_file): Likewise.
21051
21052 * util/i386/pc/grub-setup.c (setup): Likewise.
21053 (save_first_sector): Likewise.
21054 (save_blocklists): Likewise.
f19dbdb7 21055
9959f7db 21056 * fs/affs.c (grub_affs_read_file): Likewise.
21057
21058 * fs/ext2.c (grub_ext2_read_file): Likewise.
21059
21060 * fs/fat.c (grub_fat_read_data): Likewise.
21061
21062 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21063
21064 * fs/hfs.c (grub_hfs_read_file): Likewise.
21065
21066 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21067
21068 * fs/jfs.c (grub_jfs_read_file): Likewise.
21069
21070 * fs/minix.c (grub_minix_read_file): Likewise.
21071
21072 * fs/sfs.c (grub_sfs_read_file): Likewise.
21073
21074 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 21075
9959f7db 21076 * fs/xfs.c (grub_xfs_read_file): Likewise.
21077
21078 * command/blocklist.c (read_blocklist): Likewise.
21079 (print_blocklist): Likewise.
21080
0a203f83 210812007-08-02 Marco Gerards <marco@gnu.org>
21082
21083 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21084 `util/hostfs.c'.
21085
21086 * disk/host.c: New file.
21087
21088 * util/hostfs.c: Likewise.
21089
21090 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21091 return `GRUB_ERR_BAD_FS'.
21092 * fs/sfs.c (grub_sfs_mount): Likewise.
21093 * fs/xfs.c (grub_xfs_mount): Likewise.
21094
21095 * include/grub/disk.h (enum grub_disk_dev_id): Add
21096 `GRUB_DISK_DEVICE_HOST_ID'.
21097
21098 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21099
e5dfe777 211002007-07-24 Jerone Young <jerone@gmail.com>
21101
f19dbdb7 21102 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 21103 modules for compilation.
21104 * conf/powerpc-ieee1275.rmk: Likewise.
21105
21106 * include/multiboot.h: Move multiboot definitions to one file. Rename
21107 many definitions to not get grub specific.
21108 * include/multiboot2.h: Create header with multiboot 2 definitions.
21109 * include/grub/multiboot.h: Header for grub specific function
21110 prototypes and definitions.
21111 * include/grub/multiboot2.h: Likewise.
21112 * include/grub/multiboot_loader.h: Likewise.
21113 * include/grub/i386/pc/multiboot.h: Removed.
21114 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21115
21116 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21117 and 2 to allow for one multiboot and module commands.
21118 * loader/multiboot2.c: Add multiboot2 functionality.
21119 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21120 and definition names.
21121 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21122 2 functions.
21123 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21124 ieee1275 specific multiboot2 code.
21125
21126 * kern/i386/pc/startup.S: Change headers and definition names for
21127 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21128
daf0f0ba 211292007-07-22 Robert Millan <rmh@aybabtu.com>
21130
21131 * geninitheader.sh: Process file specified in first parameter rather
21132 than hardcoding grub_modules_init.lst.
fe6b695a 21133 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 21134 than hardcoding grub_modules_init.h.
21135
21136 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21137 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21138 grub_probe_init.[ch] and grub_setup_init.[ch].
21139
21140 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21141 grub_modules_init.h with grub_emu_init.h.
21142 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21143 grub_probe_init.[ch] files.
21144 * conf/i386-efi.rmk: Likewise.
21145 * conf/i386-pc.rmk: Likewise.
21146 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21147 grub_setup_init.[ch] files.
21148
21149 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21150 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21151 to initialize modules rather than a list of hardcoded functions.
21152 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21153 grub_init_all() to initialize modules rather than a list of hardcoded
21154 functions.
21155
54cdc1cc 211562007-07-22 Robert Millan <rmh@aybabtu.com>
21157
21158 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21159 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21160
ad0686cc 211612007-07-22 Robert Millan <rmh@aybabtu.com>
21162
21163 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21164 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21165 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21166 flag when running on SmartFirmware.
21167 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21168 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21169 was set.
21170
21171 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21172 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21173 rather than decreasing it.
21174
21175 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21176 there's not enough space to do it, fail in the same way as when it
21177 can't be done because there are no partitions.
21178
21179 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21180 when nvsetenv failed.
21181
969c02ec 211822007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21183
21184 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21185 because this rule is automatically generated.
21186 (grub-mkrescue): Removed for the same reason as above.
21187
5a79f472 211882007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21189
21190 Migrate to GNU General Public License Version 3.
f19dbdb7 21191
5a79f472 21192 * COPYING: Replaced with the plain text version of GPLv3.
21193
21194 * config.guess: Updated from gnulib.
21195 * config.sub: Likewise.
21196
21197 * geninit.sh: Output a GPLv3 copyright notice.
21198 * geninitheader.sh: Likewise.
21199 * genmodsrc.sh: Likewise.
21200 * gensymlist.sh.in: Likewise.
21201
21202 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21203 * boot/i386/pc/diskboot.S: Likewise.
21204 * boot/i386/pc/pxeboot.S: Likewise.
21205 * commands/blocklist.c: Likewise.
21206 * commands/boot.c: Likewise.
21207 * commands/cat.c: Likewise.
21208 * commands/cmp.c: Likewise.
21209 * commands/configfile.c: Likewise.
21210 * commands/echo.c: Likewise.
21211 * commands/help.c: Likewise.
21212 * commands/ls.c: Likewise.
21213 * commands/search.c: Likewise.
21214 * commands/terminal.c: Likewise.
21215 * commands/test.c: Likewise.
21216 * commands/videotest.c: Likewise.
21217 * commands/i386/cpuid.c: Likewise.
21218 * commands/i386/pc/halt.c: Likewise.
21219 * commands/i386/pc/play.c: Likewise.
21220 * commands/i386/pc/reboot.c: Likewise.
21221 * commands/i386/pc/vbeinfo.c: Likewise.
21222 * commands/i386/pc/vbetest.c: Likewise.
21223 * commands/ieee1275/halt.c: Likewise.
21224 * commands/ieee1275/reboot.c: Likewise.
21225 * commands/ieee1275/suspend.c: Likewise.
21226 * disk/loopback.c: Likewise.
21227 * disk/lvm.c: Likewise.
21228 * disk/raid.c: Likewise.
21229 * disk/efi/efidisk.c: Likewise.
21230 * disk/i386/pc/biosdisk.c: Likewise.
21231 * disk/ieee1275/ofdisk.c: Likewise.
21232 * font/manager.c: Likewise.
21233 * fs/affs.c: Likewise.
21234 * fs/ext2.c: Likewise.
21235 * fs/fat.c: Likewise.
21236 * fs/fshelp.c: Likewise.
21237 * fs/hfs.c: Likewise.
21238 * fs/hfsplus.c: Likewise.
21239 * fs/iso9660.c: Likewise.
21240 * fs/jfs.c: Likewise.
21241 * fs/minix.c: Likewise.
21242 * fs/sfs.c: Likewise.
21243 * fs/ufs.c: Likewise.
21244 * fs/xfs.c: Likewise.
21245 * hello/hello.c: Likewise.
21246 * include/grub/acorn_filecore.h: Likewise.
21247 * include/grub/arg.h: Likewise.
21248 * include/grub/bitmap.h: Likewise.
21249 * include/grub/boot.h: Likewise.
21250 * include/grub/cache.h: Likewise.
21251 * include/grub/device.h: Likewise.
21252 * include/grub/disk.h: Likewise.
21253 * include/grub/dl.h: Likewise.
21254 * include/grub/elfload.h: Likewise.
21255 * include/grub/env.h: Likewise.
21256 * include/grub/err.h: Likewise.
21257 * include/grub/file.h: Likewise.
21258 * include/grub/font.h: Likewise.
21259 * include/grub/fs.h: Likewise.
21260 * include/grub/fshelp.h: Likewise.
21261 * include/grub/gzio.h: Likewise.
21262 * include/grub/hfs.h: Likewise.
21263 * include/grub/kernel.h: Likewise.
21264 * include/grub/loader.h: Likewise.
21265 * include/grub/lvm.h: Likewise.
21266 * include/grub/misc.h: Likewise.
21267 * include/grub/mm.h: Likewise.
21268 * include/grub/net.h: Likewise.
21269 * include/grub/normal.h: Likewise.
21270 * include/grub/parser.h: Likewise.
21271 * include/grub/partition.h: Likewise.
21272 * include/grub/pc_partition.h: Likewise.
21273 * include/grub/raid.h: Likewise.
21274 * include/grub/rescue.h: Likewise.
21275 * include/grub/script.h: Likewise.
21276 * include/grub/setjmp.h: Likewise.
21277 * include/grub/symbol.h: Likewise.
21278 * include/grub/term.h: Likewise.
21279 * include/grub/terminfo.h: Likewise.
21280 * include/grub/tparm.h: Likewise.
21281 * include/grub/types.h: Likewise.
21282 * include/grub/video.h: Likewise.
21283 * include/grub/efi/api.h: Likewise.
21284 * include/grub/efi/chainloader.h: Likewise.
21285 * include/grub/efi/console.h: Likewise.
21286 * include/grub/efi/console_control.h: Likewise.
21287 * include/grub/efi/disk.h: Likewise.
21288 * include/grub/efi/efi.h: Likewise.
21289 * include/grub/efi/pe32.h: Likewise.
21290 * include/grub/efi/time.h: Likewise.
21291 * include/grub/i386/linux.h: Likewise.
21292 * include/grub/i386/setjmp.h: Likewise.
21293 * include/grub/i386/types.h: Likewise.
21294 * include/grub/i386/efi/kernel.h: Likewise.
21295 * include/grub/i386/efi/loader.h: Likewise.
21296 * include/grub/i386/efi/time.h: Likewise.
21297 * include/grub/i386/pc/biosdisk.h: Likewise.
21298 * include/grub/i386/pc/boot.h: Likewise.
21299 * include/grub/i386/pc/chainloader.h: Likewise.
21300 * include/grub/i386/pc/console.h: Likewise.
21301 * include/grub/i386/pc/init.h: Likewise.
21302 * include/grub/i386/pc/kernel.h: Likewise.
21303 * include/grub/i386/pc/loader.h: Likewise.
21304 * include/grub/i386/pc/memory.h: Likewise.
21305 * include/grub/i386/pc/multiboot.h: Likewise.
21306 * include/grub/i386/pc/serial.h: Likewise.
21307 * include/grub/i386/pc/time.h: Likewise.
21308 * include/grub/i386/pc/vbe.h: Likewise.
21309 * include/grub/i386/pc/vbeblit.h: Likewise.
21310 * include/grub/i386/pc/vbefill.h: Likewise.
21311 * include/grub/i386/pc/vbeutil.h: Likewise.
21312 * include/grub/i386/pc/vga.h: Likewise.
21313 * include/grub/ieee1275/ieee1275.h: Likewise.
21314 * include/grub/ieee1275/ofdisk.h: Likewise.
21315 * include/grub/powerpc/libgcc.h: Likewise.
21316 * include/grub/powerpc/setjmp.h: Likewise.
21317 * include/grub/powerpc/types.h: Likewise.
21318 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21319 * include/grub/powerpc/ieee1275/console.h: Likewise.
21320 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21321 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21322 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21323 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21324 * include/grub/powerpc/ieee1275/time.h: Likewise.
21325 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21326 * include/grub/sparc64/libgcc.h: Likewise.
21327 * include/grub/sparc64/setjmp.h: Likewise.
21328 * include/grub/sparc64/types.h: Likewise.
21329 * include/grub/sparc64/ieee1275/console.h: Likewise.
21330 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21331 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21332 * include/grub/sparc64/ieee1275/time.h: Likewise.
21333 * include/grub/util/biosdisk.h: Likewise.
21334 * include/grub/util/getroot.h: Likewise.
21335 * include/grub/util/lvm.h: Likewise.
21336 * include/grub/util/misc.h: Likewise.
21337 * include/grub/util/raid.h: Likewise.
21338 * include/grub/util/resolve.h: Likewise.
21339 * io/gzio.c: Likewise.
21340 * kern/device.c: Likewise.
21341 * kern/disk.c: Likewise.
21342 * kern/dl.c: Likewise.
21343 * kern/elf.c: Likewise.
21344 * kern/env.c: Likewise.
21345 * kern/err.c: Likewise.
21346 * kern/file.c: Likewise.
21347 * kern/fs.c: Likewise.
21348 * kern/loader.c: Likewise.
21349 * kern/main.c: Likewise.
21350 * kern/misc.c: Likewise.
21351 * kern/mm.c: Likewise.
21352 * kern/parser.c: Likewise.
21353 * kern/partition.c: Likewise.
21354 * kern/rescue.c: Likewise.
21355 * kern/term.c: Likewise.
21356 * kern/efi/efi.c: Likewise.
21357 * kern/efi/init.c: Likewise.
21358 * kern/efi/mm.c: Likewise.
21359 * kern/i386/dl.c: Likewise.
21360 * kern/i386/efi/init.c: Likewise.
21361 * kern/i386/efi/startup.S: Likewise.
21362 * kern/i386/pc/init.c: Likewise.
21363 * kern/i386/pc/lzo1x.S: Likewise.
21364 * kern/i386/pc/startup.S: Likewise.
21365 * kern/ieee1275/ieee1275.c: Likewise.
21366 * kern/powerpc/cache.S: Likewise.
21367 * kern/powerpc/dl.c: Likewise.
21368 * kern/powerpc/ieee1275/cmain.c: Likewise.
21369 * kern/powerpc/ieee1275/crt0.S: Likewise.
21370 * kern/powerpc/ieee1275/init.c: Likewise.
21371 * kern/powerpc/ieee1275/openfw.c: Likewise.
21372 * kern/sparc64/cache.S: Likewise.
21373 * kern/sparc64/dl.c: Likewise.
21374 * kern/sparc64/ieee1275/init.c: Likewise.
21375 * kern/sparc64/ieee1275/openfw.c: Likewise.
21376 * loader/efi/chainloader.c: Likewise.
21377 * loader/efi/chainloader_normal.c: Likewise.
21378 * loader/i386/efi/linux.c: Likewise.
21379 * loader/i386/efi/linux_normal.c: Likewise.
21380 * loader/i386/pc/chainloader.c: Likewise.
21381 * loader/i386/pc/chainloader_normal.c: Likewise.
21382 * loader/i386/pc/linux.c: Likewise.
21383 * loader/i386/pc/linux_normal.c: Likewise.
21384 * loader/i386/pc/multiboot.c: Likewise.
21385 * loader/i386/pc/multiboot_normal.c: Likewise.
21386 * loader/powerpc/ieee1275/linux.c: Likewise.
21387 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21388 * normal/arg.c: Likewise.
21389 * normal/cmdline.c: Likewise.
21390 * normal/command.c: Likewise.
21391 * normal/completion.c: Likewise.
21392 * normal/execute.c: Likewise.
21393 * normal/function.c: Likewise.
21394 * normal/lexer.c: Likewise.
21395 * normal/main.c: Likewise.
21396 * normal/menu.c: Likewise.
21397 * normal/menu_entry.c: Likewise.
21398 * normal/misc.c: Likewise.
21399 * normal/parser.y: Likewise.
21400 * normal/script.c: Likewise.
21401 * normal/i386/setjmp.S: Likewise.
21402 * normal/powerpc/setjmp.S: Likewise.
21403 * normal/sparc64/setjmp.S: Likewise.
21404 * partmap/acorn.c: Likewise.
21405 * partmap/amiga.c: Likewise.
21406 * partmap/apple.c: Likewise.
21407 * partmap/gpt.c: Likewise.
21408 * partmap/pc.c: Likewise.
21409 * partmap/sun.c: Likewise.
21410 * term/gfxterm.c: Likewise.
21411 * term/terminfo.c: Likewise.
21412 * term/efi/console.c: Likewise.
21413 * term/i386/pc/console.c: Likewise.
21414 * term/i386/pc/serial.c: Likewise.
21415 * term/i386/pc/vesafb.c: Likewise.
21416 * term/i386/pc/vga.c: Likewise.
21417 * term/ieee1275/ofconsole.c: Likewise.
21418 * util/biosdisk.c: Likewise.
21419 * util/console.c: Likewise.
21420 * util/genmoddep.c: Likewise.
21421 * util/getroot.c: Likewise.
21422 * util/grub-emu.c: Likewise.
21423 * util/grub-mkdevicemap.c: Likewise.
21424 * util/grub-probe.c: Likewise.
21425 * util/lvm.c: Likewise.
21426 * util/misc.c: Likewise.
21427 * util/raid.c: Likewise.
21428 * util/resolve.c: Likewise.
21429 * util/update-grub.in: Likewise.
21430 * util/update-grub_lib.in: Likewise.
21431 * util/grub.d/00_header.in: Likewise.
21432 * util/grub.d/10_hurd.in: Likewise.
21433 * util/grub.d/10_linux.in: Likewise.
21434 * util/i386/efi/grub-install.in: Likewise.
21435 * util/i386/efi/grub-mkimage.c: Likewise.
21436 * util/i386/pc/grub-install.in: Likewise.
21437 * util/i386/pc/grub-mkimage.c: Likewise.
21438 * util/i386/pc/grub-mkrescue.in: Likewise.
21439 * util/i386/pc/grub-setup.c: Likewise.
21440 * util/i386/pc/misc.c: Likewise.
21441 * util/powerpc/ieee1275/grub-install.in: Likewise.
21442 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21443 * util/powerpc/ieee1275/misc.c: Likewise.
21444 * video/bitmap.c: Likewise.
21445 * video/video.c: Likewise.
21446 * video/i386/pc/vbe.c: Likewise.
21447 * video/i386/pc/vbeblit.c: Likewise.
21448 * video/i386/pc/vbefill.c: Likewise.
21449 * video/i386/pc/vbeutil.c: Likewise.
21450 * video/readers/tga.c: Likewise.
21451
3572d015 214522007-07-02 Robert Millan <rmh@aybabtu.com>
21453
21454 * conf/i386-efi.rmk: Replace obsolete reference to
21455 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21456 with util/getroot.c.
21457 * conf/powerpc-ieee1275.rmk: Likewise.
21458 * conf/sparc64-ieee1275.rmk: Likewise.
21459
21460 * util/grub-emu.c (main): Fix unchecked pointer handling.
21461
2c2a681b 214622007-07-02 Robert Millan <rmh@aybabtu.com>
21463
21464 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21465 invocation to fail, in order to support partition-less media.
21466
21467 * util/i386/pc/grub-install.in: Likewise.
21468
21469 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21470 which fs or partmap modules are needed (akin to its sister scripts).
21471
21472 Also use grub-probe to get rid of unportable /proc/mounts check.
21473
21474 Print the same informational message that the other scripts do, before
fe6b695a 21475 exiting.
2c2a681b 21476
6193defe 214772007-06-23 Robert Millan <rmh@aybabtu.com>
21478
fe6b695a 21479 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 21480 a font file can be found and, if so, echo the GRUB path to it.
21481
21482 * util/update-grub.in: Handle multiple terminals depending on user
21483 input, platform availability and font file presence. Propagate
21484 variables of our findings to /etc/grub.d/ children.
21485
21486 * util/grub.d/00_header.in: Handle multiple terminals, based on
21487 environment setup by update-grub.
21488
eface1dc 214892007-06-23 Robert Millan <rmh@aybabtu.com>
21490
ba50d28f 21491 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 21492
bf697e28 214932007-06-21 Robert Millan <rmh@aybabtu.com>
21494
21495 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21496 indicate end of data section in kernel image.
21497 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21498 GRUB_KERNEL_MACHINE_DATA_END.
21499
21500 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21501 space for it.
21502 * kern/i386/efi/startup.S: Likewise.
21503
21504 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21505 during image generation. Implement --prefix option to override this
21506 patch.
21507 * util/i386/efi/grub-mkimage.c: Likewise.
21508
21509 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21510 code to make path relative to its root into a separate function.
21511
21512 * util/i386/pc/grub-install.in: Use newly provided
21513 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21514 pass the result to grub-install --prefix.
21515
baa574b4 215162007-06-13 Robert Millan <rmh@aybabtu.com>
21517
21518 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21519 DEFAULT_DEVICE_MAP.
21520 * util/grub-emu.c: Use above definitions from misc.h instead of
21521 defining them.
21522 * util/grub-mkdevicemap.c: Likewise.
21523 * util/i386/pc/grub-setup.c: Likewise.
21524 * util/grub-probe.c: Likewise.
21525 (probe): Abort with grub_util_error() when either
21526 grub_guess_root_device or grub_util_get_grub_dev fails.
21527
0215dcbf 215282007-06-12 Robert Millan <rmh@aybabtu.com>
21529
21530 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21531 "pager" assignment.
21532 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21533 "pcdata".
21534 * util/grub-probe.c (probe): Likewise for "drive_name".
21535
8af2ab7b 215362007-06-11 Robert Millan <rmh@aybabtu.com>
21537
21538 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21539 not just the cdrom one.
21540
59d31694 215412007-06-11 Robert Millan <rmh@aybabtu.com>
21542
21543 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21544 Add --pkglibdir=DIR option to override pkglibdir.
21545 Mention --image-type=TYPE in help output.
21546 Fix --grub-mkimage (it was a no-op).
fe6b695a 21547 Abort gracefully when no parameter is given.
59d31694 21548
7ee367e4 215492007-06-11 Robert Millan <rmh@aybabtu.com>
21550
21551 * util/i386/pc/grub-mkrescue.in: New file.
21552 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21553 * Makefile.in: Handle bin_SCRIPTS.
21554
29b0ed46 215552007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21556
21557 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21558 list of video modes.
21559
c0f90770 215602007-06-06 Robert Millan <rmh@aybabtu.com>
21561
21562 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21563 file doesn't exist, or if it is in a filesystem grub can't read.
21564
21565 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21566 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21567 header comment to fit in 80 columns when the variables are resolved.
21568
21569 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21570 could be identified by update-grub. Remove redundant check for
fe6b695a 21571 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 21572 handles that).
21573
fb36dc26 215742007-06-04 Robert Millan <rmh@aybabtu.com>
21575
21576 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21577
21578 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21579
21580 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21581
0c68c93e 215822007-06-04 Robert Millan <rmh@aybabtu.com>
21583
21584 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21585
21586 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21587 grub_apple_partition_map_fini.
21588
21589 * util/biosdisk.c
21590 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21591 to access >2 TiB disks).
21592
21593 Print disk->total_sectors with %llu instead of %lu, since this
21594 variable is always 64-bit (prevents wrong disk size from being displayed
21595 on either >2 TiB disk or big-endian CPU).
21596
21597 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21598 into a generic case that supports all (sane) partition maps.
21599
21600 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21601 breaks big-endian.
21602
21603 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21604 and grub_apple_partition_map_fini() after that.
21605
0f23eb74 216062007-06-01 Robert Millan <rmh@aybabtu.com>
21607
21608 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21609
21610 * util/grub.d/00_header.in: Only enable gfxterm when
21611 convert_system_path_to_grub_path() succeeds.
21612
42c71976 216132007-05-20 Robert Millan <rmh@aybabtu.com>
21614
21615 * util/update-grub_lib.in: New file.
21616 * DISTLIST: Add update-grub_lib.in.
21617 * conf/common.rmk: Generate update-grub_lib and install it in
21618 $(lib_DATA).
21619 * Makefile.in: Add install routine for $(lib_DATA).
21620
21621 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21622 function provided by update-grub_lib to support arbitrary paths of
21623 unifont.pff.
21624 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21625 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21626
5beb2291 216272007-05-19 Robert Millan <rmh@aybabtu.com>
21628
21629 * commands/i386/cpuid.c: New module.
21630 * DISTLIST: Add it.
21631 * conf/i386-efi.rmk: Enable cpuid.mod.
21632 * conf/i386-pc.rmk: Likewise.
21633
7262eca1 216342007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21635
21636 * kern/disk.c (grub_disk_read): Check return value of
21637 grub_realloc().
21638
260ba823 216392007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21640
21641 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21642 arrays.
21643 * disk/raid.c (grub_raid_open): Likewise.
21644
1ecb6cf2 216452007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21646
21647 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21648 stack instead of on the heap.
21649
21650 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21651 before doing a read on it.
21652
21653 * configure.ac: Only use -fno-stack-protector for the target
21654 environment.
f19dbdb7 21655
21c8cbb1 216562007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21657
21658 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21659 __attribute_ ((unused)) to mode_type argument.
21660
21661 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 21662
21c8cbb1 21663 * kern/misc.c (memcmp): Fix prototype.
21664
21665 * include/grub/partition.h [GRUB_UTIL]
21666 (grub_gpt_partition_map_init): Add prototype.
21667 (grub_gpt_partition_map_fini): Likewise.
21668
21669 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21670 at the right place.
21671
21672 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21673 (grub_fat_read_data): Likewise.
21674 (grub_fat_find_dir): Likewise.
21675
21676 * font/manager.c (find_glyph): Make table a const.
21677 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 21678
849d55d3 216792007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21680
21681 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21682 code, first search for device in /dev/mapper, then in /dev.
21683 (grub_util_get_grub_dev): New function.
21684 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21685 prototype.
21686 * util/grub-probe.c (probe): Remove check for RAID, call
21687 grub_util_get_grub_dev() instead of
21688 grub_util_biosdisk_get_grub_dev().
21689 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21690 grub_util_biosdisk_get_grub_dev().
21691 * util/i386/pc/grub-setup.c (main): Likewise.
21692
8fff7c2f 216932007-05-16 Robert Millan <rmh@aybabtu.com>
21694
21695 * DISTLIST: Update for the latest changes.
21696 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21697 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21698 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21699 grub/util/biosdisk.h.
21700 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21701 grub/util/biosdisk.h.
21702
48e12b52 217032007-05-16 Robert Millan <rmh@aybabtu.com>
21704
21705 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21706
46b9d128 217072007-05-16 Robert Millan <rmh@aybabtu.com>
21708
21709 * util/i386/efi/grub-install.in: New.
21710 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21711 newly added grub-install.
21712 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21713 include.
21714 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21715 grub/util/biosdisk.h.
21716 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21717 grub/util/biosdisk.h.
21718
2d1a40a9 217192007-05-16 Robert Millan <rmh@aybabtu.com>
21720
21721 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21722 * include/grub/util/biosdisk.h: ... here.
21723 * util/i386/pc/biosdisk.c: Moved to ...
21724 * util/biosdisk.c: ... here.
21725 * util/i386/pc/getroot.c: Moved to ...
21726 * util/getroot.c: ... here.
21727 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21728 * util/grub-mkdevicemap.c: ... here.
21729 * util/i386/pc/grub-probe.c: Moved to ...
21730 * util/grub-probe.c: ... here.
21731
9e26e3bc 217322007-05-15 Robert Millan <rmh@aybabtu.com>
21733
21734 * util/update-grub.in: Remove duplicated line in grub.cfg header
21735 message.
21736
57f96397 217372007-05-13 Robert Millan <rmh@aybabtu.com>
21738
21739 * util/update-grub.in: Fix a few assumptions about the devices holding
21740 /, /boot and /boot/grub being the same.
21741 * util/grub.d/00_header.in: Likewise.
21742 * util/grub.d/10_hurd.in: Likewise.
21743 * util/grub.d/10_linux.in: Likewise.
21744
21745 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21746 patterns. Use that to define the `.old' suffix as older than `'.
21747
21748 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21749
21750 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21751 the grub.cfg header message.
21752
2e610d62 217532007-05-11 Robert Millan <rmh@aybabtu.com>
21754
21755 * util/update-grub.in: Create device.map if it doesn't already exist,
21756 before attempting to run grub-probe.
21757 Check for grub-probe and grub-mkdevicemap with the same code
21758 grub-install is using.
21759 Remove test mode.
21760
3f6a10ef 217612007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21762
21763 * Makefile.in: Add the datarootdir autoconf variable.
21764
02e7b75e 217652007-05-09 Robert Millan <rmh@aybabtu.com>
21766
21767 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 21768 fail gracefully if dev->disk->partition == NULL.
02e7b75e 21769
75f396cc 217702007-05-07 Robert Millan <rmh@aybabtu.com>
21771
21772 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21773 determine partition map module.
21774 * util/i386/pc/grub-install.in: Use this feature to decide which
21775 partition module to load, instead of hardcoding pc and gpt.
21776
da65cb36 217772007-05-07 Robert Millan <rmh@aybabtu.com>
21778
21779 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21780 source directory differs from build directory.
21781
b57d6a91 217822007-05-05 Robert Millan <rmh@aybabtu.com>
21783
21784 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21785 initialisation.
21786
509d00f1 217872007-05-05 Robert Millan <rmh@aybabtu.com>
21788
21789 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21790
c48f23ef 217912007-05-05 Robert Millan <rmh@aybabtu.com>
21792
21793 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21794 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21795
20b97658 217962007-05-05 Robert Millan <rmh@aybabtu.com>
21797
21798 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21799 (grub_probe_SOURCES): Likewise.
21800 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21801 GPT and initialize dos_part and bsd_part accordingly.
21802 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21803 install_bsd_part.
21804 (main): Activate gpt module for use during partition identification,
21805 and deactivate it afterwards.
21806 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21807 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21808 partition identification, and deactivate it afterwards.
21809
99123174 218102007-05-05 Robert Millan <rmh@aybabtu.com>
21811
21812 * term/i386/pc/console.c (grub_console_fini): Call
21813 grub_term_set_current() before grub_term_unregister().
21814
ebd97f6e 218152007-05-04 Robert Millan <rmh@aybabtu.com>
21816
21817 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21818 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21819 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21820 and update-grub_DATA.
21821 * conf/common.rmk: Build and install update-grub components.
21822 * conf/common.mk: Regenerate.
21823 * util/update-grub.in: New. Core of update-grub.
21824 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21825 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21826 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21827 * util/grub.d/README: New. Document grub.d directory layout.
21828
b06a264d 218292007-05-01 Robert Millan <rmh@aybabtu.com>
21830
21831 * util/grub-emu.c: Move initialization functions
21832 grub_util_biosdisk_init() and grub_init_all() before
21833 grub_util_biosdisk_get_grub_dev(), which relies on them.
21834
41f0050e 218352007-04-19 Robert Millan <rmh@aybabtu.com>
21836
21837 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
21838 it is used later.
21839
04582bb3 218402007-04-18 Jerone Young <jerone@gmail.com>
21841
f19dbdb7 21842 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 21843 stanza.
21844
08db4632 218452007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 21846
08db4632 21847 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
21848 continue on and look for device node with real device name.
21849
801b76be 218502007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 21851
fe6b695a 21852 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 21853 ability.
21854 * Makefile.in: Add autoconf package transformation code.
21855 * util/i386/pc/grub-install.in: Likewise.
21856 * util/powerpc/ieee1275/grub-install.in: Likewise.
21857
6795c4e1 218582007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21859
21860 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
21861 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
21862 (EXT2_REVISION): Likewise.
21863 (EXT2_INODE_SIZE): Likewise.
21864 (struct grub_ext2_block_group): Added a missing member
21865 "used_dirs".
21866 (grub_ext2_read_inode): Divide by the inode size in a superblock
21867 instead of 128 to obtain INODES_PER_BLOCK.
21868 Use the macro EXT2_INODE_SIZE instead of directly using
21869 SBLOCK->INODE_SIZE.
21870
d70af616 218712007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21872
21873 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21874 superblock instead of the structure size to compute an
21875 offset. This fixes the problem that GRUB could not read a
21876 filesystem when inode size is different from 128-byte.
21877
3b801603 218782007-03-05 Marco Gerards <marco@gnu.org>
21879
21880 * normal/main.c (read_config_file): When "menu" is not set, create
21881 an initial context.
21882
4785bfe4 218832007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21884
21885 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21886 (HEAP_LIMIT): New macro.
21887 (grub_claim_heap): Claim memory up to `heaplimit'.
21888
a0cbb023 218892007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21890
21891 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21892 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21893 (_start): Likewise.
21894 (grub_arch_modules_addr): Return address after `_end'.
21895 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21896 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21897 (add_segments): Calculate `_end' from phdr size and location.
21898 (ALIGN_UP): Moved to ...
21899 * include/grub/misc.h: here.
21900 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21901 New macro.
21902 (GRUB_IEEE1275_MODULE_BASE): Removed.
21903
fd7d8eba 219042007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21905
21906 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21907 loop boundary.
21908
9b09e6fc 219092007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21910
21911 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21912 All users updated.
21913 (grub_elf64_load_hook_t): Likewise.
21914 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21915 debug output.
21916
3ce27299 219172007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21918
21919 * kern/mm.c: Update copyright.
21920 (grub_mm_debug): Correct syntax error.
21921 (grub_mm_dump_free): New function.
21922 (grub_debug_free): Call `grub_free'.
21923 * include/grub/mm.h: Update copyright.
21924 (grub_mm_dump_free): Add declaration.
21925
077d5fee 219262007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21927
21928 * include/grub/ieee1275/ieee1275.h: Update copyright.
21929 * kern/powerpc/ieee1275/init.c: Likewise.
21930 * kern/powerpc/ieee1275/openfw.c: Likewise.
21931
21932 * loader/powerpc/ieee1275/linux.c: Likewise.
21933 * include/grub/elfload.h: Likewise.
21934 * kern/elf.c: Likewise.
21935 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21936 callers.
21937 (grub_elf64_load): Likewise.
21938 (grub_elf32_load_segment): Move to a nested function.
21939 (grub_elf64_load_segment): Likewise.
21940
dc946850 219412007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21942
21943 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21944 prototype.
21945 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21946 (grub_heap_len): Likewise.
21947 (HEAP_SIZE): New macro.
21948 (grub_claim_heap): New function.
21949 (grub_machine_init): Don't claim heap directly. Call
21950 `grub_claim_heap'.
21951 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21952 (grub_available_iterate): New function.
21953
baa2a121 219542007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21955
21956 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21957 * configure.ac: Use it for testing the HOST and TARGET compilers.
21958
4fe9862e 219592006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21960
21961 * Makefile.in (enable_grub_emu): New variable.
21962 * configure.ac (--enable-grub-emu): New option.
21963 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21964 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21965 * conf/i386-pc.rmk: Likewise.
21966 * conf/powerpc-ieee1275.rmk: Likewise.
21967 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21968
a8aa5762 219692006-12-12 Marco Gerards <marco@gnu.org>
21970
21971 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21972
21973 * kern/env.c (grub_env_unset): Don't free the member `value' when
21974 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21975 pointer.
21976
21977 * normal/main.c (current_menu): Removed.
21978 (free_menu): Unset the `menu' environment variable.
21979 (grub_normal_menu_addentry): Make use of the environment variable
21980 `menu', instead of using the global `current_menu'. Allocate
21981 memory for the sourcecode of this entry.
21982 (read_config_file): New argument `nested', changed all callers.
21983 Only in the case of a new context, initialize a new menu. Set the
21984 `menu' environment variable.
21985 (grub_normal_execute): Don't set and unset the environment
21986 variable `menu' here anymore. Only free the menu when leaving the
21987 context.
21988
21989 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21990 leak.
21991
957b3a3e 219922006-12-11 Marco Gerards <marco@gnu.org>
21993
21994 * normal/menu_entry.c (run): Fix off by one bug so the last line
21995 is executed. Move the loader check to outside the loop.
21996
ef875714 219972006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21998
21999 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22000
4e739985 220012006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22002
22003 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22004 the number of sectors. Reported by Andrey Shuvikov
22005 <mr_hyro@yahoo.com>.
f19dbdb7 22006
790707f2 220072006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22008
22009 * kern/disk.c (grub_disk_read): When there is a read error, always
22010 try to read only the necessary data.
f19dbdb7 22011
790707f2 22012 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22013 disk/raid.c.
22014 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22015 prototype.
22016 [GRUB_UTIL] (grub_raid_fini): Likewise.
22017 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 22018 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 22019 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22020 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22021 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22022 and grub_raid_fini().
f19dbdb7 22023
03e58196 220242006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22025
22026 * include/grub/types.h (__unused): Rename to UNUSED.
22027 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22028 (grub_elf64_size): Likewise.
f19dbdb7 22029
ae4f23bf 220302006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22031
22032 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22033 grub_error_push and grub_error_pop in the error-handling path.
22034 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22035 length.
22036
2166cc83 220372006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22038
22039 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22040 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22042 (kernel_elf_SOURCES): Likewise.
22043 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22044 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22045 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22046 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22047 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22048 (elf_mod_SOURCES): New variable.
22049 (elf_mod_CFLAGS): Likewise.
22050 (elf_mod_LDFLAGS): Likewise.
22051 * include/grub/types.h (__unused): New macro.
22052 * include/grub/elfload.h: New file.
22053 * kern/elf.c: Likewise.
22054 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22055 (ELF32_LOADMASK): New macro.
22056 (ELF64_LOADMASK): Likewise.
22057 (vmlinux): Removed.
22058 (grub_linux_load32): New function.
22059 (grub_linux_load64): Likewise.
22060 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22061 Use grub_elf_t instead of grub_file_t.
22062
a09d5aa5 220632006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22064
22065 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22066 `catch_result' to struct set_color_args.
22067
d976fc51 220682006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22069
22070 * normal/menu.c: Include grub/script.h.
22071 * normal/menu_entry.c: Likewise.
22072 * include/grub/normal.h: Do not include grub/script.h.
22073
67507549 220742006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22075
22076 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22077
69203a99 220782006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22079
22080 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22081 disk.
22082 (grub_disk_close): Print debug messages when closing a disk.
22083 (grub_disk_read): Print debug messages when disk read fails.
22084 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22085 filesystem type.
22086 * kern/partition.c: Include misc.h.
22087 (grub_partition_iterate): Print debug messages when detecting
22088 partition type.
22089
e2b8278c 220902006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22091
22092 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22093 is negative.
22094 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22095
97b2f2ff 220962006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22097
22098 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22099 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22100
6555d655 221012006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22102
22103 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22104 instead of sizeof(lv). Patch by Michael Guntsche.
22105
4d42b77f 221062006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22107
22108 * disk/lvm.c: Rename VGS to VG_LIST.
22109 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22110 (grub_lvm_open): Likewise.
22111 Thanks to Michael Guntsche for finding this bug.
22112
5d74d927 221132006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22114
22115 * configure.ac (AC_INIT): Bumped to 1.95.
22116
a1bb27e4 221172006-10-14 Robert Millan <rmh@aybabtu.com>
22118
22119 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22120 with "/dev/.static/dev/md".
22121
e0994b8b 221222006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22123
22124 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22125 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22126 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22127 DRIVE_NAME are always freed.
22128
22129 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22130 DOS_PART, as a DOS partition is counted from one instead of zero
22131 now. Reported by Robert Millan.
22132
ddd5cee9 221332006-10-14 Robert Millan <rmh@aybabtu.com>
22134
22135 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22136 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22137 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22138 string returned by grub_guess_root_device.
22139 * util/i386/pc/grub-setup.c: Likewise.
22140 * util/i386/pc/grub-probefs.c: Likewise.
22141
22142 * util/i386/pc/grub-probefs.c: Rename to ...
22143 * util/i386/pc/grub-probe.c: ... this.
22144 * DISTLIST: Remove grub-probefs, add grub-probe.
22145 * conf/i386-efi.rmk: Likewise.
22146 * conf/i386-pc.rmk: Likewise.
22147 * util/i386/pc/grub-install.in: Likewise.
22148
22149 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22150 choose which information we want to print.
22151
2b002173 221522006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22153
22154 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22155 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22156 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22157 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22158 video/readers/tga.c and video/i386/pc/vbeutil.c.
22159
221602006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22161
22162 Added support for RAID and LVM.
f19dbdb7 22163
2b002173 22164 * disk/lvm.c: New file.
22165 * disk/raid.c: Likewise.
22166 * include/grub/lvm.h: Likewise.
f19dbdb7 22167 * include/grub/raid.h: Likewise.
2b002173 22168 * include/grub/util/lvm.h: Likewise.
22169 * include/grub/util/raid.h: Likewise.
22170 * util/lvm.c: Likewise.
22171 * util/raid.c: Likewise.
22172
22173 * include/grub/disk.h (grub_disk_dev_id): Add
22174 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22175 (grub_disk_get_size): New prototype.
22176 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22177 returns a partition.
22178 (grub_disk_get_size): New function.
f19dbdb7 22179
2b002173 22180 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22181 verbatim if grub_install_dos_part is -2.
22182
22183 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22184 and LVM devices.
22185
22186 * util/i386/pc/grub-setup.c (setup): New argument
22187 MUST_EMBED. Force embedding of GRUB when the argument is
22188 true. Close FILE before returning.
22189 (main): Add support for RAID and LVM.
f19dbdb7 22190
2b002173 22191 * conf/common.rmk: Add RAID and LVM modules.
22192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22193 util/lvm.c.
22194 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22195
22196 * kern/misc.c (grub_strstr): New function.
22197 * include/grub/misc.h (grub_strstr): New prototype.
22198
050548d0 221992006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22200
22201 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22202
da849d2d 222032006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22204
22205 * kern/misc.c (grub_strtoull): Guess the base only if not
22206 specified.
22207
97b2f2ff 222082006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 22209
22210 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22211 PowerMac support.
22212
97b2f2ff 222132006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 22214
22215 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22216
22217 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22218 Remove `flags' argument. All callers changed.
22219 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22220 (IEEE1275_IHANDLE_INVALID): New variable.
22221 (IEEE1275_CELL_INVALID): New variable.
22222 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22223 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22224 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22225 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22226 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22227 codes from Open Firmware. All callers updated.
22228 (grub_ieee1275_next_property): Directly return Open Firmware return
22229 code.
22230 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22231 Standardize error checking from `grub_ieee1275_get_property'.
22232 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22233 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22234
97b2f2ff 222352006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 22236
22237 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22238 `instance_to_package_args' to `instance_to_path_args'.
22239
22240 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22241 `grub_ieee1275_chosen'.
22242
22243 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22244 `grub_ieee1275_interpret'.
22245
97b2f2ff 222462006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 22247
22248 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22249
97b2f2ff 222502006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 22251
22252 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22253 (__cmpdi): Likewise.
22254
22255 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22256 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22257 `grub_ssize_t'.
22258
02bb8acc 22259 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 22260
22261 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22262 to type `grub_ssize_t'.
22263 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22264
7f9a8531 222652006-09-22 Marco Gerards <marco@gnu.org>
22266
22267 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22268 newlines.
22269
b5ef1102 222702006-09-22 Marco Gerards <marco@gnu.org>
22271
22272 * commands/echo.c: New file.
22273
22274 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22275
22276 * conf/common.rmk (echo_mod_SOURCES): New variable.
22277 (echo_mod_CFLAGS): Likewise.
22278 (echo_mod_LDFLAGS): Likewise.
22279
2cff3677 222802006-09-22 Marco Gerards <marco@gnu.org>
22281
22282 * normal/main.c (get_line): Malloc memory instead of using
22283 preallocated memory. Removed the arguments `cmdline' and
22284 `max_len'. Updated all callers.
22285
6ba4688b 222862006-09-22 Marco Gerards <marco@gnu.org>
22287
22288 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22289 (normal_mod_DEPENDENCIES): Likewise.
22290
22291 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22292 (normal_mod_DEPENDENCIES): Likewise.
22293
22294 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22295
e02ac02c 222962006-09-22 Johan Rydberg <jrydberg@gnu.org>
22297
22298 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22299 programs.
22300 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22301 (normal_mod_DEPENDENCIES): Likewise.
22302 * conf/i386-pc.mk: Regenerate.
22303 * conf/i386-efi.mk: Likewise
22304 * conf/common.mk: Likewise.
22305 * conf/powerpc-ieee1275.mk: Likewise.
22306 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 22307
8d252e44 223082006-09-22 Robert Millan <rmh@aybabtu.com>
22309
22310 Sync with i386 version.
22311 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22312 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22313
209bf7ac 223142006-09-21 Robert Millan <rmh@aybabtu.com>
22315
22316 Import from GRUB Legacy (lib/device.c):
22317 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22318 (init_device_map) [__linux__]: Add support for I2O devices.
22319
6b146090 223202006-09-14 Marco Gerards <marco@gnu.org>
22321
22322 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22323 `-melf_i386'.
22324
e38600a8 223252006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 22326
22327 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22328 /boot/grub/*.lst.
78fa1790 22329
2952da5d 22330 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 22331
2952da5d 22332 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22333 before adding it to device.map.
22334
01b82a64 223352006-08-15 Johan Rydberg <jrydberg@gnu.org>
22336
fe6b695a 22337 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 22338 compiles a file; using the -MD option.
22339 * conf/common.mk: Regenerate.
22340 * conf/i386-pc.mk: Likewise.
22341 * conf/i386-efi.mk: Likewise.
22342 * conf/powerpc-ieee1275.mk: Likewise.
22343 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 22344
1064790d 223452006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22346
22347 Move the prototypes of grub_setjmp and grub_longjmp to
22348 cpu/setjmp.h, so that each architecture may specify different
22349 attributes.
f19dbdb7 22350
1064790d 22351 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22352 (grub_longjmp): Likewise.
22353 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22354 (grub_longjmp): Likewise.
22355 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22356 (grub_longjmp): Likewise.
22357
22358 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22359 [!GRUB_UTIL] (grub_longjmp): Removed.
22360
29dda3ed 223612006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22362
22363 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22364 "color!" method does not return any value.
22365
ad2a06ed 223662006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22367
22368 * include/grub/bitmap.h: New file.
22369
22370 * include/grub/i386/pc/vbeutil.h: Likewise.
22371
22372 * video/bitmap.c: Likewise.
22373
22374 * video/readers/tga.c: Likewise.
22375
22376 * video/i386/pc/vbeutil.c: Likewise.
22377
22378 * commands/videotest.c: Code cleanup and updated to reflect to new
22379 video API.
22380
22381 * term/gfxterm.c: Likewise.
22382
22383 * video/video.c: Likewise.
22384
22385 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22386 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22387 (bitmap_mod_SOURCES): New entry.
22388 (bitmap_mod_CFLAGS): Likewise.
22389 (bitmap_mod_LDFLAGS): Likewise.
22390 (tga_mod_SOURCES): Likewise.
22391 (tga_mod_CFLAGS): Likewise.
22392 (tga_mod_LDFLAGS): Likewise.
22393
22394 * include/grub/video.h (grub_video_blit_operators): New enum type.
22395 (grub_video_render_target): Changed as forward declaration and moved
22396 actual definition to be video driver specific.
22397 (grub_video_adapter.blit_bitmap): Added blitting operator.
22398 (grub_video_adapter.blit_render_target): Likewise.
22399 (grub_video_blit_bitmap): Likewise.
22400 (grub_video_blit_render_target): Likewise.
22401
22402 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22403 driver specific render target definition.
22404 (grub_video_vbe_map_rgba): Added driver internal helper.
22405 (grub_video_vbe_unmap_color): Updated to use
22406 grub_video_i386_vbeblit_info.
22407 (grub_video_vbe_get_video_ptr): Likewise.
22408
22409 * include/grub/i386/pc/vbeblit.h
22410 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22411 grub_video_i386_vbeblit_info.
22412 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22413 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22414 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22415 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22416 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22417 (grub_video_i386_vbeblit_index_index): Likewise.
22418 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22419 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22420 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22421 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22422 operator.
22423 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22424 operator.
22425
22426 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22427 include/grub/i386/pc/vbeblit.h.
22428
22429 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22430 Updated to use grub_video_i386_vbeblit_info.
22431 (grub_video_i386_vbefill_R8G8B8): Likewise.
22432 (grub_video_i386_vbefill_index): Likewise.
22433 (grub_video_i386_vbefill): Added generic filler.
22434
22435 * video/i386/pc/vbefill.c: Updated to reflect changes on
22436 include/grub/i386/pc/vbefill.h.
22437
22438 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22439 grub_video_i386_vbeblit_info.
22440 (grub_video_vbe_unmap_color): Likewise.
22441 (grub_video_vbe_blit_glyph): Likewise.
22442 (grub_video_vbe_scroll): Likewise.
22443 (grub_video_vbe_draw_pixel): Removed function.
22444 (grub_video_vbe_get_pixel): Likewise.
22445 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22446 updated code to use it.
22447 (common_blitter): Added common blitter for render target and bitmap.
22448 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22449 (grub_video_vbe_blit_render_target): Likewise.
22450
bc8c036d 224512006-07-30 Johan Rydberg <jrydberg@gnu.org>
22452
22453 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22454 is in text mode if there is no console control protocol instance
22455 available.
22456
684a8eff 224572006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22458
22459 * include/grub/video.h: Code cleanup.
22460
22461 * include/grub/i386/pc/vbe.h: Likewise.
22462
22463 * video/i386/pc/vbe.c: Likewise.
22464
22465 * video/i386/pc/vbeblit.c: Likewise.
22466
22467 * video/i386/pc/vbefill.c: Likewise.
22468
22469 * video/video.c: Likewise. Also added more comments.
22470
5915059b 224712006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22472
22473 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22474 (struct grub_biosdisk_dap): Likewise.
22475
22476 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22477 linkage settings for all functions.
22478
90ce5d56 224792006-07-12 Marco Gerards <marco@gnu.org>
22480
22481 * configure.ac (--enable-mm-debug): Fix typo.
22482
22483 * genkernsyms.sh.in: Use proper quoting for `CC'.
22484
43e7f879 224852006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22486
22487 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22488 (normal_mod_ASFLAGS): Remove "-m32".
22489
4889bdec 224902006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22491
22492 * util/misc.c: Include config.h.
22493 [!HAVE_MEMALIGN]: Do not include malloc.h.
22494 (grub_memalign): Use posix_memalign, if present. Then, use
22495 memalign, if present. Otherwise, emit an error.
22496
22497 * util/grub-emu.c: Do not include malloc.h.
22498
22499 * include/grub/util/misc.h: Include unistd.h. This is required for
22500 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22501 D. Eades III <hde@foobar-qux.org>.
22502
22503 * configure.ac (AC_GNU_SOURCE): Added.
22504 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22505 type.
22506
fd39d4da 225072006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22508
22509 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22510 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22511
b786f3b5 225122006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22513
22514 * include/grub/types.h (grub_host_addr_t): Rename to
22515 grub_target_addr_t.
22516 (grub_host_off_t): Rename to grub_target_off_t.
22517 (grub_host_size_t): Rename to grub_target_size_t.
22518 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22519 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22520
22521 * include/grub/kernel.h (struct grub_module_header): Change type
22522 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22523 (grub_module_info): Likewise.
f19dbdb7 22524
051988bb 225252006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22526
22527 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22528 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22529 Velazquez <jesus.velazquez@gmail.com>.
22530
deae281b 225312006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22532
22533 Count partitions from 1 instead of 0 in the string representation
22534 of partitions. Still use 0-based internally.
f19dbdb7 22535
deae281b 22536 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22537 (sun_partition_map_iterate): Use grub_partition_t instead of
22538 struct grub_partition *. Cast DESC->START_CYLINDER to
22539 grub_uint64_t after converting the endian.
22540 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22541 (sun_partition_map_get_name): Add 1 to P->INDEX.
22542
22543 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22544 PCDATA->DOS_PART.
22545 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22546
22547 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22548 zero instead of one.
22549 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22550 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22551
22552 * partmap/apple.c (apple_partition_map_iterate): Change the type
22553 of POS to unsigned.
22554 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22555 (apple_partition_map_get_name): Add 1 into P->INDEX.
22556
22557 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22558 of POS to unsigned.
22559 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22560 calculate the offset of a partition.
22561 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22562 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22563
22564 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22565 SECTOR to grub_disk_addr_t.
22566 (acorn_partition_map_iterate): Likewise.
22567 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22568 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22569 top.
22570 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22571
22572 * kern/i386/pc/init.c (make_install_device): Add 1 into
22573 GRUB_INSTALL_DOS_PART.
22574
22575 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22576 conditional.
22577
524a1e6a 225782006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22579
22580 Clean up the code to support 64-bit addressing in disks and
22581 files. This change is not enough for filesystems yet.
f19dbdb7 22582
524a1e6a 22583 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22584 type of "start" to grub_uint64_t.
22585 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22586 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22587 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22588 convert addresses.
22589
22590 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22591 to grub_disk_addr_t.
22592
22593 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22594 string.
22595
22596 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22597
22598 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22599 to char *.
22600
22601 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22602
22603 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22604
22605 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22606
22607 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22608 to grub_off_t, to detect an error from grub_file_seek.
22609 (grub_multiboot_load_elf32): Likewise.
22610
22611 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22612 maximum unsigned long value when an overflow is detected.
22613 (grub_strtoull): New function.
22614 (grub_divmod64): Likewise.
22615 (grub_lltoa): use grub_divmod64.
22616
22617 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22618 grub_disk_addr_t.
22619 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22620 the pointer to next character. Use grub_strtoull instead of
22621 grub_strtoul.
22622 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22623 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22624 respectively.
22625
fe6b695a 22626 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 22627 return value is signed.
22628 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22629 test if OFFSET is less than zero, as OFFSET is unsigned now.
22630
22631 * kern/disk.c (struct grub_disk_cache): Change the type of
22632 "sector" to grub_disk_addr_t.
22633 (grub_disk_cache_get_index): Change the type of SECTOR to
22634 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22635 unsigned after shifting.
22636 (grub_disk_cache_invalidate): Change the type of SECTOR to
22637 grub_disk_addr_t.
22638 (grub_disk_cache_unlock): Likewise.
22639 (grub_disk_cache_store): Likewise.
22640 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22641 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22642 grub_disk_addr_t and grub_uint64_t, respectively.
22643 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22644 body, as the value of OFFSET is tweaked by
22645 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22646 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22647 respectively.
22648 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22649 body, as the value of OFFSET is tweaked by
22650 grub_disk_check_range. Change the types of LEN and N to
22651 grub_size_t.
22652
22653 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22654 and "saved_offset" to grub_off_t.
22655 (test_header): Cast BUF to char *.
22656 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22657 to char *.
22658 (grub_gzio_read): Change the types of OFFSET and SIZE to
22659 grub_off_t and grub_size_t, respectively.
22660
22661 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22662 Removed.
22663 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22664 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22665 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22666 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22667 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22668
22669 * include/grub/types.h (grub_off_t): Unconditionally set to
22670 grub_uint64_t.
22671 (grub_disk_addr_t): Changed to grub_uint64_t.
22672
22673 * include/grub/partition.h (struct grub_partition): Change the
22674 types of "start", "len" and "offset" to grub_disk_addr_t,
22675 grub_uint64_t and grub_disk_addr_t, respectively.
22676 (grub_partition_get_start): Return grub_disk_addr_t.
22677 (grub_partition_get_len): Return grub_uint64_t.
22678
22679 * include/grub/misc.h (grub_strtoull): New prototype.
22680 (grub_divmod64): Likewise.
22681
22682 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22683 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22684 grub_off_t, respectively.
22685 All callers and references changed.
22686
22687 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22688 grub_size_t in "read".
22689 All callers and references changed.
22690
22691 * include/grub/file.h (struct grub_file): Change the types of
22692 "offset" and "size" to grub_off_t and grub_off_t,
22693 respectively. Change the type of SECTOR to grub_disk_addr_t in
22694 "read_hook".
22695 (grub_file_read): Change the type of LEN to grub_size_t.
22696 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22697 grub_off_t.
22698 (grub_file_size): Return grub_off_t.
22699 (grub_file_tell): Likewise.
22700 All callers and references changed.
22701
22702 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22703 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22704 "write".
22705 (struct grub_disk): Change the type of "total_sectors" to
22706 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 22707 "read_hook".
524a1e6a 22708 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22709 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22710 (grub_disk_write): Likewise.
22711 All callers and references changed.
22712
22713 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22714 char * for grub_strncmp to silence gcc.
22715 (grub_iso9660_mount): Likewise.
22716 (grub_iso9660_mount): Likewise.
22717 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22718 return statement.
22719 (grub_iso9660_iterate_dir): Likewise.
22720 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22721
22722 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22723 LEN to grub_disk_addr_t and grub_size_t, respectively.
22724
22725 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22726
22727 * fs/jfs.c (grub_jfs_read_file): Likewise.
22728
22729 * fs/minix.c (grub_jfs_read_file): Likewise.
22730
22731 * fs/sfs.c (grub_jfs_read_file): Likewise.
22732
22733 * fs/ufs.c (grub_jfs_read_file): Likewise.
22734
22735 * fs/xfs.c (grub_jfs_read_file): Likewise.
22736
22737 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22738 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22739 respectively.
22740
22741 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22742 BLKNR to -1 instead of returning GRUB_ERRNO.
22743 (grub_ext2_read_file): Change the types of SECTOR and
22744 LEN to grub_disk_addr_t and grub_size_t, respectively.
22745
22746 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22747 LEN to grub_disk_addr_t and grub_size_t, respectively.
22748
22749 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22750 grub_file_read.
22751
22752 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22753 string. Do not cast SECTOR explicitly.
22754
22755 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22756 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22757 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22758 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22759 over 2TB and LBA mode is not supported, raise an error.
22760 (get_safe_sectors): New function.
22761 (grub_biosdisk_read): Use get_safe_sectors.
22762 (grub_biosdisk_write): Likewise.
22763
22764 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22765 (grub_efidisk_write): Likewise.
22766
22767 * disk/loopback.c (delete_loopback): Cosmetic changes.
22768 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22769 correctly.
22770 (grub_loopback_open): Likewise.
22771 (grub_loopback_read): Likewise. Also, change the type of POS to
22772 grub_off_t, and fix the usage of grub_memset.
22773
22774 * commands/i386/pc/play.c: Include grub/machine/time.h.
22775
22776 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22777 print FILE->SIZE.
22778
22779 * commands/configfile.c: Include grub/env.h.
22780
22781 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22782 GRUB_ERRNO directly instead. Change the type of POS to
22783 grub_off_t. Follow the coding standard.
22784
22785 * commands/blocklist.c: Include grub/partition.h.
22786 (grub_cmd_blocklist): Return an error if the underlying device is
22787 not a disk. Take the starting sector of a partition into account,
22788 if a partition is used.
22789
22790 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22791 a length field.
22792 (lba_mode): Support 64-bit addresses.
22793 (chs_mode): Likewise.
22794 (copy_buffer): Adapted to the new offsets of a length field and a
22795 segment field.
22796 (blocklist_default_start): Allocate 64-bit space.
22797
22798 * boot/i386/pc/boot.S (force_lba): Removed.
22799 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 22800 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 22801 space.
22802 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22803 is useless.
22804 (lba_mode): Refactored to support a 64-bit address. More size
22805 optimization.
22806 (setup_sectors): Likewise.
22807
53af98ad 228082006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22809
22810 * DISTLIST: Added include/grub/i386/linux.h. Removed
22811 include/grub/i386/pc/linux.h
22812
22813 * configure.ac (AC_INIT): Bumped to 1.94.
22814
22815 * config.guess: Updated from gnulib.
22816 * config.sub: Likewise.
22817 * install-sh: Likewise.
22818 * mkinstalldirs: Likewise.
22819
b4c1940a 228202006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22821
22822 * conf/common.rmk (grub_modules_init.lst): Depended on
22823 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22824 MODSRCFILES.
22825
22826 * genmk.rb (PModule::rule): Reverted the previous change.
22827
cfca1cfd 228282006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22829
22830 * conf/common.rmk (grub_modules_init.lst): Depends on
22831 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22832 that the target does not exist before producing.
22833 (grub_modules_init.h): Remove the target before generating.
22834 (grub_emu_init.c): Likewise.
22835
22836 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22837
aa6d7826 228382006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
22839
22840 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
22841 for the target-specific tests. Make sure that we also have the
22842 up-to-date target variables for those tests.
22843
26c607b9 228442006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22845
22846 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
22847 (PModule::rule): Likewise.
22848
0162321a 228492006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22850
22851 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
22852 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
22853 target-specific flags should be prefixed.
22854 (PModule::rule): Likewise.
22855
6c826348 228562006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
22857
22858 * configure.ac (CMP): Check if cmp is available explicitly.
22859
b977bf01 228602006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
22861
22862 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
22863 (target_cpu): New variable.
22864 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 22865
b977bf01 22866 * util/i386/pc/grub-install.in (host_cpu): Removed.
22867 (target_cpu): New variable.
22868 (pkglibdir): Use target_cpu instead of host_cpu.
22869
22870 * util/genmoddep.c: Removed.
f19dbdb7 22871
b977bf01 22872 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22873 instead of GRUB_HOST_SIZEOF_VOID_P.
22874 * kern/dl.c: Likewise.
22875
22876 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22877 ...
22878 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22879 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22880 (GRUB_TARGET_SIZEOF_LONG): ... this.
22881 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22882 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22883 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22884 to ...
22885 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22886 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22887 (GRUB_TARGET_SIZEOF_LONG): ... this.
22888 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22889 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22890 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22891 to ...
22892 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22893 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22894 (GRUB_TARGET_SIZEOF_LONG): ... this.
22895 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22896 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22897
22898 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22899 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22900 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22901 instead of GRUB_HOST_SIZEOF_LONG.
22902 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22903 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22904 GRUB_CPU_WORDS_BIGENDIAN.
22905 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22906 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22907 grub_host_ssize_t.
22908
22909 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22910 (genmoddep_SOURCES): Likewise.
22911 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22912 (genmoddep_SOURCES): Likewise.
22913 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22914 (genmoddep_SOURCES): Likewise.
22915 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22916 Likewise.
22917 (genmoddep_SOURCES): Likewise.
22918
22919 * genmoddep.awk: New file.
22920
22921 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22922 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22923 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22924 (PModule::rule): Likewise.
22925 (Program::rule): Likewise.
22926 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22927 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22928 respectively.
22929
22930 * configure.ac: Rewritten intensively to use host and target
22931 instead of build and host, respectively.
22932
22933 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22934 (host_cpu): Removed.
22935 (target_cpu): New variable.
22936 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22937 (BUILD_CC): Removed.
22938 (BUILD_CFLAGS): Likewise.
22939 (BUILD_CPPFLAGS): Likewise.
22940 (TARGET_CC): New variable.
22941 (TARGET_CFLAGS): Likewise.
22942 (TARGET_CPPFLAGS): Likewise.
22943 (TARGET_LDFLAGS): Likewise.
22944 (AWK): Likewise.
22945 (include): Use target_cpu instead of host_cpu.
22946 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 22947
b977bf01 22948 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22949
f09771a1 229502006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22951
22952 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22953 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22954 field 'false' to 'exec_on_false'.
22955 (grub_script_create_cmdif): Renamed argument names to reflect above
22956 changes.
22957
22958 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22959
22960 * normal/script.c (grub_script_create_cmdif): Likewise.
22961
118f4fb3 229622006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22963
22964 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22965 top.
22966 (grub_hfsplus_btree_recptr): Likewise.
22967 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22968 FILEBLOCK both to pass a block number and store next block
22969 number.
22970 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22971 overflow file correctly. Specify errors appropriately, because
22972 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22973 grub_hfsplus_btree_recptr to get the pointer to a found key.
22974 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22975 is found.
22976
22977 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22978 linux.mod.
22979 (_linux_mod_SOURCES): New variable.
22980 (_linux_mod_CFLAGS): Likewise.
22981 (_linux_mod_LDFLAGS): Likewise.
22982 (linux_mod_SOURCES): Likewise.
22983 (linux_mod_CFLAGS): Likewise.
22984 (linux_mod_LDFLAGS): Likewise.
22985
22986 * DISTLIST: Added loader/i386/efi/linux.c,
22987 loader/i386/efi/linux_normal.c and
22988 include/grub/i386/efi/loader.h.
22989
22990 * loader/i386/efi/linux.c: New file.
22991 * loader/i386/efi/linux_normal.c: Likewise.
22992 * include/grub/i386/efi/loader.h: Likewise.
22993
89a7d726 229942006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22995
22996 * commands/blocklist.c: New file.
22997
22998 * DISTLIST: Added commands/blocklist.c.
22999
23000 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 23001 color for the background, and a darker color for the foreground.
89a7d726 23002 (grub_console_checkkey): Return READ_KEY.
23003 (grub_console_cls): Set the background to
23004 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23005
23006 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23007
23008 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23009 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23010
23011 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23012 prototype.
23013
23014 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23015 BG. The spec is wrong again.
23016
23017 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23018 prototype.
23019 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23020
23021 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23022 commands/blocklist.c.
23023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 23024
89a7d726 23025 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23026 (blocklist_mod_SOURCES): New variable.
23027 (blocklist_mod_CFLAGS): Likewise.
23028 (blocklist_mod_LDFLAGS): Likewise.
23029
75c8f258 230302006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23031
23032 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23033 duplication.
23034 (lba_mode): Use %eax more intensively to reduce the code size.
23035
da2eb181 230362006-05-20 Marco Gerards <marco@gnu.org>
23037
23038 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23039
23040 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23041 for `menuentry'.
23042 (script): Accept leading newlines.
23043 (newlines): New rule to describe 0 or more newlines.
23044 (commands): Accept `command' with trailing newline. Fixed the
23045 order in which arguments were passed to `grub_script_add_cmd'.
23046 Accept commands separated by newlines.
23047 (function): Changed to accept newlines.
23048 (menuentry) Rewritten.
23049
23050 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23051 front of the list, instead of to the end.
23052
577b4050 230532006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23054
23055 * util/i386/pc/grub-install.in (bindir): New variable.
23056 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23057 Shaver <lbgwjl@gmail.com>.
23058
0d6e1189 230592006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23060
23061 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23062 grub/machine/linux.h
23063 * loader/i386/pc/linux.c: Likewise.
23064
23065 * include/grub/i386/pc/linux.h: Moved to ...
23066 * include/grub/i386/linux.h: ... here.
23067
23068 * include/grub/i386/linux.h (struct linux_kernel_params): New
23069 struct.
f19dbdb7 23070
31b86e9f 230712006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23072
23073 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23074 checking.
23075 (grub_video_vbe_blit_glyph): Likewise.
23076 (grub_video_vbe_blit_bitmap): Likewise.
23077 (grub_video_vbe_blit_render_target): Likewise.
23078
83b984de 230792006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23080
23081 * configure.ac (--with-platform): Properly quote the square
23082 brackets.
23083
5f0413bd 230842006-05-08 Marco Gerards <marco@gnu.org>
23085
23086 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23087 this...
23088 (kernel_elf_HEADERS): ...to this. Updated all users.
23089 (grubof_symlist.c): Renamed from this...
23090 (kernel_elf_symlist.c): ...to this. Updated all users.
23091 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23092 (grubof_SOURCES): Renamed from this...
23093 (kernel_elf_SOURCES): ...to this.
23094 (grubof_HEADERS): Renamed from this...
23095 (kernel_elf_HEADERS): ...to this.
23096 (grubof_CFLAGS): Renamed from this...
23097 (kernel_elf_CFLAGS): ...to this.
23098 (grubof_ASFLAGS): Renamed from this...
23099 (kernel_elf_ASFLAGS): ...to this.
23100 (grubof_LDFLAGS): Renamed from this...
23101 (kernel_elf_LDFLAGS): ...to this.
23102
23103 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23104 this...
23105 (kernel_elf_HEADERS): ...to this. Updated all users.
23106 (grubof_symlist.c): Renamed from this...
23107 (kernel_elf_symlist.c): ...to this. Updated all users.
23108 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23109 (grubof_SOURCES): Renamed from this...
23110 (kernel_elf_SOURCES): ...to this.
23111 (grubof_HEADERS): Renamed from this...
23112 (kernel_elf_HEADERS): ...to this.
23113 (grubof_CFLAGS): Renamed from this...
23114 (kernel_elf_CFLAGS): ...to this.
23115 (grubof_ASFLAGS): Renamed from this...
23116 (kernel_elf_ASFLAGS): ...to this.
23117 (grubof_LDFLAGS): Renamed from this...
23118 (kernel_elf_LDFLAGS): ...to this.
23119
23120 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23121 `kernel.elf' instead of `grubof'.
23122
05568c2e 231232006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23124
23125 Add --with-platform to configure. Use pkglibdir instead of
23126 pkgdatadir. This is reported by Roger Leigh.
23127
23128 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23129 (host_vendor): Likewise.
23130 (host_os): Likewise.
23131 (pkgdatadir): Likewise.
23132 (platform): New variable.
23133 (pkglibdir): Likewise.
23134 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 23135
05568c2e 23136 * util/i386/pc/grub-install.in (datadir): Removed.
23137 (host_vendor): Likewise.
23138 (host_os): Likewise.
23139 (pkgdatadir): Likewise.
23140 (platform): New variable.
23141 (pkglibdir): Likewise.
23142 Use PKGLIBDIR instead of PKGDATADIR.
23143
23144 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23145 instead of GRUB_DATADIR.
23146 (main): Likewise.
23147 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23148 (main): Likewise.
23149 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23150 (main): Likewise.
23151
23152 * configure.ac (--with-platform): New option.
23153 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23154
23155 * Makefile.in: Include a makefile based on PLATFORM instead of
23156 HOST_VENDOR.
23157 (pkgdatadir): Not appended by the machine type.
23158 (pkglibdir): Appended by the machine type.
23159 (host_vendor): Removed.
23160 (platform): New variable.
23161 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23162 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23163 (uninstall): Likewise.
23164
4e93851c 231652006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23166
23167 Use the environment context in the menu. Remove the commands
23168 "default" and "timeout", and use variables instead.
f19dbdb7 23169
4e93851c 23170 * normal/menu.c: Include grub/env.h.
23171 (print_entry): Cast TITLE to silence gcc.
23172 (get_timeout): New function.
23173 (set_timeout): Likewise.
23174 (get_entry_number): Likewise.
23175 (run_menu): Use a default entry, a fallback entry and a timeout
23176 in the environment variables "default", "fallback" and
23177 "timeout". Also, tweak the default entry if it is not within the
23178 current menu entries.
23179 (grub_menu_run): Use a fallback entry in the environment variable
23180 "fallback".
23181
23182 * normal/main.c (read_config_file): Do not initialize
23183 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23184 NEWMENU->TIMEOUT.
23185 (grub_normal_execute): Use a data slot to store the menu.
23186
23187 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23188 fallback_entry and timeout.
23189 (struct grub_menu_list): Removed.
23190 (grub_menu_list_t): Likewise.
23191 (struct grub_context): Likewise.
23192 (grub_context_t): Likewise.
23193 (grub_context_get): Likewise.
23194 (grub_context_get_current_menu): Likewise.
23195 (grub_context_push_menu): Likewise.
23196 (grub_context_pop_menu): Likewise.
23197 (grub_default_init): Likewise.
23198 (grub_default_fini): Likewise.
23199 (grub_timeout_init): Likewise.
23200 (grub_timeout_fini): Likewise.
23201
23202 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23203 and timeout.mod.
23204 (normal_mod_SOURCES): Removed normal/context.c.
23205
23206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23207 commands/default.c, commands/timeout.c and normal/context.c.
23208 (normal_mod_SOURCES): Removed normal/context.c.
23209
23210 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23211 commands/timeout.c and normal/context.c.
23212 (normal_mod_SOURCES): Removed normal/context.c.
23213
23214 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23215 commands/default.c, commands/timeout.c and normal/context.c.
23216 (normal_mod_SOURCES): Removed normal/context.c.
23217
23218 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23219 timeout.mod.
23220 (default_mod_SOURCES): Removed.
23221 (default_mod_CFLAGS): Likewise.
23222 (default_mod_LDFLAGS): Likewise.
23223 (timeout_mod_SOURCES): Removed.
23224 (timeout_mod_CFLAGS): Likewise.
23225 (timeout_mod_LDFLAGS): Likewise.
23226
23227 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23228 normal/context.c.
23229
23230 * commands/default.c: Removed.
23231 * commands/timeout.c: Likewise.
23232 * normal/context.c: Likewise.
23233
1eb9cc1d 232342006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23235
23236 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23237
385bd9c1 232382006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23239
23240 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23241 "next" to "prev" for readability.
23242 (struct grub_env_sorted_var): New struct.
23243 (grub_env_context): Renamed to ...
23244 (initial_context): ... this.
23245 (grub_env_var_context): Renamed to ...
23246 (current_context): ... this.
23247 (grub_env_find): Look only at CURRENT_CONTEXT.
23248 (grub_env_context_open): Rewritten to copy exported variables from
23249 previous context.
23250 (grub_env_context_close): Rewritten according to the new
23251 scheme. Also, add an assertion to prevent the initial context from
23252 removed.
23253 (grub_env_insert): Removed the code for the sorted list.
23254 (grub_env_remove): Likewise.
23255 (grub_env_export): Simply mark the variable with
23256 GRUB_ENV_VAR_GLOBAL.
23257 (grub_env_set): A cosmetic change for naming consistency.
23258 (grub_env_get): Likewise.
23259 (grub_env_unset): Likewise.
23260 (grub_env_iterate): Rewritten to sort variables within this
23261 function.
23262 (grub_register_variable_hook): Fixed for naming consistency. Call
23263 grub_env_find again, only if NAME is not found at the first time.
23264 (mangle_data_slot_name): New function.
23265 (grub_env_set_data_slot): Likewise.
23266 (grub_env_get_data_slot): Likewise.
23267 (grub_env_unset_data_slot): Likewise.
23268
23269 * include/grub/env.h (grub_env_var_type): New enum.
23270 (GRUB_ENV_VAR_LOCAL): New constant.
23271 (GRUB_ENV_VAR_GLOBAL): Likewise.
23272 (GRUB_ENV_VAR_DATA): Likewise.
23273 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23274 "type".
23275 (grub_env_set): Replace VAR with NAME for consistency.
23276 (grub_register_variable_hook): Likewise.
23277 (grub_env_export): Specify the name of the argument.
23278 (grub_env_set_data_slot): New prototype.
23279 (grub_env_get_data_slot): Likewise.
23280 (grub_env_unset_data_slot): Likewise.
23281
7f362539 232822006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23283
23284 Extend the loader so that GRUB can accept a loader which comes
23285 back to GRUB when a loaded image exits. Also, this change adds
23286 support for a chainloader on EFI.
f19dbdb7 23287
7f362539 23288 * term/efi/console.c: Include grub/misc.h.
23289 (grub_console_checkkey): Display a scan code on the top for
23290 debugging. This will be removed once the EFI port gets stable.
23291 Correct the scan code mapping.
23292
23293 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23294 allocate memory from larger regions, in order to reduce the number
23295 of allocated regions. Otherwise, the MacOSX loader panics.
23296 (filter_memory_map): Avoid less than 1MB for compatibility with
23297 other loaders.
23298 (add_memory_regions): Allocate from the tail of a region, if
23299 possible, to avoid allocating a region near to 1MB, for the MacOSX
23300 loader.
23301
23302 * kern/efi/init.c (grub_efi_set_prefix): Specify
23303 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23304
23305 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23306 argument IMAGE_HANDLE and specify it to get a loaded image.
23307 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23308 grub_efi_get_loaded_image.
fe6b695a 23309 (grub_efi_get_filename): Divide the length by the size of
7f362539 23310 grub_efi_char16_t.
23311 (grub_efi_get_device_path): New function.
23312 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23313 the length by the size of grub_efi_char16_t for a file path device
23314 path node.
23315
23316 * kern/loader.c (grub_loader_noreturn): New variable.
23317 (grub_loader_set): Accept a new argument NORETURN. Set
23318 GRUB_LOADER_NORETURN to NORETURN.
23319 All callers changed.
23320 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23321 grub_machine_fini.
23322
23323 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23324 prototype.
23325 (grub_efi_get_loaded_image): Take an argument to specify an image
23326 handle.
23327
23328 * include/grub/loader.h (grub_loader_set): Added one more argument
23329 NORETURN.
23330
23331 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23332 instead of grub_efi_open_protocol.
23333 (grub_efidisk_get_device_name): Likewise.
23334 (grub_efidisk_close): Print a newline.
23335 (grub_efidisk_get_device_handle): Fixed to use
23336 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23337 GRUB_EFI_DEVICE_PATH_TYPE.
23338
23339 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23340 * kern/efi/efi.c (device_path_guid): ... here.
23341
23342 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23343 chain.mod.
23344 (kernel_mod_HEADERS): Added efi/disk.h.
23345 (_chain_mod_SOURCES): New variable.
23346 (_chain_mod_CFLAGS): Likewise.
23347 (_chain_mod_LDFLAGS): Likewise.
23348 (chain_mod_SOURCES): Likewise.
23349 (chain_mod_CFLAGS): Likewise.
23350 (chain_mod_LDFLAGS): Likewise.
23351
23352 * DISTLIST: Added include/grub/efi/chainloader.h,
23353 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23354
23355 * include/grub/efi/chainloader.h: New file.
23356 * loader/efi/chainloader.c: Likewise.
23357 * loader/efi/chainloader_normal.c: Likewise.
23358
c0111d6e 233592006-04-30 Marco Gerards <marco@gnu.org>
23360
23361 * commands/configfile.c (grub_cmd_source): New function.
23362 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23363 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23364
df5341da 233652006-04-30 Marco Gerards <marco@gnu.org>
23366
23367 * normal/execute.c (grub_script_execute_cmd): Change the return
23368 type to `grub_err_t'. Correctly return the error.
23369 (grub_script_execute_cmdline): In case a command line is not a
23370 command or a function, try to interpret it as an assignment.
23371
f85934bd 233722006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23373
23374 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23375 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23376 skip a node whose name is obviously invalid as UTF-16,
23377 i.e. contains a NUL character. Stop the iteration when the last
23378 directory entry is found. Instead of using the return value of
23379 grub_hfsplus_btree_iterate_node, store the value in RET and use
23380 it, because the iterator can be stopped by the last directory
23381 entry.
23382
8f8a2cf8 233832006-04-30 Marco Gerards <marco@gnu.org>
23384
23385 * include/grub/env.h (grub_env_export): New prototype. Reported
23386 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23387
a27e84ce 233882006-04-30 Marco Gerards <marco@gnu.org>
23389
23390 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23391 size of the extents in a catalog file record.
23392
eaef0553 233932006-04-29 Marco Gerards <marco@gnu.org>
23394
23395 * commands/configfile.c (grub_cmd_configfile): Execute the
23396 configfile within its own context.
23397
23398 * include/grub/env.h (grub_env_context_open): New prototype.
23399 (grub_env_context_close): Likewise.
23400
23401 * kern/env.c (grub_env): Removed.
23402 (grub_env_sorted): Likewise.
23403 (grub_env_context): New variable.
23404 (grub_env_var_context): Likewise.
23405 (grub_env_find): Search both the active context and the global
23406 context.
23407 (grub_env_context_open): New function.
23408 (grub_env_context_close): Likewise.
23409 (grub_env_insert): Likewise.
23410 (grub_env_remove): Likewise.
23411 (grub_env_export): Likewise.
23412 (grub_env_set): Changed to use helper functions to avoid code
23413 duplication.
23414 (grub_env_iterate): Rewritten so both the current context and the
23415 global context are being used.
23416
23417 * normal/command.c (export_command): New function.
23418 (grub_command_init): Register the `export' function.
23419
7b455f4d 234202006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23421
23422 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23423 explicitly to suppress gcc's warnings.
23424 * fs/fat.c (grub_fat_find_dir): Likewise.
23425 (grub_fat_label): Likewise.
23426 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23427 (grub_xfs_mount): Likewise.
23428 (grub_xfs_label): Likewise.
23429 * fs/affs.c (grub_affs_mount): Likewise.
23430 (grub_affs_label): Likewise.
23431 (grub_affs_iterate_dir): Likewise.
23432 * fs/sfs.c (grub_sfs_mount): Likewise.
23433 (grub_sfs_iterate_dir): Likewise.
23434 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23435 * fs/hfs.c (grub_hfs_mount): Likewise.
23436 (grub_hfs_cmp_catkeys): Likewise.
23437 (grub_hfs_find_dir): Likewise.
23438 (grub_hfs_dir): Likewise.
23439 (grub_hfs_label): Likewise.
23440 * fs/jfs.c (grub_jfs_mount): Likewise.
23441 (grub_jfs_opendir): Likewise.
23442 (grub_jfs_getent): Likewise.
23443 (grub_jfs_lookup_symlink): Likewise.
23444 (grub_jfs_label): Likewise.
23445 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23446 (grub_hfsplus_iterate_dir): Likewise.
23447 (grub_hfsplus_btree_iterate_node): Made static.
23448
23449 * util/grub-emu.c (prefix): New variable.
23450 (grub_machine_set_prefix): New function.
23451 (main): Do not set the environment variable "prefix" here. Only
23452 set PREFIX, which is used later by grub_machine_set_prefix.
23453
23454 * include/grub/video.h: Do not include grub/symbol.h.
23455 (grub_video_register): Not exported. This symbol is not defined in
23456 the kernel.
23457 (grub_video_unregister): Likewise.
23458 (grub_video_iterate): Likewise.
23459 (grub_video_setup): Likewise.
23460 (grub_video_restore): Likewise.
23461 (grub_video_get_info): Likewise.
23462 (grub_video_get_blit_format): Likewise.
23463 (grub_video_set_palette): Likewise.
23464 (grub_video_get_palette): Likewise.
23465 (grub_video_set_viewport): Likewise.
23466 (grub_video_get_viewport): Likewise.
23467 (grub_video_map_color): Likewise.
23468 (grub_video_map_rgb): Likewise.
23469 (grub_video_map_rgba): Likewise.
23470 (grub_video_fill_rect): Likewise.
23471 (grub_video_blit_glyph): Likewise.
23472 (grub_video_blit_bitmap): Likewise.
23473 (grub_video_blit_render_target): Likewise.
23474 (grub_video_scroll): Likewise.
23475 (grub_video_swap_buffers): Likewise.
23476 (grub_video_create_render_target): Likewise.
23477 (grub_video_delete_render_target): Likewise.
23478 (grub_video_set_active_render_target): Likewise.
23479
23480 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23481 Undefined.
23482 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23483
23484 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23485 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23486 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23487 instead of $(srcdir)/genkernsyms.sh.
23488
23489 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23490 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23491 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23492 instead of $(srcdir)/genkernsyms.sh.
23493
23494 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23495 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23496 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23497 instead of $(srcdir)/genkernsyms.sh.
23498
23499 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23500 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23501 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23502 instead of $(srcdir)/genkernsyms.sh.
23503
23504 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23505 genkernsyms.sh.
23506
23507 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23508 genkernsyms.sh.
23509 (gensymlist.sh): New target.
23510 (genkernsyms.sh): Likewise.
23511
23512 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23513 genkernsyms.sh.in and gensymlist.sh.in.
23514
23515 * genkernsyms.sh: Removed.
23516 * gensymlist.sh: Likewise.
f19dbdb7 23517
7b455f4d 23518 * genkernsyms.sh.in: New file.
23519 * gensymlist.sh.in: Likewise.
23520
1885bb27 235212006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23522
23523 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23524 clobber "prefix", since we may have already set it manually.
23525
71538dff 235262006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23527
23528 * kern/misc.c (abort): New alias for grub_abort.
23529
2965c7cc 235302006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23531
23532 A new machine-specific function "grub_machine_set_prefix" is
23533 defined. This is called after loading modules, so that a prefix
23534 initialization can use modules. Also, this change adds an
23535 intensive debugging feature for the memory manager via the
23536 configure option "--enable-mm-debug".
f19dbdb7 23537
2965c7cc 23538 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23539 PART.LEN.
23540
23541 * kern/sparc64/ieee1275/init.c (abort): Removed.
23542 (grub_stop): Likewise.
23543 (grub_exit): New function.
23544 (grub_set_prefix): Renamed to ...
23545 (grub_machine_set_prefix): ... this.
23546 (grub_machine_init): Do not call grub_set_prefix.
23547
23548 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23549 (grub_machine_set_prefix): ... this.
23550 (grub_machine_init): Do not call grub_set_prefix.
23551
23552 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23553 (grub_machine_init): Do not set the prefix here.
23554
23555 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23556
23557 * kern/efi/init.c: Include grub/mm.h.
23558 (grub_efi_set_prefix): New function.
23559
23560 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23561 (grub_efi_get_filename): New function.
23562 (grub_print_device_path): Renamed to ...
23563 (grub_efi_print_device_path): ... this.
23564
23565 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23566 [MM_DEBUG] (grub_realloc): Likewise.
23567 [MM_DEBUG] (grub_free): Likewise.
23568 [MM_DEBUG] (grub_memalign): Likewise.
23569 [MM_DEBUG] (grub_mm_debug): New variable.
23570 [MM_DEBUG] (grub_debug_malloc): New function.
23571 [MM_DEBUG] (grub_debug_free): New function.
23572 [MM_DEBUG] (grub_debug_realloc): New function.
23573 [MM_DEBUG] (grub_debug_memalign): New function.
23574
23575 * kern/misc.c (grub_abort): Print a newline to distinguish
23576 the message.
23577
23578 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23579 grub_set_root_dev after loading modules. This is necessary when
23580 setting a prefix depends on modules.
23581
23582 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23583 (grub_efi_print_device_path): ... this.
23584 (grub_efi_get_filename): New prototype.
23585 (grub_efi_set_prefix): Likewise.
23586
23587 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23588 and grub/disk.h.
23589 (grub_efidisk_get_device_handle): New prototype.
23590 (grub_efidisk_get_device_name): Likewise.
23591
23592 * include/grub/mm.h: Include config.h.
23593 (MM_DEBUG): Removed.
23594 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23595 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23596 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23597 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23598 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23599 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23600 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23601 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23602 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23603
23604 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23605
23606 * disk/efi/efidisk.c: Include grub/partition.h.
23607 (iterate_child_devices): New function.
23608 (add_device): First, compare only last device path nodes, so that
23609 devices are sorted by the types.
23610 (grub_efidisk_get_device_handle): New function.
23611 (grub_efidisk_get_device_name): Likewise.
23612
23613 * configure.ac (--enable-mm-debug): New option to enable the
23614 memory manager debugging feature. This makes the binary much
23615 bigger, so is disabled by default.
23616
9cacaa17 236172006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23618
23619 Use grub_abort instead of grub_stop, and grub_exit must be
23620 define in each architecture now. Also, this change adds support
23621 for EFI disks.
f19dbdb7 23622
9cacaa17 23623 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23624 (grub_getkey): New function.
23625 (grub_term_get_current): Likewise.
23626
23627 * util/i386/pc/grub-setup.c: Include grub/term.h.
23628 (grub_getkey): New function.
23629 (grub_term_get_current): Likewise.
23630
23631 * util/misc.c (grub_stop): Renamed to ...
23632 (grub_exit): ... this.
23633
23634 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23635 (grub_exit): ... this.
23636 (grub_machine_init): Use grub_abort instead of abort.
23637 (grub_stop): Removed.
23638
23639 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23640 abort.
23641
23642 * kern/i386/pc/startup.S (grub_exit): New function.
23643 (cold_reboot): New label.
23644
23645 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23646 (grub_efi_init): Call grub_efidisk_init.
23647 (grub_efi_fini): Call grub_efidisk_fini.
23648
23649 * kern/efi/efi.c: Include grub/mm.h.
23650 (grub_efi_console_control_guid): Renamed to ...
23651 (console_control_guid): ... this.
23652 (grub_efi_loaded_image_guid): Renamed to ...
23653 (loaded_image_guid): ... this.
23654 (grub_efi_locate_handle): New function.
23655 (grub_efi_open_protocol): Likewise.
23656 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23657 GRUB_EFI_CONSOLE_CONTROL_GUID.
23658 (grub_efi_exit): Removed.
23659 (grub_stop): Likewise.
23660 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23661 (grub_exit): New function.
23662 (grub_print_device_path): Likewise.
23663
23664 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23665 (grub_enter_rescue_mode): Register "exit".
23666
23667 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23668 (grub_abort): New function.
23669
23670 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23671
23672 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23673
23674 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23675
23676 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23677 (grub_print_device_path): New prototype.
23678 (grub_efi_locate_handle): Likewise.
23679 (grub_efi_open_protocol): Likewise.
23680
23681 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23682 * disk/efi/efidisk.c: Likewise.
23683
23684 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23685
23686 * include/grub/efi/console_control.h
23687 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23688
23689 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23690 last 8 bytes as an array.
23691 (GRUB_EFI_DISK_IO_GUID): New macro.
23692 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23693 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23694 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23695 grub_uint8_t.
23696 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23697 (struct grub_efi_device_path): Rename the member "sub_type" to
23698 "subtype".
23699 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23700 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23701 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23702 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23703 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23704 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23705 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23706 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23707 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23708 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23709 (struct grub_efi_pci_device_path): New structure.
23710 (grub_efi_pci_device_path_t): New type.
23711 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23712 (struct grub_efi_pccard_device_path): New structure.
23713 (grub_efi_pccard_device_path_t): New type.
23714 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23715 (struct grub_efi_memory_mapped_device_path): New structure.
23716 (grub_efi_memory_mapped_device_path_t): New type.
23717 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23718 (struct grub_efi_vendor_device_path): New structure.
23719 (grub_efi_vendor_device_path_t): New type.
23720 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23721 (struct grub_efi_controller_device_path): New structure.
23722 (grub_efi_controller_device_path_t): New type.
23723 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23724 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23725 (struct grub_efi_acpi_device_path): New structure.
23726 (grub_efi_acpi_device_path_t): New type.
23727 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23728 (struct grub_efi_expanded_acpi_device_path): New structure.
23729 (grub_efi_expanded_acpi_device_path_t): New type.
23730 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23731 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23732 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23733 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23734 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23735 (struct grub_efi_atapi_device_path): New structure.
23736 (grub_efi_atapi_device_path_t): New type.
23737 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23738 (struct grub_efi_fibre_channel_device_path): New structure.
23739 (grub_efi_fibre_channel_device_path_t): New type.
23740 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23741 (struct grub_efi_1394_device_path): New structure.
23742 (grub_efi_1394_device_path_t): New type.
23743 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23744 (struct grub_efi_usb_device_path): New structure.
23745 (grub_efi_usb_device_path_t): New type.
23746 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23747 (struct grub_efi_usb_class_device_path): New structure.
23748 (grub_efi_usb_class_device_path_t): New type.
23749 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23750 (struct grub_efi_i2o_device_path): New structure.
23751 (grub_efi_i2o_device_path_t): New type.
23752 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23753 (struct grub_efi_mac_address_device_path): New structure.
23754 (grub_efi_mac_address_device_path_t): New type.
23755 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23756 (struct grub_efi_ipv4_device_path): New structure.
23757 (grub_efi_ipv4_device_path_t): New type.
23758 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23759 (struct grub_efi_ipv6_device_path): New structure.
23760 (grub_efi_ipv6_device_path_t): New type.
23761 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23762 (struct grub_efi_infiniband_device_path): New structure.
23763 (grub_efi_infiniband_device_path_t): New type.
23764 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23765 (struct grub_efi_uart_device_path): New structure.
23766 (grub_efi_uart_device_path_t): New type.
23767 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23768 (struct grub_efi_vendor_messaging_device_path): New structure.
23769 (grub_efi_vendor_messaging_device_path_t): New type.
23770 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23771 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23772 (struct grub_efi_hard_drive_device_path): New structure.
23773 (grub_efi_hard_drive_device_path_t): New type.
23774 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23775 (struct grub_efi_cdrom_device_path): New structure.
23776 (grub_efi_cdrom_device_path_t): New type.
23777 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23778 (struct grub_efi_vendor_media_device_path): New structure.
23779 (grub_efi_vendor_media_device_path_t): New type.
23780 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23781 (struct grub_efi_file_path_device_path): New structure.
23782 (grub_efi_file_path_device_path_t): New type.
23783 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23784 (struct grub_efi_protocol_device_path): New structure.
23785 (grub_efi_protocol_device_path_t): New type.
23786 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23787 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23788 (struct grub_efi_bios_device_path): New structure.
23789 (grub_efi_bios_device_path_t): New type.
23790 (struct grub_efi_disk_io): New structure.
23791 (grub_efi_disk_io_t): New type.
23792 (struct grub_efi_block_io_media): New structure.
23793 (grub_efi_block_io_media_t): New type.
23794 (struct grub_efi_block_io): New structure.
23795 (grub_efi_block_io_t): New type.
23796
23797 * include/grub/misc.h (grub_stop): Removed.
23798 (grub_exit): New prototype.
23799 (grub_abort): Likewise.
23800
23801 * include/grub/disk.h (enum grub_disk_dev_id): Added
23802 GRUB_DISK_DEVICE_EFIDISK_ID.
23803
23804 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23805 disk/efi/efidisk.c.
23806 (kernel_syms.lst): Remove the target if an error occurs.
23807
49986a9f 238082006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23809
23810 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23811 as it was simply too buggy.
23812
970d3b8a 238132006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23814
23815 * kern/misc.c (grub_lltoa): New function.
23816 (grub_vsprintf): Added support for the long long suffix,
23817 i.e. "ll".
23818
ff04ec24 238192006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23820
23821 * Makefile.in (LDFLAGS): Add variable.
23822 (LD): Remove variable.
23823 * configure.ac: Add -m32 to LDFLAGS.
23824 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23825 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23826 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23827 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23828 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23829 variables.
23830 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23831 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23832 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23833
37e5e1a4 238342006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23835
23836 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23837 length for unknown glyph.
23838
c352d8dd 238392006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23840
2eab1c0d 23841 Add support for pre-loaded modules into the EFI port.
f19dbdb7 23842
2eab1c0d 23843 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
23844 completely. Accept one more argument DIR. The caller has changed.
23845
23846 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
23847
23848 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
23849 (grub_efi_loaded_image_guid): New variable.
23850 (grub_efi_get_loaded_image): New function.
23851 (grub_arch_modules_addr): Likewise.
23852
23853 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
23854 prototype.
23855
23856 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
23857 (struct grub_efi_loaded_image): New structure.
23858 (grub_efi_loaded_image_t): New type.
23859
238602006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23861
c352d8dd 23862 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
23863 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
23864 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
23865
6d01d6b4 238662006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
23867
23868 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23869
976a4ea0 238702006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23871
23872 * DISTLIST: Added include/grub/efi/console.h,
23873 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23874 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23875
23876 * include/grub/efi/console.h: New file.
23877 * include/grub/efi/time.h: Likewise.
23878 * include/grub/i386/efi/kernel.h: Likewise.
23879 * kern/efi/init.c: Likewise.
23880 * kern/efi/mm.c: Likewise.
23881 * term/efi/console.c: Likewise.
f19dbdb7 23882
976a4ea0 23883 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23884 (grub_stop): Removed.
23885 (grub_get_rtc): Likewise.
23886 (grub_machine_init): Simply call grub_efi_init.
23887 (grub_machine_fini): Call grub_efi_fini.
23888
23889 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23890 (grub_efi_output_string): Removed.
23891 (grub_efi_stall): New function.
23892 (grub_stop): Likewise.
23893 (grub_get_rtc): Likewise.
23894
23895 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23896 (grub_efi_stall): New prototype.
23897 (grub_efi_allocate_pages): Likewise.
23898 (grub_efi_free_pages): Likewise.
23899 (grub_efi_get_memory_map): Likewise.
23900 (grub_efi_mm_init): Likewise.
23901 (grub_efi_mm_fini): Likewise.
23902 (grub_efi_init): Likewise.
23903 (grub_efi_fini): Likewise.
23904
23905 * include/grub/i386/efi/time.h: Do not include
23906 grub/symbol.h. Include grub/efi/time.h.
23907 (GRUB_TICKS_PER_SECOND): Removed.
23908 (grub_get_rtc): Likewise.
23909
23910 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23911 Added padding. The EFI spec is buggy.
23912 (GRUB_EFI_BLACK): New macro.
23913 (GRUB_EFI_BLUE): Likewise.
23914 (GRUB_EFI_GREEN): Likewise.
23915 (GRUB_EFI_CYAN): Likewise.
23916 (GRUB_EFI_RED): Likewise.
23917 (GRUB_EFI_MAGENTA): Likewise.
23918 (GRUB_EFI_BROWN): Likewise.
23919 (GRUB_EFI_LIGHTGRAY): Likewise.
23920 (GRUB_EFI_BRIGHT): Likewise.
23921 (GRUB_EFI_DARKGRAY): Likewise.
23922 (GRUB_EFI_LIGHTBLUE): Likewise.
23923 (GRUB_EFI_LIGHTGREEN): Likewise.
23924 (GRUB_EFI_LIGHTCYAN): Likewise.
23925 (GRUB_EFI_LIGHTRED): Likewise.
23926 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23927 (GRUB_EFI_YELLOW): Likewise.
23928 (GRUB_EFI_WHITE): Likewise.
23929 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23930 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23931 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23932 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23933 (GRUB_EFI_BACKGROUND_RED): Likewise.
23934 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23935 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23936 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23937 (GRUB_EFI_TEXT_ATTR): Likewise.
23938
23939 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23940 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23941 (kernel_mod_HEADERS): Added efi/time.h.
23942
83709125 239432006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23944
23945 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23946 include/grub/efi/api.h, include/grub/efi/console_control.h,
23947 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23948 include/grub/i386/efi/time.h, kern/efi/efi.c,
23949 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23950 and util/i386/efi/grub-mkimage.c.
23951
23952 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23953
23954 * genmk.rb (PModule#rule): Do not export symbols if
23955 #{prefix}_EXPORTS is set to "no".
23956
23957 * conf/i386-efi.mk: New file.
23958 * conf/i386-efi.rmk: Likewise.
23959 * include/grub/efi/api.h: Likewise.
23960 * include/grub/efi/console_control.h: Likewise.
23961 * include/grub/efi/efi.h: Likewise.
23962 * include/grub/efi/pe32.h: Likewise.
23963 * include/grub/i386/efi/time.h: Likewise.
23964 * kern/efi/efi.c: Likewise.
23965 * kern/i386/efi/init.c: Likewise.
23966 * kern/i386/efi/startup.S: Likewise.
23967 * util/i386/efi/grub-mkimage.c: Likewise.
23968
239692006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 23970
23971 * include/grub/script.h: Include <grub/parser.h> and
23972 "grub_script.tab.h".
23973 (struct grub_lexer_param): New struct.
23974 (struct grub_parser_param): Likewise.
23975 (grub_script_create_arglist): Pass the state in an argument.
23976 (grub_script_add_arglist): Likewise.
23977 (grub_script_create_cmdline): Likewise.
23978 (grub_script_create_cmdblock): Likewise.
23979 (grub_script_create_cmdif): Likewise.
23980 (grub_script_create_cmdmenu): Likewise.
23981 (grub_script_add_cmd): Likewise.
23982 (grub_script_arg_add): Likewise.
23983 (grub_script_lexer_ref): Likewise.
23984 (grub_script_lexer_deref): Likewise.
23985 (grub_script_lexer_record_start): Likewise.
23986 (grub_script_lexer_record_stop): Likewise.
23987 (grub_script_mem_record): Likewise.
23988 (grub_script_mem_record_stop): Likewise.
23989 (grub_script_malloc): Likewise.
23990 (grub_script_yylex): Likewise.
23991 (grub_script_yyparse): Likewise.
23992 (grub_script_yyerror): Likewise.
23993 (grub_script_yylex): Likewise.
23994 (grub_script_lexer_init): Return the state.
23995
23996 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23997 (grub_script_lexer_done): Likewise.
23998 (grub_script_lexer_getline): Likewise.
23999 (grub_script_lexer_refs): Likewise.
24000 (script): Likewise.
24001 (newscript): Likewise.
24002 (record): Likewise.
24003 (recording): Likewise.
24004 (recordpos): Likewise.
24005 (recordlen): Likewise.
24006 (grub_script_lexer_init): Return the state instead of setting
24007 global variables.
24008 (grub_script_lexer_ref): Use the newly added argument for state
24009 instead of globals.
24010 (grub_script_lexer_deref): Likewise.
24011 (grub_script_lexer_record_start): Likewise.
24012 (grub_script_lexer_record_stop): Likewise.
24013 (recordchar): Likewise.
24014 (nextchar): Likewise.
24015 (grub_script_yylex2): Likewise.
24016 (grub_script_yylex): Likewise.
24017 (grub_script_yyerror): Likewise.
24018
24019 * normal/parser.y (func_mem): Removed variable.
24020 (menu_entry): Likewise.
24021 (err): Likewise.
24022 (%lex-param): New parser option.
24023 (%parse-param): Likewise.
24024 (script): Always return the AST.
24025 (argument): Pass the state around.
24026 (arguments): Likewise.
24027 (grubcmd): Likewise.
24028 (commands): Likewise.
24029 (function): Likewise.
24030 (menuentry): Likewise.
24031 (if_statement): Likewise.
24032 (if): Likewise.
24033
24034 * normal/script.c (grub_script_memused): Removed variable.
24035 (grub_script_parsed): Likewise.
24036 (grub_script_malloc): Added a state argument. Use that instead of
24037 global variables.
24038 (grub_script_mem_record): Likewise.
24039 (grub_script_mem_record_stop): Likewise.
24040 (grub_script_arg_add): Likewise.
24041 (grub_script_add_arglist): Likewise.
24042 (grub_script_create_cmdline): Likewise.
24043 (grub_script_create_cmdif): Likewise.
24044 (grub_script_create_cmdmenu): Likewise.
24045 (grub_script_add_cmd): Likewise.
24046 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 24047
e2a8c904 240482006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 24049
24050 * normal/command.c (grub_command_init): Remove the title command.
24051
24052 * normal/lexer.c (grub_script_yylex): Renamed from this...
24053 (grub_script_yylex2): ... to this.
24054 (grub_script_yylex): New function. Temporary
24055 introduced to filter some tokens.
24056 (grub_script_yyerror): Print a newline.
24057
24058 * normal/main.c (read_config_file): Output information about the
24059 lines that contain errors. Wait for a key after all lines have
24060 been processed. Don't return an empty menu.
24061
24062 * normal/parser.y (func_mem): Don't initialize.
24063 (menu_entry): Likewise.
24064 (err): New variable.
24065 (script): Don't return anything when an error was encountered.
24066 (ws, returns): Removed rules.
24067 (argument): Disabled concatenated variable support.
24068 (arguments): Remove explicit separators.
24069 (grubcmd): Likewise.
24070 (function): Likewise.
24071 (menuentry): Likewise.
24072 (if): Likewise.
24073 (commands): Likewise. Add error handling.
24074
24075 * normal/script.c (grub_script_create_cmdline): If
24076 `grub_script_parsed' is 0, assume the parser encountered an error.
24077
c9a86192 240782006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24079
24080 * configure.ac: Add support for EFI. Fix the typo
24081 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24082
70f3b243 240832006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24084
24085 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24086 foreign multibyte characters should be shown correctly.
24087
65f201ad 240882006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24089
24090 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24091 calculation.
24092 (read_config_file): Made it to close file before returning.
24093
b4b93674 240942006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24095
24096 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24097 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24098 video/i386/pc/vbefill.c.
24099
24100 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24101 video/i386/pc/vbefill.c.
24102
24103 * include/grub/video.h (grub_video_blit_format): New enum.
24104 (grub_video_mode_info): Added new member blit_format.
24105 (grub_video_get_blit_format): New function prototype.
24106
24107 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24108 function prototype.
24109 (grub_video_vbe_map_rgb): Likewise.
24110 (grub_video_vbe_unmap_color): Likewise.
24111
24112 * include/grub/i386/pc/vbeblit.h: New file.
24113
24114 * include/grub/i386/pc/vbefill.h: New file.
24115
24116 * video/video.c (grub_video_get_blit_format): New function.
24117 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24118 (grub_video_vbe_map_rgb): Likewise.
24119 (grub_video_vbe_unmap_color): Likewise.
24120
24121 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24122 optimized fills.
24123 (grub_video_vbe_blit_render_target): Changed to use more optimized
24124 blits.
24125 (grub_video_vbe_setup): Added detection for optimized settings.
24126 (grub_video_vbe_create_render_target): Likewise.
24127
24128 * video/i386/pc/vbeblit.c: New file.
24129
24130 * video/i386/pc/vbefill.c: New file.
24131
c2379b9c 241322006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24133
24134 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24135 here...
24136
24137 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24138 parsing to support both hex and dec ranges. If filename was missing
24139 show usage information.
24140
bd0d7896 241412006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24142
24143 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24144 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24145
24146 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24147 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24148 (video_mod_SOURCES): Added.
24149 (video_mod_CFLAGS): Likewise.
24150 (video_mod_LDFLAGS): Likewise.
24151 (gfxterm_mod_SOURCES): Likewise.
24152 (gfxterm_mod_CFLAGS): Likewise.
24153 (gfxterm_mod_LDFLAGS): Likewise.
24154 (videotest_mod_SOURCES): Likewise.
24155 (videotest_mod_CFLAGS): Likewise.
24156 (videotest_mod_LDFLAGS): Likewise.
24157 (vesafb_mod_SOURCES): Removed.
24158 (vesafb_mod_CFLAGS): Likewise.
24159 (vesafb_mod_LDFLAGS): Likewise.
24160 (vga_mod_SOURCES): Likewise.
24161 (vga_mod_CFLAGS): Likewise.
24162 (vga_mod_LDFLAGS): Likewise.
24163
24164 * commands/videotest.c: New file.
24165
24166 * font/manager.c (fill_with_default_glyph): Modified to use
24167 grub_font_glyph.
24168 (grub_font_get_glyph): Likewise.
24169 (fontmanager): Renamed from this...
24170 (font_manager): ... to this.
24171
24172 * include/grub/font.h (grub_font_glyph): Added new structure.
24173 (grub_font_get_glyph): Modified to use grub_font_glyph.
24174
24175 * include/grub/misc.h (grub_abs): Added as inline function.
24176
24177 * include/grub/video.h: New file.
24178
24179 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24180 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24181 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24182 (grub_vbe_get_controller_info): Renamed from this...
24183 (grub_vbe_bios_get_controller_info): ... to this.
24184 (grub_vbe_get_mode_info): Renamed from this...
24185 (grub_vbe_bios_get_mode_info): ... to this.
24186 (grub_vbe_set_mode): Renamed from this...
24187 (grub_vbe_bios_set_mode): ... to this.
24188 (grub_vbe_get_mode): Renamed from this...
24189 (grub_vbe_bios_get_mode): ... to this.
24190 (grub_vbe_set_memory_window): Renamed from this...
24191 (grub_vbe_bios_set_memory_window): ... to this.
24192 (grub_vbe_get_memory_window): Renamed from this...
24193 (grub_vbe_bios_get_memory_window): ... to this.
24194 (grub_vbe_set_scanline_length): Renamed from this...
24195 (grub_vbe_set_scanline_length): ... to this.
24196 (grub_vbe_get_scanline_length): Renamed from this...
24197 (grub_vbe_bios_get_scanline_length): ... to this.
24198 (grub_vbe_set_display_start): Renamed from this...
24199 (grub_vbe_bios_set_display_start): ... to this.
24200 (grub_vbe_get_display_start): Renamed from this...
24201 (grub_vbe_bios_get_display_start): ... to this.
24202 (grub_vbe_set_palette_data): Renamed from this...
24203 (grub_vbe_bios_set_palette_data): ... to this.
24204 (grub_vbe_set_pixel_rgb): Removed.
24205 (grub_vbe_set_pixel_index): Likewise.
24206
24207 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24208 from this...
24209 (grub_vbe_bios_get_controller_info): ... to this.
24210 (grub_vbe_get_mode_info): Renamed from this...
24211 (grub_vbe_bios_get_mode_info): ... to this.
24212 (grub_vbe_set_mode): Renamed from this...
24213 (grub_vbe_bios_set_mode): ... to this.
24214 (grub_vbe_get_mode): Renamed from this...
24215 (grub_vbe_bios_get_mode): ... to this.
24216 (grub_vbe_set_memory_window): Renamed from this...
24217 (grub_vbe_bios_set_memory_window): ... to this.
24218 (grub_vbe_get_memory_window): Renamed from this...
24219 (grub_vbe_bios_get_memory_window): ... to this.
24220 (grub_vbe_set_scanline_length): Renamed from this...
24221 (grub_vbe_set_scanline_length): ... to this.
24222 (grub_vbe_get_scanline_length): Renamed from this...
24223 (grub_vbe_bios_get_scanline_length): ... to this.
24224 (grub_vbe_set_display_start): Renamed from this...
24225 (grub_vbe_bios_set_display_start): ... to this.
24226 (grub_vbe_get_display_start): Renamed from this...
24227 (grub_vbe_bios_get_display_start): ... to this.
24228 (grub_vbe_set_palette_data): Renamed from this...
24229 (grub_vbe_bios_set_palette_data): ... to this.
24230 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24231 getting corrupted after calling it. Added more pushes and pops.
24232 (grub_vbe_bios_set_mode): Likewise.
24233 (grub_vbe_bios_get_mode): Likewise.
24234 (grub_vbe_bios_get_memory_window): Likewise.
24235 (grub_vbe_bios_set_scanline_length): Likewise.
24236 (grub_vbe_bios_get_scanline_length): Likewise.
24237 (grub_vbe_bios_get_display_start): Likewise.
24238 (grub_vbe_bios_set_palette_data): Likewise.
24239
24240 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24241 (cl_insert): Likewise.
24242 (cl_delete): Likewise.
24243
24244 * term/gfxterm.c: New file.
24245
24246 * term/i386/pc/vesafb.c: Removed file.
24247
24248 * video/video.c: New file.
24249
24250 * video/i386/pc/vbe.c (real2pm): Added new function.
24251 (grub_video_vbe_draw_pixel): Likewise.
24252 (grub_video_vbe_get_video_ptr): Likewise.
24253 (grub_video_vbe_get_pixel): Likewise
24254 (grub_video_vbe_init): Likewise.
24255 (grub_video_vbe_fini): Likewise.
24256 (grub_video_vbe_setup): Likewise.
24257 (grub_video_vbe_get_info): Likewise.
24258 (grub_video_vbe_set_palette): Likewise.
24259 (grub_video_vbe_get_palette): Likewise.
24260 (grub_video_vbe_set_viewport): Likewise.
24261 (grub_video_vbe_get_viewport): Likewise.
24262 (grub_video_vbe_map_color): Likewise.
24263 (grub_video_vbe_map_rgb): Likewise.
24264 (grub_video_vbe_map_rgba): Likewise.
24265 (grub_video_vbe_unmap_color): Likewise.
24266 (grub_video_vbe_fill_rect): Likewise.
24267 (grub_video_vbe_blit_glyph): Likewise.
24268 (grub_video_vbe_blit_bitmap): Likewise.
24269 (grub_video_vbe_blit_render_target): Likewise.
24270 (grub_video_vbe_scroll): Likewise.
24271 (grub_video_vbe_swap_buffers): Likewise.
24272 (grub_video_vbe_create_render_target): Likewise.
24273 (grub_video_vbe_delete_render_target): Likewise.
24274 (grub_video_vbe_set_active_render_target): Likewise.
24275 (grub_vbe_set_pixel_rgb): Remove function.
24276 (grub_vbe_set_pixel_index): Likewise.
24277 (index_color_mode): Remove static variable.
24278 (active_mode): Likewise.
24279 (framebuffer): Likewise.
24280 (bytes_per_scan_line): Likewise.
24281 (grub_video_vbe_adapter): Added new static variable.
24282 (framebuffer): Likewise.
24283 (render_target): Likewise.
24284 (initial_mode): Likewise.
24285 (mode_in_use): Likewise.
24286 (mode_list): Likewise.
24287
5f97350b 242882006-03-10 Marco Gerards <marco@gnu.org>
24289
24290 * configure.ac (AC_INIT): Bumped to 1.93.
24291
24292 * DISTLIST: Added `include/grub/hfs.h'.
24293
a3c5c6f8 242942006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24295
24296 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24297 18H, which might help the BIOS falling back to next boot media.
24298
6de53d26 242992006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24300
24301 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24302 Poe Chen <poe.poechen@gmail.com>.
24303
77c4a393 243042006-01-17 Marco Gerards <marco@gnu.org>
24305
24306 * include/grub/normal.h: Include <grub/script.h>.
24307 (grub_command_list): Removed struct.
24308 (grub_command_list_t): Removed type.
24309 (grub_menu_entry): Remove members `num' and `command_list'. Add
24310 members `commands' and `sourcecode'.
24311 * include/grub/script.h: Add inclusion guards.
24312 (grub_script_cmd_menuentry): New struct.
24313 (grub_script_execute_menuentry): New prototype.
24314 (grub_script_lexer_record_start): Likewise.
24315 (grub_script_lexer_record_stop): Likewise.
24316 * normal/execute.c (grub_script_execute_menuentry): New function.
24317 * normal/lexer.c (record, recording, recordpos, recordlen): New
24318 variables.
24319 (grub_script_lexer_record_start): New function.
24320 (grub_script_lexer_record_stop): Likewise.
24321 (recordchar): Likewise.
24322 (nextchar): Likewise.
24323 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24324 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24325 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24326 (current_menu): New variable.
24327 (free_menu): Mainly rewritten.
24328 (grub_normal_menu_addentry): New function.
24329 (read_config_file): Rewritten.
24330 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 24331 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 24332 the menu entry.
24333 (run): Mainly rewritten.
24334 * normal/parser.y (menu_entry): New variable.
24335 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24336 (menuentry): New rule.
24337 (command): Add `menuentry'.
24338 (if_statement): Allow additional returns before `fi'.
24339 * normal/script.c (grub_script_create_cmdmenu): New function.
24340
144f1f98 243412006-01-03 Marco Gerards <marco@gnu.org>
24342
24343 * INSTALL: GNU Bison is required.
24344 * configure.ac: Rewritten the test to detect Bison.
24345 * Makefile.in (YACC): New variable. Reported by Xun Sun
24346 <xun.sun.cn@gmail.com>.
24347
af4b2d89 243482006-01-03 Marco Gerards <marco@gnu.org>
24349
24350 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24351 the HFS+ filesystem to filesystem blocks.
24352 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24353 GCC warning is silenced.
24354
15643b71 243552006-01-03 Marco Gerards <marco@gnu.org>
24356
24357 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24358 read from disk from big endian to host byte order.
24359
00905879 243602006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24361
24362 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24363 documentation.
24364 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24365 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24366 embedded HFS+ filesystem.
24367 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24368 (grub_hfs_sblock): Move from here...
24369 * include/grub/hfs.h: To here... New file.
24370 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24371 documentation.
24372 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24373 New macros.
24374 (grub_hfsplus_volheader): Change type of member `magic' to
24375 `grub_uint16_t'.
24376 (grub_hfsplus_data): Add new member `embedded_offset'.
24377 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24378 returned block.
24379 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24380 Calculate the offset.
24381
8899bc3e 243822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24383
24384 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24385 Removed.
24386 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24387
ae8c0277 243882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24389
24390 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24391 ENV->NAME is NULL after allocating ENV->VALUE.
24392
07084456 243932005-12-25 Marco Gerards <marco@gnu.org>
24394
24395 * kern/env.c (grub_env_set): Rewritten the error handling code.
24396
4750f5f1 243972005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24398
24399 * geninit.sh: Made more robust, and more portable.
24400
50214199 244012005-12-25 Marco Gerards <marco@gnu.org>
24402
24403 Add support for Apple HFS+ filesystems.
f19dbdb7 24404
50214199 24405 * fs/hfsplus.c: New file.
24406
24407 * DISTLIST: Added `fs/hfsplus.c'.
24408
24409 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24410 (hfsplus_mod_SOURCES): New variable.
24411 (hfsplus_mod_CFLAGS): Likewise.
24412 (hfsplus_mod_LDFLAGS): Likewise.
24413 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24414 (grub_setup_SOURCES): Likewise.
24415 (grub_mkdevicemap_SOURCES): Likewise.
24416 (grub_emu_SOURCES): Likewise.
24417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24418
24419 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24420
24421 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24422
befaed6c 244232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24424
24425 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24426 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24427 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24428 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24429 normal/lexer.c, normal/parser.y, normal/script.c, and
24430 partmap/gpt.c.
24431 Removed kern/sparc64/cache.c.
24432
24433 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24434 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24435 grub_emu_init.c.
24436
24437 * configure.ac (AC_INIT): Bumped to 1.92.
24438
6a124103 244392005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24440
24441 * kern/err.c (grub_error_push): Added new function to support error
24442 stacks.
24443 (grub_error_pop): Likewise.
24444 (grub_error_stack_items): New local variable to support error stacks.
24445 (grub_error_stack_pos): Likewise.
24446 (grub_error_stack_assert): Likewise.
24447 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24448 stack depth.
24449 (grub_print_error): Added support to print errors from error stack.
24450
24451 * include/grub/err.h (grub_error_push): Added function prototype.
24452 (grub_error_pop): Likewise.
24453
be973c1b 244542005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24455
24456 * configure.ac: Accept `powerpc64' as host_cpu.
24457 (amd64): Rename to `biarch32'.
24458
24459 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24460 non-cacheline-aligned addresses.
24461
24462 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24463 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24464 if `size' is non-zero.
24465
b04216ab 244662005-12-03 Marco Gerards <mgerards@xs4all.nl>
24467
24468 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24469 and `cd' to make sure the filename is not prefixed with a
24470 directory name.
24471 (pkgdata_MODULES): Add `gpt.mod'.
24472 (gpt_mod_SOURCES): New variable.
24473 (gpt_mod_CFLAGS): Likewise.
24474 (gpt_mod_LDFLAGS): Likewise.
24475
24476 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24477
24478 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24479 New macro.
24480
24481 * partmap/gpt.c: New file.
24482
24483 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24484 GPT partition map is detected.
24485
41730ed9 244862005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24487
24488 * commands/i386/pc/play.c: New file.
24489 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24490 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24491 macros.
f19dbdb7 24492
95dc3643 244932005-11-27 Marco Gerards <mgerards@xs4all.nl>
24494
24495 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24496 ((unused))' to silence gcc warning.
24497
1569ec51 244982005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24499
24500 * configure.ac: Correct `AC_PROG_YACC' test.
24501
9abde152 245022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24503
24504 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24505 check before installing files.
24506
44b83271 245072005-11-22 Mike Small <smallm@panix.com>
24508
24509 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24510 number regex so multidigit numbers are recognized correctly.
24511
245122005-11-22 Mike Small <smallm@panix.com>
24513
24514 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24515 debugging message before attempting to claim memory.
24516 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24517 multiple addresses in case of failure.
24518
9c12956b 245192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24520
24521 * term/tparm.c (get_space): Remove empty `if' statement.
24522
24523 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24524
24525 * kern/parser.c (check_varstate): Rename `state' to 's'.
24526
aeaf81d9 245272005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24528
24529 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24530 variable definitions to the beginning of each function. Sort stack
24531 variables by size.
24532 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24533 `buf' argument to `char *'.
24534
79bbb63f 245352005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24536
24537 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24538 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 24539 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 24540 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24541 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24542 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24543 configfile.mod, search.mod, gzio.mod and test.mod.
24544 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24545 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24546 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24547 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24548 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24549 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24550 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24551 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24552 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24553 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24554 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24555 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24556 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24557 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24558 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24559 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24560 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24561 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24562 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24563 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24564 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24565 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24566 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24567
24568 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24569 `grep --include'.
24570 (pkgdata_MODULES): Add test.mod.
24571
233b1628 245722005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24573
24574 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24575 appending to variables with "+=".
24576 (PModule): Use full pathname to generate *.lst filenames.
24577
24578 * Makefile.in: Fixed list rules moved from genmk.rb.
24579 (.DELETE_ON_ERROR): New special target.
24580 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24581
24582 * conf/i386-pc.rmk: Include conf/common.mk.
24583 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 24584 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 24585 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24586 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24587 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24588 configfile.mod, search.mod, gzio.mod and test.mod.
24589 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24590 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24591 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24592 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24593 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24594 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24595 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24596 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24597 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24598 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24599 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24600 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24601 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24602 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24603 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24604 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24605 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24606 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24607 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24608 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24609 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24610 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24611 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24612 here...
24613 * conf/common.rmk: ... to here. New file.
24614
24615 * conf/common.mk: New file.
24616
16f820c8 246172005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24618
24619 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24620 (grub_script.tab.c): ... here.
24621
24622 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24623 (grub_script.tab.c): ... here.
24624
24625 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24626 (grub_script.tab.c): ... here.
24627
24628 * normal/command.c (grub_command_find): Fixed a memory leak of
24629 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24630
63ba1554 246312005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24632
24633 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24634 "@" which marks the start of a comment on ARM.
24635 (VARIABLE): Likewise.
24636
7f67dc13 246372005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24638
79bbb63f 24639 Add support for Linux/ADFS partition tables.
7f67dc13 24640
24641 * partmap/acorn.c: New file.
24642
24643 * include/grub/acorn_filecore.h: Likewise.
24644
24645 * DISTLIST: Added `partmap/acorn.c' and
24646 `include/grub/acorn_filecore.h'.
f19dbdb7 24647
7f67dc13 24648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24649 `partmap/acorn.c'.
24650 (pkgdata_MODULES): Add `acorn.mod'.
24651 (acorn_mod_SOURCES): New variable.
24652 (acorn_mod_CFLAGS): Likewise.
24653
24654 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24655 `partmap/acorn.c'.
24656 (pkgdata_MODULES): Add `acorn.mod'.
24657 (acorn_mod_SOURCES): New variable.
24658 (acorn_mod_CFLAGS): Likewise.
24659
24660 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24661 (pkgdata_MODULES): Add `acorn.mod'.
24662 (acorn_mod_SOURCES): New variable.
24663 (acorn_mod_CFLAGS): Likewise.
24664 (acorn_mod_LDFLAGS): Likewise.
24665
24666 * include/types.h (grub_disk_addr_t): New typedef.
24667
6d099807 246682005-11-13 Marco Gerards <mgerards@xs4all.nl>
24669
24670 * geninit.sh: New file.
24671
24672 * geninitheader.sh: Likewise.
24673
24674 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24675 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24676 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24677 * commands/configfile.c (grub_configfile_init)
24678 (grub_configfile_fini): Likewise.
24679 * commands/default.c (grub_default_init, grub_default_fini):
24680 Likewise.
24681 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24682 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24683 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24684 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24685 Likewise.
24686 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24687 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24688 Likewise.
24689 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 24690 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 24691 Likewise.
24692 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24693 Likewise.
fe6b695a 24694 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 24695 Likewise.
24696 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24697 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24698 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24699 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24700 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24701 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24702 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24703 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24704 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24705 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24706 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24707 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24708 * partmap/amiga.c (grub_amiga_partition_map_init)
24709 (grub_amiga_partition_map_fini): Likewise.
24710 * partmap/apple.c (grub_apple_partition_map_init)
24711 (grub_apple_partition_map_fini): Likewise.
24712 * partmap/pc.c (grub_pc_partition_map_init)
24713 (grub_pc_partition_map_fini): Likewise.
24714 * partmap/sun.c (grub_sun_partition_map_init,
24715 grub_sun_partition_map_fini): Likewise.
24716 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24717 Likewise.
24718
24719 * util/grub-emu.c: Include <grub_modules_init.h>.
24720 (main): Don't initialize and de-initialize any modules directly,
24721 use `grub_init_all' and `grub_fini_all' instead.
24722
24723 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24724 `grub_vesafb_mod_init'.
24725 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24726 all users.
24727 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24728 `grub_vga_mod_init'. Updated all users.
24729 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 24730
6d099807 24731 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24732 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24733 rules.
24734
24735 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24736 Generate a function to initialize the module in utilities.
24737 Updated all callers.
24738 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24739 initialize the module in utilities. Updated all callers.
24740
9046bcf0 247412005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24742
24743 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24744 escape sequence and a literal ^L to clear the screen.
24745
24746 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24747 when returning from Open Firmware.
24748
d13ea639 247492005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24750
24751 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24752 (grub_ofconsole_height): Likewise.
24753 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24754 manually insert a '\n'.
24755 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24756 `grub_ofconsole_height'. Return early if these are already set.
24757
a8fcf206 247582005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24759
24760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24761 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24762 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24763 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24764 and `normal/script.c'.
24765 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24766 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24767 (test_mod_SOURCES): New variable.
24768 (test_mod_CFLAGS): Likewise.
24769 (test_mod_LDFLAGS): Likewise.
24770 (pkgdata_MODULES): Add `test.mod'.
24771 (grub_script.tab.c): New rule.
24772 (grub_script.tab.h): Likewise.
24773
b6b32745 247742005-11-07 Marco Gerards <mgerards@xs4all.nl>
24775
24776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24777 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24778 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24779 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24780 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24781 (test_mod_SOURCES): New variable.
24782 (test_mod_CFLAGS): Likewise.
24783 (pkgdata_MODULES): Add `test.mod'.
24784 (grub_script.tab.c): New rule.
24785 (grub_script.tab.h): Likewise.
24786
daac212a 247872005-11-06 Marco Gerards <mgerards@xs4all.nl>
24788
24789 Add initial scripting support.
24790
24791 * commands/test.c: New file.
24792 * include/grub/script.h: Likewise.
24793 * normal/execute.c: Likewise.
24794 * normal/function.c: Likewise.
24795 * normal/lexer.c: Likewise.
24796 * normal/parser.y: Likewise.
24797 * normal/script.c: Likewise.
24798
24799 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 24800
daac212a 24801 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24802 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24803 `normal/function.c' and `normal/script.c'.
24804 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24805 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 24806 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24807 variables.
daac212a 24808 (pkgdata_MODULES): Add `test.mod'.
24809 (grub_script.tab.c): New rule.
24810 (grub_script.tab.h): Likewise.
24811
24812 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24813
24814 * include/grub/normal.h (grub_test_init): New prototype.
24815 (grub_test_fini): Likewise.
f19dbdb7 24816
daac212a 24817 * normal/command.c: Include <grub/script.h>.
24818 (grub_command_execute): Rewritten.
f19dbdb7 24819
daac212a 24820 * util/grub-emu.c (main): Call `grub_test_init' and
24821 `grub_test_fini'.
24822
77500b2b 248232005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24824
24825 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24826 to 0.
24827 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24828 there are no pending characters.
24829
e45deb9e 248302005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24831
24832 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24833 `grub_strndup' to drop device arguments. Replace unnecessary
24834 `grub_strndup' with `grub_strdup'.
24835
4ce32619 248362005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24837
24838 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
24839 `debug' environment variable has been set.
24840
248412005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24842
4ce32619 24843 * Makefile.in (install-local): Use $(DATA).
24844 (uninstall): Likewise.
24845 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
24846 (sbin_UTILITIES): ... to here.
24847 (sbin_SCRIPTS): New variable.
24848 (grub_install_SOURCES): New variable.
24849 * util/powerpc/ieee1275/grub-install.in: New file.
24850 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
24851 variable.
24852 (add_segments): Call `grub_util_get_path'.
24853
25fe6f03 248542005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24855
24856 From Timothy Baldwin:
24857 * commands/ls.c (grub_ls_list_files): Close FILE with
24858 grub_file_close.
24859 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
24860
04ccf3ec 248612005-10-24 Marco Gerards <mgerards@xs4all.nl>
24862
24863 * include/grub/parser.h: New file.
24864
24865 * kern/parser.c: Likewise.
24866
24867 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24868 (grub_setup_SOURCES): Likewise.
24869 (grub_probefs_SOURCES): Likewise.
24870 (grub_emu_SOURCES): Likewise.
24871 (kernel_img_HEADERS): Add `parser.h'.
24872
24873 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24874 (grub_emu_SOURCES): Add `kern/parser.c'.
24875 (grubof_SOURCES): Likewise.
24876
24877 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24878 (grubof_SOURCES): Add `kern/parser.c'.
24879
24880 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24881
24882 * kern/misc.c (grub_split_cmdline): Removed function.
24883
24884 * kern/rescue.c: Include <grub/parser.h>.
24885 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24886 of `grub_split_cmdline'.
24887
24888 * normal/command.c: Include <grub/parser.h>.
24889 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24890 of `grub_split_cmdline'.
24891
24892 * normal/completion.c: Include <grub/parser.h>.
24893 (cmdline_state): New variable.
24894 (iterate_dir): End the filename with a quote depending on the
24895 command line state.
24896 (get_state): new function.
24897 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24898 split the arguments and determine the current argument. When the
24899 argument string is not quoted, escape all spaces.
24900
6d8f4b0e 249012005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24902
24903 * normal/sparc64/setjmp.S: New file.
24904
15cf03ed 249052005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24906
24907 * include/grub/sparc64/libgcc.h: New file.
24908 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24909 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24910 normal/sparc64/setjmp.c.
24911
03e8661a 249122005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24913
24914 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24915 * kern/sparc64/cache.S: New file.
24916 * kern/sparc64/cache.c: Removed.
24917 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24918 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24919 -mtune=ultrasparc.
24920 (COMMON_LDFLAGS): Add -melf64_sparc.
24921 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24922 (grubof_SOURCES): Use cache.S instead of cache.c.
24923 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24924 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24925 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24926 commented though.
24927 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24928 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24929 (linux_mod_CFLAGS): Commented out.
24930 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24931 out because module isn't built.
24932 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24933 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24934 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24935 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24936 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24937 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24938 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24939 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24940 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24941 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24942 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24943 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24944 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24945 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24946
34eeec8a 249472005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24948
24949 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24950 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24951 longer, because HFS should not be used on PC.
24952
708367a3 249532005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24954
24955 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24956 consistently within the loop.
24957
6fa1251a 249582005-10-15 Marco Gerards <mgerards@xs4all.nl>
24959
24960 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24961 directory can not be read.
24962
4801580b 249632005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24964
24965 * configure.ac (AC_INIT): Increase the version number to 1.91.
24966
24967 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24968 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24969 term/i386/pc/serial.c.
24970
219ad426 249712005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24972
24973 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24974 file size must be permitted.
24975
24976 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24977 between %ah and %al.
24978
688e5699 249792005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24980
24981 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24982 grub_uint64_t.
24983 Call the hook with a NUL-terminated filename.
24984 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24985 grub_cpu_to_be32.
24986
24987 * kern/term.c (cursor_state): New variable.
24988 (grub_term_set_current): Reset the cursor state on a new
24989 terminal.
24990 (grub_setcursor): Rewritten to use CURSOR_STATE.
24991 (grub_getcursor): New function.
24992
24993 * include/grub/term.h (grub_getcursor): New prototype.
24994
24995 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24996 integers on ARM. Reported by Timothy Baldwin
24997 <T.E.Baldwin99@members.leeds.ac.uk>.
24998
bb34586c 249992005-10-11 Marco Gerards <mgerards@xs4all.nl>
25000
25001 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25002 allocated.
25003 (grub_sfs_dir): Likewise.
25004
9a909877 250052005-10-09 Marco Gerards <mgerards@xs4all.nl>
25006
25007 Add support for the SFS filesystem.
25008
25009 * fs/sfs.c: New file.
25010
25011 * DISTLIST: Added `fs/sfs.c'.
25012
25013 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25014 (grub_probefs_SOURCES): Likewise.
25015 (grub_emu_SOURCES): Likewise.
25016 (pkgdata_MODULES): Add `sfs.mod'.
25017 (sfs_mod_SOURCES): New variable.
25018 (sfs_mod_CFLAGS): Likewise.
25019 (sfs_mod_LDFLAGS): Likewise.
25020
25021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25022 (pkgdata_MODULES): Add `sfs.mod'.
25023 (sfs_mod_SOURCES): New variable.
25024 (sfs_mod_CFLAGS): Likewise.
25025
25026 * util/grub-emu.c (main): Call `grub_sfs_init' and
25027 `grub_sfs_fini'.
25028
25029 * include/grub/fs.h (grub_sfs_init): New prototype.
25030 (grub_sfs_fini): Likewise.
25031
57bdbde3 250322005-10-07 Marco Gerards <mgerards@xs4all.nl>
25033
25034 Add support for the AFFS filesystem.
25035
25036 * fs/affs.c: New file.
25037
25038 * DISTLIST: Added `fs/affs.c'.
25039
25040 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25041 (grub_probefs_SOURCES): Likewise.
25042 (grub_emu_SOURCES): Likewise.
25043 (pkgdata_MODULES): Add `affs.mod'.
25044 (affs_mod_SOURCES): New variable.
25045 (affs_mod_CFLAGS): Likewise.
25046 (affs_mod_LDFLAGS): Likewise.
25047
25048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25049 (pkgdata_MODULES): Add `affs.mod'.
25050 (affs_mod_SOURCES): New variable.
25051 (affs_mod_CFLAGS): Likewise.
25052
25053 * util/grub-emu.c (main): Call `grub_affs_init' and
25054 `grub_affs_fini'.
25055
25056 * include/grub/fs.h (grub_affs_init): New prototype.
25057 (grub_affs_fini): Likewise.
25058
047b67e0 250592005-10-01 Marco Gerards <mgerards@xs4all.nl>
25060
25061 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25062
59b8208a 250632005-10-01 Marco Gerards <mgerards@xs4all.nl>
25064
25065 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25066 `-m32' to CFLAGS.
25067
25068 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25069 linking.
f19dbdb7 25070
59b8208a 25071 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25072 (COMMON_LDFLAGS): New variable.
25073 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25074 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25075 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25076 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25077 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25078 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25079 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25080 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25081 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25082 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25083 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25084 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25085 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25086 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25087 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25088 variables.
25089 (normal_mod_ASFLAGS): Add `-m32'.
25090
25091 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25092 (grub_host_size_t, grub_host_ssize_t): New types.
25093 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 25094 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 25095 `GRUB_HOST_SIZEOF_VOID_P'.
25096
25097 * include/grub/kernel.h (struct grub_module_header): Type of
25098 member offset changed to `grub_host_off_t'. Type of member size
25099 changed to `grub_host_size_t'.
25100 (struct grub_module_info): Type of member offset changed to
25101 `grub_host_off_t'. Type of member size changed to
25102 `grub_host_size_t'.
25103
b4093103 251042005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25105
25106 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 25107
b4093103 25108 * kern/i386/pc/startup.S (multiboot_header): New label.
25109 (multiboot_entry): Likewise.
25110 (multiboot_trampoline): Likewise.
25111
25112 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25113 Increased to 0x4A0.
25114
25115 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25116 put parentheses after a question mark.
25117 [!GRUB_UTIL] (my_mod): New variable.
25118
25119 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25120
b2499b29 251212005-09-28 Marco Gerards <mgerards@xs4all.nl>
25122
25123 Adds support for the XFS filesystem. Btrees are not supported
25124 yet.
25125
25126 * fs/xfs.c: New file.
25127
25128 * DISTLIST: Added `fs/xfs.c'.
25129
25130 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25131 (grub_probefs_SOURCES): Likewise.
25132 (grub_emu_SOURCES): Likewise.
25133 (pkgdata_MODULES): Add `xfs.mod'.
25134 (xfs_mod_SOURCES): New variable.
25135 (xfs_mod_CFLAGS): Likewise.
25136
25137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25138 (pkgdata_MODULES): Add `xfs.mod'.
25139 (xfs_mod_SOURCES): New variable.
25140 (xfs_mod_CFLAGS): Likewise.
25141
25142 * util/grub-emu.c (main): Call `grub_xfs_init' and
25143 `grub_xfs_fini'.
25144
25145 * include/grub/fs.h (grub_xfs_init): New prototype.
25146 (grub_xfs_fini): Likewise.
25147
f19dbdb7 25148
83d37a62 251492005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25150
25151 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25152 color modes, allow greater than 16 colors to be configured as
25153 a default palette.
25154
47d2d65e 251552005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25156
25157 * normal/completion.c (complete_arguments): Add the qualifier
25158 const into OPTIONS.
25159
25160 From Omniflux <omniflux+lists@omniflux.com>:
25161 * include/grub/terminfo.h: New file.
25162 * include/grub/tparm.h: Likewise.
25163 * include/grub/i386/pc/serial.h: Likewise.
25164 * term/terminfo.c: Likewise.
25165 * term/tparm.c: Likewise.
25166 * term/i386/pc/serial.c: Likewise.
25167 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25168 serial.mod.
25169 (terminfo_mod_SOURCES): New variable.
25170 (terminfo_mod_CFLAGS): Likewise.
25171 (serial_mod_SOURCES): Likewise.
25172 (serial_mod_CFLAGS): Likewise.
25173
48b671ff 251742005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25175
25176 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25177 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25178 and kern/powerpc/ieee1275/cmain.c, respectively.
25179
25180 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25181 * kern/powerpc/ieee1275/crt0.S: ... here.
25182
25183 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25184 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 25185
48b671ff 25186 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25187 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25188 instead of boot/powerpc/ieee1275/crt0.S and
25189 boot/powerpc/ieee1275/cmain.c, respectively.
25190
25191 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25192 sectors. It was not used anyway.
25193
09fc77a7 251942005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25195
25196 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25197 `unused parameter' warning.
25198
003789c7 251992005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25200
25201 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25202 function.
25203 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25204 getcharwidth.
25205
67f44c86 252062005-08-28 Marco Gerards <metgerards@student.han.nl>
25207
25208 * include/grub/normal.h (enum grub_completion_type): Added
25209 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25210
25211 * normal/cmdline.c (print_completion): Handle
25212 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25213 * normal/menu_entry.c (store_completion): Likewise.
25214
25215 * normal/completion.c (complete_arguments): New function.
25216 (grub_normal_do_completion): Call `complete_arguments' when the
25217 current words start with a dash.
25218
0b5abe02 252192005-08-27 Marco Gerards <metgerards@student.han.nl>
25220
25221 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25222 `gzio.mod' instead of `io.mod').
25223
d9864ee1 252242005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25225
25226 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25227 (DISTDIRS): Added io and video.
25228 Rewrite the search routine to make an output consistently.
25229
25230 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25231 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25232 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25233 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25234 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25235 util/powerpc/ieee1275/misc.c.
f19dbdb7 25236
d9864ee1 25237 * include/grub/gzio.h: New file.
25238 * io/gzio.c: Likewise.
f19dbdb7 25239
d9864ee1 25240 * kern/file.c (grub_file_close): Call grub_device_close only if
25241 FILE->DEVICE is not NULL.
25242
25243 * include/grub/mm.h [!NULL] (NULL): New macro.
25244
25245 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25246
25247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25248 (pkgdata_MODULES): Added gzio.mod.
25249 (gzio_mod_SOURCES): New variable.
25250 (gzio_mod_CFLAGS): Likewise.
25251
25252 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25253 (pkgdata_MODULES): Added gzio.mod.
25254 (gzio_mod_SOURCES): New variable.
25255 (gzio_mod_CFLAGS): Likewise.
25256
25257 * commands/cat.c: Include grub/gzio.h.
25258 (grub_cmd_cat): Use grub_gzfile_open instead of
25259 grub_file_open.
f19dbdb7 25260
d9864ee1 25261 * commands/cmp.c: Include grub/gzio.h.
25262 (grub_cmd_cmp): Use grub_gzfile_open instead of
25263 grub_file_open.
25264
25265 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25266 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25267 grub_file_open.
25268 (grub_rescue_cmd_module): Likewise.
25269
fa46f4b5 252702005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25271
25272 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25273 kern/sparc64/ieee1275/init.c because it contains _start.
25274 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25275
e9211b5d 252762005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25277
25278 * configure.ac: Add support for sparc64 host with ieee1275
25279 firmware.
25280 * configure: Generated from configure.ac.
25281 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25282 instead of int.
25283 (grub_ofdisk_read): Likewise.
25284 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25285 pointers as (void *) to remove a warning.
25286 (grub_ofdisk_close): Likewise.
25287 (grub_ofdisk_read): Likewise.
25288 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25289 returns, so make it return void to remove a warning.
25290 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25291 Corresponding prototype change.
25292 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25293 values, and cast the pointers as (void *) to remove a warning.
25294 (grub_mm_dump): Likewise.
25295 * conf/sparc64-ieee1275.mk: New file.
25296 * conf/sparc64-ieee1275.rmk: Likewise.
25297 * include/grub/sparc64/setjmp.h: Likewise.
25298 * include/grub/sparc64/types.h: Likewise.
25299 * include/grub/sparc64/ieee1275/console.h: Likewise.
25300 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25301 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25302 * include/grub/sparc64/ieee1275/time.h: Likewise.
25303 * kern/sparc64/cache.c: Likewise.
25304 * kern/sparc64/dl.c: Likewise.
25305 * kern/sparc64/ieee1275/init.c: Likewise.
25306 * kern/sparc64/ieee1275/openfw.c: Likewise.
25307
385c6a92 253082005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25309
25310 * util/console.c (grub_ncurses_putchar): If C is greater than
25311 0x7f, set C to a question mark.
25312 (grub_ncurses_getcharwidth): New function.
25313 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25314 getcharwidth.
25315
25316 * normal/menu.c (print_entry): Made aware of Unicode. First,
25317 convert TITLE to UCS-4, and predict the cursor position by
25318 grub_getcharwidth.
25319
25320 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25321 const to SRC.
25322 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25323
16ccb8b1 253242005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25325
25326 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25327 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25328 grub_strcat.
25329
25330 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25331 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25332 grub_strcpy and grub_strlen. Take it into account that a space
25333 character is inserted as a delimiter.
25334
6a85ce79 253352005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25336
25337 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 25338 invalid magic in the error.
6a85ce79 25339
25340 * commands/search.c: New file.
f19dbdb7 25341
6a85ce79 25342 * util/grub-emu.c (main): Call grub_search_init and
25343 grub_search_fini.
25344
25345 * kern/rescue.c (grub_rescue_print_disks): Removed.
25346 (grub_rescue_print_devices): New function.
25347 (grub_rescue_cmd_ls): Use grub_device_iterate with
25348 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25349 grub_rescue_print_disks.
25350
25351 * kern/partition.c (grub_partition_iterate): Return the result of
25352 PARTMAP->ITERATE instead of GRUB_ERRNO.
25353
25354 * kern/device.c: Include grub/partition.h.
25355 (grub_device_iterate): New function.
25356
25357 * include/grub/partition.h (grub_partition_iterate): Return int
25358 instead of grub_err_t.
25359
25360 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25361 prototype.
25362 [GRUB_UTIL] (grub_search_fini): Likewise.
25363
25364 * include/grub/device.h (grub_device_iterate): New prototype.
25365
25366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25367 commands/search.c.
25368 (pkgdata_MODULES): Added search.mod.
25369 (search_mod_SOURCES): New variable.
25370 (search_mod_CFLAGS): Likewise.
25371
25372 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25373 (pkgdata_MODULES): Added search.mod.
25374 (search_mod_SOURCES): New variable.
25375 (search_mod_CFLAGS): Likewise.
25376
25377 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25378 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25379 All callers changed.
25380
25381 * DISTLIST: Added commands/search.c.
25382
ef095434 253832005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25384
25385 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25386 conversion.
25387 (grub_getcharwidth): New function.
25388
25389 * kern/misc.c (grub_utf8_to_ucs4): New function.
25390
25391 * include/grub/term.h (struct grub_term): Added a new member
25392 "getcharwidth".
25393 (grub_getcharwidth): New prototype.
25394
25395 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25396
25397 * term/i386/pc/console.c (map_char): New function. Segregated from
25398 grub_console_putchar.
25399 (grub_console_putchar): Use map_char.
25400 (grub_console_getcharwidth): New function.
25401 (grub_console_term): Specified grub_console_getcharwidth as
25402 getcharwidth.
25403
25404 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25405 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25406
25407 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25408 GRUB_ERRNO.
25409 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25410 on grub_strtoul completely.
25411 (write_char): Declare local variables in the beginning of the
25412 function.
25413 (grub_vesafb_getcharwidth): New function.
25414 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25415 getcharwidth.
25416
1f0a95e4 254172005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25418
25419 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25420 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25421 commands/i386/pc/vbetest.c.
25422
25423 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25424 call grub_vbe_get_controller_info again, because the returned
25425 information is volatile.
25426 (grub_vbe_set_video_mode): Mostly rewritten.
25427 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25428 grub_vbe_status_t correctly.
25429 (grub_vbe_get_video_mode_info): Likewise.
25430 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25431 several if statements.
25432
25433 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25434 * commands/i386/pc/vbeinfo.c: ... this.
25435
25436 * commands/i386/pc/vbe_test.c: Renamed to ...
25437 * commands/i386/pc/vbetest.c: ... this.
25438
25439 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25440 ...
25441 (grub_cmd_vbeinfo): ... this. Save video modes before
25442 iterating. Skip a video mode, if it is not available, not enough
25443 information is given or it is monochrome. Show the memory
25444 model. Leave the interpretation of MODEVAR to grub_strtoul
25445 completely.
25446 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25447 (GRUB_MOD_FINI): Likewise.
25448
25449 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25450 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25451 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25452 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25453 grub_strtoul completely.
25454 (real2pm): Removed.
25455 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25456 (GRUB_MOD_FINI): Likewise.
25457
25458 * normal/misc.c: Include grub/mm.h.
25459
25460 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25461 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25462 (vbe_list_modes_mod_SOURCES): Removed.
25463 (vbe_list_modes_mod_CFLAGS): Likewise.
25464 (vbe_test_mod_SOURCES): Likewise.
25465 (vbe_test_mod_CFLAGS): Likewise.
25466 (vbeinfo_mod_SOURCES): New variable.
25467 (vbeinfo_mod_CFLAGS): Likewise.
25468 (vbetest_mod_SOURCES): Likewise.
25469 (vbetest_mod_CFLAGS): Likewise.
25470
992ffbbe 254712005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25472
25473 * normal/misc.c: New file.
25474
25475 * DISTLIST: Added normal/misc.c.
f19dbdb7 25476
992ffbbe 25477 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25478 DISK to HOOK. Call HOOK with DISK.
25479 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25480 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25481 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25482
25483 * normal/menu_entry.c (struct screen): Added a new member
25484 "completion_shown".
25485 (completion_buffer): New global variable.
25486 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25487 (store_completion): New function.
25488 (complete): Likewise.
25489 (clear_completions): Likewise.
25490 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25491 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25492 a tab, call complete.
25493
25494 * normal/completion.c (disk_dev): Removed.
25495 (print_simple_completion): Likewise.
25496 (print_partition_completion): Likewise.
25497 (print_func): New global variable.
25498 (add_completion): Do not take the arguments WHAT or PRINT any
25499 longer. Added a new argument TYPE. Instead of printing directly,
25500 call PRINT_FUNC if not NULL.
25501 All callers changed.
25502 (complete_device): Use a local variable DEV instead of
25503 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25504 (grub_normal_do_completion): Take a new argument HOOK. Do not
25505 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25506 empty string, return NULL instead.
25507 All callers changed.
25508
25509 * normal/cmdline.c (print_completion): New function.
25510
25511 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25512 to HOOK.
25513 All callers changed.
25514
25515 * kern/disk.c (grub_print_partinfo): Removed.
25516
25517 * include/grub/partition.h (struct grub_partition_map): Add a new
25518 argument DISK into HOOK of ITERATE.
25519 (grub_partition_iterate): Add a new argument DISK to HOOK.
25520
25521 * include/grub/normal.h (enum grub_completion_type): New enum.
25522 (grub_completion_type_t): New type.
25523 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25524 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25525 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25526 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25527 (grub_normal_do_completion): Added a new argument HOOK.
25528 (grub_normal_print_device_info): New prototype.
25529
25530 * include/grub/disk.h (grub_print_partinfo): Removed.
25531
25532 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25533 (normal_mod_SOURCES): Likewise.
25534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25535 (normal_mod_SOURCES): Likewise.
25536
25537 * commands/ls.c (grub_ls_list_disks): Use
25538 grub_normal_print_device_info instead of grub_print_partinfo. Free
25539 PNAME.
25540 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25541 duplicating the code.
25542
0bd41162 255432005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25544
25545 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 25546 follow GCS more precisely.
25547 * commands/i386/pc/vbe_test.c: Likewise.
25548 * include/grub/i386/pc/vbe.h: Likewise.
25549 * term/i386/pc/vesafb.c: Likewise.
25550 * video/i386/pc/vbe.c: Likewise.
0bd41162 25551
6323696a 255522005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25553
25554 * DISTLIST: Added term/i386/pc/vesafb.c
25555 DISTLIST: Added video/i386/pc/vbe.c
25556 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25557 DISTLIST: Added commands/i386/pc/vbe_test.c.
25558 * commands/i386/pc/vbe_list_modes.c: New file.
25559 * commands/i386/pc/vbe_test.c: Likewise.
25560 * term/i386/pc/vesafb.c: Likewise.
25561 * video/i386/pc/vbe.c: Likewise.
25562 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25563 (grub_vbe_probe) Added prototype.
25564 (grub_vbe_set_video_mode) Likewise.
25565 (grub_vbe_get_video_mode) Likewise.
25566 (grub_vbe_get_video_mode_info) Likewise.
25567 (grub_vbe_set_pixel_rgb) Likewise.
25568 (grub_vbe_set_pixel_index) Likewise.
25569 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25570 (pkgdata_MODULES): Added vesafb.mod.
25571 (pkgdata_MODULES): Added vbe_list_modes.mod.
25572 (pkgdata_MODULES): Added vbe_test.mod.
25573 (vbe_mod_SOURCES): Added.
25574 (vbe_mod_CFLAGS): Likewise.
25575 (vesafb_mod_SOURCES): Likewise.
25576 (vesafb_mod_CFLAGS): Likewise.
25577 (vbe_list_modes_mod_SOURCES): Likewise.
25578 (vbe_list_modes_mod_CFLAGS): Likewise.
25579 (vbe_test_mod_SOURCES): Likewise.
25580 (vbe_test_mod_CFLAGS): Likewise.
25581
0a74e62f 255822005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25583
0a74e62f 25584 * normal/command.c (grub_command_execute): If INTERACTIVE is
25585 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25586 CMDLINE. Disable the pager if INTERACTIVE is true.
25587 All callers are changed.
25588
25589 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25590 before reading a config file.
25591 * normal/main.c (read_config_file): Even if a command is not
25592 found, register it if it is within an entry.
25593
25594 * util/grub-emu.c: Include sys/types.h and unistd.h.
25595 (options): Added --hold.
25596 (struct arguments): Added a new member "hold".
25597 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25598 missing.
25599 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25600 cleared by a debugger, if it is not zero.
25601
25602 * include/grub/normal.h (grub_command_execute): Add an argument
25603 INTERACTIVE.
25604
e51f85ae 256052005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25606
25607 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25608
e9c6f39b 256092005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25610
25611 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25612 program with another one, because the old one didn't detect a bug
25613 in gcc-3.4. Always use regparm 2, because the new test is still
25614 not enough for gcc-4.0. Someone must investigate a simple test
25615 case which detects a bug in gcc-4.0.
25616
8de3495c 256172005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25618
25619 * DISTLIST: Added normal/completion.c.
25620
25621 * normal/completion.c: New file.
f19dbdb7 25622
8de3495c 25623 * term/i386/pc/console.c (grub_console_getwh): New function.
25624 (grub_console_term): Assign grub_console_getwh to getwh.
25625
25626 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25627 function is defined in normal/completion.c as
25628 grub_normal_do_completion.
25629 (grub_cmdline_get): Use grub_normal_do_completion instead of
25630 grub_tab_complete.
25631
25632 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25633 returns non-zero, otherwise return 0.
25634 (grub_partition_iterate): First, probe the partition map. Then,
25635 call ITERATE only for this partition map.
25636
25637 * kern/misc.c (grub_strncmp): Rewritten.
25638
25639 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25640 returns non-zero. Otherwise return 0.
25641
25642 * include/grub/partition.h (grub_partition_map_iterate): Return
25643 int instead of void.
25644
25645 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25646
25647 * include/grub/misc.h (grub_strncmp): Change the type of N to
25648 grub_size_t.
25649
25650 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25651 of void.
25652
25653 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 25654 unsigned explicitly before comparing it with I.
8de3495c 25655
25656 * kern/main.c (grub_env_write_root): Add the attribute unused into
25657 VAR.
25658
25659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25660 normal/completion.c.
25661 (normal_mod_SOURCES): Likewise.
25662 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25663 (normal_mod_SOURCES): Likewise.
25664
25665 * normal/command.c (grub_iterate_commands): If ITERATE returns
25666 non-zero, return one immediately.
25667
e85e144b 256682005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25669
25670 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25671 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25672 descriptions.
25673 (grub_vbe_get_controller_info): New function.
25674 (grub_vbe_get_mode_info): Likewise.
25675 (grub_vbe_set_mode): Likewise.
25676 (grub_vbe_get_mode): Likewise.
25677 (grub_vbe_set_memory_window): Likewise.
25678 (grub_vbe_get_memory_window): Likewise.
25679 (grub_vbe_set_scanline_length): Likewise.
25680 (grub_vbe_get_scanline_length): Likewise.
25681 (grub_vbe_set_display_start): Likewise.
25682 (grub_vbe_get_display_start): Likewise.
25683 (grub_vbe_set_palette_data): Likewise.
25684 * include/grub/i386/pc/vbe.h: New file.
25685
c46153d2 256862005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25687
25688 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25689 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25690 * DISTLIST: Likewise.
25691 * kern/ieee1275/of.c: Moved to ...
25692 * kern/ieee1275/ieee1275.c: ... here.
25693
0cb90c45 256942005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25695
25696 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25697 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25698 Pass 0 as `end' parameter to grub_strtoul().
25699
a19fb360 257002005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25701
25702 * include/grub/powerpc/ieee1275/console.h: Do not include
25703 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25704 ifdef.
25705 (grub_console_cur_color): Remove i386-specific prototype.
25706 (grub_console_real_putchar): Likewise.
25707 (grub_console_checkkey): Likewise.
25708 (grub_console_getkey): Likewise.
25709 (grub_console_getxy): Likewise.
25710 (grub_console_gotoxy): Likewise.
25711 (grub_console_cls): Likewise.
25712 (grub_console_setcursor): Likewise.
25713 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25714 Include <grub/machine/console.h>.
25715 * term/ieee1275/ofconsole.c: Likewise.
25716
4ac9bd04 257172005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25718
25719 * Makefile.in (LIBLZO): New variable.
25720
25721 * configure.ac: Check for LZO version 2.
25722
25723 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25724 lzo/lzo1x.h instead of lzo1x.h.
25725
25726 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25727 of -llzo.
25728
25729 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25730 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25731
25732 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25733 copying the data from PARTITION to P.
25734
f4917dfd 257352005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25736
25737 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25738 negative, unload the module.
25739
25740 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25741 map is "pc_partition_map" but not "pc".
25742 (usage): Fix the description. The options are --boot-image and
25743 --core-image but not --boot-file or --core-file.
25744 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25745 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25746 DEFAULT_DIRECTORY.
25747
25748 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25749 --core-file. Specify INSTALL_DEVICE as an argument.
25750
25751 * util/console.c: Include config.h.
25752 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25753 [HAVE_NCURSES_H]: Include ncurses.h.
25754 [HAVE_CURSES_H]: Include curses.h.
25755 [!A_NORMAL] (A_NORMAL): Defined as zero.
25756 [!A_STANDOUT] (A_STANDOUT): Likewise.
25757
25758 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25759 -lncurses.
25760 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25761
25762 * configure.ac: Check for curses libraries and headers.
25763
25764 * Makefile.in (LIBCURSES): New variable.
25765
25766 * genmk.rb (Script::rule): Set the executable bits.
25767
25768 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25769 name of the PC partition map is "pc_partition_map" but not "pc".
25770
0e143073 257712005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25772
25773 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25774 (modules): Likewise.
25775 (usage): Added descriptions for --modules and --grub-probefs.
25776 Handle --modules and --grub-probefs. Save the arguments in MODULES
25777 and GRUB_PROBEFS, respectively.
25778 Auto-detect a filesystem module against GRUBDIR. If the result is
25779 empty and modules are not specified explicitly, abort the
25780 installation. Add the result to MODULES.
25781
25782 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25783 disk/powerpc/ieee1275/ofdisk.c,
25784 include/grub/powerpc/ieee1275/init.h and
25785 term/powerpc/ieee1275/ofconsole.c.
25786 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25787 term/ieee1275/ofconsole.c.
25788
25789 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25790
25791 * COPYING: Upgraded to the latest version. Only the address of the
25792 FSF office has changed.
f19dbdb7 25793
efd6e6d5 257942005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25795
25796 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25797 kern/ieee1275.c with kern/ieee1275/of.c.
25798
25799 * kern/ieee1275.c: Moved to ...
25800 * kern/ieee1275/of.c: ... here.
25801
8ceafda2 258022005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25803
25804 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 25805 readability.
8ceafda2 25806
25807 * config.guess: Updated to the latest version from gnulib.
25808 * config.sub: Likewise.
25809 * install.sh: Likewise.
25810 * mkinstalldirs: Likewise.
25811
25812 * include/grub/console.h: Removed. This file is arch-specific. Do
25813 not put this in include/grub.
25814
25815 * include/grub/i386/pc/console.h: Resurrected.
25816
25817 * util/console.c: Include grub/machine/console.h instead of
25818 grub/console.h.
25819 * util/grub-emu.c: Likewise.
25820
267f6cd9 258212005-08-04 Marco Gerards <metgerards@student.han.nl>
25822
25823 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25824 hardcoded value.
f19dbdb7 25825
267f6cd9 25826 From Vincent Pelletier <subdino2004@yahoo.fr>
25827 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25828 Redefined to use grub_getwh.
25829 (grub_term): New member named getwh.
25830 (grub_getwh): New prototype.
25831 * kern/term.c (grub_getwh): New function.
25832 * term/i386/pc/console.c (grub_console_getwh): New function.
25833 (grub_console_term): New member `getwh'.
25834 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25835 (grub_vga_term): New member `getwh'.
0b5abe02 25836 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 25837 grub_ssize_t.
25838 (grub_ofconsole_getw): New function.
25839 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
25840 (grub_ofconsole_term): New field named getwh and new initial
25841 value.
25842
3be7266d 258432005-08-03 Hollis Blanchard <hollis@penguinppc.org>
25844
25845 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
25846 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
25847 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
25848 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
25849 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
25850 of <grub/machine/ieee1275.h>.
25851 * commands/ieee1275/reboot.c: Likewise.
25852 * boot/powerpc/ieee1275/ieee1275.c: Move ...
25853 * kern/ieee1275.c: ... to here. All users updated. Change all
25854 parameter structs to use new type `grub_ieee1275_cell_t'.
25855 * term/powerpc/ieee1275/ofconsole.c: Move ...
25856 * term/ieee1275/ofconsole.c: ... to here. All users updated.
25857 * disk/powerpc/ieee1275/ofdisk.c: Move ...
25858 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
25859 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
25860 to return int.
25861 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
25862 Remove unused prototypes. All users updated.
25863 * include/grub/powerpc/ieee1275/console.h: Removed.
25864 * include/grub/powerpc/ieee1275/ieee1275.h: Define
25865 `grub_ieee1275_cell_t'.
25866 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
25867 Cast comparisons with -1 to the correct type.
25868 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25869 type to match `grub_ieee1275_entry_fn'.
25870
8b5f3938 258712005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25872
25873 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25874
25875 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25876 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25877 partmap/sun.c.
25878 (grub_probefs_SOURCES): New variable.
25879
25880 * util/i386/pc/grub-probefs.c: New file.
25881
25882 * util/i386/pc/grub-setup.c (main): Call
25883 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25884 grub_hfs_init and grub_jfs_init to initialize the system. Call
25885 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25886 grub_pc_partition_map_fini to finish the system.
25887
ea409713 258882005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25889
25890 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25891 function.
25892 (grub_multiboot_load_elf32): Likewise.
25893 (grub_multiboot_is_elf64): Likewise.
25894 (grub_multiboot_load_elf64): Likewise.
25895 (grub_multiboot_load_elf): Likewise.
25896 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25897 an ELF32 or ELF64 file.
25898 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25899
25900 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25901 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25902 NULL before calling FS->LABEL.
25903 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25904 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25905 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25906 before calling FS->LABEL.
25907
141a288b 259082005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25909
25910 * util/i386/pc/grub-install.in (datadir): New variable.
25911 (libdir): Removed.
25912 (pkgdatadir): New variable.
25913 (pkglibdir): Removed.
25914
0d5f8a54 259152005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25916
25917 * DISTLIST: Added util/i386/pc/grub-install.in.
25918
25919 * util/i386/pc/grub-install.in: New file.
25920
25921 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25922 (grub_install_SOURCES): Likewise.
25923
25924 * genmk.rb: Added support for scripts.
25925 (Script): New class.
25926 (scripts): New variable.
25927
25928 * Makefile.in (install-local): Install sbin_SCRIPTS by
25929 INSTALL_SCRIPT.
25930 (uninstall): Remove sbin_SCRIPTS.
25931
25932 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25933 device, try to get a GRUB device by
25934 grub_util_biosdisk_get_grub_dev.
25935 Free DEST_DEV.
25936
25937 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25938 description for --device-map.
25939
5f968e1e 259402005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25941
25942 Change the semantics of variable hooks. They now return strings
25943 instead of error values.
f19dbdb7 25944
5f968e1e 25945 * util/i386/pc/grub-setup.c: Include grub/env.h.
25946 (setup): Use grub_device_set_root instead of grub_env_set.
25947
25948 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25949 grub_env_get instead of grub_device_set_root and
25950 grub_device_get_root, respectively.
25951
25952 * kern/main.c (grub_env_write_root): New function.
25953 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25954 grub_env_set instead of grub_device_set_root.
25955
25956 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25957 many variables.
25958 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25959 rather than calling ENV->WRITE_HOOK afterwards.
25960 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25961 passing a pointer of a pointer.
25962 (grub_register_variable_hook): Change the types of "read_hook" and
25963 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25964 respectively.
25965 Allocate the default empty string on the heap, because this string
25966 may be freed later.
25967
25968 * kern/device.c: Include grub/env.h.
25969 (grub_device_set_root): Removed.
25970 (grub_device_get_root): Likewise.
25971 (grub_device_open): Use grub_env_get instead of
25972 grub_device_get_root.
25973
25974 * include/grub/env.h (grub_env_read_hook_t): New type.
25975 (grub_env_write_hook_t): Likewise.
25976 (grub_env_var): Change the types of "read_hook" and "write_hook"
25977 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25978 (grub_register_variable_hook): Likewise.
25979
25980 * include/grub/device.h (grub_device_set_root): Removed.
25981 (grub_device_set_root): Likewise.
25982
25983 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25984 make sure that DIRNAME terminates with '/', so that
25985 grub_fat_find_dir will fail if PATH is not a directory.
25986
25987 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25988 from DIRNAME.
25989 Use the qualifier auto for print_files and print_files_long.
25990 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25991 as a regular file.
25992 Put a newline only if there is no error.
25993 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25994 used.
25995
896f0afd 259962005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25997
25998 * kern/partition.c (grub_partition_probe): Initialize PART to
25999 NULL. Otherwise, when no partition map is registered, this returns
26000 a garbage.
26001
b28b81b2 260022005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26003
26004 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26005 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26006 valid.
26007
5f3607e0 260082005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26009
26010 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26011 information on each device, if it does not have partitions. Print
26012 "Device" instead of "Disk", because this function is not specific
26013 to disk devices.
26014
26015 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26016 static to ensure that it is put on the memory rather than a
26017 register.
26018
502c87e8 260192005-07-17 Yoshinori Okuji <okuji@enbug.org>
26020
26021 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26022 (grub_cat_init): Likewise.
26023 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26024 (options): Likewise.
26025 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26026 (grub_configfile_init): Likewise.
26027 * font/manager.c (GRUB_MOD_INIT): Likewise.
26028 * commands/help.c (GRUB_MOD_INIT): Likewise.
26029 (grub_help_init): Likewise.
26030 * normal/command.c (grub_command_init): Likewise.
26031 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26032 * disk/loopback.c (grub_loop_init): Likewise.
26033 (GRUB_MOD_INIT): Likewise.
26034 * commands/ls.c (grub_ls_init): Likewise.
26035 (GRUB_MOD_INIT): Likewise.
26036 (options): Likewise.
26037 * commands/boot.c (grub_boot_init): Likewise.
26038 (GRUB_MOD_INIT): Likewise.
26039 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26040 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26041 (GRUB_MOD_INIT): Likewise.
26042 * commands/cmp.c (grub_cmp_init): Likewise.
26043 (GRUB_MOD_INIT): Likewise.
26044
26045 * normal/arg.c: Use <> instead of "" to include header files.
26046 (SHORT_ARG_HELP): New macro.
26047 (SHORT_ARG_USAGE): Likewise.
26048 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26049 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26050 descriptions.
26051 (find_short): Check if C is 'h' or 'u' explicitly.
26052 (grub_arg_show_help): Use space characters instead of tabs. Treat
26053 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26054 are shown with --help and --usage only if they are not used for
26055 the command itself.
26056 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26057 'h' and 'u'.
26058
26059 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26060 const into "longarg". Change the type of "shortarg" to int.
26061
f806d18e 260622005-07-17 Yoshinori Okuji <okuji@enbug.org>
26063
26064 * boot/i386/pc/boot.S (boot_drive_check): New label.
26065
26066 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26067 macro.
26068
26069 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26070 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26071
e293232b 260722005-07-17 Yoshinori Okuji <okuji@enbug.org>
26073
26074 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26075 When turning off Gate A20, skip the check and return immediately,
26076 because this is not fatal usually.
26077
ebedfd00 260782005-07-17 Yoshinori Okuji <okuji@enbug.org>
26079
26080 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26081 be 0x7C00 instead of 0x8000.
26082
26083 * boot/i386/pc/pxeboot.S: Rewritten.
26084
26085 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26086 EXT_C.
26087 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26088 result.
26089
654fc59f 260902005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26091
26092 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26093 robustness. This routine now supports a BIOS call and System
26094 Control Port A to modify the gate A20.
26095
26096 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26097 Increased to 0x440.
26098
09f9923f 260992005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26100
26101 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26102 device path and resulting ihandle.
26103 (grub_ofdisk_close): dprintf the ihandle being closed.
26104 (grub_ofdisk_read): dprintf function parameters.
26105 * kern/mm.c (grub_mm_init_region): Likewise.
26106 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26107 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26108 size, and boot arguments.
26109 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26110 before loading into memory.
26111 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26112 before loading into memory.
26113
7ef504d8 261142005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26115
26116 * kern/mm.c: Added much documentation.
26117 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26118 8, set to 5 instead of 8.
26119
e0f050c2 261202005-07-10 Yoshinori Okuji <okuji@enbug.org>
26121
26122 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26123
26124 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26125 (grub_mkdevicemap_SOURCES): New variable.
26126
26127 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26128 lib/device.c of GRUB Legacy.
26129
7224189a 261302005-07-10 Yoshinori Okuji <okuji@enbug.org>
26131
26132 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26133 instead of PATH is NULL.
26134
68c864eb 261352005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26136
26137 * commands/cmp.c (BUFFER_SIZE): New macro.
26138 (grub_cmd_cmp): Close the right file at the right time. Compare
26139 only data just read. Don't report files of different size as
26140 identical. Dynamically allocate buffers. Move variable
26141 declarations at the beginning of function.
26142
e6f3e614 261432005-07-09 Yoshinori Okuji <okuji@enbug.org>
26144
26145 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26146 reverse.
26147
f8f1559a 261482004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26149
26150 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26151 when backspace is pressed at beginning of line.
26152
39c9d41d 261532005-07-03 Yoshinori Okuji <okuji@enbug.org>
26154
26155 * DISTLIST: Added genfslist.sh.
26156
26157 * normal/main.c (fs_module_list): New variable.
26158 (autoload_fs_module): New function.
26159 (read_fs_list): Likewise.
26160 (grub_normal_execute): Call read_fs_list.
26161
26162 * kern/fs.c (grub_fs_autoload_hook): New variable.
26163 (grub_fs_probe): Added support for auto-loading.
26164
26165 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26166 (grub_fs_module_list_t): New type.
26167
26168 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26169 (grub_fs_autoload_hook): New prototype.
26170
26171 * genfslist.sh: New file.
f19dbdb7 26172
39c9d41d 26173 * genmk.rb: Added a rule to generate a filesystem list.
26174
121c1d83 261752005-06-30 Marco Gerards <metgerards@student.han.nl>
26176
26177 * configure.ac: Fix the test for cross-compiling.
26178
26179 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26180 define GRUB_UTIL anymore.
26181
26182 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26183 so this function works on other systems than just big endian.
26184 (load_modules): Likewise.
26185 (add_segments): Likewise.
26186
e75d76e1 261872005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26188
26189 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26190 contains `l' modifier, get a long from va_arg().
26191
50b5a0a7 261922005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26193
26194 * kern/mm.c (grub_free): If the next free block which is being
26195 merged is the first free block, set the first block to the block
26196 being freed.
26197 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26198
89371b20 261992005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26200
26201 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26202 `grub_ieee1275_chosen'.
26203
168d6e58 262042005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26205
26206 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26207 (grub_ieee1275_chosen): New variable.
26208 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26209 `chosen'.
26210 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26211 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26212 Rename first argument to `phandle' for consistency.
26213 (grub_ieee1275_get_property_length): Likewise.
26214 (grub_ieee1275_next_property): Likewise. Change type of first argument
26215 to grub_ieee1275_phandle_t.
26216 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26217 Move export next to declaration.
26218 (grub_ieee1275_chosen): New variable.
26219 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26220 Correct cosmetic typo.
26221 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26222 `grub_ieee1275_chosen'.
26223 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26224 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26225 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26226 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26227 `grub_ieee1275_chosen'.
26228
ca5baa3f 262292005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26230
26231 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26232 /chosen/bootargs.
26233 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26234 /chosen/bootargs as "variable=value" pairs.
26235
708b345f 262362005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26237
26238 * include/grub/misc.h (grub_dprintf): New macro.
26239 (grub_real_dprintf): New prototype.
26240 (grub_strword): Likewise.
26241 (grub_iswordseparator): Likewise.
26242 * kern/misc.c (grub_real_dprintf): New function.
26243 (grub_strword): Likewise.
26244 (grub_iswordseparator): Likewise.
26245
f4c5e67c 262462005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26247
26248 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26249 (roundup): Remove macro.
26250 (grub_ieee1275_flags): Make static.
26251 (grub_ieee1275_realmode): Remove.
26252 (grub_ieee1275_test_flag): New function.
26253 (grub_ieee1275_set_flag): Likewise.
26254 (find_options): Rename to `grub_ieee1275_find_options'; update
26255 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26256 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26257 (cmain): New prototype.
26258 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26259 `grub_ieee1275_flags' directly.
26260 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26261 machine/biosdisk.h.
26262 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26263 Don't include grub/machine/init.h.
26264 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26265 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26266 Remove prototype.
26267 (grub_ieee1275_realmode): Likewise.
26268 (grub_ieee1275_flag): New enum.
26269 (grub_ieee1275_test_flag): New prototype.
26270 (grub_ieee1275_set_flag): New prototype.
26271 * include/grub/powerpc/ieee1275/init.h: Remove file.
26272 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26273 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26274 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26275 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26276 comment.
26277 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26278 `grub_ieee1275_test_flag'.
26279 (grub_ieee1275_encode_devname): Likewise.
26280
ed16607e 262812005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26282
26283 * include/grub/powerpc/ieee1275/ieee1275.h
26284 (grub_ieee1275_encode_devname): New prototype.
26285 (grub_ieee1275_get_filename): Likewise.
26286 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26287 function.
26288 (grub_set_prefix): Likewise.
26289 (grub_machine_init): Call grub_set_prefix.
26290 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26291 (grub_parse_type): New enum.
26292 (grub_ieee1275_get_devargs): New function.
26293 (grub_ieee1275_get_devname): Likewise.
26294 (grub_ieee1275_parse_args): Likewise.
26295 (grub_ieee1275_get_filename): Likewise.
26296 (grub_ieee1275_encode_devname): Likewise.
26297
be369920 262982005-03-30 Marco Gerards <metgerards@student.han.nl>
26299
26300 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26301 `grub_loader_unset'.
26302
a5ce3a4a 263032005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26304
26305 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26306 instead of grub_ieee1275_interpret.
26307 (grub_halt_init): New function.
26308 (grub_halt_fini): Likewise.
26309 (GRUB_MOD_INIT): Correct message grammar.
26310 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26311 instead of grub_ieee1275_interpret.
26312 (grub_reboot_init): New function.
26313 (grub_reboot_fini): Likewise.
26314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26315 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26316 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26317 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26318 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26319 function.
26320 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26321 Add prototype.
26322 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26323 prototype.
26324 (grub_halt): Likewise.
26325 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26326 (cmain): Remove __attribute__((unused)).
26327 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26328 (grub_heap_len): Likewise.
26329 (grub_machine_fini): New function.
26330 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26331 (grub_halt): Likewise.
26332 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26333 function.
26334 * util/powerpc/ieee1275/misc.c: New file.
26335
0058f771 263362005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26337
26338 * DISTLIST: New file.
26339 * gendistlist.sh: Likewise.
f19dbdb7 26340
0058f771 26341 * Makefile.in (COMMON_DISTFILES): Removed.
26342 (BOOT_DISTFILES): Likewise.
26343 (CONF_DISTFILES): Likewise.
26344 (DISK_DISTFILES): Likewise.
26345 (FS_DISTFILES): Likewise.
26346 (INCLUDE_DISTFILES): Likewise.
26347 (KERN_DISTFILES): Likewise.
26348 (LOADER_DISTFILES): Likewise.
26349 (TERM_DISTFILES): Likewise.
26350 (UTIL_DISTFILES): Likewise.
26351 (DISTFILES): Likewise.
26352 (uninstall): Uninstall files in $(pkgdata_DATA).
26353 (DISTLIST): New target.
26354 (distdir): Use the contents of the file DISTLIST to get a list of
26355 distributed files.
26356
46b3b8a5 263572005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26358
26359 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26360 descriptor. This is ported from GRUB Legacy.
26361
26362 * gencmdlist.sh: Added an extra semicolon to make it work with
26363 old sed versions. Reported by Robert Bihlmeyer
26364 <robbe@orcus.priv.at>.
26365
5822ff87 263662005-03-08 Yoshinori Okuji <okuji@enbug.org>
26367
26368 Automatic loading of commands is supported.
f19dbdb7 26369
5822ff87 26370 * normal/main.c (read_command_list): New function.
26371 (grub_normal_execute): Call read_command_list.
26372
26373 * normal/command.c (grub_register_command): Return zero or CMD.
26374 Allocate CMD->NAME from the heap.
26375 Initialize CMD->MODULE_NAME to zero.
26376 Find the same name as well. If the same command is found and it is
26377 a dummy command, overwrite members. If it is not a dummy command,
26378 return zero.
26379 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26380 (grub_command_find): If a dummy command is found, load a module
26381 and retry to find a command only once.
26382
26383 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26384 make sure that each command is loaded.
26385
26386 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26387 macro.
26388 (struct grub_command): Remove const from the member `name'.
26389 Add a new member `module_name'.
26390 (grub_register_command): Return grub_command_t.
26391
26392 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26393 sure that each command is loaded.
26394
26395 * genmk.rb (PModule::rule): Specify a module name without the
26396 suffix ".mod" to gencmdlist.sh.
26397
7b1f4b57 263982005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26399
26400 * gencmdlist.sh: New file.
f19dbdb7 26401
7b1f4b57 26402 * genmk.rb (PModule::rule): Generate a rule for a command list.
26403 Clean command.lst.
26404 Generate command.lst from $(COMMANDFILES).
26405
26406 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26407 (DATA): Added $(pkgdata_DATA).
26408 (install-local): Install files in $(pkgdata_DATA).
26409
062aaf39 264102005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26411
26412 * term/i386/pc/vga.c (debug_command): Removed.
26413 (GRUB_MOD_INIT): Do not register the command "debug".
26414
26415 From Hollis Blanchard:
26416 * commands/configfile.c: New file.
26417 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26418 commands/configfile.c.
26419 (pkgdata_MODULES): Added configfile.mod.
26420 (configfile_mod_SOURCES): New variable.
26421 (configfile_mod_CFLAGS): Likewise.
26422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26423 commands/configfile.c.
26424 (pkgdata_MODULES): Added configfile.mod.
26425 (configfile_mod_SOURCES): New variable.
26426 (configfile_mod_CFLAGS): Likewise.
26427 * util/grub-emu.c (main): Call grub_configfile_init and
26428 grub_configfile_fini.
26429 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26430 prototype.
26431 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 26432
cee01aa6 264332005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26434
26435 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26436 address.
26437
26438 * commands/help.c (grub_cmd_help): Do not print newlines after
26439 the last command in print_command_help.
26440
93f3a1d8 264412005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26442
26443 * commands/default.h: New file.
26444 * commands/timeout.h: Likewise.
26445 * normal/context.c: Likewise.
f19dbdb7 26446
93f3a1d8 26447 * util/misc.c: Do not include sys/times.h.
26448 Include sys/time.h and grub/machine/time.h.
26449 (grub_get_rtc): Rewritten with gettimeofday.
26450
26451 * util/grub-emu.c (main): Call grub_default_init and
26452 grub_timeout_init before grub_normal_init, and call
26453 grub_timeout_fini and grub_default_fini after grub_main.
26454
26455 * util/console.c (grub_ncurses_checkkey): Return the read
26456 character or -1.
26457
26458 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26459 timeouts.
26460
26461 * normal/main.c (read_config_file): Push MENU. If this fails,
26462 print an error and wait for a user input.
26463 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26464 If a menu is empty or an error occurs, pop MENU.
26465 (grub_normal_execute): Pop and free MENU after grub_menu_run
26466 returns.
26467
26468 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26469
26470 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26471 include time.h.
26472 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26473 without GRUB_UTIL.
26474 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26475 time.h.
26476 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26477 without GRUB_UTIL.
26478
26479 * include/grub/normal.h (struct grub_menu_list): New struct.
26480 (grub_menu_list_t): New type.
26481 (struct grub_context): New struct.
26482 (grub_context_t): New type.
26483 (grub_register_command): Got rid of EXPORT_FUNC.
26484 (grub_unregister_command): Likewise.
26485 (grub_context_get): New prototype.
26486 (grub_context_get_current_menu): Likewise.
26487 (grub_context_push_menu): Likewise.
26488 (grub_context_pop_menu): Likewise.
26489 [GRUB_UTIL] (grub_default_init): Likewise.
26490 [GRUB_UTIL] (grub_default_fini): Likewise.
26491 [GRUB_UTIL] (grub_timeout_init): Likewise.
26492 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26493
26494 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26495 commands/timeout.c and normal/context.c.
26496 (pkgdata_MODULES): Added default.mod and timeout.mod.
26497 (normal_mod_SOURCES): Added normal/context.c.
26498 (default_mod_SOURCES): New variable.
26499 (default_mod_CFLAGS): Likewise.
26500 (timeout_mod_SOURCES): Likewise.
26501 (timeout_mod_CFLAGS): Likewise.
26502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26503 conf/i386-pc.rmk.
26504 (pkgdata_MODULES): Added default.mod and timeout.mod.
26505 (normal_mod_SOURCES): Added normal/context.c.
26506 (default_mod_SOURCES): New variable.
26507 (default_mod_CFLAGS): Likewise.
26508 (timeout_mod_SOURCES): Likewise.
26509 (timeout_mod_CFLAGS): Likewise.
26510
26511 * Makefile.in (all-local): Added $(MKFILES).
26512
4ed2e1dd 265132005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26514
26515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26516 (grub_emu_SOURCES): Likewise.
26517 (pkgdata_MODULES): Add `sun.mod'.
26518 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26520 `partmap/sun.c'.
26521 (pkgdata_MODULES): Add `sun.mod'.
26522 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26523 * include/grub/partition.h (grub_sun_partition_map_init): New
26524 prototype.
26525 (grub_sun_partition_map_fini): Likewise.
26526 * partmap/sun.c: New file.
26527 * util/grub-emu.c (main): Initialize and de-initialize the sun
26528 partitionmap support.
26529
4d4e372e 265302005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26531
26532 This implements an Emacs-like menu entry editor.
f19dbdb7 26533
4d4e372e 26534 * normal/menu_entry.c: New file.
f19dbdb7 26535
4d4e372e 26536 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26537 characters to ASCII.
26538 (saved_char): New variable.
26539 (grub_ncurses_checkkey): Rewritten completely.
26540 (grub_ncurses_getkey): Likewise.
26541 (grub_ncurses_init): Call raw instead of cbreak.
26542
26543 * normal/menu.c (print_entry): Do not put a space.
26544 (init_page): Renamed to ...
26545 (grub_menu_init_page): ... this. All callers changed.
26546 (edit_menu_entry): Removed.
26547 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26548
26549 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26550
26551 * kern/misc.c (grub_vprintf): Call grub_refresh.
26552
26553 * normal/menu.c (DISP_LEFT): Renamed to ...
26554 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26555 * normal/menu.c (DISP_UP): Renamed to ...
26556 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26557 * normal/menu.c (DISP_RIGHT): Renamed to ...
26558 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26559 * normal/menu.c (DISP_DOWN): Renamed to ...
26560 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26561 * normal/menu.c (DISP_HLINE): Renamed to ...
26562 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26563 * normal/menu.c (DISP_VLINE): Renamed to ...
26564 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26565 * normal/menu.c (DISP_UL): Renamed to ...
26566 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26567 * normal/menu.c (DISP_UR): Renamed to ...
26568 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26569 * normal/menu.c (DISP_LL): Renamed to ...
26570 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26571 * normal/menu.c (DISP_LR): Renamed to ...
26572 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26573 * normal/menu.c (TERM_WIDTH): Renamed to ...
26574 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26575 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26576 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26577 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26578 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26579 * normal/menu.c (TERM_MARGIN): Renamed to ...
26580 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26581 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26582 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26583 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26584 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26585 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26586 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26587 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26588 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26589 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26590 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26591 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26592 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26593 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26594 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26595 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26596 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26597 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26598 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26599 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26600 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26601 All callers changed.
26602
26603 * include/grub/normal.h: New prototype.
26604
26605 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26606 normal/menu_entry.c.
26607 (normal_mod_SOURCES): Likewise.
26608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26609 (normal_mod_SOURCES): Likewise.
26610
e6b92c8a 266112005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26612
26613 * include/grub/normal.h (grub_halt_init): New prototype.
26614 (grub_halt_fini): Likewise.
26615 (grub_reboot_init): Likewise.
26616 (grub_reboot_fini): Likewise.
26617
26618 * util/grub-emu.c: Include signal.h.
26619 (main_env): New global variable.
26620 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26621 catch C-c.
26622 (grub_machine_fini): New function.
26623 (main): Call grub_halt_init and grub_reboot_init before
26624 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26625 Call setjmp with MAIN_ENV to go back afterwards.
26626 Call grub_machine_fini right before return.
26627
26628 * include/grub/util/misc.h: Include setjmp.h.
26629 (main_env): New prototype.
26630
26631 * include/grub/kernel.h (grub_machine_fini): New prototype.
26632 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26633 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26634
26635 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26636 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26637 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 26638
e6b92c8a 26639 * util/i386/pc/misc.c: New file.
f19dbdb7 26640
e6b92c8a 26641 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26642 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26643 commands/i386/pc/reboot.c.
26644
c642636f 266452005-02-14 Guillem Jover <guillem@hadrons.org>
26646
26647 * include/grub/dl.h (grub_dl_check_header): New prototype.
26648 (grub_arch_dl_check_header): Change return type to grub_err_t,
26649 remove size parameter and export function. Update all callers.
26650 * kern/dl.c (grub_dl_check_header): New function.
26651 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26652 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26653 are inside the core.
26654 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26655 independent ELF header checks.
26656 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26657 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26658 `grub_dl_check_header' instead of explicit checks. Check for the
26659 ELF type.
26660 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26661 `grub_dl_check_header' instead of explicit checks. Remove arch
26662 specific ELF header checks.
26663
e6b92c8a 26664 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26665 argument SIZE.
26666
5eabe94b 266672005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26668
26669 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26670 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26671
1b14a681 266722005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26673
26674 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 26675 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 26676 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 26677 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 26678 * partmap/amiga.c (amiga_partition_map_iterate): Return
26679 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26680 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26681
aca108aa 266822005-02-01 Guillem Jover <guillem@hadrons.org>
26683
26684 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26685 help info.
26686
c9f9c556 266872005-01-31 Marco Gerards <metgerards@student.han.nl>
26688
26689 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26690 Removed prototype.
26691 (grub_rescue_cmd_linux): New prototype.
26692 (grub_rescue_cmd_initrd): Likewise.
26693 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26694 `bi_rec'.
26695 (grub_linux_release_mem): Release the memory for the initrd.
26696 (grub_load_linux): Renamed from this...
26697 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26698 Changed `entry' not to be static. Loop over memory regions to
26699 find another one when the default fails.
26700 (grub_rescue_cmd_initrd): New function.
26701 (grub_linux_init): Remove function.
26702 (grub_linux_fini): Likewise.
26703 (GRUB_MOD_INIT): Register `initrd'.
26704 (GRUB_MOD_FINI): Unregister `initrd'.
26705 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26706 Function removed.
26707 (grub_linux_normal_fini): Likewise.
26708 (GRUB_MOD_INIT): Register `initrd'.
26709 (GRUB_MOD_FINI): Unregister `initrd'.
26710
990cf3aa 267112005-01-31 Marco Gerards <metgerards@student.han.nl>
26712
26713 * commands/help.c: New file.
26714 * normal/arg.c (show_help): Renamed to...
26715 (grub_arg_show_help): ... this.
26716 * commands/i386/pc/halt.c: New file.
26717 * commands/i386/pc/reboot.c: Likewise.
26718 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26719 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26720 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26721 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26722 variables.
26723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26724 `commands/help.c'.
26725 (pkgdata_MODULES): Add `help.mod'.
26726 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26727 * grub/i386/pc/init.h (grub_reboot): New prototype.
26728 (grub_halt): Likewise.
26729 * include/grub/normal.h (grub_arg_show_help): New prototype.
26730 (grub_help_init): Likewise.
26731 (grub_help_fini): Likewise.
26732 * util/grub-emu.c (main): Initialize and deinitialize the help
26733 command.
26734
26735 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26736
26737 * normal/command.c (grub_command_init): Fixed the description of
26738 the `set' and `unset' commands.
26739
267402005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 26741
26742 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26743 function.
26744 * commands/ieee1275/halt.c: New file.
26745 * commands/ieee1275/reboot.c: Likewise.
26746 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26747 `__attribute__ ((unused))'. Some GCS related fixed.
26748 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26749 (grub_suspend_fini): Likewise.
26750 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26751 and `halt.mod'.
26752 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26753 (halt_mod_CFLAGS): New variables.
26754 * include/grub/powerpc/ieee1275/ieee1275.h
26755 (grub_ieee1275_interpret): New prototype.
26756
1ab09cc7 267572005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26758
26759 * include/grub/misc.h (memmove): New prototype.
26760 (memcpy): Likewise.
26761
8b8cbdb2 267622005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26763
26764 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26765 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26766
e3741a27 267672005-01-22 Marco Gerards <metgerards@student.han.nl>
26768
26769 * kern/misc.c (grub_strndup): Function rewritten.
26770
776bd780 267712005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26772
26773 * normal/menu.c (TERM_WIDTH): Macro redefined.
26774 (TERM_TOP_BORDER_Y): Likewise.
26775 (draw_border): Replaced while-loop by a for-loop. Make the number
26776 of lines consistent with the number of lines displayed in
26777 print_entries. Added a margin below the rectangle.
26778 (print_entry): Make the entry fit in the rectangle.
26779 (print_entries): Display the scroll arrows next to the right
26780 border.
26781
78026bce 267822005-01-21 Marco Gerards <metgerards@student.han.nl>
26783
26784 * fs/minix.c (grub_minix_find_file): Reserve more space for
26785 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26786 `grub_strncpy' to copy `path' into it.
26787
67bbaf0f 267882005-01-21 Marco Gerards <metgerards@student.han.nl>
26789
26790 Add the loopback device, a device via which files can be accessed
26791 as devices.
f19dbdb7 26792
67bbaf0f 26793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26794 (pkgdata_MODULES): Add loopback.mod.
26795 (loopback_mod_SOURCES): New variable.
26796 (loopback_mod_CFLAGS): Likewise.
26797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26798 `disk/loopback.c'.
26799 (pkgdata_MODULES): Add loopback.mod.
26800 (loopback_mod_SOURCES): New variable.
26801 (loopback_mod_CFLAGS): Likewise.
26802 * disk/loopback.c: new file.
26803 * include/grub/normal.h (grub_loop_init): New prototype.
26804 (grub_loop_fini): New prototype.
26805 * util/grub-emu.c (main): Initialize and de-initialize loopback
26806 support.
26807 * include/grub/disk.h (grub_disk_dev_id): Add
26808 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26809
6f1c18bd 268102005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26811
26812 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26813 function.
26814 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26815 (suspend_mod_SOURCES): New variable.
26816 (suspend_mod_CFLAGS): Likewise.
26817 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26818 New prototype.
26819 * commands/ieee1275/suspend.c: New file.
26820
b38551da 268212005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26822
26823 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 26824 ((unused))' to `__attribute__ ((used))'.
b38551da 26825 (GRUB_MOD_FINI): Likewise.
26826 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26827 * genmk.rb (PModule): Assign space to common symbols when linking
26828 modules.
26829
777aff39 268302005-01-20 Marco Gerards <metgerards@student.han.nl>
26831
26832 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26833 `unsigned' arguments to `grub_size_t'.
26834 (grub_malloc): Likewise.
26835 (grub_realloc): Likewise.
26836 (grub_memalign): Likewise.
26837 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
26838 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26839 * util/misc.c (grub_malloc): Likewise.
26840 (grub_realloc): Likewise.
26841 * kern/mm.c (get_header_from_pointer): Change the casts to
26842 `unsigned' into a cast to `grub_size_t'.
26843
26844 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
26845 point to `currnode' when `currnode' is changed.
26846
26847 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
26848 Schottelius <nico-linux@schottelius.org>.
26849
d0ff18e1 268502005-01-09 Hollis Blanchard <hollis@penguinppc.org>
26851
26852 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
26853 (note_path): Remove variable.
26854 (GRUB_IEEE1275_NOTE_NAME): New macro.
26855 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
26856 (grub_ieee1275_note_hdr): New structure.
26857 (grub_ieee1275_note_desc): Likewise.
26858 (grub_ieee1275_note): Likewise.
26859 (load_note): Remove `dir' argument. All callers updated. Remove
26860 `note_img' and `path'. Do not load a file from `note_path'.
26861 Initialize a struct grub_ieee1275_note and write that to `out'.
26862 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
26863
4ca7004c 268642005-01-05 Marco Gerards <metgerards@student.han.nl>
26865
26866 * util/misc.c (grub_util_read_image): Revert last change. It
26867 called `grub_util_read_at', which seeks from the beginning of the
26868 file.
26869
0b412211 268702005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26871
26872 * TODO: Add note about endianness in grub-mkimage.
26873 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26874 section.
26875 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26876 (grub_mkimage_SOURCES): New target.
26877 * include/grub/kernel.h (grub_start_addr): Remove variable.
26878 (grub_end_addr): Likewise.
26879 (grub_total_module_size): Likewise.
26880 (grub_kernel_image_size): Likewise.
26881 (GRUB_MODULE_MAGIC): New constant.
26882 (grub_module_info): New structure.
26883 (grub_arch_modules_addr): New prototype.
26884 (grub_get_end_addr): Remove prototype.
26885 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26886 * include/grub/powerpc/ieee1275/kernel.h: New file.
26887 * include/grub/util/misc.h (grub_util_get_fp_size): New
26888 prototype.
26889 (grub_util_read_at): Likewise.
26890 (grub_util_write_image_at): Likewise.
26891 * kern/main.c (grub_get_end_addr): Remove function.
26892 (grub_load_modules): Call grub_arch_modules_addr instead of using
26893 grub_end_addr. Look for a grub_module_info struct in memory. Use
26894 the grub_module_info fields instead of calling grub_get_end_addr
26895 as loop conditions. Move grub_add_unused_region code here.
26896 (grub_add_unused_region): Remove function.
26897 * kern/i386/pc/init.c: Include grub/cache.h.
26898 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26899 one call to add_mem_region.
26900 (grub_arch_modules_addr): New function.
26901 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26902 (grub_total_module_size): Likewise.
26903 Include grub/machine/kernel.h.
26904 (grub_arch_modules_addr): New function.
26905 * util/grub-emu.c (grub_end_addr): Remove variable.
26906 (grub_total_module_size): Likewise.
26907 (grub_arch_modules_addr): New function.
26908 * util/misc.c: Include unistd.h.
26909 (grub_util_get_fp_size): New function.
26910 (grub_util_read_at): Likewise.
26911 (grub_util_write_image_at): Likewise.
26912 (grub_util_read_image): Call grub_util_read_at.
26913 (grub_util_write_image): Call grub_util_write_image_at.
26914 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26915 additional memory in kernel_img for a struct grub_module_info.
26916 Fill in that grub_module_info.
26917 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26918
458786f8 269192005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26920
26921 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26922 New function.
26923 * include/grub/powerpc/ieee1275/ieee1275.h
26924 (grub_ieee1275_milliseconds): New prototype.
26925 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26926 Change to 1000.
26927 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26928 grub_ieee1275_milliseconds.
26929
ac507d1b 269302005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26931
26932 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26933 variable.
26934 (find_options): New function.
26935 (cmain): Call find_options.
26936 * include/grub/powerpc/ieee1275/ieee1275.h
26937 (grub_ieee1275_realmode): New extern variable.
26938 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26939 grub_map if grub_ieee1275_realmode is false.
26940
6b8fd1c4 269412004-12-29 Marco Gerards <metgerards@student.han.nl>
26942
26943 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26944 lines are inserted and make it work like readline. Reported by
26945 Vincent Pelletier <subdino2004@yahoo.fr>.
26946
8514a1e0 269472004-12-28 Marco Gerards <metgerards@student.han.nl>
26948
26949 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26950
26951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26952 `kern/powerpc/cache.S'.
26953
924b6140 269542004-12-27 Marco Gerards <metgerards@student.han.nl>
26955
26956 * genmk.rb: Handle the `Program' class in the main loop. Written
26957 by Johan Rydberg <jrydberg@gnu.org>.
26958 (Program): New class.
26959 (programs): New variable.
26960 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26961 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26962 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26963 (help_arch): Function removed.
26964 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26965 `powerpc/libgcc.h' and `loader.h'.
26966 (pkgdata_PROGRAMS): New variable.
26967 (sbin_UTILITIES): Variable removed.
26968 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26969 (grubof_SOURCES): Variable re-defined so it only includes the
26970 core functionality.
26971 (grubof_CFLAGS): Remove `-DGRUBOF'.
26972 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26973 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26974 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26975 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26976 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26977 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26978 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26979 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26980 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26981 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26982 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26983 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26984 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26985 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26986 (pc_mod_CFLAGS): New variables.
26987 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26988 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26989 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26990 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26991 Moved from here...
26992 * include/grub/i386/pc/init.h (grub_os_area_addr)
26993 (rub_os_area_size): ... to here.
26994 * include/grub/powerpc/ieee1275/ieee1275.h
26995 (grub_ieee1275_entry_fn): Export symbol.
26996 * include/grub/powerpc/ieee1275/init.h: New file.
26997 * include/grub/powerpc/libgcc.h: Likewise.
26998 * include/grub/cache.h: Likewise.
26999 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27000 <hollis@penguinppc.org>.
27001 * kern/dl.c: Include <grub/cache.h>.
27002 (grub_dl_flush_cache): New function.
27003 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27004 for this module.
27005 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27006 (grub_console_init): Removed prototypes.
27007 (grub_machine_init): Don't initialize the modules anymore.
27008 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27009 static.
27010 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27011 Macro undef removed.
27012 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27013 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27014 relocation `R_PPC_REL32'. Return an error when the relocation is
27015 unknown.
27016 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27017 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27018 * util/misc.c (grub_arch_sync_caches): Likewise.
27019
e4b47e0c 270202004-12-19 Marco Gerards <metgerards@student.han.nl>
27021
27022 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27023 `symlist.c', add `grubof_symlist.c'.
27024 (symlist.c): Variable removed.
27025 (grubof_HEADERS): Variable added.
27026 (grubof_symlist.c): New target.
27027 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27028 `kernel_img_HEADERS'.
27029 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27030 * kern/powerpc/dl.c: New file.
27031 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27032 Function removed.
27033 (grub_arch_dl_relocate_symbols): Likewise.
27034 (grub_register_exported_symbols): Likewise.
27035
4ceb3636 270362004-12-13 Marco Gerards <metgerards@student.han.nl>
27037
27038 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27039 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27040 to fail instead. Reported by Vincent Pelletier
27041 <subdino2004@yahoo.fr>.
27042
27043 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27044 it is not allocated. Reported by Vincent Pelletier
27045 <subdino2004@yahoo.fr>.
27046
27047 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27048 output so the output looks better.
f19dbdb7 27049
3f1578fe 270502004-12-04 Marco Gerards <metgerards@student.han.nl>
27051
27052 Modulize the partition map support and add support for the amiga
27053 partition map.
f19dbdb7 27054
3f1578fe 27055 * commands/ls.c: Include <grub/partition.h> instead of
27056 <grub/machine/partition.h>.
27057 * kern/disk.c: Likewise.
27058 * kern/rescue.c: Likewise.
27059 * loader/i386/pc/chainloader.c: Likewise.
27060 * normal/cmdline.c: Likewise.
27061 * kern/powerpc/ieee1275/init.c: Likewise.
27062 (grub_machine_init): Call `grub_pc_partition_map_init',
27063 `grub_amiga_partition_map_init' and
27064 `grub_apple_partition_map_init'.
27065 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27066 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27067 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27068 `partition.h' and `pc_partition.h'.
27069 (grub_setup_SOURCES): Remove
27070 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27071 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27072 (grub_emu_SOURCES): Likewise.
27073 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27074 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27075 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27077 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27078 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27079 (grubof_SOURCES): Likewise.
27080 * disk/i386/pc/partition.c: File removed.
27081 * disk/powerpc/ieee1275/partition.c: Likewise.
27082 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27083 * include/grub/i386/pc/partition.h: Likewise.
27084 * kern/partition.c: New file.
27085 * partmap/amiga.c: Likewise.
27086 * partmap/apple.c: Likewise.
27087 * partmap/pc.c: Likewise.
27088 * include/grub/partition.h: Likewise..
27089 * include/grub/pc_partition.h: Likewise.
27090 * util/grub-emu.c: Include <grub/partition.h> instead of
27091 <grub/machine/partition.h>.
27092 (main): Call `grub_pc_partition_map_init',
27093 `grub_amiga_partition_map_init' and
27094 `grub_apple_partition_map_init' and deinitialize afterwards.
27095 * util/i386/pc/biosdisk.c: Include `#include
27096 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27097 `<grub/machine/partition.h>'.
27098 * util/i386/pc/grub-setup.c: Likewise.
27099 * util/i386/pc/biosdisk.c: Likewise.
27100 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27101 partition information in case of a PC partition.
27102 * util/i386/pc/grub-setup.c: Include `#include
27103 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27104 `<grub/machine/partition.h>'.
27105 (setup): Only access the PC specific partition information in case
27106 of a PC partition.
27107
0ef4ced9 271082004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 27109
0ef4ced9 27110 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27111 (grub_longjmp): Likewise.
27112 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27113 20.
27114 * normal/powerpc/setjmp.S: New file.
27115 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27116 `normal/powerpc/setjmp.S'.
27117 (grubof_CFLAGS): Add `-DGRUBOF'.
27118 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27119 [GRUB_UTIL && !GRUBOF].
f19dbdb7 27120
19950e29 271212004-11-16 Marco Gerards <metgerards@student.han.nl>
27122
27123 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27124 property named `name'. Correctly handle the error returned by
27125 `grub_ieee1275_finddevice' if a device can not be opened.
27126
a2fea427 271272004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27128
27129 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27130 `actual' for negativity.
27131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27132 kern/fshelp.c.
27133
41ea0ea3 271342004-11-01 Marco Gerards <metgerards@student.han.nl>
27135
27136 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27137 (PAGE_OFFSET): New macro.
27138 (CRTC_ADDR_PORT): Likewise.
27139 (CRTC_DATA_PORT): Likewise.
27140 (START_ADDR_HIGH_REGISTER): Likewise.
27141 (START_ADDR_LOW_REGISTER): Likewise.
27142 (GRAPHICS_ADDR_PORT): Likewise.
27143 (GRAPHICS_DATA_PORT): Likewise.
27144 (READ_MAP_REGISTER): Likewise.
27145 (INPUT_STATUS1_REGISTER): Likewise.
27146 (INPUT_STATUS1_VERTR_BIT): Likewise.
27147 (page): New variable.
27148 (wait_vretrace): New function.
27149 (set_read_map): Likewise.
27150 (set_start_address): Likewise.
27151 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27152 the right page.
27153 (check_vga_mem): Take the page into account.
27154 (write_char): Likewise.
27155 (write_cursor): Likewise.
27156 (scroll_up): Likewise. Copy the page to the page that is not
27157 shown and switch between both pages.
27158 (grub_vga_putchar): Fix off by one error.
27159 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27160 account.
27161
ad0bd20b 271622004-11-01 Marco Gerards <metgerards@student.han.nl>
27163
27164 Add support for iso9660 (including rockridge).
f19dbdb7 27165
ad0bd20b 27166 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27167 (iso9660_mod_SOURCES): New variable.
27168 (iso9660_mod_CFLAGS): Likewise.
27169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27170 * include/grub/fs.h (grub_iso9660_init): New prototype.
27171 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27172 * fs/iso9660.c: New file.
27173
27174 * include/grub/misc.h (grub_strncat): New prototype.
27175 * kern/misc.c (grub_strncat): New function.
f19dbdb7 27176
ad0bd20b 27177 * fs/hfs.c (grub_hfs_mount): Translate the error
27178 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27179 * fs/jfs.c (grub_jfs_mount): Likewise.
27180 * fs/ufs.c (grub_ufs_mount): Likewise.
27181
a5477a59 271822004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27183
27184 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27185 which initialized BAT registers.
27186 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27187 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27188 Move from here...
27189 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27190 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27191 ... to here.
27192 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27193 (grub_mapclaim): Likewise.
27194 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27195 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27196 hand.
27197
9304c1f8 271982004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27199
27200 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27201 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27202 -ffreestanding and -msoft-float.
27203
86f4ae25 272042004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27205
27206 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27207 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27208 set in grub_ieee1275_flags.
27209
38912228 272102004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27211
27212 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27213 prototype.
27214 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27215 grub_console_init first.
27216 Change the memory range used for grub_ieee1275_claim and
27217 grub_mm_init_region.
27218 Print an error message if the claim fails.
27219 Include <grub/misc.h>.
27220
d1923dc8 272212004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27222
27223 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27224 Call grub_children_iterate for device nodes of type `scsi',
27225 `ide', or `ata'.
27226 (grub_ofdisk_open): Remove manual device alias resolution.
27227 Fix memory leak when device cannot be opened.
f19dbdb7 27228 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 27229 (grub_children_iterate): New prototype.
27230 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27231 New function.
27232 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27233 Return -1 if args.size was -1.
27234
4512e4f3 272352004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27236
27237 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27238 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27239 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27240 Open Firmware's memory for it; claim memory from _start to _end.
27241 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27242 (_end): New extern.
27243 (_start): Zero BSS from __bss_start to _end.
27244 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27245 New extern.
27246 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27247
4d61feb0 272482004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27249
ad0bd20b 27250 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27251 -1 if args.base was -1.
4d61feb0 27252
026fa2f9 272532004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27254
27255 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27256 escape sequence instead of a literal ^L. Also call
27257 grub_ofconsole_gotoxy.
27258
9f2220ef 272592004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27260
27261 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27262 void * arguments to grub_addr_t. All callers updated. Also make
27263 the `result' argument optional.
27264 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27265 All callers updated.
27266
8a572cd7 272672004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27268
27269 * commands/ls.c (grub_ls_list_files): Use the string following the
27270 initial ')', if present, as the filesystem path.
27271 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27272
27273 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27274
18aa81f2 272752004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27276
27277 Make the source code of the menu interface more readable.
f19dbdb7 27278
18aa81f2 27279 * normal/menu.c: Include grub/mm.h.
27280 (TERM_WIDTH): New macro.
27281 (TERM_HEIGHT): Likewise.
27282 (TERM_INFO_HEIGHT): Likewise.
27283 (TERM_MARGIN): Likewise.
27284 (TERM_SCROLL_WIDTH): Likewise.
27285 (TERM_TOP_BORDER_Y): Likewise.
27286 (TERM_LEFT_BORDER_X): Likewise.
27287 (TERM_BORDER_WIDTH): Likewise.
27288 (TERM_MESSAGE_HEIGHT): Likewise.
27289 (TERM_BORDER_HEIGHT): Likewise.
27290 (TERM_NUM_ENTRIES): Likewise.
27291 (TERM_FIRST_ENTRY_Y): Likewise.
27292 (TERM_ENTRY_WIDTH): Likewise.
27293 (TERM_CURSOR_X): Likewise.
27294 (draw_border): Use macros instead of magic numbers.
27295 (print_entry): Likewise.
27296 (print_entries): Likewise.
27297 (run_menu): Likewise. Also, handle the key 'e'.
27298 (run_menu_entry): Ignore empty command lines.
27299 (print_message): Added a new argument EDIT. If EDIT is true,
27300 print a different message.
27301 (init_page): Likewise.
27302 (edit_menu_entry): New function. Not implemented yet.
27303
b47efe30 273042004-09-17 Marco Gerards <metgerards@student.han.nl>
27305
27306 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27307 can be loaded from normal mode.
f19dbdb7 27308
b47efe30 27309 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27310 `multiboot.mod'.
27311 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27312 (multiboot_mod_CFLAGS): New variables.
27313 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 27314 * loader/i386/pc/multiboot_normal.c: Likewise.
27315
b47efe30 27316 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27317 attribute `unused'.
f19dbdb7 27318
b47efe30 27319 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27320 `fdiro' to read the mode information from instead of `diro'.
27321
27322 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27323 looking up a symlink.
27324
27325 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27326 macro.
27327 * normal/command.c (grub_command_execute): Don't parse the
27328 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27329 flags of the command.
27330
27331 * normal/menu.c (grub_menu_run): Fix typo.
27332
da75ac71 273332004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27334
27335 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27336
27337 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27338 `y + 1' instead of `y - 1'.
27339
27340 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 27341
062b24c2 273422004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27343
27344 From Hollis Blanchard <hollis@penguinppc.org>:
27345 * kern/misc.c (memmove): New alias for grub_memmove.
27346 (memcmp): New alias for grub_memcmp.
27347 (memset): New alias for grub_memset.
f19dbdb7 27348 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 27349 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 27350 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 27351 (grub_ieee1275_get_property): Likewise.
f19dbdb7 27352
8ddad845 273532004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27354
27355 Added normal mode command `chainloader' as module chain.mod, which
27356 depends on normal.mod and _chain.mod.
f19dbdb7 27357
8ddad845 27358 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27359 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27360 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27361 Deleted prototype.
27362 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27363 but arguments parsing moved to ...
27364 (grub_chainloader_cmd): ... here. New function.
27365 * include/grub/i386/pc/chainloader.h: New file.
27366 * loader/i386/pc/chainloader_normal.c: Likewise.
27367
2c1f4ce3 273682004-09-11 Marco Gerards <metgerards@student.han.nl>
27369
27370 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27371 (grub_mkimage_LDFLAGS): Likewise.
27372 (grub_emu_SOURCES): Likewise.
27373 (kernel_img_HEADERS): Added fshelp.h.
27374 * fs/ext2.c: Include <grub/fshelp.h>.
27375 (FILETYPE_REG): New macro.
27376 (FILETYPE_INO_REG): Likewise.
27377 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27378 Changed all users.
27379 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27380 all users.
27381 (grub_fshelp_node): New struct.
27382 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27383 to a pointer.
27384 (grub_ext2_get_file_block): Removed function.
27385 (grub_ext2_read_block): New function.
27386 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27387 This function was written.
27388 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27389 (grub_ext2_find_file): Removed function.
27390 (grub_ext2_read_symlink): New function.
27391 (grub_ext2_iterate_dir): Likewise.
27392 (grub_ext2_open): Rewritten.
27393 (grub_ext2_dir): Rewritten.
27394 * include/grub/fshelp.h: New file.
27395 * fs/fshelp.c: Likewise.
27396
3c52136a 273972004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27398
27399 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27400 (print_message): Add a missing newline.
27401 (run_menu): Added timeout support.
27402 (run_menu_entry): New local function.
27403 (grub_menu_run): Added support for booting.
27404
27405 * kern/loader.c (grub_loader_is_loaded): New function.
27406
27407 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27408 (grub_get_rtc): Exported.
27409
27410 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27411 (grub_get_rtc): Exported.
27412
27413 * include/grub/normal.h (struct grub_command_list): Remove
27414 constant from the member `command'.
27415
27416 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27417
27418 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27419
27420 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27421
aa033560 274222004-08-28 Marco Gerards <metgerards@student.han.nl>
27423
27424 Add support for the JFS filesystem.
27425
27426 * fs/jfs.c: New file.
27427 * include/grub/fs.h (grub_jfs_init): New prototype.
27428 (grub_jfs_fini): New prototype.
27429 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27430 (grub_emu_SOURCES): Likewise.
27431 (pkgdata_MODULES): Add jfs.mod.
27432 (jfs_mod_SOURCES): New variable.
27433 (jfs_mod_CFLAGS): Likewise.
27434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27435 (grubof_SOURCES): Likewise.
27436 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27437
27438 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27439 endian to the host endian.
27440 (grub_fat_utf16_to_utf8): Move function from there...
27441 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 27442 the endianness of the source string anymore.
aa033560 27443 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27444
94bc45af 274452004-08-24 Marco Gerards <metgerards@student.han.nl>
27446
27447 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27448 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27449 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27450 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 27451
94bc45af 27452 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27453 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27454 for `node_found' and `it_dir'.
27455 (grub_hfs_dir): Add prototype for `dir_hook'.
27456
27457 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27458 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27459 and `indir32' to silence a gcc warning.
27460
27461 * include/grub/fs.h (grub_hfs_init): New prototype.
27462 (grub_hfs_fini): Likewise.
f19dbdb7 27463
27464
97543f08 274652004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27466
27467 Each disk device has its own id now. This is useful to make use
27468 of multiple disk devices.
f19dbdb7 27469
97543f08 27470 * include/grub/disk.h (grub_disk_dev_id): New enum.
27471 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27472 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27473
27474 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27475 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27476
27477 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27478 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27479
27480 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27481 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27482
27483 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27484 "id" which is used by the cache manager.
27485
27486 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27487 of just "GRUB".
27488
64372eb4 274892004-08-18 Marco Gerards <metgerards@student.han.nl>
27490
27491 * fs/hfs.c: New file.
27492 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27493 (grub_emu_SOURCES): Likewise.
27494 (pkgdata_MODULES): Add hfs.mod.
27495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27496 (grubof_SOURCES): Likewise.
27497 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27498
27499 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27500 * kern/misc.c (grub_strncasecmp): Add function.
27501
cc61b58f 275022004-08-14 Marco Gerards <metgerards@student.han.nl>
27503
27504 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27505 with parentheses.
27506
27507 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27508 (grub_ext2_dir): In case the directory entry type is unknown, read
27509 it from the inode.
27510
0ef123f6 275112004-08-02 Peter Bruin <pjbruin@dds.nl>
27512
27513 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27514 grub_load_linux instead of grub_rescue_cmd_linux as second
27515 argument of grub_rescue_register_command.
27516
27517 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27518
a447c5df 275192004-07-27 Marco Gerards <metgerards@student.han.nl>
27520
27521 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27522 function.
27523 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27524 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27525 `loader/powerpc/ieee1275/linux.c',
27526 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27527 * include/grub/powerpc/ieee1275/ieee1275.h
27528 (grub_ieee1275_release): New prototype.
27529 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27530 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27531 normal, boot, linux and linux_normal.
27532 * loader/powerpc/ieee1275/linux.c: New file.
27533 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27534
5a9e3546 275352004-07-12 Marco Gerards <metgerards@student.han.nl>
27536
27537 * normal/arg.c (grub_arg_parse): Correct error handling after
27538 reallocating the argumentlist (check if `argl' is not null instead
27539 of checking if `args' is not null).
27540 * kern/mm.c (grub_realloc): Return the same pointer when using the
27541 same region, instead of returning the header address.
27542
e15199cb 275432004-07-11 Marco Gerards <metgerards@student.han.nl>
27544
27545 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27546 one block instead of two when looking for the initial partition.
27547 (grub_partition_probe): Initialize the local variable `p' with 0.
27548 Use base 10 for the grub_strtoul call.
27549 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27550 need for one local variable.
27551 (grub_strtoul): Don't add the new value to `num', instead of that
27552 just assign it.
27553
020616c2 275542004-07-11 Marco Gerards <metgerards@student.han.nl>
27555
27556 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27557 (pxeboot_img_SOURCES): New variable.
27558 (pxeboot_img_ASFLAGS): Likewise.
27559 (pxeboot_img_LDFLAGS): Likewise.
27560 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27561 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27562 <lode_leroy@hotmail.com>.
27563
6c51eb64 275642004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27565
27566 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27567 there was no input.
27568
cfb12aff 275692004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27570
27571 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27572 the history buffer logic.
27573
6eabba74 275742004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27575
27576 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27577 (FILETYPE_INO_SYMLINK): New macros.
27578 (grub_ext2_find_file): Check if the node is a directory using the
27579 inode stat information instead of using the filetype in the
27580 dirent. Exclude the first character of an absolute symlink.
27581 (grub_ext2_dir): Mask out the filetype part of the mode member of
27582 the inode.
27583
66e19ef8 275842004-05-24 Marco Gerards <metgerards@student.han.nl>
27585
27586 Add support for UFS version 1 and 2. Add support for the minix
27587 filesystem version 1 and 2, both the variants with 14 and 30 long
27588 filenames.
f19dbdb7 27589
66e19ef8 27590 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27591 fs/minix.c.
27592 (grub_emu_SOURCES): Likewise.
27593 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27594 (ufs_mod_SOURCES): New variable.
27595 (ufs_mod_CFLAGS): Likewise.
27596 (minix_mod_SOURCES): Likewise.
27597 (minix_mod_CFLAGS): Likewise.
27598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27599 fs/minix.c.
27600 (grubof_SOURCES): Likewise.
27601 * fs/ufs.c: New file.
27602 * fs/minix.c: New file.
27603 * include/grub/fs.h (grub_ufs_init): New prototype.
27604 (grub_ufs_fini): Likewise.
27605 (grub_minix_init): Likewise.
27606 (grub_minix_fini): Likewise.
27607 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27608 minix fs.
27609
cc2e748a 276102004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27611
27612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27613 commands/ls.c, commands/terminal.c, commands/boot.c,
27614 commands/cmp.c and commands/cat.c.
27615 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27616
27617 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27618 "env.h"
27619
4b13b216 276202004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27621
27622 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27623 and grub_, respectively. Because the conversion is trivial and
27624 mechanical, I omit the details here. Please refer to the CVS
27625 if you need more information.
27626
6a142551 276272004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27628
27629 * include/pupa: Renamed to ...
27630 * include/grub: ... this.
27631 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27632 * util/i386/pc/grub-mkimage.c: ... this.
27633 * util/i386/pc/pupa-setup.c: Renamed to ...
27634 * util/i386/pc/grub-setup.c: ... this.
27635 * util/pupa-emu.c: Renamed to ...
27636 * util/grub-emu.c: ... this.
27637
e56cdf21 276382004-03-29 Marco Gerards <metgerards@student.han.nl>
27639
27640 Add support for the newworld apple macintosh (PPC). This has been
27641 tested on the powerbook 2000 only. It only adds support for
27642 generic ieee1275 functions, console and disk support. This should
27643 be easy to port to other architectures with support for Open
27644 Firmware.
f19dbdb7 27645
e56cdf21 27646 * configure.ac: Accept the powerpc as host_cpu. In the case of
27647 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27648 specific tests are only executed while building for the i386.
27649 Inverse test for crosscompile.
27650 * genmk.rb (Utility): Allow assembler files.
27651 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27652 * conf/powerpc-ieee1275.rmk: New file.
27653 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27654 * disk/powerpc/ieee1275/partition.c: Likewise.
27655 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27656 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27657 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27658 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27659 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27660 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27661 * include/pupa/powerpc/ieee1275/loader.h
27662 * include/pupa/powerpc/setjmp.h: Likewise.
27663 * include/pupa/powerpc/types.h: Likewise.
27664 * kern/powerpc/ieee1275/init.c: Likewise.
27665 * kern/powerpc/ieee1275/openfw.c: Likewise.
27666 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27667
27668 These files were written by Johan Rydberg
27669 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 27670
e56cdf21 27671 * boot/powerpc/ieee1275/cmain.c: New file.
27672 * boot/powerpc/ieee1275/crt0.S: Likewise.
27673 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27674 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27675
8c8cc205 276762004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27677
27678 * Makefile.in: Update copyright.
27679 * genmodsrc.sh: Likewise.
27680 * gensymlist.sh: Likewise.
27681 * term/i386/pc/vga.c: Indent correctly.
27682
27683 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27684 bugreporting address.
27685 * util/i386/pc/pupa-setup.c (usage): Likewise,
27686 (main): Call pupa_ext2_init and pupa_ext2_fini.
27687
f19dbdb7 27688 * fs/fat.c (log2): Renamed to ...
8c8cc205 27689 (fat_log2): ... this.
27690 All callers changed.
27691 * kern/misc.c (memcpy): Alias to pupa_memmove.
27692 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27693 lvalue cast.
27694 * util/console.c (pupa_ncurses_fini): Return 0.
27695
27696 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27697 Move fail label here.
27698 [__GNU__]: Don't warn when using stat.
27699 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27700 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27701 long int. Use strtol instead of strtoul.
f19dbdb7 27702
db1771cf 277032004-03-14 Marco Gerards <metgerards@student.han.nl>
27704
27705 * commands/boot.c: New file.
27706 * commands/cat.c: Likewise.
27707 * commands/cmp.c: Likewise.
27708 * commands/ls.c: Likewise.
27709 * commands/terminal.c: Likewise.
27710 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27711 (pupa_register_command): Changed interface to match the new
27712 argument parser.
27713 (pupa_command_execute): Changed (almost rewritten) so it uses
27714 pupa_split_command. Added support for setting variables using the
27715 syntax `foo=bar'.
27716 (rescue_command): Changed to work with the new argument parser.
27717 (terminal_command): Moved from here to commands/terminal.c.
27718 (set_command): New function.
27719 (unset_command): New function.
27720 (insmod_command): New function.
27721 (rmmod_command): New function.
27722 (lsmod_command): New function.
27723 (pupa_command_init): Don't initialize the command terminal
27724 anymore. Initialize the commands set, unset, insmod, rmmod and
27725 lsmod.
27726 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27727 (kernel_img_HEADERS): Add arg.h and env.h.
27728 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27729 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27730 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27731 normal/arg.c.
27732 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27733 terminal.mod.
27734 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27735 (boot_mod_SOURCES): New variable.
27736 (terminal_mod_SOURCES): Likewise.
27737 (ls_mod_SOURCES): Likewise.
27738 (cmp_mod_SOURCES): Likewise.
27739 (cat_mod_SOURCES): Likewise.
27740
27741 * normal/arg.c: New file.
27742 * kern/env.c: Likewise.
27743 * include/pupa/arg.h: Likewise.
27744 * include/pupa/env.h: Likewise.
27745 * font/manager.c (font_command): Changed to match argument parsing
27746 interface changes.
27747 (PUPA_MOD_INIT): Likewise.
27748 * hello/hello.c (pupa_cmd_hello): Likewise.
27749 (PUPA_MOD_INIT): Likewise.
27750 * include/pupa/disk.h: Include <pupa/device.h>.
27751 (pupa_print_partinfo): New prototype.
27752 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27753 (pupa_dl_get_prefix): Likewise.
27754 * include/pupa/misc.h: Include <pupa/err.h>.
27755 (pupa_isgraph): New prototype.
27756 (pupa_isdigit): Likewise.
27757 (pupa_split_cmdline): Likewise.
27758 * include/pupa/normal.h: Include <pupa/arg.h>.
27759 (pupa_command): Changed the prototype of the member `func' to
27760 match the argument parsing interface. Added member `options'.
27761 (pupa_register_command): Updated to match function.
27762 (pupa_arg_parse): New prototype.
27763 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27764 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27765 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27766 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27767 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27768 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27769 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27770 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27771 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27772 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27773 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27774 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27775 * kern/disk.c: Include <pupa/file.h>.
27776 (pupa_print_partinfo): New function.
27777 * kern/dl.c: Include <pupa/env.h>.
27778 (pupa_dl_dir): Variable removed.
27779 (pupa_dl_load): Use the environment variable `prefix' instead of
27780 the variable pupa_dl_dir.
27781 (pupa_dl_set_prefix): Function removed.
27782 (pupa_dl_get_prefix): Likewise.
27783 * kern/i386/pc/init.c: Include <pupa/env.h>.
27784 (pupa_machine_init): Use the environment variable `prefix' instead of
27785 using pupa_dl_set_prefix to set the prefix.
27786 * kern/main.c: Include <pupa/env.h>.
27787 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27788 using pupa_dl_get_prefix to get the prefix.
27789 * kern/misc.c: Include <pupa/env.h>.
27790 (pupa_isdigit): New function.
27791 (pupa_isgraph): Likewise.
27792 (pupa_ftoa): Likewise.
27793 (pupa_vsprintf): Added support for printing values of the type
27794 `double'. Make it possible to format variable output when using
27795 formatting like `%1.2%f'.
27796 (pupa_split_cmdline): New function.
27797 * kern/rescue.c: Include <pupa/env.h>.
27798 (next_word): Removed function.
27799 (pupa_rescue_cmd_prefix): Likewise.
27800 (pupa_rescue_cmd_set): New function.
27801 (pupa_rescue_cmd_unset): New function.
27802 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27803 split the command line instead of splitting it here. Added
27804 support for setting variables using the syntax `foo=bar'. Don't
27805 initialize the prefix command anymore. Initialized the set and
27806 unset commands.
27807 * normal/cmdline.c: Include <pupa/env.h>.
27808 (pupa_tab_complete): Added prototypes for print_simple_completion,
27809 print_partition_completion, add_completion, iterate_commands,
27810 iterate_dev, iterate_part and iterate_dir. Moved code to print
27811 partition information from here to kern/disk.c.
fe6b695a 27812 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 27813 * normal/main.c: Include <pupa/env.h>.
27814 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27815 instead of using pupa_dl_get_prefix to get the prefix.
27816 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27817 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27818 warning.
27819 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27820 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27821 ((unused))' to silence a gcc warning.
27822 (pupa_vga_setcolor): Likewise.
27823 (debug_command): Changed to match argument parsing
27824 interface changes.
27825 * util/pupa-emu.c: Include <pupa/env.h>.
27826 (options): Added 0's for unused fields to silence a gcc warning.
27827 (argp): Likewise.
27828 (main): Use the environment variable `prefix' instead of using
27829 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27830 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27831 and terminal.
27832
27833 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27834 * util/misc.c: Include <malloc.h>.
27835 (pupa_malloc): Rewritten so errors are correctly reported.
27836 (pupa_realloc): Likewise.
27837 (pupa_memalign): Likewise.
27838 (pupa_mm_init_region): Declare unused variables with
27839 `__attribute__ ((unused))' to silence a gcc warning.
27840 * normal/i386/setjmp.S: Remove tab at the end of the file to
27841 silence a gcc warning.
27842 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
27843 variables with `__attribute__ ((unused))' to silence a gcc
27844 warning.
27845 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
27846 local variable i unsigned to silence a gcc warning.
27847
27848 * kern/term.c: Include <pupa/misc.h>.
27849 (pupa_more_lines): New variable.
27850 (pupa_more): Likewise.
27851 (pupa_putcode): When the pager is active pause at the end of every
27852 screen.
27853 (pupa_set_more): New function.
27854 * include/pupa/term.h (pupa_set_more): New prototype.
27855
27856
3b1139cb 278572004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
27858
27859 Now this project is GRUB 2 rather than PUPA. The location of
27860 the CVS repository was moved to GRUB's.
f19dbdb7 27861
3b1139cb 27862 * configure.ac: Use bug-grub as the reporting address.
27863 Use GRUB instead of PUPA.
27864 Change the version number to 1.90.
27865
8367695c 278662004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
27867
27868 * genkernsyms.sh: Updated copyright information.
27869 * genmk.rb: Likewise.
27870 * genmodsrc.sh: Likewise.
27871 * gensymlist.sh: Likewise.
27872 * boot/i386/pc/boot.S: Likewise.
27873 * boot/i386/pc/diskboot.S: Likewise.
27874 * disk/i386/pc/biosdisk.c: Likewise.
27875 * disk/i386/pc/partition.c: Likewise.
27876 * font/manager.c: Likewise.
27877 * fs/ext2.c: Likewise.
27878 * fs/fat.c: Likewise.
27879 * include/pupa/boot.h: Likewise.
27880 * include/pupa/device.h: Likewise.
27881 * include/pupa/disk.h: Likewise.
27882 * include/pupa/dl.h: Likewise.
27883 * include/pupa/elf.h: Likewise.
27884 * include/pupa/err.h: Likewise.
27885 * include/pupa/file.h: Likewise.
27886 * include/pupa/font.h: Likewise.
27887 * include/pupa/fs.h: Likewise.
27888 * include/pupa/kernel.h: Likewise.
27889 * include/pupa/loader.h: Likewise.
27890 * include/pupa/misc.h: Likewise.
27891 * include/pupa/mm.h: Likewise.
27892 * include/pupa/net.h: Likewise.
27893 * include/pupa/normal.h: Likewise.
27894 * include/pupa/rescue.h: Likewise.
27895 * include/pupa/setjmp.h: Likewise.
27896 * include/pupa/symbol.h: Likewise.
27897 * include/pupa/term.h: Likewise.
27898 * include/pupa/types.h: Likewise.
27899 * include/pupa/i386/setjmp.h: Likewise.
27900 * include/pupa/i386/types.h: Likewise.
27901 * include/pupa/i386/pc/biosdisk.h: Likewise.
27902 * include/pupa/i386/pc/boot.h: Likewise.
27903 * include/pupa/i386/pc/console.h: Likewise.
27904 * include/pupa/i386/pc/init.h: Likewise.
27905 * include/pupa/i386/pc/kernel.h: Likewise.
27906 * include/pupa/i386/pc/linux.h: Likewise.
27907 * include/pupa/i386/pc/loader.h: Likewise.
27908 * include/pupa/i386/pc/memory.h: Likewise.
27909 * include/pupa/i386/pc/multiboot.h: Likewise.
27910 * include/pupa/i386/pc/partition.h: Likewise.
27911 * include/pupa/i386/pc/time.h: Likewise.
27912 * include/pupa/i386/pc/vga.h: Likewise.
27913 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27914 * include/pupa/util/getroot.h: Likewise.
27915 * include/pupa/util/misc.h: Likewise.
27916 * include/pupa/util/resolve.h: Likewise.
27917 * kern/device.c: Likewise.
27918 * kern/disk.c: Likewise.
27919 * kern/dl.c: Likewise.
27920 * kern/err.c: Likewise.
27921 * kern/file.c: Likewise.
27922 * kern/fs.c: Likewise.
27923 * kern/loader.c: Likewise.
27924 * kern/main.c: Likewise.
27925 * kern/misc.c: Likewise.
27926 * kern/mm.c: Likewise.
27927 * kern/rescue.c: Likewise.
27928 * kern/term.c: Likewise.
27929 * kern/i386/dl.c: Likewise.
27930 * kern/i386/pc/init.c: Likewise.
27931 * kern/i386/pc/lzo1x.S: Likewise.
27932 * kern/i386/pc/startup.S: Likewise.
27933 * loader/i386/pc/chainloader.c: Likewise.
27934 * loader/i386/pc/linux.c: Likewise.
27935 * loader/i386/pc/multiboot.c: Likewise.
27936 * normal/cmdline.c: Likewise.
27937 * normal/command.c: Likewise.
27938 * normal/main.c: Likewise.
27939 * normal/menu.c: Likewise.
27940 * normal/i386/setjmp.S: Likewise.
27941 * term/i386/pc/console.c: Likewise.
27942 * term/i386/pc/vga.c: Likewise.
27943 * util/console.c: Likewise.
27944 * util/genmoddep.c: Likewise.
27945 * util/misc.c: Likewise.
27946 * util/pupa-emu.c: Likewise.
27947 * util/resolve.c: Likewise.
27948 * util/unifont2pff.rb: Likewise.
27949 * util/i386/pc/biosdisk.c: Likewise.
27950 * util/i386/pc/getroot.c: Likewise.
27951 * util/i386/pc/pupa-mkimage.c: Likewise.
27952 * util/i386/pc/pupa-setup.c: Likewise.
27953
e6eced71 279542004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27955
27956 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27957 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27958 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27959 reading and reset it after reading.
27960 (pupa_ext2_close): Return PUPA_ERR_NONE.
27961
27962 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27963 Correct value.
27964 (struct linux_kernel_header): Add kernel_version and
27965 initrd_addr_max.
27966 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27967 pupa_file_read succeeds.
27968 (pupa_rescue_cmd_initrd): Implement.
27969
5aded270 279702003-12-03 Marco Gerards <metgerards@student.han.nl>
27971
27972 * fs/ext2.c (pupa_ext2_label): New function.
27973 (pupa_ext2_fs): Added label.
27974 * fs/fat.c (pupa_fat_label): New function.
27975 (pupa_fat_fs): Added label.
27976 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27977
27978 * kern/misc.c (pupa_strndup): New function.
27979 * include/pupa/misc.h (pupa_strndup): New prototype.
27980
27981 * include/pupa/normal.h: Include <pupa/err.h>.
27982 (pupa_set_history): New prototype.
27983 (pupa_iterate_commands): New prototype.
27984 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27985 <pupa/disk.h>, <pupa/file.h>.
27986 (hist_size): New variable.
27987 (hist_lines): Likewise.
27988 (hist_end): Likewise.
27989 (hist_used): Likewise.
27990 (pupa_set_history): New function.
27991 (pupa_history_get): Likewise.
27992 (pupa_history_add): Likewise.
27993 (pupa_history_replace): Likewise.
27994 (pupa_tab_complete): Likewise.
27995 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27996 completion shows partitionnames while completing partitions, this
27997 feature was suggested by Jeff Bailey.
27998 * normal/command.c (pupa_iterate_commands): New function.
27999 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28000 (pupa_normal_init): Initialize history buffer.
28001 (PUPA_MOD_INIT): Likewise.
28002 (pupa_normal_fini): Free the history buffer.
28003 (PUPA_MOD_FINI): Likewise.
28004
28005 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28006 key.
28007
28008 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28009 * configure.ac [i386]: Check for regparam bug.
28010 (NESTED_FUNC_ATTR) [! i386]: Defined.
28011
1f7315a3 280122003-11-17 Marco Gerards <metgerards@student.han.nl>
28013
28014 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28015 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28016 (pupa_emu_SOURCES): New variable.
28017 (pupa_emu_LDFLAGS): Likewise.
28018 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28019 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28020 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28021 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28022 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28023 (pupa_jmp_buf): New typedef.
28024 (pupa_setjmp) [PUPA_UTIL]: New macro.
28025 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28026 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28027 (pupa_refresh): New prototype.
28028 * include/pupa/util/getroot.h: New file.
28029 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28030 it.
28031 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28032 (pupa_rescue_cmd_cat): Likewise.
28033 (pupa_rescue_cmd_ls): Likewise.
28034 (pupa_rescue_cmd_testload): Likewise.
28035 (pupa_rescue_cmd_lsmod): Likewise.
28036 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28037 * normal/menu.c (run_menu): Likewise.
28038 * kern/term.c (pupa_cls): Likewise.
28039 (pupa_refresh): New function.
28040 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28041 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28042 * util/console.c: New file.
f19dbdb7 28043
1f7315a3 28044 * util/i386/pc/getroot.c: New file.
28045 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28046 (pupa_putchar): New function.
28047 (pupa_refresh): Likewise.
28048 (xgetcwd): Function moved to ...
28049 (strip_extra_slashes): Likewise.
28050 (get_prefix): Likewise.
f19dbdb7 28051 * util/i386/pc/getroot.c: ... here.
1f7315a3 28052 (find_root_device): Function moved and renamed to...
28053 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28054 Changed all callers.
28055 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28056 and renamed to...
28057 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28058 Changed all callers.
28059 * util/misc.c (pupa_memalign): New function.
28060 (pupa_mm_init_region): Likewise.
28061 (pupa_register_exported_symbols): Likewise.
28062 (pupa_putchar): Function removed.
28063 * util/pupa-emu.c: New file.
28064
9a5c1ade 280652003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28066
28067 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28068 (_multiboot_mod_SOURCES): New variable.
28069 (_multiboot_mod_CFLAGS): Likewise.
28070 * loader/i386/pc/multiboot.c: New file.
28071 * include/pupa/i386/pc/multiboot.h: Likewise.
28072 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28073 (pupa_multiboot_real_boot): New function.
28074 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28075 (pupa_multiboot_real_boot): New prototype.
28076 (pupa_rescue_cmd_multiboot): Likewise
28077 (pupa_rescue_cmd_module): Likewise.
28078
28079 * kern/loader.c (pupa_loader_set): Continue when
28080 pupa_loader_unload_func() fails.
28081 (pupa_loader_unset): New function.
28082 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28083
28084 * kern/misc.c (pupa_stpcpy): New function.
28085 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28086
8e72a9c0 280872003-11-12 Marco Gerards <metgerards@student.han.nl>
28088
28089 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28090 for available extensions.
28091
28092 * include/pupa/i386/pc/time.h: New file.
28093 * kern/disk.c: Include <pupa/machine/time.h>.
28094 (PUPA_CACHE_TIMEOUT): New macro.
28095 (pupa_last_time): New variable.
28096 (pupa_disk_open): Flush the cache when there was a timeout.
28097 (pupa_disk_close): Reset the timer.
28098 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28099 pupa_currticks.
28100 * util/misc.c: Include <sys/times.h>
28101 (pupa_get_rtc): New function.
28102
c4adbd32 281032003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28104
28105 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28106 as blocks.
28107 (pupa_ext2_get_file_block): Use blocks member.
28108
28109 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28110 first block. Return -1 instead of pupa_errno on error.
28111
bfd30f06 281122003-10-27 Marco Gerards <metgerards@student.han.nl>
28113
28114 * README: In the pupa-mkimage example use _chain instead of chain
28115 and ext2 instead of fat.
28116 * TODO: Replace ext2fs with jfs as an example. Add an item for
28117 adding journal playback for ext2fs.
28118 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28119 (pkgdata_MODULES): Added ext2.mod.
28120 (ext2_mod_SOURCES): New variable.
28121 (ext2_mod_CFLAGS): Likewise.
28122 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28123 * include/pupa/misc.h (pupa_strncpy): New prototype.
28124 (pupa_strcat): Likewise.
28125 (pupa_strncmp): Likewise.
28126 * kern/misc.c (pupa_strcat): Enable function.
28127 (pupa_strncpy): New function.
28128 (pupa_strncmp): Likewise.
28129 * fs/ext2.c: New file.
f19dbdb7 28130
bfd30f06 28131 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28132 when the read failed before retrying.
28133 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28134 (_FILE_OFFSET_BITS): Likewise.
28135 * configure.ac: Added AC_SYS_LARGEFILE.
28136
98d15063 281372003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28138
28139 * genmk.rb (PModule#rule): Make sure to get only symbol names
28140 from the output of nm.
59cad637 28141 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 28142
18d9c7cd 281432003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28144
28145 I forgot to check in these changes for a long time. This adds
28146 incomplete support for VGA console, and this is still very
28147 buggy. Also, a lot of consideration is required for I18N,
28148 UNICODE, and VGA font issues. Therefore, assume that this is
28149 such that "better than nothing".
f19dbdb7 28150
18d9c7cd 28151 * font/manager.c: New file.
28152 * include/pupa/font.h: Likewise.
28153 * include/pupa/i386/pc/vga.h: Likewise.
28154 * term/i386/pc/vga.c: Likewise.
28155 * util/unifont2pff.rb: Likewise.
28156
28157 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28158 (pkgdata_MODULES): Added vga.mod and font.mod.
28159 (vga_mod_SOURCES): New variables.
28160 (vga_mod_CFLAGS): Likewise.
28161 (font_mod_SOURCES): Likewise.
28162 (font_mod_CFLAGS): Likewise.
28163
28164 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28165
28166 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 28167 (struct pupa_term): Added init and fini.
18d9c7cd 28168 Changed the argument of putchar to pupa_uint32_t.
28169
28170 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28171 (pupa_console_real_putchar): New prototype.
28172 (pupa_console_putchar): Removed.
28173 (pupa_console_checkkey): Exported.
28174 (pupa_console_getkey): Likewise.
28175
28176 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28177 characters.
28178
28179 * kern/term.c (pupa_term_set_current): Rewritten.
28180 (pupa_putchar): Likewise.
28181 (pupa_putcode): New function.
28182
28183 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28184 (pupa_console_real_putchar): ... this.
28185 (pupa_vga_set_mode): New function.
28186 (pupa_vga_get_font): Likewise.
28187
28188 * normal/command.c: Include pupa/term.h.
28189 (terminal_command): New function.
28190 (pupa_command_init): Register the command "terminal".
28191
28192 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28193 (DISP_UP): Likewise.
28194 (DISP_RIGHT): Likewise.
28195 (DISP_DOWN): Likewise.
28196 (DISP_HLINE): Likewise.
28197 (DISP_VLINE): Likewise.
28198 (DISP_UL): Likewise.
28199 (DISP_UR): Likewise.
28200 (DISP_LL): Likewise.
28201 (DISP_LR): Likewise.
28202
28203 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 28204
977329f5 282052003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28206
28207 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28208 FIX. Reverse the path_list.
28209
28210 * include/pupa/normal.h: Export pupa_register_command and
28211 pupa_unregister_command.
28212
28213 * hello/hello.c (pupa_cmd_hello): New module.
28214 * conf/i386-pc.rmk: Added hello.mod.
28215
1f5ab428 282162003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28217
28218 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 28219
1f5ab428 28220 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28221 (compress_kernel): New variable.
28222 (generate_image): Heavily modified to support compressing a
28223 large part of the core image.
28224
28225 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28226 leak.
28227 (pupa_util_load_image): New function.
28228
28229 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28230 (pupa_compressed_size): New variable.
28231 (codestart): Enable Gate A20 here.
28232 Decompress the compressed part of the core image.
28233 Rearrange the code to put functions and variables which are
28234 required for initialization in the non-compressed part.
28235 Include lzo1x.S.
28236
28237 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28238 here.
28239
28240 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28241
f19dbdb7 28242 * include/pupa/i386/pc/kernel.h
1f5ab428 28243 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28244 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28245 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28246 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28247 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28248
28249 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28250
28251 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28252 (Utility#rule): Likewise.
28253
28254 * configure.ac: Check if LZO is available.
28255
ce5bf700 282562003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28257
28258 * include/pupa/normal.h: New file.
28259 * include/pupa/setjmp.h: Likewise.
28260 * include/pupa/i386/setjmp.h: Likewise.
28261 * normal/cmdline.c: Likewise.
28262 * normal/command.c: Likewise.
28263 * normal/main.c: Likewise.
28264 * normal/menu.c: Likewise.
28265 * normal/i386/setjmp.S: Likewise.
f19dbdb7 28266
ce5bf700 28267 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28268 (pupa_rescue_cmd_initrd): Likewise.
28269
28270 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28271 Likewise.
28272
28273 * kern/i386/pc/startup.S (translation_table): New variable.
28274 (translate_keycode): New function.
28275 (pupa_console_getkey): Call translate_keycode.
28276
28277 * kern/rescue.c (attempt_normal_mode): New function.
28278 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28279 it failed, print a message.
28280
28281 * kern/mm.c (pupa_real_malloc): Print more information when a
28282 free magic is broken.
28283 (pupa_free): If the first free header is not free actually, set
28284 it to P.
28285
28286 * kern/main.c (pupa_load_normal_mode): Just load the module
28287 "normal".
28288 (pupa_main): Don't print the message
28289 "Entering into rescue mode..." here.
28290
28291 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28292 Declared.
28293 (pupa_rescue_cmd_initrd): Likewise.
28294 (pupa_rescue_cmd_initrd): Likewise.
28295
28296 * include/pupa/symbol.h (FUNCTION): Specify the type.
28297 (VARIABLE): Likewise.
28298
28299 * include/pupa/err.h (pupa_err_t): Added
28300 PUPA_ERR_UNKNOWN_COMMAND.
28301
28302 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28303 (pupa_dl_get_prefix): Likewise.
28304
28305 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28306 Added _chain.mod and _linux.mod instead of chain.mod and
28307 linux.mod.
28308 (chain_mod_SOURCES): Renamed to ...
28309 (_chain_mod_SOURCES): ... this.
28310 (chain_mod_CFLAGS): Renamed to ...
28311 (_chain_mod_CFLAGS): ... this.
28312 (linux_mod_SOURCES): Renamed to ...
28313 (_linux_mod_SOURCES): ... this.
28314 (linux_mod_CFLAGS): Renamed to ...
28315 (_linux_mod_CFLAGS): ... this.
28316 (normal_mod_SOURCES): New variable.
28317 (normal_mod_CFLAGS): Likewise.
28318 (normal_mod_ASFLAGS): Likewise.
28319
283202003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28321
28322 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28323 possible.
28324
fe6b695a 28325 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 28326 recursively.
28327 (pupa_dl_unref): Unrefer depending modules recursively.
28328 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28329 a module is unloaded before one depending on that module is
28330 unloaded.
28331 (pupa_dl_unload): Unload depending modules explicitly,
28332 if possible.
28333
c04da074 283342003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28335
28336 * include/pupa/i386/pc/linux.h: New file.
28337 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 28338
c04da074 28339 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28340 Removed.
28341 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28342 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28343 of PUPA_CHAINLOADER_BOOT_SECTOR.
28344
28345 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28346 (pupa_linux_prot_size): New variable.
28347 (pupa_linux_tmp_addr): Likewise.
28348 (pupa_linux_real_addr): Likewise.
28349 (pupa_linux_boot_zimage): New function.
28350 (pupa_linux_boot_bzimage): Likewise.
28351
28352 * kern/i386/pc/init.c (struct mem_region): New structure.
28353 (MAX_REGIONS): New macro.
28354 (mem_regions): New variable.
28355 (num_regions): Likewise.
28356 (pupa_os_area_addr): Likewise.
28357 (pupa_os_area_size): Likewise.
28358 (pupa_lower_mem): Likewise.
28359 (pupa_upper_mem): Likewise.
28360 (add_mem_region): New function.
28361 (compact_mem_regions): Likewise.
28362 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28363 the size of the conventional memory and that of so-called upper
28364 memory (before the first memory hole).
28365 Instead of adding each found region to free memory, use
28366 add_mem_region and add them after removing overlaps.
28367 Also, add only 1/4 of the upper memory to free memory. The rest
28368 is used for loading OS images. Maybe this is ad hoc, but this
28369 makes it much easier to relocate OS images when booting.
28370
28371 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28372 (pupa_enter_rescue_mode): Don't register initrd and module.
28373
28374 * kern/mm.c: Include pupa/dl.h.
28375
28376 * kern/main.c: Include pupa/file.h and pupa/device.h.
28377
28378 * kern/loader.c (pupa_loader_load_module_func): Removed.
28379 (pupa_loader_load_module): Likewise.
28380
28381 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28382 ``.o''.
28383
28384 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28385 (pupa_linux_tmp_addr): Likewise.
28386 (pupa_linux_real_addr): Likewise.
28387 (pupa_linux_boot_zimage): Likewise.
28388 (pupa_linux_boot_bzimage): Likewise.
28389
28390 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28391 (pupa_upper_mem): Likewise.
28392 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28393 module is too dangerous.
28394
28395 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28396 (pupa_os_area_size): Likewise.
28397 (pupa_loader_set): Remove the first argument. Loader doesn't
28398 manage modules or initrd any longer.
28399 (pupa_loader_load_module): Removed.
28400
28401 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28402 (linux_mod_SOURCES): New variable.
28403 (linux_mod_CFLAGS): Likewise.
28404
a13f9237 284052003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28406
28407 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28408 the length of a blocklist correctly.
28409
28410 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28411 Use ioctl only if the OS file is a block device.
28412 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28413 not very useful for normal files.
28414
28415 * kern/main.c (pupa_set_root_dev): New function.
28416 (pupa_load_normal_mode): Likewise.
28417 (pupa_main): Call those above.
28418
28419 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28420 pupa_uint16_t.
28421
28422 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28423
a5ffe966 284242003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28425
28426 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28427 (setup): Configure the installed partition information and the
28428 dl prefix.
28429
28430 * loader/i386/pc/chainloader.c (my_mod): New variable.
28431 (pupa_chainloader_unload): New function.
28432 (pupa_rescue_cmd_chainloader): Refer itself.
28433 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28434
28435 * kern/i386/pc/startup.S (install_partition): Removed.
28436 (version_string): Likewise.
28437 (config_file): Likewise.
28438 (pupa_install_dos_part): New variable.
28439 (pupa_install_bsd_part): Likewise.
28440 (pupa_prefix): Likewise.
28441 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28442
28443 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28444 and pupa/misc.h.
28445 (make_install_device): New function.
28446 (pupa_machine_init): Set the dl prefix.
28447
28448 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28449 (buf): Renamed to ...
28450 (linebuf): ... this.
28451 (pupa_rescue_cmd_prefix): New function.
28452 (pupa_rescue_cmd_insmod): Likewise.
28453 (pupa_rescue_cmd_rmmod): Likewise.
28454 (pupa_rescue_cmd_lsmod): Likewise.
28455 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28456 rmmod and lsmod.
28457
28458 * kern/mm.c (pupa_memalign): If failed even after invalidating
28459 disk caches, unload unneeded modules and retry.
28460
28461 * kern/misc.c (pupa_memmove): New function.
28462 (pupa_memcpy): Removed.
28463 (pupa_strcpy): New function.
28464 (pupa_itoa): Made static.
28465
28466 * kern/dl.c (pupa_dl_iterate): New function.
28467 (pupa_dl_ref): Likewise.
28468 (pupa_dl_unref): Likewise.
28469 (pupa_dl_unload): Return if succeeded or not.
28470 (pupa_dl_unload_unneeded): New function.
28471 (pupa_dl_unload_all): Likewise.
28472 (pupa_dl_init): Renamed to ...
28473 (pupa_dl_set_prefix): ... this.
28474 (pupa_dl_get_prefix): New function.
28475
28476 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28477 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28478 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28479 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28480 (pupa_install_dos_part): Declared.
28481 (pupa_install_bsd_part): Likewise.
28482 (pupa_prefix): Likewise.
28483 (pupa_boot_drive): Likewise.
28484
28485 * include/pupa/types.h: Fix a typo.
28486
28487 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28488 pupa_memmove.
28489 (pupa_memmove): Declared.
28490 (pupa_strcpy): Likewise.
28491
28492 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28493 pupa_mod_init takes one argument, its own module.
28494 (pupa_dl_unload_unneeded): Declared.
28495 (pupa_dl_unload_all): Likewise.
28496 (pupa_dl_ref): Likewise.
28497 (pupa_dl_unref): Likewise.
28498 (pupa_dl_iterate): Likewise.
28499 (pupa_dl_init): Renamed to ...
28500 (pupa_dl_set_prefix): ... this.
28501 (pupa_dl_get_prefix): Declared.
28502
28503 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 28504 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 28505 unloaded.
28506 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28507 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28508
28509 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28510 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28511
012d7999 285122003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28513
28514 * util/i386/pc/pupa-setup.c (setup): Define the internal
28515 function find_first_partition_start at the top level, because GCC
28516 3.0.x cannot compile internal functions in deeper scopes
28517 correctly.
28518 (find_root_device): Use lstat instead of stat.
28519 Don't follow symbolic links.
28520 Fix the path-constructing code.
28521
28522 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28523 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28524 by a BLKGETSIZE ioctl first, because block devices don't fill
28525 the member st_mode of the structure stat on Linux.
28526 [__linux__] (linux_find_partition): Use a temporary buffer
28527 REAL_DEV for the working space. Copy it to DEV before returning.
28528 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28529 buffer cache consistent.
28530 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28531 strncmp. The previous value was merely wrong.
28532 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28533
28534 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28535 FAT size is 12. The previous value was merely wrong.
28536
28537 * kern/main.c (pupa_main): Don't split the starting message from
28538 newlines.
28539
28540 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28541 LF, because BIOS goes crazy about character attributes in this
28542 case.
28543
1cc73a62 285442003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28545
28546 * include/i386/pc/util/biosdisk.h: New file.
28547 * util/i386/pc/biosdisk.c: Likewise.
28548 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 28549
1cc73a62 28550 * Makefile.in (INCLUDE_DISTFILES): Added
28551 include/pupa/i386/pc/util/biosdisk.h.
28552 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28553 directory util/i386/pc.
28554 (install-local): Added a rule for sbin_UTILITIES.
28555 (uninstall): Likewise.
28556
28557 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28558
28559 * util/misc.c (xrealloc): New function.
28560 (pupa_malloc): Likewise.
28561 (pupa_free): Likewise.
28562 (pupa_realloc): Likewise.
28563 (pupa_stop): Likewise.
28564 (pupa_putchar): Likewise.
28565
28566 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28567
28568 * include/pupa/util/misc.h (xrealloc): Declared.
28569
28570 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28571 macro.
28572 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28573 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28574
28575 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28576 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28577
28578 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28579 way should be implemented.
28580 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28581
28582 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28583 the size of NAME for safety.
28584 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28585 0x88.
28586
28587 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28588 (pupa_setup_SOURCES): Likewise.
28589
28590 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28591
08b70fe8 285922002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28593
28594 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28595 bunch of pushl's from pusha, because this destroys the return
28596 value.
28597
62ddcc8f 285982002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28599
28600 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28601 This means that any missing prototypes could be fatal. Also, you
28602 must take care when writing assembly code. See the comments at
28603 the beginning of startup.S, for more details.
f19dbdb7 28604
62ddcc8f 28605 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28606 compilation mechanism.
28607 (pupa_chainloader_real_boot): Likewise.
28608 (pupa_biosdisk_rw_int13_extensions): Likewise.
28609 (pupa_biosdisk_rw_standard): Likewise.
28610 (pupa_biosdisk_check_int13_extensions): Likewise.
28611 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28612 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28613 (pupa_get_memsize): Likewise.
28614 (pupa_get_mmap_entry): Likewise.
28615 (pupa_console_putchar): Likewise.
28616 (pupa_console_setcursor): Likewise.
28617 (pupa_getrtsecs): Use pushl instead of push.
28618
28619 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28620 memory instead of the stack for a mmap entry, because some
28621 BIOSes may ignore the maximum size and overflow.
28622
28623 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28624
28625 * genmk.rb (PModule#rule): Compile automatically generated
28626 sources with module-specific CFLAGS as well as other sources.
28627
9962ed99 286282002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28629
28630 * configure.ac: Check ld.
28631 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28632 respectively, before checking endianness and sizes.
28633
28634 * Makefile.in (LD): New variable.
f19dbdb7 28635
abdfc3c5 286362002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28637
28638 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28639
6a161fa9 286402002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28641
28642 * Changelog: New file.
28643