]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/import_unicode.py: Remove unnecessary imports.
[grub2.git] / ChangeLog
1 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/import_unicode.py: Remove unnecessary imports.
4
5 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6
7 Hotplugging and USB hub support.
8
9 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
10 (grub_ohci): Likewise.
11 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14 (GRUB_OHCI_CTRL_EDS): Likewise.
15 (GRUB_OHCI_BULK_EDS): Likewise.
16 (GRUB_OHCI_TDS): Likewise.
17 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18 (grub_ohci_ed_phys2virt): New function.
19 (grub_ohci_virt_to_phys): Likewise.
20 (grub_ohci_td_phys2virt): Likewise.
21 (grub_ohci_td_virt2phys): Likewise.
22 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
23 attachment.
24 (grub_ohci_find_ed): New function.
25 (grub_ohci_alloc_td): Likewise.
26 (grub_ohci_free_td): Likewise.
27 (grub_ohci_free_tds): Likewise.
28 (grub_ohci_transfer): Use previously allocated memory.
29 (grub_ohci_portstatus): Reset status changed bit.
30 (grub_ohci_detect_dev): Supply status changed.
31 (grub_ohci_fini_hw): Free memory.
32 (grub_ohci_restore_hw): Reallocate memory.
33 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
34 Reset status change.
35 (grub_uhci_detect_dev): Supply status_change.
36 * bus/usb/usb.c (attach_hooks): New var.
37 (grub_usb_device_attach): New function.
38 (grub_usb_register_attach_hook_class): Likewise.
39 (grub_usb_unregister_attach_hook_class): Likewise.
40 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
41 (grub_usb_add_hub): Reset connection changed bit.
42 (attach_root_port): New function.
43 (grub_usb_root_hub): Likewise.
44 (poll_nonroot_hub): Likewise.
45 (grub_usb_poll_devices): Likewise.
46 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
47 * disk/usbms.c (grub_usbms_open): Use device hooks.
48 (grub_usbms_iterate) :Poll devices.
49 (grub_usbms_finddevs): Split into ...
50 (grub_usbms_attach): ... this ...
51 (grub_usbms_attach): ... and this.
52 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
53 in detect_dev.
54 (grub_usb_interface): New fields attached and detach_hook.
55 (grub_usb_attach_hook_class): New type.
56 (grub_usb_attach_desc): New struct.
57 (grub_usb_register_attach_hook_class): New function.
58 (grub_usb_unregister_attach_hook_class): Likewise.
59 (grub_usb_poll_devices): Likewise.
60 (grub_usb_device_attach): Likewise.
61 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
62 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
63
64 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
67 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
68 delta determination style. Works with most NetBSD partitions too.
69
70 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
73 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
74
75 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
78
79 2010-07-14 Anton Blanchard <anton@samba.org>
80
81 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
82 ET_DYN files.
83
84 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
85
86 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
87
88 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
89
90 * kern/partition.c (grub_partition_check_containment): New function to
91 check that a partition is physically contained in a parent. Since
92 offsets are relative (and non-negative), this reduces to checking that
93 the partition ends before its parent.
94 (grub_partition_map_probe): Discard out-of-range sub-partitions.
95 (grub_partition_iterate): Likewise.
96 * include/grub/partition.h (grub_partition_map): Slightly more detailed
97 comments.
98 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
99 partitions that start before their parent, and add debug printfs.
100
101 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
102
103 * Makefile.in (.SUFFIX): Spell correctly, as ...
104 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
105 bare module name without `.mod', e.g. `test') tried to invoke a
106 Modula-2 compiler.
107
108 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
109
110 * README: Point to the Info manual.
111
112 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
113
114 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
115 2nd superblock position from partition size.
116
117 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
118
119 * Makefile.in (MAINTAINER_CLEANFILES): Remove
120 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
121 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
122 outputs.
123
124 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
125
126 Restructure SCSI .id handling.
127 Reported and tested by: Aleš Nesrsta.
128
129 * disk/ata.c (grub_atapi_close): Removed. All users updated.
130 (grub_atapi_dev): Changed .name to "ata". New field .id.
131 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
132 (grub_usbms_dev): New field .id.
133 * disk/scsi.c (grub_scsi_iterate): Generate name.
134 (grub_scsi_open): Parse name.
135 * include/grub/scsi.h (grub_make_scsi_id): New function.
136 (grub_scsi_dev): Change iterate and open to number instead of naming
137 busses. All users updated.
138 (grub_scsi): Remove name. Add .bus.
139
140 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * commands/help.c (grub_cmd_help): Fix a typo.
143
144 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
147 Reported and tested by: Colin Watson.
148
149 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
152 in this context.
153
154 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
157
158 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
159
160 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
161 indentation.
162
163 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
164
165 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
166 and disk/raid6_recover.c.
167 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
168 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
169
170 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
171
172 * term/gfxterm.c (repaint_schedulded): Rename to ...
173 (repaint_scheduled): ... this. Update all callers.
174 (repaint_was_schedulded): Rename to ...
175 (repaint_was_scheduled): ... this. Update all callers.
176
177 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
178
179 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
180 which we expect to be handled by upper layers.
181
182 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
183
184 * bus/usb/usbhub.c: #include time.h header.
185
186 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
187
188 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
189 entry_name also for entries without stat blocks (e.g. ".."); fixes
190 corruption of the first entry in a directory.
191
192 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
193
194 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
195 after setting gfxterm as the active terminal. GRUB_BACKGROUND
196 doesn't work otherwise.
197
198 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
199
200 * docs/grub.texi (Features): Update list of supported file systems.
201 (GNU/Linux): Update for GRUB 2.
202 (Serial terminal): Remove mention of --disable-serial, which was a
203 GRUB Legacy configure option. Update instructions to use
204 `terminal_input' and `terminal_output' rather than `terminal'.
205 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
206 configuration' and `Installing GRUB using grub-install'.
207 (Menu entry editor): Update for GRUB 2.
208 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
209 Document new -a, -u, and -v options.
210 (initrd): New section.
211 (initrd16): New section.
212 (linux): New section.
213 (linux16): New section.
214 (search): The `var' argument to `--set' is optional.
215 (GRUB only offers a rescue shell): Go into a little more detail on
216 drive ordering.
217
218 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
219
220 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
221
222 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
223
224 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
225 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
226
227 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
228
229 * util/i386/pc/grub-setup.c (setup): Rename prefix to
230 install_prefix, in line with install_dos_part and install_bsd_part.
231 Add new prefix variable, which is copied to install_prefix after
232 comparing core.img in memory with the one read from disk in the
233 no-embedding case, and use that rather than overwriting
234 install_prefix immediately when installing to a partition.
235 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
236 Bicakci.
237
238 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
239
240 * configure.ac: Avoid == in test command, it's not portable.
241 * util/grub.d/30_os-prober.in: Likewise.
242
243 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
244
245 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
246
247 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
248
249 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
250 multiple (top-level) partmaps.
251
252 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * util/i386/efi/grub-install.in: Don't use empty grub_device.
255 Reported by: Tino Keitel.
256
257 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
258
259 Bidi and diacritics support.
260
261 * Makefile.in (widthspec.bin): New target.
262 (widthspec.h): Likewise.
263 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
264 * autogen.sh: Generate unidata.c.
265 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
266 * commands/ls.c (grub_ls_list_devices): Likewise.
267 (grub_ls_list_files): Likewise.
268 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
269 (grub_mini_cmd_lsmod): Likewise.
270 * commands/read.c: Likewise.
271 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
272 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
273 * lib/arg.c (grub_arg_show_help): Likewise.
274 * lib/crypto.c (grub_password_get): Likewise.
275 * normal/auth.c (grub_username_get): Likewise.
276 * normal/misc.c (grub_normal_print_device_info): Likewise.
277 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
278 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
279 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
280 (normal/charset.c_DEPENDENCIES): New variable.
281 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
282 (pkglib_MODULES): Remove charset.mod.
283 (charset_mod_SOURCES): Removed.
284 (charset_mod_CFLAGS): Likewise.
285 (charset_mod_LDFLAGS): Likewise.
286 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
287 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
288 and term/tparm.c.
289 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
290 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
291 (kernel_img_HEADERS): Add terminfo.h.
292 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
293 Fill ->font. Reverse ascii bitmaps.
294 (grub_font_get_xheight): New function.
295 * font/font.c (grub_font_get_string_width): Moved from here ...
296 * gfxmenu/font.c (grub_font_get_string_width): ... here.
297 * font/font.c (grub_font_draw_string): Moved from here ...
298 * gfxmenu/font.c (grub_font_draw_string): ... here.
299 * font/font.c (grub_font_dup_glyph): New function.
300 (grub_font_blit_glyph): Likewise.
301 (grub_font_blit_glyph_mirror): Likewise.
302 (blit_comb): Likewise.
303 (grub_font_construct_dry_run): Likewise.
304 (grub_font_get_constructed_device_width): Likewise.
305 (grub_font_construct_glyph): Likewise.
306 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
307 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
308 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
309 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
310 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
311 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
312 (grub_font_get_xheight): New proto.
313 (grub_font_get_constructed_device_width): Likewise.
314 (grub_font_construct_glyph): Likewise.
315 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
316 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
317 * include/grub/font.h (grub_font_draw_string): Moved from here ...
318 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
319 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
320 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
321 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
322 (grub_console_getcharwidth): Likewise.
323 * include/grub/misc.h (grub_xputs): New proto.
324 (grub_puts): Inlined.
325 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
326 (grub_normal_get_line_counter): Removed.
327 (grub_install_newline_hook): Likewise.
328 (grub_normal_get_char_counter): New proto.
329 (grub_normal_reset_more): Likewise.
330 (grub_xputs_normal): Likewise.
331 * include/grub/powerpc/ieee1275/console.h: Removed.
332 * include/grub/sparc64/ieee1275/console.h: Likewise.
333 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
334 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
335 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
336 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
337 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
338 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
339 (grub_term_input): Pass reference to self. All users updated.
340 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
341 Pass reference to self. New fields normal_color, highlight_color and
342 data. All users updated.
343 (grub_putchar): Removed.
344 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
345 (grub_unicode_estimate_width): New function.
346 (grub_term_getcharwidth): Add defaults.
347 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
348 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
349 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
350 (grub_cls): Remove EXPORT_FUNC.
351 (grub_setcolorstate): Inline.
352 (grub_newline_hook): Removed.
353 * include/grub/terminfo.h: Rewritten. All users updated.
354 * include/grub/unicode.h: New file.
355 * include/grub/video.h (grub_video_signed_rect): New type.
356 * kern/emu/console.c (grub_console_highlight_color): Removed.
357 (grub_console_normal_color): Likewise.
358 (grub_console_standard_color): Made static.
359 (grub_ncurses_putchar): Remove mapping.
360 (grub_ncurses_getcharwidth): Removed.
361 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
362 (grub_ncurses_setcolor): Removed.
363 (grub_ncurses_getcolor): Likewise.
364 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
365 (grub_console_putchar): ... this.
366 (grub_console_putchar): Handle argument difference.
367 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
368 console_init_early and console_init_lately.
369 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
370 * kern/misc.c (grub_puts): Removed.
371 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
372 (grub_vsnprintf_real): Remove str = NULL support.
373 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
374 * normal/charset.c (grub_utf8_to_ucs4): ... here.
375 * kern/term.c (grub_putcode): Renamed to ...
376 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
377 (grub_putchar): Removed.
378 (grub_xputs_dumb): New function.
379 (grub_xputs): New variable.
380 * lib/charset.c: Move from here ...
381 * normal/charset.c: ... to here.
382 (grub_ucs4_to_utf8): New function.
383 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
384 (join_types): New variable.
385 (unpack_join): New function.
386 (bidi_types): New variable.
387 (unpack_bidi): New function.
388 (get_bidi_type): Likewise.
389 (get_join_type): Likewise.
390 (is_mirrored): Likewise.
391 (grub_unicode_get_comb_type): Likewise.
392 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
393 (is_type_after): Likewise.
394 (grub_unicode_aglomerate_comb): Likewise.
395 (bidi_line_wrap): Likewise.
396 (grub_bidi_line_logical_to_visual): Likewise.
397 (grub_bidi_logical_to_visual): Likewise.
398 (grub_unicode_mirror_code): Likewise.
399 (grub_unicode_shape_code): Likewise.
400 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
401 Don't use grub_putchar.
402 * normal/main.c (grub_normal_init_page): Use grub_putcode.
403 (grub_normal_reader_init): Likewise.
404 (grub_xputs_saved): New variable.
405 (GRUB_MOD_INIT): Set grub_xputs.
406 (GRUB_MOD_FINI): Restore grub_xputs.
407 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
408 (menu_init): Avoid printing gfxmenu error.
409 (show_menu): Use grub_normal_get_char_counter.
410 * normal/menu_entry.c (update_screen): Fix out-of-array.
411 (complete): Avoid NULL dereferencing.
412 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
413 * normal/menu_text.c (print_spaces): Removed.
414 (grub_print_ucs4): Likewise.
415 (grub_print_message_indented): Use grub_print_ucs4.
416 (print_message): Use grub_putcode.
417 (print_entry): Hanlde diacritics.
418 * normal/term.c (term_state): New type.
419 (grub_more_lines): Removed.
420 (term_states): New variable.
421 (grub_normal_line_counter): Renamed to ..
422 (grub_normal_char_counter): ...this. All users updated.
423 (grub_normal_get_line_counter): Renamed to ...
424 (grub_normal_get_char_counter): ... this.
425 (grub_normal_reset_more): New function.
426 (process_newline): Removed.
427 (print_more): New function.
428 (grub_install_newline_hook): Removed.
429 (map_code): New function.
430 (grub_puts_terminal): Use grub_print_ucs4.
431 (putglyph): New function.
432 (putcode_real): Likewise.
433 (grub_putcode): Use putcode_real.
434 (get_maxwidth): New function.
435 (get_startwidth): Likewise.
436 (print_ucs4_terminal): Likewise.
437 (find_term_state): Likewise.
438 (put_glyphs_terminal): Likewise.
439 (print_backlog): Likewise.
440 (print_ucs4_real): Likewise.
441 (grub_print_ucs4): Likewise.
442 (grub_xputs_normal): Likewise.
443 * term/efi/console.c (grub_console_putchar): Output diacritics.
444 (grub_console_getcharwidth): Removed.
445 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
446 * term/gfxterm.c (clear_char): Free chars.
447 (scroll_up): Avoid leaking memory.
448 (grub_gfxterm_putchar): Support diacritics.
449 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
450 * term/i386/pc/console.c (grub_console_term_output): Declare as
451 GRUB_TERM_CODE_TYPE_VGA.
452 * term/i386/pc/vga.c (grub_vga_term): Declare as
453 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
454 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
455 GRUB_TERM_CODE_TYPE_VGA.
456 * term/i386/vga_common.c (map_char): Removed.
457 (grub_console_putchar): Likewise.
458 (grub_console_getcharwidth): Likewise.
459 * term/ieee1275/ofconsole.c: Simplify using terminfo.
460 (colors): Reordered to match terminfo.
461 (grub_ofconsole_normal_color): Removed.
462 (grub_ofconsole_writeesc): Likewise.
463 (grub_ofconsole_highlight_color): Likewise.
464 (grub_ofconsole_getcharwidth): Likewise.
465 (grub_ofconsole_setcolorstate): Likewise.
466 (grub_ofconsole_setcolor): Likewise.
467 (grub_ofconsole_getcolor): Likewise.
468 (grub_ofconsole_readkey): Renamed to ...
469 (readkey): ... this. Remove escape sequence handling. Return -1 on no
470 key.
471 (grub_ofconsole_checkkey): Removed.
472 (grub_ofconsole_getkey): Likewise.
473 (grub_ofconsole_getxy): Likewise.
474 (grub_ofconsole_gotoxy): Likewise.
475 (grub_ofconsole_cls): Likewise.
476 (grub_ofconsole_refresh): Likewise.
477 (grub_ofconsole_terminfo_input): New struct.
478 (grub_ofconsole_terminfo_output): Likewise.
479 (grub_ofconsole_term_input): Use terminfo.
480 (grub_ofconsole_term_output): Likewise.
481 (grub_console_init): Split into ...
482 (grub_console_init_early): ...this and ...
483 (grub_console_init_lately): ...this. Use terminfo.
484 (grub_ofconsole_putchar): Renamed to ...
485 (put): ... this. Remove mapping.
486 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
487 * term/serial.c: Simplify using terminfo.
488 (xpos): Removed.
489 (ypos): Likewise.
490 (keep_track): Likewise.
491 (registered): Likewise.
492 (input_buf): Likewise.
493 (npending): Likewise.
494 (serial_translate_key_sequence): Likewise.
495 (fill_input_buf): Likewise.
496 (grub_serial_checkkey): Likewise.
497 (grub_serial_getkey): Likewise.
498 (grub_serial_getxy): Likewise.
499 (grub_serial_gotoxy): Likewise.
500 (grub_serial_putchar): Likewise.
501 (grub_serial_cls): Likewise.
502 (grub_serial_setcolorstate): Likewise.
503 (grub_serial_setcursor): Likewise.
504 (serial_hw_init): Use serial_hw_fetch.
505 (grub_serial_terminfo_input): New variable.
506 (grub_serial_terminfo_output): Likewise.
507 (grub_serial_term_input): Use terminfo.
508 (grub_serial_term_output): Likewise.
509 * term/terminfo.c (putstr): Use put.
510 (grub_terminfo_all_free): New function
511 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
512 (grub_terminfo_output_register): New function.
513 (grub_terminfo_output_unregister): Likewise.
514 (grub_terminfo_getxy): Likewise.
515 (grub_terminfo_readkey): Likewise.
516 (grub_terminfo_checkkey): Likewise.
517 (grub_terminfo_getkey): Likewise.
518 (grub_terminfo_input_init): Likewise.
519 (print_terminfo): Likewise.
520 (grub_cmd_terminfo): Handle encoding.
521 (grub_terminfo_gotoxy): Track position.
522 (grub_terminfo_cls): Likewise.
523 (grub_terminfo_putchar): Likewise.
524 (grub_terminfo_setcolorstate): Handle colors
525 (grub_terminfo_cursor_on): This ...
526 (grub_terminfo_cursor_off): ... and this merged into ...
527 (grub_terminfo_setcursor): ... this.
528 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
529 * unicode/ArabicShaping.txt: New file (imported from Unicode).
530 * unicode/BidiMirroring.txt: Likewise.
531 * unicode/UnicodeData.txt: Likewise.
532 * unicode/COPYING: Likewise.
533 * util/grub-editenv.c (grub_putchar): Removed.
534 (grub_xputs_real): New function.
535 (grub_xputs): New variable.
536 * util/grub-fstest.c (grub_putchar): Removed.
537 (grub_xputs_real): New function.
538 (grub_xputs): New variable.
539 * util/grub-mkdevicemap.c (grub_putchar): Removed.
540 (grub_xputs_real): New function.
541 (grub_xputs): New variable.
542 * util/grub-probe.c (grub_putchar): Removed.
543 (grub_xputs_real): New function.
544 (grub_xputs): New variable.
545 * util/grub-script-check.c (grub_putchar): Removed.
546 (grub_xputs_real): New function.
547 (grub_xputs): New variable.
548 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
549 (grub_xputs_real): New function.
550 (grub_xputs): New variable.
551 * util/import_unicode.py: New file.
552 * util/grub-mkfont.c (ft_errmsgs): New array.
553 (grub_glyph_info): Make bitmap a pointer.
554 (file_formats): New type WIDTH_SPEC.
555 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
556 (options): Add width-spec.
557 (help): Likewise.
558 (add_char): Renamed to ...
559 (add_glyph): ... this.
560 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
561 (glyph_replace): New type.
562 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
563 (add_char): New function.
564 (add_subst): Likewise.
565 (process_cursive): Likewise.
566 (add_font): Handle GSUB.
567 (write_font_width_spec): New function.
568 (main): Sort glyphs.
569 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
570 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
571 * kern/term.c (grub_cls): Moved from here...
572 * normal/term.c (grub_cls): ... here.
573
574 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
575
576 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
577 suitable for using within the format argument of printf when
578 converting grub_size_t.
579 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
580 "x" to convert grub_size_t arguments.
581
582 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
585 too long captions.
586 (list_get_minimal_size): Take selection box into account.
587
588 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
591 NULL font.
592
593 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
594
595 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
596 devices when iterating over /dev/disk/by-id; they will be handled
597 later if appropriate, which they aren't always (e.g. LVM).
598
599 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
600
601 * include/grub/misc.h (grub_reboot): Declare as noreturn.
602 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
603 fails.
604 (grub_halt): Likewise.
605 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
606 reset-all fails.
607 (grub_halt): Don't return, even if all of shut-down, power-off, and
608 poweroff fail.
609
610 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
611
612 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
613 arguments, not three.
614
615 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
616
617 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
618 * util/grub.d/10_linux.in: Use it to check for LVM, so that
619 LVM-on-RAID is handled correctly.
620
621 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
622
623 * docs/grub.texi (Changes from GRUB Legacy): New section.
624 (Future): Fix typo.
625
626 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
627
628 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
629 grub.d/README accidentally ends up executable for one reason or
630 another. Ignore it.
631
632 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
635 (gpt_partition_map_iterate): Support non-512B sectors.
636
637 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * kern/efi/init.c (grub_efi_init): Disable watchdog.
640 Tested by: Seth Goldberg.
641
642 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
645 Properly align mbi.
646 Reported by: Seth Goldberg.
647
648 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * util/grub-mkrescue.in: Avoid module duplication.
651
652 2010-07-01 Sean Finney <seanius@seanius.net>
653
654 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
655
656 2010-07-01 Sean Finney <seanius@seanius.net>
657
658 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
659
660 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * disk/lvm.c (grub_lvm_checkvalue): New function.
663 (grub_lvm_check_flag): Likewise.
664
665 2010-07-01 Robert Millan <rmh@gnu.org>
666
667 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
668 Support 'p' as partition separator on kernel of FreeBSD (used
669 with GPT labels).
670 (grub_util_biosdisk_get_grub_dev): Likewise.
671
672 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Yeeloong firmware port.
675
676 * boot/mips/yeeloong/fwstart.S: New file.
677 * bus/cs5536.c (gpiodump): New const.
678 (set_io_space): New function.
679 (set_iod): Likewise.
680 (set_p2d): Likewise.
681 (grub_cs5536_init_geode): Likewise.
682 * commands/mips/yeeloong/lsspd.c: New file.
683 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
684 (serial_mod_SOURCES): New variable.
685 (serial_mod_CFLAGS): Likewise.
686 (serial_mod_LDFLAGS): Likewise.
687 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
688 term/terminfo.c and term/tparm.c.
689 (pkglib_IMAGES): Add fwstart.img.
690 (fwstart_img_SOURCES): New variable.
691 (fwstart_img_CFLAGS): Likewise.
692 (fwstart_img_ASFLAGS): Likewise.
693 (fwstart_img_LDFLAGS): Likewise.
694 (fwstart_img_FORMAT): Likewise.
695 (pkglib_MODULES): Add lsspd.mod.
696 (lsspd_mod_SOURCES): New variable.
697 (lsspd_mod_CFLAGS): Likewise.
698 (lsspd_mod_LDFLAGS): Likewise.
699 (pkglib_MODULES): Add halt.mod.
700 (halt_mod_SOURCES): New variable.
701 (halt_mod_CFLAGS): Likewise.
702 (halt_mod_LDFLAGS): Likewise.
703 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
704 (serial_mod_SOURCES): Removed.
705 (serial_mod_CFLAGS): Likewise.
706 (serial_mod_LDFLAGS): Likewise.
707 * disk/ata.c (check_device): New function.
708 (grub_ata_device_initialize): Use check_device.
709 (grub_ata_iterate): Recheck devices.
710 (grub_ata_open): Likewise.
711 (grub_atapi_iterate): Likewise.
712 (grub_atapi_open): Likewise.
713 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
714 (GRUB_ATA_CH1_PORT1): Likewise.
715 (GRUB_ATA_CH0_PORT2): Likewise.
716 (GRUB_ATA_CH1_PORT2): Likewise.
717 * include/grub/mips/loongson.h: New file.
718 * include/grub/mips/yeeloong/ec.h: Likewise.
719 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
720 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
721 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
722 * include/grub/misc.h (grub_halt): Declare as noreturn.
723 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
724 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
725 (UART_ENABLE_FIFO_TRIGGER1): New definition.
726 (UART_ENABLE_DTRRTS): Likewise.
727 (UART_ENABLE_MODEM): Removed.
728 (UART_ENABLE_OUT2): New const.
729 * include/grub/term.h (grub_term_register_input_active): New function.
730 (grub_term_register_output_active): Likewise.
731 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
732 argument.
733 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
734 (init_pci): New function.
735 (grub_machine_init): Execute platform init when firmware. Init serial.
736 (grub_halt): Implement.
737 (grub_exit): Likewise.
738 (grub_reboot): Likewise.
739 * term/serial.c (serial_hw_init): Update macros.
740 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
741 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
742 (image_targets): New target mipsel-yeeloong-flash.
743 (generate_image): Support IMAGE_YEELOONG_FLASH.
744 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
745 (grub_video_sm712_setup): Init card.
746 (grub_video_sm712_set_palette): Removed.
747 * video/sm712_init.c: New file.
748
749 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
750
751 * Makefile.in (install-local): Temporarily prepend $(builddir) to
752 PATH when running help2man and then run it on the unadorned
753 executable names, rather than passing $(builddir)/* paths to
754 help2man. This avoids the build directory ending up in generated
755 manual pages.
756
757 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
758
759 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
760 to avoid accidents when debugging with 'sh -x'.
761 * util/grub-mkrescue.in: Likewise.
762 * util/grub.d/00_header.in: Likewise.
763 * util/grub.d/10_hurd.in: Likewise.
764 * util/grub.d/10_kfreebsd.in: Likewise.
765 * util/grub.d/10_linux.in: Likewise.
766 * util/grub.d/10_netbsd.in: Likewise.
767 * util/grub.d/10_windows.in: Likewise.
768 * util/grub.d/20_linux_xen.in: Likewise.
769 * util/grub.d/30_os-prober.in: Likewise.
770 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
771
772 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
773
774 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
775 last character in the buffer.
776 Reported by: Vladimir Serbinenko.
777
778 2010-06-29 Robert Millan <rmh@gnu.org>
779
780 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
781 (Command-line and menu entry commands): Document `badram' command.
782
783 2010-06-28 Robert Millan <rmh@gnu.org>
784
785 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
786 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
787 command using ${GRUB_BADRAM} as parameter.
788
789 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
790
791 * docs/grub.texi (Device map): New section.
792 (Themes): New section (stub).
793 * Makefile.in (docs/grub.info): The info documentation now builds
794 without errors. Make sure it stays that way.
795
796 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
797
798 Use normal parser for menu entries.
799 Reported by: Thomas Frauendorfer
800
801 * include/grub/parser.h (grub_parser_execute): Don't export.
802 * normal/menu.c (grub_menu_execute_entry_real): New function.
803 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
804
805 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
806
807 * docs/grub.texi (Embedded configuration): New section (replacing
808 old "Preset Menu" stub).
809 (Images): New section.
810 (configfile): Note that any menu entries defined in `file' are shown
811 immediately.
812
813 2010-06-28 Josh Triplett <josh@joshtriplett.org>
814
815 * mmap/i386/pc/mmap_helper.S: Set CF on return.
816
817 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
818
819 * util/grub-install.in: Add --debug-image= option.
820
821 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
822
823 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
824 possible on Linux.
825
826 * util/deviceiter.c (check_device): Rename to ...
827 (check_device_readable_unique): ... this. Update all callers.
828 Maintain and check a list of which devices (by canonicalized name)
829 have already been seen.
830 (clear_seen_devices): New function.
831 (compare_file_names) [__linux__]: New function.
832 (grub_util_iterate_devices): Clear the list of seen devices on exit
833 and (just in case) on entry.
834 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
835 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
836 seen-devices list, superseded by general code in check_device.
837
838 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
839
840 * commands/cat.c (options): New variable.
841 (grub_cmd_cat): Parse options. If the --dos option is given, print
842 DOS-style "\r\n" line endings as simple newlines (Debian bug
843 #586358).
844 (GRUB_MOD_INIT): Use extcmd.
845 (GRUB_MOD_FINI): Likewise.
846 * docs/grub.texi (cat): Document --dos.
847
848 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
849
850 XEN with Linux grub-mkconfig support.
851
852 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
853 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
854 GRUB_CMDLINE_XEN_DEFAULT.
855 * util/grub.d/20_linux_xen.in: New file.
856
857 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
858
859 Initialise VGA video on qemu ourselves.
860
861 * boot/i386/qemu/boot.S: Don't call 0xc000.
862 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
863 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
864 (kernel_img_HEADERS): Add pci.h.
865 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
866 * configure.ac: Force unifont on qemu and yeeloong.
867 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
868 (grub_vga_palette_write): Use correct register.
869 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
870 Call grub_qemu_init_cirrus.
871 * kern/i386/qemu/init.c: New file.
872 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
873
874 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
875
876 2010-06-26 Pavel Roskin <proski@gnu.org>
877
878 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
879 13.
880
881 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
882
883 * docs/grub.texi (Simple configuration): Explain that
884 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
885 set to `true' to disable their respective recovery entries, not
886 merely set.
887
888 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
889
890 Make the `source' command slightly faster.
891
892 * normal/main.c (grub_normal_execute): Don't re-read list files when
893 nested.
894
895 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
896
897 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
898 field position and mask size to red fields from mode_info, not
899 green.
900 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
901 Remove redundant tag->common.framebuffer_type assignment.
902 Reported by: Seth Goldberg.
903
904 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
905
906 Sync up other versions of the Linux loader with Robert Millan's
907 change of 2010-01-09, "Make loader output a bit more user-friendly".
908
909 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
910 grub_dprintf().
911 (grub_cmd_linux): Likewise.
912 (grub_cmd_initrd): Likewise.
913 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
914 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
915
916 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
917
918 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
919 larger than MEMORY_MAP_SIZE.
920
921 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
922
923 Fix parallel build.
924
925 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
926 dependency.
927 * script/parser.y: #include grub_script.tab.h header.
928
929 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Support >3GiB and <16MiB RAM in i386-qemu.
932
933 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
934 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
935 (grub_lower_mem): Removed.
936 (grub_upper_mem): Likewise.
937 (mem_size): Made static.
938 (above_4g): New variable.
939 (grub_machine_mmap_init): Detect small mem_size and above_4g.
940 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
941 support.
942
943 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
944
945 Cirrus 5446 and Bochs video cards support.
946
947 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
948 video_bochs.mod
949 (video_cirrus_mod_SOURCES): New variable.
950 (video_cirrus_mod_CFLAGS): Likewise.
951 (video_cirrus_mod_LDFLAGS): Likewise.
952 (video_bochs_mod_SOURCES): Likewise.
953 (video_bochs_mod_CFLAGS): Likewise.
954 (video_bochs_mod_LDFLAGS): Likewise.
955 * include/grub/vga.h: New file.
956 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
957 (grub_video_fb_set_page_t): New type.
958 (grub_video_fb_setup): New prototype.
959 (grub_video_fb_swap_buffers): Likewise.
960 (grub_video_fb_get_info_and_fini): Likewise.
961 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
962 (CRTC_DATA_PORT): Likewise.
963 (CRTC_CURSOR): Likewise.
964 (CRTC_CURSOR_ADDR_HIGH): Likewise.
965 (CRTC_CURSOR_ADDR_LOW): Likewise.
966 (CRTC_CURSOR_DISABLE): Likewise.
967 (update_cursor): Use grub_vga_cr_write.
968 (grub_vga_text_setcursor): Likewise.
969 * video/bochs.c: New file.
970 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
971 (palette): Likewise.
972 (palette_size): Likewise.
973 (framebuffer): New variable.
974 (grub_video_fb_init): Use 'framebuffer'.
975 (grub_video_fb_fini): Likewise.
976 (grub_video_fb_get_info): Likewise.
977 (grub_video_fb_get_palette): Likewise.
978 (grub_video_fb_set_palette): Likewise.
979 (grub_video_fb_set_viewport): Likewise.
980 (grub_video_fb_get_viewport): Likewise.
981 (grub_video_fb_map_color): Likewise.
982 (grub_video_fb_map_rgb): Likewise.
983 (grub_video_fb_map_rgba): Likewise.
984 (grub_video_fb_unmap_color): Likewise.
985 (grub_video_fb_unmap_color_int): Likewise.
986 (grub_video_fb_fill_rect): Likewise.
987 (grub_video_fb_blit_bitmap): Likewise.
988 (grub_video_fb_blit_render_target): Likewise.
989 (grub_video_fb_scroll): Likewise.
990 (grub_video_fb_create_render_target): Likewise.
991 (grub_video_fb_doublebuf_blit_init): Likewise.
992 (grub_video_fb_set_active_render_target): Handle doublebuffering.
993 (doublebuf_pageflipping_update_screen): New function.
994 (doublebuf_pageflipping_init): Likewise.
995 (grub_video_fb_setup): Likewise.
996 (grub_video_fb_swap_buffers): Likewise.
997 (grub_video_fb_get_info_and_fini): Likewise.
998 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
999 All users updated.
1000 (doublebuf_pageflipping_commit): Restructured into ...
1001 (doublebuf_pageflipping_set_page): ... this.
1002 (doublebuf_pageflipping_update_screen): Removed.
1003 (doublebuf_pageflipping_init): Likewise.
1004 (double_buffering_init): Likewise.
1005 (grub_video_vbe_setup): Use grub_video_fb_setup.
1006 (grub_video_vbe_swap_buffers): Removed.
1007 (grub_video_vbe_set_active_render_target): Likewise.
1008 (grub_video_vbe_get_active_render_target): Likewise.
1009 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1010 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1011 grub_video_fb_set_active_render_target and
1012 grub_video_fb_get_active_render_target.
1013 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1014 (SEQUENCER_DATA_PORT): Likewise.
1015 (MAP_MASK_REGISTER): Likewise.
1016 (CRTC_ADDR_PORT): Likewise.
1017 (CRTC_DATA_PORT): Likewise.
1018 (START_ADDR_HIGH_REGISTER): Likewise.
1019 (START_ADDR_LOW_REGISTER): Likewise.
1020 (GRAPHICS_ADDR_PORT): Likewise.
1021 (GRAPHICS_DATA_PORT): Likewise.
1022 (READ_MAP_REGISTER): Likewise.
1023 (INPUT_STATUS1_REGISTER): Likewise.
1024 (INPUT_STATUS1_VERTR_BIT): Likewise.
1025 (get_map_mask): Use grub_vga_sr_read.
1026 (set_map_mask): Use grub_vga_sr_write.
1027 (set_read_map): Use grub_vga_gr_write.
1028 (set_start_address): Use grub_vga_cr_write.
1029 * video/sm712.c (framebuffer): Remove leftover fields.
1030
1031 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
1032
1033 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1034 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1035 instead. Replace the gfxterm backend check with a check that
1036 ${GRUB_PREFIX}/video.lst is non-empty.
1037 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1038 again.
1039 (load_video): New generated function. Call it before loading
1040 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1041 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1042 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1043 * docs/grub.texi (Simple configuration): Document
1044 GRUB_VIDEO_BACKEND.
1045
1046 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Use video functions in linux and xnu loaders.
1049
1050 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1051 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1052 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1053 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1054 loader/i386/pc/linux.c.
1055 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1056 (find_line_len): Removed.
1057 (find_framebuf): Likewise.
1058 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1059 * loader/i386/efi/xnu.c: Removed.
1060 * loader/i386/pc/xnu.c: Moved from here...
1061 * loader/i386/xnu.c: ...here.
1062
1063 Enable priorities in video drivers.
1064
1065 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1066 (grub_video_adapter): New field prio.
1067 (grub_video_register): Respect prio when inserting.
1068 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1069 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1070 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1071 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1072 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1073 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1074 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1075
1076 Fix SDL driver ID.
1077
1078 * include/grub/video.h (grub_video_driver_id_t): New value
1079 GRUB_VIDEO_DRIVER_SDL.
1080 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1081
1082 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1083
1084 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1085 argument to printf.
1086 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1087
1088 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1089
1090 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1091 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1092
1093 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1094
1095 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1096 directly, and recommend grub-install instead.
1097 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1098
1099 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1100
1101 Fix i386-pc prefix handling with nested partitions (Debian bug
1102 #585068). Note that the case where the core image is booted using
1103 multiboot and relocated from its original location still requires
1104 more work.
1105
1106 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1107 with "(,", fill the boot drive in between those two characters, but
1108 expect that a full partition specification including partition map
1109 names will follow.
1110 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1111 specified, write a prefix without the drive name but including a
1112 full partition specification.
1113
1114 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
1115
1116 * util/grub-mkconfig.in: Ignore non-option arguments, for
1117 compatibility with older versions (before 2010-06-12) which did the
1118 same. In particular, this makes it easier to ship an update-grub
1119 wrapper which is compatible with that used with GRUB Legacy (Debian
1120 bug #586056).
1121
1122 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1123
1124 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1125 for manual page generation.
1126
1127 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1128
1129 * po/POTFILES: Remove leftover commands/handler.c.
1130
1131 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1132
1133 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1134 left this script non-functional.
1135
1136 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1137
1138 * docs/man/grub-emu.h2m: New file.
1139
1140 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
1141
1142 * docs/grub.texi (Commands): Document reduced command set in rescue
1143 mode.
1144 (cpuid): New section.
1145
1146 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1147
1148 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1149 new partition naming style.
1150 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1151
1152 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1153
1154 Add "-o grub.iso" like cmdline options support.
1155
1156 * util/grub-install.in: Improve cmdline option parsing.
1157 * util/grub-mkconfig.in: Likewise.
1158 * util/grub-mkrescue.in: Likewise.
1159 * util/grub-reboot.in: Likewise.
1160 * util/grub-set-default.in: Likewise.
1161 * util/i386/efi/grub-install.in: Likewise.
1162 * util/ieee1275/grub-install.in: Likewise.
1163 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1164
1165 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1166
1167 * .bzrignore: Ignore 41_custom.
1168
1169 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1170
1171 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1172
1173 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1174
1175 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1176 prototype declarations.
1177
1178 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1179 generating fs, partmap, and video lists.
1180 * include/grub/fs.h (grub_fs_register): Omit prototype if
1181 GRUB_LST_GENERATOR is defined.
1182 * include/grub/partition.h (grub_partition_map_register): Likewise.
1183 * include/grub/video.h (grub_video_register): Likewise.
1184
1185 2010-06-12 Javier Martín <lordhabbit@gmail.com>
1186
1187 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1188
1189 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1190
1191 * util/grub-mkrescue.in: Support --xorriso argument.
1192
1193 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1196 Suggested by: Thomas Schmitt.
1197
1198 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1201 Suggested by: Thomas Schmitt.
1202
1203 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 custom.cfg support.
1206
1207 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1208 * util/grub.d/41_custom.in: New file.
1209
1210 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1211
1212 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1213 been merged back into normal.
1214
1215 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1216
1217 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1218 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1219
1220 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1221
1222 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1223 when generating manual pages.
1224 * docs/man/grub-bin2h.h2m: New file.
1225 * docs/man/grub-editenv.h2m: New file.
1226 * docs/man/grub-fstest.h2m: New file.
1227 * docs/man/grub-install.h2m: New file.
1228 * docs/man/grub-macho2img.h2m: New file.
1229 * docs/man/grub-mkconfig.h2m: New file.
1230 * docs/man/grub-mkdevicemap.h2m: New file.
1231 * docs/man/grub-mkfont.h2m: New file.
1232 * docs/man/grub-mkimage.h2m: New file.
1233 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1234 * docs/man/grub-mkrelpath.h2m: New file.
1235 * docs/man/grub-mkrescue.h2m: New file.
1236 * docs/man/grub-ofpathname.h2m: New file.
1237 * docs/man/grub-pe2elf.h2m: New file.
1238 * docs/man/grub-probe.h2m: New file.
1239 * docs/man/grub-reboot.h2m: New file.
1240 * docs/man/grub-script-check.h2m: New file.
1241 * docs/man/grub-set-default.h2m: New file.
1242 * docs/man/grub-setup.h2m: New file.
1243
1244 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 Use FOR_* macros instead of *_iterate whenever possible.
1247
1248 * commands/handler.c: Removed.
1249 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1250 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1251 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1252 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1253 (grub_probe_SOURCES): Remove kern/parser.c.
1254 (util/grub-script-check.c_DEPENDENCIES): Removed.
1255 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1256 and grub_script_check_init.c.
1257 (grub_script_check_init.lst): Removed.
1258 (grub_script_check_init.h): Likewise.
1259 (grub_script_check_init.c): Likewise.
1260 (pkglib_MODULES): Remove handler.mod and sh.mod.
1261 (handler_mod_SOURCES): Removed.
1262 (handler_mod_CFLAGS): Likewise.
1263 (handler_mod_LDFLAGS): Likewise.
1264 (normal_mod_SOURCES): Remove normal/handler.c.
1265 Add script/main.c, script/script.c, script/execute.c,
1266 script/function.c, script/lexer.c, grub_script.tab.c
1267 and grub_script.yy.c.
1268 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1269 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1270 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1271 (grub_setup_SOURCES): Remove kern/parser.c.
1272 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1273 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1274 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1275 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1276 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1277 (grub_setup_SOURCES): Remove kern/parser.c.
1278 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1279 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1280 * include/grub/command.h (grub_command_iterate): Removed.
1281 (FOR_COMMANDS): New macro.
1282 * include/grub/dl.h (grub_dl): New member next.
1283 (grub_dl_iterate): Removed.
1284 (grub_dl_head): New variable declaration.
1285 (FOR_DL_MODULES): New macro.
1286 * include/grub/fs.h: Include list.h.
1287 (grub_fs): Make next first element.
1288 (grub_fs_list): New variable declaration.
1289 (grub_fs_register): Make inline.
1290 (grub_fs_unregister): Likewise.
1291 (grub_fs_iterate): Removed.
1292 (FOR_FILESYSTEMS): New macro.
1293 * include/grub/handler.h: Removed.
1294 * include/grub/list.h (grub_list_hook_t): Removed.
1295 (grub_list_test_t): Likewise.
1296 (grub_list_pop): Likewise.
1297 (grub_list_iterate): Likewise.
1298 (grub_list_insert): Likewise.
1299 (FOR_LIST_ELEMENTS): New macro.
1300 * include/grub/parser.h (grub_parser_class): Removed.
1301 (grub_parser_register): Likewise.
1302 (grub_parser_unregister): Likewise.
1303 (grub_parser_get_current): Likewise.
1304 (grub_parser_set_current): Likewise.
1305 (grub_register_rescue_parser): Likewise.
1306 (grub_rescue_parse_line): New function.
1307 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1308 * include/grub/script_sh.h (grub_script_function_list): New variable
1309 declaration.
1310 (FOR_SCRIPT_FUNCTIONS): New macro.
1311 (grub_script_function_iterate): Removed.
1312 (grub_normal_parse_line): New prototype.
1313 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1314 (FOR_DISABLED_TERM_INPUTS): Likewise.
1315 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1316 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1317 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1318 element.
1319 (grub_video_register): Inline.
1320 (grub_video_unregister): Likewise.
1321 (grub_video_adapter_list): New variable declaration.
1322 (grub_video_iterate): Removed.
1323 (FOR_VIDEO_ADAPTERS): New macro.
1324 * kern/dl.c (grub_dl_list): Removed. All users updated.
1325 (grub_dl_iterate): Removed.
1326 * kern/fs.c (grub_fs_list): Make global.
1327 (grub_fs_register): Removed.
1328 (grub_fs_unregister): Likewise.
1329 (grub_fs_iterate): Likewise.
1330 * kern/handler.c: Removed.
1331 * kern/list.c (grub_list_pop): Removed.
1332 (grub_list_iterate): Likewise.
1333 (grub_list_insert): Likewise.
1334 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1335 (grub_prio_list_insert): Don't use grub_list_insert.
1336 * kern/main.c (grub_register_rescue_parser): Don't call
1337 grub_register_rescue_parser.
1338 * kern/parser.c (grub_parser_class): Removed.
1339 (grub_parser_execute): Use grub_rescue_parse_line.
1340 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1341 (grub_rescue_parser): Removed.
1342 (grub_register_rescue_parser): Likewise.
1343 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1344 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1345 (grub_auth_check_authentication): Likewise.
1346 * normal/completion.c (iterate_command): Removed.
1347 (grub_normal_do_completion): Use FOR_COMMANDS.
1348 * normal/handler.c: Removed.
1349 * normal/main.c (read_config_file): Remove parser changing.
1350 (grub_normal_execute): Don't call read_handler_list.
1351 (grub_normal_read_line_real): Statically allocate prompt.
1352 (grub_cmdline_run): Use grub_normal_parse_line.
1353 (GRUB_MOD_FINI): Don't call free_handler_list.
1354 * normal/menu_entry.c (run): Likewise.
1355 * script/function.c (grub_script_function_list): Make global.
1356 (grub_script_function_iterate): Removed.
1357 * script/main.c (grub_normal_parse_line): Make global.
1358 (grub_sh_parser): Removed.
1359 (GRUB_MOD_INIT): Likewise.
1360 (GRUB_MOD_FINI): Likewise.
1361 * tests/lib/functional_test.c (grub_functional_test): Use
1362 FOR_LIST_ELEMENTS.
1363 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1364 (grub_test_run): Use FOR_LIST_ELEMENTS.
1365 * tests/lib/unit_test.c (main): Likewise.
1366 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1367 grub_list_pop.
1368 * util/grub-fstest.c (grub_term_input_class): Removed.
1369 (grub_term_output_class): Likewise.
1370 * util/grub-probe.c: Likewise.
1371 * util/i386/pc/grub-setup.c: Likewise.
1372 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1373 * util/grub-script-check.c (main): Don't call grub_init_all and
1374 grub_fini_all.
1375 * video/video.c (grub_video_adapter_list): Make global.
1376 (grub_video_register): Removed.
1377 (grub_video_unregister): Likewise.
1378 (grub_video_iterate): Likewise.
1379
1380 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1383 reported by Henrique Ferreiro.
1384
1385 2010-06-09 Robert Millan <rmh@gnu.org>
1386
1387 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1388 ones, when both are available.
1389
1390 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1391
1392 Make --version uniform and avoid hard-coded program name.
1393
1394 * util/grub-mkimage.c (main): Use `program_name' instead of
1395 hard-coded string.
1396 * util/i386/pc/grub-setup.c (main): Likewise.
1397 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1398 * util/grub-install.in: Save the basename of $0 in $self, and use the
1399 latter in informational messages. Use the same format for --version
1400 as the binary programs.
1401 * util/grub-mkconfig.in: Likewise.
1402 * util/grub-mkrescue.in: Likewise.
1403 * util/grub-reboot.in: Likewise.
1404 * util/grub-set-default.in: Likewise.
1405 * util/i386/efi/grub-install.in: Likewise.
1406 * util/ieee1275/grub-install.in: Likewise.
1407 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1408
1409 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1410
1411 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1412 embedding area. Use <= instead of == when checking for non-emptiness.
1413
1414 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1415
1416 * configure.ac: Add `.' to the directories searched for unifont.
1417
1418 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1419
1420 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1421 grub_script.yy.h.
1422
1423 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1424
1425 * docs/grub.texi (History): Expand to cover GRUB 2.
1426 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1427 commands, not `terminal'.
1428 (serial): Likewise.
1429 (terminal_input): New section.
1430 (terminal_output): New section.
1431 (uppermem): New section (stub).
1432 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1433
1434 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1435
1436 * docs/grub.texi (Security): Menu entries are unrestricted by
1437 default, not restricted to superusers as I had previously thought.
1438 Reword to account for this.
1439
1440 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1441
1442 * kern/emu/misc.c (device_mapper_null_log): New function.
1443 (grub_device_mapper_supported): New function.
1444 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1445 prototype.
1446 * kern/emu/hostdisk.c (find_partition_start): Check whether
1447 device-mapper is supported before trying to use it.
1448 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1449
1450 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1451
1452 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1453 (File name syntax): Likewise.
1454 (help): --all is no longer supported in GRUB 2. Be more precise
1455 about pattern matching.
1456
1457 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1458
1459 * normal/completion.c (grub_normal_do_completion): When completing
1460 arguments to "set" and the current word contains an equals sign,
1461 skip to after the equals sign before starting completion.
1462
1463 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1464
1465 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1466
1467 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1468
1469 * docs/grub.texi (Network): New section.
1470 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1471 `(nd)' as in GRUB Legacy.
1472 (pxe_unload): New section.
1473
1474 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1475
1476 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1477 in the rescue shell, so recommend using `set' instead. Thanks,
1478 Jordan Uggla.
1479
1480 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1481
1482 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1483 (password): New section.
1484 (password_pbkdf2): New section.
1485 (search): New section.
1486 (Security): New section.
1487 (Troubleshooting): New section, currently very incomplete.
1488 (Invoking grub-mkpasswd-pbkdf2): New section.
1489 (Internals): New section, currently very incomplete.
1490
1491 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1492
1493 * util/grub.d/00_header.in: Add some more quoting (of
1494 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1495 work again.
1496 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1497
1498 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1499
1500 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1501 to `count', fixing variable shadowing that broke the -c option.
1502
1503 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
1504
1505 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1506 in case they contain spaces.
1507
1508 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1509
1510 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1511 "part_" to partmap module names, in line with grub-install.
1512 Reported by: Jindřich Makovička (Debian bug #584426).
1513
1514 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1515
1516 * util/grub-mkimage.c: Make target-related error messages slightly
1517 more helpful; -O talks about "format". Explicitly point to the use
1518 of -O if no target is specified.
1519 Reported by: Didier Raboud (Debian bug #584415).
1520
1521 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
1522
1523 * INSTALL: Document several build requirements for optional features
1524 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1525
1526 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1527
1528 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1529 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1530 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1531
1532 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1533
1534 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1535 Thanks to Jordan Uggla for spotting this.
1536
1537 2010-06-02 Aleš Nesrsta <starous@volny.cz>
1538
1539 Finally make USB usable.
1540
1541 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1542 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1543 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1544 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1545 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1546 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1547 (GRUB_OHCI_FSMPS): Likewise.
1548 (GRUB_OHCI_PERIODIC_START): Likewise.
1549 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1550 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1551 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1552 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1553 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1554 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1555 (grub_ohci_transaction): Likewise.
1556 (grub_ohci_transfer): Improve condition detection algorithms.
1557 Handle toggle property. Program the transactions correctly.
1558 Improve error handling. Various important fixups.
1559 (grub_ohci_portstatus): Put register writes in right order.
1560 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1561 (grub_uhci_transfer): Don't show "failed" message on success.
1562 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1563 array.
1564 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1565 determine its size.
1566 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1567 before initialization is completed. Use IN direction for empty
1568 transfers. Use last_trans and compute toggle.
1569 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1570 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1571 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1572 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1573 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1574 (grub_usb_device): Increase toggle to 256.
1575 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1576 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1577 GRUB_USBMS_SUBCLASS_SFF8070.
1578 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1579 (grub_scsi_inquiry): New member page and alloc_length.
1580 (grub_scsi_request_sense): New structure.
1581 (grub_scsi_request_sense_data): Likewise.
1582 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1583 control.
1584 * disk/scsi.c (grub_scsi_request_sense): New function.
1585 (grub_scsi_test_unit_ready): Likewise.
1586 (grub_scsi_inquiry): Fill new fields.
1587 (grub_scsi_read_capacity): Likewise.
1588 (grub_scsi_read10): Add request sense at the end.
1589 (grub_scsi_read12): Likewise.
1590 (grub_scsi_write10): Likewise.
1591 (grub_scsi_write12): Likewise.
1592 (grub_scsi_open): Add Test Unit Ready.
1593 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1594 Support additional subclasses. Con't clear halt yet. Activate the
1595 proper config. Calculate LUNs correctly.
1596 (grub_usbms_transfer): Various important fixups.
1597
1598 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1601 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1602 (grub_ohci_fini_hw): New function.
1603 (grub_ohci_restore_hw): Likewise.
1604 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1605 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1606 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1607
1608 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 Dedicated DMA allocations.
1611
1612 * bus/pci.c (grub_memalign_dma32): New function
1613 (grub_dma_free): Likewise.
1614 (grub_dma_get_virt): Likewise.
1615 (grub_dma_get_phys): Likewise.
1616 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1617 (grub_ohci_pci_iter): Use dma32_alloc.
1618 (grub_ohci_transfer): Likewise.
1619 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1620 (grub_usb_bulk_readwrite): Likewise.
1621 * include/grub/pci.h: Add declarations.
1622
1623 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 CS5536 support.
1626
1627 * bus/cs5536.c: New file.
1628 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1629 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1630 (cs5536_mod_SOURCES): New variable.
1631 (cs5536_mod_CFLAGS): Likewise.
1632 (cs5536_mod_LDFLAGS): Likewise.
1633 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1634 machine/pci.h.
1635 (kernel_img_SOURCES): Add bus/cs5536.c.
1636 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1637 usb_keyboard.mod.
1638 (usb_mod_SOURCES): New variable.
1639 (usb_mod_CFLAGS): New variable.
1640 (usb_mod_LDFLAGS): New variable.
1641 (usbtest_mod_SOURCES): New variable.
1642 (usbtest_mod_CFLAGS): New variable.
1643 (usbtest_mod_LDFLAGS): New variable.
1644 (ohci_mod_SOURCES): New variable.
1645 (ohci_mod_CFLAGS): New variable.
1646 (ohci_mod_LDFLAGS): New variable.
1647 (usbms_mod_SOURCES): New variable.
1648 (usbms_mod_CFLAGS): New variable.
1649 (usbms_mod_LDFLAGS): New variable.
1650 (usb_keyboard_mod_SOURCES): New variable.
1651 (usb_keyboard_mod_CFLAGS): New variable.
1652 (usb_keyboard_mod_LDFLAGS): New variable.
1653 * include/grub/smbus.h: New file.
1654 * include/grub/cs5536.h: New file.
1655
1656 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1657
1658 * util/grub.d/00_header.in: Add safety check to make sure that
1659 ${locale_dir} exists before trying to probe it.
1660
1661 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1662
1663 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1664 per the GNU Coding Standards; this is now too obscure to be worth
1665 documenting.
1666 (QNX): Likewise.
1667 (chainloader): Remove cross-reference to `SCO UnixWare'.
1668
1669 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1670
1671 * docs/grub.texi (Chain-loading): New section.
1672 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1673 adjusted for GRUB 2.
1674 (SCO UnixWare): Likewise.
1675 (QNX): Likewise.
1676 (chainloader): Add reference to `Block list syntax'.
1677 (drivemap): New section.
1678 (parttool): New section.
1679
1680 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1681
1682 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1683 the grub shell'.
1684 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1685 (Installing GRUB using grub-install): Remove reference to the grub
1686 shell; mention `grub-mkimage' and `grub-setup' instead.
1687 (Invoking grub-install): Likewise.
1688 (Interface): Add reference to `Menu entry editor'.
1689 (serial): Remove `--device' option.
1690
1691 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1692
1693 * docs/grub.texi (Configuration): New section, documenting
1694 configuration file generation using grub-mkconfig. I've left a slot
1695 for documenting the full shell scripting format but have not yet
1696 started on writing that up.
1697 (Invoking grub-mkconfig): New section.
1698
1699 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1700
1701 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1702 (GNU GRUB manual): Likewise.
1703 (General commands): Update description of `terminfo' for GRUB 2.
1704
1705 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1706
1707 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1708 (GRUB_MOD_INIT): Fix capitalisation.
1709 * docs/grub.texi (Command-line and menu entry commands): Document
1710 gettext and gptsync commands.
1711
1712 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1713
1714 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1715 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1716
1717 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
1718
1719 Add btrfs probing support, currently only in the single-device case.
1720
1721 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1722 function.
1723 (grub_guess_root_device): Call find_root_device_from_mountinfo
1724 before looking in /dev.
1725
1726 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1729 GRUB_DISK_SIZE_UNKNOWN.
1730 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1731
1732 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
1733
1734 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1735 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1736 corrupted or not synced properly.
1737
1738 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1741 Reported by: Seth Goldberg.
1742
1743 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1746 addition of dest.
1747 Reported by: Seth Goldberg.
1748
1749 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1752 Reported by: Seth Goldberg.
1753
1754 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1757 64-bit address as signed on MIPS.
1758
1759 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1760
1761 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1762 to the empty string.
1763
1764 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1765
1766 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1767
1768 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1769 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1770 * kern/misc.c (__enable_execute_stack): Disable on
1771 GRUB_MACHINE_EMU.
1772
1773 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1774
1775 Make grub-probe work with symbolic links under /dev/mapper as well
1776 as with real block devices. The Linux world seems to be (at best)
1777 in transition here, and GRUB shouldn't get caught in the middle.
1778
1779 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1780 /dev/mapper.
1781
1782 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1783
1784 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1785 input files (in which case exit zero).
1786
1787 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1788
1789 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1790 return NULL for various reasons even if it has a maximum-length
1791 buffer: for example, there might be a symlink loop, or the path
1792 might exceed PATH_MAX. If this happens, return NULL.
1793
1794 2010-05-27 Robert Millan <rmh@gnu.org>
1795
1796 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1797 partmap module to handle cross-partmap setups.
1798 Reported by Orestes Mas. Gràcies!
1799
1800 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1801
1802 * util/grub-mkrescue.in: Initialise override_dir rather than
1803 assuming that it's unset or empty in the environment.
1804
1805 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1806
1807 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1808 variable index into p_index to suppress a warning with -Wshadow.
1809
1810 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1811
1812 * INSTALL: Added flex >= 2.5.35 requirement.
1813
1814 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1817
1818 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 cmostest support.
1821
1822 * commands/i386/cmostest.c: New file.
1823 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1824 (cmostest_mod_SOURCES): New variable.
1825 (cmostest_mod_CFLAGS): Likewise.
1826 (cmostest_mod_LDFLAGS): Likewise.
1827 * conf/i386-pc.rmk: Likewise.
1828 * docs/grub.texi (Vendor power-on keys): New section.
1829 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1830 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1831 and GRUB_BUTTON_CMOS_ADDRESS.
1832 * util/grub.d/00_header.in: Handle powering-on by separate button.
1833
1834 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1837 Removed drawing_scrollbar argument. All users updated
1838 Fixes #29792.
1839 Reported by Jo Shields
1840
1841 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1844 buffer since gfxterm handles double repaint.
1845
1846 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1849 * term/gfxterm.c (real_scroll): Likewise.
1850
1851 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1854 before calling BIOS.
1855
1856 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * include/grub/i18n.h: Always enable grub_gettext.
1859
1860 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1863 partition naming style.
1864
1865 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
1866
1867 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1868 not the first option.
1869
1870 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1871
1872 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1873
1874 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1875
1876 * util/misc.c: Move inclusion of <limits.h> to ...
1877 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1878
1879 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1880
1881 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1882 Fix merge error in NetBSD code.
1883 (find_partition_start) [__NetBSD__]: Likewise.
1884
1885 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1886
1887 Fix grub-mkrescue usage unit testing.
1888
1889 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1890
1891 2010-05-18 Christian Franke <franke@computer.org>
1892
1893 * util/grub.d/10_windows.in: Use path names instead of
1894 drive letters to prevent warning from Cygwin 1.7.
1895 Add drivemap command to menuentry if needed.
1896
1897 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1898
1899 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1900 gnumach and gnumach.gz.
1901
1902 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * include/grub/i18n.h (gettext): Inline instead of using #define.
1905 (grub_gettext): Likewise.
1906 (_): Likewise.
1907
1908 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1911 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1912 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1913 (main): Add a slash after pkglibdirroot.
1914
1915 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * util/grub-install.in: Add missing "in" keyword.
1918
1919 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1922 Reported by: Seth Goldberg.
1923
1924 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1927
1928 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1929
1930 * configure.ac: Check for Linux device-mapper support.
1931
1932 * util/hostdisk.c (device_is_mapped): New function.
1933 (find_partition_start): New function, partly broken out from
1934 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1935 device-mapper support added.
1936 (linux_find_partition): Use find_partition_start.
1937 (convert_system_partition_to_system_disk): Add `st' argument.
1938 Support Linux /dev/mapper/* devices if device-mapper support is
1939 available; only DM-RAID devices are understood at present.
1940 (find_system_device): Add `st' argument. Pass it to
1941 convert_system_partition_to_system_disk.
1942 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1943 find_system_device and convert_system_partition_to_system_disk. Use
1944 find_partition_start.
1945
1946 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1947 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1948 * util/deviceiter.c [__linux__]: Define MINOR.
1949 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1950 * util/mkdevicemap.c (grub_putchar): New function.
1951 (grub_getkey): New function.
1952 (grub_refresh): New function.
1953 (main): Set debug=all if -v -v is used.
1954
1955 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1956
1957 Fix build with non-GNU libcs.
1958
1959 * util/misc.c (canonicalize_file_name): Move to ...
1960 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1961 grub_make_system_path_relative_to_its_root.
1962
1963 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
1964
1965 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1966 we handle finding grub-mkimage. Default to finding grub-mkimage in
1967 ${bindir} with program_transform_name applied, and provide a
1968 --grub-mkimage option to override this.
1969
1970 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 Remove grub-mkisofs.
1973
1974 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1975 (grub_mkisofs_SOURCES): Removed.
1976 (grub_mkisofs_CFLAGS): Removed.
1977 * util/mkisofs/defaults.h: Removed.
1978 * util/mkisofs/eltorito.c: Likewise.
1979 * util/mkisofs/exclude.h: Likewise.
1980 * util/mkisofs/hash.c: Likewise.
1981 * util/mkisofs/include/: Likewise.
1982 * util/mkisofs/include/fctldefs.h: Likewise.
1983 * util/mkisofs/include/mconfig.h: Likewise.
1984 * util/mkisofs/include/prototyp.h: Likewise.
1985 * util/mkisofs/include/statdefs.h: Likewise.
1986 * util/mkisofs/iso9660.h: Likewise.
1987 * util/mkisofs/joliet.c: Likewise.
1988 * util/mkisofs/match.c: Likewise.
1989 * util/mkisofs/match.h: Likewise.
1990 * util/mkisofs/mkisofs.c: Likewise.
1991 * util/mkisofs/mkisofs.h: Likewise.
1992 * util/mkisofs/msdos_partition.h: Likewise.
1993 * util/mkisofs/multi.c: Likewise.
1994 * util/mkisofs/name.c: Likewise.
1995 * util/mkisofs/rock.c: Likewise.
1996 * util/mkisofs/tree.c: Likewise.
1997 * util/mkisofs/write.c: Likewise.
1998
1999 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 Unify grub-mkimage accross platforms.
2002
2003 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2004 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2005 (grub_mkelfimage_SOURCES): Removed.
2006 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2007 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2008 (bin_UTILITIES): Add grub-mkimage.
2009 (grub_mkimage_SOURCES): New variable.
2010 (kernel_img_HEADERS): Remove machine/kernel.h.
2011 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2012 (pkglib_PROGRAMS): Add kernel.img.
2013 (kernel_img_HEADERS): Add machine/kernel.h.
2014 (kernel_img_FORMAT): Removed.
2015 (bin_UTILITIES): Remove grub-mkimage.
2016 (grub_mkimage_SOURCES): Removed.
2017 (grub_mkimage_CFLAGS): Likewise.
2018 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2019 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2020 (pkglib_PROGRAMS): Add kernel.img.
2021 (bin_UTILITIES): Remove grub-mkimage.
2022 (grub_mkimage_SOURCES): Removed.
2023 (grub_mkimage_CFLAGS): Likewise.
2024 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2025 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2026 (pkglib_PROGRAMS): Add kernel.img.
2027 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2028 (pkglib_PROGRAMS): Add kernel.img.
2029 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2030 (grub_mkimage_SOURCES): Removed.
2031 (grub_mkimage_CFLAGS): Likewise.
2032 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2033 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2034 (pkglib_PROGRAMS): Add kernel.img.
2035 (bin_UTILITIES): Remove grub-mkimage.
2036 (grub_mkimage_SOURCES): Removed.
2037 (grub_mkimage_CFLAGS): Likewise.
2038 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2039 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2040 (grub_mkimage_SOURCES): Removed.
2041 (grub_mkimage_CFLAGS): Likewise.
2042 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2043 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2044 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2045 (grub_pe32_optional_header): ... this.
2046 (grub_pe64_optional_header): ... and this. All users updated.
2047 (GRUB_PE32_PE32_MAGIC): Split into ..
2048 (GRUB_PE32_PE32_MAGIC): .. this.
2049 (GRUB_PE32_PE64_MAGIC): .. and this.
2050 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2051 * include/grub/elf.h (PT_GNU_STACK): New definition.
2052 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2053 * include/grub/i386/efi/kernel.h: Likewise.
2054 * include/grub/i386/kernel.h: Likewise.
2055 * include/grub/i386/pc/kernel.h: Likewise.
2056 * include/grub/i386/qemu/boot.h: Likewise.
2057 * include/grub/mips/kernel.h: Likewise.
2058 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2059 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2060 * include/grub/powerpc/kernel.h: Likewise.
2061 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2062 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2063 * include/grub/sparc64/kernel.h: Likewise.
2064 * include/grub/x86_64/efi/kernel.h: Likewise.
2065 * include/grub/x86_64/kernel.h: Likewise.
2066 * include/grub/offsets.h: New file.
2067 * include/grub/kernel.h (grub_module_info): Split into ...
2068 (grub_module_info32): ... this.
2069 (grub_module_info64): ... and this.
2070 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2071 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2072 (grub_boot_blocklist): Moved from here ...
2073 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2074 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2075 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2076 * include/grub/types.h (grub_target_to_host16): Removed.
2077 (grub_target_to_host32): Likewise.
2078 (grub_target_to_host64): Likewise.
2079 (grub_host_to_target16): Likewise.
2080 (grub_host_to_target32): Likewise.
2081 (grub_host_to_target64): Likewise.
2082 (grub_host_to_target_addr): Likewise.
2083
2084 Support grub-mkrescue for efi, coreboot and qemu.
2085
2086 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2087 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2088 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2089 * util/grub-mkrawimage.c: Moved from here ...
2090 * util/grub-mkimage.c: ... here. All users updated.
2091 (ALIGN_ADDR): Use image_target.
2092 (TARGET_NO_FIELD): New const.
2093 (image_target_desc): New type.
2094 (image_targets): New array.
2095 (grub_target_to_host64): Use image_target.
2096 (grub_target_to_host32): Likewise.
2097 (grub_target_to_host16): Likewise.
2098 (grub_host_to_target64): Likewise.
2099 (grub_host_to_target32): Likewise.
2100 (grub_host_to_target16): Likewise.
2101 (grub_host_to_target_addr): Likewise.
2102 (generate_image): Handle multiimage.
2103 (main): Require -O parameter. All users updated.
2104 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2105 util/efi/grub-mkimage.c
2106 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2107 New option --rom-directory.
2108 Use xorriso.
2109 * util/i386/efi/grub-mkimage.c: Removed.
2110 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2111 (grub_target_to_host32): Likewise.
2112 (grub_target_to_host64): Likewise.
2113 (grub_host_to_target16): Likewise.
2114 (grub_host_to_target32): Likewise.
2115 (grub_host_to_target64): Likewise.
2116 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2117 (grub_target_to_host32): Likewise.
2118 (grub_target_to_host64): Likewise.
2119 (grub_host_to_target16): Likewise.
2120 (grub_host_to_target32): Likewise.
2121 (grub_host_to_target64): Likewise.
2122
2123 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2124
2125 Source tree is reorganized for emu build.
2126
2127 * include/grub/util/console.h: Move from here...
2128 * include/grub/emu/console.h: ...to here.
2129 * include/grub/util/getroot.h: Move from here...
2130 * include/grub/emu/getroot.h: ...to here.
2131 * include/grub/util/hostdisk.h: Move from here...
2132 * include/grub/emu/hostdisk.h: ...to here.
2133 * util/console.c: Move from here...
2134 * kern/emu/console.c: ...to here.
2135 * util/getroot.c: Move from here...
2136 * kern/emu/getroot.c: ...to here.
2137 * util/grub-emu.c: Move from here...
2138 * kern/emu/main.c: ...to here.
2139 * util/hostdisk.c: Move from here...
2140 * kern/emu/hostdisk.c: ...to here.
2141 * util/hostfs.c: Move from here...
2142 * kern/emu/hostfs.c: ...to here.
2143 * util/mm.c: Move from here...
2144 * kern/emu/mm.c: ...to here.
2145 * util/pci.c: Move from here...
2146 * bus/emu/pci.c: ...to here.
2147 * util/sdl.c: Move from here...
2148 * video/emu/sdl.c: ...to here.
2149 * util/time.c: Move from here...
2150 * kern/emu/time.c: ...to here.
2151 * util/usb.c: Move from here...
2152 * bus/usb/emu/usb.c: ...to here.
2153
2154 * include/grub/emu/misc.h: New header for grub-emu functions.
2155 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2156
2157 * conf/any-emu.rmk: Rule updates for above renames.
2158 * conf/common.rmk: Likewise.
2159 * conf/i386-pc.rmk: Likewise.
2160 * conf/i386-qemu.rmk: Likewise.
2161 * conf/mips.rmk: Likewise.
2162 * conf/sparc64-ieee1275.rmk: Likewise.
2163 * conf/x86-efi.rmk: Likewise.
2164
2165 * disk/lvm.h: #include updates for above renames.
2166 * util/grub-mkrelpath.c: Likewise.
2167 * util/grub-probe.c: Likewise.
2168 * util/i386/pc/grub-setup.c: Likewise.
2169 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2170 * kern/emu/console.c: Likewise.
2171 * kern/emu/getroot.c: Likewise.
2172 * kern/emu/hostdisk.c: Likewise.
2173 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2174
2175 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2176 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2177 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2178 * util/misc.c: Remove grub-emu functions.
2179
2180 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Fix gfxmenu crash.
2183 Reported by: Thorsten Grützmacher.
2184
2185 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2186 timeout hook.
2187 (circprog_set_property): Register and unregister timeout hook.
2188 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2189 (label_destroy): Free template. and unregister hook.
2190 (label_set_state): New function.
2191 (label_set_property): Handle templates and hooks.
2192 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2193 timeout hook.
2194 (progress_bar_set_property): Register and unregister timeout hook.
2195 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2196 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2197 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2198 (update_timeout_visit): Removed.
2199 (update_timeouts): New function.
2200 (redraw_timeouts): Likewise.
2201 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2202 (grub_gfxmenu_clear_timeout): Likewise.
2203 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2204 (grub_gfxmenu_timeout_notify): Likewise.
2205 (grub_gfxmenu_timeout_notifications): New external variable.
2206 (grub_gfxmenu_timeout_register): New function.
2207 (grub_gfxmenu_timeout_unregister): Likewise.
2208
2209 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 Transform (broken) vga terminal into (working) vga video driver.
2212
2213 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2214 video/i386/pc/vga.c.
2215 * include/grub/video.h (grub_video_driver_id):
2216 Add GRUB_VIDEO_DRIVER_VGA.
2217 * term/i386/pc/vga.c: Renamed to ...
2218 * video/i386/pc/vga.c: ...this
2219 (DEBUG_VGA): Removed.
2220 (CHAR_WIDTH): Likewise.
2221 (CHAR_HEIGHT): Likewise.
2222 (TEXT_WIDTH): Likewise.
2223 (TEXT_HEIGHT): Likewise.
2224 (DEFAULT_FG_COLOR): Likewise.
2225 (DEFAULT_BG_COLOR): Likewise.
2226 (colored_char): Likewise.
2227 (xpos): Likewise.
2228 (ypos): Likewise.
2229 (cursor_state): Likewise.
2230 (fg_color): Likewise.
2231 (bg_color): Likewise.
2232 (text_buf): Likewise.
2233 (page): Likewise.
2234 (font): Likewise.
2235 (framebuffer): New variable.
2236 (set_read_map): Disabled.
2237 (setup): New variable.
2238 (is_target): Likewise.
2239 (grub_vga_mod_init): Likewise.
2240 (grub_vga_mod_fini): Likewise.
2241 (check_vga_mem): Likewise.
2242 (write_char): Likewise.
2243 (write_cursor): Likewise.
2244 (scroll_up): Likewise.
2245 (grub_vga_putchar): Likewise.
2246 (grub_vga_getcharwidth): Likewise.
2247 (grub_vga_getwh): Likewise.
2248 (grub_vga_getxy): Likewise.
2249 (grub_vga_gotoxy): Likewise.
2250 (grub_vga_cls): Likewise.
2251 (grub_vga_setcolorstate): Likewise.
2252 (grub_vga_setcursor): Likewise.
2253 (grub_video_vga_init): New function.
2254 (grub_video_vga_setup): Likewise.
2255 (grub_video_vga_fini): Likewise.
2256 (update_target): Likewise.
2257 (grub_video_vga_blit_bitmap): Likewise.
2258 (grub_video_vga_blit_render_target): Likewise.
2259 (grub_video_vga_set_active_render_target): Likewise.
2260 (grub_video_vga_get_active_render_target): Likewise.
2261 (grub_video_vga_swap_buffers): Likewise.
2262 (grub_video_vga_set_palette): Likewise.
2263 (grub_video_vga_get_info_and_fini): Likewise.
2264 (grub_vga_term): Removed.
2265 (grub_video_vga_adapter): New variable.
2266 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2267 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2268
2269 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * video/readers/jpeg.c: Indented.
2272
2273 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Various jpeg cleanups.
2276
2277 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2278 (grub_jpeg_decode_quan_table): Use sizeof.
2279 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2280
2281 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
2282
2283 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2284 tables. Ignore non-last ac bit.
2285 (grub_jpeg_decode_quan_table): Likewise.
2286
2287 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2290 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2291 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2292 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2293 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2294 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2295
2296 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2299 error.
2300
2301 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2304
2305 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2308 condition.
2309
2310 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2313 part.
2314
2315 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2318 pointers.
2319
2320 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2323
2324 2010-05-01 Christian Franke <franke@computer.org>
2325
2326 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2327 Remove broken Cygwin path conversion.
2328 * util/misc.c: [__CYGWIN__] Add include and define.
2329 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2330 for Cygwin 1.7.
2331 (make_system_path_relative_to_its_root): Simplify loop, replace early
2332 return by break.
2333 [__CYGWIN__] Add conversion to win32 path.
2334 Include "/" case in trailing slash removal.
2335
2336 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2339 Reported by: Seth Goldberg
2340
2341 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * commands/help.c (grub_cmd_help): Fix a typo.
2344 Reported by: Seth Goldberg
2345
2346 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2349 name and add N_.
2350 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2351 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2352 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2353 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2354 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2355 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2356 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2357 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2358 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2359 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2360 * normal/context.c (GRUB_MOD_INIT): Likewise.
2361 * normal/main.c (GRUB_MOD_INIT): Likewise.
2362 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2363 * term/serial.c (GRUB_MOD_INIT): Likewise.
2364 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2365
2366 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2369 extra == 0.
2370
2371 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * commands/iorw.c: New file.
2374 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2375 (iorw_mod_SOURCES): New variable.
2376 (iorw_mod_CFLAGS): Likewise.
2377 (iorw_mod_LDFLAGS): Likewise.
2378
2379 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Hotkey support
2382
2383 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2384 * normal/main.c (hotkey_aliases): New variable.
2385 (grub_normal_add_menu_entry): Parse "--hotkey".
2386 * normal/menu_text.c (run_menu): Handle hotkeys.
2387
2388 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * kern/i386/coreboot/init.c (grub_machine_init): Call
2391 grub_machine_mmap_init on qemu.
2392
2393 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * boot/i386/qemu/boot.S: Add a missing .code16.
2396
2397 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 Use LBIO on coreboot.
2400
2401 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2402 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2403 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2404 New declaration.
2405 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2406 grub_machine_mmap_init on coreboot.
2407 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2408 GRUB_LINUXBIOS_MEMBER_LINK.
2409 (grub_machine_mmap_iterate): Fix declaration.
2410 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2411
2412 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 Split coreboot and multiboot ports.
2415
2416 * conf/i386-multiboot.rmk: New file.
2417 * configure.ac: Add multiboot port.
2418 * include/grub/i386/multiboot/boot.h: New file.
2419 * include/grub/i386/multiboot/console.h: Likewise.
2420 * include/grub/i386/multiboot/init.h: Likewise.
2421 * include/grub/i386/multiboot/kernel.h: Likewise.
2422 * include/grub/i386/multiboot/loader.h: Likewise.
2423 * include/grub/i386/multiboot/memory.h: Likewise.
2424 * include/grub/i386/multiboot/serial.h: Likewise.
2425 * include/grub/i386/multiboot/time.h: Likewise.
2426 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2427 * loader/multiboot.c: Likewise.
2428 * loader/multiboot_mbi2.c: Likewise.
2429 * util/grub-mkrescue.in: Generate multiboot rescue.
2430
2431 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2434
2435 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Merge handling of input and output terminals. Fix a hang.
2438
2439 * commands/terminal.c (abstract_terminal): New struct.
2440 (handle_command): New function. Based on grub_cmd_terminal_input.
2441 (grub_cmd_terminal_input): Use handle_command.
2442 (grub_cmd_terminal_output): Use handle_command.
2443
2444 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2445
2446 Fix comment handling.
2447
2448 * tests/grub_script_comments.in: New testcase.
2449 * conf/tests.rmk: Rules for new testcase.
2450 * script/yylex.l: Updated flex rules.
2451
2452 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2453
2454 * docs/grub.texi (play): Document that zero pitches produce rests.
2455 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2456 if argc is 1.
2457
2458 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2461 autogen issues.
2462
2463 2010-04-26 Christian Franke <franke@computer.org>
2464
2465 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2466 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2467 (grub_get_prefix): Remove function.
2468 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2469 make_system_path_relative_to_its_root ().
2470 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2471
2472 2010-04-24 Christian Franke <franke@computer.org>
2473
2474 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2475 (kernel_img_LDFLAGS): Remove -static-libgcc.
2476
2477 2010-04-24 Christian Franke <franke@computer.org>
2478
2479 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2480 and CHECK_END_SYMBOL if grub-emu is built.
2481 Unset TARGET_OBJ2ELF if grub-emu is built
2482 without module support.
2483
2484 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
2485
2486 Nilfs2 support.
2487
2488 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2489 (grub_fstest_SOURCES): Likewise.
2490 (pkglib_MODULES): Add nilfs2.mod.
2491 (nilfs2_mod_SOURCES): New variable.
2492 (nilfs2_mod_CFLAGS): Likewise.
2493 (nilfs2_mod_LDFLAGS): Likewise.
2494 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2495 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2496 * fs/nilfs2.c: New file.
2497
2498 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2501 is not supported.
2502
2503 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2504
2505 Add grub-mkconfig support for NetBSD.
2506
2507 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2508 * util/grub-mkconfig.in: export new NetBSD specific variables.
2509 * po/POTFILES-shell: added 10_netbsd.in.
2510 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2511
2512 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2513
2514 Fix emu build with grub-emu-pci and grub-emu-modules.
2515
2516 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2517 functions.
2518 * include/grub/libpciaccess.h: New file.
2519 * conf/any-emu.rmk: Update kernel headers for emu build.
2520
2521 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2524
2525 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2528
2529 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2532 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2533 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2534 util/ieee1275/ofpath.c.
2535 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2536 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2537 * include/grub/sparc64/ieee1275/boot.h
2538 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2539 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2540 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2541 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2542 const char *.
2543 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2544 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2545 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2546 install.
2547
2548 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2549
2550 * util/grub-mkconfig.in: Corrected two == equality tests.
2551 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2552 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2553 expect a number appended to it.
2554 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2555 expects a number appended to it.
2556
2557 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2560
2561 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * util/hostdisk.c (make_device_name): Change to new partition naming.
2564
2565 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2568
2569 2010-04-17 Christian Franke <franke@computer.org>
2570
2571 * Makefile.in: Add missing localedir setting.
2572
2573 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
2574
2575 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2576 mistake in r2156. Noticed by Anthony Fok.
2577
2578 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2579 @localedir@.
2580 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2581
2582 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2583
2584 Fix a spurious, uninitialized variable warning.
2585
2586 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2587 Initialize variable, shdr.
2588 (grub_freebsd_load_elfmodule): Likewise.
2589 (grub_freebsd_load_elf_meta): Likewise.
2590
2591 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2592
2593 Fix for escaped dollar in double quoted strings.
2594
2595 * script/yylex.l: Updated flex rules.
2596 * conf/tests.rmk: Rule for new testcase.
2597 * tests/grub_script_dollar.in: New testcase.
2598
2599 2010-04-13 Carles Pina i Estany <carles@pina.cat>
2600 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
2601
2602 Enclose all translated strings in grub.cfg in single quotes, and
2603 escape them appropriately (Ubuntu bug #552921).
2604
2605 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2606 * util/grub.d/10_hurd.in: Use it.
2607 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2608 * util/grub.d/10_linux.in (linux_entry): Likewise.
2609
2610 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 Fix cygwin compilation.
2613
2614 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2615 * include/grub/misc.h (__register_frame_info)
2616 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2617 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2618 * kern/misc.c (__register_frame_info)
2619 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2620 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2621
2622 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2625
2626 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 Unify libgcc processing.
2629
2630 * Makefile.in (kernel_img_LDFLAGS): New variable.
2631 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2632 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2633 overwriting.
2634 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2635 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2636 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2637 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2638 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2639 overwriting. Remove -lgcc and -static-libgcc
2640 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2641 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2642 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2643 (kernel_img_LDFLAGS): Append instead of overwriting.
2644 Remove -lgcc and -static-libgcc
2645 * conf/sparc64-ieee1275.rmk: Likewise.
2646 * include/grub/powerpc/libgcc.h: Move to ...
2647 * include/grub/libgcc.h: .. this.
2648 * include/grub/libgcc.h: Don't export most of the function on x86.
2649 (__bswapsi2): New export.
2650 (__bswapdi2): Likewise.
2651 * include/grub/mips/libgcc.h: Removed.
2652 * include/grub/sparc64/libgcc.h: Likewise.
2653
2654 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2657 disk_info_msg (conflicts with gettexting into languages with cases).
2658
2659 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2660
2661 Add grub-probe support for NetBSD.
2662
2663 * util/getroot.c (find_root_device): Convert block device to
2664 character device on NetBSD.
2665 * util/probe.c (probe): Require character device on NetBSD.
2666 * util/hostdisk.c: NetBSD specific headers.
2667 (configure_device_driver): new function to tune device driver
2668 parameters (currently only for NetBSD floppy driver).
2669 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2670 via disklabel ioctl).
2671 (open_device): call configure_device_driver on NetBSD.
2672 (convert_system_partition_to_system_disk): NetBSD specific code.
2673 (device_is_wholedisk): Likewise.
2674 (grub_util_biosdisk_get_grub_dev): Likewise.
2675 (make_device_name): Fixed a typo in bsd_part_str.
2676 * configure.ac: check for opendisk() and getrawpartition() on
2677 NetBSD and set LIBUTIL.
2678 * Makefile.in: add LIBUTIL to LIBS.
2679
2680 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2681
2682 Documentation fix.
2683
2684 * util/grub-script-check.c: Better help message.
2685
2686 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2687
2688 Fix FreeBSD build.
2689
2690 * configure.ac: Flex version check.
2691 * conf/common.rmk: Add -Wno-error to sh.mod.
2692 * script/yylex.l: Remove all #pragma.
2693
2694 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2697 prototype.
2698 Reported by: Seth Goldberg.
2699
2700 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2703 Rename "module" to "module2".
2704 Reported by: Seth Goldberg.
2705
2706 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2709 EXPORT_FUNC.
2710 Reported by: Seth Goldberg.
2711
2712 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * lib/posix_wrap/locale.h: Add missing file.
2715 Reported by: Seth Goldberg.
2716
2717 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 grub-emu module load support.
2720
2721 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2722 NO_DYNAMIC_MODULES switched to this.
2723 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2724 (CFLAGS): Likewise.
2725 * conf/any-emu.rmk: Generate symlist.
2726 (kernel_img_HEADERS): Add util/datetime.h.
2727 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2728 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2729 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2730 kern/$(target_cpu)/cache.S.
2731 * configure.ac (grub-emu-modules): New option.
2732 * genmk.rb: Handle multiple source lists.
2733 * include/grub/sdl.h: New file.
2734 * include/grub/libusb.h: Likewise.
2735 * util/grub-emu.c (main): Hanle (host) root.
2736 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2737 GRUB_ERR_UNKNOWN_DEVICE.
2738 * util/misc.c: Move mm functions to ...
2739 * util/mm.c: ... here. All users updated.
2740
2741 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2744 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2745 missing files.
2746 (maintainer-clean): Remove libgcrypt-grub.
2747
2748 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2751
2752 2010-04-09 EFI Coder <eficoder@hotmail.com>
2753
2754 * normal/menu_text.c (print_message): Clean up the message and show
2755 the Fn information when on EFI
2756 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2757
2758 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2761 All users updated.
2762 * normal/crypto.c (read_crypto_list): Likewise.
2763 * normal/dyncmd.c (read_command_list): Likewise.
2764 * normal/term.c (read_terminal_list): Likewise.
2765 * normal/main.c (read_lists): Use explicit prefix.
2766 (read_lists_hook): Use read_lists.
2767 (grub_normal_execute): Likewise.
2768
2769 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2772 Reported by: Thomas Schmitt.
2773 Add -no-emul-boot to grub-mkisofs parameters.
2774
2775 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * font/font.c: Indented.
2778
2779 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2780
2781 Elif support to GRUB script (by Deepak Vankadaru).
2782
2783 * tests/grub_script_if.in: New testcase.
2784 * conf/tests.rmk: Rule for new testcase.
2785 * script/parser.y: Grammar rules for elif.
2786
2787 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2788
2789 While and until loops support to GRUB script.
2790
2791 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2792 (grub_script_create_cmdwhile): New function prototype.
2793 (grub_script_execute_cmdwhile): New function prototype.
2794 * script/execute.c (grub_script_execute_cmdwhile): New function.
2795 * script/parser.y (command): New commands.
2796 (whilecmd): New grammar rule.
2797 (untilcmd): New grammar rule.
2798 * script/script.c (grub_script_create_cmdwhile): New function.
2799 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2800 function.
2801
2802 * tests/grub_script_while1.in: New testcase.
2803 * conf/tests.rmk: Rule for new testcase.
2804
2805 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2808 as *.jpg.
2809
2810 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
2811
2812 GRUB_BACKGROUND support.
2813
2814 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2815 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2816
2817 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Load fonts and modules for gfxmenu in grub-mkconfig.
2820 Idea by: Mario Vazquez
2821
2822 * util/grub.d/00_header.in: Load pf2 and image modules.
2823
2824 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 grub-mkconfig multiple terminal support.
2827
2828 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2829 * util/grub.d/00_header.in: Likewise.
2830
2831 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2834 we use cd $(srcdir).
2835
2836 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
2837
2838 * util/grub.d/10_linux.in: Only use the first word of
2839 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2840 spaces in GRUB_DISTRIBUTOR.
2841 * util/grub.d/10_kfreebsd.in: Likewise.
2842 * util/grub.d/10_hurd.in: Likewise.
2843
2844 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2845
2846 Fix unit testing framework for Qemu 0.12.
2847
2848 * tests/util/grub-shell.in: Remove -serial stdio option.
2849
2850 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 POSIX header file wrappers.
2853
2854 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2855 equivalents.
2856 * lib/posix_wrap/ctype.h: Likewise.
2857 * lib/posix_wrap/errno.h: Likewise.
2858 * lib/posix_wrap/langinfo.h: Likewise.
2859 * lib/posix_wrap/limits.h: Likewise.
2860 * lib/posix_wrap/localcharset.h: Likewise.
2861 * lib/posix_wrap/stdint.h: Likewise.
2862 * lib/posix_wrap/stdio.h: Likewise.
2863 * lib/posix_wrap/stdlib.h: Likewise.
2864 * lib/posix_wrap/string.h: Likewise.
2865 * lib/posix_wrap/sys/types.h: Likewise.
2866 * lib/posix_wrap/unistd.h: Likewise.
2867 * lib/posix_wrap/wchar.h: Likewise.
2868 * lib/posix_wrap/wctype.h: Likewise.
2869 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2870 (grub_script.yy.h): Likewise.
2871 * script/yylex.l: Remove POSIX emulation #defines.
2872 * Makefile.in (POSIX_CFLAGS): New variable.
2873 (GNULIB_UTIL_CFLAGS): Likewise.
2874
2875 Regexp support.
2876
2877 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2878 (regexp_mod_SOURCES): New variable.
2879 (regexp_mod_CFLAGS): Likewise.
2880 (regexp_mod_LDFLAGS): Likewise.
2881 * commands/regexp.c: New file.
2882 * gnulib/regcomp.c: New file. Imported from gnulib.
2883 * gnulib/regex.c: Likewise.
2884 * gnulib/regex_internal.c: Likewise.
2885 * gnulib/regex_internal.h: Likewise.
2886 * gnulib/regexec.c: Likewise.
2887 * gnulib/regex.h: Likewise.
2888
2889 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2892 unsupported video mode types.
2893
2894 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2897
2898 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2901 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2902
2903 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Remove unused grub_vga_get_font.
2906
2907 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2908 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2909
2910 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2911
2912 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2913 * include/grub/misc.h: Likewise.
2914
2915 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2916
2917 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2918 for which failure is fatal.
2919
2920 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2921
2922 * util/grub-install.in: Use mkdir -p to create grub directory.
2923 * util/i386/efi/grub-install.in: Likewise.
2924 * util/ieee1275/grub-install.in: Likewise.
2925
2926 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2927
2928 * Makefile.in (LEX): new variable.
2929
2930 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2931
2932 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2933 `=' and added double quotes on operands of this equality test.
2934
2935 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * Makefile.in (uninstall): Remove a leftover debug echo.
2938 Reported by: Grégoire Sutre
2939
2940 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 MIPS multiboot2 support.
2943
2944 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2945 (multiboot2_mod_SOURCES): New variable.
2946 (multiboot2_mod_CFLAGS): Likewise.
2947 (multiboot2_mod_LDFLAGS): Likewise.
2948 (multiboot2_mod_ASFLAGS): Likewise.
2949 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2950 definition.
2951 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2952 (MULTIBOOT_MBI_REGISTER): Likewise.
2953 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2954 (MULTIBOOT_ELF32_MACHINE): Likewise.
2955 (MULTIBOOT_ELF64_MACHINE): Likewise.
2956 * include/grub/mips/multiboot.h: New file.
2957 * include/grub/video.h (grub_video_driver_id): New type
2958 GRUB_VIDEO_DRIVER_SM712.
2959 (grub_video_get_info_and_fini): Export.
2960 (grub_video_get_palette): Likewise.
2961 (grub_video_get_driver_id): Likewise.
2962 * include/multiboot2.h: Resynced with spec.
2963 * loader/i386/multiboot.c: Moved from here ...
2964 * loader/multiboot.c: ... here. All users updated.
2965 (grub_multiboot_boot): Use platform-specific macros.
2966 * loader/i386/multiboot_elfxx.c: Moved from here ...
2967 * loader/multiboot_elfxx.c: ... here. All users updated.
2968 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2969 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2970 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2971
2972 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 Import gnulib argp module.
2975
2976 * gnulib/argp-ba.c: New file.
2977 * gnulib/argp-eexst.c: Likewise.
2978 * gnulib/argp-fmtstream.c: Likewise.
2979 * gnulib/argp-fmtstream.h: Likewise.
2980 * gnulib/argp-fs-xinl.c: Likewise.
2981 * gnulib/argp-help.c: Likewise.
2982 * gnulib/argp-namefrob.h: Likewise.
2983 * gnulib/argp-parse.c: Likewise.
2984 * gnulib/argp-pin.c: Likewise.
2985 * gnulib/argp-pv.c: Likewise.
2986 * gnulib/argp-pvh.c: Likewise.
2987 * gnulib/argp-version-etc.c: Likewise.
2988 * gnulib/argp-version-etc.h: Likewise.
2989 * gnulib/argp-xinl.c: Likewise.
2990 * gnulib/argp.h: Likewise.
2991
2992 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * kern/device.c (grub_device_iterate): Clear errors after failed
2995 opening device.
2996
2997 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3000 returned by firmware.
3001
3002 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3005 compilation on coreboot and qemu
3006
3007 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * include/multiboot2.h: Resync with spec.
3010
3011 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 Multiboot2 tag support
3014
3015 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3016 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3017 Remove loader/multiboot_loader.c.
3018 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3019 (grub_multiboot2_real_boot): Likewise.
3020 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3021 (grub_get_multiboot_mmap_count): New proto.
3022 (grub_fill_multiboot_mmap): Likewise.
3023 (grub_multiboot_set_video_mode): Likewise.
3024 (grub_multiboot_set_console): Likewise.
3025 (grub_multiboot_load): Likewise.
3026 (grub_multiboot_load_elf): Likewise.
3027 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3028 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3029 * include/multiboot.h: Resynced with specification.
3030 * include/multiboot2.h: Resynced with specification.
3031 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3032 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3033 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3034 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3035 users updated.
3036 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3037 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3038 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3039 Removed.
3040 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3041 Moved from here...
3042 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3043 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3044 Moved from here...
3045 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3046 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3047 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3048 All users updated.
3049 * loader/i386/multiboot_mbi2.c: New file.
3050
3051 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 Resync with gnulib.
3054
3055 * Makefile.in (GNULIB_CFLAGS): New variable.
3056 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3057 (grub_script_check_CFLAGS): New variable.
3058 * gnulib/alloca.h: Resync with gnulib.
3059 * gnulib/error.c: Likewise.
3060 * gnulib/error.h: Likewise.
3061 * gnulib/fnmatch.c: Likewise.
3062 * gnulib/fnmatch_loop.c: Likewise.
3063 * gnulib/getdelim.c: Likewise.
3064 * gnulib/getline.c: Likewise.
3065 * gnulib/getopt.c: Likewise.
3066 * gnulib/getopt1.c: Likewise.
3067 * gnulib/getopt_int.h: Likewise.
3068 * gnulib/gettext.h: Likewise.
3069 * gnulib/progname.c: Likewise.
3070 * gnulib/progname.h: Likewise.
3071
3072 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3073
3074 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3075 which is the case with --disabled-nls.
3076
3077 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3078 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3079 * util/misc.c: Likewise.
3080 * util/mkisofs/mkisofs.c: Likewise.
3081 * util/mkisofs/mkisofs.h: Likewise.
3082
3083 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 Simplify Apple CC support.
3086
3087 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3088 Add 0 byte at the end not to have a symbol with empty target.
3089 * mmap/i386/pc/mmap_helper.S: Likewise.
3090 * genmk.rb: Ignore errors 2030 and 2050.
3091 * kern/i386/pc/startup.S: Use LOCAL when possible.
3092
3093 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3094
3095 Testcase and the fix for final semicolon on cmdline.
3096
3097 * tests/grub_script_final_semicolon.in: New testcase.
3098 * conf/tests.rmk: Rules for the new testcase.
3099 * script/parser.y: Grammar fix.
3100
3101 2010-03-26 BVK Chaitanya <bvk@localhost>
3102
3103 Blank lines testcase for GRUB script.
3104
3105 * tests/grub_script_blanklines.in: New testcase.
3106 * conf/tests.rmk: Rules for the new testcase.
3107
3108 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Don't use __FILE__.
3111
3112 * genmk.rb: Add -DGRUB_FILE to all C targets.
3113 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3114 * include/grub/list.h: Likewise.
3115 * include/grub/misc.h: Likewise.
3116 * include/grub/mm.h: Likewise.
3117 * include/grub/test.h: Likewise.
3118 * kern/mm.c: Likewise.
3119 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3120
3121 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 Sunpc partitions support.
3124
3125 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3126 (grub_fstest_SOURCES): Likewise.
3127 (pkglib_MODULES): Add part_sunpc.mod.
3128 (part_sunpc_mod_SOURCES): New variable.
3129 (part_sunpc_mod_CFLAGS): Likewise.
3130 (part_sunpc_mod_LDFLAGS): Likewise.
3131 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3132 * partmap/sunpc.c: New file.
3133
3134 2010-03-26 BVK Chaitanya <bvk@localhost>
3135
3136 For loop support to GRUB script.
3137
3138 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3139 (grub_script_create_cmdfor): New function prototype.
3140 (grub_script_execute_cmdfor): New function prototype.
3141 * script/execute.c (grub_script_execute_cmdfor): New function.
3142 * script/parser.y (command): New for command.
3143 (forcmd): New grammar rule.
3144 * script/script.c (grub_script_create_cmdfor): New function.
3145 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3146 function.
3147 * tests/grub_script_for1.in: New testcase.
3148 * conf/tests.rmk: Rules for new testcase.
3149
3150 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 Nested partitions
3153
3154 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3155 'partition' is NULL, grub_partition_get_start already does that.
3156 * commands/loadenv.c (check_blocklists): Likewise.
3157 (write_blocklists): Likewise.
3158 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3159 (grub_fstest_SOURCES): Likewise.
3160 (pkglib_MODULES): Add part_bsd.mod.
3161 (part_bsd_mod_SOURCES): New variable.
3162 (part_bsd_mod_CFLAGS): Likewise.
3163 (part_bsd_mod_LDFLAGS): Likewise.
3164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3165 (grub_emu_SOURCES): Likewise.
3166 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3167 * include/grub/bsdlabel.h: New file.
3168 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3169 'get_name'.
3170 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3171 (grub_partition_map_list): New variable.
3172 (grub_partition_map_register): Inline.
3173 (grub_partition_map_unregister): Likewise.
3174 (FOR_PARTITION_MAPS): New macro.
3175 (grub_partition_map_iterate): Removed.
3176 (grub_partition_get_start): Handle nested partitions.
3177 * include/grub/msdos_partition.h: Remove bsd-related entries.
3178 (grub_pc_partition): Remove.
3179 * kern/disk.c (grub_disk_close): Free partition data.
3180 (grub_disk_adjust_range): Handle nested partitions.
3181 * kern/partition.c (grub_partition_map_probe): New function.
3182 (grub_partition_probe): Parse name to number, handle subpartitions.
3183 (get_partmap): New function.
3184 (grub_partition_iterate): Handle subpartitions.
3185 (grub_partition_get_name): Likewise.
3186 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3187 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3188 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3189 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3190 Set 'number'.
3191 (acorn_partition_map_probe): Remove.
3192 (acorn_partition_map_get_name): Likewise.
3193 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3194 Set 'number'.
3195 Set 'index' to 0 since there can be only one partition entry per sector.
3196 (amiga_partition_map_probe): Remove.
3197 (amiga_partition_map_get_name): Likewise.
3198 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3199 Set 'number'.
3200 Set 'offset' and 'index' to real positions of partitions.
3201 (apple_partition_map_probe): Remove.
3202 (apple_partition_map_get_name): Likewise.
3203 * partmap/bsdlabel.c: New file.
3204 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3205 Set 'number'.
3206 Allocate 'data' so it can be correctly freed.
3207 Set 'index' to offset inside sector.
3208 (gpt_partition_map_probe): Remove.
3209 (gpt_partition_map_get_name): Likewise.
3210 * partmap/msdos.c (grub_partition_parse): Remove.
3211 (pc_partition_map_iterate): Don't force raw access.
3212 Set 'number'.
3213 Make 'ext_offset' a local variable.
3214 (pc_partition_map_probe): Remove.
3215 (pc_partition_map_get_name): Remove.
3216 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3217 Set 'number'.
3218 (sun_partition_map_probe): Remove.
3219 (sun_partition_map_get_name): Likewise.
3220 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3221 (grub_pcpart_type): Likewise.
3222 * util/hostdisk.c (open_device): Handle new numbering scheme.
3223 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3224 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3225 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3226 * util/grub-install.in: Insert all subpartition modules.
3227 * util/ieee1275/grub-install.in: Likewise.
3228
3229 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3230
3231 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3232 grammar.
3233
3234 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
3235
3236 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3237
3238 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
3239
3240 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3241 match where 'make install' puts them.
3242 * util/i386/efi/grub-install.in: Likewise.
3243
3244 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
3245
3246 * .bzrignore: Add gentrigtables, grub-script-check,
3247 grub_script_check_init.c, grub_script_check_init.h, and
3248 trigtables.c.
3249
3250 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * kern/parser.c: Indented.
3253
3254 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3257
3258 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3261 alpha_mask_size == 0 case.
3262
3263 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3264
3265 GRUB shell lexer and parser improvements.
3266
3267 * conf/any-emu.rmk: Build rule updates.
3268 * conf/common.rmk: Likewise.
3269 * conf/i386-coreboot.rmk: Likewise.
3270 * conf/i386-efi.rmk: Likewise.
3271 * conf/i386-ieee1275.rmk: Likewise.
3272 * conf/i386-pc.rmk: Likewise.
3273 * conf/powerpc-ieee1275.rmk: Likewise.
3274 * conf/x86_64-efi.rmk: Likewise.
3275
3276 * configure.ac: Configure check for flex.
3277
3278 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3279 types.
3280 (grub_lexer_param): Struct member updates.
3281 (grub_parser_param): Likewise.
3282 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3283 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3284 (grub_script_lexer_init): Prototype update.
3285 (grub_script_lexer_record_start): Likewise.
3286 (grub_script_lexer_record_stop): Likewise.
3287 (grub_script_lexer_yywrap): New function prototype.
3288 (grub_script_lexer_fini): Likewise.
3289 (grub_script_execute_argument_to_string): Removed by...
3290 (grub_script_execute_argument_to_argv): ...better version.
3291
3292 * script/execute.c (ROUND_UPTO): New macro.
3293 (grub_script_execute_cmdline): Out of memory fixes.
3294 (grub_script_execute_menuentry): Likewise.
3295 (grub_script_execute_argument_to_string): Removed. Update all
3296 users by...
3297 (grub_script_execute_argument_to_argv): ...better version.
3298 * script/function.c (grub_script_function_create): Use
3299 grub_script_execute_argument_to_argv instead of
3300 grub_script_execute_argument_to_string.
3301
3302 * script/lexer.c (check_varstate): Removed.
3303 (check_textstate): Removed.
3304 (grub_script_lexer_record_start): Likewise.
3305 (grub_script_lexer_record_stop): Likewise.
3306 (recordchar): Replaced with...
3307 (grub_script_lexer_record): ...new function.
3308 (nextchar): Removed.
3309 (grub_script_lexer_init): Rewritten.
3310 (grub_script_yylex): Rewritten.
3311 (append_newline): New function.
3312 (grub_script_lexer_yywrap): New function.
3313 (grub_script_lexer_fini): New function.
3314 (grub_script_yyerror): Sets error flag.
3315
3316 * script/yylex.l: New file.
3317 (grub_lexer_yyfree): Wrapper for flex yyffre.
3318 (grub_lexer_yyalloc): Likewise.
3319 (grub_lexer_yyrealloc): Likewise.
3320 * script/parser.y: Refactored.
3321
3322 * script/script.c (grub_script_arg_add): Out of memory fixes.
3323 (grub_script_add_arglist): Likewise.
3324 (grub_script_create_cmdline): Likewise.
3325 (grub_script_create_cmdmenu): Likewise.
3326 (grub_script_add_cmd): Likewise.
3327 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3328 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3329 unnecessary code.
3330
3331 * tests/grub_script_echo1.in: New testcase.
3332 * tests/grub_script_vars1.in: New testcase.
3333 * tests/grub_script_echo_keywords.in: New testcase.
3334
3335 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 Remove some redundancy in build system.
3338
3339 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3340 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3341 (TARGET_LDFLAGS): Add -nostdlib.
3342 (TARGET_IMG_LDFLAGS): Likewise.
3343 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3344 anything since mmap isn't available.
3345 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3346 Add util/time.c.
3347 (pkglib_MODULES): Remove reboot.mod.
3348 (reboot_mod_SOURCES): Removed.
3349 (reboot_mod_CFLAGS): Likewise.
3350 (reboot_mod_LDFLAGS): Likewise.
3351 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3352 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3353 (DEFSYMFILES): Add kernel_syms.lst.
3354 (kernel_img_HEADERS): Add common headers.
3355 (symlist.c): New target.
3356 (kernel_syms.lst): Likewise.
3357 (pkglib_MODULES): Add memdisk.mod.
3358 (memdisk_mod_SOURCES): New variable.
3359 (memdisk_mod_CFLAGS): Likewise.
3360 (memdisk_mod_LDFLAGS): Likewise.
3361 (pkglib_MODULES): Add reboot.mod.
3362 (reboot_mod_SOURCES): New variable.
3363 (reboot_mod_CFLAGS): Likewise.
3364 (reboot_mod_LDFLAGS): Likewise.
3365 (pkglib_MODULES): Add date.mod.
3366 (date_mod_SOURCES): New variable.
3367 (date_mod_CFLAGS): Likewise.
3368 (date_mod_LDFLAGS): Likewise.
3369 (pkglib_MODULES): Add datehook.mod.
3370 (datehook_mod_SOURCES): New variable.
3371 (datehook_mod_CFLAGS): Likewise.
3372 (datehook_mod_LDFLAGS): Likewise.
3373 (pkglib_MODULES): Add lsmmap.mod.
3374 (lsmmap_mod_SOURCES): New variable.
3375 (lsmmap_mod_CFLAGS): Likewise.
3376 (lsmmap_mod_LDFLAGS): Likewise.
3377 (pkglib_MODULES): Add boot.mod.
3378 (boot_mod_SOURCES): New variable.
3379 (boot_mod_CFLAGS): Likewise.
3380 (boot_mod_LDFLAGS): Likewise.
3381 * conf/i386-coreboot.rmk: Removed redundant parts.
3382 * conf/i386-ieee1275.rmk: Likewise.
3383 * conf/i386-pc.rmk: Likewise.
3384 * conf/mips-yeeloong.rmk: Likewise.
3385 * conf/mips.rmk: Likewise.
3386 * conf/powerpc-ieee1275.rmk: Likewise.
3387 * conf/sparc64-ieee1275.rmk: Likewise.
3388 * conf/x86_64-efi.rmk: Likewise.
3389 * conf/i386-coreboot.rmk: Moved qemu parts ..
3390 * conf/i386-qemu.rmk: ... here
3391 * conf/i386-efi.rmk: Moved common parts to...
3392 * conf/x86-efi.rmk: ... here.
3393 * conf/i386.rmk: Added modules common to all x86 variants.
3394 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3395 * disk/memdisk.c: Remove grub/machine/kernel.h.
3396 * gensymlist.sh.in: Include symbol.h.
3397 * hook/datehook.c: Correct module name.
3398 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3399 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3400 * include/grub/i386/efi/serial.h: New file.
3401 * include/grub/x86_64/efi/serial.h: Likewise.
3402 * util/time.c: Likewise.
3403 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3404
3405 2010-03-14 Colin King <colin.king@ubuntu.com>
3406 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3407
3408 Shrink the pre-partition-table part of boot.img by eight bytes.
3409
3410 * boot/i386/pc/boot.S (ERR): New macro.
3411 (chs_mode): Use ERR.
3412 (geometry_error): Likewise.
3413 (hd_probe_error): Remove. This is only used once, so we wrwite
3414 it inline instead.
3415 (read_error): Instead of printing read_error_string, just set up
3416 %si and fall through to ...
3417 (error_message): ... this new function, also used by ERR.
3418
3419 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3420
3421 Speed up consecutive hostdisk operations on the same device.
3422
3423 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3424 (grub_util_biosdisk_open): Initialise disk->data.
3425 (struct linux_partition_cache): New structure.
3426 (linux_find_partition): Cache partition start positions; these are
3427 expensive to compute on every read and write.
3428 (open_device): Cache open file descriptor in disk->data, so that we
3429 don't have to reopen it and flush the buffer cache for consecutive
3430 operations on the same device.
3431 (grub_util_biosdisk_close): New function.
3432 (grub_util_biosdisk_dev): Set `close' member.
3433
3434 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3435 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3436 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3437 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3438 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3439
3440 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 Compile parts of grub-emu as modules.
3443
3444 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3445 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3446 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3447 (all-local): Add $(GRUB_EMU).
3448 (install-local): Install $(GRUB_EMU).
3449 (uninstall): Uninstall $(GRUB_EMU).
3450 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3451 * kern/dl.c: Likewise.
3452 * commands/sleep.c: Not include machine/time.h.
3453 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3454 (COMMON_CFLAGS): Likewise.
3455 (sbin_UTILITIES): Remove grub-emu.
3456 (grub_emu_SOURCES): Removed.
3457 (kernel_img_RELOCATABLE): New variable.
3458 (pkglib_PROGRAMS): Add kernel.img.
3459 (kernel_img_SOURCES): New variable
3460 (kernel_img_CFLAGS): Likewise.
3461 (kernel_img_LDFLAGS): Likewise.
3462 (TARGET_NO_STRIP): Likewise.
3463 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3464 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3465 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3466 (grub-emu): New target.
3467 (GRUB_EMU): New variable.
3468 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3469 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3470 * loader/xnu.c: Likewise.
3471 * include/grub/pci.h: Likewise.
3472 * genemuinit.sh: New file.
3473 * genemuinitheader.sh: Likewise.
3474 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3475 Support TARGET_NO_DYNAMIC_MODULES.
3476 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3477 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3478 * disk/loopback.c: Likewise.
3479 * font/font_cmd.c: Likewise.
3480 * partmap/acorn.c: Likewise.
3481 * partmap/amiga.c: Likewise.
3482 * partmap/apple.c: Likewise.
3483 * partmap/gpt.c: Likewise.
3484 * partmap/msdos.c: Likewise.
3485 * partmap/sun.c: Likewise.
3486 * parttool/msdospart.c: Likewise.
3487 * term/gfxterm.c: Likewise.
3488 * video/bitmap.c: Likewise.
3489 * video/readers/jpeg.c: Likewise.
3490 * video/readers/png.c: Likewise.
3491 * video/readers/tga.c: Likewise.
3492 * video/video.c: Likewise.
3493 * util/grub-emu.c (read_command_list): Removed.
3494 (main): Don't call util_init_nls.
3495 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3496 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3497
3498 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3501 date.mod, datehook.mod.
3502 (datetime_mod_SOURCES): New variable.
3503 (datetime_mod_CFLAGS): Likewise.
3504 (datetime_mod_LDFLAGS): Likewise.
3505 (date_mod_SOURCES): Likewise.
3506 (date_mod_CFLAGS): Likewise.
3507 (date_mod_LDFLAGS): Likewise.
3508 (datehook_mod_SOURCES): Likewise.
3509 (datehook_mod_CFLAGS): Likewise.
3510 (datehook_mod_LDFLAGS): Likewise.
3511 * conf/sparc64-ieee1275.rmk: Likewise.
3512 * lib/ieee1275/datetime.c: New file.
3513
3514 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3517 (ieee1275_fb_mod_SOURCES): New variable.
3518 (ieee1275_fb_mod_CFLAGS): Likewise.
3519 (ieee1275_fb_mod_LDFLAGS): Likewise.
3520 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3521 New proto.
3522 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3523 (HEAP_MAX_ADDR): Likewise.
3524 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3525 type.
3526 Correct stop condition.
3527 (grub_ieee1275_devices_iterate): New function.
3528 * video/ieee1275.c: New file.
3529
3530 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3533
3534 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3535 as scratch.
3536 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3537 SCRATCH_PAD_DISKBOOT as scratch.
3538 (bootit): Pass Openfirmware pointer in %o4.
3539 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3540 of 0x200000.
3541 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3542 with util/grub-mkrawimage.c.
3543 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3544 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3545 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3546 (grub_aout_load) [GRUB_UTIL]: Likewise.
3547 * include/grub/kernel.h (grub_modules_get_end): New proto.
3548 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3549 (SCRATCH_PAD_BOOT): New definition.
3550 (SCRATCH_PAD_DISKBOOT): Likewise.
3551 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3552 * include/grub/sparc64/ieee1275/ieee1275.h
3553 (grub_ieee1275_original_stack): New variable
3554 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3555 New definition
3556 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3557 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3558 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3559 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3560 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3561 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3562 (grub_platform_image_format_t): New type.
3563 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3564 * kern/main.c (grub_modules_get_end)
3565 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3566 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3567 (codestart): Switch stacks.
3568 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3569 variable.
3570 (grub_heap_init): Use grub_modules_get_end.
3571 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3572 stack.
3573 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3574 (main): Likewise.
3575 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3576
3577 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
3578
3579 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3580
3581 2010-03-08 Matt Kraai <kraai@ftbfs.org>
3582
3583 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3584 bug #559005).
3585
3586 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * genmoddep.awk: Output all missing symbols and not only first.
3589
3590 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * NEWS: Put the date of 1.98 release.
3593
3594 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3597 ft2build.h.
3598
3599 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3602 completition in the middle of string.
3603
3604 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * util/grub-mkrescue.in: Use mktemp with explicit template.
3607
3608 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3611
3612 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3615 right pointer.
3616
3617 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 Fix FreeBSD compilation.
3620
3621 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3622 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3623
3624 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3627
3628 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3631
3632 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3635
3636 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3637
3638 Support relative image path in theme file.
3639
3640 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3641 (image_set_property): Handle theme_dir and relative path.
3642
3643 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * configure.ac: Alias amd64 to x86_64.
3646
3647 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * NEWS: mention multiboot on EFI.
3650
3651 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * kern/main.c (grub_load_modules): Handle errors from init functions of
3654 embeded modules.
3655
3656 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * normal/autofs.c (autoload_fs_module): Handle errors.
3659
3660 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 Disable linux.mod on qemu-mips since it's not functional and leads
3663 to compilation failure.
3664
3665 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3666 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3667 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3668 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3669 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3670 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3671 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3672 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3673 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3674 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3675 Reported by: BVK Chaitanya
3676
3677 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3678
3679 * INSTALL: Add gettext as a dependency and add qemu to a new section
3680 "Prerequisites for make-check".
3681
3682 2010-03-04 Christian Franke <franke@computer.org>
3683
3684 * util/grub-pe2elf.c: Add missing include "progname.h".
3685
3686 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * normal/crypto.c (read_crypto_list): Fix a typo.
3689 Reported by: Seth Goldberg.
3690
3691 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
3694 Reported by: Seth Goldberg.
3695
3696 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3699 ascii.bitmaps.
3700
3701 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * genmk.rb: Remove terminal*.lst in make clean.
3704 Reported by: Seth Goldberg.
3705
3706 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * util/i386/efi/grub-install.in: Copy gettext files.
3709
3710 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3713
3714 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 Wait for user entry basing on presence of output rather than on errors.
3717
3718 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3719 (grub_install_newline_hook): Likewise.
3720 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3721 * normal/menu.c (show_menu): Check line_counter to determine presence
3722 of output.
3723 * normal/term.c (grub_normal_line_counter): New variable.
3724 (grub_normal_get_line_counter): New function.
3725 (grub_install_newline_hook): Likewise.
3726
3727 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3730
3731 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * configure.ac: Update version to 1.98.
3734
3735 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * util/grub.d/10_linux.in (linux_entry): Don't default to
3738 gfxpayload=keep if Linux doesn't support video handover.
3739
3740 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 Don't compile video modules on yeeloong since video subsystem is part
3743 of kernel.
3744
3745 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3746 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3747 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3748 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3749 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3750 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3751 * include/grub/bitmap_scale.h: Likewise.
3752 * include/grub/bufio.h: Likewise.
3753 * include/grub/font.h: Likewise.
3754 * include/grub/gfxterm.h: Likewise.
3755 * include/grub/video.h: Likewise.
3756 * include/grub/vbe.h: Don't include video_fb.h.
3757 * video/i386/pc/vbe.c: Include video_fb.h.
3758 * commands/i386/pc/vbetest.c: Include video.h.
3759
3760 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3761
3762 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3763 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3764 default entry if GRUB_SAVEDEFAULT=true. This allows using
3765 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3766 saving a new default on every boot.
3767
3768 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3771 * normal/term.c (read_terminal_list): Likewise.
3772 * normal/main.c (grub_normal_init_page): Likewise.
3773 (grub_normal_read_line_real): Likewise.
3774
3775 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3778 memory leak.
3779 Reported by: Seth Goldberg.
3780
3781 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3782
3783 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3784 duplicate declaration of `start'.
3785
3786 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3789 filename.
3790 Reported by: Georgy Buranov
3791
3792 2010-02-20 Carles Pina i Estany <carles@pina.cat>
3793
3794 * util/grub-mkrawimage.c (usage): Change string formatting to
3795 improve gettext.
3796
3797 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3798
3799 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3800 backspace keys.
3801
3802 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3805 Reported by: Michael Suchanek.
3806
3807 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
3808
3809 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3810 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3811
3812 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 Remove any reference to non-free fonts.
3815
3816 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3817 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3818 uses non-free components.
3819 * font/font.c (grub_font_get_name): Remove example name.
3820 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3821 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3822 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3823 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3824
3825 2010-02-16 Georgy Buranov <gburanov@gmail.com>
3826
3827 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3828
3829 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3832 Double divisor.
3833 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3834 features.
3835 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3836
3837 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3840
3841 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3842
3843 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3844 * docs/grub.texi (Command-line and menu entry commands): Document play
3845 command.
3846
3847 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3848
3849 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3850 parse arguments as inline tempo and notes. Move code for playing notes
3851 to...
3852 (play): ... new function.
3853
3854 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3855
3856 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3857 grub_uint16_t instead of short.
3858 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3859 disk from little endian to cpu endianness.
3860
3861 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3862
3863 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3864 GRUB_TICKS_PER_SECOND instead of 120.
3865
3866 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3869 escape sequence after \e.
3870
3871 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3874 non-ASCII characters.
3875
3876 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3879 set root in single quotes to prevent \, from being unescaped.
3880
3881 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 Prevent unknown commands from stopping menuentry execution.
3884
3885 * script/execute.c (grub_script_execute_cmdline): Print error after
3886 unknown command.
3887
3888 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3891 Reported by: Pavel Pisa.
3892
3893 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3896
3897 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 Merge grub_ieee1275_map_physical into grub_map and rename to
3900 grub_ieee1275_map
3901
3902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3903 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3904 Remove.
3905 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3906 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3907 necessary.
3908 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3909
3910 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3913 opening and not after.
3914
3915 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3918 constants.
3919
3920 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3923 (alloc_phys): Use ALIGN_UP instead of align_addr.
3924
3925 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3928
3929 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3932
3933 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3936 verbose dprintf.
3937
3938 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 Fix over-4GiB seek on sparc64.
3941
3942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3943 Replace pos_i and pos_lo with pos. All users updated.
3944 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3945 New constant.
3946 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3947 Likewise.
3948 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3949 and pos_lo.
3950
3951 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * util/grub-mkrawimage.c (main): Call set_program_name.
3954
3955 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 Properly align 64-bit targets.
3958
3959 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3960 (generate_image): Use ALIGN_ADDR.
3961
3962 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Properly create cross-endian images.
3965
3966 * include/grub/types.h (grub_host_to_target_addr): New macro
3967 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3968
3969 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3972
3973 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3976
3977 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3978 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3979 (grub_linux_boot): Divide by 64K when on VESA.
3980
3981 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 Support GRUB_GFXPAYLOAD_LINUX.
3984
3985 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3986 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3987
3988 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3991 to show messages instead of discarding them.
3992 Process errors after executing command and not before. Keep old method
3993 too as precaution.
3994
3995 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * configure.ac: Check for ft2build.h.
3998
3999 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4002
4003 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * genkernsyms.sh.in: Use TARGET_CC.
4006
4007 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
4008
4009 * NEWS: Update.
4010
4011 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * include/grub/multiboot2.h: Remove leftover file.
4014 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4015 * include/grub/partition.h [GRUB_UTIL]: Likewise.
4016
4017 2010-02-07 Yves Blusseau <blusseau@zetam.org>
4018
4019 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
4020
4021 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 Fix warnings in grub-emu when compiling with maximum warning options.
4024
4025 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4026 (grub_arch_modules_addr): Return 0 and not NULL.
4027 * util/misc.c (ENABLE_RELOCATABLE): New definition.
4028 (xstrdup): Use newstr instead of dup.
4029 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4030 of disk to dsk to avoid shadowing.
4031 (find_free_slot): Fix prototype.
4032 * util/getroot.c (grub_util_is_dmraid): Make static.
4033 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4034 Add missing prototype.
4035 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
4036
4037 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4040 appropriately.
4041
4042 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4045 code out.
4046
4047 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4050 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4051 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4052 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4053 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4054 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4055
4056 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * include/grub/err.h (grub_err_printf): Don't export.
4059
4060 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4063
4064 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4067 * kern/misc.c (grub_gettext_dummy): Make static.
4068
4069 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4072 by non-valid ones.
4073 * kern/term.c (grub_putchar): Likewise.
4074
4075 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4078 buggy hook call and memory leak.
4079
4080 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4083
4084 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4087
4088 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4091 modevar.
4092 Return grub_errno on allocation error.
4093
4094 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4097
4098 2010-02-06 Yves Blusseau <blusseau@zetam.org>
4099
4100 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4101 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4102
4103 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4106 non-pxe disk.
4107 (grub_pxefs_open): Likewise.
4108
4109 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4110
4111 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4112 * util/grub.d/10_kfreebsd.in: Likewise.
4113 * util/grub.d/10_linux.in: Likewise.
4114
4115 2010-02-06 Colin D Bennett <colin@gibibit.com>
4116
4117 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4118 (gfxmenu_mod_SOURCES): New variable.
4119 (gfxmenu_mod_CFLAGS): Likewise.
4120 (gfxmenu_mod_LDFLAGS): Likewise.
4121 * include/grub/term.h (grub_term_set_current_output): Declare
4122 argument as const.
4123 * docs/gfxmenu-theme-example.txt: New file.
4124 * gfxmenu/gfxmenu.c: Likewise.
4125 * gfxmenu/gui_box.c: Likewise.
4126 * gfxmenu/gui_canvas.c: Likewise.
4127 * gfxmenu/gui_circular_progress.c: Likewise.
4128 * gfxmenu/gui_image.c: Likewise.
4129 * gfxmenu/gui_label.c: Likewise.
4130 * gfxmenu/gui_list.c: Likewise.
4131 * gfxmenu/gui_progress_bar.c: Likewise.
4132 * gfxmenu/gui_string_util.c: Likewise.
4133 * gfxmenu/gui_util.c: Likewise.
4134 * gfxmenu/icon_manager.c: Likewise.
4135 * gfxmenu/model.c: Likewise.
4136 * gfxmenu/named_colors.c: Likewise.
4137 * gfxmenu/theme_loader.c: Likewise.
4138 * gfxmenu/view.c: Likewise.
4139 * gfxmenu/widget-box.c: Likewise.
4140 * include/grub/gfxmenu_model.h: Likewise.
4141 * include/grub/gfxmenu_view.h: Likewise.
4142 * include/grub/gfxwidgets.h: Likewise.
4143 * include/grub/gui.h: Likewise.
4144 * include/grub/gui_string_util.h: Likewise.
4145 * include/grub/icon_manager.h: Likewise.
4146
4147 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 Agglomerate scrolling in gfxterm.
4150
4151 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4152 (grub_virtual_screen_setup): Initialise 'total_screen'.
4153 (write_char): Split to ...
4154 (paint_char): ... this ...
4155 (write_char): ... and this.
4156 (paint_char): Handle delayed scrolling.
4157 (draw_cursor): Likewise.
4158 (scroll_up): Split to ...
4159 (real_scroll): ... this ...
4160 (scroll_up): ... and this.
4161 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4162 characters.
4163 (grub_gfxterm_refresh): Call real_scroll.
4164
4165 2010-02-06 Colin D Bennett <colin@gibibit.com>
4166
4167 * include/grub/misc.h (grub_iscntrl): New inline function.
4168 (grub_isalnum): Likewise.
4169 (grub_strtol): Likewise.
4170
4171 2010-02-06 Colin D Bennett <colin@gibibit.com>
4172
4173 * normal/menu_text.c (get_entry_number): Move from here ...
4174 * normal/menu.c (get_entry_number): ... moved here.
4175 * include/grub/menu.h (grub_menu_get_default_entry_index):
4176 New prototype.
4177 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4178 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4179 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4180 (grub_menu_viewer_should_return): Likewise.
4181 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4182 * normal/menu_text.c (run_menu): Enable menu switching.
4183 * normal/menu_viewer.c (should_return): New variable.
4184 (menu_viewer_changed): Likewise.
4185 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4186 (grub_menu_viewer_should_return): New function.
4187 (menuviewer_write_hook): Likewise.
4188 (grub_menu_viewer_init): Likewise.
4189
4190 2010-02-06 Colin D Bennet <colin@gibibit.com>
4191 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 Support for gfxterm in a window.
4194
4195 * include/grub/gfxterm.h: New file.
4196 * include/grub/video.h (struct grub_video_rect): New declaration.
4197 (grub_video_rect_t): Likewise.
4198 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4199 (refcount): New variable.
4200 (render_target): Likewise.
4201 (window): Likewise.
4202 (repaint_callback): Likewise.
4203 (grub_virtual_screen_setup): Use 'render_target'.
4204 (init_window): New function.
4205 (grub_gfxterm_init_window): Likewise.
4206 (grub_gfxterm_init): Check reference counter.
4207 Use init_window.
4208 (destroy_window): New function.
4209 (grub_gfxterm_destroy_window): Likewise.
4210 (grub_gfxterm_fini): Check reference counter.
4211 Use destroy_window.
4212 (redraw_screen_rect): Restore viewport.
4213 Use 'render_target' and 'window'.
4214 Call 'repaint_callback'.
4215 (write_char): Use 'render_target'.
4216 (draw_cursor): Likewise.
4217 (scroll_up): Restore viewport.
4218 Use 'render_target' and 'window'.
4219 Call 'repaint_callback'.
4220 (grub_gfxterm_cls): Likewise.
4221 (grub_gfxterm_refresh): Use 'window'.
4222 (grub_gfxterm_set_repaint_callback): New function.
4223 (grub_gfxterm_background_image_cmd): Use 'window'.
4224 (grub_gfxterm_get_term): New function.
4225 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4226
4227 2010-02-06 Colin D Bennett <colin@gibibit.com>
4228
4229 Bitmap scaling support.
4230
4231 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4232 (bitmap_scale_mod_SOURCES): New variable.
4233 (bitmap_scale_mod_CFLAGS): Likewise.
4234 (bitmap_scale_mod_LDFLAGS): Likewise.
4235 * include/grub/bitmap_scale.h: New file.
4236 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4237 (background_image_cmd_options): New variable.
4238 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4239 (cmd): Rename and change type to ...
4240 (background_image_cmd_handle): ... this. All users updated.
4241 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4242 * video/bitmap_scale.c: New file.
4243
4244 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 SDL support.
4247
4248 * Makefile.in (LIBSDL): New variable.
4249 (enable_grub_emu_sdl): Likewise.
4250 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4251 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4252 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4253 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4254 * util/sdl.c: New file.
4255
4256 2010-02-06 Colin D Bennett <colin@gibibit.com>
4257 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Double buffering support.
4260
4261 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4262 * include/grub/video.h: Update comment.
4263 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4264 New type.
4265 (grub_video_fb_doublebuf_blit_init): New prototype.
4266 * term/gfxterm.c (scroll_up): Support double buffering.
4267 (grub_gfxterm_refresh): Likewise.
4268 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4269 (grub_video_fb_doublebuf_blit_init): Likewise.
4270 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4271 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4272 'displayed_page', 'render_page' and 'update_screen'.
4273 (grub_video_vbe_fini): Free offscreen buffer.
4274 (doublebuf_pageflipping_commit): New function.
4275 (doublebuf_pageflipping_update_screen): Likewise.
4276 (doublebuf_pageflipping_init): Likewise.
4277 (double_buffering_init): Likewise.
4278 (grub_video_vbe_setup): Enable doublebuffering.
4279 (grub_video_vbe_swap_buffers): Implement.
4280 (grub_video_vbe_set_active_render_target): Handle double buffering.
4281 (grub_video_vbe_get_active_render_target): Likewise.
4282 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4283 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4284 (grub_video_vbe_enable_double_buffering): Likewise.
4285 (grub_video_vbe_swap_buffers): Use update_screen.
4286 (grub_video_set_mode): Use double buffering.
4287
4288 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4289
4290 * maintainance/gentrigtables.py: Remove.
4291 * lib/trig.c: Likewise.
4292
4293 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4294
4295 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4296 `trigtables.c'.
4297 (trigtables.c): New rule.
4298 (gentrigtables): Likewise.
4299 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4300
4301 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4302
4303 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4304 integer constants.
4305
4306 2010-02-06 Colin D Bennet <colin@gibibit.com>
4307
4308 Trigonometry support.
4309
4310 * include/grub/trig.h: New file.
4311 * lib/trig.c: Likewise.
4312 * maintainance/gentrigtables.py: Likewise.
4313 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4314 (trig_mod_SOURCES): New variable.
4315 (trig_mod_CFLAGS): Likewise.
4316 (trig_mod_LDFLAGS): Likewise.
4317
4318 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4321 disk devices.
4322
4323 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4326 error.
4327
4328 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * util/hostdisk.c (open_device): Don't use partition device when reading
4331 before the partition.
4332 (grub_util_biosdisk_read): Don't read from partition and before the
4333 partition in single operation.
4334 (grub_util_biosdisk_write): Don't write to partition and before the
4335 partition in single operation.
4336
4337 2010-02-03 Torsten Landschoff <torsten@debian.org>
4338
4339 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4340 last sectors.
4341
4342 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4345 CDROM reads.
4346 (grub_biosdisk_write): Refuse to write to CDROM.
4347
4348 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4351
4352 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * font/font.c (find_glyph): Check that bmp_idx is available before
4355 using it.
4356 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4357 with (font == NULL).
4358
4359 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
4360
4361 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4362
4363 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4364
4365 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4366 * util/grub-script-check.c (getline): Fix empty lines case.
4367
4368 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4369
4370 * Makefile.in (check): Exit with fail status when one of the tests
4371 fails.
4372 * tests/example_functional_test.c (example_test): Fix reversed assert.
4373 * tests/example_unit_test.c (example_test): Likewise.
4374
4375 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
4376
4377 * util/grub.d/10_linux.in: This script does not use any of the
4378 contents of gettext.sh, only the external command `gettext', so stop
4379 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4380 the same prefix as GRUB.)
4381 * util/grub.d/10_kfreebsd.in: Likewise.
4382
4383 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4386 of the line.
4387
4388 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4391 last sectors.
4392
4393 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4396 having a 4KiB and not 32KiB buffer size.
4397
4398 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4399
4400 * util/hostfs.c: Include `<errno.h>'.
4401 (grub_hostfs_read): Handle errors from fseeko() and fread().
4402
4403 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4404
4405 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4406 loop when using read hooks on files whose size isn't sector-aligned.
4407
4408 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4409
4410 Remove unused parameter.
4411
4412 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4413 (grub_iso9660_open): Remove initialization of `data->length'.
4414
4415 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4416
4417 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4418 memleak conditions.
4419
4420 2010-01-27 Carles Pina i Estany <carles@pina.cat>
4421
4422 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4423 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4424
4425 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4426
4427 * util/bin2h.c (usage): Fix warning (space after backslash).
4428
4429 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4430
4431 * font/font.c: Include `grub/fontformat.h.
4432 Remove font file format constants.
4433 (grub_font_load): Use the new macros.
4434 * include/grub/fontformat.h: New file.
4435 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4436 (write_font_pf2): Use the new macros.
4437
4438 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4439
4440 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4441 does.
4442
4443 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4444
4445 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4446
4447 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4448 (_start): Macroify `0x7F'.
4449
4450 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4451 (make_install_device): Use "(pxe)" as fallback prefix when booting
4452 via PXE.
4453
4454 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * configure.ac: Reset LIBS after check for libgcc symbols.
4457
4458 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
4459
4460 * util/hostdisk.c (open_device): Add trailing newline to debug
4461 message.
4462
4463 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4464
4465 * configure.ac: Check for `limits.h'.
4466 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4467
4468 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4469
4470 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4471 capitalize error strings.
4472
4473 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4474
4475 * util/grub.d/10_hurd.in: Add a recovery mode.
4476
4477 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * configure.ac: Check for libgcc symbols with -nostdlib.
4480
4481 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4482
4483 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4484
4485 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4488 stack since heap may be unavailable at that point.
4489 (grub_ofconsole_gotoxy): Likewise.
4490
4491 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * configure.ac: Check for _restgpr_14_x.
4494 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4495 and _savegpr_* prototypes.
4496
4497 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4498
4499 Use generic grub_reboot() for i386-efi.
4500
4501 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4502 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4503 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4504
4505 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4508 presence of "prefix" variable as it breaks when normal.mod is
4509 embedded.
4510
4511 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4514 stack since heap is unavailable at that point.
4515
4516 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4519 (grub_freebsd_bootinfo): Rewritten.
4520 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4521
4522 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4525
4526 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4527
4528 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4529 domain now.
4530
4531 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
4532
4533 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4534 around for handling "/" to the correct fix. Fix a memory leak. Use
4535 xstrdup instead of strdup.
4536
4537 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4540
4541 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4544
4545 * font/font.c (struct grub_font): New member 'bmp_idx'.
4546 (font_init): Initialise 'bmp_idx'.
4547 (load_font_index): Fill 'bmp_idx'.
4548 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4549
4550 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4553 unnecessary calls.
4554
4555 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 Move context handling out of the kernel.
4558
4559 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4560 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4561 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4562 * conf/i386-efi.rmk: Likewise.
4563 * conf/i386-ieee1275.rmk: Likewise.
4564 * conf/i386-pc.rmk: Likewise.
4565 * conf/powerpc-ieee1275.rmk: Likewise.
4566 * conf/sparc64-ieee1275.rmk: Likewise.
4567 * conf/x86_64-efi.rmk: Likewise.
4568 * include/grub/env.h: Include grub/menu.h.
4569 (grub_env_var_type): Removed.
4570 (grub_env_var): Replaced field 'type' with 'global'.
4571 (grub_env_find): New prototype.
4572 (grub_env_context_open): Remove EXPORT_FUNC.
4573 (grub_env_context_close): Likewise.
4574 (grub_env_export): Likewise.
4575 (grub_env_set_data_slot): Removed.
4576 (grub_env_get_data_slot): Likewise.
4577 (grub_env_unset_data_slot): Likewise.
4578 (grub_env_unset_menu): New prototype.
4579 (grub_env_set_menu): Likewise.
4580 (grub_env_get_menu): Likewise.
4581 * include/grub/env_private.h: New file.
4582 * include/grub/normal.h (grub_context_init): New prototype.
4583 (grub_context_fini): Likewise.
4584 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4585 * normal/context.c (grub_cmd_export): ... to here.
4586 * kern/env.c: Include env_private.h.
4587 (HASHSZ): Moved to include/grub/env_private.h.
4588 (grub_env_context): Likewise.
4589 (grub_env_sorted_var): Likewise.
4590 (current_context): Renamed from this ...
4591 (grub_current_context): ...to this. 'static' removed. All users updated.
4592 (grub_env_find): Removed 'static'.
4593 (grub_env_context_open): Moved to normal/context.c.
4594 (grub_env_context_close): Likewise.
4595 (grub_env_export): Likewise.
4596 (mangle_data_slot_name): Removed.
4597 (grub_env_set_data_slot): Likewise.
4598 (grub_env_get_data_slot): Likewise.
4599 (grub_env_unset_data_slot): Likewise.
4600 * kern/main.c (grub_set_root_dev): Don't export root.
4601 It will be done later.
4602 (grub_main): Don't export prefix.
4603 It will be done later.
4604 * normal/context.c: New file.
4605 * normal/main.c (free_menu): Use grub_env_unset_menu.
4606 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4607 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4608 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4609 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4610
4611 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 setpci support.
4614
4615 * commands/setpci.c: New file.
4616 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4617 (setpci_mod_SOURCES): New variable.
4618 (setpci_mod_CFLAGS): Likewise.
4619 (setpci_mod_LDFLAGS): Likewise.
4620
4621 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Byte-addressable PCI configuration space.
4624
4625 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4626 dword address.
4627 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4628 GRUB_PCI_REG_CACHELINE.
4629 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4630 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4631 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4632 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4633 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4634 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4635 grub_pci_make_address.
4636 (lock_rom_area): Likewise.
4637 * commands/lspci.c (grub_lspci_iter): Use macroses
4638 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4639 of grub_pci_make_address.
4640 * disk/ata.c (grub_ata_pciinit): Likewise.
4641 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4642 (GRUB_PCI_REG_VENDOR): Likewise.
4643 (GRUB_PCI_REG_DEVICE): Likewise.
4644 (GRUB_PCI_REG_COMMAND): Likewise.
4645 (GRUB_PCI_REG_STATUS): Likewise.
4646 (GRUB_PCI_REG_REVISION): Likewise.
4647 (GRUB_PCI_REG_CLASS): Likewise.
4648 (GRUB_PCI_REG_CACHELINE): Likewise.
4649 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4650 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4651 (GRUB_PCI_REG_BIST): Likewise.
4652 (GRUB_PCI_REG_ADDRESSES): Likewise.
4653 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4654 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4655 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4656 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4657 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4658 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4659 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4660 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4661 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4662 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4663 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4664 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4665 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4666 (GRUB_PCI_REG_MIN_GNT): Likewise.
4667 (GRUB_PCI_REG_MAX_LAT): Likewise.
4668 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4669 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4670 * video/efi_uga.c (find_framebuf): Likewise.
4671 * video/sm712.c (grub_video_sm712_setup): Likewise.
4672 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4673 space.
4674
4675 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4676
4677 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4678 can be reliably determined to be supported.
4679
4680 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4681
4682 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4683 that VESA is supported.
4684 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4685 supported.
4686
4687 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4690
4691 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4692
4693 * util/misc.c (make_system_path_relative_to_its_root): Work around
4694 special-casing of "/", as previous incarnation of this routine did.
4695
4696 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 Fix any-emu compilation.
4699
4700 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4701 * grub_bin2h_SOURCES: New variable.
4702
4703 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4704
4705 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4706
4707 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4708
4709 * util/grub.d/00_header.in: Fix handling of locale_dir.
4710
4711 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4714 as possible unifont location (Gentoo).
4715 Reported by: Alexander Brüning
4716
4717 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Don't try to generate lists for kernel.img.
4720
4721 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4722 (pkglib_MODULES): Remove kernel.img.
4723 (kernel_img_EXPORTS): Removed.
4724 (kernel_img_RELOCATABLE): New variable.
4725 * conf/x86_64-efi.rmk: Likewise.
4726 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4727
4728 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4731 grub_xasprintf or grub_snprintf.
4732 (grub_vsprintf): Likewise.
4733 (grub_snprintf): New proto.
4734 (grub_vsnprintf): Likewise.
4735 (grub_xasprintf): Likewise.
4736 (grub_xvasprintf): Likewise.
4737 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4738 (grub_sprintf): Removed.
4739 (grub_vsnprintf): New function.
4740 (grub_snprintf): Likewise.
4741 (grub_xvasprintf): Likewise.
4742 (grub_xasprintf): Likewise.
4743 (grub_vsprintf): Renamed to ...
4744 (grub_vsnprintf_real): ...this. New argument max_len.
4745
4746 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4747
4748 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4749 fix grub-script-check warning.
4750
4751 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * include/grub/font.h (grub_font_load): Fix prototype.
4754
4755 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4758
4759 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * include/grub/x86_64/at_keyboard.h: New file.
4762
4763 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * loader/mips/linux.c: Include missing grub/i18n.h.
4766
4767 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4768
4769 * normal/menu.c (notify_execution_failure): Clarify error message.
4770
4771 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4772
4773 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4774 return value (and revert all return statements). Update users.
4775
4776 2010-01-20 Dan Merillat <debian@dan.merillat.org>
4777
4778 * kern/device.c (grub_device_iterate): Allocate new part_ent
4779 structure based on sizeof (*p) rather than sizeof (p->next), to
4780 account for structure padding.
4781
4782 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4783 disk is NULL, which might happen for LVM physical volumes with no
4784 LVM signature.
4785
4786 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4787
4788 * loader/mips/linux.c (grub_cmd_initrd)
4789 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4790
4791 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4792
4793 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4794 (grub_video_video_init, grub_video_bitmap_init)
4795 (grub_font_manager_init, grub_term_gfxterm_init)
4796 (grub_at_keyboard_init): New extern declarations.
4797 (grub_machine_init): Initialize gfxterm and at_keyboard.
4798
4799 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4800
4801 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4802 `gfxterm.mod' into core image.
4803
4804 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4805 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4806 (kernel_img_FORMAT): Copy to ...
4807
4808 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4809 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4810 (kernel_img_FORMAT): ... here, and ...
4811
4812 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4813 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4814 (kernel_img_FORMAT): ... here.
4815
4816 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4817 and input (at_keyboard) terminals in kernel.
4818 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4819
4820 (pkglib_MODULES): Remove `pci.mod'.
4821 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4822 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4823 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4824 (at_keyboard_mod_LDFLAGS): Remove variables.
4825
4826 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
4827
4828 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4829
4830 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4831
4832 * include/grub/mips/libgcc.h: Only export symbols for functions
4833 that libgcc provides.
4834
4835 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 MIPS support.
4838
4839 * bus/bonito.c: New file.
4840 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4841 GRUB_PCI_NUM_DEVICES.
4842 * term/i386/pc/serial.c: Move to ...
4843 * term/serial.c: ... here. All users updated.
4844 * util/i386/pc/grub-mkimage.c: Move to ...
4845 * util/grub-mkrawimage.c: ... here. All users updated.
4846 * term/i386/pc/at_keyboard.c: Move to ...
4847 * term/at_keyboard.c: ... here. All users updated.
4848 * conf/mips-qemu-mips.rmk: New file.
4849 * conf/mips-yeeloong.rmk: Likewise.
4850 * conf/mips.rmk: Likewise.
4851 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4852 mipsel-qemu-mips.
4853 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4854 to port addresses.
4855 (grub_ata_pciinit): Support CS5536.
4856 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4857 * font/font_cmd.c (loadfont_command): Open file before passing it to
4858 grub_font_load.
4859 (pseudo_file_read): New function.
4860 (pseudo_file_close): Likewise.
4861 (pseudo_fs): New structure.
4862 (load_font_module): New function.
4863 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4864 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4865 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4866 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4867 * include/grub/i386/at_keyboard.h: Split into ...
4868 * include/grub/at_keyboard.h: ... this ...
4869 * include/grub/i386/at_keyboard.h: ... and this.
4870 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4871 New prototype.
4872 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4873 updated.
4874 (grub_elf64_size): Likewise.
4875 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4876 filename.
4877 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4878 * include/grub/i386/coreboot/serial.h: Rewritten.
4879 * include/grub/i386/ieee1275/serial.h: Include
4880 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4881 * include/grub/i386/pc/serial.h: Moved from here ...
4882 * include/grub/serial.h: ... to here. All users updated.
4883 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4884 (GRUB_PCI_NUM_BUS): Likewise.
4885 (GRUB_PCI_NUM_DEVICES): Likewise.
4886 (grub_pci_device_map_range): Add missing volatile keyword.
4887 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4888 * include/grub/mips/at_keyboard.h: New file.
4889 * include/grub/mips/cache.h: Likewise.
4890 * include/grub/mips/io.h: Likewise.
4891 * include/grub/mips/kernel.h: Likewise.
4892 * include/grub/mips/libgcc.h: Likewise.
4893 * include/grub/mips/pci.h: Likewise.
4894 * include/grub/mips/qemu-mips/boot.h: Likewise.
4895 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4896 * include/grub/mips/qemu-mips/loader.h: Likewise.
4897 * include/grub/mips/qemu-mips/memory.h: Likewise.
4898 * include/grub/mips/qemu-mips/serial.h: Likewise.
4899 * include/grub/mips/qemu-mips/time.h: Likewise.
4900 * include/grub/mips/relocator.h: Likewise.
4901 * include/grub/mips/time.h: Likewise.
4902 * include/grub/mips/types.h: Likewise.
4903 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4904 * include/grub/mips/yeeloong/boot.h: Likewise.
4905 * include/grub/mips/yeeloong/kernel.h: Likewise.
4906 * include/grub/mips/yeeloong/loader.h: Likewise.
4907 * include/grub/mips/yeeloong/memory.h: Likewise.
4908 * include/grub/mips/yeeloong/pci.h: Likewise.
4909 * include/grub/mips/yeeloong/serial.h: Likewise.
4910 * include/grub/mips/yeeloong/time.h: Likewise.
4911 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4912 * kern/elf.c (grub_elf32_size): New parameter. All users
4913 updated.
4914 (grub_elf64_size): Likewise.
4915 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4916 Load modules before saying "Welcome to GRUB!".
4917 Call grub_refresh after saying "Welcome to GRUB!".
4918 * kern/mips/cache.S: New file.
4919 * kern/mips/cache_flush.S: Likewise.
4920 * kern/mips/dl.c: Likewise.
4921 * kern/mips/init.c: Likewise.
4922 * kern/mips/qemu-mips/init.c: Likewise.
4923 * kern/mips/startup.S: Likewise.
4924 * kern/mips/yeeloong/init.c: Likewise.
4925 * kern/term.c (grub_putcode): Handle NULL terminal.
4926 (grub_getcharwidth): Likewise.
4927 (grub_getkey): Likewise.
4928 (grub_checkkey): Likewise.
4929 (grub_getkeystatus): Likewise.
4930 (grub_getxy): Likewise.
4931 (grub_getwh): Likewise.
4932 (grub_gotoxy): Likewise.
4933 (grub_cls): Likewise.
4934 (grub_setcolorstate): Likewise.
4935 (grub_setcolor): Likewise.
4936 (grub_getcolor): Likewise.
4937 (grub_refresh): Likewise.
4938 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4939 (write_jump): Add hatch nop.
4940 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4941 * lib/mips/setjmp.S: New file.
4942 * loader/mips/linux.c: Likewise.
4943 * term/i386/pc/at_keyboard.c: Move from here ...
4944 * term/at_keyboard.c: ... to here.
4945 * term/i386/pc/serial.c: Moved from here ...
4946 * term/serial.c: ... to here. All users updated.
4947 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4948 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4949 (serial_translate_key_sequence): Avoid deadlock.
4950 (grub_serial_getkey): Handle backspace.
4951 (grub_serial_putchar): Fix newline handling.
4952 * util/i386/pc/grub-mkimage.c: Move from here ...
4953 * util/grub-mkrawimage.c: ... to here. All users updated.
4954 (generate_image): New parameters 'font_path' and 'format'.
4955 Support embedding font.
4956 Use grub_host_to_target* instead of grub_cpu_to_le*.
4957 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4958 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4959 (options): New option "--font".
4960 (usage): Likewise.
4961 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4962 (main): Handle "--font".
4963 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4964 (grub_virtual_screen_setup): Set bg_color_display.
4965 (redraw_screen_rect): Use bg_color_display instead of incorrect
4966 bg_color.
4967 (grub_gfxterm_cls): Likewise.
4968 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4969 Support embedding config file.
4970 (add_segments): Likewise.
4971 (options): New option "--config".
4972 (main): Handle "--config".
4973 * video/sm712.c: New file.
4974
4975 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4976
4977 Fix parallel builds.
4978
4979 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4980 font.c depend on ascii.h).
4981
4982 2010-01-12 Carles Pina i Estany <carles@pina.cat>
4983
4984 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4985
4986 2010-01-11 Carles Pina i Estany <carles@pina.cat>
4987
4988 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4989 By default: disabled.
4990 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4991 parameter.
4992
4993 2010-01-10 Carles Pina i Estany <carles@pina.cat>
4994
4995 * font/font.c: Update copyright years.
4996 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4997
4998 2010-01-10 Carles Pina i Estany <carles@pina.cat>
4999
5000 * font/font.c: Include `ascii.h'.
5001 (ASCII_BITMAP_SIZE): New macro.
5002 (ascii_font_glyph): Define.
5003 (ascii_glyph_lookup): New function.
5004 (grub_font_get_string_width): Change comment. If glyph not found, use
5005 ascii_glyph_lookup.
5006 (grub_font_get_glyph_with_fallback): If glyph not available returns
5007 ascii_glyph_lookup.
5008 * util/grub-mkfont.c (file_formats): New enum.
5009 (options): Add `ascii-bitmaps' new option.
5010 (usage): Add `asii-bitmaps' new option.
5011 (write_font_ascii_bitmap): New function.
5012 (write_font): Rename to ...
5013 (write_font_p2): ... this. Remove print_glyphs call.
5014 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5015 used. Call print_glyphs.
5016 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5017
5018 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5019
5020 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5021 (grub_bin2h_SOURCES): New variable.
5022 * util/bin2h.c: New file.
5023
5024 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * include/multiboot.h: Resynced with spec.
5027 * include/multiboot2.h: Likewise.
5028 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5029 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5030
5031 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5032
5033 * include/grub/term.h (grub_term_register_input,
5034 grub_term_register_output): Check return of terminal init()
5035 routines, and abort if errors are raised.
5036
5037 * commands/terminal.c: Update copyright year.
5038
5039 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5040
5041 * commands/terminal.c (grub_cmd_terminal_input)
5042 (grub_cmd_terminal_output): Check return of terminal init()
5043 routines, and abort if errors are raised.
5044
5045 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * include/grub/i386/bsd.h: Fix include pathes.
5048
5049 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 Add missing *BSD copyright headers.
5052
5053 * include/grub/aout.h: Add BSD licence.
5054 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5055 * include/grub/i386/freebsd_linker.h: ... here,
5056 * include/grub/i386/freebsd_reboot.h: ... here,
5057 * include/grub/i386/netbsd_bootinfo.h: ... here,
5058 * include/grub/i386/netbsd_reboot.h: ... here,
5059 * include/grub/i386/openbsd_bootarg.h: ... here,
5060 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5061 licence to each file.
5062
5063 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5064
5065 * acinclude.m4: Remove `nop' assembly instruction; it's not
5066 implemented by all architectures.
5067
5068 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5069
5070 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5071 ELILO. This is no longer necessary.
5072
5073 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5074
5075 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5076
5077 * util/grub-script-check.c: grub-script-check tool.
5078 * conf/common.rmk: Make rules for grub-script-check.
5079
5080 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5081
5082 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5083 spotting it back in 2008. Shame on me for forgetting he did.
5084
5085 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5086
5087 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5088
5089 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5090 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5091 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5092 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5093 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5094 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5095
5096 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5097
5098 * include/grub/test.h: Add license header.
5099 * tests/example_functional_test.c: Likewise.
5100 * tests/example_unit_test.c: Likewise.
5101 * tests/lib/functional_test.c: Likewise.
5102 * tests/lib/test.c: Likewise.
5103 * tests/lib/unit_test.c: Likewise.
5104
5105 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 Use flag-based instead of hook-based video mode selection and "auto"
5108 keyword.
5109
5110 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5111 (grub_video_set_mode): Changed prototype. All users updated.
5112 (grub_video_check_mode_flag): New inline function.
5113 * video/video.c (parse_modespec): New function.
5114 (grub_video_set_mode): Parse flags and keywords.
5115
5116 2010-01-17 Carles Pina i Estany <carles@pina.cat>
5117
5118 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5119 fprintf call.
5120
5121 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5122
5123 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5124
5125 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5126
5127 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5128 string.
5129 * util/grub-emu.c (usage): Likewise.
5130 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5131 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5132 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5133 * util/i386/pc/grub-setup.c (usage): Likewise.
5134
5135 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5136
5137 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5138 the message.
5139 (grub_util_info): Likewise.
5140 (grub_util_error): Likewise.
5141 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5142 and/or new lines in `grub_util_warna', `grub_util_info',
5143 `grub_util_error' calls.
5144 * util/getroot.c: Likewise.
5145 * util/grub-editenv.c: Likewise.
5146 * util/grub-emu.c: Likewise.
5147 * util/grub-fstest.c: Likewise.
5148 * util/grub-mkdevicemap.c: Likewise.
5149 * util/grub-mkfont.c: Likewise.
5150 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5151 * util/grub-mkrelpath.c: Likewise.
5152 * util/grub-pe2elf.c: Likewise.
5153 * util/grub-probe.c: Likewise.
5154 * util/hostdisk.c: Likewise.
5155 * util/i386/efi/grub-mkimage.c: Likewise.
5156 * util/i386/pc/grub-mkimage.c: Likewise.
5157 * util/i386/pc/grub-setup.c: Likewise.
5158 * util/ieee1275/ofpath.c: Likewise.
5159 * util/mkisofs/eltorito.c: Likewise.
5160 * util/mkisofs/rock.c: Likewise.
5161 * util/mkisofs/write.c: Likewise.
5162 * util/raid.c: Likewise.
5163 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5164 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5165
5166 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Enable multiboot on non-pc.
5169
5170 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5171 multiboot.mod and multiboot2.mod to ...
5172 * conf/i386.rmk (pkglib_MODULES): ... here.
5173 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5174 Moved to ...
5175 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5176 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5177 Moved to ...
5178 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5179 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5180 Moved to ...
5181 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5182 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5183 Moved to ...
5184 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5185 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5186 relocator.mod.
5187 (ata_mod_SOURCES): Removed.
5188 (ata_mod_CFLAGS): Likewise.
5189 (ata_mod_LDFLAGS): Likewise.
5190 (relocator_mod_SOURCES): Removed.
5191 (relocator_mod_CFLAGS): Likewise.
5192 (relocator_mod_ASFLAGS): Likewise.
5193 (relocator_mod_LDFLAGS): Likewise.
5194 Include i386.mk.
5195 * include/grub/x86_64/multiboot.h: New file.
5196 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5197 Terminate EFI.
5198
5199 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 Video multiboot support.
5202
5203 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5204 New prototype.
5205 * include/multiboot.h: Resynced with multiboot specification.
5206 * include/multiboot2.h: Likewise.
5207 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5208 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5209 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5210 (HAS_VGA_TEXT): Likewise.
5211 (accepts_video): New variable.
5212 (grub_multiboot_set_accepts_video): New function.
5213 (grub_multiboot_get_mbi_size): Account for video structures.
5214 (set_video_mode): New function.
5215 (retrieve_video_parameters): Likewise.
5216 (grub_multiboot_make_mbi): Fill video fields.
5217
5218 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 Video driver ids.
5221
5222 * include/grub/video.h (grub_video_driver_id): New type.
5223 (grub_video_adapter): New member 'id'. All users updated.
5224 (grub_video_get_driver_id): New proto.
5225 * video/video.c (grub_video_get_driver_id): New function.
5226
5227 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5228
5229 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5230 `var=val'.
5231
5232 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5233
5234 * normal/cmdline.c (print_completion): Gettextizze.
5235
5236 2001-01-14 Carles Pina i Estany <carles@pina.cat>
5237
5238 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5239
5240 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5241
5242 * gettext/gettext.c (grub_gettext_translate): Push and pop
5243 grub_errno.
5244 (grub_gettext_delete_list): Change comment style.
5245 * kern/err.c (grub_error): Gettextizze.
5246 (grub_fatal): Gettextizze.
5247
5248 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5249
5250 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5251 (grub_linux16_real_boot): ... this.
5252 * kern/i386/loader.S: Likewise.
5253 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5254 (grub_linux16_boot): New function. Switches to text mode and calls
5255 grub_linux16_real_boot().
5256
5257 * loader/i386/bsd.c: Include `<grub/video.h>'.
5258 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5259 text mode before calling grub_unix_real_boot().
5260
5261 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5262 (grub_multiboot_boot): Switch to text mode before calling
5263 grub_relocator32_boot().
5264
5265 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5266 (grub_chainloader_boot): Switch to text mode before calling
5267 grub_chainloader_real_boot().
5268
5269 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5270 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5271
5272 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5273 non-empty value.
5274
5275 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5276 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5277
5278 * util/grub.d/00_header.in: Define a "savedefault" function for use
5279 in menu entries.
5280 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5281
5282 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5283 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5284
5285 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5286 saved_entry if boot_once is unset.
5287 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5288 previous saved entry (i.e. grub-reboot).
5289
5290 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5291
5292 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5293
5294 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5297 `var=val'.
5298 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5299
5300 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5301
5302 * util/grub-reboot.in: Fix --version output.
5303 * util/grub-set-default.in: Likewise.
5304
5305 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5306
5307 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5308 blocks.
5309
5310 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5311
5312 * util/grub.d/00_header.in: Quote the value assigned to `default',
5313 in case it contains spaces.
5314
5315 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5316
5317 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5318 `save_default_entry' call from the macosx case to the linux case.
5319
5320 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5321 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
5322
5323 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5324 in `chosen' environment variable.
5325 * normal/menu_text.c (get_entry_number): Check if the variable
5326 matches the title of a menu entry.
5327 (run_menu): Pass menu to get_entry_number.
5328
5329 * util/grub-reboot.in: New file.
5330 * util/grub-set-default.in: New file.
5331 * conf/common.rmk (grub-reboot): New utility.
5332 (grub-set-default): New utility.
5333
5334 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5335 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5336 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5337 move it to `saved_entry' for the next boot. Load environment on
5338 initialisation.
5339 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5340 * util/grub.d/10_hurd.in: Likewise.
5341 * util/grub.d/10_linux.in (linux_entry): Likewise.
5342 * util/grub.d/10_windows.in: Likewise.
5343 * util/grub.d/30_os-prober.in: Likewise.
5344
5345 * util/grub-install.in: Create environment block.
5346 * util/i386/efi/grub-install.in: Likewise.
5347 * util/ieee1275/grub-install.in: Likewise.
5348 * util/sparc64/ieee1275/grub-install.in: Likewise.
5349
5350 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5351
5352 Unit testing framework for GRUB.
5353
5354 * Makefile.in: Test framework build rules for 'make check'.
5355 * conf/tests.rmk: Build rules for individual tests and framework.
5356
5357 * include/grub/test.h: Header file for whitebox tests.
5358 * tests/lib/functional_test.c: Framework support for whitebox
5359 functional tests.
5360 * tests/lib/test.c: Common whitebox testing code for unit and
5361 functional tests.
5362 * tests/lib/unit_test.c: Framework support for whitebox unit
5363 tests.
5364
5365 * tests/util/grub-shell-tester.in: Support utility for grub-script
5366 tests.
5367 * tests/util/grub-shell.in: Utility to execute grub-script
5368 commands in a Qemu instance.
5369
5370 * tests/example_functional_test.c: Example whitebox functional
5371 test.
5372 * tests/example_grub_script_test.in: Example grub-script test.
5373 * tests/example_scripted_test.in: Example scripted test.
5374 * tests/example_unit_test.c: Example whitebox unit test.
5375
5376 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5379 Add loader/i386/multiboot_mbi.c.
5380 (multiboot2_mod_SOURCES): Likewise.
5381 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5382 (multiboot2_mod_SOURCES): Likewise.
5383 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5384 (grub_multiboot_make_mbi): Likewise.
5385 (grub_multiboot_free_mbi): Likewise.
5386 (grub_multiboot_init_mbi): Likewise.
5387 (grub_multiboot_add_module): Likewise.
5388 (grub_multiboot_set_bootdev): Likewise.
5389 * loader/i386/multiboot.c (mbi): Removed.
5390 (mbi_dest): Likewise.
5391 (alloc_mbi): New variable.
5392 (grub_multiboot_payload_size): Removed. All users updated.
5393 (grub_multiboot_pure_size): New variable.
5394 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5395 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5396 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5397 (grub_fill_multiboot_mmap): Likewise.
5398 (grub_multiboot_get_bootdev): Likewise.
5399 (grub_multiboot): Use multiboot_mbi functions.
5400 * loader/i386/multiboot_mbi.c: New file.
5401
5402 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5405 it would result in module crash.
5406
5407 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5410 (grub_ofconsole_getwh): Split to ...
5411 (grub_ofconsole_getwh): ... this.
5412 (grub_ofconsole_dimensions): ...and this.
5413 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5414
5415 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5416
5417 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5418
5419 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * loader/i386/pc/multiboot2.c: Removed stalled file.
5422
5423 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5426 Reported by: Grégoire Sutre
5427
5428 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5429
5430 * util/misc.c (canonicalize_file_name): New function.
5431 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5432 instead of realpath().
5433
5434 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
5435
5436 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5437 and make it clearer that it's optional. Based on confusion
5438 witnessed on IRC.
5439
5440 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5443 in premature implicit newline.
5444
5445 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5448 which resulted in garbled command line at the end of screen.
5449
5450 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5451
5452 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5453 initialization with similar approach as with other Linux loaders.
5454
5455 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5456
5457 Fix i386-ieee1275 build.
5458
5459 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5460 and grub_term_height() for video_{width,height} initialization.
5461
5462 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5463
5464 Fix grub-emu build.
5465
5466 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5467
5468 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5469 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5470
5471 Support for multiple terminals.
5472
5473 * Makefile.in (pkglib_DATA): terminal.lst.
5474 (terminal.lst): New target.
5475 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5476 (GRUB_MOD_INIT(handler)): Likewise.
5477 (GRUB_MOD_FINI(handler)): Likewise.
5478 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5479 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5480 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5481 (grub_cmd_sleep): Use grub_term_save_pos.
5482 * commands/terminal.c: New file.
5483 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5484 commands/terminal.c and lib/charset.c.
5485 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5486 (pkglib_MODULES): Add terminal.mod.
5487 (terminal_mod_SOURCES): New variable.
5488 (terminal_mod_CFLAGS): Likewise.
5489 (terminal_mod_LDFLAGS): Likewise.
5490 * genhandlerlist.sh: Don't handle terminals.
5491 * genmk.rb: Generate terminal-*.lst.
5492 * genterminallist.sh: New file.
5493 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5494 (grub_is_valid_utf8): Likewise.
5495 (grub_utf8_to_ucs4_alloc): Likewise.
5496 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5497 (grub_menu_register_viewer): Changed argument.
5498 (grub_menu_try_text): New proto.
5499 (grub_gfxmenu_try_hook): New declaration.
5500 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5501 (grub_menu_init_page): Additional argument term.
5502 (grub_normal_init_page): Likewise.
5503 (grub_cmdline_get): Arguments simplified.
5504 (grub_utf8_to_ucs4_alloc): Removed.
5505 (grub_print_ucs4): Additional argument term.
5506 (grub_getstringwidth): Likewise.
5507 (grub_print_message_indented): Likewise.
5508 (grub_menu_text_register_instances): New proto.
5509 (grub_show_menu): Likewise.
5510 (read_terminal_list): Likewise.
5511 (grub_set_more): Likewise.
5512 * include/grub/parser.h: Include handler.h.
5513 * include/grub/reader.h: Rewritten.
5514 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5515 (GRUB_TERM_WIDTH): Changed to function.
5516 (GRUB_TERM_HEIGHT): Likewise.
5517 (GRUB_TERM_BORDER_WIDTH): Likewise.
5518 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5519 (GRUB_TERM_NUM_ENTRIES): Likewise.
5520 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5521 (GRUB_TERM_CURSOR_X): Likewise.
5522 (grub_term_input_class): Likewise.
5523 (grub_term_output_class): Likewise.
5524 (grub_term_outputs_disabled): New declaration.
5525 (grub_term_inputs_disabled): Likewise.
5526 (grub_term_outputs): Likewise.
5527 (grub_term_inputs): Likewise.
5528 (grub_term_register_input): Rewritten.
5529 (grub_term_register_output): Likewise.
5530 (grub_term_unregister_input): Likewise.
5531 (grub_term_unregister_output): Likewise.
5532 (FOR_ACTIVE_TERM_INPUTS): New macro.
5533 (FOR_DISABLED_TERM_INPUTS): Likewise.
5534 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5535 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5536 * include/grub/terminfo.h: Add oterm argument to all protypes.
5537 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5538 Use grub_rescue_run.
5539 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5540 All users updated.
5541 * kern/reader.c: Removed. All users updated.
5542 * kern/rescue_reader.c (grub_rescue_init): Removed.
5543 (grub_rescue_reader): Likewise.
5544 (grub_register_rescue_reader): Likewise.
5545 (grub_rescue_run): New function based on kern/reader.c.
5546 * kern/term.c: Adapted for multiterm.
5547 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5548 (grub_is_valid_utf8): Likewise.
5549 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5550 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5551 right terminal.
5552 * loader/i386/linux.c (grub_linux_boot): Likewise.
5553 * normal/auth.c (grub_username_get): New function.
5554 (grub_auth_check_authentication): Use grub_username_get.
5555 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5556 * normal/color.c: Adapt for multiterm.
5557 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5558 (grub_normal_init_page): Additional argument term.
5559 (read_lists): Call read_terminal_lists.
5560 (grub_enter_normal_mode): Call grub_cmdline_run.
5561 Handle grub_normal_exit_level.
5562 (grub_cmd_normal): Make reentrant.
5563 (grub_cmd_normal_exit): New function.
5564 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5565 * normal/menu.c: Adapt for multiterm.
5566 * normal/menu_entry.c: Likewise.
5567 * normal/menu_text.c: Likewise.
5568 * normal/menu_viewer.c: Removed. All users updated.
5569 * normal/term.c: New file.
5570 * util/console.c: Change order of includes to workaround a bug in
5571 ncurses headers.
5572 * term/terminfo.c: New argument oterm on all exported functions.
5573 All users updated.
5574 * util/grub-editenv.c (grub_term_input_class): Removed.
5575 (grub_term_output_class): Likewise.
5576
5577 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5578
5579 Make loader output a bit more user-friendly.
5580
5581 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5582 is being loaded. Likewise for the Hurd.
5583
5584 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5585 that kernel of FreeBSD ${version} is being loaded.
5586
5587 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5588 grub_dprintf().
5589 (grub_cmd_initrd): Likewise.
5590 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5591 that Linux ${version} is being loaded. Likewise for initrd.
5592
5593 2010-01-09 Carles Pina i Estany <carles@pina.cat>
5594
5595 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5596
5597 2010-01-08 Carles Pina i Estany <carles@pina.cat>
5598
5599 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5600 (GRUB_MOD_INIT): Gettextizze.
5601 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5602 (GRUB_MOD_INIT): Gettextizze.
5603 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5604 (grub_cmd_linux): Capitalise Linux.
5605 (GRUB_MOD_INIT): Gettextizze.
5606 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5607 (grub_cmd_linux): Capitalise Linux.
5608 (GRUB_MOD_INIT): Gettextizze.
5609 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5610 (grub_cmd_linux): Capitalise Linux.
5611 (GRUB_MOD_INIT): Gettextizze.
5612 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5613 (GRUB_MOD_INIT): Gettextizze.
5614 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5615 (grub_cmd_linux): Capitalise Linux.
5616 (GRUB_MOD_INIT): Gettextizze.
5617 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5618 (grub_cpu_xnu_init): Gettextizze.
5619 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5620 (GRUB_MOD_INIT): Gettextizze.
5621 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5622 (GRUB_MOD_INIT): Gettextizze.
5623 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5624 (grub_linux_load64): Capitalise Linux.
5625 (GRUB_MOD_INIT): Gettextizze.
5626 * loader/xnu.c: Include `<grub/i18n.h>'.
5627 (GRUB_MOD_INIT): Gettextizze.
5628 * po/POTFILES: Add `loader/efi/appleloader.c',
5629 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5630 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5631 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5632 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5633 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5634 and `loader/xnu.c'.
5635
5636 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5637
5638 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5639
5640 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5641
5642 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5643 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5644 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5645
5646 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5647
5648 Reset Multiboot 2 support. New loader implements the draft in
5649 /branches/multiboot2 and shares as much code as possible with the
5650 production Multiboot 1 implementation.
5651
5652 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5653 * loader/multiboot2.c: Likewise.
5654 * loader/i386/multiboot_helper.S: Likewise.
5655 * include/multiboot2.h: Replace with latest version from the draft
5656 in /branches/multiboot2.
5657
5658 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5659 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5660 and `loader/multiboot2.c'.
5661 (pkglib_MODULES): Add `multiboot2.mod'.
5662 (multiboot2_mod_SOURCES): New variable.
5663 (multiboot2_mod_LDFLAGS): Likewise.
5664 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5665
5666 * conf/i386-pc.rmk: Likewise.
5667
5668 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5669 (multiboot_mod_SOURCES): Remove variable.
5670 (multiboot_mod_LDFLAGS): Likewise.
5671 (multiboot_mod_CFLAGS): Likewise.
5672
5673 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5674 `<multiboot2.h>' instead of `<multiboot.h>'.
5675 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5676 (MULTIBOOT_HEADER_MAGIC): New macros.
5677
5678 * loader/multiboot_loader.c (module_version_status): Remove variable.
5679 (find_multi_boot2_header): Remove function.
5680 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5681 logic. Always check for the Multiboot version we're compiling for.
5682 (grub_cmd_module_loader): Likewise.
5683 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5684 command instead of `multiboot'.
5685
5686 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5687
5688 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5689 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5690 all users.
5691
5692 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5693 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Fix breakage introduced with previous commit.
5696
5697 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5698 commands.
5699 * normal/handler.c (read_handler_list): Revert part of previous commit
5700 affecting this file.
5701 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5702 (grub_normal_execute): ... here.
5703
5704 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5705
5706 Merge prefix-redefinition-fix branch.
5707
5708 * normal/autofs.c (read_fs_list): Make function capable of being
5709 run multiple times, gracefuly replacing the previous data
5710 structures.
5711 * normal/dyncmd.c (read_command_list): Likewise.
5712 * normal/handler.c (read_handler_list): Likewise.
5713 * normal/main.c (read_lists): New function. Calls all the
5714 list reading functions.
5715 (grub_normal_execute): Use read_lists() instead of calling all
5716 list reading functions explicitly. Register read_lists() as a
5717 variable hook attached to ${prefix}.
5718
5719 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 Merge crypto branch.
5722
5723 * Makefile.in (pkglib_DATA): Add crypto.lst.
5724 (crypto.lst): New target.
5725 * commands/hashsum.c: New file.
5726 * commands/password.c (check_password): Use grub_crypto_memcmp.
5727 * commands/password_pbkdf2.c: New file.
5728 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5729 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5730 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5731 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5732 -I$(srcdir)/lib/libgcrypt_wrap.
5733 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5734 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5735 password_pbkdf2.mod.
5736 (crypto_mod_SOURCES): New variable.
5737 (crypto_mod_CFLAGS): Likewise.
5738 (crypto_mod_LDFLAGS): Likewise.
5739 (hashsum_mod_SOURCES): New variable.
5740 (hashsum_mod_CFLAGS): Likewise.
5741 (hashsum_mod_LDFLAGS): Likewise.
5742 (pbkdf2_mod_SOURCES): New variable.
5743 (pbkdf2_mod_CFLAGS): Likewise.
5744 (pbkdf2_mod_LDFLAGS): Likewise.
5745 (password_pbkdf2_mod_SOURCES): New variable.
5746 (password_pbkdf2_mod_CFLAGS): Likewise.
5747 (password_pbkdf2_mod_LDFLAGS): Likewise.
5748 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5749 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5750 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5751 Include conf/gcry.rmk.
5752 * include/grub/auth.h: Rewritten.
5753 * include/grub/crypto.h: New file.
5754 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5755 * include/grub/normal.h (read_crypto_list): New prototype.
5756 * lib/crypto.c: New file.
5757 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5758 * lib/pbkdf2.c: Likewise.
5759 * normal/auth.c (grub_auth_strcmp): Removed.
5760 (grub_iswordseparator): Likewise.
5761 (grub_auth_strword): Likewise.
5762 (is_authenticated): Use grub_strword.
5763 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5764 and grub_strword. Pass entered password to authentication callback.
5765 * normal/crypto.c: New file.
5766 * normal/main.c: Call read_crypto_list.
5767 * util/grub-mkpasswd-pbkdf2.c: New file.
5768 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5769
5770 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 Fix descent and ascent calculation.
5773
5774 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5775 (options): New option "asce".
5776 (usage): Likewise.
5777 (add_char): Ignore invalid glyphs for descent calculation.
5778 Calculate ascent from actual content.
5779 (print_glyphs): Use 'asce'.
5780 (write_font): Likewise. Allow ascent override.
5781 (main): Handle "asce" option.
5782
5783 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5784
5785 * kern/err.c: Include `<grub/i18n.h>'.
5786 (grub_print_error): Add full stop. Gettextizze.
5787 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5788 (grub_bsd_load_elf): Capitalise ELF.
5789 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5790 (grub_cmd_freebsd_module): Likewise.
5791 (grub_cmd_freebsd_module_elf): Likewise.
5792 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5793
5794 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5795
5796 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5797 * commands/search_file.c (HELP_MESSAGE): New macro.
5798 * commands/search_label.c (HELP_MESSAGE): Likewise.
5799 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5800 * po/POTFILES: Add `commands/search_file.c',
5801 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5802 `commands/search.c'.
5803
5804 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5805
5806 * config.rpath: Update from Gnulib.
5807
5808 2010-01-05 Yves Blusseau <blusseau@zetam.org>
5809
5810 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5811
5812 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5813
5814 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5815
5816 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5817
5818 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5819 arguments to fread so that we get a return value in bytes, rather
5820 than something that will normally be rounded down to 0.
5821 Adjust error handling to avoid producing garbage when size_t is not
5822 the same size as long long.
5823
5824 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5825
5826 * util/mkisofs/write.c (padblock_write): Check return value of
5827 fread.
5828
5829 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5830
5831 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5832 floppy images now.
5833
5834 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5835
5836 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5837
5838 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5839 instead of manual alignment.
5840 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5841 verbose). Avoid attempts to read past end of the device
5842 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5843 but GRUB_DISK_CACHE_SIZE may exceed that).
5844
5845 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5846
5847 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5848 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5849 it to upper layer.
5850
5851 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5854 New constant.
5855 (grub_efi_piwg_device_path): New structure
5856 (grub_efi_piwg_device_path_t): New type.
5857 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5858 (devpath_1): Transform to a structure. All users updated.
5859 (devpath_2): Likewise.
5860 (devpath_3): Likewise.
5861 (devpath_4): Likewise.
5862 (devpath_5): Likewise.
5863
5864 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * loader/efi/appleloader.c: Restored. Update all users.
5867
5868 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5869
5870 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5871
5872 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5873 (struct boot_blocklist): Move from here ...
5874 * include/grub/i386/pc/boot.h [ASM_FILE]
5875 (struct grub_boot_blocklist): ... to here. Update all users.
5876 (setup): Only initialize `start' member of `first_block'
5877 structure. Add assert() calls to verify the other members.
5878
5879 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5880 (generate_image): Fix broken blocklist length initialization.
5881 Add assert() call to verify blocklist `segment' field.
5882
5883 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5884
5885 * loader/efi/appleloader.c: Remove. Update all users.
5886
5887 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5888
5889 * boot/i386/pc/boot.S: Update copyright year.
5890 * boot/i386/pc/cdboot.S: Likewise.
5891 * boot/i386/pc/diskboot.S: Likewise.
5892 * boot/i386/pc/lnxboot.S: Likewise.
5893 * boot/i386/pc/pxeboot.S: Likewise.
5894 * bus/pci.c: Likewise.
5895 * commands/cmp.c: Likewise.
5896 * commands/help.c: Likewise.
5897 * commands/hexdump.c: Likewise.
5898 * commands/i386/pc/halt.c: Likewise.
5899 * commands/i386/pc/play.c: Likewise.
5900 * commands/i386/pc/vbeinfo.c: Likewise.
5901 * commands/ls.c: Likewise.
5902 * commands/test.c: Likewise.
5903 * disk/dmraid_nvidia.c: Likewise.
5904 * disk/i386/pc/biosdisk.c: Likewise.
5905 * disk/ieee1275/nand.c: Likewise.
5906 * disk/ieee1275/ofdisk.c: Likewise.
5907 * disk/lvm.c: Likewise.
5908 * disk/raid.c: Likewise.
5909 * disk/raid6_recover.c: Likewise.
5910 * disk/scsi.c: Likewise.
5911 * fs/affs.c: Likewise.
5912 * fs/cpio.c: Likewise.
5913 * fs/ext2.c: Likewise.
5914 * fs/hfs.c: Likewise.
5915 * fs/iso9660.c: Likewise.
5916 * fs/ntfs.c: Likewise.
5917 * fs/sfs.c: Likewise.
5918 * fs/udf.c: Likewise.
5919 * fs/ufs.c: Likewise.
5920 * fs/xfs.c: Likewise.
5921 * gencmdlist.sh: Likewise.
5922 * genmk.rb: Likewise.
5923 * include/grub/disk.h: Likewise.
5924 * include/grub/efi/api.h: Likewise.
5925 * include/grub/efi/efi.h: Likewise.
5926 * include/grub/efi/pe32.h: Likewise.
5927 * include/grub/elf.h: Likewise.
5928 * include/grub/fs.h: Likewise.
5929 * include/grub/i386/at_keyboard.h: Likewise.
5930 * include/grub/i386/pc/memory.h: Likewise.
5931 * include/grub/i386/pc/vbe.h: Likewise.
5932 * include/grub/i386/pci.h: Likewise.
5933 * include/grub/i386/tsc.h: Likewise.
5934 * include/grub/ieee1275/ieee1275.h: Likewise.
5935 * include/grub/ntfs.h: Likewise.
5936 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5937 * include/grub/sparc64/libgcc.h: Likewise.
5938 * include/grub/symbol.h: Likewise.
5939 * include/grub/types.h: Likewise.
5940 * include/multiboot2.h: Likewise.
5941 * io/gzio.c: Likewise.
5942 * kern/device.c: Likewise.
5943 * kern/disk.c: Likewise.
5944 * kern/efi/efi.c: Likewise.
5945 * kern/efi/mm.c: Likewise.
5946 * kern/elf.c: Likewise.
5947 * kern/file.c: Likewise.
5948 * kern/i386/dl.c: Likewise.
5949 * kern/i386/pc/init.c: Likewise.
5950 * kern/i386/pc/startup.S: Likewise.
5951 * kern/ieee1275/ieee1275.c: Likewise.
5952 * kern/ieee1275/init.c: Likewise.
5953 * kern/main.c: Likewise.
5954 * kern/mm.c: Likewise.
5955 * kern/powerpc/dl.c: Likewise.
5956 * kern/sparc64/dl.c: Likewise.
5957 * kern/x86_64/dl.c: Likewise.
5958 * lib/hexdump.c: Likewise.
5959 * loader/efi/appleloader.c: Likewise.
5960 * loader/i386/ieee1275/linux.c: Likewise.
5961 * loader/i386/pc/chainloader.c: Likewise.
5962 * loader/i386/pc/linux.c: Likewise.
5963 * loader/i386/pc/multiboot2.c: Likewise.
5964 * loader/ieee1275/multiboot2.c: Likewise.
5965 * loader/multiboot2.c: Likewise.
5966 * loader/multiboot_loader.c: Likewise.
5967 * loader/powerpc/ieee1275/linux.c: Likewise.
5968 * normal/completion.c: Likewise.
5969 * normal/menu_entry.c: Likewise.
5970 * partmap/apple.c: Likewise.
5971 * util/grub.d/10_hurd.in: Likewise.
5972 * util/hostfs.c: Likewise.
5973 * video/readers/png.c: Likewise.
5974
5975 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
5976
5977 * include/grub/misc.h (GNUC_PREREQ): New macro.
5978 (ATTRIBUTE_ERROR): New macro.
5979 * include/grub/list.h (grub_bad_type_cast_real): Use
5980 ATTRIBUTE_ERROR.
5981
5982 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5983
5984 * normal/menu_text.c (print_message): Change messages.
5985
5986 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5987
5988 * normal/menu_entry.c (store_completion): Gettextizze.
5989
5990 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5991
5992 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5993
5994 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5995
5996 * po/POTFILES: Sort correctly.
5997
5998 2010-01-03 Carles Pina i Estany <carles@pina.cat>
5999
6000 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6001 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6002 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6003 full stop.
6004 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6005 summary. Gettextizze the strings.
6006 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6007 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6008 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6009 full stop.
6010 (GRUB_MOD_INIT): Remove command name from summary.
6011 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6012 summary.
6013 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6014 * term/i386/pc/serial.c (options): Add full stops.
6015 (GRUB_MOD_INIT): Remove command name from the summary.
6016
6017 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6018
6019 * commands/acpi.c: Gettextizze help strings and/or options. Include
6020 `grub/i18n.h' if needed.
6021 * commands/blocklist.c: Likewise.
6022 * commands/boot.c: Likewise.
6023 * commands/cat.c: Likewise.
6024 * commands/cmp.c: Likewise.
6025 * commands/configfile.c: Likewise.
6026 * commands/crc.c: Likewise.
6027 * commands/date.c: Likewise.
6028 * commands/echo.c: Likewise.
6029 * commands/efi/fixvideo.c: Likewise.
6030 * commands/efi/loadbios.c: Likewise.
6031 * commands/gptsync.c: Likewise.
6032 * commands/halt.c: Likewise.
6033 * commands/handler.c: Likewise.
6034 * commands/hdparm.c: Likewise.
6035 * commands/hexdump.c: Likewise.
6036 * commands/i386/cpuid.c: Likewise.
6037 * commands/i386/pc/drivemap.c: Likewise.
6038 * commands/i386/pc/halt.c: Likewise.
6039 * commands/i386/pc/pxecmd.c: Likewise.
6040 * commands/i386/pc/vbeinfo.c: Likewise.
6041 * commands/i386/pc/vbetest.c: Likewise.
6042 * commands/ieee1275/suspend.c: Likewise.
6043 * commands/keystatus.c: Likewise.
6044 * commands/loadenv.c: Likewise.
6045 * commands/ls.c: Likewise.
6046 * commands/lsmmap.c: Likewise.
6047 * commands/lspci.c: Likewise.
6048 * commands/memrw.c: Likewise.
6049 * commands/minicmd.c: Likewise.
6050 * commands/parttool.c: Likewise.
6051 * commands/password.c: Likewise.
6052 * commands/probe.c: Likewise.
6053 * commands/read.c: Likewise.
6054 * commands/reboot.c: Likewise.
6055 * commands/search.c: Likewise.
6056 * commands/sleep.c: Likewise.
6057 * commands/test.c: Likewise.
6058 * commands/true.c: Likewise.
6059 * commands/usbtest.c: Likewise.
6060 * commands/videotest.c: Likewise.
6061 * commands/xnu_uuid.c: Likewise.
6062 * disk/loopback.c: Likewise.
6063 * hello/hello.c: Likewise.
6064 * loader/i386/bsd.c: Likewise.
6065 * term/i386/pc/serial.c: Likewise.
6066 * po/POTFILES: Add new files.
6067
6068 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
6069
6070 * term/i386/pc/at_keyboard.c
6071 (keyboard_controller_wait_untill_ready): Rename to ...
6072 (keyboard_controller_wait_until_ready): ... this. Update all users.
6073
6074 2010-01-01 Carles Pina i Estany <carles@pina.cat>
6075
6076 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6077 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6078 string using string width.
6079 * normal/menu_text.c (grub_print_message_indented): Use
6080 grub_print_spaces and not print_spaces.
6081 (print_timeout): Likewise.
6082 (print_spaces): Move to...
6083 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6084
6085 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6086
6087 Import from Gnulib.
6088
6089 * gnulib/getdelim.c: New file.
6090 * gnulib/getline.c: Likewise.
6091
6092 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6093
6094 * include/grub/list.h (grub_assert_fail): Removed.
6095 (grub_bad_type_cast_real): New function.
6096 (grub_bad_type_cast): New macro.
6097 (GRUB_AS_LIST): Use grub_bad_type_cast.
6098 (GRUB_AS_LIST_P): Likewise.
6099 (GRUB_AS_NAMED_LIST): Likewise.
6100 (GRUB_AS_NAMED_LIST_P): Likewise.
6101 (GRUB_AS_PRIO_LIST): Likewise.
6102 (GRUB_AS_PRIO_LIST_P): Likewise.
6103 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
6104
6105 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6108 Fix syntax error.
6109
6110 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6111
6112 * configure.ac: Check for TARGET_CFLAGS initialization before we
6113 initialize it ourselves (sigh).
6114 Move a few modifications to TARGET_CFLAGS to be unconditional
6115 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6116 eh_frame)
6117
6118 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6119 * term/i386/pc/at_keyboard.c
6120 (keyboard_controller_wait_untill_ready): Likewise.
6121 (keyboard_controller_led): Rename `led_status' paramter to avoid
6122 name conflict.
6123
6124 2009-12-28 Carles Pina i Estany <carles@pina.cat>
6125
6126 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6127 quotes.
6128
6129 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6132
6133 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * normal/menu_text.c (grub_print_message_indented): Prevent
6136 past-the-end-of-array dereference.
6137
6138 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6141 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6142
6143 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6144
6145 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6146 * normal/main.c (grub_normal_read_line): Remove a space from the
6147 default prompt.
6148
6149 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6150
6151 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6152 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6153 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6154 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6155 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6156 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6157 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6158
6159 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6160
6161 * video/readers/jpeg.c (cmd): Declare.
6162 (grub_cmd_jpegtest): Use `grub_command_t' type.
6163 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6164 Assign to `cmd'.
6165 (GRUB_MOD_FINI): Use `cmd' to unregister.
6166 * video/readers/png.c (cmd): Declare.
6167 (grub_cmd_pngtest): Use `grub_command_t' type.
6168 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6169 Assign to `cmd'.
6170 (GRUB_MOD_FINI): Use `cmd' to unregister.
6171 * video/readers/tga.c (cmd): Declare.
6172 (grub_cmd_tgatest): Use `grub_command_t' type.
6173 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6174 Assign to `cmd'.
6175 (GRUB_MOD_FINI): Use `cmd' to unregister.
6176
6177 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6178
6179 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6180 stops.
6181 * kern/corecmd.c (grub_register_core_commands): Likewise.
6182 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6183 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6184 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6185 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6186 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6187 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6188 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6189 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6190 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6191 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6192 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6193 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6194 * normal/handler.c (insert_handler): Likewise.
6195 * normal/main.c (GRUB_MOD_INIT): Likewise.
6196 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6197
6198 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6199
6200 * commands/help.c (grub_cmd_help): Print the command name before the
6201 summary.
6202 (GRUB_MOD_INIT): Remove command name from the summary.
6203 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
6204 string as summary.
6205 * lib/arg.c (find_long): Print the command name before the summary.
6206 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6207 summary.
6208 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6209 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6210 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6211 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6212 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6213 * commands/date.c (GRUB_MOD_INIT): Likewise.
6214 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6215 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6216 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6217 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6218 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6219 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6220 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6221 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6222 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6223 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6224 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6225 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6226 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6227 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6228 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6229 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6230 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6231 * commands/password.c (GRUB_MOD_INIT): Likewise.
6232 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6233 * commands/read.c (GRUB_MOD_INIT): Likewise.
6234 * commands/search.c (GRUB_MOD_INIT): Likewise.
6235 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6236 * commands/test.c (GRUB_MOD_INIT): Likewise.
6237 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6238 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6239 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6240 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6241 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6242 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6243 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6244 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6245 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6246 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6247 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6248 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6249 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6250 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6251
6252 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 Use search command for preliminar UUID search.
6255
6256 * commands/search.c: Split into ...
6257 * commands/search_wrap.c: ...this
6258 * commands/search.c: ...and this.
6259 * commands/search_file.c: New file.
6260 * commands/search_label.c: New file.
6261 * commands/search_uuid.c: New file.
6262 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6263 Add commands/search_wrap.c, commands/search_file.c,
6264 commands/search_label.c and commands/search_uuid.c.
6265 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6266 (search_mod_SOURCES): Set to commands/search_wrap.c.
6267 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6268 search_label.mod.
6269 (search_fs_file_mod_SOURCES): New variable.
6270 (search_fs_file_mod_CFLAGS): Likewise.
6271 (search_fs_file_mod_LDFLAGS): Likewise.
6272 (search_label_mod_SOURCES): Likewise.
6273 (search_label_mod_CFLAGS): Likewise.
6274 (search_label_mod_LDFLAGS): Likewise.
6275 (search_fs_uuid_mod_SOURCES): New variable.
6276 (search_fs_uuid_mod_CFLAGS): Likewise.
6277 (search_fs_uuid_mod_LDFLAGS): Likewise.
6278 (fs_file_mod_SOURCES): Removed.
6279 (fs_file_mod_CFLAGS): Likewise.
6280 (fs_file_mod_LDFLAGS): Likewise.
6281 (fs_uuid_mod_SOURCES): Removed.
6282 (fs_uuid_mod_CFLAGS): Likewise.
6283 (fs_uuid_mod_LDFLAGS): Likewise.
6284 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6285 Set to util/grub-install.in.
6286 * disk/fs_file.c: Removed.
6287 * disk/fs_uuid.c: Likewise.
6288 * include/grub/search.h: New file.
6289 * util/grub-install.in: Handle sparc64.
6290 Create and use load.cfg.
6291 * util/sparc64/ieee1275/grub-install.in: Removed.
6292
6293 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6296 Ignore return status if CF is cleared.
6297 (grub_biosdisk_get_diskinfo_standard): Likewise.
6298
6299 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6300
6301 * term/i386/pc/at_keyboard.c
6302 (keyboard_controller_wait_untill_ready): New function.
6303 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6304 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6305 for keyboard polling, rather than duplicate the same loop. This
6306 saves a few bytes in code size.
6307
6308 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 Support for (pxe[:server[:gateway]]) syntax and
6311 use environment variable for PXE.
6312
6313 * commands/i386/pc/pxecmd.c (options): Removed.
6314 (print_ip): Removed.
6315 (grub_cmd_pxe): Removed
6316 (grub_cmd_pxe_unload): New function.
6317 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6318 (grub_pxe_your_ip): Made static.
6319 (grub_pxe_default_server_ip): Likewise.
6320 (grub_pxe_default_gateway_ip): Likewise.
6321 (grub_pxe_blksize): Likewise.
6322 (parse_ip): New function.
6323 (grub_pxe_open): Support server and gateway specification.
6324 (grub_pxe_close): Free disk->data.
6325 (grub_pxefs_open): Use disk->data.
6326 (grub_pxefs_read): Likewise.
6327 (grub_env_write_readonly): New function.
6328 (set_mac_env): Likewise.
6329 (set_env_limn_ro): Likewise.
6330 (parse_dhcp_vendor): Likewise.
6331 (grub_pxe_detect): Set the environment variables.
6332 (set_ip_env): New function.
6333 (write_ip_env): Likewise.
6334 (grub_env_write_pxe_default_server): Likewise.
6335 (grub_env_write_pxe_default_gateway): Likewise.
6336 (grub_env_write_pxe_blocksize): Likewise.
6337 (GRUB_MOD_INIT(pxe)): Set environment variables.
6338 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6339 (grub_pxe_mac_addr_t): ... this. All users updated.
6340 (grub_pxe_your_ip): Removed.
6341 (grub_pxe_server_ip): Likewise.
6342 (grub_pxe_gateway_ip): Likewise.
6343 (grub_pxe_blksize): Likewise.
6344
6345 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6346
6347 * commands/help.c: Include `<grub/i18n.h>'.
6348 (grub_cmd_help): Gettextizze.
6349 (GRUB_MOD_INIT): Likewise.
6350 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6351 (GRUB_MOD_INIT): Gettextizze.
6352 * commands/search.c: Include `<grub/i18n.h>'.
6353 (options): Gettextizze.
6354 (GRUB_MOD_INIT): Gettextizze.
6355 * lib/arg.c: Include `<grub/i18n.h>'.
6356 (help_options): Gettextizze.
6357 (find_long): Likewise.
6358 (grub_arg_show_help): Likewise.
6359 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6360 (read_command_list): Gettextizze.
6361 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
6362 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
6363
6364 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6365
6366 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6367 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6368 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6369 (led_status): New variable.
6370 (keyboard_controller_led): New function.
6371 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6372 update led status for caps lock, num lock and scroll lock.
6373
6374 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
6375
6376 * util/hostdisk.c (open_device): Fix a comment.
6377
6378 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6379
6380 * util/grub-install.in (host_os): New variable.
6381 * util/i386/efi/grub-install.in (host_os): Likewise.
6382
6383 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6384
6385 * util/mkisofs/write.c (padblock_write): Abort when given an
6386 excedingly large embed image, instead of silently truncating it.
6387
6388 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6389
6390 * include/multiboot.h: Indentation fixes.
6391
6392 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6393
6394 * include/multiboot.h (struct multiboot_aout_symbol_table)
6395 (struct multiboot_elf_section_header_table): New structure
6396 declarations (stolen from GRUB Legacy).
6397 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6398 table information.
6399
6400 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6401 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6402 type aliases.
6403
6404 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6405
6406 * include/multiboot.h: Make comments src2texi-friendly.
6407
6408 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6409
6410 For consistency with [multiboot]/docs/boot.S.
6411
6412 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6413 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6414 (MULTIBOOT_MAGIC2): Rename from this ...
6415 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6416
6417 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6418
6419 * include/multiboot.h: Remove `<grub/types.h>'.
6420 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6421 types. Update all users.
6422
6423 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6424
6425 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6426 `couldn't' and `can not' by `cannot'.
6427 * commands/i386/pc/drivemap.c: Likewise.
6428 * disk/ata.c: Likewise.
6429 * disk/ieee1275/nand.c: Likewise.
6430 * fs/affs.c: Likewise.
6431 * fs/fat.c: Likewise.
6432 * fs/hfs.c: Likewise.
6433 * fs/hfsplus.c: Likewise.
6434 * fs/iso9660.c: Likewise.
6435 * fs/jfs.c: Likewise.
6436 * fs/minix.c: Likewise.
6437 * fs/reiserfs.c: Likewise.
6438 * fs/sfs.c: Likewise.
6439 * fs/udf.c: Likewise.
6440 * fs/ufs.c: Likewise.
6441 * fs/xfs.c: Likewise.
6442 * loader/powerpc/ieee1275/linux.c: Likewise.
6443 * loader/sparc64/ieee1275/linux.c: Likewise.
6444 * util/grub-probe.c: Likewise.
6445 * util/misc.c: Likewise.
6446
6447 2009-12-24 Carles Pina i Estany <carles@pina.cat>
6448
6449 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6450 grub_errno calls.
6451 * commands/acpi.c: Likewise.
6452 * commands/blocklist.c: Likewise.
6453 * commands/efi/loadbios.c: Likewise.
6454 * commands/i386/pc/drivemap.c: Likewise.
6455 * commands/loadenv.c: Likewise.
6456 * commands/memrw.c: Likewise.
6457 * commands/password.c: Likewise.
6458 * commands/videotest.c: Likewise.
6459 * disk/ata.c: Likewise.
6460 * disk/ata_pthru.c: Likewise.
6461 * disk/dmraid_nvidia.c: Likewise.
6462 * disk/ieee1275/nand.c: Likewise.
6463 * disk/ieee1275/ofdisk.c: Likewise.
6464 * disk/loopback.c: Likewise.
6465 * disk/lvm.c: Likewise.
6466 * disk/mdraid_linux.c: Likewise.
6467 * disk/raid.c: Likewise.
6468 * disk/raid6_recover.c: Likewise.
6469 * disk/scsi.c: Likewise.
6470 * efiemu/main.c: Likewise.
6471 * efiemu/mm.c: Likewise.
6472 * efiemu/pnvram.c: Likewise.
6473 * efiemu/symbols.c: Likewise.
6474 * font/font.c: Likewise.
6475 * fs/cpio.c: Likewise.
6476 * fs/hfsplus.c: Likewise.
6477 * fs/iso9660.c: Likewise.
6478 * fs/jfs.c: Likewise.
6479 * fs/minix.c: Likewise.
6480 * fs/ntfs.c: Likewise.
6481 * fs/ntfscomp.c: Likewise.
6482 * fs/reiserfs.c: Likewise.
6483 * fs/ufs.c: Likewise.
6484 * fs/xfs.c: Likewise.
6485 * gettext/gettext.c: Likewise.
6486 * include/grub/auth.h: Likewise.
6487 * kern/elf.c: Likewise.
6488 * kern/file.c: Likewise.
6489 * kern/ieee1275/init.c: Likewise.
6490 * kern/ieee1275/mmap.c: Likewise.
6491 * kern/ieee1275/openfw.c: Likewise.
6492 * kern/powerpc/dl.c: Likewise.
6493 * kern/sparc64/dl.c: Likewise.
6494 * lib/arg.c: Likewise.
6495 * loader/i386/bsd.c: Likewise.
6496 * loader/i386/bsdXX.c: Likewise.
6497 * loader/i386/efi/linux.c: Likewise.
6498 * loader/i386/efi/xnu.c: Likewise.
6499 * loader/i386/ieee1275/linux.c: Likewise.
6500 * loader/i386/linux.c: Likewise.
6501 * loader/i386/multiboot.c: Likewise.
6502 * loader/i386/pc/linux.c: Likewise.
6503 * loader/i386/pc/multiboot2.c: Likewise.
6504 * loader/i386/xnu.c: Likewise.
6505 * loader/ieee1275/multiboot2.c: Likewise.
6506 * loader/macho.c: Likewise.
6507 * loader/machoXX.c: Likewise.
6508 * loader/multiboot2.c: Likewise.
6509 * loader/multiboot_loader.c: Likewise.
6510 * loader/powerpc/ieee1275/linux.c: Likewise.
6511 * loader/sparc64/ieee1275/linux.c: Likewise.
6512 * loader/xnu.c: Likewise.
6513 * loader/xnu_resume.c: Likewise.
6514 * mmap/i386/pc/mmap.c: Likewise.
6515 * normal/menu_viewer.c: Likewise.
6516 * partmap/acorn.c: Likewise.
6517 * partmap/amiga.c: Likewise.
6518 * partmap/apple.c: Likewise.
6519 * script/lexer.c: Likewise.
6520 * term/gfxterm.c: Likewise.
6521 * term/i386/pc/serial.c: Likewise.
6522 * term/i386/pc/vga.c: Likewise.
6523 * term/ieee1275/ofconsole.c: Likewise.
6524 * term/terminfo.c: Likewise.
6525 * video/bitmap.c: Likewise.
6526 * video/efi_gop.c: Likewise.
6527 * video/efi_uga.c: Likewise.
6528 * video/fb/video_fb.c: Likewise.
6529 * video/i386/pc/vbe.c: Likewise.
6530 * video/readers/tga.c: Likewise.
6531 * video/video.c: Likewise.
6532
6533 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
6534
6535 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6536 * commands/lspci.c: Likewise.
6537 * commands/probe.c: Likewise.
6538 * commands/xnu_uuid.c: Likewise.
6539 * conf/i386-coreboot.rmk: Likewise.
6540 * conf/i386-efi.rmk: Likewise.
6541 * conf/i386-ieee1275.rmk: Likewise.
6542 * conf/i386-pc.rmk: Likewise.
6543 * conf/powerpc-ieee1275.rmk: Likewise.
6544 * conf/sparc64-ieee1275.rmk: Likewise.
6545 * conf/x86_64-efi.rmk: Likewise.
6546 * fs/i386/pc/pxe.c: Likewise.
6547 * gettext/gettext.c: Likewise.
6548 * include/grub/efi/graphics_output.h: Likewise.
6549 * include/grub/i386/pc/memory.h: Likewise.
6550 * kern/env.c: Likewise.
6551 * kern/i386/qemu/startup.S: Likewise.
6552 * lib/i386/pc/biosnum.c: Likewise.
6553 * lib/i386/relocator.c: Likewise.
6554 * lib/i386/relocator_asm.S: Likewise.
6555 * lib/relocator.c: Likewise.
6556 * loader/i386/bsd.c: Likewise.
6557 * loader/i386/multiboot.c: Likewise.
6558 * loader/i386/pc/chainloader.c: Likewise.
6559 * loader/i386/xnu.c: Likewise.
6560 * loader/xnu.c: Likewise.
6561 * normal/main.c: Likewise.
6562 * normal/menu_text.c: Likewise.
6563 * util/getroot.c: Likewise.
6564 * util/grub-mkconfig_lib.in: Likewise.
6565 * util/grub.d/00_header.in: Likewise.
6566 * util/i386/pc/grub-mkimage.c: Likewise.
6567 * util/mkisofs/eltorito.c: Likewise.
6568 * util/mkisofs/exclude.h: Likewise.
6569 * util/mkisofs/hash.c: Likewise.
6570 * util/mkisofs/iso9660.h: Likewise.
6571 * util/mkisofs/joliet.c: Likewise.
6572 * util/mkisofs/mkisofs.c: Likewise.
6573 * util/mkisofs/mkisofs.h: Likewise.
6574 * util/mkisofs/multi.c: Likewise.
6575 * util/mkisofs/name.c: Likewise.
6576 * util/mkisofs/rock.c: Likewise.
6577 * util/mkisofs/tree.c: Likewise.
6578 * util/mkisofs/write.c: Likewise.
6579 * video/efi_gop.c: Likewise.
6580
6581 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6584 size counting.
6585
6586 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6587
6588 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6589 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6590
6591 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6594 (GRUB_MOD_INIT(memrw)): Update help line.
6595
6596 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6599 Use grub_extcmd_t. All users updated.
6600 (options): New variable.
6601 (grub_cmd_read): Restructure for readability. Support "-v" option.
6602 (grub_cmd_write): Restructure for readability.
6603
6604 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6605
6606 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6607
6608 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6609
6610 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6611 with the actual contents of the correspondending make variable.
6612 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6613 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6614 specifying `*.lst' and `efiemu??.o'
6615
6616 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6617
6618 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6619 after function name.
6620 Noticed by Rene Engelhard <rene@debian.org>.
6621
6622 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6625 (options): New variable.
6626 (iospace): Likewise.
6627 (grub_lspci_iter): List IO spaces if "-i" was given.
6628 (grub_cmd_lspci): Parse options.
6629 (GRUB_MOD_INIT(lspci)): Use extcmd.
6630 (GRUB_MOD_FINI(lspci)): Likewise.
6631
6632 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6633
6634 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6635 `function' keyword.
6636 Patch by Tony Mancill <tmancill@debian.org>.
6637
6638 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6641 (grub_uhci_portstatus): Likewise.
6642 (grub_uhci_portstatus): Add necessary delay.
6643 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
6644
6645 2009-12-21 Carles Pina i Estany <carles@pina.cat>
6646
6647 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6648 (GRUB_MOD_INIT): Likewise.
6649 * commands/boot.c (GRUB_MOD_INIT): Likewise.
6650 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6651 * commands/echo.c (options): Fix capitalizations and/or full stops.
6652 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6653 (enable_rom_area): Likewise.
6654 (GRUB_MOD_INIT): Likewise.
6655 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6656 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6657 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6658 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6659 * commands/hexdump.c (options): Likewise.
6660 * commands/i386/cpuid.c (options): Likewise.
6661 (GRUB_MOD_INIT): Likewise.
6662 * commands/i386/pc/drivemap.c (options): Likewise.
6663 (GRUB_MOD_INIT): Likewise.
6664 * commands/i386/pc/halt (options): Likewise.
6665 (GRUB_MOD_INIT): Likewise.
6666 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6667 * commands/i386/pc/pxecmd.c (options): Likewise.
6668 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6669 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6670 * commands/keystatus.c (options): Likewise.
6671 (GRUB_MOD_INIT): Likewise.
6672 * commands/loadenv.c (options): Likewise.
6673 * commands/ls.c (options): Likewise.
6674 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6675 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6676 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6677 * commands/parttool.c (helpmsg): Likewise.
6678 * commands/probe.c (options): Likewise.
6679 * commands/read.c (GRUB_MOD_INIT): Likewise.
6680 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6681 * commands/search.c (options): Likewise.
6682 * commands/sleep.c (options): Likewise.
6683 * commands/test.c (GRUB_MOD_INIT): Likewise.
6684 * commands/true.c (GRUB_MOD_INIT): Likewise.
6685 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6686 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6687 * lib/arg.c (help_options): Likewise.
6688 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6689 `$(XGETTEXT)'.
6690 * po/POTFILES: Add `commands/loadenv.c'.
6691
6692 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
6693
6694 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
6695 instead of specifying them explicit.
6696
6697 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6698
6699 * NEWS: Add grub-probe support for GNU/Hurd.
6700
6701 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6702
6703 * NEWS: gettext was added after 1.97.
6704
6705 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6706
6707 * util/mkisofs/msdos_partition.h: New file (based on
6708 include/grub/msdos_partition.h).
6709 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6710 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6711 (ld_options, main): Recognize --protective-msdos-label.
6712 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6713 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6714 (padblock_write): If `use_protective_msdos_label' is set, patch a
6715 protective DOS-style label in the output image.
6716
6717 * util/grub-mkrescue.in: Use --protective-msdos-label.
6718
6719 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6720
6721 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6722 boot.
6723
6724 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6725
6726 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6727 variables.
6728 (ld_options, main): Recognize `--embedded-boot'.
6729 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6730 declarations.
6731 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6732 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6733 (padblock_write): Likewise. Rewrite to support embedded boot image.
6734
6735 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6736 for BIOS-based disk boot instead of only ElTorito.
6737
6738 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6739
6740 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6741 build (not needed for bootstrap).
6742
6743 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6744
6745 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6746 from i386-pc build (not needed for bootstrap).
6747 Rewrite a pair of strings.
6748
6749 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6750
6751 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6752
6753 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6756
6757 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6758
6759 * kern/env.c (grub_env_context_open): Mark exported variable for
6760 reexport.
6761
6762 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6763
6764 * kern/env.c (grub_env_export): Create nonexistent variables before
6765 exporting.
6766
6767 2009-12-20 Carles Pina i Estany <carles@pina.cat>
6768
6769 * include/grub/auth.h: Include `<grub/i18n.h>'.
6770 (GRUB_GET_PASSWORD): Gettextizze string.
6771 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6772 menu_text.c.
6773 (grub_utf8_to_ucs4_alloc): Fix indentation.
6774 (grub_print_ucs4): Likewise.
6775 (grub_getstringwidth): Likewise.
6776 (print_message_indented): New declaration.
6777 * normal/auth.c: Include `<grub/i18n.h>'.
6778 (grub_auth_check_authentication): Gettexttize string.
6779 * normal/cmdline.c: Include `<grub/i18n.h>'.
6780 (grub_cmdline_get): Gettextizze.
6781 * normal/color.c: Include `<grub/i18n.h>'.
6782 (grub_parse_color_name_pair): Gettexttize strings.
6783 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6784 string (use `print_message_indented').
6785 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6786 `include/grub/normal.h'.
6787 (print_message_indented): Renamed to ...
6788 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6789 used in normal/main.c).
6790 (print_message): Use `grub_print_message_indented' instead of
6791 `print_message_indented'.
6792 (print_timeout): Likewise.
6793 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6794 (grub_normal_print_device_info): Gettexttize strings.
6795 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6796
6797 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6800 of arguments. Return number of tokens and not arguments. All users
6801 updated.
6802
6803 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6806 non-MSDOS paritions.
6807
6808 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * include/grub/types.h (UNUSED): Removed since it conflicts with
6811 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6812 Reported by Grégoire Sutre.
6813
6814 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6815
6816 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6817 (grub_print_ucs4_alloc): Likewise.
6818 (grub_getstringwidth): Likewise.
6819 * normal/main.c (grub_normal_init_page): Gettextize version string.
6820 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6821 (getstringwidth): Renamed to ...
6822 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6823 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6824 (grub_print_ucs4): Remove `static' qualifer (now used in
6825 normal/main.c).
6826 * po/POTFILES: Add normal/main.c.
6827
6828 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6829
6830 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6831 (print_message_indented): Add `margin_left' and `margin_right'
6832 parameters.
6833 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6834 strings.
6835 (print_timeout): Use `print_message_indented' to print the message.
6836 Deletes `second_stage' parameter.
6837 (run_menu): Update `print_timeout' calls.
6838
6839 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 Fix console palette on OpenFirmware.
6842
6843 * term/ieee1275/ofconsole.c (MAX): Removed.
6844 (colors): Redone based on VGA palette.
6845 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6846 colors are supported.
6847 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6848
6849 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 Fix potential EfiEmu double prepare.
6852
6853 * efiemu/main.c (prepared): New variable
6854 (grub_efiemu_unload): Set prepare to '0'.
6855 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6856
6857 set_virtual_address_map support.
6858
6859 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6860 prototype.
6861 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6862 prototype.
6863 (grub_efiemu_crc32): Likewise.
6864 (grub_efiemu_crc64): Likewise.
6865 (grub_efiemu_set_virtual_address_map): Likewise.
6866 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6867 New definition.
6868 (grub_autoefi_set_virtual_address_map): Likewise.
6869 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6870 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6871 Restructure flow to accomodate it.
6872 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6873 (grub_efiemu_crc): Recompute CRC32.
6874 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6875 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6876 * efiemu/symbols.c (relocated_handle): New variable.
6877 (grub_efiemu_free_syms): Free relocated_handle.
6878 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6879 (grub_efiemu_write_sym_markers): New function.
6880 (grub_efiemu_set_virtual_address_map): Likewise.
6881
6882 Newer XNU parameters.
6883
6884 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6885 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6886 (grub_xnu_fill_devicetree): New prototype.
6887 (grub_xnu_heap_real_start): New variable.
6888 * loader/xnu.c (get_name_ptr): New function.
6889 (grub_xnu_load_driver): Fill namelen and name.
6890
6891 64-bit xnu support.
6892
6893 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6894 and 'loader/macho64.c'.
6895 * conf/i386-pc.rmk: Likewise.
6896 * conf/x86_64-efi.rmk: Likewise.
6897 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6898 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6899 * include/grub/macho.h (grub_macho_segment64): New structure.
6900 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6901 (grub_macho_size32): ... to this.
6902 (grub_macho32_get_entry_point): Renamed from ...
6903 (grub_macho_get_entry_point32): ... to this.
6904 (grub_macho_contains_macho64): New prototype.
6905 (grub_macho_size64): Likewise.
6906 (grub_macho_get_entry_point64): Likewise.
6907 (grub_macho32_load): Renamed from ...
6908 (grub_macho_load32): ... to this.
6909 (grub_macho32_filesize): Renamed from ...
6910 (grub_macho_filesize32): ... to this.
6911 (grub_macho32_readfile): Renamed from ...
6912 (grub_macho_readfile32): ... to this.
6913 (grub_macho_filesize64): New prototype.
6914 (grub_macho_readfile64): Likewise.
6915 (grub_macho_parse32): Likewise.
6916 (grub_macho_parse64): Likewise.
6917 * loader/macho.c: Split into ...
6918 * loader/machoXX.c: ... and this. Replace 32 with XX.
6919 * loader/macho32.c: New file.
6920 * loader/macho64.c: Likewise.
6921 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6922 (grub_cmd_xnu_kernel): Make 32-bit only.
6923 (grub_cmd_xnu_kernel64): New function.
6924 (grub_xnu_load_driver): Support Mach-O 64.
6925 (grub_cmd_xnu_mkext): Likewise.
6926 * util/grub.d/30_os-prober.in (osx_entry): New function.
6927 Generate entries for 64-bit boot too.
6928
6929 Eliminate ad-hoc tree format in XNU and EfiEmu.
6930
6931 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6932 * efiemu/pnvram.c: Rewritten to use environment variables.
6933 All users updated.
6934
6935 Inline utf16_to_utf8.
6936
6937 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6938 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6939 All users updated.
6940 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6941
6942 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6943 * commands/usbtest.c (grub_usb_get_string): ... move here.
6944 (usb_print_str): Fix error handling.
6945 * include/grub/usb.h (grub_usb_get_string): Remove.
6946
6947 UTF-8 to UTF-16 transformation.
6948
6949 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6950 (charset_mod_SOURCES): New variable.
6951 (charset_mod_CFLAGS): Likewise.
6952 (charset_mod_LDFLAGS): Likewise.
6953 * include/grub/utf.h: New file.
6954 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6955
6956 Support for device properties.
6957
6958 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6959 (grub_xnu_devprop_device_header): Likewise.
6960 (grub_xnu_devprop_device_descriptor): Likewise.
6961 (grub_xnu_devprop_add_device): New prototype.
6962 (grub_xnu_devprop_remove_device): Likewise.
6963 (grub_xnu_devprop_remove_property): Likewise.
6964 (grub_xnu_devprop_add_property_utf8): Likewise.
6965 (grub_xnu_devprop_add_property_utf16): Likewise.
6966 (grub_cpu_xnu_init): Likewise.
6967 (grub_cpu_xnu_fini): Likewise.
6968 (grub_cpu_xnu_unload): Likewise.
6969 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6970 (property_descriptor): Likewise.
6971 (devices): New variable.
6972 (grub_xnu_devprop_remove_property): New function.
6973 (grub_xnu_devprop_add_device): Likewise.
6974 (grub_xnu_devprop_remove_device): Likewise.
6975 (grub_xnu_devprop_add_property): Likewise.
6976 (grub_xnu_devprop_add_property_utf8): Likewise.
6977 (grub_xnu_devprop_add_property_utf16): Likewise.
6978 (hextoval): Likewise.
6979 (grub_cpu_xnu_fill_devprop): Likewise.
6980 (grub_cmd_devprop_load): Likewise.
6981 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6982 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6983 (cmd_devprop_load): New variable.
6984 (grub_cpu_xnu_init): New function.
6985 (grub_cpu_xnu_fini): Likewise.
6986 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6987 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6988 (grub_cmd_xnu_devtree): Likewise.
6989 (hextoval): New function.
6990 (unescape): Likewise.
6991 (grub_xnu_fill_devicetree): Likewise.
6992
6993 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6994 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6995
6996 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 Workaround for broken ATI VBE.
6999
7000 * video/i386/pc/vbe.c (last_set_mode): New variable.
7001 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7002 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7003 (grub_video_vbe_setup): Don't check for reserved flag.
7004
7005 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
7006
7007 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7008 the `find' command.
7009
7010 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 UUID support for HFS.
7013
7014 * fs/hfs.c (grub_hfs_uuid): New function.
7015 (grub_hfs_fs): New value .uuid.
7016 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7017
7018 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
7019
7020 Fix a segfault with parsing unknown long options.
7021
7022 * util/grub-mkrelpath.c (options): Zero terminate it.
7023
7024 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7025
7026 * include/grub/misc.h (grub_puts): New declaration.
7027 (grub_puts_): Likewise.
7028 * kern/misc.c (grub_puts): New definition.
7029 (grub_puts_): Likewise.
7030
7031 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7032
7033 * util/grub-probe.c (probe): Improve error message.
7034
7035 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7036
7037 * loader/i386/multiboot_elfxx.c
7038 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7039 initialization.
7040
7041 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 Relocator framework
7044
7045 * loader/i386/xnu_helper.S: Removed. All users updated.
7046 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7047 (relocator_mod_SOURCES): New variable.
7048 (relocator_mod_CFLAGS): Likewise.
7049 (relocator_mod_LDFLAGS): Likewise.
7050 (relocator_mod_ASFLAGS): Likewise.
7051 * conf/x86_64.rmk: Likewise.
7052 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7053 (grub_multiboot_payload_entry_offset): Likewise.
7054 (grub_multiboot_forward_relocator): Likewise.
7055 (grub_multiboot_forward_relocator_end): Likewise.
7056 (grub_multiboot_backward_relocator): Likewise.
7057 (grub_multiboot_backward_relocator_end): Likewise.
7058 (grub_multiboot_payload_eip): New variable.
7059 (grub_multiboot_payload_orig): Likewise.
7060 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7061 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7062 * include/grub/i386/memory.h
7063 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7064 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7065 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7066 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7067 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7068 * include/grub/i386/relocator.h: New file.
7069 * include/grub/x86_64/relocator.h: Likewise.
7070 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7071 (XNU_RELOCATOR): New macro.
7072 (grub_xnu_launcher_start): Remove.
7073 (grub_xnu_launcher_end): Likewise.
7074 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7075 (grub_xnu_heap_real_start): Remove.
7076 (grub_xnu_heap_start): Change to void *. All users updated.
7077 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7078 * lib/i386/relocator.c: New file.
7079 * lib/i386/relocator_asm.S: Likewise.
7080 * lib/i386/relocator_backward.S: Likewise.
7081 * lib/mips/relocator.c: Likewise.
7082 * lib/mips/relocator_asm.S: Likewise.
7083 * lib/relocator.c: Likewise.
7084 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7085 (entry): Removed.
7086 (playground): Likewise.
7087 (grub_multiboot_payload_orig): New variable.
7088 (grub_multiboot_payload_dest): Likewise.
7089 (grub_multiboot_payload_size): Likewise.
7090 (grub_multiboot_payload_eip): Likewise.
7091 (grub_multiboot_payload_esp): Likewise.
7092 (grub_multiboot_boot): Use grub_relocator32_boot.
7093 (grub_multiboot_unload): Free relocators.
7094 (grub_multiboot): Setup stack. Use relocators.
7095 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7096 (grub_multiboot_load_elfXX): Use relocators.
7097 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7098 (grub_multiboot_payload_size): Likewise.
7099 (grub_multiboot_payload_dest): Likewise.
7100 (grub_multiboot_payload_entry_offset): Likewise.
7101 (grub_multiboot_forward_relocator): Likewise.
7102 (grub_multiboot_backward_relocator): Likewise.
7103 (grub_multiboot_real_boot): Likewise.
7104 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7105 (grub_xnu_entry_point): Likewise.
7106 (grub_xnu_arg1): Likewise.
7107 (grub_xnu_stack): Likewise.
7108 (grub_xnu_launch): Removed.
7109 (grub_xnu_boot_resume): New function.
7110 (grub_xnu_boot): Use relocators.
7111 * loader/i386/xnu_helper.S: Removed.
7112 * loader/xnu.c (grub_xnu_heap_start): New variable.
7113 (grub_xnu_heap_size): Likewise.
7114 (grub_xnu_heap_malloc): Use relocators.
7115 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7116
7117 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7120 anything.
7121
7122 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7123
7124 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7125 GRUB_ERR_NONE before calling grub_env_set.
7126
7127 2009-12-12 Robert Millan <rmh@aybabtu.com>
7128
7129 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7130 * genmk.rb (video): New variable.
7131 (CLEANFILES, VIDEOFILES): Add #{video}.
7132 (#{video}): New target rule.
7133 * genvideolist.sh: New file.
7134 * Makefile.in (pkglib_DATA): Add video.lst.
7135 (video.lst): New target rule.
7136 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7137 `video.lst'.
7138 * util/grub.d/30_os-prober.in: Replace `vbe' with
7139 ${GRUB_VIDEO_BACKEND}.
7140
7141 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7142
7143 * THANKS: Add David Miller.
7144
7145 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 libpciaccess support.
7148
7149 * Makefile.in (LIBPCIACCESS): New variable.
7150 (enable_grub_emu_pci): Likewise.
7151 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7152 util/pci.c and commands/lspci.c.
7153 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7154 * configure.ac (grub-emu-pci): New option.
7155 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7156 (grub_pci_device_unmap_range): Likewise.
7157 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7158 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7159 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7160 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7161 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7162 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7163 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7164 * include/grub/pciutils.h: New file.
7165 * util/pci.c: Likewise.
7166
7167 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
7168
7169 * util/misc.c: Don't include <errno.h> twice.
7170
7171 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
7172
7173 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7174 name in an error message.
7175 (grub_biosdisk_rw): Likewise.
7176
7177 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 Eliminate NTFS 4Gib barrier.
7180
7181 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7182 (read_run_data): Likewise.
7183 (grub_ntfs_read_run_list): Likewise.
7184 (grub_ntfs_read_block): Likewise.
7185 (grub_ntfs_iterate_dir): Likewise.
7186 (read_mft): Likewise.
7187 (read_data): Likewise.
7188 Use COM_LOG_LEN.
7189 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7190 to avoid 64-bit division
7191 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7192 (grub_ntfs_rlst): Use grub_disk_addr_t.
7193
7194 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 Eliminate grub-fstest 4Gib barrier.
7197
7198 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7199 (read_file): Fix error reporting.
7200
7201 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 Eliminate hexdump 4Gib barrier.
7204
7205 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7206 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7207
7208 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7211 Fixes amarsh bug.
7212
7213 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7214
7215 Remove miscellaneous files in distclean target.
7216
7217 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7218
7219 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
7220
7221 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7222 if they're already set. This resolves the conflict between my
7223 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7224 fixing the --grub-probe option again.
7225 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7226 change on 2009-10-06, so that we now once again source
7227 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7228
7229 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7230
7231 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7232 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7233 `util/devicemap.c'.
7234
7235 2009-12-08 Carles Pina i Estany <carles@pina.cat>
7236
7237 * include/grub/misc.h (grub_printf_): New declaration.
7238 * kern/misc.c (grub_printf_): New definition.
7239 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7240 instead of `grub_printf' and `_'.
7241 * normal/menu_entry.c (store_completion): Likewise.
7242 (run): Likewise.
7243 (grub_menu_entry_run): Likewise.
7244 * normal/menu_text.c (grub_wait_after_message): Likewise.
7245 (notify_booting): Likewise.
7246 (notify_fallback): Likewise.
7247 (notify_execution_failure): Likewise.
7248
7249 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
7250
7251 * configure.ac: Check for vasprintf.
7252 * util/misc.c (asprintf): Move allocation from here ...
7253 (vasprintf): ... to here. New function.
7254 (xasprintf): New function.
7255 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7256 prototypes.
7257 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7258 * util/grub-mkfont.c (write_font): Likewise.
7259 * util/grub-probe.c (probe): Likewise.
7260 * util/hostdisk.c (make_device_name): Likewise.
7261
7262 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
7263
7264 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7265 anything even prefixed with 'cdrom' as a cdrom.
7266
7267 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
7268
7269 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7270 mount points.
7271
7272 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7273
7274 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7275 grub_gettext_msg_list.
7276 (grub_gettext_gettranslation_from_position): Return const char *
7277 and not char *.
7278 (grub_gettext_translate): Add the translated strings into a list,
7279 returns from the list if existing there.
7280 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7281 (grub_gettext_delete_list): Delete the list.
7282 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7283 lang environment variable is changed.
7284 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7285
7286 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 Rename kernel.mod to kernel.img.
7289
7290 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7291 (kernel_mod_EXPORTS): Rename to ...
7292 (kernel_img_EXPORTS): ... this.
7293 (kernel_mod_SOURCES): Rename to ...
7294 (kernel_img_SOURCES): ... this.
7295 (kernel_mod_HEADERS): Rename to ...
7296 (kernel_img_HEADERS): ... this. All users updated.
7297 (kernel_mod_CFLAGS): Rename to ...
7298 (kernel_img_CFLAGS): ... this.
7299 (kernel_mod_ASFLAGS): Rename to ...
7300 (kernel_img_ASFLAGS): ... this.
7301 (kernel_mod_LDFLAGS): Rename to ...
7302 (kernel_img_LDFLAGS): ... this.
7303 * conf/x86_64-efi.rmk: Likewise.
7304 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7305 (read_kernel_image): ... this. All users updated.
7306 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7307
7308 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7309
7310 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7311 (print_spaces): New function.
7312 (grub_print_ucs4): New function.
7313 (getstringwidth): New function.
7314 (print_message_indented): New function.
7315 (print_message): Gettexttize strings using print_message_indented.
7316 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7317 width.
7318 (get_entry_number): Gettextize and uses dynamic terminal width.
7319 (notify_booting, notify_fallback, notify_execution_failure):
7320 Gettextize.
7321 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7322 string.
7323 (run): Likewise.
7324 (grub_menu_entry_run): Likewise.
7325 * PO/POTFILES: Add normal/menu_entry.c.
7326
7327 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7330
7331 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7332
7333 * util/grub-install.in: Install gettext .mo files.
7334 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7335
7336 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7337
7338 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7339 grub_dprintf.
7340
7341 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7342
7343 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7344 non-firmware-dependant one in realmode.S takes precedence.
7345
7346 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7347
7348 * commands/halt.c: Replace misc arch-specific headers with
7349 `<grub/misc.h>'.
7350 * commands/reboot.c: Likewise.
7351 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7352 `<grub/misc.h>'.
7353 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7354 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7355 (kernel_img_SOURCES): ... to here.
7356
7357 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7358 * include/grub/i386/pc/init.h: Likewise.
7359 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7360 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7361
7362 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7363
7364 * include/grub/i386/halt.h: Remove.
7365 * include/grub/i386/reboot.h: Likewise.
7366
7367 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7368
7369 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
7370
7371 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7372 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7373 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7374 "progname.h"
7375 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7376 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7377 (usage): Add missing comma in printf.
7378
7379 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7380
7381 Use the same reboot approach on i386 coreboot and qemu as we do on
7382 BIOS.
7383
7384 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7385 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7386 * kern/i386/reboot.c: Remove.
7387 * include/grub/i386/reboot.h (grub_reboot): Export function.
7388 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7389 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7390 0xf000:0xfff0 instead of 0xffff:0x0000.
7391 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7392 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7393
7394 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7395
7396 Fix $srcdir != $objdir build.
7397
7398 * Makefile.in (po/%.po): Rewrite as ...
7399 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7400
7401 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7402
7403 Fix GNU/Hurd grub-install crash.
7404 * util/grub-probe.c (probe): Try to access `path' only when it is not
7405 NULL.
7406
7407 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Correct module naming.
7410
7411 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7412 (GRUB_MOD_INIT(efi_uga)): ... to this
7413 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7414 (GRUB_MOD_FINI(efi_uga)): ... to this
7415 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7416 (GRUB_MOD_INIT(efi_gop)): ... to this
7417 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7418 (GRUB_MOD_FINI(efi_gop)): ... to this
7419
7420 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7421
7422 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7423 translatable.
7424 (usage): Translate `arg' strings using gettext().
7425 Thanks to Jordi Mallach for the suggestion.
7426
7427 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 GOP support. Based on patch from Bean
7430 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7431
7432 * video/efi_gop.c: New file.
7433 * include/grub/efi/graphics_output.h: Likewise.
7434 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7435 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7436 variables.
7437 * conf/x86_64-efi.rmk: Likewise.
7438
7439 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Rename efi_fb to efi_uga.
7442
7443 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7444 'efi_uga.mod'.
7445 (efi_fb_mod_SOURCES): Rename this ...
7446 (efi_uga_mod_SOURCES): ... to this.
7447 (efi_fb_mod_CFLAGS): Rename this ...
7448 (efi_uga_mod_CFLAGS): ... to this.
7449 (efi_fb_mod_LDFLAGS): Rename this ...
7450 (efi_uga_mod_LDFLAGS): ... to this.
7451 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7452 'efi_uga.mod'.
7453 (efi_fb_mod_SOURCES): Rename this ...
7454 (efi_uga_mod_SOURCES): ... to this.
7455 (efi_fb_mod_CFLAGS): Rename this ...
7456 (efi_uga_mod_CFLAGS): ... to this.
7457 (efi_fb_mod_LDFLAGS): Rename this ...
7458 (efi_uga_mod_LDFLAGS): ... to this.
7459 * video/efi_fb.c: Move this ...
7460 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7461
7462 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7463
7464 * po/README: New file. Explain our PO file workflow.
7465
7466 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7467
7468 * po/ChangeLog: Remove. Move relevant entries back to ...
7469 * ChangeLog: ... here.
7470 * po/ca.po: Remove (now handled by TLP).
7471 * po/id.po: Likewise.
7472 * po/zh_CN.po: Likewise.
7473 * Makefile.in (LINGUAS): Initialize in a way that supports
7474 empty set.
7475
7476 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7477
7478 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7479 reliing on po/LINGUAS.
7480 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7481 (po/%.po): ... this.
7482
7483 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7484
7485 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7486 (main): Use `program_name' instead of nonexistent `progname'.
7487
7488 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7489
7490 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7491 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7492
7493 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7494
7495 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7496 commit.
7497 * conf/i386-efi.rmk: Likewise.
7498 * conf/i386-ieee1275.rmk: Likewise.
7499 * conf/powerpc-ieee1275.rmk: Likewise.
7500 * conf/sparc64-ieee1275.rmk: Likewise.
7501 * conf/x86_64-efi.rmk: Likewise.
7502
7503 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7504
7505 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7506
7507 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7508
7509 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7510
7511 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7512
7513 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7514 (grub_mkdevicemap_SOURCES): New variable.
7515 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7516 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7517 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7518 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7519 (grub_mkdevicemap_SOURCES): Remove.
7520 * conf/i386-efi.rmk: Likewise.
7521 * conf/i386-ieee1275.rmk: Likewise.
7522 * conf/i386-pc.rmk: Likewise.
7523 * conf/powerpc-ieee1275.rmk: Likewise.
7524 * conf/sparc64-ieee1275.rmk: Likewise.
7525 * conf/x86_64-efi.rmk: Likewise.
7526 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7527 (usage): Fix strings to use `program_name'.
7528 (main): Initialize gettext.
7529 * util/grub-editenv.c: Likewise.
7530 * util/grub-emu.c: Likewise.
7531 * util/grub-fstest.c: Likewise.
7532 * util/grub-mkdevicemap.c: Likewise.
7533 * util/grub-mkfont.c: Likewise.
7534 * util/grub-mkrelpath.c: Likewise.
7535 * util/grub-pe2elf.c: Likewise.
7536 * util/grub-probe.c: Likewise.
7537 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7538 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7539 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7540
7541 * util/misc.c: Include `"progname.h"'.
7542 (progname): Remove variable.
7543 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7544
7545 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7546
7547 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7548 printf and print a newline after the menuentry header line.
7549 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7550
7551 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7552
7553 autoconf >= 2.60 support $(localedir).
7554
7555 * INSTALL: Note that autoconf 2.60 is required.
7556 * configure.ac (AC_PREREQ): Bump to 2.60.
7557 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7558 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7559
7560 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7561
7562 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7563 aclocal is run.
7564
7565 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7566
7567 * normal/main.c (grub_normal_read_line): Fix off-by-one
7568 buffer overflow.
7569
7570 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7571
7572 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7573 "parser.grub" in grub_command_execute() call.
7574
7575 2009-11-24 Carles Pina i Estany <carles@pina.cat>
7576
7577 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7578 * conf/i386-efi.rmk: Likewise.
7579 * conf/i386-ieee1275.rmk: Likewise.
7580 * conf/i386-pc.rmk: Likewise.
7581 * conf/powerpc-ieee1275.rmk: Likewise.
7582 * conf/sparc64-ieee1275.rmk: Likewise.
7583 * conf/x86_64-efi.rmk: Likewise.
7584 * gettext/gettex.c: Include <grub/i18n.h>.
7585 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7586 here ...
7587 * include/grub/i18n.h: ... to here
7588 * include/grub/i18n.h: ... to here.
7589 * kern/misc.c: Include <grub/i18n.h>
7590 (grub_gettext_dummy): Move above user.
7591
7592 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7593
7594 * util/Makefile.in (install-local): Convert a `for' into a normal
7595 shell expansion.
7596
7597 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7598
7599 * autogen.sh: Add automake call.
7600 * config.guess: Remove.
7601 * config.sub: Likewise.
7602 * install-sh: Likewise.
7603
7604 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7605
7606 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7607
7608 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7609
7610 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7611 function to a normal shell `for'.
7612
7613 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7614
7615 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7616
7617 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7618
7619 * util/grub-mkrelpath.c: New file.
7620 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7621 (grub_mkrelpath_SOURCES): New variable.
7622 * include/grub/util/misc.h: New function prototype.
7623 * util/misc.c (make_system_path_relative_to_its_root): New function.
7624
7625 * util/grub-mkconfig_lib.in (bindir): New variable.
7626 (grub_mkrelpath): Likewise.
7627 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7628
7629 * util/probe.c (probe): Make the file path relative to its root.
7630 Change a info message to use the GRUB path. Enable again the
7631 check if we can read the file with GRUB facilities.
7632
7633 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7634 to its root.
7635
7636 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7637
7638 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7639 platform.
7640
7641 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7642
7643 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7644 strncmp().
7645
7646 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7647
7648 * util/getroot.c (grub_util_is_dmraid): New function.
7649 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7650 devices as normal ones, not as LVM.
7651
7652 2009-11-23 Carles Pina i Estany <carles@pina.cat>
7653
7654 * conf/common.rmk: Add grub-gettext_lib target and updates
7655 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7656 LDFLAGS.
7657 * gettext/gettext.c: New file. (Reads mo files).
7658 * include/grub/file.h (grub_file_pread): New prototype.
7659 * include/grub/i18n.h (_): New prototype.
7660 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7661 prototypes.
7662 * kern/misc.c (grub_gettext_dummy): New function.
7663 * normal/menu_text.c: Include <grub/i18n.h>.
7664 * normal/menu_text.c (print_timeout): Gettexttize string.
7665 * normal/menu_text.c (print_message): Gettexttize string.
7666 * po/POTFILES: Add `normal/menu_text.c'.
7667 * po/ca.po: Add new translations.
7668 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7669 gettext module and defines locale_dir and lang in grub.cfg.
7670 * NEWS: Add gettext support.
7671
7672 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7673
7674 * util/hostdisk.c: Include `<grub/i18n.h>'.
7675 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7676 (make_device_name): Rewrite using asprintf.
7677 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7678 (find_system_device): If a device is not found, generate one just
7679 by reusing the OS path name.
7680 (read_device_map): Make it permissible for device.map not to exist.
7681
7682 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7683
7684 * script/sh/execute.c: Move from here ...
7685 * script/execute.c: ... to here. Update all users.
7686 * script/sh/function.c: Move from here ...
7687 * script/function.c: ... to here. Update all users.
7688 * script/sh/lexer.c: Move from here ...
7689 * script/lexer.c: ... to here. Update all users.
7690 * script/sh/main.c: Move from here ...
7691 * script/main.c: ... to here. Update all users.
7692 * script/sh/parser.y: Move from here ...
7693 * script/parser.y: ... to here. Update all users.
7694 * script/sh/script.c: Move from here ...
7695 * script/script.c: ... to here. Update all users.
7696
7697 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7698
7699 * configure.ac: Detect all `emu' platforms. Define
7700 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7701 --enable-grub-emu logic. Disable include/grub/machine
7702 symlink on `emu' platforms.
7703
7704 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7705 * gensymlist.sh.in: Likewise.
7706
7707 * include/grub/i386/coreboot/machine.h: Remove file.
7708 * include/grub/i386/efi/machine.h: Likewise.
7709 * include/grub/i386/ieee1275/machine.h: Likewise.
7710 * include/grub/i386/pc/machine.h: Likewise.
7711 * include/grub/i386/qemu/machine.h: Likewise.
7712 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7713 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7714 * include/grub/x86_64/efi/machine.h: Likewise.
7715
7716 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7717 * commands/halt.c: Likewise.
7718 * commands/reboot.c: Likewise.
7719 * include/grub/autoefi.h: Likewise.
7720 * include/grub/i386/at_keyboard.h: Likewise.
7721 * include/grub/i386/kernel.h: Likewise.
7722 * include/grub/i386/loader.h: Likewise.
7723 * include/grub/i386/pc/memory.h: Likewise.
7724 * kern/dl.c: Likewise.
7725 * kern/i386/coreboot/init.c: Likewise.
7726 * loader/i386/bsd.c: Likewise.
7727 * loader/i386/linux.c: Likewise.
7728 * loader/multiboot_loader.c: Likewise.
7729 * term/i386/pc/serial.c: Likewise.
7730 * term/usb_keyboard.c: Likewise.
7731
7732 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7733 `<grub/machine/machine.h>'
7734 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7735 * util/misc.c: Remove `<grub/machine/machine.h>' and
7736 `<grub/machine/time.h>'.
7737
7738 * Makefile.in (enable_grub_emu): Remove variable.
7739 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7740
7741 * conf/any-emu.rmk: New file.
7742 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7743 (grub_emu_init.c): Move from here ...
7744 * conf/any-emu.rmk: ... to here.
7745
7746 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7747 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7748 * conf/any-emu.rmk: ... to here.
7749
7750 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7751
7752 * include/grub/parser.h (grub_parser_register): Document need
7753 of `name' parameter.
7754 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7755 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7756 "sh" to "grub".
7757
7758 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7759
7760 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7761 `$(XGETTEXT)'.
7762 * include/grub/i18n.h (N_): New macro.
7763 * util/mkisofs/mkisofs.h: Likewise.
7764 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7765 around N_().
7766 (usage): Use gettext() to translate help strings when printing them.
7767
7768 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7769
7770 Based on patch from Bean
7771 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7772
7773 * video/efi_fb.c: New file.
7774 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7775 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7776 variables.
7777 * conf/x86_64-efi.rmk: Likewise.
7778
7779 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7780
7781 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7782 * util/i386/pc/grub-setup.c: Likewise.
7783
7784 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7785
7786 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7787 <hurd/fs.h>
7788 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7789 file_get_storage_info to implement grub_guess_root_device.
7790
7791 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7792
7793 * Makefile.in (target): Use make's builtin $(shell) function
7794 instead of calling directly $(SHELL) to create the locale directories,
7795 inside the $(foreach) function.
7796
7797 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7798
7799 * util/grub-mkrescue.in: Print an error and usage if output option
7800 has not been given.
7801
7802 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7803
7804 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7805 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7806 root and /boot are on different devices.
7807
7808 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7809
7810 Fix build for srcdir != objdir.
7811
7812 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7813 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7814 $(srcdir).
7815 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7816 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7817 reference for input.
7818
7819 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7820
7821 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7822 or hardlinking it). Remove -J option, Joliet is not compatible with
7823 multiple source directories.
7824
7825 2009-11-21 Carles Pina i Estany <carles@pina.cat>
7826 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7827
7828 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7829 (process_input_dir): New function. Process an arbitrary input
7830 directory.
7831 Misc adjustments to support both "override mode" and system-wide mode.
7832
7833 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7834
7835 * configure.ac (UNIFONT_BDF): Rename to ...
7836 (FONT_SOURCE): ... this. Update all users.
7837
7838 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7839
7840 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7841 to the list of unifont files to look for.
7842
7843 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7844
7845 Patch from Joe Auricchio <jauricchio@gmail.com>
7846 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7847 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7848 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7849
7850 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7851
7852 * Makefile.in (install-local): Add a missing backslash.
7853
7854 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7855
7856 * include/grub/x86_64/io.h: New file.
7857
7858 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7859
7860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7861 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7862 Include `"progname.h"'.
7863 (main): Initialize gettext.
7864 * util/i386/pc/grub-setup.c: Gettexttize.
7865 * util/i386/pc/grub-mkimage.c: Likewise.
7866
7867 * Makefile.in (po/*.po): Redefine as ...
7868 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7869
7870 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7871
7872 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7873
7874 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7875 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7876 (program_name): Remove.
7877 (main): Initialize gettext support.
7878 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7879 Include `<libintl.h>'.
7880 (_): New macro.
7881
7882 * util/mkisofs/eltorito.c: Gettexttize.
7883 * util/mkisofs/joliet.c: Likewise.
7884 * util/mkisofs/mkisofs.c: Likewise.
7885 * util/mkisofs/multi.c: Likewise.
7886 * util/mkisofs/rock.c: Likewise.
7887 * util/mkisofs/tree.c: Likewise.
7888 * util/mkisofs/write.c: Likewise.
7889
7890 * po/POTFILES: Update with new files.
7891
7892 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7893
7894 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7895 * util/mkisofs/iso9660.h: Likewise.
7896 * util/mkisofs/joliet.c: Likewise.
7897 * util/mkisofs/mkisofs.c: Likewise.
7898 * util/mkisofs/mkisofs.h: Likewise.
7899 * util/mkisofs/rock.c: Likewise.
7900 * util/mkisofs/tree.c: Likewise.
7901 * util/mkisofs/write.c: Likewise.
7902
7903 * util/mkisofs/eltorito.c (rcsid): Remove.
7904 * util/mkisofs/hash.c: Likewise.
7905 * util/mkisofs/joliet.c: Likewise.
7906 * util/mkisofs/name.c: Likewise.
7907 * util/mkisofs/rock.c: Likewise.
7908 * util/mkisofs/tree.c: Likewise.
7909 * util/mkisofs/write.c: Likewise.
7910
7911 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7912
7913 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7914 instead of static allocation.
7915 * util/mkisofs/match.h: Likewise.
7916
7917 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7918
7919 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7920 and `util/grub.d/10_linux.in'.
7921 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7922 translatable Shell files.
7923
7924 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7925
7926 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7927
7928 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7929
7930 * INSTALL: Document Automake is needed for bootstrap.
7931 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
7932 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7933 Add gettext initialization.
7934 (kfreebsd_entry): Make menuentry output translatable.
7935
7936 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7937
7938 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7939 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7940 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7941 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7942 (LINGUAS): Auto-generate using `po/LINGUAS'.
7943 * po/LINGUAS: New file.
7944
7945 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7946
7947 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7948 other things).
7949 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7950 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7951 bindtextdomain() calls for gettext initialization.
7952
7953 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7954
7955 * gnulib/progname.c: New file (imported from Gnulib).
7956 * gnulib/progname.h: Likewise.
7957 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7958 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7959 (usage): Replace `progname' with `program_name'.
7960 (main): Use set_program_name() for program name initialization.
7961
7962 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7963
7964 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7965 from here ...
7966 * Makefile.in (CPPFLAGS): ... to here.
7967
7968 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7969
7970 * aclocal.m4: Move from here ...
7971 * acinclude.m4: ... to here.
7972 * autogen.sh: Add call to `aclocal'.
7973 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7974
7975 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7976
7977 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7978 (LINGUAS): New variable.
7979 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7980 (install-local): Install MO files.
7981 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7982 * include/grub/i18n.h: New file.
7983 * po/POTFILES: New file.
7984 * po/ca.po: New file.
7985 * util/grub.d/10_linux.in (bindir): New variable.
7986 Add gettext initialization.
7987 (linux_entry): Make menuentry output translatable.
7988 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7989 (usage): Make --help output translatable.
7990 (main): Initialize gettext.
7991
7992 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7993
7994 * import_gcry.py: New file (written by Vladimir with minor
7995 adjustments).
7996 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7997 ciphers.
7998 * INSTALL: Document that Python is required for bootstrap.
7999
8000 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8001
8002 Import ciphers from libgcrypt 1.4.4.
8003
8004 * lib/libgcrypt/cipher/ChangeLog
8005 * lib/libgcrypt/cipher/ac.c
8006 * lib/libgcrypt/cipher/arcfour.c
8007 * lib/libgcrypt/cipher/bithelp.h
8008 * lib/libgcrypt/cipher/blowfish.c
8009 * lib/libgcrypt/cipher/camellia-glue.c
8010 * lib/libgcrypt/cipher/camellia.c
8011 * lib/libgcrypt/cipher/camellia.h
8012 * lib/libgcrypt/cipher/cast5.c
8013 * lib/libgcrypt/cipher/cipher.c
8014 * lib/libgcrypt/cipher/crc.c
8015 * lib/libgcrypt/cipher/des.c
8016 * lib/libgcrypt/cipher/dsa.c
8017 * lib/libgcrypt/cipher/ecc.c
8018 * lib/libgcrypt/cipher/elgamal.c
8019 * lib/libgcrypt/cipher/hash-common.c
8020 * lib/libgcrypt/cipher/hash-common.h
8021 * lib/libgcrypt/cipher/hmac-tests.c
8022 * lib/libgcrypt/cipher/md.c
8023 * lib/libgcrypt/cipher/md4.c
8024 * lib/libgcrypt/cipher/md5.c
8025 * lib/libgcrypt/cipher/primegen.c
8026 * lib/libgcrypt/cipher/pubkey.c
8027 * lib/libgcrypt/cipher/rfc2268.c
8028 * lib/libgcrypt/cipher/rijndael-tables.h
8029 * lib/libgcrypt/cipher/rijndael.c
8030 * lib/libgcrypt/cipher/rmd.h
8031 * lib/libgcrypt/cipher/rmd160.c
8032 * lib/libgcrypt/cipher/rsa.c
8033 * lib/libgcrypt/cipher/seed.c
8034 * lib/libgcrypt/cipher/serpent.c
8035 * lib/libgcrypt/cipher/sha1.c
8036 * lib/libgcrypt/cipher/sha256.c
8037 * lib/libgcrypt/cipher/sha512.c
8038 * lib/libgcrypt/cipher/tiger.c
8039 * lib/libgcrypt/cipher/twofish.c
8040 * lib/libgcrypt/cipher/whirlpool.c
8041
8042 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8043
8044 Fix build for systems without error().
8045
8046 * gnulib/error.c: New file (imported from Gnulib).
8047 * gnulib/error.h: Likewise.
8048 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8049 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8050 (this variable is now used by error()).
8051
8052 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8053
8054 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8055 instead of relying that char is signed.
8056
8057 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8060 blocksize different from specified.
8061 (grub_pxefs_read): Likewise.
8062
8063 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8064
8065 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8066
8067 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8068 (grub_ata_readwrite): Likewise. Update 2 format strings.
8069 (grub_atapi_read): Likewise.
8070
8071 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8072 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8073 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8074 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8075 (ata_mod_LDFLAGS): Move from here ...
8076 * conf/i386.rmk: ... to here ...
8077 * conf/x86_64-efi.rmk: ... and here.
8078 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8079 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8080
8081 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8082
8083 Relicense multiboot.h, with RMS' blessing.
8084
8085 * include/multiboot.h: Change to X11 license.
8086
8087 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8088
8089 Support --version in grub-mkisofs.
8090
8091 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8092 (OPTION_VERSION): New macro.
8093 (ld_options): Recognize --version.
8094 (usage): Move `program_name' from here ...
8095 (program_name): ... to here. Add `static' qualifier.
8096 (main): Recognize `OPTION_VERSION'.
8097
8098 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
8099
8100 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8101 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8102
8103 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8104
8105 Fix help2man generation for mkisofs.
8106
8107 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8108 (usage): Send output to stdout (rather than stderr).
8109
8110 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8111
8112 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8113 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8114 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8115 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8116 (bin_SCRIPTS): Add `grub-mkfloppy'.
8117 (grub_mkfloppy_SOURCES): New variable.
8118
8119 * util/grub-mkrescue.in: New file.
8120 * util/i386/pc/grub-mkfloppy.in: New file.
8121
8122 * util/i386/coreboot/grub-mkrescue.in: Remove.
8123 * util/i386/pc/grub-mkrescue.in: Remove.
8124
8125 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8126
8127 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8128 from here ...
8129 * include/multiboot.h (struct multiboot_header): ... to here. Update
8130 all users.
8131 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8132 from here ...
8133 * include/multiboot.h (struct multiboot_info): ... to here. Update
8134 all users.
8135 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8136 from here ...
8137 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8138 Update all users.
8139 * include/grub/multiboot.h (struct grub_mod_list): Move
8140 from here ...
8141 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8142 Update all users.
8143
8144 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8145
8146 * include/multiboot2.h (multiboot_word): Rename from this ...
8147 (multiboot2_word): ... to this. Update all users.
8148 (multiboot_header): Rename from this ...
8149 (multiboot2_header): ... to this. Update all users.
8150 (multiboot_tag_header): Rename from this ...
8151 (multiboot2_tag_header): ... to this. Update all users.
8152 (multiboot_tag_start): Rename from this ...
8153 (multiboot2_tag_start): ... to this. Update all users.
8154 (multiboot_tag_name): Rename from this ...
8155 (multiboot2_tag_name): ... to this. Update all users.
8156 (multiboot_tag_module): Rename from this ...
8157 (multiboot2_tag_module): ... to this. Update all users.
8158 (multiboot_tag_memory): Rename from this ...
8159 (multiboot2_tag_memory): ... to this. Update all users.
8160 (multiboot_tag_unused): Rename from this ...
8161 (multiboot2_tag_unused): ... to this. Update all users.
8162 (multiboot_tag_end): Rename from this ...
8163 (multiboot2_tag_end): ... to this. Update all users.
8164
8165 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8166
8167 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8168 this platform we should support Multiboot1 first.
8169
8170 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8171 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8172 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8173
8174 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8175
8176 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8177 of write calls (converting them to fwrite() if they aren't already).
8178 (get_torito_desc): Likewise.
8179 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8180
8181 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8182
8183 * util/i386/pc/grub-install.in: Move from here ...
8184 * util/grub-install.in: ... to here. Update all users.
8185
8186 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
8187
8188 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8189
8190 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8191
8192 Support for El Torito without floppy emulation.
8193
8194 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8195 (init_boot_catalog): Improve error handling.
8196 (get_torito_desc): Don't use floppy emulation unless requested by
8197 user. Patch boot information table when requested via
8198 `-boot-info-table'.
8199 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8200 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8201 (use_boot_info_table): New variables.
8202 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8203 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8204 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8205 `--eltorito-emul-floppy'.
8206 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8207 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8208 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8209 (use_boot_info_table, get_731): New prototypes.
8210 * util/mkisofs/write.c (get_731): New function.
8211
8212 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
8213
8214 Fix the generation of the man page.
8215
8216 * util/pc/i386/grub-install.in: Source
8217 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8218
8219 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8220
8221 Large file support for grub-mkisofs.
8222
8223 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8224 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8225 (session_start): Upgrade type to `uint64_t'. Update all users.
8226 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8227 (struct directory_entry): Upgrade type of `starting_block' and
8228 `size' to `uint64_t'. Update all users.
8229 (struct deferred): Remove unused structure.
8230 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8231 Update all users.
8232 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8233 file is larger than `UINT32_MAX'.
8234 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8235 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8236 return value.
8237 (struct deferred_write): Upgrade type of `extent' and `size' to
8238 `uint64_t'. Update all users.
8239 (last_extent_written): Upgrade type to `uint64_t'. Update all
8240 users.
8241 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8242 Update all users. Upgrade type of `remain' to `int64_t' and
8243 `use' to `size_t'. Use error() to handle fread() errors.
8244 (write_files): Rely on write_one_file() rather than calling
8245 xfwrite() directly.
8246
8247 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
8248
8249 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8250
8251 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8252
8253 * util/mkisofs/fnmatch.c: Remove.
8254 * util/mkisofs/getopt1.c: Likewise.
8255 * util/mkisofs/getopt.c: Likewise.
8256 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8257 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8258 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8259 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8260 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8261
8262 * configure.ac: Detect `mingw32msvc' host_os.
8263 Check for lstat(), getuid() and getgid().
8264
8265 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8266 instances of `u_char' with `uint8_t'.
8267
8268 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8269 [!HAVE_GETUID] (getuid): New function (stub).
8270 [!HAVE_GETGID] (getgid): Likewise.
8271 [!HAVE_LSTAT] (lstat): Likewise.
8272 [!S_IROTH] (S_IROTH): New macro (dummy).
8273 [!S_IRGRP] (S_IRGRP): Likewise.
8274
8275 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8276
8277 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8278 conditional expression).
8279
8280 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8281
8282 Import from Gnulib.
8283
8284 * gnulib/fnmatch.c: New file.
8285 * gnulib/fnmatch.h: Likewise.
8286 * gnulib/fnmatch_loop.c: Likewise.
8287 * gnulib/getopt.c: Likewise.
8288 * gnulib/getopt.h: Likewise.
8289 * gnulib/getopt1.c: Likewise.
8290 * gnulib/getopt_int.h: Likewise.
8291 * gnulib/gettext.h: Likewise.
8292
8293 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8294
8295 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8296 * normal/handler.c (read_handler_list): Likewise.
8297
8298 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8299
8300 Misc cleanup.
8301
8302 * kern/command.c (grub_register_command_prio): Use
8303 grub_zalloc() instead of explicitly zeroing data.
8304 * kern/list.c: Include `<grub/mm.h>'.
8305 (grub_named_list_find): Replace `0' with `NULL'.
8306 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8307 (fs_module_list): Change type to `grub_named_list_t'. Update all
8308 users.
8309 * normal/dyncmd.c (read_command_list): Add space between function
8310 call and parenthesis.
8311 * normal/handler.c (read_handler_list): Likewise.
8312
8313 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8314
8315 * normal/auth.c (punishment_delay): Moved from here ...
8316 (grub_auth_strcmp): ... to here (inside function).
8317
8318 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8319
8320 * include/grub/list.h (struct grub_named_list): Remove `const'
8321 qualifier from `name'.
8322 (struct grub_prio_list): Likewise.
8323
8324 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8325
8326 * normal/auth.c: Include `<grub/time.h>'.
8327 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8328
8329 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8330
8331 * normal/auth.c (punishment_delay): New variable.
8332 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8333 (grub_auth_check_authentication): Punish failed login attempts with
8334 an incremental (2^N) delay.
8335
8336 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8337
8338 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8339 path with $(srcdir).
8340
8341 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8344
8345 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8346
8347 * util/i386/coreboot/grub-mkrescue.in: New file.
8348 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8349 variables.
8350
8351 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8352 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8353 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8354 requirements.
8355 * util/mkisofs/defaults.h: New file.
8356 * util/mkisofs/eltorito.c: Likewise.
8357 * util/mkisofs/exclude.h: Likewise.
8358 * util/mkisofs/fnmatch.c: Likewise.
8359 * util/mkisofs/getopt.c: Likewise.
8360 * util/mkisofs/getopt1.c: Likewise.
8361 * util/mkisofs/hash.c: Likewise.
8362 * util/mkisofs/include/fctldefs.h: Likewise.
8363 * util/mkisofs/include/mconfig.h: Likewise.
8364 * util/mkisofs/include/prototyp.h: Likewise.
8365 * util/mkisofs/include/statdefs.h: Likewise.
8366 * util/mkisofs/iso9660.h: Likewise.
8367 * util/mkisofs/joliet.c: Likewise.
8368 * util/mkisofs/match.c: Likewise.
8369 * util/mkisofs/match.h: Likewise.
8370 * util/mkisofs/mkisofs.c: Likewise.
8371 * util/mkisofs/mkisofs.h: Likewise.
8372 * util/mkisofs/multi.c: Likewise.
8373 * util/mkisofs/name.c: Likewise.
8374 * util/mkisofs/rock.c: Likewise.
8375 * util/mkisofs/tree.c: Likewise.
8376 * util/mkisofs/write.c: Likewise.
8377
8378 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8381 being insecure.
8382
8383 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8384
8385 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8386 `grub-mkimage' (and use $0 when possible).
8387
8388 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8389
8390 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8391 error message for excessively large memory map.
8392
8393 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8394
8395 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8396 executable bit.
8397
8398 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8399
8400 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8401 message for coreboot users.
8402
8403 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8404
8405 Fix build with GNU gold.
8406
8407 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8408 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8409 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8410 link addresses.
8411 * aclocal.m4: Likewise.
8412
8413 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
8414
8415 * configure.ac (AC_PREREQ): Bump to 2.59d.
8416 * INSTALL: Make it more clear when Autoconf and Ruby are
8417 needed and when to run `./autogen.sh'.
8418
8419 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8420
8421 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8422 OSes.
8423
8424 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8425
8426 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8427
8428 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8429
8430 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8431 giving it to GNU Mach.
8432
8433 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8434
8435 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8436 GNU partition number to get internal GRUB partition number.
8437
8438 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8439
8440 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8441 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8442
8443 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8444
8445 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8446 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8447 case.
8448
8449 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
8450
8451 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8452
8453 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8454
8455 Fix build problem.
8456
8457 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8458 `-isystem=$(srcdir)/include'.
8459
8460 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8461
8462 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8463 checked (grub-install doesn't currently rely on it).
8464
8465 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8466
8467 Revert SVN r2660.
8468
8469 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8470 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8471 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8472 * conf/i386-ieee1275.rmk: Likewise.
8473 * conf/i386-pc.rmk: Likewise.
8474 * conf/powerpc-ieee1275.rmk: Likewise.
8475 * conf/sparc64-ieee1275.rmk: Likewise.
8476 * conf/x86_64-efi.rmk: Likewise.
8477
8478 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8479
8480 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8481
8482 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8483
8484 * include/grub/misc.h: Stop checking for APPLE_CC.
8485
8486 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8487
8488 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8489 doesn't cause an infinite call loop.
8490
8491 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
8492
8493 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8494 strings.
8495
8496 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8497
8498 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8499 variable.
8500 * Makefile.in: Likewise.
8501
8502 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8503
8504 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8505
8506 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8507
8508 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8509
8510 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8511
8512 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8513
8514 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8515
8516 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8517 from here ...
8518 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8519
8520 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8521
8522 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8523 in $(MAKEINFO) invocation. This makes it clear in output that
8524 errors are being ignored.
8525
8526 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8527
8528 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8529 from here ...
8530 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8531 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8532 * conf/i386-ieee1275.rmk: Likewise.
8533 * conf/i386-pc.rmk: Likewise.
8534 * conf/powerpc-ieee1275.rmk: Likewise.
8535 * conf/sparc64-ieee1275.rmk: Likewise.
8536 * conf/x86_64-efi.rmk: Likewise.
8537
8538 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8539
8540 * util/grub-editenv.c (main): If only a command is given, use
8541 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8542 (usage): FILENAME is now optional and has a default.
8543
8544 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8545
8546 Improve grub-mkconfig performance when there are several menu
8547 entries on a single filesystem.
8548
8549 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8550 prepare_grub_to_access_device.
8551 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8552 * util/grub.d/30_os-prober.in: Likewise.
8553
8554 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8555
8556 * util/grub.d/10_freebsd.in: Remove.
8557 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8558 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8559
8560 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8561
8562 * docs/grub.cfg: Fix example usage of *BSD loaders.
8563
8564 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8565
8566 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8567 grub_util_error() call.
8568
8569 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8570
8571 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8572 `reserved_first_sector' member.
8573 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8574 `reserved_first_sector' to 1.
8575 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8576 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8577 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8578 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8579 filesystems which begin at first sector.
8580 (options): New option --skip-fs-probe.
8581 (main): Handle --skip-fs-probe and pass it to setup().
8582
8583 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8584
8585 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8586 (memset): Fix function prototype.
8587
8588 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8589 2009-10-25 Vasily Averin <vvs@parallels.com>
8590
8591 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8592 `dirent.direntlen == 0'.
8593
8594 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8595
8596 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8597 `cpio'.
8598 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8599
8600 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8601
8602 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8603 `__trampoline_setup' and `__ucmpdi2'.
8604 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8605 that libgcc provides.
8606
8607 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8608
8609 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8610 * include/grub/sparc64/libgcc.h (memset): Likewise.
8611 * include/grub/misc.h (memset, memcmp): New function prototypes.
8612
8613 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8614
8615 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8616 `cpio'.
8617 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8618
8619 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8620
8621 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8622 * docs/grub.cfg: Compensate for recent change in multiboot
8623 loader (since 2009-08-14 it won't pass filename to payload).
8624 * util/grub.d/10_hurd.in: Likewise.
8625
8626 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
8627
8628 * config.guess: Update to latest version from config git
8629 repository.
8630 * config.sub: Likewise.
8631
8632 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8633
8634 Fix build on sparc64.
8635
8636 * configure.ac: Perform checks for libgcc symbols before
8637 adding `-nostdlib' to LDFLAGS.
8638
8639 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 Let user specify OpenBSD root device.
8642
8643 * loader/i386/bsd.c (openbsd_root): New variable.
8644 (openbsd_opts): New option 'root'.
8645 (OPENBSD_ROOT_ARG): New macro.
8646 (grub_openbsd_boot): Use 'openbsd_root'.
8647 (grub_cmd_openbsd): Fill 'openbsd_root'.
8648
8649 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8650
8651 * NEWS: Misc adjustments.
8652
8653 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8656
8657 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8658
8659 * configure.ac: Bump version to 1.97.
8660
8661 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
8662
8663 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8664 -mno-3dnow on x86 architectures. Some toolchains enable these
8665 features by default, but they rely on registers that aren't enabled
8666 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8667
8668 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8669
8670 Make entry text a bit more readable.
8671
8672 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8673
8674 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8677
8678 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8681 operations.
8682
8683 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * configure.ac: Add missing dollar.
8686
8687 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8690
8691 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8692 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8693 exports.
8694 * include/grub/sparc64/libgcc.h: Likewise. Use
8695 preprocessor conditionals.
8696
8697 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8698
8699 * conf/common.rmk (grub-dumpbios): Remove rule.
8700 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8701 * util/grub-dumpbios.in: Remove file.
8702
8703 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8704
8705 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8706 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8707
8708 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8709 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8710 users.
8711
8712 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8713 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8714 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8715 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8716 users.
8717
8718 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8719
8720 * term/tparm.c: Switch to GPLv3.
8721
8722 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8723
8724 * include/grub/i386/cpuid.h: Add header protection.
8725
8726 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8727
8728 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8729
8730 * include/grub/i386/cpuid.h: New file.
8731 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8732 (has_longmode): Rename to ...
8733 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8734 `static' attribute.
8735 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8736 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8737 on a CPU that doesn't implement AMD64 instruction set.
8738
8739 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8740
8741 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8742 that version.texi is rebuilt on version number changes.
8743
8744 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8745
8746 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8747 Fixes bug #27602.
8748
8749 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8750
8751 * util/i386/pc/grub-install.in: Source
8752 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8753 that the --grub-probe option will work.
8754 * util/sparc64/ieee1275/grub-install.in: Likewise.
8755
8756 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8757
8758 * configure.ac: Bump version to 1.97~beta4.
8759
8760 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8761
8762 Resync grub-mkdevicemap in x86_64-efi.
8763
8764 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8765 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8766 `util/devicemap.c'.
8767
8768 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
8769
8770 * util/grub-editenv.c (create_envblk_file): Write new block with a
8771 .new suffix and then rename it into place, to ensure atomic
8772 creation.
8773
8774 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8775
8776 Do not automatically install headers.
8777
8778 * Makefile.in (include_DATA): Remove. Update all users.
8779
8780 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8781
8782 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8783 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8784
8785 * util/osdetect.lua: Remove.
8786 * script/lua/lauxlib.c: Likewise.
8787 * script/lua/ldebug.c: Likewise.
8788 * script/lua/grub_main.c: Likewise.
8789 * script/lua/lauxlib.h: Likewise.
8790 * script/lua/ldebug.h: Likewise.
8791 * script/lua/ltablib.c: Likewise.
8792 * script/lua/liolib.c: Likewise.
8793 * script/lua/lstrlib.c: Likewise.
8794 * script/lua/lualib.h: Likewise.
8795 * script/lua/ldo.c: Likewise.
8796 * script/lua/ldump.c: Likewise.
8797 * script/lua/ldo.h: Likewise.
8798 * script/lua/loslib.c: Likewise.
8799 * script/lua/lundump.c: Likewise.
8800 * script/lua/grub_lib.c: Likewise.
8801 * script/lua/ldblib.c: Likewise.
8802 * script/lua/lundump.h: Likewise.
8803 * script/lua/lmem.c: Likewise.
8804 * script/lua/grub_lib.h: Likewise.
8805 * script/lua/lmathlib.c: Likewise.
8806 * script/lua/lstate.c: Likewise.
8807 * script/lua/ltm.c: Likewise.
8808 * script/lua/lvm.c: Likewise.
8809 * script/lua/lmem.h: Likewise.
8810 * script/lua/lstate.h: Likewise.
8811 * script/lua/ltm.h: Likewise.
8812 * script/lua/ltable.c: Likewise.
8813 * script/lua/lvm.h: Likewise.
8814 * script/lua/llex.c: Likewise.
8815 * script/lua/lgc.c: Likewise.
8816 * script/lua/grub_lua.h: Likewise.
8817 * script/lua/loadlib.c: Likewise.
8818 * script/lua/lfunc.c: Likewise.
8819 * script/lua/lopcodes.c: Likewise.
8820 * script/lua/lparser.c: Likewise.
8821 * script/lua/ltable.h: Likewise.
8822 * script/lua/llex.h: Likewise.
8823 * script/lua/lgc.h: Likewise.
8824 * script/lua/lfunc.h: Likewise.
8825 * script/lua/lbaselib.c: Likewise.
8826 * script/lua/lopcodes.h: Likewise.
8827 * script/lua/lparser.h: Likewise.
8828 * script/lua/lzio.c: Likewise.
8829 * script/lua/linit.c: Likewise.
8830 * script/lua/lobject.c: Likewise.
8831 * script/lua/llimits.h: Likewise.
8832 * script/lua/lstring.c: Likewise.
8833 * script/lua/lzio.h: Likewise.
8834 * script/lua/lapi.c: Likewise.
8835 * script/lua/lcode.c: Likewise.
8836 * script/lua/lua.h: Likewise.
8837 * script/lua/lobject.h: Likewise.
8838 * script/lua/lstring.h: Likewise.
8839 * script/lua/lapi.h: Likewise.
8840 * script/lua/lcode.h: Likewise.
8841 * script/lua/luaconf.h: Likewise.
8842
8843 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
8844
8845 * docs/grub.texi (Command-line and menu entry commands): Document
8846 date and echo commands.
8847
8848 2009-09-24 Pavel Roskin <proski@gnu.org>
8849
8850 * include/grub/kernel.h (struct grub_module_header): Remove
8851 `grub_module_header_types'. Make `type' unsigned. Make `size'
8852 32-bit on all platforms.
8853 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8854 8-bit field. Use grub_host_to_target32() for `size'.
8855 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8856 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8857 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8858
8859 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8860
8861 Fix "lost keypress" bug in at_keyboard.
8862
8863 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8864 Checks for readyness of input buffer (without flushing it).
8865 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8866 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8867
8868 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8869
8870 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8871 size check within GRUB_MACHINE_PCBIOS section.
8872
8873 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8874
8875 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8876 return value.
8877 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8878 KEYBOARD_ISREADY check.
8879 (grub_at_keyboard_checkkey): Rename to ...
8880 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8881 Remove gratuitous cast.
8882
8883 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
8884
8885 * configure.ac: Call AC_PROG_MKDIR_P.
8886 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8887 version.texi in $(builddir) rather than $(srcdir).
8888 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8889 to makeinfo's @include search path.
8890
8891 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
8892
8893 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8894
8895 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
8896
8897 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8898 for `*.dpkg-new'.
8899
8900 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
8901
8902 Build info documentation. Some code borrowed from Automake.
8903
8904 * configure.ac: Check for makeinfo.
8905 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8906 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8907 docs/version.texi.
8908 (MOSTLYCLEANFILES): Add vti.tmp.
8909 (docs/version.texi, docs/stamp-vti): Update automatically.
8910 (docs/grub.info): Build info documentation. Use --force and ignore
8911 errors for now.
8912 (all-local): Add $(INFOS).
8913 (install-local): Install info files.
8914 (uninstall): Uninstall info files.
8915 * docs/version.texi: Remove from revision control. This file is
8916 automatically generated on build now.
8917 * gendistlist.sh: Add `*.info'.
8918
8919 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
8920
8921 * kern/term.c: Fix indentation.
8922
8923 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
8924
8925 * util/hostdisk.c: Fix a comment.
8926
8927 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8928
8929 Fix regression introduced in r2539.
8930
8931 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8932 to 0xA1.
8933
8934 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
8935
8936 * util/grub.d/30_os-prober.in: Don't throw away stderr from
8937 os-prober. Under normal operation, it does not print anything to
8938 stderr; if it does, we need to debug it, and throwing away stderr
8939 makes that excessively difficult.
8940
8941 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8944
8945 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8946
8947 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8948 AC_LANG_PROGRAM from autoconf.
8949 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8950 prototypes (fixes warning).
8951
8952 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8953 `--disable-werror' was used.
8954
8955 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8956
8957 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8958 uninitialized `lastaddr'.
8959
8960 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
8963
8964 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
8965
8966 * commands/test.c (get_fileinfo): Return immediately if
8967 grub_fs_probe fails.
8968
8969 2009-09-14 José Martínez <xosemp@gmail.com>
8970
8971 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8972
8973 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
8974
8975 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8976 output.
8977
8978 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8979
8980 * configure.ac: Remove --enable-grub-pe2elf. Only build
8981 grub-pe2elf when needed by the build system itself.
8982 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8983
8984 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8985
8986 * configure.ac: Bump version to 1.97~beta3.
8987 * docs/version.texi: Likewise.
8988
8989 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8990
8991 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8992 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8993 from here ...
8994 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8995 (grub_linux_setup_video): ... to here (with some adjustments).
8996
8997 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8998
8999 Fix memory corruption issue (spotted by Colin Watson).
9000
9001 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9002 causing returned size to be stored in an incorrect memory location.
9003 Fix use of uninitialized value when storing the returned size.
9004
9005 2009-09-12 Yves Blusseau <blusseau@zetam.org>
9006
9007 Change clean rules to properly remove files
9008
9009 * genmk.rb: add new clean rules
9010 * Makefile.in (clean): add the new targets
9011 (mostlyclean): likewise
9012
9013 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9014
9015 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9016 to grub_uint64_t.
9017 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9018 non-resident files.
9019
9020 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9021
9022 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9023 part of bug #27349.
9024
9025 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9026
9027 * util/grub-mkconfig.in: Make the created config mode 400 and
9028 print a warning if it fails.
9029
9030 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9031
9032 * util/grub.d/40_custom.in: Ask user to type custom entries below
9033 comment, rather than below 'exec tail' line.
9034
9035 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9036
9037 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9038 visible in grub.cfg.
9039
9040 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9041
9042 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9043 file.
9044
9045 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9046
9047 * docs/grub.cfg: Add an example menu entry for memtest86+.
9048
9049 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
9050
9051 * config.guess: Update to latest version from config git.
9052 * config.sub: Likewise.
9053
9054 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
9055
9056 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9057 unknown-command case. Fixes bug #27320.
9058
9059 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
9060
9061 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9062 `help' if the command exists.
9063
9064 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9065
9066 * INSTALL: Require GCC 4.1.3 or later.
9067
9068 2009-09-06 Yves Blusseau <blusseau@zetam.org>
9069
9070 * Makefile.in (RMKFILES): add i386-qemu.rmk
9071 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9072 $(srcdir)/stamp-h.in
9073
9074 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9075
9076 * util/grub-probe.c (probe): Comment out buggy codepath, which
9077 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9078 should be re-enabled after 1.97.
9079
9080 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
9081
9082 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9083 find searches for.
9084
9085 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9088 unnecessary calls to grub_error.
9089
9090 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
9091
9092 * NEWS: Mention `keystatus' and Unicode fonts.
9093
9094 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9095
9096 * configure.ac: Bump version to 1.97~beta2.
9097 * docs/version.texi: Likewise.
9098
9099 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9100
9101 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9102 containing unwind information in some cases where it previously did
9103 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9104 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9105 discussion.
9106
9107 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9108
9109 Embedding loadenv module into grub-emu
9110
9111 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9112 commands/loadenv.c
9113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9114 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9115 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9117 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9119
9120 2009-09-03 Magnus Granberg <zorry@ume.nu>
9121
9122 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9123 include -fPIE in the default specs.
9124 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9125 to TARGET_CFLAGS.
9126
9127 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
9128
9129 * INSTALL: Note that GNU Bison 2.3 or later is required.
9130
9131 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9132
9133 * kern/i386/pc/startup.S: Fix typo.
9134
9135 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9138 according to GCS.
9139
9140 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9141
9142 * docs/grub.texi (Naming convention): Describe one-based partition
9143 numbering.
9144 (Device syntax): Likewise.
9145 (File name syntax): Likewise.
9146 (Block list syntax): Likewise.
9147 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9148 menu.lst.
9149 (File name syntax): Likewise.
9150 (Command-line and menu entry commands): Document acpi, blocklist,
9151 crc, export, insmod, keystatus, ls, set, and unset commands.
9152
9153 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9154
9155 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9156 to avoid implying that only one of --shift, --ctrl, or --alt may be
9157 used.
9158
9159 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9160
9161 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9162 rather than comparing against S_IFREG, which will almost never work.
9163
9164 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9167 (write_blocklists): Likewise.
9168
9169 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
9170
9171 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9172 argument to grub_printf.
9173
9174 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
9175
9176 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
9177 non GNU test.
9178
9179 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * kern/file.c (grub_file_read): Spelling fix
9182
9183 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9186 loading of headers in some cases.
9187
9188 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9189
9190 * configure.ac: Bump version to 1.97~beta1.
9191 * docs/version.texi: Likewise.
9192
9193 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * include/grub/i386/xnu.h: Add license header.
9196 include grub/err.h explicitly.
9197
9198 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9199
9200 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9201 to `ufs' in the vfs.root.mountfrom kernel parameter.
9202
9203 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9204
9205 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9206
9207 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9208 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9209
9210 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9211 `ARRAY_SIZE' macro.
9212
9213 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * kern/file.c (grub_file_read): Check offset.
9216 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9217 * fs/jfs.c (grub_jfs_read_file): Likewise.
9218 * fs/ntfs.c (grub_ntfs_read): Likewise.
9219 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9220 * fs/minix.c (grub_minix_read_file): Correct offset check.
9221 * fs/ufs.c (grub_ufs_read_file): Likewise.
9222
9223 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9224
9225 * term/i386/pc/console.c (bios_data_area): Cast
9226 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9227
9228 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 1-bit optimised blitters.
9231
9232 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9233 prototype.
9234 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9235 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9236 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9237 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9238 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9239 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9240 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9241 function.
9242 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9243 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9244 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9245 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9246 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9247 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9248 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9249 when possible.
9250 * video/video.c (grub_video_get_blit_format): Return
9251 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9252
9253 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9254
9255 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9256 the first argument to grub_printf.
9257
9258 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9259 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9260
9261 Add `getkeystatus' terminal method. Add a new `keystatus' command
9262 to query it.
9263
9264 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9265 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9266 modifier key bitmasks.
9267 (struct grub_term_input): Add `getkeystatus' member.
9268 (grub_getkeystatus): Add prototype.
9269 * kern/term.c (grub_getkeystatus): New function.
9270
9271 * include/grub/i386/pc/memory.h
9272 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9273 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9274 Data Area layout.
9275 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9276 (grub_console_term_input): Set `getkeystatus' member.
9277 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9278 constants.
9279 (grub_usb_keyboard_getreport): Likewise.
9280 (grub_usb_keyboard_checkkey): Likewise.
9281 (grub_usb_keyboard_getkeystatus): New function.
9282 (grub_usb_keyboard_term): Set `getkeystatus' member.
9283
9284 * commands/keystatus.c: New file.
9285 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9286 (keystatus_mod_SOURCES): New variable.
9287 (keystatus_mod_CFLAGS): Likewise.
9288 (keystatus_mod_LDFLAGS): Likewise.
9289 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9290 commands/keystatus.c.
9291 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9292 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9293 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9296 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9297
9298 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 Split befs.mod and afs.mod into *_be.mod and *.mod
9301
9302 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9303 (grub_fstest_SOURCES): Likewise.
9304 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9305 (afs_be_mod_SOURCES): New variable.
9306 (afs_be_mod_CFLAGS): Likewise.
9307 (afs_be_mod_LDFLAGS): Likewise.
9308 (befs_be_mod_SOURCES): Likewise.
9309 (befs_be_mod_CFLAGS): Likewise.
9310 (befs_be_mod_LDFLAGS): Likewise.
9311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9312 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9313 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9314 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9315 (grub_emu_SOURCES): Likewise.
9316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9317 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9318 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9319 * fs/afs_be.c: New file.
9320 * fs/befs_be.c: New file.
9321 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9322 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9323 (U16): Replaced with ...
9324 (grub_afs_to_cpu16): ...this. All users updated.
9325 (U32): Replaced with ...
9326 (grub_afs_to_cpu32): ...this. All users updated.
9327 (U64): Replaced with ...
9328 (grub_afs_to_cpu64): ...this. All users updated.
9329 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9330 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
9331 (grub_afs_validate_sblock): Check only one endianness.
9332 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9333 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9334 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9335 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9336 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9337 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9338 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9339 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9340
9341 2009-08-26 Bean <bean123ch@gmail.com>
9342
9343 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9344 64-bit number.
9345 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9346 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9347 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9348
9349 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 NetBSD memory map support.
9352
9353 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9354 (grub_netbsd_btinfo_mmap_header): New structure.
9355 (grub_netbsd_btinfo_mmap_entry): Likewise.
9356 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9357
9358 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 Enable bsd.mod on coreboot.
9361
9362 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9363 (bsd_mod_SOURCES): New variable.
9364 (bsd_mod_CFLAGS): Likewise.
9365 (bsd_mod_LDFLAGS): Likewise.
9366 (bsd_mod_ASFLAGS): Likewise.
9367 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9368 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9369
9370 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 Cleanup NetBSD root support.
9373
9374 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9375 grub_bsd_get_device.
9376 Fix typo.
9377
9378 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
9379
9380 * util/grub.d/00_header.in: Move check for the video backend of
9381 gfxterm from here ...
9382 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9383 a suitable video backend.
9384
9385 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Fix breakage in grub-setup.
9388
9389 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9390 "msdos_partition_map".
9391
9392 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 Fix breakage in normal/auth.c.
9395
9396 * normal/auth.c (grub_iswordseparator): New function.
9397
9398 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 Authentication support.
9401
9402 * commands/password.c: New file.
9403 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9404 (password_mod_SOURCES): New variable.
9405 (password_mod_CFLAGS): Likewise.
9406 (password_mod_LDFLAGS): Likewise.
9407 (normal_mod_SOURCES): Add normal/auth.c.
9408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9409 normal/auth.c.
9410 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9411 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9412 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9414 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9415 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9416 * include/grub/auth.h: New file.
9417 * include/grub/err.h (grub_err_t): New enum value
9418 GRUB_ERR_ACCESS_DENIED.
9419 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9420 'users'.
9421 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9422 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9423 users updated.
9424 * normal/auth.c: New file.
9425 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9426 (grub_cmdline_run): Don't allow to go to command line without
9427 authentication.
9428 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9429 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9430 menuentry without superuser rights.
9431 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9432 user isn't a superuser.
9433
9434 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 Save space by inlining misc.c functions.
9437
9438 * kern/misc.c (grub_iswordseparator): Made static.
9439 * kern/misc.c (grub_strcat): Moved from here ...
9440 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9441 * kern/misc.c (grub_strncat): Moved from here ...
9442 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9443 * kern/misc.c (grub_strcasecmp): Moved from here ...
9444 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9445 * kern/misc.c (grub_strncasecmp): Moved from here ...
9446 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9447 * kern/misc.c (grub_isalpha): Moved from here ...
9448 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9449 * kern/misc.c (grub_isdigit): Moved from here ...
9450 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9451 * kern/misc.c (grub_isgraph): Moved from here ...
9452 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9453 * kern/misc.c (grub_tolower): Moved from here ...
9454 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9455
9456 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * script/sh/function.c (grub_script_function_find): Cut error message
9459 not to flood terminal.
9460 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9461 limit.
9462 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9463
9464 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
9465
9466 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9467 `report' grub_uint8_t *.
9468 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9469 Use a 50-millisecond timeout rather than just repeating
9470 grub_usb_keyboard_getreport 50 times.
9471 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9472
9473 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 Rename *_partition_map to part_*
9476
9477 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9478 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9479 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9480 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9481 All users updated.
9482 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9483 All users updated.
9484 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9485 * util/grub-probe.c (probe_partmap): Don't transform partition name
9486 to get module name.
9487
9488 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 Fix OpenBSD and NetBSD support.
9491
9492 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9493 memory address conflict.
9494 (OPENBSD_MMAP_ACPI): New definition.
9495 (OPENBSD_MMAP_NVS): Likewise.
9496 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9497 and OPENBSD_MMAP_NVS.
9498 Add memory map terminator
9499 Explicit cast when calling grub_unix_real_boot.
9500 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
9501
9502 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 Let user specify NetBSD root device.
9505
9506 * loader/i386/bsd.c (netbsd_root): New variable.
9507 (netbsd_opts): New option 'root'.
9508 (NETBSD_ROOT_ARG): New macro.
9509 (grub_netbsd_boot): Use 'netbsd_root'.
9510 (grub_bsd_unload): Free 'netbsd_root'.
9511 (grub_cmd_netbsd): Fill 'netbsd_root'.
9512
9513 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 Support for 64-bit NetBSD.
9516
9517 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9518 point when booting non-FreeBSD.
9519
9520 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 Support --no-smp and --no-acpi for NetBSD.
9523
9524 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9525 (NETBSD_AB_NOACPI): Likewise.
9526 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9527 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9528
9529 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9532 errors.
9533 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9534 errors. Call grub_error when needed.
9535
9536 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * commands/search.c (search_fs): Try searching without autoload first.
9539 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9540 filesystem module explicitly for faster booting.
9541
9542 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9543
9544 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9545
9546 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9547
9548 * util/grub.d/30_os-prober.in: Disable os-prober if
9549 `GRUB_DISABLE_OS_PROBER' was set to true.
9550
9551 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9552
9553 * partmap/pc.c: Rename to ...
9554 * partmap/msdos.c: ... this. Update all users.
9555 (grub_pc_partition_map): Rename to ...
9556 (grub_msdos_partition_map): ... this. Update all users.
9557
9558 * parttool/pcpart.c: Rename to ...
9559 * parttool/msdospart.c: ... this. Update all users.
9560
9561 * include/grub/pc_partition.h: Rename to ...
9562 * include/grub/msdos_partition.h: ... this. Update all users.
9563 (grub_pc_partition_bsd_entry): Rename to ...
9564 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9565 (grub_pc_partition_disk_label): Rename to ...
9566 (grub_msdos_partition_disk_label): ... this. Update all users.
9567 (grub_pc_partition_entry): Rename to ...
9568 (grub_msdos_partition_entry): ... this. Update all users.
9569 (grub_pc_partition_mbr): Rename to ...
9570 (grub_msdos_partition_mbr): ... this. Update all users.
9571 (grub_pc_partition): Rename to ...
9572 (grub_msdos_partition): ... this. Update all users.
9573 (grub_pc_partition_is_empty): Rename to ...
9574 (grub_msdos_partition_is_empty): ... this. Update all users.
9575 (grub_pc_partition_is_extended): Rename to ...
9576 (grub_msdos_partition_is_extended): ... this. Update all users.
9577 (grub_pc_partition_is_bsd): Rename to ...
9578 (grub_msdos_partition_is_bsd): ... this. Update all users.
9579
9580 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9581 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9582 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9583 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9584 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9585 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9586 (gpt_mod_LDFLAGS): Rename to ...
9587 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9588 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9589 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9590 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9591 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9592 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9593 (part_gpt_mod_LDFLAGS): ... this.
9594 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9595 `pcpart.mod' to `msdospart.mod'.
9596 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9597 to ...
9598 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9599 (msdospart_mod_LDFLAGS): ... this.
9600
9601 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9604 (openbsd_opts): Likewise.
9605 (netbsd_opts): Likewise.
9606 (freebsd_flags): Added 0 terminator.
9607 (openbsd_flags): Likewise.
9608 (netbsd_flags): Likewise.
9609 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9610 (grub_cmd_freebsd): Transformed into extended command.
9611 (grub_cmd_openbsd): Likewise.
9612 (grub_cmd_netbsd): Likewise.
9613 (cmd_freebsd): Changed type to grub_extcmd_t.
9614 (cmd_openbsd): Likewise.
9615 (cmd_netbsd): Likewise.
9616 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9617 grub_cmd_openbsd as extended commands.
9618 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9619 cmd_netbsd and cmd_openbsd
9620
9621 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9624
9625 2009-08-21 Pavel Roskin <proski@gnu.org>
9626
9627 * Makefile.in (install-local): When checking if a file is in the
9628 build directory, use "test -e" to detect symlinks.
9629
9630 * Makefile.in (install-local): Remove all files in
9631 $(DESTDIR)$(pkglibdir) before installing new files there.
9632
9633 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9634
9635 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9636 grub-mkelfimage.
9637
9638 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9639
9640 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9641 explicitly specified by the user.
9642
9643 2009-08-18 Pavel Roskin <proski@gnu.org>
9644
9645 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9646 grub_uint8_t pointer for data.
9647 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9648 Likewise.
9649 * video/fb/fbutil.c: Remove unnecessary casts.
9650
9651 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9652
9653 VBE cleanup.
9654
9655 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9656 (grub_vbe_set_video_mode): Save active mode info
9657 only after setting the mode.
9658 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9659 second argument.
9660
9661 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9662
9663 Rename variables for clarity.
9664
9665 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9666 (active_vbe_mode_info): ... this. All users updated.
9667 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9668 All users updated.
9669 (initial_mode): Rename to ...
9670 (initial_vbe_mode): ... this. All users updated.
9671 (mode_in_use): Rename to ..
9672 (vbe_mode_in_use): ... this. All users updated.
9673 (mode_list): Rename to ..
9674 (vbe_mode_list): ... this. All users updated.
9675 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9676 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9677 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9678 'mode_list_size' to 'vbe_mode_list_size'.
9679 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9680 'best_mode_info' to 'best_vbe_mode_info' and
9681 'best_mode' to 'best_vbe_mode'
9682
9683 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9684
9685 Remove duplicate grub_video_fb_get_video_ptr.
9686
9687 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9688 (grub_video_fb_get_video_ptr): ... this.
9689 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9690 * video/fb/fbutil.c: Add comment about addressing.
9691 (get_data_ptr): Rename to ...
9692 (grub_video_fb_get_video_ptr): ... this. All users updated.
9693 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9694
9695 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9696
9697 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9698 grub_dprintf() that was just added.
9699
9700 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9701
9702 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9703 (DEFAULT_VIDEO_MODE): Remove macros.
9704 (grub_linux_boot): Remove assumption that Linux has FB support,
9705 and use "text" as default video mode.
9706
9707 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9710 grub_dprintf.
9711 * fs/fat.c (grub_fat_read_data): Likewise.
9712
9713 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9716 payload.
9717 (grub_module): Likewise.
9718
9719 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9722 mbi->cmdline but free playground.
9723
9724 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 Handle group offset on UFS1.
9727
9728 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9729 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9730
9731 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 Split ufs.mod into ufs1.mod and ufs2.mod.
9734
9735 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9736 (grub_fstest_SOURCES): Likewise.
9737 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9738 (ufs_mod_SOURCES): Remove.
9739 (ufs_mod_CFLAGS): Likewise.
9740 (ufs_mod_LDFLAGS): Likewise.
9741 (ufs1_mod_SOURCES): New variable.
9742 (ufs1_mod_CFLAGS): Likewise.
9743 (ufs1_mod_LDFLAGS): Likewise.
9744 (ufs2_mod_SOURCES): New variable.
9745 (ufs2_mod_CFLAGS): Likewise.
9746 (ufs2_mod_LDFLAGS): Likewise.
9747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9748 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9749 Likewise.
9750 (grub_emu_SOURCES): Likewise.
9751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9752 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9753 (grub_setup_SOURCES): Likewise.
9754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9755 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9756 (grub_setup_SOURCES): Likewise.
9757 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9758 Likewise.
9759 * fs/ufs2.c: New file.
9760 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9761
9762 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Framebuffer split.
9765
9766 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9767 subsystem at the end.
9768 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9769 (video_fb_mod_SOURCES): New variable.
9770 (video_fb_mod_CFLAGS): Likewise.
9771 (video_fb_mod_LDFLAGS): Likewise.
9772 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9773 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9774 * video/i386/pc/vbeblit.c: Moved from here ...
9775 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9776 * video/i386/pc/vbefill.c: Moved from here ...
9777 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9778 * video/i386/pc/vbeutil.c: Moved from here ...
9779 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9780 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9781 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9782 * include/grub/i386/pc/vbefill.h: Moved from here ...
9783 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9784 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9785 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9786 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9787 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9788 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9789 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9790 (grub_video_adapter): Added 'get_info_and_fini'.
9791 (grub_video_get_info_and_fini): New prototype.
9792 (grub_video_set_mode): make modestring const char *.
9793 * loader/i386/linux.c (grub_linux_setup_video): Use
9794 grub_video_get_info_and_fini.
9795 (grub_linux_boot): Move modesetting just before booting.
9796 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9797 grub_video_get_info_and_fini.
9798 * video/i386/pc/vbe.c: Moved framebuffer part ...
9799 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9800 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9801 grub_video_fbstd_colors and grub_video_fb_set_palette.
9802 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9803 grub_video_fb_init.
9804 (grub_video_vbe_fini): Use grub_video_fb_fini.
9805 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9806 render_target and use grub_video_fb_set_active_render_target and
9807 grub_video_fb_set_palette.
9808 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9809 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9810 (grub_video_vbe_adapter): Use framebuffer.
9811 * video/video.c (grub_video_get_info_and_fini): New function.
9812 (grub_video_set_mode): Make modestring const char *.
9813 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9814 values are already initialised.
9815
9816 2009-08-14 Pavel Roskin <proski@gnu.org>
9817
9818 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9819 ABS and APPLE_CC.
9820 * boot/i386/pc/diskboot.S: Likewise.
9821 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9822 sectors allow compilation on MacOSX.
9823 * conf/i386-pc.rmk: Enable unconditional compilation of
9824 lnxboot.img.
9825
9826 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
9827
9828 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9829 * util/grub.d/00_header.in: Enter interruptible sleep if
9830 GRUB_HIDDEN_TIMEOUT is set.
9831
9832 2009-08-13 Yves Blusseau <blusseau@zetam.org>
9833
9834 * include/grub/symbol.h: Add the LOCAL macro.
9835 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9836 starting with "L_".
9837
9838 2009-08-13 Pavel Roskin <proski@gnu.org>
9839
9840 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9841 any modern compilers we support.
9842
9843 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9844 Use local labels starting with "L_" so that Apple assembler
9845 knows they are local.
9846
9847 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9848
9849 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9850 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9851 (bsd_kernel_types): ... this enum.
9852
9853 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9854 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9855 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9856
9857 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9858 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9859 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9860 messages.
9861
9862 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9863
9864 * util/grub-dumpdevtree: Moved from here ...
9865 * util/i386/efi/grub-dumpdevtree: ... to here.
9866 (hexify): New function. Converts a string to its hex version.
9867 Generate hex versions of "efi" and "device-properties" by calling
9868 hexify() on the ASCII strings rather than by hardcoding numbers.
9869
9870 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9871
9872 * fs/jfs.c: Update copyright year.
9873
9874 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9875
9876 * util/grub.d/00_header.in: Fix a comment.
9877 * util/grub.d/10_linux.in: Likewise.
9878 * util/grub.d/10_windows.in: Likewise.
9879 * util/grub.d/10_hurd.in: Likewise.
9880
9881 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9882
9883 * util/grub-mkconfig.in: Allow the user to specify the used font
9884 with GRUB_FONT.
9885
9886 2009-08-08 Pavel Roskin <proski@gnu.org>
9887
9888 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9889 available, xfs.mod needs it now.
9890
9891 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9892 the "g" modifier in sed when the intention is to strip something
9893 once. This fixes comparison of kernels with multiple dashes.
9894
9895 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9896 on it. Add missing space before closing bracket. Fix
9897 misleading formatting.
9898
9899 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9900
9901 * docs/grub.texi: Major overhaul. Remove all sections that are
9902 specific to GRUB Legacy, or mostly composed of Legacy-specific
9903 information.
9904
9905 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9906
9907 * docs/version.texi: New file. Provides version information for
9908 grub.texi.
9909
9910 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9911
9912 * docs/grub.texi: Update CVS information to SVN.
9913 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9914
9915 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9916
9917 * util/grub-mkconfig.in: Remove a wrong `fi'.
9918
9919 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9920
9921 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9922 (grub_jfs_uuid): New function.
9923 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9924
9925 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
9926
9927 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9928 of it to ...
9929 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9930 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9931
9932 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9933
9934 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9935 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9936 Update all users.
9937
9938 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9939 not just "vmlinu[zx]".
9940 Moved from here ...
9941 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9942 all users.
9943
9944 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9945 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9946 all users.
9947
9948 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9949
9950 * util/grub.d/10_freebsd.in: Use an absolute device path for
9951 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9952
9953 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
9954
9955 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9956 handling of multiple abstraction modules.
9957
9958 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9959
9960 Fix a bug resulting in black screen when loading Linux using a
9961 packed video mode.
9962
9963 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9964 function.
9965
9966 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9967 (grub_vbe_bios_getset_dac_palette_width): New function.
9968 (grub_vbe_bios_get_dac_palette_width)
9969 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9970 grub_vbe_bios_getset_dac_palette_width()).
9971
9972 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9973 check for return status.
9974 (grub_vbe_get_video_mode_info): When getting information for a packed
9975 mode (<= 8 bpp), obtain DAC palette width using
9976 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9977 {red,green,blue}_mark_size.
9978
9979 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
9980
9981 * commands/search.c (options): Fix help output to match actual code.
9982
9983 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9986 of homegrown code.
9987
9988 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9991 on XFS or ReiserFS.
9992
9993 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 Support Apple partition map with sector size different from 512 bytes.
9996
9997 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9998 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9999 and 'apart.partmap_size'.
10000
10001 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10002 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10003
10004 Fix cpuid command.
10005
10006 * commands/i386/cpuid.c (options): New variable.
10007 (grub_cmd_cpuid): Return real error.
10008 (GRUB_MOD_INIT(cpuid)): Declare options.
10009
10010 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10013 valid.
10014
10015 2009-07-31 Bean <bean123ch@gmail.com>
10016
10017 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10018 log2_inode.
10019 (grub_fshelp_node): Move inode field to the end.
10020 (grub_xfs_data): Remove inode field.
10021 (grub_xfs_inode_block): Calculate inode size using sblock.
10022 (grub_xfs_inode_offset): Likewise.
10023 (grub_xfs_read_inode): Calculate inode size using sblock.
10024 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10025 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10026 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10027 to match inode size.
10028 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10029 not accessible when data is null.
10030 (grub_xfs_open): Likewise.
10031
10032 2009-07-31 Bean <bean123ch@gmail.com>
10033
10034 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10035 Don't change pv->disk if it's already set.
10036
10037 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10038 (grub_raid_register): ... here.
10039 (grub_raid_rescan): Removed.
10040
10041 * include/grub/raid.h (grub_raid_rescan): Removed.
10042
10043 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10044 (fstest): Replace grub_raid_rescan with module fini function followed
10045 by init function.
10046
10047 * util/grub-probe.c: Add include file <grub/raid.h>.
10048 (probe_raid_level): New function.
10049 (probe): Detect abstraction by walking the disk device, support two
10050 level of abstraction (LVM on RAID) when detecting partition map.
10051
10052 2009-07-31 Pavel Roskin <proski@gnu.org>
10053
10054 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10055 to grub_zalloc(), it was erroneous.
10056 Reported by Bean <bean123ch@gmail.com>
10057
10058 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
10061 embedding zone, not only the first one.
10062
10063 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
10064
10065 * term/gfxterm.c (clear_char): New function.
10066 (grub_virtual_screen_setup): Use clear_char.
10067 (scroll_up): Likewise.
10068 (grub_virtual_screen_cls): Likewise.
10069
10070 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
10071
10072 * util/deviceiter.c (get_acceleraid_disk_name): New static
10073 function.
10074 (grub_util_iterate_devices): Handle Accelraid devices.
10075 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10076
10077 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10078
10079 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10080 separator for the suggested gfxpayload string (';' collides with the
10081 parser and needs escaping).
10082
10083 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10086 Clear direction flag before jumping to OS.
10087 (grub_multiboot2_real_boot): Likewise.
10088
10089 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10090
10091 * util/i386/pc/grub-install: Fix parsing of --disk-module
10092 option.
10093
10094 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10095
10096 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10097 when embedding.
10098
10099 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
10100
10101 * util/grub-mkconfig.in (package_version): New variable.
10102 Use it do display the version.
10103
10104 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10105
10106 * kern/file.c (grub_file_open): Revert to previous check with
10107 grub_errno.
10108
10109 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10112 from help line. It's out of sync with code.
10113
10114 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10117 entries on failed boot.
10118
10119 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10120
10121 * kern/file.c (grub_file_open): Fix an error check.
10122
10123 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10126 partition map couldn't be identified.
10127
10128 2009-07-23 Pavel Roskin <proski@gnu.org>
10129
10130 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10131 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10132 case of little endian words becomes just an optimization.
10133 Respect const modifier.
10134 (md5_final): Use code that doesn't depend on endianness.
10135
10136 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10137 to avoid loss of upper bits if align is unsigned and shorter
10138 than addr.
10139
10140 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 UUID support for UFS
10143
10144 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10145 (grub_ufs_uuid): New function.
10146 (grub_ufs_fs): add .uuid
10147
10148 2009-07-21 Pavel Roskin <proski@gnu.org>
10149
10150 * kern/dl.c (grub_dl_check_header): Make static.
10151
10152 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
10153
10154 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10155 add drivemap for Vista. It breaks Windows 7.
10156
10157 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10160 128 bytes
10161
10162 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 Add BFS support
10165
10166 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10167 (grub_fstest_SOURCES): Likewise.
10168 (pkglib_MODULES): Add befs.mod.
10169 (befs_mod_SOURCES): New variable.
10170 (befs_mod_CFLAGS): Likewise.
10171 (befs_mod_LDFLAGS): Likewise.
10172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10173 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10175 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10176 (grub_setup_SOURCES): Likewise.
10177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10178 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10179 (grub_setup_SOURCES): Likewise.
10180 * fs/befs.c: New file.
10181 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10182 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10183 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10184 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10185 (B_KEY_INDEX_ALIGN): New declaration.
10186 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10187 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10188 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10189 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10190 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10191 (grub_afs_mount) [MODE_BFS]: Likewise.
10192 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10193 (grub_afs_fs): Use GRUB_AFS_FSNAME
10194 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10195 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10196 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10197 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10198
10199 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10200
10201 * util/getroot.c (find_root_device): Add support for MacOSX.
10202 * util/hostdisk.c: Likewise.
10203
10204 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * font/font.c (find_glyph): Check whether a font is present to avoid
10207 segmentation fault.
10208
10209 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
10210
10211 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10212
10213 2009-07-20 Pavel Roskin <proski@gnu.org>
10214
10215 * configure.ac: Trim excessively wordy excuses.
10216
10217 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 Add symlink, mtime and label support to AtheFS.
10220
10221 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10222 (grub_afs_iterate_dir): Handle symlinks.
10223 (grub_afs_open): Use grub_afs_read_symlink.
10224 (grub_afs_dir): Likewise.
10225 Pass mtime.
10226 (grub_afs_label): New function.
10227 (grub_afs_fs): Add grub_afs_label.
10228 (grub_afs_read_symlink): New function.
10229
10230 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 Fix AtheFS support.
10233
10234 * fs/afs.c: Fix comments style.
10235 (grub_afs_blockrun): Declare as packed.
10236 (grub_afs_datastream): Likewise.
10237 (grub_afs_bnode): Likewise.
10238 (grub_afs_btree): Likewise.
10239 (grub_afs_sblock): Likewise.
10240 Declare `name' as char.
10241 (grub_afs_inode): Declare as packed.
10242 Change void *vnode to grub_uint32_t unused.
10243 (grub_afs_iterate_dir): Check that key_size is positive.
10244 (grub_afs_mount): Don't read superblock twice.
10245 (grub_afs_dir): Don't free node in case of error,
10246 grub_fshelp_find_file already handles this.
10247 (grub_afs_open): Likewise.
10248
10249 2009-07-19 Pavel Roskin <proski@gnu.org>
10250
10251 * Makefile.in: Remove LIBLZO and enable_lzo.
10252 * conf/i386-pc.rmk: Remove lzo support.
10253 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10254 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10255 support.
10256 * kern/i386/pc/lzo1x.S: Remove.
10257 * kern/i386/pc/startup.S: Remove lzo support.
10258 * util/i386/pc/grub-mkimage.c: Likewise.
10259
10260 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10263 * fs/xfs.c (grub_xfs_dir): Likewise.
10264 * fs/afs.c (grub_afs_dir): Likewise.
10265 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10266 (grub_iso9660_open): Likewise.
10267 * fs/jfs.c (grub_jfs_open): Likewise.
10268 * fs/ext2.c (grub_ext2_dir): Likewise.
10269 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10270 * script/sh/lexer.c (grub_script_yylex): Likewise.
10271
10272 2009-07-16 Pavel Roskin <proski@gnu.org>
10273
10274 * configure.ac: Never add "-c" to CFLAGS.
10275
10276 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10277
10278 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10279 grub_cv_cc_efiemu should be used.
10280
10281 * configure.ac: Typo fixes.
10282
10283 * kern/mm.c (grub_zalloc): New function.
10284 (grub_debug_zalloc): Likewise.
10285 * include/grub/mm.h: Declare grub_zalloc() and
10286 grub_debug_zalloc().
10287 * util/misc.c (grub_zalloc): New function.
10288 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10289 instead of grub_malloc(), remove unneeded initializations.
10290 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10291 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10292 * commands/parttool.c (grub_cmd_parttool): Likewise.
10293 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10294 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10295 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10296 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10297 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10298 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10299 (grub_cmd_efiemu_pnvram): Likewise.
10300 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10301 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10302 (grub_iso9660_iterate_dir): Likewise.
10303 * fs/jfs.c (grub_jfs_opendir): Likewise.
10304 * fs/ntfs.c (list_file): Likewise.
10305 (grub_ntfs_mount): Likewise.
10306 * kern/disk.c (grub_disk_open): Likewise.
10307 * kern/dl.c (grub_dl_load_core): Likewise.
10308 * kern/elf.c (grub_elf_file): Likewise.
10309 * kern/env.c (grub_env_context_open): Likewise.
10310 (grub_env_set): Likewise.
10311 (grub_env_set_data_slot): Likewise.
10312 * kern/file.c (grub_file_open): Likewise.
10313 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10314 * loader/i386/multiboot.c (grub_module): Likewise.
10315 * loader/xnu.c (grub_xnu_create_key): Likewise.
10316 (grub_xnu_create_value): Likewise.
10317 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10318 (read_config_file): Likewise.
10319 * normal/menu_entry.c (make_screen): Likewise.
10320 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10321 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10322 * script/sh/script.c (grub_script_parse): Likewise.
10323 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10324 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10325 * video/readers/png.c (grub_png_output_byte): Likewise.
10326 (grub_video_reader_png): Likewise.
10327
10328 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Enable all targets that can be built by default
10331
10332 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
10333 grub-mkfont and grub-fstest if they can be built
10334
10335 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 Fix hang and segmentation fault in grub-emu-usb
10338
10339 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10340 * util/usb.c (grub_libusb_devices): likewise
10341 (grub_libusb_init): rename to ...
10342 (GRUB_MOD_INIT (libusb)):...this
10343 (grub_libusb_fini): rename to ..
10344 (GRUB_MOD_FINI (libusb)):...this
10345 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10346 * include/grub/disk.h (grub_raid_init): removed, it's useless
10347 (grub_raid_fini): likewise
10348 (grub_lvm_init): likewise
10349 (grub_lvm_fini): likewise
10350 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10351 by grub_init_all
10352
10353 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 Fix libusb
10356
10357 * Makefile.in (LIBUSB): new macro
10358 * genmk.rb (Utility/print_tail): new method
10359 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10360 (top level): call util.print_tail at the end.
10361
10362 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 Make FreeBSD accept zpool.cache
10365
10366 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10367 type is /boot/zfs/zpool.cache
10368
10369 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Fix 64-bit efiemu
10372
10373 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10374 correct wrong typedef
10375 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10376
10377 2009-07-15 Pavel Roskin <proski@gnu.org>
10378
10379 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10380 * kern/disk.c (struct grub_disk_cache): Likewise.
10381
10382 * commands/probe.c (options): Typo fix.
10383
10384 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10385 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10386 accordingly.
10387 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10388
10389 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10390 the end of "Error" to make the message more readable.
10391
10392 * boot/i386/pc/boot.S (kernel_segment): Remove.
10393 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10394 for destination.
10395
10396 * boot/i386/pc/boot.S (boot_version): Remove.
10397 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10398 Remove.
10399
10400 * include/grub/i386/pc/boot.h: Sort all offsets.
10401 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10402 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10403 * boot/i386/pc/boot.S: Assert location of every offset listed in
10404 include/grub/i386/pc/boot.h.
10405
10406 2009-07-13 Pavel Roskin <proski@gnu.org>
10407
10408 * include/grub/i386/coreboot/machine.h: Rename
10409 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10410 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10411 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10412
10413 * kern/dl.c: Force native word size to suppress warnings when
10414 compiling grub-emu.
10415
10416 * kern/device.c (grub_device_iterate): Change struct part_ent to
10417 hold the name, not a pointer to it. Use one grub_malloc() per
10418 partition, not two. Free partition_name if grub_malloc() fails.
10419 Set ents to NULL only before grub_partition_iterate() is called.
10420
10421 2009-07-11 Bean <bean123ch@gmail.com>
10422
10423 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10424 childname.
10425
10426 2009-07-10 Bean <bean123ch@gmail.com>
10427 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10428
10429 * kern/ieee1275/openfw.c (grub_children_iterate)
10430 (grub_devalias_iterate): Fix size evaluation for property or path
10431 strings, which was broken since r2132.
10432
10433 2009-07-07 Pavel Roskin <proski@gnu.org>
10434
10435 * commands/search.c (search_file): Merge into ...
10436 (search_fs): ... this. Accept search type as argument.
10437 (grub_cmd_search): Pass search type to search_fs().
10438
10439 * include/grub/util/console.h: New file.
10440 * util/console.c: Use it instead of grub/machine/console.h.
10441 * util/grub-emu.c: Likewise.
10442
10443 * lib/arg.c (find_long_option): Remove.
10444 (find_long): Add `len' argument, make `s' const char *.
10445 (grub_arg_parse): Parse long options in place, not in a
10446 temporary buffer.
10447
10448 2009-07-06 Pavel Roskin <proski@gnu.org>
10449
10450 * commands/search.c (search_fs): Fix potential NULL pointer
10451 dereference.
10452
10453 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10454 function pointer.
10455
10456 2009-07-06 Daniel Mierswa <impulze@impulze.org>
10457
10458 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10459 comparison.
10460
10461 2009-07-05 Pavel Roskin <proski@gnu.org>
10462
10463 * include/grub/i386/linux.h (struct linux_kernel_params):
10464 Restore padding3, it's still needed.
10465
10466 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10467 FreeBSD.
10468 * util/osdetect.lua: Likewise.
10469
10470 2009-07-05 Bean <bean123ch@gmail.com>
10471
10472 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10473
10474 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10475 (grub_lua_getenv): Likewise.
10476 (grub_lua_setenv): Likewise.
10477 (save_errno): New function.
10478 (push_result): Likewise.
10479 (grub_lua_enum_device): Likewise.
10480 (grub_lua_enum_file): Likewise.
10481 (grub_lua_file_open): Likewise.
10482 (grub_lua_file_close): Likewise.
10483 (grub_lua_file_seek): Likewise.
10484 (grub_lua_file_read): Likewise.
10485 (grub_lua_file_getline): Likewise.
10486 (grub_lua_file_getsize): Likewise.
10487 (grub_lua_file_getpos): Likewise.
10488 (grub_lua_file_eof): Likewise.
10489 (grub_lua_file_exist): Likewise.
10490 (grub_lua_add_menu): Likewise.
10491
10492 * script/lua/grub_lua.h (isupper): New inline function.
10493 (islower): Likewise.
10494 (ispunct): Likewise.
10495 (isxdigit): Likewise.
10496 (strcspn): Change to normal function.
10497 (strpbkr): New function declaration.
10498 (memchr): Likewise.
10499
10500 * script/lua/grub_main.c (scan_str): New function.
10501 (strcspn): Likewise.
10502 (strpbrk): Likewise.
10503 (memchr): Likewise.
10504
10505 * script/lua/linit.c (lualibs): Enable the string library.
10506
10507 * util/osdetect.lua: New file.
10508
10509 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10510
10511 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10512 `capabilities' member.
10513
10514 2009-07-02 Pavel Roskin <proski@gnu.org>
10515
10516 * genparttoollist.sh: Add missing newline at the end.
10517
10518 2009-07-01 Pavel Roskin <proski@gnu.org>
10519
10520 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10521
10522 * util/hostdisk.c (open_device): Remove `const' from
10523 `sysctl_size', as sysctlbyname() can change it (in this case it
10524 doesn't actually happen).
10525
10526 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10527 using signed long int constants.
10528
10529 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10530 constant to avoid a warning on FreeBSD.
10531
10532 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10533 where it's needed.
10534
10535 * Makefile.in: Install include/grub/machine symlink.
10536
10537 * Makefile.in: When installing symlinks, use "cp -fR", which
10538 works on FreeBSD and MacOSX.
10539 From Yves Blusseau <cl7m42e02@sneakemail.com>
10540
10541 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10542 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10543
10544 * util/misc.c: Move grub_reboot() and grub_halt() ...
10545 * util/grub-emu.c: ... here. Make main_env static.
10546 * include/grub/util/misc.h: Remove main_env.
10547
10548 * kern/mm.c: Use correct format to print size_t.
10549
10550 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10551 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10552 * kern/powerpc/dl.c: Likewise.
10553 * kern/sparc64/dl.c: Likewise.
10554 * kern/x86_64/dl.c: Likewise.
10555
10556 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10557
10558 Fix grub-emu build on sparc64-ieee1275.
10559
10560 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
10561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10562
10563 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10564
10565 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10566 (grub_reboot, grub_halt): New functions.
10567
10568 * util/i386/pc/misc.c: Delete. Update all users.
10569 * util/sparc64/ieee1275/misc.c: Likewise.
10570 * util/powerpc/ieee1275/misc.c: Likewise.
10571
10572 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10573
10574 * conf/i386.rmk (setjmp_mod_SOURCES)
10575 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10576 * conf/common.rmk (setjmp_mod_SOURCES)
10577 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10578 to use $(target_cpu).
10579 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10580 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10581 * conf/powerpc-ieee1275.rmk: Likewise.
10582 * conf/sparc64-ieee1275.rmk: Likewise.
10583
10584 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10585 $(target_cpu) for kern/$(target_cpu)/dl.c.
10586 * conf/i386-efi.rmk: Likewise.
10587 * conf/i386-ieee1275.rmk: Likewise.
10588 * conf/x86_64-efi.rmk: Likewise.
10589 * conf/i386-coreboot.rmk: Likewise.
10590 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10591 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10592 kern/$(target_cpu)/cache.S.
10593 * conf/sparc64-ieee1275.rmk: Likewise.
10594
10595 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10596
10597 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10598 type to `grub_uint8_t', and adjust `padding9' accordingly.
10599
10600 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10601
10602 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10603
10604 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10605 assembly in final jump, using register constraints.
10606
10607 (grub_linux_boot): For text mode, initialize `have_vga' using
10608 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10609
10610 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10611 right before the final jump.
10612
10613 Set `video_mode' to 0x3.
10614
10615 Document initialization of `video_page', `video_mode' and
10616 `video_ega_bx'.
10617
10618 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10619
10620 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10621 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
10622 and set GRUB_LINUX_FLAG_QUIET appropriately.
10623
10624 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10625
10626 Fix build on Debian / sparc.
10627
10628 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10629
10630 2009-06-28 Pavel Roskin <proski@gnu.org>
10631
10632 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10633 fix a warning.
10634
10635 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10636
10637 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10638
10639 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10640 `err'.
10641
10642 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10643
10644 Revert r2338.
10645
10646 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10647 file can't be opened. grub_file_open() is already supposed to set
10648 grub_errno / grub_errmsg appropriately.
10649 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10650
10651 2009-06-27 Pavel Roskin <proski@gnu.org>
10652 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10653
10654 * include/grub/dl.h: Include grub/elf.h.
10655 (struct grub_dl): Add symtab field.
10656 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10657 GRUB_MODULES_MACHINE_READONLY.
10658 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10659 of the header for read-only modules.
10660 (grub_dl_unload): Free mod->symtab for read-only modules.
10661 * kern/i386/dl.c: Use mod->symtab.
10662 * kern/powerpc/dl.c: Likewise.
10663 * kern/sparc64/dl.c: Likewise.
10664 * kern/x86_64/dl.c: Likewise.
10665
10666 * conf/i386-qemu.rmk: New file.
10667 * kern/i386/qemu/startup.S: Likewise.
10668 * kern/i386/qemu/mmap.c: Likewise.
10669 * boot/i386/qemu/boot.S: Likewise.
10670 * include/grub/i386/qemu/time.h: Likewise.
10671 * include/grub/i386/qemu/serial.h: Likewise.
10672 * include/grub/i386/qemu/kernel.h: Likewise.
10673 * include/grub/i386/qemu/console.h: Likewise.
10674 * include/grub/i386/qemu/boot.h: Likewise.
10675 * include/grub/i386/qemu/init.h: Likewise.
10676 * include/grub/i386/qemu/machine.h: Likewise.
10677 * include/grub/i386/qemu/loader.h: Likewise.
10678 * include/grub/i386/qemu/memory.h: Likewise.
10679
10680 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10681 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10682 [qemu] (pkglib_IMAGES): Add `boot.img'.
10683 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10684 [qemu] (boot_img_FORMAT): New variables.
10685 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10686 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10687 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10688 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10689 [qemu] (kernel_img_FORMAT): New variables.
10690
10691 * configure.ac: Recognise `i386-qemu'.
10692
10693 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10694 (for no compression).
10695 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10696 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10697 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10698 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10699 ifdefs).
10700
10701 2009-06-27 Pavel Roskin <proski@gnu.org>
10702
10703 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10704 read.
10705 * efiemu/prepare32.c: Likewise.
10706 * efiemu/prepare64.c: Likewise.
10707
10708 2009-06-26 Pavel Roskin <proski@gnu.org>
10709
10710 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10711 * include/grub/elf.h: Define symbols without "32" or "64" based
10712 on GRUB_TARGET_WORDSIZE.
10713 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10714 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10715 ELF definitions.
10716 * efiemu/loadcore64.c: Likewise.
10717 * loader/i386/bsd32.c: Likewise.
10718 * loader/i386/bsd64.c: Likewise.
10719 * kern/dl.c: Remove own ELF definitions.
10720 * util/i386/efi/grub-mkimage.c: Likewise.
10721
10722 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10723
10724 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10725 segment 0x0 unconditionally, because the reference generated by
10726 GAS is an absolute address.
10727
10728 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10729
10730 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10731 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10732
10733 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10734
10735 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10736 indexes. Check for -f explicitly.
10737 (search_file): Improve error message.
10738 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
10739
10740 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10741
10742 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10743 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10744
10745 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10746
10747 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10748 * conf/i386-ieee1275.rmk: Likewise.
10749 * conf/i386-coreboot.rmk: Likewise.
10750
10751 * kern/i386/pc/startup.S (grub_stop): Remove function.
10752 * kern/i386/ieee1275/startup.S: Likewise.
10753 * kern/i386/coreboot/startup.S: Likewise.
10754 * kern/i386/misc.S (grub_stop): New function.
10755
10756 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10757
10758 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10759 * kern/i386/realmode.S (real_to_prot): ... to here.
10760
10761 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10762
10763 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10764 with `kernel.img'.
10765 (kernel_elf_SOURCES): Rename to ...
10766 (kernel_img_SOURCES): ... this.
10767 (kernel_elf_HEADERS): Rename to ...
10768 (kernel_img_HEADERS): ... this. Update all users.
10769 (kernel_elf_ASFLAGS): Rename to ...
10770 (kernel_img_ASFLAGS): ... this.
10771 (kernel_elf_CFLAGS): Rename to ...
10772 (kernel_img_CFLAGS): ... this.
10773 (kernel_elf_LDFLAGS): Rename to ...
10774 (kernel_img_LDFLAGS): ... this.
10775 * conf/i386-coreboot.rmk: Likewise.
10776 * conf/powerpc-ieee1275.rmk: Likewise.
10777
10778 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10779 with "kernel.img".
10780
10781 2009-06-21 Pavel Roskin <proski@gnu.org>
10782
10783 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10784 to match nested functions.
10785 * loader/sparc64/ieee1275/linux.c: Likewise.
10786
10787 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10788
10789 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10790
10791 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10792 all i386 platforms.
10793
10794 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10795
10796 Fix asm file handling on ELF, and remove workarounds.
10797
10798 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
10799 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
10800 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10801 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10802
10803 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 Load BSD ELF modules
10806
10807 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10808 and loader/i386/bsd64.c
10809 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10810 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10811 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10812 (grub_freebsd_load_elfmodule32): New declaration
10813 (grub_freebsd_load_elfmoduleobj64): Likewise
10814 (grub_freebsd_load_elf_meta32): Likewise
10815 (grub_freebsd_load_elf_meta64): Likewise
10816 (grub_freebsd_add_meta): Likewise
10817 (grub_freebsd_add_meta_module): Likewise
10818 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10819 (grub_freebsd_add_meta_module): Likewise and move module-specific
10820 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10821 (grub_cmd_freebsd): Add elf-kernel specific parts
10822 based on grub_freebsd_add_meta_module
10823 (grub_cmd_freebsd_module): Add type parsing moved from
10824 grub_freebsd_add_meta_module
10825 (grub_cmd_freebsd_module_elf): New function
10826 (cmd_freebsd_module_elf): New variable
10827 (GRUB_MOD_INIT): Register freebsd_module_elf
10828 * loader/i386/bsd32.c: New file
10829 * loader/i386/bsd64.c: Likewise
10830 * loader/i386/bsdXX.c: Likewise
10831 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10832 (grub_elf64_load): Likewise
10833 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10834 All users updated
10835 (grub_elf64_load_hook_t): Likewise
10836
10837 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
10838
10839 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10840 variable.
10841 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10842 don't write a menu entry for recovery mode.
10843
10844 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10845
10846 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10847 after it's no longer needed.
10848
10849 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10850
10851 * include/grub/i386/loader.h (grub_linux_prot_size)
10852 (grub_linux_tmp_addr, grub_linux_real_addr)
10853 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10854 GRUB_MACHINE_PCBIOS.
10855 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10856 common grub_util_info() call to ...
10857 (generate_image): ... here.
10858 Fix use of uninitialized memory, comparison of signed with
10859 unsigned integers and memory leak.
10860 Remove bogus module address message.
10861
10862 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10865 grub_raid_register
10866 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10867
10868 2009-06-19 Pavel Roskin <proski@gnu.org>
10869
10870 * configure.ac: Remove stray AC_MSG_CHECKING.
10871
10872 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * disk/scsi.c (grub_scsi_open): use continue instead of big if
10875
10876 2009-06-18 Pavel Roskin <proski@gnu.org>
10877
10878 * conf/common.rmk: Add fs_file.mod.
10879 * disk/fs_file.c: New file.
10880 * include/grub/disk.h (enum grub_disk_dev_id): Add
10881 GRUB_DISK_DEVICE_FILE_ID.
10882
10883 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 Fix build with Apple's toolchain. Part 2
10886
10887 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10888 a fake start
10889
10890 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 Fix build with Apple's toolchain. Part 1
10893
10894 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10895 for long calls
10896 * configure.ac: remove a leftover AC_MSG_RESULT
10897 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
10898 Apple's toolchain
10899
10900 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 Fix warnings
10903
10904 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10905 (decomp_block): initialize ch
10906 use grub_memcpy instead of memcpy
10907
10908 2009-06-17 Pavel Roskin <proski@gnu.org>
10909
10910 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10911 version, use declarations needed to use vga_text as the startup
10912 console.
10913
10914 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10915 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10916 the kernel.
10917 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10918 and grub_at_keyboard_fini(), it's done on module load and
10919 unload.
10920
10921 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
10922
10923 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10924 file can't be found.
10925 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10926
10927 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 Fix newline handling
10930
10931 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
10932 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
10933 (grub_script_yylex): don't segfault on unterminated script
10934 newline terminates command and variable
10935
10936 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 avoid double grub_adjust_range call. Bug reported by David Simner
10939
10940 * kern/disk.c (grub_disk_write): change to raw disk access before
10941 calling disk_read
10942
10943 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
10944
10945 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10946 spaces, for the benefit of help2man.
10947 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10948
10949 2009-06-16 Pavel Roskin <proski@gnu.org>
10950
10951 * kern/i386/halt.c: Include grub/machine/init.h.
10952 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10953
10954 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
10955
10956 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10957 drivemap menuentry.
10958
10959 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10960
10961 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10962 `echo' command.
10963
10964 2009-06-16 Pavel Roskin <proski@gnu.org>
10965
10966 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10967 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10968 save %dx, we only need %dl and we never change it.
10969 * boot/i386/pc/cdboot.S: Don't set the root drive.
10970 * boot/i386/pc/pxeboot.S: Likewise.
10971 * include/grub/i386/pc/boot.h: Remove
10972 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10973 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10974 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10975 * kern/i386/pc/init.c (make_install_device): Remove references
10976 to grub_root_drive.
10977 * kern/i386/pc/startup.S: Likewise.
10978 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10979
10980 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 xnu_uuid command
10983
10984 * commands/xnu_uuid.c: new file
10985 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10986 (xnu_uuid_mod_SOURCES): new variable
10987 (xnu_uuid_mod_CFLAGS): likewise
10988 (xnu_uuid_mod_LDFLAGS): likewise
10989 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10990 * conf/i386-ieee1275.rmk: likewise
10991 * conf/i386-pc.rmk: likewise
10992 * conf/powerpc-ieee1275.rmk: likewise
10993 * conf/sparc64-ieee1275.rmk: likewise
10994 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10995
10996 2009-06-16 Pavel Roskin <proski@gnu.org>
10997
10998 * configure.ac: Avoid '==' in test command, it's not portable.
10999
11000 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 Probe command
11003
11004 * commands/probe.c: new file
11005 * conf/common.rmk (pkglib_MODULES): add probe.mod
11006 (probe_mod_SOURCES): new variable
11007 (probe_mod_CFLAGS): likewise
11008 (probe_mod_LDFLAGS): likewise
11009 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11010 * conf/i386-ieee1275.rmk: likewise
11011 * conf/i386-pc.rmk: likewise
11012 * conf/powerpc-ieee1275.rmk: likewise
11013 * conf/sparc64-ieee1275.rmk: likewise
11014
11015 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 Fix handling of string like \"hello\" and "a
11018 b"
11019
11020 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11021 (grub_script_yylex): fix parsing of quoting, escaping and newline
11022
11023 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
11026 handling
11027
11028 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
11029
11030 * util/grub-mkconfig.in: Fix parsing of --output option.
11031
11032 2009-06-12 Pavel Roskin <proski@gnu.org>
11033
11034 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11035 genmk.rb don't need to be generated or installed.
11036
11037 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 * commands/i386/pc/drivemap_int13h.S: add more comments
11040
11041 2009-06-11 Pavel Roskin <proski@gnu.org>
11042
11043 * Makefile.in (uninstall): Uninstall manuals.
11044
11045 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11046 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11047 and update-grub_lib in two places.
11048 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11049
11050 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11051 a compiler warning.
11052
11053 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11054 `entry_lo' to fix variable shadowing.
11055
11056 2009-06-11 Christian Franke <franke@computer.org>
11057
11058 * kern/misc.c (__enable_execute_stack): Add missing return type
11059 to prevent gcc warning.
11060
11061 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11062
11063 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11064
11065 2009-06-11 Pavel Roskin <proski@gnu.org>
11066
11067 * Makefile.in: Don't rely on any scripts being executable.
11068 Always use $(SHELL) to run shell scripts.
11069
11070 * configure.ac: Always define ___main if using -nostdlib. This
11071 fixes tests on Cygwin.
11072
11073 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11074
11075 UDF fix
11076
11077 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
11078 is in bytes and not in blocks
11079
11080 2009-06-11 Pavel Roskin <proski@gnu.org>
11081
11082 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11083 warning.
11084
11085 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11086
11087 * util/grub.d/30_os-prober.in: Fix a comment. Source
11088 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11089 to set the root device. Place drivemap command in the generated
11090 chain entry.
11091
11092 2009-06-11 Pavel Roskin <proski@gnu.org>
11093
11094 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11095 have long been resolved.
11096
11097 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
11098
11099 * util/grub.d/10_linux.in: Capitalise "Linux".
11100
11101 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11102
11103 2009-06-11 Pavel Roskin <proski@gnu.org>
11104
11105 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11106 fix a gcc warning and ensure that the function won't ever exit.
11107
11108 * kern/i386/ieee1275/init.c: Add missing prototype for
11109 grub_stop_floppy().
11110
11111 * loader/ieee1275/multiboot2.c [__i386__]: Include
11112 grub/cpu/multiboot.h.
11113
11114 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11115 casts to short - they are not portable and cause warnings. Fix
11116 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11117
11118 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 Drivemap fixes
11121
11122 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11123 new function
11124 (grub_get_root_biosnumber_saved): new variable
11125 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11126 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
11127 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
11128 %dx after the call if necessary
11129 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11130 (boot_mod_SOURCES): remove
11131 (boot_mod_CFLAGS): remove
11132 (boot_mod_LDFLAGS): remove
11133 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11134 (boot_mod_SOURCES): new variable
11135 (boot_mod_CFLAGS): likewise
11136 (boot_mod_LDFLAGS): likewise
11137 * conf/i386-efi.rmk: likewise
11138 * conf/i386-ieee1275.rmk: likewise
11139 * conf/i386-pc.rmk: likewise
11140 * conf/powerpc-ieee1275.rmk: likewise
11141 * conf/sparc64-ieee1275.rmk: likewise
11142 * conf/x86_64-efi.rmk: likewise
11143 * include/grub/i386/pc/biosnum.h: new file
11144 * lib/i386/pc/biosnum.c: likewise
11145 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11146 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11147 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
11148
11149 2009-06-10 Pavel Roskin <proski@gnu.org>
11150
11151 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11152 Use separate variables. Read only the file size at the end, but
11153 not the checksum that we don't use.
11154
11155 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11156 Adjust all callers.
11157
11158 * kern/ieee1275/openfw.c: Remove libc includes.
11159 * kern/ieee1275/cmain.c: Likewise.
11160 * include/grub/ieee1275/ieee1275.h: Likewise.
11161
11162 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11163 compiler warnings.
11164
11165 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11166
11167 * Makefile.in: Remove all trailing whitespace.
11168 * conf/i386-pc.rmk: Likewise.
11169 * conf/powerpc-ieee1275.rmk: Likewise.
11170 * conf/sparc64-ieee1275.rmk: Likewise.
11171 * docs/grub.texi: Likewise.
11172 * docs/texinfo.tex: Likewise.
11173 * disk/fs_uuid.c: Likewise.
11174 * disk/lvm.c: Likewise.
11175 * disk/scsi.c: Likewise.
11176 * disk/ata.c: Likewise.
11177 * disk/ieee1275/ofdisk.c: Likewise.
11178 * disk/i386/pc/biosdisk.c: Likewise.
11179 * disk/host.c: Likewise.
11180 * disk/raid.c: Likewise.
11181 * disk/efi/efidisk.c: Likewise.
11182 * disk/usbms.c: Likewise.
11183 * disk/memdisk.c: Likewise.
11184 * disk/loopback.c: Likewise.
11185 * kern/powerpc/dl.c: Likewise.
11186 * kern/device.c: Likewise.
11187 * kern/dl.c: Likewise.
11188 * kern/sparc64/dl.c: Likewise.
11189 * kern/ieee1275/ieee1275.c: Likewise.
11190 * kern/term.c: Likewise.
11191 * kern/fs.c: Likewise.
11192 * kern/i386/dl.c: Likewise.
11193 * kern/i386/pc/startup.S: Likewise.
11194 * kern/i386/pc/init.c: Likewise.
11195 * kern/i386/pc/mmap.c: Likewise.
11196 * kern/i386/pc/lzo1x.S: Likewise.
11197 * kern/i386/ieee1275/init.c: Likewise.
11198 * kern/i386/realmode.S: Likewise.
11199 * kern/i386/tsc.c: Likewise.
11200 * kern/partition.c: Likewise.
11201 * kern/corecmd.c: Likewise.
11202 * kern/file.c: Likewise.
11203 * kern/efi/efi.c: Likewise.
11204 * kern/efi/init.c: Likewise.
11205 * kern/efi/mm.c: Likewise.
11206 * kern/main.c: Likewise.
11207 * kern/err.c: Likewise.
11208 * kern/env.c: Likewise.
11209 * kern/disk.c: Likewise.
11210 * kern/generic/millisleep.c: Likewise.
11211 * kern/generic/rtc_get_time_ms.c: Likewise.
11212 * kern/misc.c: Likewise.
11213 * kern/parser.c: Likewise.
11214 * genmk.rb: Likewise.
11215 * configure.ac: Likewise.
11216 * boot/i386/pc/diskboot.S: Likewise.
11217 * boot/i386/pc/pxeboot.S: Likewise.
11218 * boot/i386/pc/boot.S: Likewise.
11219 * boot/i386/pc/lnxboot.S: Likewise.
11220 * boot/i386/pc/cdboot.S: Likewise.
11221 * parttool/pcpart.c: Likewise.
11222 * video/readers/tga.c: Likewise.
11223 * video/video.c: Likewise.
11224 * video/bitmap.c: Likewise.
11225 * lib/envblk.c: Likewise.
11226 * lib/i386/setjmp.S: Likewise.
11227 * fs/xfs.c: Likewise.
11228 * fs/afs.c: Likewise.
11229 * fs/fat.c: Likewise.
11230 * fs/ntfs.c: Likewise.
11231 * fs/udf.c: Likewise.
11232 * fs/affs.c: Likewise.
11233 * fs/iso9660.c: Likewise.
11234 * fs/hfs.c: Likewise.
11235 * fs/fshelp.c: Likewise.
11236 * fs/ext2.c: Likewise.
11237 * fs/jfs.c: Likewise.
11238 * fs/reiserfs.c: Likewise.
11239 * fs/hfsplus.c: Likewise.
11240 * fs/minix.c: Likewise.
11241 * fs/cpio.c: Likewise.
11242 * fs/sfs.c: Likewise.
11243 * fs/ufs.c: Likewise.
11244 * efiemu/prepare.c: Likewise.
11245 * efiemu/loadcore_common.c: Likewise.
11246 * efiemu/runtime/efiemu.sh: Likewise.
11247 * efiemu/runtime/efiemu.S: Likewise.
11248 * efiemu/runtime/efiemu.c: Likewise.
11249 * efiemu/pnvram.c: Likewise.
11250 * efiemu/main.c: Likewise.
11251 * efiemu/i386/pc/cfgtables.c: Likewise.
11252 * efiemu/i386/loadcore64.c: Likewise.
11253 * efiemu/i386/loadcore32.c: Likewise.
11254 * efiemu/loadcore.c: Likewise.
11255 * efiemu/symbols.c: Likewise.
11256 * efiemu/mm.c: Likewise.
11257 * include/grub/autoefi.h: Likewise.
11258 * include/grub/datetime.h: Likewise.
11259 * include/grub/term.h: Likewise.
11260 * include/grub/hfs.h: Likewise.
11261 * include/grub/lvm.h: Likewise.
11262 * include/grub/i386/tsc.h: Likewise.
11263 * include/grub/i386/linux.h: Likewise.
11264 * include/grub/i386/xnu.h: Likewise.
11265 * include/grub/i386/efiemu.h: Likewise.
11266 * include/grub/i386/pc/biosdisk.h: Likewise.
11267 * include/grub/i386/pc/memory.h: Likewise.
11268 * include/grub/i386/pc/vbe.h: Likewise.
11269 * include/grub/parttool.h: Likewise.
11270 * include/grub/video.h: Likewise.
11271 * include/grub/memory.h: Likewise.
11272 * include/grub/fs.h: Likewise.
11273 * include/grub/partition.h: Likewise.
11274 * include/grub/xnu.h: Likewise.
11275 * include/grub/efi/api.h: Likewise.
11276 * include/grub/efi/pe32.h: Likewise.
11277 * include/grub/efi/memory.h: Likewise.
11278 * include/grub/multiboot.h: Likewise.
11279 * include/grub/usbdesc.h: Likewise.
11280 * include/grub/multiboot2.h: Likewise.
11281 * include/grub/acpi.h: Likewise.
11282 * include/grub/efiemu/efiemu.h: Likewise.
11283 * include/grub/disk.h: Likewise.
11284 * include/grub/ieee1275/ieee1275.h: Likewise.
11285 * include/grub/net.h: Likewise.
11286 * include/grub/machoload.h: Likewise.
11287 * include/grub/macho.h: Likewise.
11288 * include/multiboot.h: Likewise.
11289 * genmoddep.awk: Likewise.
11290 * normal/main.c: Likewise.
11291 * normal/menu_entry.c: Likewise.
11292 * normal/menu_viewer.c: Likewise.
11293 * normal/completion.c: Likewise.
11294 * normal/cmdline.c: Likewise.
11295 * normal/misc.c: Likewise.
11296 * normal/datetime.c: Likewise.
11297 * bus/usb/usbtrans.c: Likewise.
11298 * bus/usb/ohci.c: Likewise.
11299 * bus/usb/uhci.c: Likewise.
11300 * bus/usb/usb.c: Likewise.
11301 * mmap/efi/mmap.c: Likewise.
11302 * mmap/i386/pc/mmap_helper.S: Likewise.
11303 * mmap/i386/pc/mmap.c: Likewise.
11304 * mmap/i386/mmap.c: Likewise.
11305 * mmap/i386/uppermem.c: Likewise.
11306 * mmap/mmap.c: Likewise.
11307 * commands/acpi.c: Likewise.
11308 * commands/echo.c: Likewise.
11309 * commands/blocklist.c: Likewise.
11310 * commands/loadenv.c: Likewise.
11311 * commands/usbtest.c: Likewise.
11312 * commands/boot.c: Likewise.
11313 * commands/parttool.c: Likewise.
11314 * commands/search.c: Likewise.
11315 * commands/cat.c: Likewise.
11316 * commands/i386/pc/play.c: Likewise.
11317 * commands/i386/pc/drivemap.c: Likewise.
11318 * commands/i386/pc/vbeinfo.c: Likewise.
11319 * commands/i386/pc/acpi.c: Likewise.
11320 * commands/i386/pc/vbetest.c: Likewise.
11321 * commands/ls.c: Likewise.
11322 * commands/cmp.c: Likewise.
11323 * commands/test.c: Likewise.
11324 * commands/efi/acpi.c: Likewise.
11325 * commands/gptsync.c: Likewise.
11326 * commands/help.c: Likewise.
11327 * partmap/amiga.c: Likewise.
11328 * partmap/apple.c: Likewise.
11329 * partmap/acorn.c: Likewise.
11330 * partmap/pc.c: Likewise.
11331 * partmap/sun.c: Likewise.
11332 * partmap/gpt.c: Likewise.
11333 * script/sh/lexer.c: Likewise.
11334 * script/sh/function.c: Likewise.
11335 * font/font.c: Likewise.
11336 * font/font_cmd.c: Likewise.
11337 * loader/powerpc/ieee1275/linux.c: Likewise.
11338 * loader/efi/chainloader.c: Likewise.
11339 * loader/multiboot_loader.c: Likewise.
11340 * loader/macho.c: Likewise.
11341 * loader/i386/multiboot.c: Likewise.
11342 * loader/i386/linux.c: Likewise.
11343 * loader/i386/pc/linux.c: Likewise.
11344 * loader/i386/pc/multiboot2.c: Likewise.
11345 * loader/i386/pc/chainloader.c: Likewise.
11346 * loader/i386/pc/xnu.c: Likewise.
11347 * loader/i386/bsd_trampoline.S: Likewise.
11348 * loader/i386/efi/linux.c: Likewise.
11349 * loader/i386/multiboot_elfxx.c: Likewise.
11350 * loader/i386/bsd_helper.S: Likewise.
11351 * loader/i386/bsd.c: Likewise.
11352 * loader/i386/linux_trampoline.S: Likewise.
11353 * loader/i386/xnu_helper.S: Likewise.
11354 * loader/i386/xnu.c: Likewise.
11355 * loader/i386/bsd_pagetable.c: Likewise.
11356 * loader/i386/multiboot_helper.S: Likewise.
11357 * loader/xnu.c: Likewise.
11358 * loader/xnu_resume.c: Likewise.
11359 * io/gzio.c: Likewise.
11360 * term/efi/console.c: Likewise.
11361 * term/terminfo.c: Likewise.
11362 * term/ieee1275/ofconsole.c: Likewise.
11363 * term/i386/pc/serial.c: Likewise.
11364 * term/i386/pc/vesafb.c: Likewise.
11365 * term/i386/pc/vga.c: Likewise.
11366 * term/usb_keyboard.c: Likewise.
11367 * term/gfxterm.c: Likewise.
11368 * aclocal.m4: Likewise.
11369 * util/lvm.c: Likewise.
11370 * util/grub.d/30_os-prober.in: Likewise.
11371 * util/grub.d/10_hurd.in: Likewise.
11372 * util/console.c: Likewise.
11373 * util/grub-macho2img.c: Likewise.
11374 * util/grub-probe.c: Likewise.
11375 * util/hostfs.c: Likewise.
11376 * util/i386/pc/grub-mkimage.c: Likewise.
11377 * util/i386/pc/grub-setup.c: Likewise.
11378 * util/i386/efi/grub-mkimage.c: Likewise.
11379 * util/grub-mkconfig.in: Likewise.
11380 * util/raid.c: Likewise.
11381 * util/resolve.c: Likewise.
11382 * util/grub-mkdevicemap.c: Likewise.
11383 * util/grub-emu.c: Likewise.
11384 * util/getroot.c: Likewise.
11385 * util/hostdisk.c: Likewise.
11386 * util/usb.c: Likewise.
11387 * util/grub-editenv.c: Likewise.
11388 * util/misc.c: Likewise.
11389
11390 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11391
11392 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11393 `genparttoollist.sh'.
11394 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11395 Add `*.sh' to the list find searches for and change `mdate.sh'
11396 to `mdate-sh'.
11397
11398 2009-06-10 Pavel Roskin <proski@gnu.org>
11399
11400 * include/grub/multiboot2.h: Provide compatibility defines for
11401 multiboot2.h.
11402 * include/multiboot2.h: Include stdint.h only if needed, using
11403 angle brackets.
11404 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11405 grub/multiboot2.h.
11406 * loader/ieee1275/multiboot2.c: Likewise.
11407 * loader/multiboot2.c: Likewise.
11408 * loader/multiboot_loader.c: Likewise.
11409
11410 * configure.ac: Use -nostdlib when probing for the target. It
11411 should not be required to have libc for the target.
11412
11413 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11414 they fail without libc headers for the target.
11415 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11416 exports.
11417 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11418 preprocessor conditionals.
11419
11420 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11421 build system doesn't need to be aware of the tar.c internals.
11422
11423 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
11424
11425 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
11426
11427 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11428
11429 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11430 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11431
11432 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
11433
11434 * util/i386/pc/grub-install.in: Change the error message if UUIDs
11435 aren't available if ata.mod gets used.
11436
11437 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
11438
11439 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
11440 initialising controller.
11441 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11442
11443 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11444
11445 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11446 to choose between ata and biosdisk module on i386-pc.
11447
11448 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
11449
11450 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11451 Subclass and Programming Interface fields in terms of the 3 byte
11452 Class Code register.
11453 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11454
11455 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11456 interface is OHCI. Add grub_dprintf for symmetry with
11457 bus/usb/uhci.c.
11458 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11459 interface is UHCI. Add interf variable for programming
11460 interface. Print interface with class/subclass.
11461
11462 * bus/usb/ohci.c: Set interf with correct field.
11463
11464 * bus/usb/uhci.c: Remove unneeded doubled lines.
11465 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11466 Remove whitespace inside comment.
11467
11468 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11469
11470 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11471 as fallback an equivalent option without depth.
11472
11473 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 Not fail if unable to retrieve C/H/S on LBA disks
11476
11477 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
11478 if unable to retrieve C/H/S on LBA disks
11479
11480 2009-06-08 Pavel Roskin <proski@gnu.org>
11481
11482 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11483 about aliasing.
11484
11485 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11486
11487 * Makefile.in (uninstall): Remove all $lib_DATA files.
11488
11489 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 Bugfix: install on partitionless device
11492
11493 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11494 is a whole disk
11495
11496 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11497
11498 * Makefile.in (uninstall): Remove all $include_DATA files.
11499
11500 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11501
11502 * commands/true.c: New file. Implement the true and false commands.
11503 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11504 (true_mod_SOURCES): New variable.
11505 (true_mod_CFLAGS): Likewise.
11506 (true_mod_LDFLAGS): Likewise.
11507
11508 2009-06-05 Colin D Bennett <colin@gibibit.com>
11509
11510 Optimized font character lookup using binary search instead of linear
11511 search. Fonts now are required to have the character index ordered by
11512 code point.
11513
11514 * font/font.c (load_font_index): Verify that fonts have ordered
11515 character indices.
11516 (find_glyph): Use binary search instead of linear search to find a
11517 character in a font.
11518
11519 2009-06-05 Michael Scherer <misc@mandriva.org>
11520
11521 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11522 uses case sensitive btree.
11523 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11524 only for case insensitive filesystems.
11525
11526 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11529 * conf/common.rmk (search_mod_CFLAGS): likewise
11530
11531 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
11534 compensate a compiler bug
11535
11536 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
11539 instead of '\b'
11540
11541 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 Definitions for creating asm symbols with Apple's CC
11544
11545 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11546 [APPLE_CC] (VARIABLE): likewise
11547
11548 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 Disable lnxboot.img when compiled
11551 with Apple's CC
11552
11553 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11554 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11555 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11556 [! APPLE_CC] (CODE_LENG): skip
11557 [! APPLE_CC] (setup_sects): likewise
11558 [! APPLE_CC]: skip filling
11559
11560 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 Address in trampolines based on 32-bit registers when compiled
11563 with Apple's CC
11564
11565 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
11566 for addresses
11567 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11568
11569 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11572
11573 * kern/misc.c [APPLE_CC] (memcpy): new function
11574 [APPLE_CC] (memmove): likewise
11575 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
11576 (memcpy): define alias conditionally on !APPLE_CC
11577 (memset): likewise
11578 (abort): likewise
11579 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11580 APPLE_CC are defined
11581 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11582 (grub_assert_fail): make prototype conditional
11583
11584 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11587
11588 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11589 grub-macho2img
11590 (CLEANFILES): add grub-macho2img
11591 (grub_macho2img_SOURCES): new variable
11592 * kern/i386/pc/startup.S (bss_start): new variable
11593 (bss_end): likewise
11594 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11595 * util/grub-macho2img.c: new file
11596
11597 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 Use objconv when compiling with Apple's CC
11600
11601 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11602 (efiemu64.o): likewise
11603 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11604 when compiling with Apple's CC
11605 (efiemu64_s.o): likewise
11606 * configure.ac: check for objconv when compiling with Apple's CC
11607 * genmk.rb: use objconv for modules when compiled with Apple's CC
11608
11609 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 Define segment as well as section when compiling with
11612 Apple's CC
11613
11614 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11615 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11616 (efiemu_convert_pointer): likewise
11617 (efiemu_set_virtual_address_map): likewise
11618 (efiemu_convert_pointer): likewise
11619 (efiemu_getcrc32): likewise
11620 (init_crc32_table): likewise
11621 (reflect): likewise
11622 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11623 (GRUB_MOD_DEP): likewise
11624
11625 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 Allow a compilation without -mcmodel=large
11628
11629 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11630 when compiled without -mcmodel=large
11631 (filter_memory_map): remove memory post 4 GiB when compiled
11632 without -mcmodel=large
11633 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
11634 TARGET_CFLAGS when -mcmodel=large isn't supported
11635
11636 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 Remove nested functions in efiemu core
11639
11640 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
11641
11642 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11645
11646 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11647 temporary storage
11648 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11649 using Apple's CC
11650 (grub_cpu_is_tsc_supported): likewise
11651 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
11652
11653 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 Absolute addressing through constant with Apple's cc
11656
11657 * kern/i386/pc/startup.S: Define necessary constants
11658 and address through it when using ABS with Apple's CC
11659 * boot/i386/pc/diskboot.S: likewise
11660 * boot/i386/pc/boot.S: likewise
11661 * boot/i386/pc/lnxboot.S: likewise
11662 * boot/i386/pc/cdboot.S: likewise
11663 * mmap/i386/pc/mmap_helper.S: likewise
11664 * commands/i386/pc/drivemap_int13h.S: likewise
11665
11666 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 Check if compiler is apple cc
11669
11670 * Makefile.in (ASFLAGS): new variable
11671 (TARGET_ASFLAGS): likewise
11672 (TARGET_MODULE_FORMAT): likewise
11673 (TARGET_APPLE_CC): likewise
11674 (OBJCONV): likewise
11675 (TARGET_IMG_CFLAGS): likewise
11676 (TARGET_CPPFLAGS): add includedir
11677 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11678 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11679 Check for linker script only if compiler isn't Apple's CC
11680 (TARGET_MODULE_FORMAT): set
11681 (TARGET_APPLE_CC): likewise
11682 (TARGET_ASFLAGS): likewise
11683 (ASFLAGS): likewise
11684 Check for objcopy only if compiler isn't Apple's CC
11685 Check for BSS symbol only if compiler isn't Apple's CC
11686 * genmk.rb: adapt nm options if we use Apple's utils
11687 * aclocal.m4 (grub_apple_cc): new test
11688 (grub_apple_target_cc): likewise
11689
11690 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 Simplify sed expressions and improve awk
11693
11694 * Makefile.in (install-local): simplify sed expression
11695 * gencmdlist.sh: likewise
11696 * genmoddep.awk: avoid adding module as a dependency of itself
11697
11698 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 Add missing start symbols
11701
11702 * boot/i386/pc/boot.S: add start
11703 * boot/i386/pc/pxeboot.S: likewise
11704
11705 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 Fix wrong assumptions with grub-mkimage on EFI
11708
11709 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
11710 (relocate_addresses): consider both r_addend and value at offset
11711 (make_mods_section): zerofill modinfo and header
11712 (convert_elf): write prefix here
11713
11714 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 Use .asciz instead of .string
11717
11718 * i386/pc/diskboot.S: use .asciz instead of .string
11719 * i386/pc/boot.S: likewise
11720 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11721 (GRUB_MOD_NAME): likewise
11722
11723 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 gfxpayload support
11726
11727 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11728 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11729 (grub_video_setup): remove
11730 (grub_video_set_mode): new prototype
11731 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11732 (vid_mode): remove
11733 (linux_vesafb_res): compile only on PCBIOS
11734 (grub_linux_boot): support gfxpayload
11735 * loader/i386/pc/xnu.c (video_hook): new function
11736 (grub_xnu_set_video): support gfxpayload
11737 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11738 (DEFAULT_VIDEO_HEIGHT): likewise
11739 (DEFAULT_VIDEO_FLAGS): likewise
11740 (DEFAULT_VIDEO_MODE): new definition
11741 (video_hook): new function
11742 (grub_gfxterm_init): use grub_video_set_mode
11743 * util/grub.d/30_os-prober.in: remove explicit modesetting before
11744 loading xnu
11745 * video/video.c (grub_video_setup): removed
11746 (grub_video_set_mode): new function based on grub_gfxterm_init and
11747 grub_video_setup
11748
11749 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 Avoid calling biosdisk in drivemap
11752
11753 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11754 (revparse_biosdisk): likewise
11755 (list_mappings): derive name from id directly
11756 (grub_cmd_drivemap): use tryparse_diskstring
11757
11758 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 Script fixes
11761
11762 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11763 (grub_lexer_param): add tokenonhold
11764 (grub_script_create_cmdline): remove cmdline. All callers updated
11765 (grub_script_function_create): make functionname
11766 grub_script_arg. All callers updated
11767 (grub_script_execute_argument_to_string): new prototype
11768 * kern/parser.c (state_transitions): reorder
11769 (grub_parser_cmdline_state): fix a bug and make more compact
11770 * script/sh/execute.c (grub_script_execute_argument_to_string):
11771 make global
11772 (grub_script_execute_cmdline): use new format
11773 * script/sh/function.c (grub_script_function_create): make functionname
11774 grub_script_arg. All callers updated
11775 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
11776 (grub_script_yylex): remove
11777 (grub_script_yylex2): renamed to ...
11778 (grub_script_yylex): ...renamed
11779 parse the expressions like a${b}c
11780 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11781 (GRUB_PARSER_TOKEN_VAR): remove
11782 (GRUB_PARSER_TOKEN_NAME): likewise
11783 ("if"): declare as typeless
11784 ("while"): likewise
11785 ("function"): likewise
11786 ("else"): likewise
11787 ("then"): likewise
11788 ("fi"): likewise
11789 (text): remove
11790 (argument): likewise
11791 (script): accept empty scripts and make exit on error
11792 (arguments): use GRUB_PARSER_TOKEN_ARG
11793 (function): likewise
11794 (command): move error handling to script
11795 (menuentry): move grub_script_lexer_ref before
11796 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
11797 argument. All callers updated
11798
11799 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11800
11801 Prevent GRUB from probing floppies during boot.
11802
11803 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11804 * commands/search.c (options): Add --no-floppy.
11805 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11806 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11807 --no-floppy when searching for UUIDs.
11808
11809 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11810
11811 Simplify the code duplication in commands/search.c.
11812
11813 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11814 (search_fs): ... this. Update all users.
11815
11816 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
11817
11818 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11819
11820 2009-05-28 Pavel Roskin <proski@gnu.org>
11821
11822 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11823 Remove the original symlink explicitly.
11824
11825 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11826 just one slash. That's how grub_fshelp_find_file() does it.
11827
11828 2009-05-26 Pavel Roskin <proski@gnu.org>
11829
11830 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11831 to `str'.
11832
11833 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11834 possibly unused.
11835
11836 2009-05-25 Christian Franke <franke@computer.org>
11837
11838 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11839 register.
11840 (grub_atapi_identify): Add wait after drive select.
11841 (grub_ata_identify): Do more strict status register check before
11842 calling grub_atapi_identify (). Suppress error message if status
11843 register is 0x00 after command failure. Add status register
11844 check after PIO read to avoid bogus identify due to stuck DRQ.
11845 Thanks to Pavel Roskin for testing.
11846 (grub_device_initialize): Remove unsafe status register check.
11847 Thanks to 'phcoder' for problem report and patch.
11848 Prevent sign extension in debug message.
11849
11850 2009-05-23 Colin D Bennett <colin@gibibit.com>
11851
11852 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11853 definition file, and functions defined in `normal/menu.c' have had
11854 their prototypes moved to `include/grub/menu.h' for consistency.
11855
11856 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11857 from normal.h.
11858 (grub_menu_get_entry): Likewise.
11859 (grub_menu_get_timeout): Likewise.
11860 (grub_menu_set_timeout): Likewise.
11861 (grub_menu_execute_entry): Likewise.
11862 (grub_menu_execute_with_fallback): Likewise.
11863 (grub_menu_entry_run): Likewise.
11864
11865 * include/grub/normal.h: Re-ordered and grouped function
11866 prototypes by file that the function is defined in.
11867 (grub_menu_execute_callback): Removed; moved to menu.h.
11868 (grub_menu_get_entry): Likewise.
11869 (grub_menu_get_timeout): Likewise.
11870 (grub_menu_set_timeout): Likewise.
11871 (grub_menu_execute_entry): Likewise.
11872 (grub_menu_execute_with_fallback): Likewise.
11873 (grub_menu_entry_run): Likewise.
11874 (grub_menu_addentry): Renamed from this ...
11875 (grub_normal_add_menu_entry): ... to this.
11876
11877 * normal/main.c (grub_menu_addentry): Renamed from this ...
11878 (grub_normal_add_menu_entry): ... to this.
11879
11880 * script/sh/execute.c (grub_script_execute_menuentry): Update
11881 reference to renamed grub_menu_addentry function.
11882
11883 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
11884
11885 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11886
11887 2009-05-22 Pavel Roskin <proski@gnu.org>
11888
11889 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11890 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11891 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11892 compiling for the i386 targets, but not for the utilities.
11893
11894 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11895 to grub_uint8_t.
11896 (grub_root_drive): Likewise.
11897 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11898 remove alignment.
11899 (grub_root_drive): Change size to byte.
11900 (grub_start_addr): Remove.
11901 (grub_end_addr): Likewise.
11902 (grub_apm_bios_info): Likewise.
11903
11904 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
11905
11906 * normal/i386: Remove.
11907 * normal/powerpc: Likewise.
11908 * normal/sparc64: Likewise.
11909 * normal/x86_64: Likewise.
11910
11911 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
11914 * loader/i386/linux_trampoline.S: Fix indentation
11915 * loader/i386/xnu_helper.S: Likewise
11916
11917 2009-05-18 Colin D Bennett <colin@gibibit.com>
11918
11919 Display error messages when parsing a Lua statement fails.
11920 Previously, executing a syntactically invalid statement like
11921 ")foo" or "bar;" would silently fail.
11922
11923 * script/lua/grub_main.c (handle_lua_error): New function.
11924 (grub_lua_parse_line): Improved reporting of Lua parser and
11925 execution errors.
11926
11927 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 Remove -Werror which causes build to fail on some systems
11930
11931 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11932 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11933 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
11934
11935 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 trampoline for linux on 64-bit platform
11938
11939 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11940 loader/i386/efi/linux_trampoline.S
11941 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
11942 declaration
11943 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11944 here
11945 * loader/i386/linux_trampoline.S: moved here
11946 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11947 trampoline
11948 (jumpvector): removed
11949 (grub_linux_trampoline_start): new declaration
11950 (grub_linux_trampoline_end): likewise
11951 (grub_linux_boot): use trampoline when on 64-bit platform
11952 * loader/i386/linux.c: likewise
11953
11954 2009-05-16 Pavel Roskin <proski@gnu.org>
11955
11956 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11957 const to avoid a warning.
11958 (grub_lua_setenv): Likewise.
11959 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11960 lmsg to fix a warning.
11961
11962 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
11963
11964 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
11965 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11966 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11967 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11968 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11969 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11970 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11971 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11972
11973 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
11974
11975 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11976
11977 2009-05-16 Bean <bean123ch@gmail.com>
11978
11979 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11980 (lua_mod_SOURCES): New variable.
11981 (lua_mod_CFLAGS): Likewise.
11982 (lua_mod_LDFLAGS): Likewise.
11983
11984 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11985 (setjmp_mod_SOURCES): New variable.
11986 (setjmp_mod_CFLAGS): Likewise.
11987 (setjmp_LDFLAGS): Likewise.
11988
11989 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11990 (setjmp_mod_SOURCES): New variable.
11991 (setjmp_mod_CFLAGS): Likewise.
11992 (setjmp_LDFLAGS): Likewise.
11993
11994 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11995 (setjmp_mod_SOURCES): New variable.
11996 (setjmp_mod_CFLAGS): Likewise.
11997 (setjmp_LDFLAGS): Likewise.
11998
11999 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12000 (setjmp_mod_SOURCES): New variable.
12001 (setjmp_mod_CFLAGS): Likewise.
12002 (setjmp_LDFLAGS): Likewise.
12003
12004 * normal/i386/setjmp.S: Moved from here ...
12005 * lib/i386/setjmp.S: ... Moved here
12006 * normal/x86_64/setjmp.S: Moved from here ...
12007 * lib/x86_64/setjmp.S: ... Moved here
12008 * normal/powerpc/setjmp.S: Moved from here ...
12009 * lib/powerpc/setjmp.S: ... Moved here
12010 * normal/sparc64/setjmp.S: Moved from here ...
12011 * lib/sparc64/setjmp.S: ... Moved here
12012
12013 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12014 returns_twice in mingw.
12015
12016 * script/lua/grub_lib.c: New file.
12017 * script/lua/grub_lib.h: Likewise.
12018 * script/lua/grub_lua.h: Likewise.
12019 * script/lua/grub_main.c: Likewise.
12020 * script/lua/lapi.c: Likewise.
12021 * script/lua/lapi.h: Likewise.
12022 * script/lua/lauxlib.c: Likewise.
12023 * script/lua/lauxlib.h: Likewise.
12024 * script/lua/lbaselib.c: Likewise.
12025 * script/lua/lcode.c: Likewise.
12026 * script/lua/lcode.h: Likewise.
12027 * script/lua/ldblib.c: Likewise.
12028 * script/lua/ldebug.c: Likewise.
12029 * script/lua/ldebug.h: Likewise.
12030 * script/lua/ldo.c: Likewise.
12031 * script/lua/ldo.h: Likewise.
12032 * script/lua/ldump.c: Likewise.
12033 * script/lua/lfunc.c: Likewise.
12034 * script/lua/lfunc.h: Likewise.
12035 * script/lua/lgc.c: Likewise.
12036 * script/lua/lgc.h: Likewise.
12037 * script/lua/linit.c: Likewise.
12038 * script/lua/liolib.c: Likewise.
12039 * script/lua/llex.c: Likewise.
12040 * script/lua/llex.h: Likewise.
12041 * script/lua/llimits.h: Likewise.
12042 * script/lua/lmathlib.c: Likewise.
12043 * script/lua/lmem.c: Likewise.
12044 * script/lua/lmem.h: Likewise.
12045 * script/lua/loadlib.c: Likewise.
12046 * script/lua/lobject.c: Likewise.
12047 * script/lua/lobject.h: Likewise.
12048 * script/lua/lopcodes.c: Likewise.
12049 * script/lua/lopcodes.h: Likewise.
12050 * script/lua/loslib.c: Likewise.
12051 * script/lua/lparser.c: Likewise.
12052 * script/lua/lparser.h: Likewise.
12053 * script/lua/lstate.c: Likewise.
12054 * script/lua/lstate.h: Likewise.
12055 * script/lua/lstring.c: Likewise.
12056 * script/lua/lstring.h: Likewise.
12057 * script/lua/lstrlib.c: Likewise.
12058 * script/lua/ltable.c: Likewise.
12059 * script/lua/ltable.h: Likewise.
12060 * script/lua/ltablib.c: Likewise.
12061 * script/lua/ltm.c: Likewise.
12062 * script/lua/ltm.h: Likewise.
12063 * script/lua/lua.h: Likewise.
12064 * script/lua/luaconf.h: Likewise.
12065 * script/lua/lualib.h: Likewise.
12066 * script/lua/lundump.c: Likewise.
12067 * script/lua/lundump.h: Likewise.
12068 * script/lua/lvm.c: Likewise.
12069 * script/lua/lvm.h: Likewise.
12070 * script/lua/lzio.c: Likewise.
12071 * script/lua/lzio.h: Likewise.
12072
12073 2009-05-16 Bean <bean123ch@gmail.com>
12074
12075 * include/grub/kernel.h (grub_module_header_types): Add type
12076 OBJ_TYPE_CONFIG.
12077
12078 * kern/main.c (grub_load_config): New function.
12079 (grub_main): Call grub_load_config to read boot config.
12080
12081 * grub-mkimage (generate_image): New parameter config_path.
12082 (options): New option --config.
12083 (main): Parse --config option, and pass it to generate_image.
12084
12085 2009-05-14 Christian Franke <franke@computer.org>
12086
12087 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12088 This fixes build on Cygwin.
12089
12090 2009-05-14 Pavel Roskin <proski@gnu.org>
12091
12092 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12093 jump. This saves two bytes, so the typical case of 2 swapped
12094 drives would fit 32 bytes.
12095
12096 2009-05-13 Pavel Roskin <proski@gnu.org>
12097
12098 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12099 grub_uint32_t to avoid a warning.
12100
12101 * loader/i386/linux.c (allocate_pages): When assigning
12102 real_mode_mem, cast through grub_size_t to fix a warning. The
12103 code already makes sure that the value would fit a pointer.
12104 (grub_linux_setup_video): Cast render_target->data to
12105 grub_size_t to fix a warning.
12106
12107 2009-05-13 Javier Martín <lordhabbit@gmail.com>
12108
12109 * commands/i386/pc/drivemap.c: New file - implement drivemap
12110 command.
12111 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12112 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12113
12114 2009-05-13 Pavel Roskin <proski@gnu.org>
12115
12116 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12117 embedding_area_exists.
12118
12119 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12120
12121 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12122 it easier to understand / work with.
12123 Improve warning messages for cases where there's no embedding area,
12124 or when it is too small (or core.img too large).
12125
12126 2009-05-13 Pavel Roskin <proski@gnu.org>
12127
12128 * loader/i386/pc/multiboot2.c: Add necessary includes for
12129 grub_multiboot2_real_boot().
12130
12131 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12132 PX record is always little-endian. We only need the lower 2
12133 bytes of the mode.
12134
12135 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12136 facilitate code reuse.
12137 (grub_cpio_mount): Use "struct head", not a char buffer. This
12138 fixes a warning reported by gcc 4.4.
12139
12140 * kernel/disk.c (grub_disk_read): Use void pointer for the
12141 buffer.
12142 (grub_disk_write): Use const void pointer for the buffer.
12143 Adjust all callers. Remove unnecessary casts.
12144
12145 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12146
12147 * util/i386/pc/grub-install.in: Update copyright year.
12148
12149 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 gptsync
12152
12153 * commands/gptsync.c: new file
12154 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12155 (gptsync_mod_SOURCES): new variable
12156 (gptsync_mod_CFLAGS): likewise
12157 (gptsync_mod_LDFLAGS): likewise
12158 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
12159 new definition
12160 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12161 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12162 * conf/i386-ieee1275.rmk: likewise
12163 * conf/i386-pc.rmk: likewise
12164 * conf/powerpc-ieee1275.rmk: likewise
12165
12166 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 Fixed grub-emu
12169
12170 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12171 (grub_dl_ref): likewise
12172
12173 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12174
12175 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12176 split in two functions (one for msdos and one for gpt).
12177
12178 2009-05-08 Pavel Roskin <proski@gnu.org>
12179
12180 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12181 not modified.
12182
12183 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12184 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12185 Initialize them with -1. Add sanity check for bad1. Eliminate
12186 nerr variable.
12187
12188 2009-05-08 David S. Miller <davem@davemloft.net>
12189
12190 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12191
12192 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12193
12194 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
12195 existence.
12196
12197 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
12198
12199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
12200 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
12201
12202 2009-05-05 David S. Miller <davem@davemloft.net>
12203
12204 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12205
12206 2009-05-05 Pavel Roskin <proski@gnu.org>
12207
12208 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12209 of grub_dl_ref() and grub_dl_unref().
12210 * commands/parttool.c: Remove preprocessor conditionals around
12211 grub_dl_ref() and grub_dl_unref().
12212 * fs/affs.c: Likewise.
12213 * fs/afs.c: Likewise.
12214 * fs/cpio.c: Likewise.
12215 * fs/ext2.c: Likewise.
12216 * fs/fat.c: Likewise.
12217 * fs/hfs.c: Likewise.
12218 * fs/hfsplus.c: Likewise.
12219 * fs/iso9660.c: Likewise.
12220 * fs/jfs.c: Likewise.
12221 * fs/minix.c: Likewise.
12222 * fs/ntfs.c: Likewise.
12223 * fs/reiserfs.c: Likewise.
12224 * fs/sfs.c: Likewise.
12225 * fs/udf.c: Likewise.
12226 * fs/ufs.c: Likewise.
12227 * fs/xfs.c: Likewise.
12228 * include/grub/dl.h: Likewise.
12229 * loader/xnu.c: Likewise.
12230
12231 2009-05-04 Pavel Roskin <proski@gnu.org>
12232
12233 * commands/acpi.c: Remove unused variable my_mod.
12234 * partmap/amiga.c: Likewise.
12235 * partmap/apple.c: Likewise.
12236 * partmap/gpt.c: Likewise.
12237 * partmap/pc.c: Likewise.
12238 * partmap/sun.c: Likewise.
12239 * term/gfxterm.c: Likewise.
12240 * term/i386/pc/vesafb.c: Likewise.
12241 * term/i386/pc/vga.c: Likewise.
12242
12243 2009-05-04 David S. Miller <davem@davemloft.net>
12244
12245 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12246 pointer args to grub_ieee1275_get_property().
12247
12248 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12249
12250 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12251 devices, and do not traverse down under controller nodes.
12252
12253 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12254 (grub_ofdisk_open): Use it to un-escape "," characters.
12255 * kern/disk.c (find_part_sep): New.
12256 (grub_disk_open): Use it to find the first non-escaped ','
12257 character in the disk name.
12258 * util/ieee1275/devicemap.c (escape_of_path): New.
12259 (grub_util_emit_devicemap_entry): Use it.
12260 * util/sparc64/ieee1275/grub-install.in: Update script to
12261 strip partition specifiers properly by not triggering on
12262 '\' escaped ',' characters.
12263
12264 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12265
12266 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12267 to 0x300.
12268 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12269 resolutions.
12270 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12271 on documentation from Wikipedia).
12272
12273 2009-05-04 Pavel Roskin <proski@gnu.org>
12274
12275 * disk/ata.c: Spelling fixes.
12276 * disk/raid.c: Likewise.
12277 * disk/usbms.c: Likewise.
12278 * disk/dmraid_nvidia.c: Likewise.
12279 * kern/ieee1275/openfw.c: Likewise.
12280 * kern/ieee1275/init.c: Likewise.
12281 * kern/ieee1275/cmain.c: Likewise.
12282 * boot/i386/pc/cdboot.S: Likewise.
12283 * video/readers/png.c: Likewise.
12284 * video/i386/pc/vbe.c: Likewise.
12285 * fs/udf.c: Likewise.
12286 * fs/hfs.c: Likewise.
12287 * fs/reiserfs.c: Likewise.
12288 * efiemu/runtime/efiemu.c: Likewise.
12289 * efiemu/main.c: Likewise.
12290 * efiemu/mm.c: Likewise.
12291 * include/grub/elf.h: Likewise.
12292 * include/grub/xnu.h: Likewise.
12293 * include/grub/usbdesc.h: Likewise.
12294 * include/grub/usb.h: Likewise.
12295 * include/grub/script_sh.h: Likewise.
12296 * include/grub/lib/LzmaEnc.h: Likewise.
12297 * include/grub/efiemu/efiemu.h: Likewise.
12298 * include/grub/command.h: Likewise.
12299 * normal/menu.c: Likewise.
12300 * normal/main.c: Likewise.
12301 * normal/datetime.c: Likewise.
12302 * bus/usb/uhci.c: Likewise.
12303 * mmap/i386/uppermem.c: Likewise.
12304 * mmap/mmap.c: Likewise.
12305 * commands/acpi.c: Likewise.
12306 * commands/test.c: Likewise.
12307 * partmap/apple.c: Likewise.
12308 * font/font.c: Likewise.
12309 * loader/sparc64/ieee1275/linux.c: Likewise.
12310 * loader/macho.c: Likewise.
12311 * loader/i386/bsd_trampoline.S: Likewise.
12312 * loader/i386/bsd.c: Likewise.
12313 * loader/xnu.c: Likewise.
12314 * term/i386/pc/vesafb.c: Likewise.
12315 * term/usb_keyboard.c: Likewise.
12316 * util/resolve.c: Likewise.
12317 * util/getroot.c: Likewise.
12318
12319 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12320
12321 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12322
12323 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12324
12325 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12326 build error.
12327
12328 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12329
12330 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12331 parameter only available on BIOS.
12332
12333 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Removed wrong semicolon in declaration
12336
12337 * grub/misc.h (grub_dprintf): remove semicolon
12338
12339 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12340
12341 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12342 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12343 is done by grub_cmd_linux() now).
12344 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12345 restore video to text mode.
12346 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12347 indicates lack of "vga=" parameter. "vga=0" is mapped to
12348 `GRUB_LINUX_VID_MODE_NORMAL'.
12349
12350 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12351
12352 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12353 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12354 and `normal/script.c'. Add `kern/rescue_reader.c',
12355 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
12356 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12357 `grub_script.tab.c'.
12358
12359 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12360 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12362 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12363 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12364
12365 * Makefile.in: Remove duplicated 2008 in Copyright line.
12366
12367 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12368
12369 * util/misc.c (grub_util_warn): New function. Emits a warning
12370 unconditionally.
12371 * include/grub/util/misc.h (grub_util_warn): New declaration.
12372
12373 * util/i386/pc/grub-install.in: Understand --force and pass it down
12374 to grub-setup.
12375
12376 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12377 down to setup().
12378 (setup): Improve error messages and add warnings when requested to
12379 install in odd layouts. Refuse to install using blocklists unless
12380 --force was set.
12381
12382 2009-05-04 martin f. krafft <madduck@madduck.net>
12383
12384 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12385
12386 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Updated copyright year
12389
12390 * fs/hfsplus.c: updated copyright year
12391
12392 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 HFS+ UUID
12395
12396 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
12397 in the space previously used by unused3
12398 (grub_hfsplus_uuid): new function
12399 (grub_hfsplus_fs): added uuid field
12400
12401 2009-05-03 Pavel Roskin <proski@gnu.org>
12402
12403 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12404 suppress warnings. It's no longer needed.
12405 * disk/host.c: Likewise.
12406 * disk/ata_pthru.c: Likewise.
12407 * disk/loopback.c: Likewise.
12408 * hook/datehook.c: Likewise.
12409 * parttool/pcpart.c: Likewise.
12410 * fs/i386/pc/pxe.c: Likewise.
12411 * fs/ntfscomp.c: Likewise.
12412 * efiemu/main.c: Likewise.
12413 * mmap/mmap.c: Likewise.
12414 * commands/crc.c: Likewise.
12415 * commands/hexdump.c: Likewise.
12416 * commands/hdparm.c: Likewise.
12417 * commands/acpi.c: Likewise.
12418 * commands/echo.c: Likewise.
12419 * commands/minicmd.c: Likewise.
12420 * commands/blocklist.c: Likewise.
12421 * commands/memrw.c: Likewise.
12422 * commands/loadenv.c: Likewise.
12423 * commands/usbtest.c: Likewise.
12424 * commands/lsmmap.c: Likewise.
12425 * commands/boot.c: Likewise.
12426 * commands/parttool.c: Likewise.
12427 * commands/configfile.c: Likewise.
12428 * commands/search.c: Likewise.
12429 * commands/ieee1275/suspend.c: Likewise.
12430 * commands/cat.c: Likewise.
12431 * commands/i386/pc/pxecmd.c: Likewise.
12432 * commands/i386/pc/play.c: Likewise.
12433 * commands/i386/pc/halt.c: Likewise.
12434 * commands/i386/pc/vbeinfo.c: Likewise.
12435 * commands/i386/pc/vbetest.c: Likewise.
12436 * commands/lspci.c: Likewise.
12437 * commands/date.c: Likewise.
12438 * commands/handler.c: Likewise.
12439 * commands/ls.c: Likewise.
12440 * commands/test.c: Likewise.
12441 * commands/cmp.c: Likewise.
12442 * commands/efi/loadbios.c: Likewise.
12443 * commands/efi/fixvideo.c: Likewise.
12444 * commands/halt.c: Likewise.
12445 * commands/help.c: Likewise.
12446 * commands/reboot.c: Likewise.
12447 * hello/hello.c: Likewise.
12448 * script/sh/main.c: Likewise.
12449 * loader/xnu.c: Likewise.
12450 * term/terminfo.c: Likewise.
12451 * term/i386/pc/serial.c: Likewise.
12452 * term/usb_keyboard.c: Likewise.
12453
12454 2009-05-03 David S. Miller <davem@davemloft.net>
12455
12456 * normal/menu.c: Include grub/parser.h
12457
12458 2009-05-03 Pavel Roskin <proski@gnu.org>
12459
12460 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12461 not char*.
12462 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12463 Suggested by Javier Martín <lordhabbit@gmail.com>
12464
12465 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12466 efiemu??.o doesn't exist.
12467 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12468 copying.
12469
12470 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 FreeBSD 64-bit support
12473
12474 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
12475 and loader/i386/bsd_trampoline.S
12476 (bsd_mod_ASFLAGS): new variable
12477 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12478 (FREEBSD_MODTYPE_KERNEL64): likewise
12479 (grub_bsd64_trampoline_start): likewise
12480 (grub_bsd64_trampoline_end): likewise
12481 (grub_bsd64_trampoline_selfjump): likewise
12482 (grub_bsd64_trampoline_gdt): likewise
12483 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12484 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12485 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12486 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
12487 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12488 of "attrib" member
12489 * loader/i386/bsd_pagetable.c: new file
12490 * loader/i386/bsd_trampoline.S: likewise
12491 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12492 (ALIGN_VAR): likewise
12493 (entry_hi): new variable
12494 (kern_end_mdofs): likewise
12495 (is_64bit): likewise
12496 (grub_freebsd_add_meta): use ALIGN_VAR
12497 (grub_e820_mmap): new declaration
12498 (grub_freebsd_add_mmap): new function
12499 (grub_freebsd_add_meta_module): support 64 bit kernels
12500 (grub_freebsd_list_modules): use ALIGN_VAR
12501 (gdt_descriptor): new declaration
12502 (grub_freebsd_boot): support 64 bit kernels
12503 (grub_bsd_elf64_hook): new function
12504 (grub_bsd_load_elf): support elf64
12505
12506 2009-05-03 Bean <bean123ch@gmail.com>
12507
12508 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12509 after we get the result of if statement.
12510
12511 2009-05-03 Bean <bean123ch@gmail.com>
12512
12513 * Makefile.in (enable_efiemu): New variable.
12514
12515 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12516 set.
12517 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12518 path.
12519 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12520 path, add -mno-red-zone option.
12521 (efiemu64_s.o): Likewise.
12522 (efiemu64.o): Use macro $^ for source file.
12523
12524 * configure.ac (--enable-efiemu): New option.
12525
12526 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 xnu support
12529
12530 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12531 (pkglib_MODULES): add xnu.mod
12532 (xnu_mod_SOURCES): new variable
12533 (xnu_mod_CFLAGS): likewise
12534 (xnu_mod_LDFLAGS): likewise
12535 (xnu_mod_ASFLAGS): likewise
12536 * conf/i386-pc.rmk: likewise
12537 * conf/x86_64-efi.rmk: likewise
12538 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
12539 new declaration
12540 * include/grub/i386/macho.h: new file
12541 * include/grub/i386/xnu.h: likewise
12542 * include/grub/macho.h: likewise
12543 * include/grub/machoload.h: likewise
12544 * include/grub/x86_64/macho.h: likewise
12545 * include/grub/x86_64/xnu.h: likewise
12546 * include/grub/xnu.h: likewise
12547 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12548 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12549 * loader/i386/efi/xnu.c: new file
12550 * loader/i386/pc/xnu.c: likewise
12551 * loader/i386/xnu.c: likewise
12552 * loader/i386/xnu_helper.S: likewise
12553 * loader/macho.c: likewise
12554 * loader/xnu.c: likewise
12555 * loader/xnu_resume.c: likewise
12556 * util/grub-dumpdevtree: likewise
12557 * include/grub/i386/pit.h: include grub/err.h
12558 (grub_pit_wait): export
12559 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
12560
12561 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 Efiemu
12564
12565 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
12566 _linux_efi, linux_efi.
12567 new files in grub-emu
12568 new targets efiemu32.o and efiemu64.o
12569 * loader/linux_normal_efiemu.c: likewise
12570 * loader/i386/efi/linux.c: added preliminary efiemu support
12571 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
12572 files to copy
12573 * include/grub/autoefi.h: new file
12574 * include/grub/i386/efiemu.h: likewise
12575 * include/grub/i386/pc/efiemu.h: likewise
12576 * include/grub/efi/api.h: add LL suffix when necessary
12577 new definitions relating to tables
12578 * include/grub/efiemu/efiemu.h: new file
12579 * include/grub/efiemu/runtime.h: likewise
12580 * efiemu/prepare.c: likewise
12581 * efiemu/loadcore_common.c: likewise
12582 * efiemu/loadcore64.c: likewise
12583 * efiemu/runtime/efiemu.sh: likewise
12584 * efiemu/runtime/efiemu.S: likewise
12585 * efiemu/runtime/efiemu.c: likewise
12586 * efiemu/runtime/config.h: likewise
12587 * efiemu/prepare32.c: likewise
12588 * efiemu/main.c: likewise
12589 * efiemu/modules/pnvram.c: likewise
12590 * efiemu/modules/i386: likewise
12591 * efiemu/modules/i386/pc: likewise
12592 * efiemu/modules/acpi.c: likewise
12593 * efiemu/i386/pc/cfgtables.c: likewise
12594 * efiemu/i386/loadcore64.c: likewise
12595 * efiemu/i386/loadcore32.c: likewise
12596 * efiemu/prepare64.c: likewise
12597 * efiemu/loadcore.c: likewise
12598 * efiemu/symbols.c: likewise
12599 * efiemu/mm.c: likewise
12600 * efiemu/loadcore32.c: likewise
12601
12602 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 ACPI spoofing
12605
12606 * commands/acpi.c: new file
12607 * commands/i386/pc/acpi.c: likewise
12608 * commands/efi/acpi.c: likewise
12609 * include/grub/acpi.h: likewise
12610 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12611 (acpi_mod_SOURCES): new variable
12612 (acpi_mod_CFLAGS): likewise
12613 (acpi_mod_LDFLAGS): likewise
12614 * conf/i386-efi.rmk: likewise
12615 * conf/x86_64-efi.rmk: likewise
12616
12617 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 Missing part from mmap patch
12620
12621 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12622 (grub_mmap_unregister)
12623 (grub_mmap_free_and_unregister): use grub_mmap_register
12624
12625 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 Mmap services
12628
12629 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12630 * loader/i386/linux.c (find_mmap_size): likewise
12631 (allocate_pages): likewise
12632 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12633 (grub_fill_multiboot_mmap): likewise
12634 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12635 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12636 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12637 (OPENBSD_MMAP_RESERVED): likewise
12638 * include/grub/i386/pc/memory.h: include grub/memory.h
12639 (grub_lower_mem): removed
12640 (grub_upper_mem): likewise
12641 (GRUB_MACHINE_MEMORY_ACPI): new definition
12642 (GRUB_MACHINE_MEMORY_NVS): likewise
12643 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12644 (GRUB_MACHINE_MEMORY_HOLE): likewise
12645 (grub_machine_mmap_register): likewise
12646 (grub_machine_mmap_unregister): likewise
12647 (grub_machine_get_upper): likewise
12648 (grub_machine_get_lower): likewise
12649 (grub_machine_get_post64): likewise
12650 * include/grub/i386/efi/memory.h: new file
12651 * include/grub/x86_64/efi/memory.h: likewise
12652 * include/grub/efi/memory.h: likewise
12653 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12654 (mmap_mod_SOURCES): new variable
12655 (mmap_mod_LDFLAGS): likewise
12656 (mmap_mod_ASFLAGS): likewise
12657 * conf/i386-coreboot.rmk: likewise
12658 * conf/i386-ieee1275.rmk: likewise
12659 * conf/i386-efi.rmk: likewise
12660 * conf/x86_64-efi.rmk: likewise
12661 * include/grub/types.h (UINT_TO_PTR): new macro
12662 (PTR_TO_UINT32): likewise
12663 (PTR_TO_UINT64): likewise
12664 * include/grub/memory.h: new file
12665 * mmap/i386/pc/mmap.c: likewise
12666 * mmap/i386/pc/mmap_helper.S: likewise
12667 * mmap/i386/uppermem.c: likewise
12668 * mmap/mmap.c: likewise
12669 * mmap/efi/mmap.c: likewise
12670 * kern/i386/coreboot/init.c (grub_machine_init): don't use
12671 grub_upper_mem
12672 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12673 (grub_upper_mem): likewise
12674 (grub_machine_init): don't use grub_upper_mem,
12675 make grub_lower_mem local
12676 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12677 grub_mmap_iterate and grub_mmap_get_upper
12678 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12679
12680 2009-05-02 Bean <bean123ch@gmail.com>
12681
12682 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12683 script/sh/parser.y.
12684 (pkglib_MODULES): Add normal.mod and sh.mod.
12685 (normal_SOURCES): New variable.
12686 (normal_mod_CFLAGS): Likewise.
12687 (normal_mod_LDFLAGS): Likewise.
12688 (sh_mod_SOURCES): Likewise.
12689 (sh_mod_CFLAGS): Likewise.
12690 (sh_mod_LDFLAGS): Likewise.
12691
12692 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12693 script/sh/lexer.c_DEPENDENCIES.
12694 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12695 kern/rescue_reader.c and kern/rescue_parser.c.
12696 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12697 (grub_emu_SOURCES): Change source files.
12698 (pkglib_MODULES): Remove normal.mod.
12699 (normal_SOURCES): Removed.
12700 (normal_mod_CFLAGS): Likewise.
12701 (normal_mod_LDFLAGS): Likewise.
12702 * conf/i386-coreboot.rmk: Likewise.
12703 * conf/i386-efi.rmk: Likewise.
12704 * conf/i386-ieee1276.rmk: Likewise.
12705 * conf/powerpc-ieee1275.rmk: Likewise.
12706 * conf/sparc64-ieee1275.rmk: Likewise.
12707 * conf/x86_64-efi.rmk: Likewise.
12708
12709 * include/grub/command.h (grub_command_execute): New inline function.
12710
12711 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12712
12713 * include/grub/normal.h: Remove <grub/setjmp.h>.
12714 (grub_fs_module_list): Moved to normal/autofs.c.
12715 (grub_exit_env): Removed.
12716 (grub_command_execute): Likewise.
12717 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12718 parameter script.
12719 (read_command_list): New function declaration.
12720 (read_fs_list): Likewise.
12721
12722 * include/parser.h: Include <grub/reader.h>.
12723 (grub_parser_split_cmdline): Change type of getline parameter.
12724 (grub_parser): New structure.
12725 (grub_parser_class): New variable.
12726 (grub_parser_execute): New function declaration.
12727 (grub_register_rescue_parser): Likewise.
12728 (grub_parser_register): New inline function.
12729 (grub_parser_unregister): Likewise.
12730 (grub_parser_get_current): Likewise.
12731 (grub_parser_set_current): Likewise.
12732
12733 * include/grub/reader.h: New file.
12734 * kern/reader.c: Likewise.
12735 * kern/rescue_parser.c: Likewise.
12736 * kern/rescue_reader.c: Likewise.
12737 * normal/autofs.c: Likewise.
12738 * normal/dyncmd.c: Likewise.
12739
12740 * include/grub/rescue.h: Removed.
12741 * normal/command.h: Likewise.
12742
12743 * include/grub/script.h: Moved to ...
12744 * include/grub/script_sh.h: ... Moved here.
12745 * normal/execute.c: Moved to ...
12746 * script/sh/execute.c: ... Moved here.
12747 * normal/function.c: Moved to ...
12748 * script/sh/function.c: ... Moved here.
12749 * normal/lexer.c: Moved to ...
12750 * script/sh/lexer.c: ... Moved here.
12751 * normal/parser.y: Moved to ...
12752 * script/sh/parser.y: ... Moved here.
12753 * normal/script.c: Moved to ...
12754 * script/sh/script.c: ... Moved here.
12755
12756 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12757 <grub/reader.h>.
12758 (grub_exit_env): Removed.
12759 (fs_module_list): Moved to normal/autofs.c.
12760 (grub_file_getline): Don't handle comment here.
12761 (free_menu): Skip removed field entry->commands.
12762 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12763 script parameter.
12764 (read_config_file): Removed nested parameter, change getline function.
12765 (grub_enter_normal_mode): Removed.
12766 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12767 (read_command_list): Likewise.
12768 (autoload_fs_module): Moved to normal/autofs.c.
12769 (read_fs_list): Likewise.
12770 (reader_nested): New variable.
12771 (grub_normal_execute): Run parser.sh to switch to sh parser.
12772 (grub_cmd_rescue): Removed.
12773 (cmd_normal): Removed.
12774 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12775 rescue command.
12776 (grub_cmdline_run): New function.
12777 (grub_normal_reader_init): Likewise.
12778 (grub_normal_read_line): Likewise.
12779 (grub_env_write_pager): Likewise.
12780 (cmdline): New variable.
12781 (grub_normal_reader): Likewise.
12782 (GRUB_MOD_INIT): Register normal reader and set as current, register
12783 pager hook, register normal command with grub_register_command_prio,
12784 so that it won't show up in command.lst.
12785 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12786 grub_fs_autoload_hook.
12787
12788 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12789 (grub_menu_execute_entry): Replace grub_script_execute with
12790 grub_parser_execute, change parameter to grub_command_execute.
12791
12792 * normal/menu_text.c: Remove <grub/script.h>.
12793
12794 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12795 and <grub/parser.h>.
12796 (run): Change editor_getline to use new parser interface. Change
12797 parameter to grub_command_execute.
12798
12799 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12800 <grub/reader.h> and <grub/parser.h>.
12801 (grub_load_normal_mode): Execute normal command.
12802 (grub_main): Call grub_register_core_commands,
12803 grub_register_rescue_parser and grub_register_rescue_reader, use
12804 grub_reader_loop to enter input loop.
12805
12806 * kern/parser.c (grub_parser_split_cmdline): Change type of
12807 getline parameter.
12808 (grub_parser_class): New variable.
12809 (grub_parser_execute): New function.
12810
12811 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12812 * loader/multiboot2.c: Likewise.
12813 * loader/sparc64/ieee1275/linux.c: Likewise.
12814
12815 * util/grub-emu.c (read_command_list): New dummy function.
12816
12817 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12818
12819 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12820 count to 16 for CCISS and IDA.
12821
12822 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12823
12824 * normal/menu_text.c (grub_wait_after_message): Print a newline
12825 after waiting for user input.
12826
12827 * loader/i386/linux.c: Include `<grub/normal.h>'.
12828 (grub_cmd_linux): Improve the error message about `ask' mode, by
12829 waiting for user input so it's not missed (we can do this, since
12830 user requested interaction).
12831
12832 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 Added missing lst to grub-mkrescue
12835
12836 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12837 and ${input_dir}/parttool.lst
12838
12839 2009-04-30 David S. Miller <davem@davemloft.net>
12840
12841 * util/hostdisk.c (device_is_wholedisk): New function.
12842 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12843 zero only if device_is_wholedisk() returns true.
12844
12845 * util/hostdisk.c (convert_system_partition_to_system_disk):
12846 Handle virtual disk devices named /dev/vdiskX as found on sparc
12847 and powerpc.
12848
12849 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12850 lettered partition specifier is found, convert to numbered.
12851
12852 2009-04-29 David S. Miller <davem@davemloft.net>
12853
12854 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12855 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12856
12857 * normal/command.c: Add missing newline at end of file.
12858
12859 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12860 warnings.
12861 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12862 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12863 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12864 ihandles have a 32-bit type but need to be stored in a "void *".
12865
12866 2009-04-28 Pavel Roskin <proski@gnu.org>
12867
12868 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12869 not disk. Adjust all dependencies.
12870 (grub_fs_uuid_close): Use grub_device_close(), not
12871 grub_disk_close().
12872
12873 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12874 parent's partition, don't copy it by reference, as it gets freed
12875 on close.
12876
12877 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 Preboot hooks support
12880
12881 * commands/boot.c (struct grub_preboot_t): new declaration
12882 (preboots_head): new variable
12883 (preboots_tail): likewise
12884 (grub_loader_register_preboot_hook): new function
12885 (grub_loader_unregister_preboot_hook): likewise
12886 (grub_loader_set): launch preboot hooks
12887 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12888 (grub_loader_register_preboot_hook): new declaration
12889 (grub_loader_unregister_preboot_hook): likewise
12890
12891 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 Warning fix
12894
12895 * disk/scsi.c (grub_scsi_open): added missing cast when
12896 calling grub_dprintf
12897
12898 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 Bug and warning fixes
12901
12902 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
12903 declaration
12904 * commands/test.c (test_parse): fixed bug with file tests and corrected
12905 declaration of find_file
12906
12907 2009-04-26 Pavel Roskin <proski@gnu.org>
12908
12909 * Makefile.in: Don't install empty manual pages if help2man is
12910 missing. Use help2man option for output, not shell redirection.
12911
12912 2009-04-26 David S. Miller <davem@davemloft.net>
12913
12914 * util/grub-mkdevicemap.c (make_device_map): Add missing
12915 NESTED_FUNC_ATTR to process_device().
12916
12917 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 Test command
12920
12921 * commands/test.c: rewritten to use bash-like test
12922
12923 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 Parttool autoloading and improvements
12926
12927 * Makefile.in (pkglib_DATA): add parttool.lst
12928 (parttool.lst): new target
12929 * genmk.rb: generate parttool-*
12930 (CLEANFILES): add #{parttool}
12931 (PARTTOOLFILES): new variable
12932 * genparttoollist.sh: new file
12933 * parttool/pcpart.c (grub_pcpart_boot): more feedback
12934 (grub_pcpart_type): likewise
12935 * commands/parttool.c (helpmsg): new variable
12936 (grub_cmd_parttool): output help if not enough arguments are supplied
12937 autoload modules
12938 (GRUB_MOD_INIT(parttool)): use helpmsg
12939
12940 2009-04-24 David S. Miller <davem@davemloft.net>
12941
12942 Avoiding opening same device multiple times in device iterator.
12943
12944 * kern/device.c: (grub_device_iterate): Define struct part_ent,
12945 and use it to build a list of partitions in iterate_disk() and
12946 iterate_partition().
12947
12948 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12949 on disk->data.
12950
12951 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12952 grub_devalias_iterate() result instead of unconditional 0.
12953 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12954 Also, capture hook return value, either directly or via
12955 grub_children_iterate(), and propagate to caller.
12956 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12957 grub_children_iterate): Return value is now 'int' instead of
12958 'grub_err_t'.
12959 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12960 like a proper iterator, stopping when hooks return non-zero.
12961 (grub_devalias_iterate): Likewise.
12962
12963 2009-04-23 David S. Miller <davem@davemloft.net>
12964
12965 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12966
12967 2009-04-22 David S. Miller <davem@davemloft.net>
12968
12969 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12970 is larger than address_cells, use that value for address_cells too.
12971
12972 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12973 IEEE1275_MAX_PATH_LEN): Define.
12974 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12975 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12976 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12977 'devtype'. Explicitly NULL terminate devalias expansion.
12978
12979 * util/sparc64/ieee1275/misc.c: New file.
12980 * util/sparc64/ieee1275/grub-setup.c: New file.
12981 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12982 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12983 * util/sparc64/ieee1275/grub-install.in: New file.
12984 * util/ieee1275/ofpath.c: New file.
12985 * util/ieee1275/devicemap.c: New file.
12986 * util/devicemap.c: New file.
12987 * util/deviceiter.c: New file.
12988 * kern/sparc64/ieee1275/init.c: New file.
12989 * include/grub/util/ofpath.h: New file.
12990 * include/grub/util/deviceiter.h: New file.
12991 * util/grub-mkdevicemap.c: Include deviceiter.h.
12992 Implement using grub_util_emit_devicemap_entry and
12993 grub_util_iterate_devices.
12994 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12995 util/devicemap.c into grub-mkdevicemap
12996 * conf/i386-efi.rmk: Likewise.
12997 * conf/i386-ieee1275.rmk: Likewise.
12998 * conf/i386-pc.rmk: Likewise.
12999 * conf/powerpc-ieee1275.rmk: Likewise.
13000 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13001 images and installation utilities. Build kernel as image
13002 instead of as elf binary. Use common rules as much as possible.
13003
13004 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 Correct GPT definition
13007
13008 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
13009 of "attrib" member
13010
13011 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
13012
13013 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13014
13015 2009-04-19 David S. Miller <davem@davemloft.net>
13016
13017 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13018 (grub_rescue_cmd_linux): Rename to...
13019 (grub_cmd_linux): and fix prototype.
13020 (grub_rescue_cmd_initrd): Rename to...
13021 (grub_cmd_initrd): and fix prototype.
13022 (cmd_linux, cmd_initrd): New.
13023 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13024 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13025
13026 2009-04-17 Pavel Roskin <proski@gnu.org>
13027
13028 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13029 format.
13030 (grub_ohci_transfer): Likewise.
13031
13032 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13033
13034 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13035 return without a value. Fix inconsistent indentation.
13036
13037 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13038 match struct grub_fs.
13039
13040 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13041 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13042 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13043 * commands/lspci.c (grub_lspci_iter): Likewise.
13044
13045 2009-04-16 Bean <bean123ch@gmail.com>
13046
13047 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13048 value.
13049
13050 2009-04-15 Pavel Roskin <proski@gnu.org>
13051
13052 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13053 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13054 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13055 definitions.
13056
13057 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13058
13059 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
13060 that no multiple data or metadata areas are supported and `Unknown
13061 metadata header'.
13062
13063 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 Move loader out of the kernel
13066
13067 * kern/loader.c: moved to ...
13068 * commands/boot.c: ... moved here
13069 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13070 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13071 * include/grub/kernel.h (grub_machine_fini): export
13072 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13073 (grub_loader_set): likewise
13074 (grub_loader_unset): likewise
13075 (grub_loader_boot): likewise
13076 * conf/common.rmk: new module boot.mod
13077 (pkglib_MODULES): add boot.mod
13078 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13079 (grub_emu_SOURCES): likewise
13080 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13081 (grub_emu_SOURCES): likewise
13082 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13083 (grub_emu_SOURCES): likewise
13084 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13085 (grub_emu_SOURCES): likewise
13086 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13087 (grub_emu_SOURCES): likewise
13088 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13089 (grub_emu_SOURCES): likewise
13090 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
13091 (grub_emu_SOURCES): likewise
13092
13093 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
13096
13097 * kern/misc.c (grub_itoa): Removed function
13098 (grub_ltoa): likewise
13099 (grub_vsprintf): use grub_lltoa
13100
13101 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 Restore grub-emu
13104
13105 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13106 * conf/i386-coreboot.rmk: likewise
13107 * conf/i386-ieee1275.rmk: likewise
13108 * conf/powerpc-ieee1275.rmk: likewise
13109
13110 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13111
13112 * INSTALL: Add that `./autogen.sh' needs to be run before
13113 `./configure.'.
13114
13115 2009-04-14 Bean <bean123ch@gmail.com>
13116
13117 * Makefile.in (pkglib_DATA): Add handler.lst.
13118 (handler.lst): New rule.
13119
13120 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13121 * conf/i386-coreboot.rmk: Likewise.
13122 * conf/i386-ieee1275.rmk: Likewise.
13123 * conf/i386-efi.rmk: Likewise.
13124 * conf/x86_64-efi.rmk: Likewise.
13125 * conf/powerpc-ieee1275.rmk: Likewise.
13126 * conf/sparc64-ieee1275.rmk: Likewise.
13127
13128 * genhandlerlist.sh: New file.
13129
13130 * genmk.rb: Add rules to generate handler.lst.
13131
13132 * include/grub/normal.h (grub_file_getline): New function definition.
13133 (read_handler_list): Likewise.
13134 (free_handler_list): Likewise.
13135
13136 * include/grub/term.h (grub_term_register_input): Add name parameter
13137 for auto generation of handler.lst.
13138 (grub_term_register_output): Likewise.
13139
13140 * normal/handler.c: New file.
13141
13142 * normal/main.c (get_line): Renamed to grub_file_getline.
13143 (read_config_file): Use the newly renamed grub_file_getline.
13144 (read_command_list): Likewise.
13145 (read_fs_list): Likewise.
13146 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13147 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13148
13149 * term/efi/console.c (grub_console_init): Add name parameter for auto
13150 generation of handler.lst.
13151 * term/gfxterm.c: Likewise.
13152 * term/i386/pc/at_keyboard.c: Likewise.
13153 * term/i386/pc/console.c: Likewise.
13154 * term/i386/pc/serial.c: Likewise.
13155 * term/i386/pc/vesafb.c: Likewise.
13156 * term/i386/pc/vga.c: Likewise.
13157 * term/i386/pc/vga_text.c: Likewise.
13158 * term/ieee1275/ofconsole.c: Likewise.
13159 * term/usb_keyboard.c: Likewise.
13160
13161 2009-04-14 Bean <bean123ch@gmail.com>
13162
13163 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13164 properly with null character.
13165
13166 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13167
13168 * configure: Remove.
13169 * config.h.in: Likewise.
13170 * stamp-h.in: Likewise.
13171 * DISTLIST: Likewise.
13172 * conf/common.mk: Likewise.
13173 * conf/i386-coreboot.mk: Likewise.
13174 * conf/i386-efi.mk: Likewise.
13175 * conf/i386-ieee1275.mk: Likewise.
13176 * conf/i386.mk: Likewise.
13177 * conf/i386-pc.mk: Likewise.
13178 * conf/powerpc-ieee1275.mk: Likewise.
13179 * conf/sparc64-ieee1275.mk: Likewise.
13180 * conf/x86_64-efi.mk: Likewise.
13181
13182 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13183 develop on GRUB.
13184
13185 2009-04-14 John Stanley <jpsinthemix@verizon.net>
13186 David S. Miller <davem@davemloft.net>
13187
13188 * util/hostdisk.c (make_device_name): Fix buffer length
13189 calculations.
13190
13191 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13192
13193 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13194 <sys/param.h> and <sys/sysctl.h>.
13195 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13196 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13197 opening the device and reset them afterwards.
13198
13199 2009-04-13 Pavel Roskin <proski@gnu.org>
13200
13201 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13202 Reported by John Stanley <jpsinthemix@verizon.net>
13203
13204 2009-04-13 Robert Millan <rmh@aybabtu.com>
13205
13206 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
13207 that name for menuentries when appropriate.
13208
13209 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13210
13211 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13212
13213 2009-04-13 Robert Millan <rmh@aybabtu.com>
13214
13215 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13216 to Linux, simply abort telling the user it's no longer supported.
13217
13218 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13219
13220 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
13221 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
13222 `freebsd_loadenv' only when devices.hints exist.
13223
13224 2009-04-13 Pavel Roskin <proski@gnu.org>
13225
13226 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13227
13228 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13229
13230 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13231 partition number.
13232 (grub_drive): Likewise.
13233
13234 2009-04-13 David S. Miller <davem@davemloft.net>
13235
13236 * kern/sparc64/ieee1275/ieee1275.c: New file.
13237 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13238 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13239 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13240 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13241 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13242 grub_ieee1275_alloc_physmem): Declare new exported functions.
13243
13244 * include/grub/sparc64/ieee1275/loader.h: New file.
13245 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13246 * include/grub/sparc64/kernel.h: Likewise.
13247 * loader/sparc64/ieee1275/linux.c: Likewise.
13248
13249 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13250 (grub_fstest_SOURCES): Likewise.
13251
13252 * util/hostdisk.c (make_device_name): Do not make any assumptions
13253 about the length of drive names.
13254
13255 * kern/dl.c (grub_dl_load_file): Close file immediately when
13256 we are done using it.
13257
13258 2009-04-12 David S. Miller <davem@davemloft.net>
13259
13260 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13261 values. Noticed by Pavel Roskin.
13262
13263 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13264 target compiler.
13265
13266 * genmk.rb: Add more flexible image type specification, also
13267 pass --strip-unneeded to objcopy.
13268 * conf/i386-pc.rmk: Use *_FORMAT.
13269 * conf/i386-pc.mk: Rebuilt.
13270
13271 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13272 (OFDISK_HASH_SZ): Define.
13273 (ofdisk_hash): New hash table.
13274 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13275 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13276 instead of device phandle which is not unique.
13277
13278 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13279 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13280 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13281 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13282 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13283 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13284 GRUB_KERNEL_MACHINE_DATA_END): Define.
13285 (grub_kernel_image_size, grub_total_module_size): Declare.
13286
13287 2009-04-12 Pavel Roskin <proski@gnu.org>
13288
13289 * configure.ac: Change the logic when we check for target tools.
13290 Do it when the target is specified and it's different from the
13291 specified value of the host.
13292
13293 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
13294
13295 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13296 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13297 GNU/kFreeBSD. Check if a device is a character device. Use
13298 DIOCGMEDIASIZE to get the size.
13299 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13300 support for GNU/kFreeBSD.
13301 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13302 is a character device instead of a block device. Add support for
13303 FreeBSD device names.
13304
13305 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13306 is a character device instead of a block device.
13307
13308 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13309 is a character device instead of a block device.
13310
13311 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13312
13313 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13314 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13315 FreeBSD. Check if a device is a character device. Use
13316 DIOCGMEDIASIZE to get the size.
13317 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13318 support for FreeBSD.
13319 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13320 is a character device instead of a block device. Add support for
13321 FreeBSD device names.
13322
13323 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13324 a character device instead of a block device.
13325 (grub_util_check_char_device): New function.
13326
13327 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13328 a character device instead of a block device.
13329
13330 * include/grub/util/getroot.h (grub_util_check_char_device): New
13331 prototype.
13332
13333 2009-04-11 David S. Miller <davem@davemloft.net>
13334
13335 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13336 static libgcc.
13337 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13338 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13339 function, if present.
13340 (__bswapdi2): Likewise.
13341
13342 * include/grub/sparc64/ieee1275/boot.h: New file.
13343 * boot/sparc64/ieee1275/boot.S: Likewise.
13344 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13345
13346 * kern/misc.c (grub_ltoa): New function.
13347 (grub_vsprintf): Use it to format 'long' integers.
13348
13349 2009-04-10 David S. Miller <davem@davemloft.net>
13350
13351 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13352 slots are of type grub_ieee1275_cell_t.
13353 (grub_nand_read): Likewise.
13354 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13355 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13356 macros are used to compare values in arg/ret block of the call.
13357 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13358 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13359 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13360 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13361 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13362 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13363 grub_ieee1275_close, grub_ieee1275_set_property,
13364 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13365 grub_ieee1275_cell_t.
13366 * kern/ieee1275/openfw.c (grub_map): Likewise.
13367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13368 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13369
13370 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13371 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13372 (grub_devalias_iterate): Likewise.
13373
13374 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 UFS improvements
13377
13378 * fs/ufs.c (INODE_NBLOCKS): new definition
13379 (struct grub_ufs_dirent): added fields for non-BSD dirents
13380 (grub_ufs_get_file_block): fixed double indirect handling
13381 (grub_ufs_lookup_symlink): use more robust way to determine whether
13382 symlink is inline
13383 (grub_ufs_find_file): support for non-BSD dirents
13384 (grub_ufs_dir): support for non-BSD dirents
13385
13386 2009-04-10 Bean <bean123ch@gnail.com>
13387
13388 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13389 attribute, otherwise the size would be wrong for i386 platform.
13390
13391 * include/grub/pci.h (grub_pci_read_word): New inline function.
13392 (grub_pci_read_byte): Likewise.
13393 (grub_pci_write): Likewise.
13394 (grub_pci_write_word): Likewise.
13395 (grub_pci_write_byte): Likewise.
13396
13397 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13398
13399 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13400 (find_framebuf): Scan pci to locate the frame buffer address.
13401
13402 * commands/efi/fixvideo.c: New file.
13403
13404 * commands/efi/loadbios.c: Likewise.
13405
13406 * commands/memrw.c: Likewise.
13407
13408 * util/grub-dumpbios.in: Likewise.
13409
13410 * conf/common.rmk (grub-dumpbios): New utility.
13411 (pkglib_MODULES): New module memrw.mod.
13412 (memrw_mod_SOURCE): New macro.
13413 (memrw_mod_CFLAGS): Likewise.
13414 (memrw_mod_LDFLAGS): Likewise.
13415
13416 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
13417 fixvideo.mod.
13418 (loadbios_mod_SOURCE): New macro.
13419 (loadbios_mod_CFLAGS): Likewise.
13420 (loadbios_mod_LDFLAGS): Likewise.
13421 (fixvideo_mod_SOURCE): Likewise.
13422 (fixvideo_mod_CFLAGS): Likewise.
13423 (fixvideo_mod_LDFLAGS): Likewise.
13424
13425 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
13426 fixvideo.mod.
13427 (loadbios_mod_SOURCE): New macro.
13428 (loadbios_mod_CFLAGS): Likewise.
13429 (loadbios_mod_LDFLAGS): Likewise.
13430 (fixvideo_mod_SOURCE): Likewise.
13431 (fixvideo_mod_CFLAGS): Likewise.
13432 (fixvideo_mod_LDFLAGS): Likewise.
13433
13434 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
13435
13436 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13437
13438 2009-04-07 David S. Miller <davem@davemloft.net>
13439
13440 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13441 support for R_SPARC_OLO10 relocations. Fix compile warning for
13442 R_SPARC_WDISP30 case.
13443 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
13444
13445 2009-04-06 Pavel Roskin <proski@gnu.org>
13446
13447 * include/grub/misc.h (ARRAY_SIZE): New macro.
13448 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13449 New macro.
13450 * loader/i386/linux.c (allocate_pages): Use free_pages().
13451 (grub_linux_unload): Don't use free_pages().
13452 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13453 wrong index. Treat all other modes as text modes.
13454 (grub_cmd_linux): Initialize vid_mode unconditionally to
13455 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13456
13457 * commands/help.c (print_command_help): Use cmd->prio, not
13458 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13459
13460 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 Parttool
13463
13464 * parttool/pcpart.c: new file
13465 * commands/parttool.c: likewise
13466 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13467 (parttool_mod_SOURCES): new variable
13468 (parttool_mod_CFLAGS): likewise
13469 (parttool_mod_LDFLAGS): likewise
13470 (pcpart_mod_SOURCES): likewise
13471 (pcpart_mod_CFLAGS): likewise
13472 (pcpart_mod_LDFLAGS): likewise
13473 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
13474 and parttool/pcpart.c
13475 * conf/i386-efi.rmk: likewise
13476 * conf/i386-ieee1275.rmk: likewise
13477 * conf/i386-pc.rmk: likewise
13478 * conf/powerpc-ieee1275.rmk: likewise
13479 * conf/sparc64-ieee1275.rmk: likewise
13480 * conf/x86_64-ieee1275.rmk: likewise
13481
13482 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 Support for mtime and further expandability of dir command
13485
13486 * include/grub/lib/datetime.h: moved to ...
13487 * include/grub/datetime.h: ... moved here and added
13488 declaration of grub_unixtime2datetime. All users updated
13489 * include/grub/fs.h: new syntax for dir and mtime functions in
13490 struct grub_fs
13491 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13492 and GRUB_FSHELP_FLAGS_MASK
13493 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13494 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13495 (grub_ext2_mtime): new function
13496 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13497 (grub_hfsplus_mtime): new function
13498 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13499 (GRUB_UFS_ATTR_FILE): likewise
13500 (GRUB_UFS_ATTR_LNK): likewise
13501 (struct grub_ufs_sblock): new fields mtime
13502 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13503 all users updated
13504 (grub_ufs_dir): mtime support
13505 (grub_ufs_mtime): new function
13506 * fs/affs.c (grub_affs_dir): use new dir syntax
13507 * fs/afs.c (grub_afs_dir): likewise
13508 * fs/cpio.c (grub_cpio_dir): likewise
13509 * fs/fat.c (grub_fat_find_dir): likewise
13510 * fs/hfs.c (grub_hfs_dir): likewise
13511 * fs/iso9660.c (grub_iso9660_dir): likewise
13512 * fs/jfs.c (grub_jfs_dir): likewise
13513 * fs/minix.c (grub_minix_dir): likewise
13514 * fs/ntfs.c (grub_ntfs_dir): likewise
13515 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13516 * fs/sfs.c (grub_sfs_dir): likewise
13517 * fs/xfs.c (grub_xfs_dir): likewise
13518 * util/hostfs.c (grub_hostfs_dir): likewise
13519 * lib/datetime.c: moved to ...
13520 * normal/datetime.c: ... moved here
13521 (grub_unixtime2datetime): new function
13522 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
13523 * normal/completion.c (iterate_dir): use new dir syntax
13524 * normal/misc.c (grub_normal_print_device_info): tell the
13525 last modification time of a volume
13526 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
13527 * conf/common.rmk: added lib/datetime.c to ls.mod
13528 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
13529 (normal_mod_SOURCES): likewise
13530 (datetime_mod_SOURCES): Removed lib/datetime.c
13531 * conf/i386-efi.rmk: likewise
13532 * conf/i386-ieee1275.rmk: likewise
13533 * conf/i386-pc.rmk: likewise
13534 * conf/powerpc-ieee1275.rmk: likewise
13535 * conf/sparc64-ieee1275.rmk: likewise
13536 * conf/x86_64-efi.rmk: likewise
13537
13538 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 Trim trailing spaces in FAT label and support mtools-like labels
13541
13542 * fs/fat.c (grub_fat_iterate_dir): New function based
13543 on grub_fat_find_dir
13544 (grub_fat_find_dir): use grub_fat_iterate_dir
13545 (grub_fat_label): likewise
13546
13547 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
13550 and command.h
13551 remove extraneous kernel_elf_HEADERS
13552
13553 2009-04-04 Bean <bean123ch@gnail.com>
13554
13555 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13556
13557 * util/misc.c: Likewise.
13558
13559 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13560
13561 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13562 instead of grub_printf.
13563
13564 2009-04-03 Robert Millan <rmh@aybabtu.com>
13565
13566 * loader/i386/linux.c (grub_linux_setup_video): Fill
13567 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13568 values from `mode info' structure instead of hardcoded
13569 values.
13570
13571 2009-04-01 Pavel Roskin <proski@gnu.org>
13572
13573 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13574 unused now.
13575 * genmk.rb: Likewise.
13576 * configure.ac: Likewise.
13577
13578 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13579
13580 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13581 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13582
13583 2009-04-01 David S. Miller <davem@davemloft.net>
13584
13585 * normal/sparc64/setjmp.S: Fix setjmp implementation.
13586 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
13587 (grub_setjmp): Mark with 'returns_twice' attribute.
13588 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13589 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13590 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13591
13592 2009-04-01 Robert Millan <rmh@aybabtu.com>
13593
13594 Reapply fix from 2008-07-28 which was accidentally reverted; also
13595 perform the same fix to a similar check in same function.
13596
13597 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13598 with the same number are found, just use issue a warning with
13599 grub_dprintf(), as this error has been reported to be non-fatal.
13600
13601 2009-03-31 Pavel Roskin <proski@gnu.org>
13602
13603 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13604 for cross-compilation.
13605
13606 2009-03-30 Robert Millan <rmh@aybabtu.com>
13607
13608 Fix i386-ieee1275 build.
13609
13610 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13611 Remove declaration.
13612
13613 2009-03-30 Pavel Roskin <proski@gnu.org>
13614
13615 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13616 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13617 zero-terminated, rely only on the strlen value. Fix comparison
13618 of strings differing in length.
13619
13620 2009-03-30 Robert Millan <rmh@aybabtu.com>
13621
13622 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13623 checking for abi version. Improve error messages on BIOS to notify
13624 user about `linux16' command.
13625
13626 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 Leak fixes
13629
13630 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13631 in case of collision
13632 * disk/scsi.c (grub_scsi_open): free scsi in case of error
13633
13634 2009-03-29 Robert Millan <rmh@aybabtu.com>
13635
13636 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13637 set `vid_mode' accordingly.
13638 (grub_linux_boot): Process `vid_mode' and set video mode.
13639
13640 2009-03-29 Robert Millan <rmh@aybabtu.com>
13641
13642 * util/grub.d/10_linux.in (linux_entry): New function.
13643 Factorize generation of Linux boot entries.
13644
13645 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13646
13647 Make the format of Environment Block plain text. The boot loader
13648 part is not tested well yet.
13649
13650 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13651 (buffer): Removed.
13652 (envblk): Likewise.
13653 (usage): Remove "info" and "clear". Add "unset". Update the
13654 description of "set", as this does not delete variables any
13655 longer.
13656 (create_envblk_file): Complete rewrite.
13657 (open_envblk_file): Likewise.
13658 (cmd_info): Removed.
13659 (cmd_list): Likewise.
13660 (cmd_set): Likewise.
13661 (cmd_clear): Likewise.
13662 (list_variables): New function.
13663 (write_envblk): Likewise.
13664 (set_variables): Likewise.
13665 (unset_variables): Likewise.
13666 (main): Complete rewrite.
13667
13668 * commands/loadenv.c (buffer): Removed.
13669 (envblk): Likewise.
13670 (open_envblk_file): New function.
13671 (read_envblk_file): Complete rewrite.
13672 (grub_cmd_load_env): Likewise.
13673 (grub_cmd_list_env): Likewise.
13674 (struct blocklist): New struct.
13675 (free_blocklists): New function.
13676 (check_blocklists): Likewise.
13677 (write_blocklists): Likewise.
13678 (grub_cmd_save_env): Complete rewrite.
13679
13680 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13681 a plain text signature.
13682 (GRUB_ENVBLK_MAXLEN): Removed.
13683 (struct grub_envblk): Complete rewrite.
13684 (grub_envblk_find): Removed.
13685 (grub_envblk_insert): Likewise.
13686 (grub_envblk_open): New prototype.
13687 (grub_envblk_set): Likewise.
13688 (grub_envblk_delete): Put const to VALUE.
13689 (grub_envblk_iterate): Put const to NAME and VALUE.
13690 (grub_envblk_close): New prototype.
13691 (grub_envblk_buffer): New inline function.
13692 (grub_envblk_size): Likewise.
13693
13694 * lib/envblk.c: Include grub/mm.h.
13695 (grub_env_find): Removed.
13696 (grub_envblk_open): New function.
13697 (grub_envblk_close): Likewise.
13698 (escaped_value_len): Likewise.
13699 (find_next_line): Likewise.
13700 (grub_envblk_insert): Removed.
13701 (grub_envblk_set): New function.
13702 (grub_envblk_delete): Complete rewrite.
13703 (grub_envblk_iterate): Likewise.
13704
13705 2009-03-28 Robert Millan <rmh@aybabtu.com>
13706
13707 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13708 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13709 variables. Use 16-bit loader.
13710 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13711 loader.
13712 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13713 (grub_linux16_boot): ... this. Update all users.
13714 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13715 (grub_linux_boot): ... this. Update all users.
13716
13717 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13718 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13719 commands to `linux16' and `initrd16'.
13720 (GRUB_MOD_FINI(linux)): Rename to ...
13721 (GRUB_MOD_FINI(linux16)): ... this.
13722
13723 2009-03-24 Pavel Roskin <proski@gnu.org>
13724
13725 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13726 not just for compilation.
13727
13728 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 Move multiboot helper out of kernel
13731
13732 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13733 `loader/i386/multiboot_helper.S'.
13734 * conf/i386-coreboot.rmk: Likewise
13735 * conf/i386-ieee1275.rmk: Likewise
13736
13737 * kern/i386/loader.S: Move multiboot helpers from here...
13738 * loader/i386/multiboot_helper.S: ...moved here
13739 * include/grub/i386/loader.h: Move declarations of multiboot
13740 helpers from here...
13741 * include/grub/i386/multiboot.h: ...moved here
13742 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13743
13744 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13745
13746 * kern/env.c (grub_env_context_open): Added an argument to specify
13747 whether a new context inherits exported variables from current
13748 one. This is useful when making a sandbox to interpret a config
13749 file.
13750 All callers updated.
13751
13752 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13753
13754 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13755
13756 * kern/env.c (grub_env_context_close): Fix memory leaks.
13757
13758 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13759
13760 * normal/main.c (grub_normal_execute): Added an argument
13761 BATCH to specify if an interactive interface should be provided
13762 after reading a config file.
13763 All callers updated.
13764 (read_command_list): Prevent being executed twice.
13765 (read_fs_list): Likewise.
13766
13767 * include/grub/normal.h (grub_normal_execute): Updated the
13768 prototype.
13769
13770 2009-03-22 Pavel Roskin <proski@gno.org>
13771
13772 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13773 _start.
13774 * kern/i386/pc/startup.S: Likewise.
13775 * kern/i386/efi/startup.S: Likewise.
13776 * kern/i386/ieee1275/startup.S: Likewise.
13777 * kern/i386/coreboot/startup.S: Likewise.
13778 * kern/x86_64/efi/startup.S: Likewise.
13779
13780 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13781 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13782 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13783
13784 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13787
13788 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13789 limit detection.
13790 Use vaddr of correct segment for entry_point.
13791
13792 2009-03-21 Bean <bean123ch@gmail.com>
13793
13794 * commands/blocklist.c: Add include file <grub/command.h>, remove
13795 <grub/normal.h> and <grub/arg.h>.
13796 (grub_cmd_blocklist): Use the new command interface.
13797 (GRUB_MOD_INIT): Likewise.
13798 (GRUB_MOD_FINI): Likewise.
13799 * commands/boot.c: Likewise.
13800 * commands/cat.c: Likewise.
13801 * commands/cmp.c: Likewise.
13802 * commands/configfile.c: Likewise.
13803 * commands/crc.c: Likewise.
13804 * commands/echo.c: Likewise.
13805 * commands/halt.c: Likewise.
13806 * commands/handler.c: Likewise.
13807 * commands/hdparm.c: Likewise.
13808 * commands/help.c: Likewise.
13809 * commands/hexdump.c: Likewise.
13810 * commands/loadenv.c: Likewise.
13811 * commands/ls.c: Likewise.
13812 * commands/lsmmap.c: Likewise.
13813 * commands/lspci.c: Likewise.
13814 * commands/loadenv.c: Likewise.
13815 * commands/read.c: Likewise.
13816 * commands/reboot.c: Likewise.
13817 * commands/search.c: Likewise.
13818 * commands/sleep.c: Likewise.
13819 * commands/test.c: Likewise.
13820 * commands/usbtest.c: Likewise.
13821 * commands/videotest.c: Likewise.
13822 * commands/i386/cpuid.c: Likewise.
13823 * commands/i386/pc/halt.c: Likewise.
13824 * commands/i386/pc/play.c: Likewise.
13825 * commands/i386/pc/pxecmd.c: Likewise.
13826 * commands/i386/pc/vbeinfo.c: Likewise.
13827 * commands/i386/pc/vbetest.c: Likewise.
13828 * commands/ieee1275/suspend.c: Likewise.
13829 * disk/loopback.c: Likewise.
13830 * font/font_cmd.c: Likewise.
13831 * hello/hello.c: Likewise.
13832 * loader/efi/appleloader.c: Likewise.
13833 * loader/efi/chainloader.c: Likewise.
13834 * loader/i386/bsd.c: Likewise.
13835 * loader/i386/efi/linux.c: Likewise.
13836 * loader/i386/ieee1275/linux.c: Likewise.
13837 * loader/i386/linux.c: Likewise.
13838 * loader/i386/pc/chainloader.c: Likewise.
13839 * loader/i386/pc/linux.c: Likewise.
13840 * loader/powerpc/ieee1275/linux.c: Likewise.
13841 * loader/multiboot_loader.c: Likewise.
13842 * term/gfxterm.c: Likewise.
13843 * term/i386/pc/serial.c: Likewise.
13844 * term/terminfo.c: Likewise.
13845
13846 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13847 * term/i386/pc/vga.c: Likewise.
13848 * video/readers/jpeg.c: Likewise.
13849 * video/readers/png.c: Likewise.
13850 * video/readers/tga.c: Likewise.
13851
13852 * util/grub-fstest (cmd_loopback): Removed.
13853 (cmd_blocklist): Likewise.
13854 (cmd_ls): Likewise.
13855 (grub_register_command): Likewise.
13856 (grub_unregister_command): Likewise.
13857 (execute_command): Use grub_command_find to locate command and execute
13858 it.
13859
13860 * include/grub/efi/chainloader.h: Removed.
13861 * loader/efi/chainloader_normal.c: Likewise.
13862 * loader/i386/bsd_normal.c: Likewise.
13863 * loader/i386/pc/chainloader_normal.c: Likewise.
13864 * loader/i386/pc/multiboot_normal.c: Likewise.
13865 * loader/linux_normal.c: Likewise.
13866 * loader/multiboot_loader_normal.c: Likewise.
13867 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13868
13869 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13870 and grub_register_command_p1.
13871
13872 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13873 kern/command.c, lib/arg.c and commands/extcmd.c.
13874 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13875 (minicmd_mod_SOURCES): New variable.
13876 (minicmd_mod_CFLAGS): Likewise.
13877 (minicmd_mod_LDFLAGS): Likewise.
13878 (extcmd_mod_SOURCES): Likewise.
13879 (extcmd_mod_CFLAGS): Likewise.
13880 (extcmd_mod_LDFLAGS): Likewise.
13881 (boot_mod_SOURCES): Removed.
13882 (boot_mod_CFLAGS): Likewise.
13883 (boot_mod_LDFLAGS): Likewise.
13884
13885 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13886 kern/corecmd.c.
13887 (kernel_img_HEADERS): Add command.h.
13888 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13889 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13890 and lib/arg.c.
13891 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13892 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13893 remove the corresponding normal mode command.
13894 (normal_mod_SOURCES): Remove normal/arg.c.
13895 * conf/i386-coreboot.rmk: Likewise.
13896 * conf/i386-efi.rmk: Likewise.
13897 * conf/i386-ieee1275.rmk: Likewise.
13898 * conf/powerpc-ieee1275.rmk: Likewise.
13899 * conf/x86_64-efi.rmk: Likewise.
13900
13901 * include/grub/arg.h: Move from here ...
13902 * include/grub/lib/arg.h: ... to here.
13903
13904 * normal/arg.c: Move from here ...
13905 * lib/arg.c: ... to here.
13906
13907 * commands/extcmd.c: New file.
13908 * commands/minicmd.c: Likewise.
13909 * include/grub/command.h: Likewise.
13910 * include/grub/extcmd.h: Likewise.
13911 * kern/command.c: Likewise.
13912 * kern/corecmd.c: Likewise.
13913
13914 * kern/list.c (grub_list_iterate): Return int instead of void.
13915 (grub_list_insert): New function.
13916 (grub_prio_list_insert): Likewise.
13917
13918 * kern/rescue.c (grub_rescue_command): Removed.
13919 (grub_rescue_command_list): Likewise.
13920 (grub_rescue_register_command): Likewise.
13921 (grub_rescue_unregister_command): Likewise.
13922 (grub_rescue_cmd_boot): Move to minicmd.c
13923 (grub_rescue_cmd_help): Likewise.
13924 (grub_rescue_cmd_info): Likewise.
13925 (grub_rescue_cmd_boot): Likewise.
13926 (grub_rescue_cmd_testload): Likewise.
13927 (grub_rescue_cmd_dump): Likewise.
13928 (grub_rescue_cmd_rmmod): Likewise.
13929 (grub_rescue_cmd_lsmod): Likewise.
13930 (grub_rescue_cmd_exit): Likewise.
13931 (grub_rescue_print_devices): Moved to corecmd.c.
13932 (grub_rescue_print_files): Likewise.
13933 (grub_rescue_cmd_ls): Likewise.
13934 (grub_rescue_cmd_insmod): Likewise.
13935 (grub_rescue_cmd_set): Likewise.
13936 (grub_rescue_cmd_unset): Likewise.
13937 (attempt_normal_mode): Use grub_command_find to get normal module.
13938 (grub_enter_rescue_mode): Use grub_register_core_commands to register
13939 commands, remove grub_rescue_register_command calls.
13940
13941 * normal/command.c (grub_register_command): Removed.
13942 (grub_unregister_command): Likewise.
13943 (grub_command_find): Likewise.
13944 (grub_iterate_commands): Likewise.
13945 (rescue_command): Likewise.
13946 (export_command): Moved to corecmd.c.
13947 (set_command): Removed.
13948 (unset_command): Likewise.
13949 (insmod_command): Likewise.
13950 (rmmod_command): Likewise.
13951 (lsmod_command): Likewise.
13952 (grub_command_init): Likewise.
13953
13954 * normal/completion.c (iterate_command): Use cmd->prio to check for
13955 active command.
13956 (complete_arguments): Use grub_extcmd_t structure to find options.
13957 (grub_normal_do_completion): Change function grub_iterate_commands to
13958 grub_command_iterate.
13959
13960 * normal/execute.c (grub_script_execute_cmd): No need to parse
13961 argument here.
13962
13963 * normal/main.c (grub_dyncmd_dispatcher): New function.
13964 (read_command_list): Register unload commands as dyncmd.
13965 (grub_cmd_normal): Use new command interface, register rescue,
13966 unregister normal at entry, register normal, unregister rescue at exit.
13967
13968 * include/grub/list.h (grub_list_test_t): New type.
13969 (grub_list_iterate): Return int instead of void.
13970 (grub_list_insert): New function.
13971 (GRUB_AS_NAMED_LIST_P): New macro.
13972 (GRUB_AS_PRIO_LIST): Likewise.
13973 (GRUB_AS_PRIO_LIST_P): Likewise.
13974 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13975 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13976 (grub_prio_list): New structure.
13977 (grub_prio_list_insert): New function.
13978 (grub_prio_list_remove): New inline function.
13979
13980 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13981 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13982 (GRUB_COMMAND_FLAG_MENU): Likewise.
13983 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13984 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13985 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13986 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13987 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13988 (grub_command): Likewise.
13989 (grub_register_command): Likewise.
13990 (grub_command_find): Likewise.
13991 (grub_iterate_commands): Likewise.
13992 (grub_command_init): Likewise.
13993 (grub_arg_parse): Likewise.
13994 (grub_arg_show_help): Likewise.
13995
13996 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13997 (grub_rescue_unregister_command): Likewise.
13998
13999 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14000 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14001 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14002
14003 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14004 grub_rescue_cmd_initrd.
14005 * include/grub/i386/loader.h: Likewise.
14006 * include/grub/x86_64/loader.h: Likewise.
14007
14008 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14009
14010 2009-03-21 Bean <bean123ch@gmail.com>
14011
14012 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14013 instead of stat in mingw environment.
14014
14015 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14016
14017 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14018
14019 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14020 AC_CONFIG_LINKS.
14021
14022 2009-03-21 Bean <bean123ch@gmail.com>
14023
14024 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14025 out of range error.
14026
14027 2009-03-18 Michel Dänzer <michel@daenzer.net>
14028
14029 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14030 checking inode flags for EXT4_EXTENTS_FLAG.
14031
14032 2009-03-18 Robert Millan <rmh@aybabtu.com>
14033
14034 * loader/i386/linux.c: Include `<grub/video.h>' and
14035 `<grub/i386/pc/vbe.h>'..
14036 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14037 (grub_linux32_boot): Attempt to configure video settings with
14038 grub_linux_setup_video().
14039 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14040 to avoid grub_console_fini() which would step out of graphical mode
14041 unconditionally.
14042
14043 2009-03-14 Robert Millan <rmh@aybabtu.com>
14044
14045 Fix build on powerpc.
14046 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14047
14048 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14051 background image command.
14052
14053 2009-03-12 Colin D Bennett <colin@gibibit.com>
14054
14055 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14056 (grub_gfxterm_putchar): Extract pairs of identical calls to
14057 draw_cursor out of conditional blocks.
14058
14059 2009-03-11 Pavel Roskin <proski@gnu.org>
14060
14061 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14062 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14063
14064 2009-03-11 Robert Millan <rmh@aybabtu.com>
14065
14066 * loader/i386/multiboot_elfxx.c
14067 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14068
14069 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
14070
14071 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14072 `kern/handler.c'.
14073
14074 2009-03-11 Robert Millan <rmh@aybabtu.com>
14075
14076 * loader/i386/multiboot.c (code_size): New variable.
14077 (grub_multiboot): Define offsets by adding to `code_size' rather
14078 than subtracting from `grub_multiboot_payload_size'. Provide
14079 4-byte alignment to MBI and others by increasing
14080 `boot_loader_name_length' appropriately.
14081
14082 * loader/i386/multiboot_elfxx.c
14083 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14084
14085 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
14086
14087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14088 `fs/ext2.c'.
14089
14090 2009-03-08 Robert Millan <rmh@aybabtu.com>
14091
14092 Make loader/i386/linux.c usable on i386-pc again.
14093
14094 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14095 memory to heap.
14096 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14097 `#error' stanza.
14098
14099 2009-03-07 Bean <bean123ch@gmail.com>
14100
14101 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14102 allocation.
14103
14104 2009-03-06 Robert Millan <rmh@aybabtu.com>
14105
14106 Fix display issue on terminals with screen size other than 80x25
14107 (e.g. gfxterm with resolution higher than 640x480).
14108
14109 * normal/main.c (grub_normal_init_page): Display title text in a
14110 position relative to the center of the terminal instead of relying
14111 on a hardcoded offset.
14112
14113 2009-03-04 Robert Millan <rmh@aybabtu.com>
14114
14115 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14116 installed.
14117
14118 * Makefile.in (host_kernel): New variable.
14119 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14120 scripts instead of just the windows one.
14121 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14122
14123 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14124
14125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14126 `kern/handler.c'.
14127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14128 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14129 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14131 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14133
14134 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14135
14136 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14137 or if there's no space for the disk label and print the partition number on a
14138 invalid magic.
14139
14140 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14141
14142 * util/misc.c: Include <time.h>.
14143 (grub_millisleep): New function.
14144
14145 2009-03-04 Bean <bean123ch@gmail.com>
14146
14147 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14148 another option -mno-red-zone.
14149
14150 * commands/handler.c: Change module description.
14151
14152 * kern/handler.c: Add missing space at the end of description line.
14153
14154 * kern/list.c: Likewise.
14155
14156 2009-03-03 Robert Millan <rmh@aybabtu.com>
14157
14158 Move more components to the relocation area, and fix mbi pointer
14159 handling to use the destination rather than the origin (thanks to
14160 Vladimir Serbinenko for spotting).
14161
14162 * loader/i386/multiboot.c (mbi_dest): New variable.
14163 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14164 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14165 relocation area.
14166
14167 2009-03-01 Bean <bean123ch@gmail.com>
14168
14169 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
14170 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14171 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14172 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14173
14174 * loader/i386/efi/linux.c (acpi_guid): New variable.
14175 (acpi_guid): Likewise.
14176 (EBDA_SEG_ADDR): New constant.
14177 (LOW_MEM_ADDR): Likewise.
14178 (FAKE_EBDA_SEG): Likewise.
14179 (fake_bios_data): New function.
14180 (grub_linux_boot): Call fake_bios_data.
14181
14182 2009-03-01 Bean <bean123ch@gmail.com>
14183
14184 * commands/terminal.c: Removed.
14185
14186 * commands/handler.c: New file.
14187
14188 * include/grub/list.h: Likewise.
14189
14190 * include/grub/handler.h: Likewise.
14191
14192 * kern/list.c: Likewise.
14193
14194 * kern/handler.c: Likewise.
14195
14196 * kern/term.h: Include header file <grub/handler.h>.
14197 (grub_term_input): Move next field to the beginning.
14198 (grub_term_output): Likewise.
14199 (grub_term_input_class): New variable.
14200 (grub_term_output_class): Likewise.
14201 (grub_term_register_input): Changed to inline function.
14202 (grub_term_register_output): Likewise.
14203 (grub_term_unregister_input): Likewise.
14204 (grub_term_unregister_output): Likewise.
14205 (grub_term_set_current_input): Likewise.
14206 (grub_term_set_current_output): Likewise.
14207 (grub_term_get_current_input): Likewise.
14208 (grub_term_get_current_output): Likewise.
14209 (grub_term_iterate_input): Removed.
14210 (grub_term_iterate_output): Likewise.
14211
14212 * kern/term.c (grub_term_list_input): Removed.
14213 (grub_term_list_output): Likewise.
14214 (grub_term_input_class): New variable.
14215 (grub_term_output_class): Likewise.
14216 (grub_cur_term_input): Change variable as macro.
14217 (grub_cur_term_output): Likewise.
14218 (grub_term_register_input): Removed.
14219 (grub_term_register_output): Likewise.
14220 (grub_term_unregister_input): Likewise.
14221 (grub_term_unregister_output): Likewise.
14222 (grub_term_set_current_input): Likewise.
14223 (grub_term_set_current_output): Likewise.
14224 (grub_term_iterate_input): Likewise.
14225 (grub_term_iterate_output): Likewise.
14226 (grub_term_get_current_input): Likewise.
14227 (grub_term_get_current_output): Likewise.
14228
14229 * util/grub-editenv.c: Include header file <grub/handler.h>.
14230 (grub_term_get_current_input): Removed.
14231 (grub_term_get_current_output): Likewise.
14232 (grub_term_input_class): New variable.
14233 (grub_term_output_class): Likewise.
14234
14235 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14236 (grub_term_get_current_output): Likewise.
14237 (grub_term_input_class): New variable.
14238 (grub_term_output_class): Likewise.
14239
14240 * util/grub-probe.c (grub_term_get_current_input): Removed.
14241 (grub_term_get_current_output): Likewise.
14242 (grub_term_input_class): New variable.
14243 (grub_term_output_class): Likewise.
14244
14245 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14246 (grub_term_get_current_output): Likewise.
14247 (grub_term_input_class): New variable.
14248 (grub_term_output_class): Likewise.
14249
14250 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14251 (terminal_mod_SOURCES): Likewise.
14252 (terminal_mod_CFLAGS): Likewise.
14253 (terminal_mod_LDFLAGS): Likewise.
14254
14255 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14256 handler.c.
14257 (kernel_img_SOURCES): Add list.c and handler.c.
14258 (kernel_img_HEADERS): Add list.h and handler.h.
14259
14260 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14261 handler.c.
14262 (kernel_mod_SOURCES): Add list.c and handler.c.
14263 (kernel_mod_HEADERS): Add list.h and handler.h.
14264
14265 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14266 handler.c.
14267 (kernel_elf_SOURCES): Add list.c and handler.c.
14268 (kernel_elf_HEADERS): Add list.h and handler.h.
14269
14270 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14271 handler.c.
14272 (kernel_elf_SOURCES): Add list.c and handler.c.
14273 (kernel_elf_HEADERS): Add list.h and handler.h.
14274
14275 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14276 handler.c.
14277 (kernel_mod_SOURCES): Add list.c and handler.c.
14278 (kernel_mod_HEADERS): Add list.h and handler.h.
14279
14280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14281 handler.c.
14282 (kernel_elf_SOURCES): Add list.c and handler.c.
14283 (kernel_elf_HEADERS): Add list.h and handler.h.
14284
14285 2009-02-27 Robert Millan <rmh@aybabtu.com>
14286
14287 Factorize elf32 / elf64 code in Multiboot loader. This will
14288 prevent it from getting out of sync again.
14289
14290 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14291 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14292 grub_multiboot_load_elf64): Move from here ...
14293 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14294 grub_multiboot_load_elf): ... to here (new file).
14295
14296 2009-02-27 Robert Millan <rmh@aybabtu.com>
14297
14298 * util/grub.d/10_linux.in: Rename "single-user mode" to
14299 "recovery mode".
14300
14301 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 Don't leak in SCSI code.
14304 * disk/scsi.c (grub_scsi_close): free `scsi'.
14305
14306 2009-02-27 Robert Millan <rmh@aybabtu.com>
14307
14308 * loader/i386/pc/multiboot.c: Move from here ...
14309 * loader/i386/multiboot.c: ... to here. Update all users.
14310
14311 2009-02-27 Robert Millan <rmh@aybabtu.com>
14312
14313 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14314 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14315
14316 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
14317
14318 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14319 b-tree.
14320
14321 2009-02-27 Robert Millan <rmh@aybabtu.com>
14322
14323 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14324 `0x' qualifier as 0 when base is specified as parameter).
14325
14326 2009-02-24 Bean <bean123ch@gmail.com>
14327
14328 * configure.ac: Check for -mcmodel=large in x86_64 target.
14329
14330 * include/grub/efi/api.h (efi_call_10): New macro.
14331 (efi_wrap_10): New function.
14332
14333 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14334 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14335 (GRUB_PE32_REL_BASED_LOW): Likewise.
14336 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14337 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14338 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14339 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14340 (GRUB_PE32_REL_BASED_REL): Likewise.
14341 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14342 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14343 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14344
14345 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14346 issue.
14347
14348 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14349 (efi_wrap_10): New function.
14350
14351 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14352
14353 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14354 MB/MBP model (NV chipset).
14355 (devdata_devs): Add devpath_5 to the list.
14356
14357 * load/i386/efi/linux.c (video_base): Remove variable.
14358 (RGB_MASK): New macro.
14359 (RGB_MAGIC): Likewise.
14360 (LINE_MIN): Likewise.
14361 (LINE_MAX): Likewise.
14362 (FBTEST_STEP): Likewise.
14363 (FBTEST_COUNT): Likewise.
14364 (fb_list): New variable.
14365 (grub_find_video_card): Remove function.
14366 (find_framebuf): New function.
14367 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14368 line length.
14369
14370 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14371 problem for x86_64.
14372
14373 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14374
14375 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14376
14377 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14378 coding tool name.
14379
14380 2009-02-22 Robert Millan <rmh@aybabtu.com>
14381
14382 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14383 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14384 in our relocation, instead of using it directly from heap. Also
14385 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14386
14387 2009-02-21 Robert Millan <rmh@aybabtu.com>
14388
14389 Implement USB keyboard support (based on patch by Marco Gerards)
14390
14391 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14392 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14393 (usb_keyboard_mod_LDFLAGS): New variables.
14394
14395 * term/usb_keyboard.c: New file.
14396
14397 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 Corrected wrong declaration
14400
14401 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14402
14403 2009-02-14 Christian Franke <franke@computer.org>
14404
14405 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14406 (grub_lspci_iter): Print class code and programming interface byte.
14407
14408 2009-02-14 Christian Franke <franke@computer.org>
14409
14410 * gendistlist.sh: Ignore `.svn' directories.
14411
14412 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
14413
14414 * fs/fat.c: Add 2009 to Copyright line.
14415
14416 2009-02-14 Christian Franke <franke@computer.org>
14417
14418 * commands/hdparm.c: New file. Provides `hdparm' command
14419 which sends ATA commands via grub_disk_ata_pass_through ().
14420
14421 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14422
14423 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14424 and <grub/cpu/io.h> to include/grub/ata.h.
14425 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14426 (GRUB_CDROM_SECTOR_SIZE): Remove.
14427 (GRUB_ATA_*): Move to include/grub/ata.h.
14428 (GRUB_ATAPI_*): Likewise.
14429 (enum grub_ata_commands): Likewise.
14430 (enum grub_ata_timeout_milliseconds): Likewise.
14431 (struct grub_ata_device): Likewise.
14432 (grub_ata_regset): Likewise.
14433 (grub_ata_regget): Likewise.
14434 (grub_ata_regset2): Likewise.
14435 (grub_ata_regget2): Likewise.
14436 (grub_ata_check_ready): Likewise.
14437 (grub_ata_wait_not_busy): Remove static, exported in
14438 include/grub/ata.h.
14439 (grub_ata_wait_drq): Likewise.
14440 (grub_ata_pio_read): Likewise.
14441
14442 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14443 function for hdparm.mod.
14444
14445 * include/grub/ata.h: New file, contains declarations from
14446 disk/ata.c.
14447 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14448
14449 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14450 (grub_disk_ata_pass_through): New exported variable.
14451
14452 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14453
14454 2009-02-13 Colin D Bennett <colin@gibibit.com>
14455
14456 Support multiple fallback entries, and provide an API to support
14457 executing default+fallback menu entries. Renamed the `terminal' menu
14458 viewer to `text'.
14459
14460 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14461 variable declaration.
14462 (grub_menu_execute_callback): New structure declaration.
14463 (grub_menu_execute_callback_t): New typedef.
14464 (grub_menu_execute_with_fallback): New function declaration.
14465 (grub_menu_get_entry): Likewise.
14466 (grub_menu_get_timeout): Likewise.
14467 (grub_menu_set_timeout): Likewise.
14468
14469 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14470
14471 * normal/menu.c (grub_wait_after_message): Moved to
14472 `normal/menu_text.c'.
14473 (draw_border): Likewise.
14474 (print_message): Likewise.
14475 (print_entry): Likewise.
14476 (print_entries): Likewise.
14477 (grub_menu_init_page): Likewise.
14478 (get_entry_number): Likewise.
14479 (print_timeout): Likewise.
14480 (run_menu): Likewise.
14481 (grub_menu_execute_entry): Likewise.
14482 (show_text_menu): Likewise.
14483 (get_and_remove_first_entry_number): New function.
14484 (grub_menu_execute_with_fallback): Likewise.
14485 (get_entry): Renamed to ...
14486 (grub_menu_get_entry): .. this and made it global.
14487 (get_timeout): Renamed to ...
14488 (grub_menu_get_timeout): ... this and made it global.
14489 (set_timeout): Renamed to ...
14490 (grub_menu_set_timeout): ... this and made it global.
14491 (grub_normal_terminal_menu_viewer): Renamed to ...
14492 (grub_normal_text_menu_viewer): ... this.
14493
14494 * normal/menu_text.c: New file. Extracted text-menu-specific code
14495 from normal/menu.c.
14496
14497 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14498 (normal_mod_SOURCES): Likewise.
14499
14500 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14501 (normal_mod_SOURCES): Likewise.
14502
14503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14504 (normal_mod_SOURCES): Likewise.
14505
14506 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14507 (normal_mod_SOURCES): Likewise.
14508
14509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14510 (normal_mod_SOURCES): Likewise.
14511
14512 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14513 (normal_mod_SOURCES): Likewise.
14514
14515 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14516 (normal_mod_SOURCES): Likewise.
14517
14518 2009-02-11 Robert Millan <rmh@aybabtu.com>
14519
14520 * util/grub.d/00_header.in: Update old reference to `font' command.
14521
14522 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
14523
14524 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14525
14526 Based on patch from Javier Martín.
14527
14528 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14529
14530 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
14531 to avoid false positives with FAT.
14532 (grub_fstest_SOURCES): Likewise.
14533 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14534 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14538 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14539
14540 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14541
14542 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
14543 bpb.version_specific.fat12_or_fat16.fstype and
14544 bpb.version_specific.fat32.fstype.
14545
14546 2009-02-08 Robert Millan <rmh@aybabtu.com>
14547
14548 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
14549
14550 2009-02-08 Robert Millan <rmh@aybabtu.com>
14551
14552 * Makefile.in (host_os, host_cpu): New variables.
14553 (target_os): Remove. Update all users.
14554
14555 2009-02-08 Marco Gerards <marco@gnu.org>
14556
14557 * Makefile.in (enable_grub_emu_usb): New variable.
14558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14559 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14560 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14561 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14562 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14563 `usbtest.mod' and `usbms.mod'.
14564 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14565 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14566 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14567 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14568 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14569 variables.
14570
14571 * disk/usbms.c: New file.
14572
14573 * include/grub/usb.h: Likewise.
14574
14575 * include/grub/usbtrans.h: Likewise.
14576
14577 * include/grub/usbdesc.h: Likewise.
14578
14579 * bus/usb/usbtrans.c: Likewise.
14580
14581 * bus/usb/ohci.c: Likewise.
14582
14583 * bus/usb/uhci.c: Likewise.
14584
14585 * bus/usb/usbhub.c: Likewise.
14586
14587 * bus/usb/usb.c: Likewise.
14588
14589 * commands/usbtest.c: Likewise.
14590
14591 * util/usb.c: Likewise.
14592
14593 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14594
14595 * configure.ac: Test for libusb presence.
14596
14597 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14598
14599 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14600
14601 * kern/mm.c: Add more comments.
14602
14603 2009-02-08 Robert Millan <rmh@aybabtu.com>
14604
14605 Patch from Javier Martín.
14606 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14607 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14608
14609 2009-02-08 Robert Millan <rmh@aybabtu.com>
14610
14611 * fs/cpio.c: Split tar functionality to ...
14612 * fs/tar.c: ... here (new file). Update all users.
14613
14614 2009-02-07 Robert Millan <rmh@aybabtu.com>
14615
14616 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14617 backward-incompatible features.
14618
14619 Based on patch from Javier Martín, with some adjustments.
14620
14621 2009-02-07 Michael Scherer <misc@mandriva.org>
14622
14623 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14624
14625 2009-02-07 Robert Millan <rmh@aybabtu.com>
14626
14627 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14628 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14629 after the RAID stuff.
14630
14631 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14632
14633 Fixes problem when running vbetest command as reported by
14634 Vladimir Serbinenko <phcoder@gmail.com>.
14635
14636 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14637
14638 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
14639
14640 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14641 /dev/md/NpN style mdraid devices.
14642
14643 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14644
14645 * util/unifont2pff.rb: Remove.
14646
14647 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14648
14649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14650 `#'.
14651
14652 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14653
14654 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14655 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14656 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14657 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14659 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14660 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14661
14662 2009-02-02 Christian Franke <franke@computer.org>
14663
14664 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14665
14666 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
14667
14668 * INSTALL: Note that we now require at least autoconf 2.59 and
14669 that LZO is optional.
14670
14671 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14672
14673 Base on patch on bug #24154 created by Tomas Tintera
14674 <trosos@seznam.cz>.
14675
14676 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14677
14678 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14679
14680 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
14681 <bero@arklinux.org>.
14682
14683 * normal/parser.y (script_init): Add missing semicolon.
14684
14685 2009-01-31 Colin D Bennett <colin@gibibit.com>
14686
14687 * normal/main.c: Add include to grub/menu_viewer.h.
14688 (free_menu_entry_classes): Added.
14689 (grub_normal_menu_addentry): Added class property handling.
14690 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14691 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14692
14693 * normal/menu_viewer.c: New file.
14694
14695 * normal/menu.c (run_menu_entry): Renamed to ...
14696 (grub_menu_execute_entry): ... this and made it as global.
14697 (grub_menu_run): Renamed to ...
14698 (show_text_menu): ... this and made it local.
14699 (show_text_menu): Adapt to new function names.
14700 (grub_normal_terminal_menu_viewer): New global variable.
14701
14702 * include/grub/menu.h: New file.
14703
14704 * include/grub/menu_viewer.h: New file.
14705
14706 * include/grub/normal.h: Added include to grub/menu.h.
14707 (grub_menu_entry): Moved to include/grub/menu.h.
14708 (grub_menu_entry_t): Likewise.
14709 (grub_menu): Likewise.
14710 (grub_menu_t): Likewise.
14711 (grub_normal_terminal_menu_viewer): Added.
14712 (grub_menu_execute_entry): Likewise.
14713 (grub_menu_run): Removed.
14714
14715 * DISTLIST: Added include/grub/menu.h.
14716 Added include/grub/menu_viewer.h.
14717 Added normal/menu_viewer.c.
14718
14719 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14720
14721 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14722 arglist for menutitle arguments.
14723
14724 * normal/main.c (grub_normal_menu_addentry): Likewise.
14725
14726 * normal/parser.y (menuentry): Likewise.
14727
14728 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14729
14730 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14731 (grub_script_create_cmdmenu): Likewise.
14732
14733 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14734
14735 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14736 changes.
14737
14738 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14739
14740 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14741
14742 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14743
14744 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14745
14746 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14747
14748 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14749
14750 2009-01-30 Christian Franke <franke@computer.org>
14751
14752 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14753 in option help text.
14754
14755 2009-01-27 Pavel Roskin <proski@gnu.org>
14756
14757 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14758
14759 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14760
14761 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14762
14763 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14764
14765 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14766 unregister function.
14767
14768 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14769
14770 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14771
14772 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14773
14774 * util/grub-mkfont.c (usage): Fix typo.
14775
14776 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14777
14778 2009-01-26 Daniel Mierswa <impulze@impulze.org>
14779
14780 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14781
14782 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14783
14784 * kern/misc.c (grub_strcasecmp): New function.
14785 (grub_strcasecmp): Use grub_size_t instead of int for length.
14786 Fix return value.
14787 * include/grub/misc.h: Update function prototypes.
14788
14789 2009-01-26 Robert Millan <rmh@aybabtu.com>
14790
14791 * configure.ac: Fix cross-compilation check.
14792
14793 2009-01-22 Christian Franke <franke@computer.org>
14794
14795 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14796 (precision) digit string. Allow `.format2' without `format1' (width).
14797 Limit input chars for `%s' output to `format2' if specified. This is
14798 compatible with standard printf ().
14799
14800 2009-01-22 Christian Franke <franke@computer.org>
14801
14802 * disk/ata.c (grub_ata_wait_status): Replace by ...
14803 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14804 other status bits may be invalid while BSY is asserted.
14805 (grub_ata_check_ready): New function.
14806 (grub_ata_cmd): Removed.
14807 (grub_ata_wait_drq): New function.
14808 (grub_ata_strncpy): Remove inline.
14809 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14810 and error check now done by grub_ata_wait_drq ().
14811 (grub_ata_pio_write): Likewise.
14812 (grub_atapi_identify): Set DEV before check for !BSY. Use
14813 grub_ata_wait_drq () to wait for data.
14814 (grub_ata_device_initialize): Add status register check to
14815 detect missing SATA slave devices. Add debug messages.
14816 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14817 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14818 transfer loop by grub_ata_pio_write ().
14819 (grub_ata_identify): Set DEV before check for !BSY. Use
14820 grub_ata_wait_drq () to wait for data.
14821 (grub_ata_setaddress): Set DEV before check for !BSY.
14822 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14823 read/write in one loop. Fix invalid command on write. Fix incomplete
14824 command on (size % batch) == 0. Add missing error check after write of
14825 last block. Add debug messages.
14826 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14827
14828 2009-01-19 Christian Franke <franke@computer.org>
14829
14830 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14831 (GRUB_ATAPI_IREASON_*): Likewise.
14832 (grub_ata_pio_write): Fix timeout error return.
14833 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14834 (grub_atapi_wait_drq): New function.
14835 (grub_atapi_packet): New parameter `size'.
14836 Use grub_atapi_wait_drq () and direct write instead of
14837 grub_ata_pio_write ().
14838 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14839 reads the number of bytes requested by the device for each DRQ
14840 assertion.
14841 (grub_atapi_write): Remove old implementation, return not
14842 implemented instead.
14843
14844 2009-01-19 Christian Franke <franke@computer.org>
14845
14846 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14847 of 512 to calculate data size.
14848 (grub_scsi_read12): Likewise.
14849 (grub_scsi_write10): Likewise.
14850 (grub_scsi_write12): Likewise.
14851 (grub_scsi_read): Adjust size according to blocksize.
14852 Add checks for invalid blocksize and unaligned transfer.
14853
14854 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14855
14856 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14857
14858 * term/gfxterm.c (write_char): Fix background rendering for wide
14859 width glyphs.
14860
14861 2009-01-19 Robert Millan <rmh@aybabtu.com>
14862
14863 * config.guess: Update to latest version from config git.
14864 * config.sub: Likewise.
14865
14866 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
14867
14868 * Makefile.in: Change font compilation to use new grub-mkfont instead
14869 of java version.
14870
14871 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14872 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14873 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14874 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14875 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14876 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14877 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14878 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14879 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14880
14881 2009-01-16 Christian Franke <franke@computer.org>
14882
14883 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14884 (enum grub_ata_timeout_milliseconds): New enum.
14885 (grub_ata_wait_status): Add parameter milliseconds.
14886 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14887 recovery from timed-out commands.
14888 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14889 return grub_errno instead of REG_ERROR.
14890 (grub_ata_pio_write): Add parameter milliseconds.
14891 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14892 Pass milliseconds to grub_ata_wait_status () and
14893 grub_ata_pio_read ().
14894 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14895 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14896 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14897 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14898 It is not suitable for device detection, because DEV bit is ignored,
14899 the command may run too long, and not all devices set the signature
14900 properly.
14901 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14902 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14903 Fix device selection, DEV bit must be set first to address the registers
14904 of the correct device.
14905 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14906 grub_ata_pio_read/write ().
14907 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14908 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14909
14910 2009-01-13 Carles Pina i Estany <carles@pina.cat>
14911
14912 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14913
14914 2009-01-13 Bean <bean123ch@gmail.com>
14915
14916 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14917
14918 2009-01-13 Bean <bean123ch@gmail.com>
14919
14920 * Makefile.in: (enable_grub_mkfont): New variable.
14921 (freetype_cflags): Likewise.
14922 (freetype_libs): Likewise.
14923
14924 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14925 (grub_mkfont_SOURCES): New variable.
14926 (grub_mkfont_CFLAGS): Likewise.
14927 (grub_mkfont_LDFLAGS): Likewise.
14928
14929 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14930 library if `--enable-grub-mkfont' is requested.
14931 (enable_grub_mkfont): New variable.
14932 (freetype_cflags): Likewise.
14933 (freetype_libs): Likewise.
14934
14935 * util/grub-mkfont.c: New file.
14936
14937 2009-01-12 Christian Franke <franke@computer.org>
14938
14939 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14940 mode check. Fix setting of compat_use[].
14941
14942 2009-01-10 Robert Millan <rmh@aybabtu.com>
14943
14944 Update a few copyright years which we forgot to do in 2008 (only for
14945 files whose changes made in 2008 were copyright-significant)
14946
14947 * Makefile.in: Add 2008 to Copyright line.
14948 * disk/ieee1275/ofdisk.c: Likewise.
14949 * disk/efi/efidisk.c: Likewise.
14950 * kern/dl.c: Likewise.
14951 * kern/sparc64/ieee1275/init.c: Likewise.
14952 * kern/mm.c: Likewise.
14953 * kern/efi/mm.c: Likewise.
14954 * boot/i386/pc/boot.S: Likewise.
14955 * genfslist.sh: Likewise.
14956 * fs/iso9660.c: Likewise.
14957 * fs/hfs.c: Likewise.
14958 * fs/jfs.c: Likewise.
14959 * fs/minix.c: Likewise.
14960 * fs/ufs.c: Likewise.
14961 * gensymlist.sh.in: Likewise.
14962 * genkernsyms.sh.in: Likewise.
14963 * include/grub/misc.h: Likewise.
14964 * include/grub/types.h: Likewise.
14965 * include/grub/symbol.h: Likewise.
14966 * include/grub/elf.h: Likewise.
14967 * include/grub/kernel.h: Likewise.
14968 * include/grub/disk.h: Likewise.
14969 * include/grub/dl.h: Likewise.
14970 * include/grub/i386/linux.h: Likewise.
14971 * include/grub/i386/pc/biosdisk.h: Likewise.
14972 * include/grub/efi/api.h: Likewise.
14973 * include/grub/efi/pe32.h: Likewise.
14974 * include/grub/util/misc.h: Likewise.
14975 * normal/execute.c: Likewise.
14976 * normal/arg.c: Likewise.
14977 * normal/completion.c: Likewise.
14978 * normal/lexer.c: Likewise.
14979 * normal/parser.y: Likewise.
14980 * normal/misc.c: Likewise.
14981 * commands/i386/pc/vbeinfo.c: Likewise.
14982 * commands/hexdump.c: Likewise.
14983 * commands/terminal.c: Likewise.
14984 * commands/ls.c: Likewise.
14985 * commands/help.c: Likewise.
14986 * partmap/pc.c: Likewise.
14987 * loader/efi/chainloader.c: Likewise.
14988 * loader/multiboot_loader.c: Likewise.
14989 * loader/i386/pc/multiboot2.c: Likewise.
14990 * term/efi/console.c: Likewise.
14991 * term/i386/pc/serial.c: Likewise.
14992 * util/lvm.c: Likewise.
14993 * util/console.c: Likewise.
14994 * util/i386/efi/grub-mkimage.c: Likewise.
14995 * util/raid.c: Likewise.
14996
14997 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14998
14999 * commands/videotest.c: Removed include to grub/machine/memory.h.
15000
15001 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15002 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15003 (video_mod_SOURCES): Removed.
15004 (video_mod_CFLAGS): Likewise.
15005 (video_mod_LDFLAGS): Likewise.
15006 (gfxterm_mod_SOURCES): Likewise.
15007 (gfxterm_mod_CFLAGS): Likewise.
15008 (gfxterm_mod_LDFLAGS): Likewise.
15009 (videotest_mod_SOURCES): Likewise.
15010 (videotest_mod_CFLAGS): Likewise.
15011 (videotest_mod_LDFLAGS): Likewise.
15012 (bitmap_mod_SOURCES): Likewise.
15013 (bitmap_mod_CFLAGS): Likewise.
15014 (bitmap_mod_LDFLAGS): Likewise.
15015 (tga_mod_SOURCES): Likewise.
15016 (tga_mod_CFLAGS): Likewise.
15017 (tga_mod_LDFLAGS): Likewise.
15018 (jpeg_mod_SOURCES): Likewise.
15019 (jpeg_mod_CFLAGS): Likewise.
15020 (jpeg_mod_LDFLAGS): Likewise.
15021 (png_mod_SOURCES): Likewise.
15022 (png_mod_CFLAGS): Likewise.
15023 (png_mod_LDFLAGS): Likewise.
15024
15025 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15026 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15027 (video_mod_SOURCES): Added.
15028 (video_mod_CFLAGS): Likewise.
15029 (video_mod_LDFLAGS): Likewise.
15030 (videotest_mod_SOURCES): Likewise.
15031 (videotest_mod_CFLAGS): Likewise.
15032 (videotest_mod_LDFLAGS): Likewise.
15033 (bitmap_mod_SOURCES): Likewise.
15034 (bitmap_mod_CFLAGS): Likewise.
15035 (bitmap_mod_LDFLAGS): Likewise.
15036 (tga_mod_SOURCES): Likewise.
15037 (tga_mod_CFLAGS): Likewise.
15038 (tga_mod_LDFLAGS): Likewise.
15039 (jpeg_mod_SOURCES): Likewise.
15040 (jpeg_mod_CFLAGS): Likewise.
15041 (jpeg_mod_LDFLAGS): Likewise.
15042 (png_mod_SOURCES): Likewise.
15043 (png_mod_CFLAGS): Likewise.
15044 (png_mod_LDFLAGS): Likewise.
15045 (gfxterm_mod_SOURCES): Likewise.
15046 (gfxterm_mod_CFLAGS): Likewise.
15047 (gfxterm_mod_LDFLAGS): Likewise.
15048
15049 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15050 grub/machine/console.h.
15051
15052 2009-01-04 Jerone Young <jerone@gmail.com>
15053
15054 Make on screen instructions clearer
15055
15056 Based on patch created by Jidanni <jidanni@jidanni.org>
15057
15058 * normal/menu.c: print clearer instructions on the screen
15059
15060 2009-01-02 Colin D Bennett <colin@gibibit.com>
15061
15062 New font engine.
15063
15064 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15065 build system and fixed gfxterm.c to work with different sized fonts.
15066
15067 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
15068
15069 * configure: Re-generated.
15070
15071 * DISTLIST: Removed font/manager.c.
15072 Added font/font.c.
15073 Added font/font_cmd.c.
15074
15075 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15076 compilation.
15077
15078 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
15079
15080 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
15081
15082 * kern/term.c: Changed users of grub_utf8_to_ucs4.
15083
15084 * normal/menu.c: Likewise.
15085
15086 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15087 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
15088
15089 * include/grub/font.h: Replaced with new file.
15090
15091 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15092 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15093 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15094 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15095 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
15096 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
15097 fg_red, fg_green, fg_blue, fg_alpha.
15098 (grub_video_adapter): Removed blit_glyph.
15099 (grub_video_blit_glyph): Removed.
15100
15101 * font/manager.c: Removed file.
15102
15103 * font/font.c: New file.
15104
15105 * font/font_cmd.c: Likewise.
15106
15107 * video/video.c (grub_video_blit_glyph): Removed.
15108
15109 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15110 (grub_video_vbe_map_rgba): Likewise.
15111 (grub_video_vbe_unmap_color_int): Likewise.
15112 (grub_video_vbe_blit_glyph): Removed.
15113 (grub_video_vbe_adapter): Removed blit_glyph.
15114
15115 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15116 (get_pixel): Likewise.
15117 (set_pixel): Likewise.
15118
15119 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
15120
15121 * term/gfxterm.c: Adapted to new font engine.
15122
15123 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
15124
15125 * term/i386/pc/vga.c: Likewise.
15126
15127 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
15128
15129 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15130
15131 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15132
15133 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15134
15135 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15136
15137 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15138
15139 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15140
15141 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15142
15143 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15144
15145 * util/grub.d/00_header.in: Changed to use new loadfont command.
15146
15147 * util/grub-mkconfig_lib.in: Changed font extension.
15148
15149 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
15150
15151 * util/getroot.c (grub_util_get_grub_dev): Add support for
15152 /dev/md/dNNpNN style partitionable mdraid devices.
15153
15154 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
15155
15156 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15157 at a time limit of the PXE TFTP API correctly.
15158 (grub_pxefs_close): Likewise.
15159
15160 2008-11-29 Robert Millan <rmh@aybabtu.com>
15161
15162 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
15163 grub_ata_device_initialize() calls.
15164
15165 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
15166
15167 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15168 iteration failed.
15169 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15170
15171 2008-11-28 Robert Millan <rmh@aybabtu.com>
15172
15173 Fix build on powerpc-ieee1275. Based on patch created by
15174 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15175 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15176 `kern/ieee1275/mmap.c'.
15177 * include/grub/powerpc/ieee1275/memory.h: New file.
15178
15179 Provide grub-install on coreboot.
15180 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15181 (grub_install_SOURCES): New variable.
15182 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15183 usable on coreboot.
15184
15185 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
15186
15187 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15188 to `grub_term_input_t'.
15189 (grub_term_get_current_output): Change return type to
15190 `grub_term_output_t'.
15191
15192 2008-11-22 Robert Millan <rmh@aybabtu.com>
15193
15194 Fix breakage on coreboot due to declaration mismatch.
15195 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15196 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15197 grub_vga_text_cls().
15198
15199 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
15200 comments. Avoid copying one more byte than necessary (just in case).
15201
15202 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15203 to 0x200000 (avoids trouble with some OFW implementations, and matches
15204 with the one in Yaboot).
15205 Reported by Manoel Abranches
15206
15207 2008-11-20 Robert Millan <rmh@aybabtu.com>
15208
15209 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15210 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15211
15212 * util/grub-mkconfig_lib.in (grub_warn): New function.
15213 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15214 warnings, to obtain consistent formatting.
15215 * util/grub.d/00_header.in: Likewise.
15216 * util/update-grub_lib.in: Likewise.
15217
15218 * loader/i386/linux.c (allocate_pages): Fix a warning.
15219 Move comment text to `#error' stanza.
15220
15221 Harmonize ieee1275's grub_available_iterate() with the generic
15222 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15223 build problem on i386-ieee1275):
15224 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15225 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15226 parameter `type'. Update all users of this function.
15227 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15228 `kern/ieee1275/mmap.c'.
15229 * kern/ieee1275/init.c
15230 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15231 with ...
15232 (grub_machine_mmap_iterate): ... this.
15233 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15234 return type to `grub_err_t'. Update all implementations of this
15235 function prototype.
15236 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15237 Likewise.
15238
15239 Add `lsmmap' command (lists firmware-provided memory map):
15240 * commands/lsmmap.c: New file.
15241 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15242 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15243 variables.
15244 * conf/powerpc-ieee1275.rmk: Likewise.
15245 * conf/i386-coreboot.rmk: Likewise.
15246 * conf/i386-ieee1275.rmk: Likewise.
15247
15248 2008-11-19 Robert Millan <rmh@aybabtu.com>
15249
15250 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
15251 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15252 constraints to initrd allocation (based on code from
15253 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15254 for Linux to find it.
15255
15256 2008-11-14 Robert Millan <rmh@aybabtu.com>
15257
15258 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15259 order to cope with duplicate slashes.
15260
15261 2008-11-14 Robert Millan <rmh@aybabtu.com>
15262
15263 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15264 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15265 don't want to mess with lower memory, because it is used in the Linux
15266 loader.
15267
15268 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
15269 an appropriate place in lower memory, between 0x10000 and 0x90000,
15270 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15271 is in our heap (probably as a result of it being corrupted during
15272 decompression). Add #error instance with comment to explain why this
15273 loader isn't currently usable on PC/BIOS.
15274
15275 2008-11-14 Robert Millan <rmh@aybabtu.com>
15276
15277 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
15278 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
15279
15280 2008-11-12 Robert Millan <rmh@aybabtu.com>
15281
15282 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15283
15284 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15285 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15286 from here ...
15287 * include/grub/i386/pc/memory.h: ... to here.
15288
15289 2008-11-12 Robert Millan <rmh@aybabtu.com>
15290
15291 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15292 split).
15293
15294 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15295 (grub_console_cur_color, grub_console_real_putchar)
15296 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15297 (grub_console_setcolorstate, grub_console_setcolor)
15298 (grub_console_getcolor): Move from here ...
15299 * include/grub/i386/vga_common.h: ... to here (new file).
15300
15301 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15302 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15303 `<grub/i386/io.h>'.
15304 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15305 `<grub/i386/vga_common.h>'.
15306
15307 2008-11-12 Robert Millan <rmh@aybabtu.com>
15308
15309 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15310 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15311 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15312 variables.
15313 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15314 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15315
15316 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15317 grub_console_init() with call to grub_vga_text_init().
15318 (grub_machine_fini): Replace call to
15319 grub_console_fini() with call to grub_vga_text_fini() and
15320 grub_at_keyboard_fini().
15321
15322 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15323 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15324 (grub_console_setcolorstate, grub_console_setcolor)
15325 (grub_console_getcolor): New function prototypes.
15326
15327 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15328 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15329 (grub_vga_text_setcursor): Static-ize.
15330 (grub_vga_text_term): New structure.
15331 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15332
15333 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15334 (grub_console_cur_color, grub_console_standard_color)
15335 (grub_console_normal_color, grub_console_highlight_color)
15336 (map_char, grub_console_putchar, grub_console_getcharwidth)
15337 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15338 (grub_console_getcolor): Move from here ...
15339 * term/i386/vga_common.c: ... to here (same function names).
15340
15341 2008-11-12 Robert Millan <rmh@aybabtu.com>
15342
15343 Use newly-added Multiboot support in coreboot.
15344
15345 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15346 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15347
15348 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15349 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15350 (codestart): Store the MBI in `startup_multiboot_info' when we're
15351 being loaded using Multiboot.
15352
15353 * kern/i386/coreboot/init.c (grub_machine_init): Move
15354 grub_at_keyboard_init() call to beginning of function (useful for
15355 debugging). Call grub_machine_mmap_init() before attempting to use
15356 grub_machine_mmap_iterate().
15357 (grub_lower_mem, grub_upper_mem): Move from here ...
15358 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15359 here (new file).
15360
15361 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15362 function prototype.
15363
15364 2008-11-12 Robert Millan <rmh@aybabtu.com>
15365
15366 Fix a regression introduced by the at_keyboard.mod split. Because
15367 some terminals are default on some platforms and non-default on
15368 others, the first terminal being registered determines which is
15369 going to be default.
15370
15371 * kern/term.c (grub_term_register_input): If this is the first
15372 terminal being registered, set it as the current one.
15373 (grub_term_register_output): Likewise.
15374
15375 * term/efi/console.c (grub_console_init): Do not call
15376 grub_term_set_current_output() or grub_term_set_current_input().
15377 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15378 * term/i386/pc/console.c (grub_console_init): Likewise.
15379 (grub_console_fini): Do not call grub_term_set_current_input()
15380 (but leave grub_term_set_current_output() to restore text mode).
15381
15382 2008-11-10 Robert Millan <rmh@aybabtu.com>
15383
15384 * util/grub.d/00_header.in: Add backward compatibility check for
15385 versions of terminal.mod that don't understand `terminal_input' or
15386 `terminal_output'.
15387
15388 2008-11-09 Robert Millan <rmh@aybabtu.com>
15389
15390 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15391 `terminal_input' / `terminal_output', not `terminal'.
15392
15393 2008-11-08 Robert Millan <rmh@aybabtu.com>
15394
15395 * Makefile.in (include_DATA): Fix srcdir=. assumption.
15396 (DISTCLEANFILES): Add `build_env.mk'.
15397
15398 2008-11-08 Robert Millan <rmh@aybabtu.com>
15399
15400 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
15401 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15402 members. Update all users.
15403 * util/console.c (grub_ncurses_term): Split in ...
15404 (grub_ncurses_term_input): ... this, and ...
15405 (grub_ncurses_term_output): ... this. Update all users.
15406 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
15407
15408 2008-11-08 Robert Millan <rmh@aybabtu.com>
15409
15410 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15411 (PKGDATA): Add $(pkgdata_SRCDIR).
15412 (pkglib_BUILDDIR): New variable.
15413 (pkgdata_SRCDIR): New variable.
15414 (build_env.mk): New target.
15415 (include_DATA): New variable.
15416 (install-local): Install $(include_DATA) files in $(includedir).
15417
15418 2008-11-07 Pavel Roskin <proski@gnu.org>
15419
15420 * gendistlist.sh: Use C locale for sorting to ensure consistent
15421 output on all systems.
15422
15423 * util/grub.d/00_header.in: Remove incorrect space before
15424 "serial".
15425
15426 2008-11-07 Robert Millan <rmh@aybabtu.com>
15427
15428 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15429 per specification.
15430 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15431 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15432 (based on find_multi_boot1_header).
15433 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15434 using find_multi_boot2_header(), and abort if neither Multiboot or
15435 Multiboot headers were found.
15436
15437 2008-11-07 Robert Millan <rmh@aybabtu.com>
15438
15439 Modularize at_keyboard.mod:
15440
15441 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15442 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15443 (at_keyboard_mod_LDFLAGS): New variables.
15444
15445 Actual terminal split:
15446
15447 * include/grub/term.h (struct grub_term): Split in ...
15448 (struct grub_term_input): ... this, and ...
15449 (struct grub_term_output): ... this. Update all users.
15450 (grub_term_set_current): Split in ...
15451 (grub_term_set_current_input): ... this, and ...
15452 (grub_term_set_current_output): ... this.
15453 (grub_term_get_current): Split in ...
15454 (grub_term_get_current_input): ... this, and ...
15455 (grub_term_get_current_output): ... this.
15456 (grub_term_register): Split in ...
15457 (grub_term_register_input): ... this, and ...
15458 (grub_term_register_output): ... this.
15459 (grub_term_unregister): Split in ...
15460 (grub_term_unregister_input): ... this, and ...
15461 (grub_term_unregister_output): ... this.
15462 (grub_term_iterate): Split in ...
15463 (grub_term_iterate_input): ... this, and ...
15464 (grub_term_iterate_output): ... this.
15465
15466 * kern/term.c (grub_term_list): Split in ...
15467 (grub_term_list_input): ... this, and ...
15468 (grub_term_list_output): ... this. Update all users.
15469 (grub_cur_term): Split in ...
15470 (grub_cur_term_input): ... this, and ...
15471 (grub_cur_term_output): ... this. Update all users.
15472 (grub_term_set_current): Split in ...
15473 (grub_term_set_current_input): ... this, and ...
15474 (grub_term_set_current_output): ... this.
15475 (grub_term_get_current): Split in ...
15476 (grub_term_get_current_input): ... this, and ...
15477 (grub_term_get_current_output): ... this.
15478 (grub_term_register): Split in ...
15479 (grub_term_register_input): ... this, and ...
15480 (grub_term_register_output): ... this.
15481 (grub_term_unregister): Split in ...
15482 (grub_term_unregister_input): ... this, and ...
15483 (grub_term_unregister_output): ... this.
15484 (grub_term_iterate): Split in ...
15485 (grub_term_iterate_input): ... this, and ...
15486 (grub_term_iterate_output): ... this.
15487
15488 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15489 a check for input and one for output (and only attempt to get keys
15490 from user when input works).
15491
15492 * util/grub-probe.c (grub_term_get_current): Split in ...
15493 (grub_term_get_current_input): ... this, and ...
15494 (grub_term_get_current_output): ... this.
15495 * util/grub-fstest.c: Likewise.
15496 * util/i386/pc/grub-setup.c: Likewise.
15497 * util/grub-editenv.c: Likewise.
15498
15499 Portability adjustments:
15500
15501 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15502 `term/i386/pc/at_keyboard.c'.
15503 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15504 grub_keyboard_controller_init() (now handled by terminal .init).
15505 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15506 grub_at_keyboard_init().
15507 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15508 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15509 at_keyboard.mod via input terminal interface).
15510 * include/grub/i386/coreboot/console.h: Convert into a stub for
15511 `<grub/i386/pc/console.h>'.
15512
15513 Migrate full terminals to new API:
15514
15515 * term/efi/console.c (grub_console_term): Split into ...
15516 (grub_console_term_input): ... this, and ...
15517 (grub_console_term_output): ... this. Update all users.
15518 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15519 (grub_ofconsole_init): Split into ...
15520 (grub_ofconsole_init_input): ... this, and ...
15521 (grub_ofconsole_init_output): ... this.
15522 (grub_ofconsole_term): Split into ...
15523 (grub_ofconsole_term_input): ... this, and ...
15524 (grub_ofconsole_term_output): ... this. Update all users.
15525 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15526 (grub_serial_term_input): ... this, and ...
15527 (grub_serial_term_output): ... this. Update all users.
15528 * term/i386/pc/console.c (grub_console_term): Split into ...
15529 (grub_console_term_input): ... this, and ...
15530 (grub_console_term_output): ... this. Update all users.
15531 (grub_console_term_input): Only enable it on PC/BIOS platform.
15532 (grub_console_init): Remove grub_keyboard_controller_init() call.
15533
15534 Migrate input terminals to new API:
15535
15536 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15537 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15538 i386-specific anyway).
15539 (grub_console_checkkey): Rename to ...
15540 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15541 users.
15542 (grub_keyboard_controller_orig): New variable.
15543 (grub_console_getkey): Rename to ...
15544 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15545 users.
15546 (grub_keyboard_controller_init): Static-ize. Save original
15547 controller value so that it can be restored ...
15548 (grub_keyboard_controller_fini): ... here (new function).
15549 (grub_at_keyboard_term): New structure.
15550 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15551 functions.
15552
15553 Migrate output terminals to new API:
15554
15555 * term/i386/pc/vga.c (grub_vga_term): Change type to
15556 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15557 members. Update all users.
15558 * term/gfxterm.c (grub_video_term): Change type to
15559 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15560 members. Update all users.
15561 * include/grub/i386/pc/console.h (grub_console_checkkey)
15562 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15563 etc).
15564
15565 Migrate `terminal' command and userland tools to new API:
15566
15567 * commands/terminal.c (grub_cmd_terminal): Split into ...
15568 (grub_cmd_terminal_input): ... this, and ...
15569 (grub_cmd_terminal_output): ... this.
15570 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15571 `terminal_input' and `terminal_output'.
15572 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15573 `terminal_input' / `terminal_output' API.
15574 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15575 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15576 provided ${GRUB_TERMINAL}, convert it).
15577
15578 2008-11-04 Robert Millan <rmh@aybabtu.com>
15579
15580 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15581 for FreeBSD.
15582 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15583
15584 2008-11-03 Bean <bean123ch@gmail.com>
15585
15586 * kern/elf.c (grub_elf32_load): Revert to previous code.
15587 (grub_elf64_load): Likewise.
15588
15589 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15590
15591 2008-11-01 Robert Millan <rmh@aybabtu.com>
15592
15593 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15594 (TARGET_CPPFLAGS): Likewise.
15595 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15596
15597 2008-11-01 Carles Pina i Estany <carles@pina.cat>
15598
15599 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15600
15601 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15602
15603 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15604 addition of objects until the code is not going to be able to fail.
15605
15606 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15607
15608 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15609 (add a missing NULL check, and correct them by moving the pointer
15610 operations after the actual check).
15611
15612 2008-10-29 Robert Millan <rmh@aybabtu.com>
15613
15614 * util/i386/pc/grub-install.in: Handle empty string as output from
15615 make_system_path_relative_to_its_root().
15616
15617 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15618
15619 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15620 circular metadata worst case scenario. If the metadata is circular
15621 then copy the wrap in place.
15622 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15623 project lib/format_text/layout.h
15624 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15625
15626 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15627
15628 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
15629
15630 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15631
15632 * util/update-grub_lib.in: Mention filename in warning message.
15633
15634 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15635
15636 * NEWS: Update for rename of update-grub to grub-mkconfig.
15637
15638 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15639
15640 * util/update-grub_lib.in: Copy to ...
15641 * util/grub-mkconfig_lib.in: ... this. Update all users.
15642 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
15643 * util/update-grub.in: Rename to ...
15644 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15645 option. Add `--output' option to allow users to specify the generated
15646 configuration file. Default to stdout.
15647 (update_grub_dir): Rename to ...
15648 (grub_mkconfig_dir): ... this.
15649 (grub_cfg): Default to an empty string.
15650 * conf/common.rmk (update-grub): Rename to ...
15651 (grub-mkconfig): ... this.
15652 (update-grub_lib): Copy to ...
15653 (grub-mkconfig_lib): ... this.
15654 (update-grub_SCRIPTS): Copy to ...
15655 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15656 (update-grub_DATA): Rename to ...
15657 (grub-mkconfig_DATA): ... this.
15658
15659 2008-09-28 Robert Millan <rmh@aybabtu.com>
15660
15661 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15662 to `modified'. Add the real `created' field.
15663 (grub_iso9660_uuid): Use `modified' rather than `created' for
15664 constructing the UUID.
15665
15666 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
15667
15668 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15669 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15670
15671 2008-09-28 Bean <bean123ch@gmail.com>
15672
15673 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15674 Thanks to Christian Franke for finding this bug.
15675
15676 2008-09-25 Robert Millan <rmh@aybabtu.com>
15677
15678 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15679 instances of grub_util_get_disk_name() (see previous commit).
15680
15681 2008-09-25 Robert Millan <rmh@aybabtu.com>
15682
15683 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15684 `util/i386/get_disk_name.c'.
15685 * conf/i386-efi.rmk: Likewise.
15686 * conf/x86_64-efi.rmk: Likewise.
15687 * conf/i386-coreboot.rmk: Likewise.
15688 * conf/i386-ieee1275.rmk: Likewise.
15689 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15690 `util/ieee1275/get_disk_name.c'.
15691 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15692 * util/ieee1275/get_disk_name.c: Remove file.
15693 * util/i386/get_disk_name.c: Remove file.
15694 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15695 "hd%d" for device.map entries, rather than using
15696 grub_util_get_disk_name().
15697
15698 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15699
15700 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15701 warning.
15702 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15703
15704 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15705
15706 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15707 Changed to 0x5100.
15708 (GRUB_TERM_PPAGE): Changed to 0x4900.
15709
15710 2008-09-24 Robert Millan <rmh@aybabtu.com>
15711
15712 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15713 macros (they were i386-pc specific).
15714 * include/grub/sparc64/ieee1275/console.h: Likewise.
15715 * include/grub/efi/console.h: Likewise.
15716
15717 2008-09-22 Bean <bean123ch@gmail.com>
15718
15719 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15720 resident and in attribute list.
15721
15722 * include/grub/ntfs.h (BMP_LEN): Removed.
15723
15724 2008-09-22 Bean <bean123ch@gmail.com>
15725
15726 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
15727 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15728
15729 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15730 error occurs, as grub_disk_open will call grub_disk_close, which will
15731 call p->close (scsi).
15732
15733 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15734
15735 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15736 (AC_PREREQ): Bumped to 2.59.
15737 (AC_TRY_COMPILE): Replace obsolete macro with ...
15738 (AC_COMPILE_IFELSE): ... this.
15739 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15740 (AC_LINK_IFELSE): ... this.
15741
15742 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15743
15744 * autogen.sh: Add a call to `gendistlist.sh'.
15745
15746 2008-09-19 Christian Franke <franke@computer.org>
15747
15748 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15749 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15750 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15751 Export __enable_execute_stack() to modules.
15752 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15753 New function.
15754
15755 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15756
15757 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15758 Sort the list.
15759
15760 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15761
15762 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
15763 #include <grub/util/hostdisk.h>.
15764
15765 2008-09-08 Robert Millan <rmh@aybabtu.com>
15766
15767 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15768 segments when their filesz is zero (grub_file_read() interprets
15769 zero-size as "read until EOF", which results in memory corruption).
15770 Use `lowest_segment' rather than 0 for calculating the current
15771 segment load address.
15772
15773 2008-09-08 Robert Millan <rmh@aybabtu.com>
15774
15775 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15776 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15777 clobbered useful information.
15778
15779 2008-09-08 Robert Millan <rmh@aybabtu.com>
15780
15781 * include/grub/util/biosdisk.h: Move to ...
15782 * include/grub/util/hostdisk.h: ... here. Update all users.
15783 * util/biosdisk.c: Move to ...
15784 * util/hostdisk.c: ... here. Update all users.
15785
15786 2008-09-07 Robert Millan <rmh@aybabtu.com>
15787
15788 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15789 variables.
15790 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15791 and length can be stored directly in the `mbi->mmap_addr' and
15792 `mbi->mmap_length' struct fields.
15793
15794 2008-09-07 Robert Millan <rmh@aybabtu.com>
15795
15796 * conf/i386.rmk: New file. Provides declaration for building
15797 `cpuid.mod'.
15798 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15799 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15800 variables.
15801 Include `conf/i386.mk'.
15802 * conf/i386-efi.rmk: Likewise.
15803 * conf/x86_64-efi.rmk: Likewise.
15804 * conf/i386-coreboot.rmk: Likewise.
15805 * conf/i386-ieee1275.rmk: Likewise.
15806
15807 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15808
15809 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15810 Adds optimization support for BGR based modes.
15811
15812 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15813 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15814 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15815 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15816 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15817 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15818 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15819 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15820 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15821 (grub_video_i386_vbeblit_index_index): Likewise.
15822 (grub_video_i386_vbeblit_replace_directN): Added.
15823 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15824 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15825 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15826 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15827 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15828 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15829 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15830 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15831 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15832 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15833 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15834 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15835 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15836
15837 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15838 (grub_video_i386_vbefill_R8G8B8): Likewise.
15839 (grub_video_i386_vbefill_index): Likewise.
15840 (grub_video_i386_vbefill_direct32): Added.
15841 (grub_video_i386_vbefill_direct24): Likewise.
15842 (grub_video_i386_vbefill_direct16): Likewise.
15843 (grub_video_i386_vbefill_direct8): Likewise.
15844
15845 * include/grub/video.h (grub_video_blit_format): Removed
15846 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15847 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15848 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15849 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15850 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
15851
15852 * video/video.c (grub_video_get_blit_format): Updated to use new
15853 blit formats. Added handling for 16 bit color modes.
15854
15855 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
15856 fillers.
15857 (common_blitter): Updated to use new blitters.
15858
15859 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15860 Removed.
15861 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15862 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15863 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15864 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15865 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15866 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15867 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15868 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15869 (grub_video_i386_vbeblit_index_index): Likewise.
15870 (grub_video_i386_vbeblit_replace_directN): Added.
15871 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15872 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15873 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15874 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15875 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15876 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15877 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15878 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15879 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15880 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15881 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15882 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15883 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15884
15885 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15886 (grub_video_i386_vbefill_R8G8B8): Likewise.
15887 (grub_video_i386_vbefill_index): Likewise.
15888 (grub_video_i386_vbefill_direct32): Added.
15889 (grub_video_i386_vbefill_direct24): Likewise.
15890 (grub_video_i386_vbefill_direct16): Likewise.
15891 (grub_video_i386_vbefill_direct8): Likewise.
15892
15893 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15894 types.
15895
15896 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15897 types.
15898
15899 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15900 blitter types.
15901
15902 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15903 types.
15904
15905 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
15906
15907 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15908 RAID level 1.
15909
15910 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
15911
15912 * fs/iso9660.c (grub_iso9660_date): New structure.
15913 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15914 (grub_iso9660_uuid): New function.
15915
15916 2008-09-05 Bean <bean123ch@gmail.com>
15917
15918 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15919
15920 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15921 insensitive bit for names in Win32 and Win32 & DOS namespace.
15922
15923 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15924
15925 * include/grub/types.h (LONG_MAX): Likewise.
15926
15927 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
15928
15929 * util/getroot.c: Include <config.h>.
15930 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15931 add support for /dev/md/N devices and handle LVM double dash escaping.
15932
15933 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
15934
15935 * config.guess: Update to latest version from config git.
15936 * config.sub: Likewise.
15937
15938 2008-09-03 Robert Millan <rmh@aybabtu.com>
15939
15940 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15941 `disk->total_sectors'.
15942
15943 2008-09-01 Colin D Bennett <colin@gibibit.com>
15944
15945 * include/grub/normal.h: Fixed incorrect comment for
15946 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15947
15948 2008-09-01 Colin D Bennett <colin@gibibit.com>
15949
15950 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15951 values with defines.
15952
15953 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15954 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15955 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15956 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15957 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15958 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15959 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15960 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15961 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15962 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15963 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15964 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15965 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15966 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15967 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15968 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15969 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15970 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15971 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15972
15973 2008-08-31 Robert Millan <rmh@aybabtu.com>
15974
15975 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15976 declaration.
15977 (grub_multiboot): Fix a few warnings.
15978
15979 2008-08-31 Robert Millan <rmh@aybabtu.com>
15980
15981 * loader/i386/pc/multiboot.c: Update comment not to say that
15982 boot_device support is unimplemented.
15983
15984 2008-08-31 Robert Millan <rmh@aybabtu.com>
15985
15986 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15987 or memory map support are unimplemented.
15988
15989 2008-08-31 Colin D Bennett <colin@gibibit.com>
15990
15991 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15992
15993 2008-08-31 Colin D Bennett <colin@gibibit.com>
15994
15995 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15996 total video memory in 'vbeinfo' output; show color format details for
15997 each video mode.
15998
15999 2008-08-30 Pavel Roskin <proski@gnu.org>
16000
16001 * util/genmoddep.c: Remove for real this time.
16002 * DISTLIST: Remove util/genmoddep.c.
16003
16004 2008-08-30 Robert Millan <rmh@aybabtu.com>
16005
16006 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16007 as required by Multiboot spec (it was already 4-byte aligned, but
16008 only by chance).
16009
16010 2008-08-29 Pavel Roskin <proski@gnu.org>
16011
16012 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16013 * kern/powerpc/ieee1275/startup.S: ... this.
16014 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16015 * DISTLIST: Likewise.
16016
16017 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16018 grub/cpu/kernel.h. Add start label for consistency with other
16019 platforms. Add grub_prefix immediately after start. Add jump
16020 to the code after grub_prefix.
16021 * include/grub/powerpc/kernel.h: Provide valid values for
16022 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16023
16024 2008-08-29 Bean <bean123ch@gmail.com>
16025
16026 * configure.ac: Change host_os to cygwin for mingw.
16027 (asprintf): New check for function.
16028
16029 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16030 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16031
16032 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
16033 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
16034 sync, sleep and grub_util_get_disk_size for mingw.
16035
16036 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16037 to get size in mingw.
16038 (open_device): Use flag O_BINARY if it's defined.
16039 (find_root_device): Add dummy code for mingw.
16040
16041 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16042 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16043 (get_scsi_disk_name): Return 0 for mingw.
16044
16045 * util/hostfs.c: #include <grub/util/misc.h>.
16046 (grub_hostfs_open): Use "rb" flag to open file, use
16047 grub_util_get_disk_size to get disk size for mingw.
16048
16049 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16050 (asprintf): New function if HAVE_ASPRINTF is not set.
16051 (sync): New function for mingw.
16052 (sleep): Likewise.
16053 (grub_util_get_disk_size): Likewise.
16054
16055 2008-08-28 Pavel Roskin <proski@gnu.org>
16056
16057 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16058 kern/time.c.
16059
16060 2008-08-28 Robert Millan <rmh@aybabtu.com>
16061
16062 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16063
16064 2008-08-28 Robert Millan <rmh@aybabtu.com>
16065
16066 Change find_grub_drive() syntax so it doesn't prevent it from
16067 detecting NULL names as errors.
16068
16069 * util/biosdisk.c (find_grub_drive): Move free slot search code
16070 from here ...
16071 (find_free_slot): ... to here.
16072 (read_device_map): Use find_free_slot() to search for free slots.
16073
16074 2008-08-27 Marco Gerards <marco@gnu.org>
16075
16076 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16077 (scsi_mod_SOURCES): New variable.
16078 (scsi_mod_CFLAGS): Likewise
16079 (scsi_mod_LDFLAGS): Likewise.
16080
16081 * disk/scsi.c: New file.
16082
16083 * include/grub/scsi.h: Likewise.
16084
16085 * include/grub/scsicmd.h: Likewise.
16086
16087 * disk/ata.c: Include <grub/scsi.h>.
16088 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16089 instead.
16090 (grub_ata_iterate): Skip ATAPI devices.
16091 (grub_ata_open): Only handle ATAPI devices.
16092 (struct grub_atapi_read): Removed.
16093 (grub_atapi_readsector): Likewise.
16094 (grub_ata_read): No longer handle ATAPI devices.
16095 (grub_ata_write): Likewise.
16096 (grub_atapi_iterate): New function.
16097 (grub_atapi_read): Likewise.
16098 (grub_atapi_write): Likewise.
16099 (grub_atapi_open): Likewise.
16100 (grub_atapi_close): Likewise.
16101 (grub_atapi_dev): New variable.
16102 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16103 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16104
16105 * include/grub/disk.h (enum grub_disk_dev_id): Add
16106 `GRUB_DISK_DEVICE_SCSI_ID'.
16107
16108 2008-08-26 Robert Millan <rmh@aybabtu.com>
16109
16110 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16111 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16112 descriptive.
16113
16114 2008-08-23 Bean <bean123ch@gmail.com>
16115
16116 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16117 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16118 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16119 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16120 dm_nv.mod.
16121 (raid5rec_mod_SOURCES): New macro.
16122 (raid5rec_mod_CFLAGS): Likewise.
16123 (raid5rec_mod_LDFLAGS): Likewise.
16124 (raid6rec_mod_SOURCES): Likewise.
16125 (raid6rec_mod_CFLAGS): Likewise.
16126 (raid6rec_mod_LDFLAGS): Likewise.
16127 (mdraid_mod_SOURCES): Likewise.
16128 (mdraid_mod_CFLAGS): Likewise.
16129 (mdraid_mod_LDFLAGS): Likewise.
16130 (dm_nv_mod_SOURCES): Likewise.
16131 (dm_nv_mod_CFLAGS): Likewise.
16132 (dm_nv_mod_LDFLAGS): Likewise.
16133
16134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16135 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16136 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16137
16138 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16139 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16140
16141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16142
16143 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16144
16145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16146
16147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16148
16149 * disk/raid5_recover.c: New file.
16150
16151 * disk/raid6_recover.c: Likewise.
16152
16153 * disk/mdraid_linux.c: Likewise.
16154
16155 * disk/dmraid_nvidia.c: Likewise.
16156
16157 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16158 ULONG_MAX.
16159
16160 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16161 calculate the size of raid device.
16162 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16163 different layout of raid5.
16164 (grub_raid_scan_device): Remove code specific to mdraid.
16165 (grub_raid_list): New variable.
16166 (free_array): New function.
16167 (grub_raid_register): Likewise.
16168 (grub_raid_unregister): Likewise.
16169 (grub_raid_rescan): Likewise.
16170 (GRUB_MOD_INIT): Don't iterate device here.
16171 (GRUB_MOD_FINI): Use free_array to release resource.
16172
16173 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16174 (grub_raid5_recover_func_t): New function variable type.
16175 (grub_raid6_recover_func_t): Likewise.
16176 (grub_raid5_recover_func): New variable.
16177 (grub_raid6_recover_func): Likewise.
16178 (grub_raid_register): New function.
16179 (grub_raid_unregister): Likewise.
16180 (grub_raid_rescan): Likewise.
16181 (grub_raid_block_xor): Likewise.
16182
16183 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16184 (CMD_CRC): New macro.
16185 (part): Removed.
16186 (read_file): Handle device as well as file.
16187 (cmd_crc): New function.
16188 (fstest): Handle multiple disks.
16189 (options): Remove part, raw and long, add root and diskcount.
16190 (usage): Add crc, remove -p, -r, -l, add -r and -c.
16191 (main): Find the first non option entry and ignore subsequent options,
16192 add handling for the new options, support multiple disks.
16193
16194 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16195
16196 2008-08-23 Bean <bean123ch@gmail.com>
16197
16198 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16199
16200 * genfslist.sh: Ignore kernel.mod.
16201
16202 * genpartmaplist.sh: Likewise.
16203
16204 2008-08-23 Robert Millan <rmh@aybabtu.com>
16205
16206 * util/getroot.c (find_root_device): Skip anything that starts with
16207 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16208
16209 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
16210
16211 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16212 * util/grub.d/00_header.in: Allow the administrator to change default
16213 gfxmode via ${GRUB_GFXMODE}.
16214
16215 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
16216
16217 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16218
16219 2008-08-21 Robert Millan <rmh@aybabtu.com>
16220
16221 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16222 loader.
16223 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16224 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16225
16226 2008-08-20 Carles Pina i Estany <carles@pina.cat>
16227
16228 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16229 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16230
16231 2008-08-19 Robert Millan <rmh@aybabtu.com>
16232
16233 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16234 (struct grub_virtual_screen): Remove `cursor_color'.
16235 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16236 initialization.
16237 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16238
16239 2008-08-18 Robert Millan <rmh@aybabtu.com>
16240
16241 Unify (identical) linux_normal.c files.
16242 * loader/i386/efi/linux_normal.c: Move from here ...
16243 * loader/linux_normal.c: ... to here. Update all users.
16244 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16245 * loader/i386/ieee1275/linux_normal.c: Likewise.
16246
16247 2008-08-18 Robert Millan <rmh@aybabtu.com>
16248
16249 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16250 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16251 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16252 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16253 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16254 New macros.
16255 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16256 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16257 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16258 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16259 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16260 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16261 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16262 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16263 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16264 portably using grub_getxy().
16265 Replace `-EFI' with `-bzImage' in boot message.
16266
16267 2008-08-17 Robert Millan <rmh@aybabtu.com>
16268
16269 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16270
16271 2008-08-17 Robert Millan <rmh@aybabtu.com>
16272
16273 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16274
16275 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16276 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16277 (grub_machine_mmap_iterate): New function declaration.
16278 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16279 structure.
16280 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16281 macros.
16282
16283 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16284 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16285 Move e820 parsing from here ...
16286 * kern/i386/pc/mmap.c: New file.
16287 (grub_machine_mmap_iterate): ... to here.
16288
16289 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16290 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16291 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16292 (grub_available_iterate): Redeclare to return `void', and redeclare
16293 its hook to use grub_uint64_t as addr and size parameters, and rename
16294 to ...
16295 (grub_machine_mmap_iterate): ... this. Update all users.
16296
16297 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16298 to make it more readable. Rename to ...
16299 (grub_machine_mmap_iterate): ... this.
16300
16301 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16302 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16303 (grub_multiboot): Allocate an extra region after the payload, and fill
16304 it with a Multiboot memory map. Adjust a.out loader to calculate size
16305 with the extra space.
16306 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16307 with the extra space.
16308
16309 2008-08-17 Carles Pina i Estany <carles@pina.cat>
16310
16311 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
16312
16313 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
16314
16315 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16316 mdate-sh to the list `find' searches for.
16317 * DISTLIST: Regenerated.
16318
16319 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
16320
16321 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16322 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
16323 genmoddep.awk, gensymlist.sh.in.
16324 (DISTDIRS): Add bus, docs, hook, lib.
16325 * DISTLIST: Regenerated.
16326 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
16327
16328 2008-08-16 Robert Millan <rmh@aybabtu.com>
16329
16330 * disk/raid.c (grub_raid_init): Handle/report errors set by
16331 grub_device_iterate().
16332 * disk/lvm.c (grub_lvm_init): Likewise.
16333
16334 2008-08-15 Bean <bean123ch@gmail.com>
16335
16336 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16337 and datehook.mod.
16338 (datetime_mod_SOURCES): New macro.
16339 (datetime_mod_CFLAGS): Likewise.
16340 (datetime_mod_LDFLAGS): Likewise.
16341 (date_mod_SOURCES): Likewise.
16342 (date_mod_CFLAGS): Likewise.
16343 (date_mod_LDFLAGS): Likewise.
16344 (datehook_mod_SOURCES): Likewise.
16345 (datehook_mod_CFLAGS): Likewise.
16346 (datehook_mod_LDFLAGS): Likewise.
16347
16348 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16349 and datehook.mod.
16350 (datetime_mod_SOURCES): New macro.
16351 (datetime_mod_CFLAGS): Likewise.
16352 (datetime_mod_LDFLAGS): Likewise.
16353 (date_mod_SOURCES): Likewise.
16354 (date_mod_CFLAGS): Likewise.
16355 (date_mod_LDFLAGS): Likewise.
16356 (datehook_mod_SOURCES): Likewise.
16357 (datehook_mod_CFLAGS): Likewise.
16358 (datehook_mod_LDFLAGS): Likewise.
16359
16360 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16361 and datehook.mod.
16362 (datetime_mod_SOURCES): New macro.
16363 (datetime_mod_CFLAGS): Likewise.
16364 (datetime_mod_LDFLAGS): Likewise.
16365 (date_mod_SOURCES): Likewise.
16366 (date_mod_CFLAGS): Likewise.
16367 (date_mod_LDFLAGS): Likewise.
16368 (datehook_mod_SOURCES): Likewise.
16369 (datehook_mod_CFLAGS): Likewise.
16370 (datehook_mod_LDFLAGS): Likewise.
16371
16372 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16373 and datehook.mod.
16374 (datetime_mod_SOURCES): New macro.
16375 (datetime_mod_CFLAGS): Likewise.
16376 (datetime_mod_LDFLAGS): Likewise.
16377 (date_mod_SOURCES): Likewise.
16378 (date_mod_CFLAGS): Likewise.
16379 (date_mod_LDFLAGS): Likewise.
16380 (datehook_mod_SOURCES): Likewise.
16381 (datehook_mod_CFLAGS): Likewise.
16382 (datehook_mod_LDFLAGS): Likewise.
16383
16384 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16385 and datehook.mod.
16386 (datetime_mod_SOURCES): New macro.
16387 (datetime_mod_CFLAGS): Likewise.
16388 (datetime_mod_LDFLAGS): Likewise.
16389 (date_mod_SOURCES): Likewise.
16390 (date_mod_CFLAGS): Likewise.
16391 (date_mod_LDFLAGS): Likewise.
16392 (datehook_mod_SOURCES): Likewise.
16393 (datehook_mod_CFLAGS): Likewise.
16394 (datehook_mod_LDFLAGS): Likewise.
16395
16396 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16397
16398 * commands/date.c: New file.
16399
16400 * hook/datehook.c: Likewise.
16401
16402 * include/grub/lib/datetime.h: Likewise.
16403
16404 * include/grub/i386/cmos.h: Likewise.
16405
16406 * lib/datetime.c: Likewise.
16407
16408 * lib/i386/datetime.c: Likewise.
16409
16410 * lib/efi/datetime.c: Likewise.
16411
16412 2008-08-14 Robert Millan <rmh@aybabtu.com>
16413
16414 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16415 (grub_mkelfimage_SOURCES): New variable.
16416 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16417
16418 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16419 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16420 * conf/powerpc-ieee1275.rmk: Likewise.
16421 * conf/i386-ieee1275.rmk: Likewise.
16422
16423 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16424 * kern/i386/coreboot/init.c: Likewise.
16425
16426 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16427 with `<grub/cpu/kernel.h>'.
16428 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16429 to ...
16430 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16431 * kern/i386/coreboot/startup.S: Likewise.
16432
16433 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16434 (GRUB_MOD_GAP): Remove.
16435 * include/grub/powerpc/kernel.h: New file.
16436 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16437 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16438 * include/grub/i386/kernel.h: New file.
16439 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16440 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16441 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16442
16443 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16444 `grub-mkelfimage'.
16445 Use --directory when invoking grub_mkimage.
16446
16447 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16448 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16449 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16450 and GRUB_KERNEL_CPU_PREFIX.
16451
16452 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
16453
16454 * include/grub/err.h (grub_err_printf): New function prototype.
16455 * util/misc.c (grub_err_printf): New function.
16456 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16457 grub_printf.
16458 * kern/err.c (grub_print_error): Use grub_err_printf.
16459
16460 2008-08-13 Robert Millan <rmh@aybabtu.com>
16461
16462 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16463
16464 2008-08-13 Robert Millan <rmh@aybabtu.com>
16465
16466 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16467 boot entry.
16468
16469 2008-08-12 Robert Millan <rmh@aybabtu.com>
16470
16471 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16472 of the relocation code from here ...
16473 (grub_multiboot): ... to here.
16474 (forward_relocator, backward_relocator): Move from here ...
16475 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16476 (grub_multiboot_backward_relocator): ... to here.
16477 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16478 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16479 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16480 (grub_multiboot_forward_relocator_end)
16481 (grub_multiboot_backward_relocator)
16482 (grub_multiboot_backward_relocator_end): New variables.
16483
16484 2008-08-12 Bean <bean123ch@gmail.com>
16485
16486 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16487
16488 2008-08-11 Robert Millan <rmh@aybabtu.com>
16489
16490 * kern/i386/linuxbios/startup.S: Move from here ...
16491 * kern/i386/coreboot/startup.S: ... to here.
16492
16493 * kern/i386/linuxbios/init.c: Move from here ...
16494 * kern/i386/coreboot/init.c: ... to here.
16495
16496 * kern/i386/linuxbios/table.c: Move from here ...
16497 * kern/i386/coreboot/mmap.c: ... to here.
16498
16499 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16500
16501 2008-08-11 Robert Millan <rmh@aybabtu.com>
16502
16503 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16504 errors. Leave it to the upper layer to handle them.
16505
16506 2008-08-09 Christian Franke <franke@computer.org>
16507
16508 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16509 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16510 Install `grub.d/10_windows' only on Cygwin.
16511 * configure.ac: Add subst of `target_os'.
16512 Check `target_os' also before setting TARGET_OBJ2ELF.
16513 Add `--enable-grub-pe2elf'.
16514
16515 2008-08-08 Robert Millan <rmh@aybabtu.com>
16516
16517 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16518 (grub_last_time): Change type to grub_uint64_t.
16519 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16520 (grub_disk_close): Likewise.
16521
16522 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16523 (run_menu): Migrate code from to using grub_get_time_ms().
16524
16525 * util/misc.c (grub_get_time_ms): New function.
16526
16527 2008-08-08 Marco Gerards <marco@gnu.org>
16528
16529 * disk/ata.c (grub_ata_regget): Change return type to
16530 `grub_uint8_t'.
16531 (grub_ata_regget2): Likewise.
16532 (grub_ata_wait_status): New function.
16533 (grub_ata_wait_busy): Removed function, updated all users to use
16534 `grub_ata_wait_status'.
16535 (grub_ata_wait_drq): Likewise.
16536 (grub_ata_cmd): New function.
16537 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16538 error handling.
16539 (grub_ata_pio_write): Add error handling.
16540 (grub_atapi_identify): Likewise.
16541 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16542 handling.
16543 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16544 handling. Actually use the detected registers. Reorder the
16545 detection logic such that it is easier to read.
16546 (grub_ata_pciinit): Do not assign the same ID to each controller.
16547 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16548 handling.
16549 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16550
16551 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16552
16553 2008-08-08 Marco Gerards <marco@gnu.org>
16554
16555 * NEWS: Update.
16556
16557 2008-08-07 Bean <bean123ch@gmail.com>
16558
16559 * include/grub/x86_64/pci.h: New file.
16560
16561 2008-08-07 Christian Franke <franke@computer.org>
16562
16563 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16564 (TIMER2_GATE): Likewise.
16565 (grub_pit_wait): Add enable/disable of the timer2 gate
16566 bit of port 0x61. This fixes a possible infinite loop.
16567
16568 2008-08-07 Bean <bean123ch@gmail.com>
16569
16570 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16571 kern/i386/tsc.c and kern/i386/pit.c.
16572
16573 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16574 x86_64 platform.
16575
16576 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16577 <grub/i386/tsc.h>.
16578
16579 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16580
16581 2008-08-07 Bean <bean123ch@gmail.com>
16582
16583 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16584
16585 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16586
16587 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16588 multiple inclusion. Add #include <grub/types.h>.
16589
16590 2008-08-06 Christian Franke <franke@computer.org>
16591
16592 * conf/common.rmk: Build and install `10_windows'.
16593 * util/grub.d/10_windows.in: New script.
16594
16595 2008-08-06 Pavel Roskin <proski@gnu.org>
16596
16597 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16598
16599 2008-08-06 Robert Millan <rmh@aybabtu.com>
16600
16601 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16602 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16603
16604 2008-08-06 Bean <bean123ch@gmail.com>
16605
16606 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16607 (grub_pxefs_fs_int): Remove dummy definition.
16608 (grub_pxefs_open): Use data->block_size to store the current block
16609 size setting.
16610 (grub_pxefs_read): Use block size stored in data->block_size. As the
16611 value of grub_pxe_blksize can be changed after the file is opened.
16612
16613 2008-08-06 Bean <bean123ch@gmail.com>
16614
16615 * fs/i386/pc/pxe.c (curr_file): new variable.
16616 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16617 require the dummy internal file system anymore.
16618 (grub_pxefs_read): Removed.
16619 (grub_pxefs_close): Likewise.
16620 (grub_pxefs_fs_int): Likewise.
16621 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16622 connection when we switch file.
16623 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16624
16625 2008-08-06 Robert Millan <rmh@aybabtu.com>
16626
16627 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16628 `halt.mod'.
16629 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16630 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16631
16632 * kern/i386/halt.c: New file.
16633 * kern/i386/reboot.c: Likewise.
16634 * include/grub/i386/reboot.h: Likewise.
16635 * include/grub/i386/halt.h: Likewise.
16636
16637 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16638 Include `<grub/cpu/halt.h>'.
16639 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16640 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16641
16642 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16643 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16644 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16645 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16646 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16647 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16648 from here ...
16649 * include/grub/i386/at_keyboard.h: ... to here.
16650
16651 2008-08-05 Robert Millan <rmh@aybabtu.com>
16652
16653 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16654 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16655 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16656 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16657 `kern/generic/millisleep.c'.
16658
16659 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16660 instead of grub_get_rtc().
16661 (grub_tsc_init): Initialize `tsc_boot_time'.
16662
16663 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16664 (grub_machine_init): Use grub_tsc_init() rather than
16665 installing an RTC-based handler via grub_install_get_time_ms().
16666
16667 * kern/i386/pit.c: New file.
16668 * include/grub/i386/pit.h: Likewise.
16669
16670 2008-08-05 Bean <bean123ch@gmail.com>
16671
16672 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16673
16674 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16675 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16676 (pxe_mod_SOURCES): New macro.
16677 (pxe_mod_CFLAGS): Likewise.
16678 (pxe_mod_LDFLAGS): Likewise.
16679 (pxecmd_mod_SOURCES): Likewise.
16680 (pxecmd_mod_CFLAGS): Likewise.
16681 (pxecmd_mod_LDFLAGS): Likewise.
16682
16683 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16684 (grub_pxe_call): Likewise.
16685
16686 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16687
16688 * commands/i386/pc/pxecmd.c: New file.
16689
16690 * fs/i386/pc/pxe.c: Likewise.
16691
16692 * include/grub/i386/pc/pxe.h: Likewise.
16693
16694 2008-08-05 Bean <bean123ch@gmail.com>
16695
16696 * util/console.c (grub_console_cur_color): New variable.
16697 (grub_console_standard_color): Likewise.
16698 (grub_console_normal_color): Likewise.
16699 (grub_console_highlight_color): Likewise.
16700 (color_map): Likewise.
16701 (use_color): Likewise.
16702 (NUM_COLORS): New macro.
16703 (grub_ncurses_setcolorstate): Handle color properly.
16704 (grub_ncurses_setcolor): Don't change color here, just remember the
16705 settings, color will be set in grub_ncurses_setcolorstate.
16706 (grub_ncurses_getcolor): New function.
16707 (grub_ncurses_init): Initialize color pairs.
16708 (grub_ncurses_term): New member grub_ncurses_getcolor.
16709
16710 2008-08-05 Colin D Bennett <colin@gibibit.com>
16711
16712 High resolution timer support. Implemented for x86 CPUs using TSC.
16713 Extracted generic grub_millisleep() so it's linked in only as needed.
16714 This requires a Pentium compatible CPU; if the RDTSC instruction is
16715 not supported, then it falls back on the generic grub_get_time_ms()
16716 implementation that uses the machine's RTC.
16717
16718 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16719 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16720 `kern/generic/millisleep.c'.
16721
16722 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16723 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16724
16725 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16726 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16727
16728 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16729
16730 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16731 `kern/generic/millisleep.c'.
16732
16733 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16734
16735 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16736
16737 * kern/generic/rtc_get_time_ms.c: New file.
16738
16739 * kern/generic/millisleep.c: New file.
16740
16741 * kern/misc.c: Don't include
16742 <kern/time.h> anymore.
16743 (grub_millisleep_generic): Removed.
16744
16745 * commands/sleep.c (grub_interruptible_millisleep): Uses
16746 grub_get_time_ms() instead of grub_get_rtc().
16747
16748 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16749 function.
16750 (grub_cpu_is_cpuid_supported): New inline function.
16751 (grub_cpu_is_tsc_supported): New inline function.
16752 (grub_tsc_init): New function prototype.
16753 (grub_tsc_get_time_ms): New function prototype.
16754
16755 * kern/i386/tsc.c (grub_get_time_ms): New file.
16756
16757 * include/grub/time.h: Include <grub/types.h.
16758 (grub_millisleep_generic): Removed.
16759 (grub_get_time_ms): New prototype.
16760 (grub_install_get_time_ms): New prototype.
16761 (grub_rtc_get_time_ms): New prototype.
16762
16763 * kern/time.c (grub_get_time_ms): New function.
16764 (grub_install_get_time_ms): New function.
16765
16766 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16767 <grub/time.h> anymore.
16768 (grub_millisleep): Removed.
16769 (grub_machine_init): Call grub_tsc_init.
16770
16771 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16772 get_time_ms() implementation.
16773
16774 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16775 (ieee1275_get_time_ms): New function.
16776 (grub_machine_init): Install get_time_ms() implementation.
16777
16778 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16779 (grub_machine_init): Call grub_tsc_init().
16780 (grub_millisleep): Removed.
16781
16782 * kern/ieee1275/init.c (grub_millisleep): Removed.
16783 (grub_machine_init): Install ieee1275_get_time_ms()
16784 implementation.
16785 (ieee1275_get_time_ms): New function.
16786 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16787 real work.
16788
16789 2008-08-05 Marco Gerards <marco@gnu.org>
16790
16791 * disk/ata.c: Include <grub/pci.h>.
16792 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16793 (grub_ata_initialize): Rewritten.
16794 (grub_ata_device_initialize): New function.
16795
16796 2008-08-04 Pavel Roskin <proski@gnu.org>
16797
16798 * kern/main.c: Include grub/mm.h.
16799
16800 2008-08-04 Robert Millan <rmh@aybabtu.com>
16801
16802 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16803 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16804 corruption problem).
16805
16806 2008-08-04 Robert Millan <rmh@aybabtu.com>
16807
16808 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16809 warnings introduced in my last commit.
16810
16811 2008-08-03 Robert Millan <rmh@aybabtu.com>
16812
16813 Make PCI available on all i386 architectures.
16814
16815 * include/grub/i386/pc/pci.h: Move from here ...
16816 * include/grub/i386/pci.h: ... to here.
16817
16818 * include/grub/i386/pc/pci.h: Remove.
16819 * include/grub/i386/efi/pci.h: Remove.
16820 * include/grub/x86_64/efi/pci.h: Remove.
16821
16822 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16823 `<grub/cpu/pci.h>'.
16824
16825 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16826 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16827 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16828
16829 * conf/i386-ieee1275.rmk: Likewise.
16830
16831 2008-08-03 Robert Millan <rmh@aybabtu.com>
16832
16833 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16834 (grub_console_setcursor): Make it possible to set cursor off.
16835
16836 2008-08-03 Robert Millan <rmh@aybabtu.com>
16837
16838 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16839 of modules instead of assuming which platform provides what.
16840 * util/update-grub.in: Likewise.
16841
16842 2008-08-03 Robert Millan <rmh@aybabtu.com>
16843
16844 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16845 instead of `grub_install_dos_part' to determine whether a drive needs
16846 to be prepended to prefix (`grub_install_dos_part' is not reliable,
16847 because it can be overridden when loading GRUB via Multiboot).
16848
16849 2008-08-02 Robert Millan <rmh@aybabtu.com>
16850
16851 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16852
16853 2008-08-02 Robert Millan <rmh@aybabtu.com>
16854
16855 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16856 of informational grub_dprintf() calls.
16857
16858 2008-08-02 Robert Millan <rmh@aybabtu.com>
16859
16860 * disk/memdisk.c (memdisk_size): Don't initialize.
16861 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16862
16863 * include/grub/i386/pc/kernel.h
16864 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16865 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16866 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16867 (grub_arch_memdisk_size): Remove.
16868
16869 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16870 field (was only used to transfer a constant). Add `type' field to
16871 support multiple module types.
16872 (grub_module_iterate): New function.
16873
16874 * kern/device.c (grub_device_open): Do not hide error messages
16875 when grub_disk_open() fails. Use grub_print_error() instead.
16876
16877 * kern/i386/pc/init.c (grub_arch_modules_addr)
16878 (grub_arch_memdisk_size): Remove functions.
16879 (grub_arch_modules_addr): Return the module address in high memory
16880 (now that it isn't copied anymore).
16881
16882 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16883 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16884 decompression routine (grub_total_module_size already includes that
16885 now). Don't copy modules back to low memory.
16886
16887 * kern/main.c: Include `<grub/mm.h>'.
16888 (grub_load_modules): Split out (and use) ...
16889 (grub_module_iterate): ... this function, which iterates through
16890 module objects and runs a hook.
16891 Comment out grub_mm_init_region() call, as it would cause non-ELF
16892 modules to be overwritten.
16893
16894 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16895 the memdisk image in its own region, make it part of the module list.
16896 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16897 (main): Parse --memdisk|-m option, and pass user-provided path as
16898 parameter to generate_image().
16899 (add_segments): Pass `memdisk_path' down to load_modules().
16900 (load_modules): Embed memdisk image in module section when requested.
16901 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16902 `header.type' instead of `header.offset'.
16903
16904 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16905 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16906 (memdisk_mod_LDFLAGS): New variables.
16907 * conf/i386-coreboot.rmk: Likewise.
16908 * conf/i386-ieee1275.rmk: Likewise.
16909
16910 2008-08-02 Robert Millan <rmh@aybabtu.com>
16911
16912 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16913 (backward_relocator): New variables. Used to allocate and relocate
16914 the payload, respectively.
16915 (grub_multiboot_load_elf32): Load into heap instead of requested
16916 address, install the appropriate relocator code in each bound of
16917 the payload, and set the entry point such that
16918 grub_multiboot_real_boot() will jump to one of them.
16919
16920 * kern/i386/loader.S (grub_multiboot_payload_size)
16921 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16922 (grub_multiboot_payload_entry_offset): New variables.
16923 (grub_multiboot_real_boot): Set cpu context to what the relocator
16924 expects, and jump to the relocator instead of the payload.
16925
16926 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16927 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16928 (grub_multiboot_payload_entry_offset): Export.
16929
16930 2008-08-01 Bean <bean123ch@gmail.com>
16931
16932 * normal/menu_entry.c (editor_getline): Don't return the original
16933 string as result, as it will be released by lexer once it has done
16934 using it.
16935
16936 2008-08-01 Robert Millan <rmh@aybabtu.com>
16937
16938 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16939 within menuentries, not before them.
16940 util/grub.d/10_hurd.in: Likewise.
16941
16942 2008-08-01 Bean <bean123ch@gmail.com>
16943
16944 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16945 (bufio_mod_SOURCES): New macro.
16946 (bufio_mod_CFLAGS): Likewise.
16947 (bufio_mod_LDFLAGS): Likewise.
16948
16949 * include/grub/bufio.h: New file.
16950
16951 * io/bufio.c: Likewise.
16952
16953 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16954 (grub_video_reader_png): Use grub_buffile_open to open file.
16955
16956 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16957 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16958
16959 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16960 (grub_video_reader_tga): Use grub_buffile_open to open file.
16961
16962 * font/manager.c: Include <grub/bufio.h>.
16963 (add_font): Use grub_buffile_open to open file.
16964
16965 2008-07-31 Robert Millan <rmh@aybabtu.com>
16966
16967 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16968 ELF segments, use a macro for arbitrarily accessing any of them instead
16969 of preparing a pointer that allows access to one at a time.
16970 (grub_multiboot_load_elf64): Likewise.
16971
16972 2008-07-31 Bean <bean123ch@gmail.com>
16973
16974 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16975 GRUB_KERNEL_MACHINE_DATA_END.
16976
16977 2008-07-30 Robert Millan <rmh@aybabtu.com>
16978
16979 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16980 Increase from 0x50 to 0x60.
16981 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16982 use UUIDs to identify the root drive for them. If that's not
16983 possible, abort.
16984 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16985 check, for cross-disk installs.
16986
16987 2008-07-30 Robert Millan <rmh@aybabtu.com>
16988
16989 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16990 is non-empty, use it to set the `prefix' environment variable instead
16991 of the usual approach.
16992 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16993 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16994 environment variable instead of dummy make_install_device().
16995
16996 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16997 (start): Insert a data section, with `grub_prefix' variable.
16998 * kern/i386/linuxbios/startup.S: Likewise.
16999
17000 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17001 New variable reference.
17002 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17003 New macro. Defines offset of `grub_prefix' within startup.S (relative
17004 to `start').
17005 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17006 section within startup.S (relative to `start').
17007 * include/grub/i386/coreboot/kernel.h: Likewise.
17008
17009 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17010 Overwrite grub_prefix with its contents, at the beginning of the
17011 first segment.
17012 (main): Understand -p|--prefix.
17013
17014 2008-07-30 Robert Millan <rmh@aybabtu.com>
17015
17016 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17017
17018 2008-07-30 Robert Millan <rmh@aybabtu.com>
17019
17020 * term/i386/pc/vga_text.c (grub_console_cls): Use
17021 grub_console_gotoxy() to go back to beginning of the screen.
17022 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17023
17024 2008-07-29 Christian Franke <franke@computer.org>
17025
17026 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17027 Add conversion of emulated mount points on Cygwin.
17028
17029 2008-07-29 Christian Franke <franke@computer.org>
17030
17031 * util/update-grub.in: Add a check for admin
17032 group on Cygwin.
17033 Remove old `grub.cfg.new' before creation.
17034 Add `-f' to `mv' to handle the different filesystem
17035 semantics of Windows.
17036
17037 2008-07-29 Bean <bean123ch@gmail.com>
17038
17039 * normal/main.c (get_line): Fix buffer overflow bug.
17040
17041 2008-07-28 Robert Millan <rmh@aybabtu.com>
17042
17043 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17044 (struct grub_apple_header): New struct. Describes the layout of
17045 the partmap header.
17046 (apple_partition_map_iterate): Check the header magic as well as the
17047 partition magic (which was already being checked).
17048
17049 2008-07-28 Pavel Roskin <proski@gnu.org>
17050
17051 * genmk.rb: Add a warning to the beginning of the output that
17052 it's a generated file and should not be edited.
17053
17054 2008-07-28 Robert Millan <rmh@aybabtu.com>
17055
17056 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17057 with the same number are found, just use issue a warning with
17058 grub_dprintf(), as this error has been reported to be non-fatal.
17059
17060 2008-07-27 Robert Millan <rmh@aybabtu.com>
17061
17062 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17063 information.
17064
17065 2008-07-27 Bean <bean123ch@gmail.com>
17066
17067 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17068 (grub_fat_find_dir): Ignore case when comparing filename.
17069
17070 2008-07-27 Bean <bean123ch@gmail.com>
17071
17072 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17073 smallino, as it's more descriptive, and i8count can be confused with
17074 the other field count.
17075 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17076 inode type.
17077
17078 2008-07-27 Bean <bean123ch@gmail.com>
17079
17080 * commands/crc.c: New file.
17081
17082 * lib/crc.c: Likewise.
17083
17084 * include/grub/lib/crc.h: Likewise.
17085
17086 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17087
17088 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17089 (hexdump): Move this function to ...
17090
17091 * lib/hexdump.c: ... here.
17092
17093 * include/grub/hexdump.h: Renamed to ...
17094
17095 * include/grub/lib/hexdump.h: ... this.
17096
17097 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17098
17099 * util/grub-editenv.c: Likewise.
17100
17101 * include/envblk.h: Renamed to ...
17102
17103 * include/lib/envblk.h: ... this.
17104
17105 * util/envblk.c: Renamed to ...
17106
17107 * lib/envblk.c: ... this.
17108
17109 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17110 lib/hexdump.c.
17111 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17112 (pkglib_MODULES): Add crc.mod.
17113 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17114 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17115 (crc_mod_SOURCES): New macro.
17116 (crc_mod_CFLAGS): Likewise.
17117 (crc_mod_LDFLAGS): Likewise.
17118
17119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17120
17121 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17122
17123 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17124
17125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17126
17127 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17128
17129 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
17130
17131 * commands/help.c: Include <grub/term.h>.
17132 (TERM_WIDTH): Removed. Updated all users.
17133
17134 2008-07-27 Pavel Roskin <proski@gnu.org>
17135
17136 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17137 spurious warnings about a comment within a comment.
17138
17139 2008-07-25 Robert Millan <rmh@aybabtu.com>
17140
17141 * util/getroot.c (find_root_device): Skip devices that match
17142 /dev/dm-[0-9]. This lets the real device be found for any type of
17143 abstraction (LVM, EVMS, RAID..).
17144 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17145 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17146 device is found first, find_root_device() will now skip it.
17147
17148 2008-07-24 Pavel Roskin <proski@gnu.org>
17149
17150 * include/grub/types.h: Use __builtin_bswap32() and
17151 __builtin_bswap64() with gcc 4.3 and newer.
17152
17153 2008-07-24 Christian Franke <franke@computer.org>
17154
17155 * util/i386/pc/grub-install.in: If `--debug' is specified,
17156 pass `--verbose' to grub-setup.
17157 Abort script if make_system_path_relative_to_its_root() fails.
17158
17159 2008-07-24 Bean <bean123ch@gmail.com>
17160
17161 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17162 variable `target_platform' should be `platform'.
17163
17164 2008-07-24 Bean <bean123ch@gmail.com>
17165
17166 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
17167 (grub_png_init_fixed_block): New function.
17168 (grub_png_decode_image_data): Handle fixed huffman code compression.
17169
17170 2008-07-24 Bean <bean123ch@gmail.com>
17171
17172 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17173 (grub_pe2elf_SOURCES): New macro.
17174 (CLEANFILES): Add grub-pe2elf.
17175
17176 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17177 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17178 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17179 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17180 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17181 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17182 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17183 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17184 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17185 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17186 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17187 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17188 (GRUB_PE32_DT_FUNCTION): Likewise.
17189 (GRUB_PE32_REL_I386_DIR32): Likewise.
17190 (GRUB_PE32_REL_I386_REL32): Likewise.
17191 (grub_pe32_symbol): New structure.
17192 (grub_pe32_reloc): Likewise.
17193
17194 * util/grub-pe2elf.c: New file.
17195
17196 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17197 start symbol in non pc platform.
17198
17199 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17200
17201 The following patches are from Christian Franke.
17202
17203 * include/grub/dl.h: Remove .previous, gas supports this only
17204 for ELF format.
17205
17206 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17207 Remove .type, gas supports this only for ELF format.
17208
17209 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17210 nullbytes in symbol table. This fixes an infinite loop if table is
17211 zero filled.
17212
17213 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17214 TARGET_IMG_LDFLAGS and EXEEXT.
17215
17216 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17217 TARGET_IMG_LDFLAGS_AC.
17218 (grub_CHECK_STACK_ARG_PROBE): New function.
17219
17220 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17221
17222 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17223
17224 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17225 to set TARGET_IMG_LD* accordingly.
17226 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17227 Add call to grub_CHECK_STACK_ARG_PROBE.
17228 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17229
17230 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17231
17232 * genmk.rb: Add EXEEXT to CLEANFILES.
17233
17234 2008-07-23 Robert Millan <rmh@aybabtu.com>
17235
17236 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17237 define the codes for arrows and lines used for the menu).
17238 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17239 as well.
17240
17241 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17242 fonts, because the latter are too slow.
17243
17244 2008-07-21 Bean <bean123ch@gmail.com>
17245
17246 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17247 a20. Run keyboard test last, as it will cause macbook to halt.
17248
17249 2008-07-18 Pavel Roskin <proski@gnu.org>
17250
17251 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17252 load foreign architecture modules correctly anyway. Keep
17253 support for loading host architecture modules, whether we
17254 compile them or not.
17255
17256 2008-07-17 Pavel Roskin <proski@gnu.org>
17257
17258 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17259 change target_cpu. The compiler default can mismatch target_cpu
17260 in any case.
17261
17262 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17263 * kern/efi/efi.c: Likewise.
17264
17265 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17266 target compiler is functional.
17267 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17268 are set up.
17269
17270 * configure.ac: Default to efi platform for x86_64-apple. Allow
17271 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17272 adjustments from the rest, only do them if target is not
17273 explicitly given. Merge other adjustments with the final sanity
17274 check. Remove an extraneous check for supported CPU. Be
17275 specific which CPU and which platform is not supported.
17276
17277 * configure.ac: Default to pc platform for x86_64.
17278
17279 2008-07-17 Robert Millan <rmh@aybabtu.com>
17280
17281 Partial LinuxBIOS -> Coreboot rename.
17282
17283 * conf/i386-linuxbios.rmk: Renamed to ...
17284 * conf/i386-coreboot.rmk: ... this.
17285 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17286 * configure.ac: Accept "coreboot" as input platform (but maintain
17287 compatibility with "linuxbios").
17288 * include/grub/i386/linuxbios: Renamed to ...
17289 * include/grub/i386/coreboot: ... this.
17290
17291 2008-07-17 Bean <bean123ch@gmail.com>
17292
17293 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
17294 (appleldr_mod_SOURCE): New variable.
17295 (appleldr_mod_CFLAGS): Likewise.
17296 (appleldr_mod_LDFLAGS): Likewise.
17297 (pci_mod_SOURCES): Likewise.
17298 (pci_mod_CFLAGS): Likewise.
17299 (pci_mod_LDFLAGS): Likewise.
17300 (lspci_mod_SOURCES): Likewise.
17301 (lspci_mod_CFLAGS): Likewise.
17302 (lspci_mod_LDFLAGS): Likewise.
17303
17304 * conf/x86_64-efi.rmk: New file.
17305
17306 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17307 macro.
17308 (grub_efidisk_write): Likewise.
17309
17310 * include/efi/api.h (efi_call_0): New macro.
17311 (efi_call_1): Likewise.
17312 (efi_call_2): Likewise.
17313 (efi_call_3): Likewise.
17314 (efi_call_4): Likewise.
17315 (efi_call_5): Likewise.
17316 (efi_call_6): Likewise.
17317
17318 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17319 grub_rescue_cmd_chainloader.
17320
17321 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17322 (grub_pe32_optional_header): Change some fields based on i386 or
17323 x86_64 platform.
17324 (GRUB_PE32_PE32_MAGIC): Likewise.
17325
17326 * include/grub/efi/uga_draw.h: New file.
17327
17328 * include/grub/elf.h (STN_ABS): New constant.
17329 (R_X86_64_NONE): Relocation constant for x86_64.
17330 (R_X86_64_64): Likewise.
17331 (R_X86_64_PC32): Likewise.
17332 (R_X86_64_GOT32): Likewise.
17333 (R_X86_64_PLT32): Likewise.
17334 (R_X86_64_COPY): Likewise.
17335 (R_X86_64_GLOB_DAT): Likewise.
17336 (R_X86_64_JUMP_SLOT): Likewise.
17337 (R_X86_64_RELATIVE): Likewise.
17338 (R_X86_64_GOTPCREL): Likewise.
17339 (R_X86_64_32): Likewise.
17340 (R_X86_64_32S): Likewise.
17341 (R_X86_64_16): Likewise.
17342 (R_X86_64_PC16): Likewise.
17343 (R_X86_64_8): Likewise.
17344 (R_X86_64_PC8): Likewise.
17345
17346 * include/grub/i386/efi/pci.h: New file.
17347
17348 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17349 Change it value based on platform.
17350 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17351 (GRUB_E820_RAM): Likewise.
17352 (GRUB_E820_RESERVED): Likewise.
17353 (GRUB_E820_ACPI): Likewise.
17354 (GRUB_E820_NVS): Likewise.
17355 (GRUB_E820_EXEC_CODE): Likewise.
17356 (GRUB_E820_MAX_ENTRY): Likewise.
17357 (grub_e820_mmap): New structure.
17358 (linux_kernel_header): Change the efi field according to different
17359 kernel version, also field from linux_kernel_header.
17360
17361 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17362
17363 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17364 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17365 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17366 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17367 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17368 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17369 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17370 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17371 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17372 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17373
17374 * include/grub/x86_64/efi/kernel.h: New file.
17375
17376 * include/grub/x86_64/efi/loader.h: Likewise.
17377
17378 * include/grub/x86_64/efi/machine.h: Likewise.
17379
17380 * include/grub/x86_64/efi/pci.h: Likewise.
17381
17382 * include/grub/x86_64/efi/time.h: Likewise.
17383
17384 * include/grub/x86_64/linux.h: Likewise.
17385
17386 * include/grub/x86_64/setjmp.h: Likewise.
17387
17388 * include/grub/x86_64/time.h: Likewise.
17389
17390 * include/grub/x86_64/types.h: Likewise.
17391
17392 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17393 GRUB_TARGET_SIZEOF_VOID_P.
17394
17395 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17396 (grub_efi_locate_handle): Likewise.
17397 (grub_efi_open_protocol): Likewise.
17398 (grub_efi_set_text_mode): Likewise.
17399 (grub_efi_stall): Likewise.
17400 (grub_exit): Likewise.
17401 (grub_reboot): Likewise.
17402 (grub_halt): Likewise.
17403 (grub_efi_exit_boot_services): Likewise.
17404 (grub_get_rtc): Likewise.
17405
17406 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17407 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17408 (grub_efi_allocate_pages): Wrap efi calls.
17409 (grub_efi_free_pages): Wrap efi calls.
17410 (grub_efi_get_memory_map): Wrap efi calls.
17411
17412 * kern/x86_64/dl.c: New file.
17413
17414 * kern/x86_64/efi/callwrap.S: Likewise.
17415
17416 * kern/x86_64/efi/startup.S: Likewise.
17417
17418 * loader/efi/appleloader.c: Likewise.
17419
17420 * loader/efi/chainloader.c (cmdline): New variable.
17421 (grub_chainloader_unload): Wrap efi calls.
17422 (grub_chainloader_boot): Likewise.
17423 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17424 command line.
17425
17426 * loader/efi/chainloader_normal.c (chainloader_command):
17427 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17428 command line.
17429
17430 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17431 method.
17432 (grub_e820_add_region): New function.
17433 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17434 booting.
17435 (grub_find_video_card): New function.
17436 (grub_linux_setup_video): New function.
17437 (grub_rescue_cmd_linux): Probe for video information.
17438
17439 * normal/x86_64/setjmp.S: New file.
17440
17441 * term/efi/console.c (map_char): New function.
17442 (grub_console_putchar): Map unicode char.
17443 (grub_console_checkkey): Wrap efi calls.
17444 (grub_console_getkey): Likewise.
17445 (grub_console_getwh): Likewise.
17446 (grub_console_gotoxy): Likewise.
17447 (grub_console_cls): Likewise.
17448 (grub_console_setcolorstate): Likewise.
17449 (grub_console_setcursor): Likewise.
17450
17451 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17452
17453 2008-07-16 Pavel Roskin <proski@gnu.org>
17454
17455 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17456 format strings.
17457
17458 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17459 pointer, not an integer. This fixes a warning and prevents
17460 precision loss on 64-bit systems.
17461 (relocate_addresses): Remove unneeded cast.
17462
17463 2008-07-15 Pavel Roskin <proski@gnu.org>
17464
17465 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17466
17467 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17468
17469 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17470 Fix comparison between signed and unsigned.
17471
17472 * include/grub/i386/ieee1275/console.h: Declare
17473 grub_console_init() and grub_console_fini().
17474
17475 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17476 It's empty and unused.
17477
17478 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17479 beginning to avoid warnings with some compilers.
17480
17481 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17482 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17483
17484 2008-07-14 Pavel Roskin <proski@gnu.org>
17485
17486 * kern/env.c (grub_register_variable_hook): Don't copy empty
17487 string, it leaks memory. Pass "" to grub_env_set(), it should
17488 handle constant strings.
17489
17490 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17491 * commands/cmp.c (grub_cmd_cmp): Likewise.
17492 * kern/dl.c (grub_dl_flush_cache): Likewise.
17493 (grub_dl_load_core): Likewise.
17494 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17495 (grub_elf64_load_phdrs): Likewise.
17496
17497 2008-07-13 Pavel Roskin <proski@gnu.org>
17498
17499 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17500 between signed and unsigned.
17501 (LzmaEnc_Finish): Fix warning about an unused parameter.
17502
17503 2008-07-13 Bean <bean123ch@gmail.com>
17504
17505 * Makefile.in (enable_lzo): New rule.
17506
17507 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17508
17509 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17510
17511 * boot/i386/pc/lnxboot.S: #include <config.h>.
17512
17513 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
17514 its value according to the compression algorithm used, lzo or lzma.
17515
17516 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17517 compression algorithm according to configure macro.
17518
17519 * kern/i386/pc/startup.S (codestart): Likewise.
17520
17521 * kern/i386/pc/lzma_decode.S: New file.
17522
17523 * include/grub/lib/LzFind.h: Likewise.
17524
17525 * include/grub/lib/LzHash.h: Likewise.
17526
17527 * include/grub/lib/LzmaDec.h: Likewise.
17528
17529 * include/grub/lib/LzmaEnc.h: Likewise.
17530
17531 * include/grub/lib/LzmaTypes.h: Likewise.
17532
17533 * lib/LzFind.c: Likewise.
17534
17535 * lib/LzmaDec.c: Likewise.
17536
17537 * lib/LzmaEnc.c: Likewise.
17538
17539 2008-07-13 Bean <bean123ch@gmail.com>
17540
17541 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17542 (grub_ext4_extent_header): New structure.
17543 (grub_ext4_extent): Likewise.
17544 (grub_ext4_extent_idx): Likewise.
17545 (grub_ext4_find_leaf): New function.
17546 (grub_ext2_read_block): Handle extents.
17547
17548 2008-07-12 Robert Millan <rmh@aybabtu.com>
17549
17550 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17551
17552 2008-07-11 Robert Millan <rmh@aybabtu.com>
17553
17554 * util/grub.d/40_custom.in: New file. Example on how to add custom
17555 entries to /etc/grub.d.
17556 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17557 40_custom (implicitly, by merging all the grub.d rules).
17558
17559 2008-07-11 Pavel Roskin <proski@gnu.org>
17560
17561 * commands/read.c (grub_getline): Fix invalid memory access.
17562 Don't add newline to the variable value.
17563
17564 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17565 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17566 (serial_hw_get_port): Check validity of the port number.
17567 (grub_cmd_serial): Check return value of serial_hw_get_port().
17568
17569 2008-07-07 Pavel Roskin <proski@gnu.org>
17570
17571 * boot/i386/pc/diskboot.S (notification_string): Replace
17572 "Loading kernel" with just "loading". This is shorter, less
17573 confusing and saves a few bytes for possible future changes.
17574
17575 2008-07-05 Pavel Roskin <proski@gnu.org>
17576
17577 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17578 size for ATAPI devices, they are undefined. Output sector
17579 number in decimal form.
17580
17581 * disk/ata.c: Use named constants for status bits.
17582
17583 2008-07-04 Pavel Roskin <proski@gnu.org>
17584
17585 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17586 grub_addr_t before casting it to the void pointer to fix a
17587 warning. Non-addressable regions are discarded earlier.
17588 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17589 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17590 (check_signature): Don't shadow table_header.
17591 (grub_linuxbios_table_iterate): Cast numeric constants to
17592 grub_linuxbios_table_header_t.
17593 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17594 grub_stop().
17595
17596 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17597 prevent warnings.
17598
17599 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17600 pointer, which can cause warnings. Support 64-bit addresses.
17601
17602 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17603 of sizeof(long). This fixes PowerPC image generation on x86_64.
17604
17605 2008-07-04 Robert Millan <rmh@aybabtu.com>
17606
17607 This fixes a performance issue when pc & gpt partmap iterators
17608 didn't abort iteration even after our hook found what it was
17609 looking for (often causing expensive probes of non-existent drives).
17610
17611 Some callers relied on previous buggy behaviour, since they would
17612 raise an error when their own hooks caused early abortion of its
17613 iteration.
17614
17615 * kern/device.c (grub_device_open): Improve error message.
17616 * disk/lvm.c (grub_lvm_open): Likewise.
17617 * disk/raid.c (grub_raid_open): Likewise.
17618
17619 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17620 when hook requests it, independently of grub_errno.
17621 (pc_partition_map_probe): Do not fail when find_func() caused
17622 early abortion of pc_partition_map_iterate().
17623
17624 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17625 when hook requests it, independently of grub_errno.
17626 (gpt_partition_map_probe): Do not fail when find_func() caused
17627 early abortion of gpt_partition_map_iterate().
17628
17629 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17630 when hook requests it, independently of grub_errno. Do not fail when
17631 part_map_iterate_hook() caused early abortion of p->iterate().
17632
17633 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17634 when grub_partition_iterate() returned with non-zero.
17635
17636 2008-07-03 Pavel Roskin <proski@gnu.org>
17637
17638 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17639 like we do in grub_ata_pio_read().
17640 (grub_ata_readwrite): Always write individual sectors. Fix the
17641 sector count for the remainder.
17642 (grub_ata_write): Enable writing to ATA devices. Correctly
17643 report error for ATAPI devices.
17644
17645 2008-07-02 Pavel Roskin <proski@gnu.org>
17646
17647 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17648 warning.
17649
17650 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17651 for every read sector, we already increment it for the whole
17652 batch. This fixes reading more than 256 sectors at once.
17653
17654 * util/grub-editenv.c (cmd_info): Cast argument to long
17655 explicitly. ptrdiff_t reduces to int on i386.
17656
17657 * util/grub-editenv.c (main): Be specific which parameter is
17658 missing.
17659
17660 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17661 (memdisk): Make memdisk_orig_addr a pointer.
17662
17663 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17664 for file offsets, use grub_off_t instead. Fix printf format
17665 warnings.
17666
17667 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17668 there. Real unexpected warnings should not drown in the noise
17669 about known problems.
17670
17671 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17672 grub_disk_addr_t for memory addresses.
17673
17674 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17675 explicitly to fix a warning.
17676
17677 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17678
17679 * Makefile.in (MODULE_LDFLAGS): New variable.
17680 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17681 the linker accepts --build-id=none.
17682 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17683 MODULE_LDFLAGS.
17684 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17685
17686 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17687 those in Linux XFS code. Provide a way to access 64-bit parent
17688 inode.
17689 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17690 the end of struct grub_xfs_dir_header.
17691
17692 2008-07-02 Bean <bean123ch@gmail.com>
17693
17694 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17695 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17696 and GRUB_IEEE1275_FLAG_NO_ANSI.
17697
17698 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17699 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17700 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17701
17702 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17703 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17704
17705 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17706 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17707
17708 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17709 esc sequence on non ANSI terminal.
17710 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17711
17712 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17713 beginning of file.
17714
17715 2008-07-02 Bean <bean123ch@gmail.com>
17716
17717 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17718 (grub_editenv_SOURCES): New variable.
17719 (pkglib_MODULES): Add loadenv.mod.
17720 (loadenv_mod_SOURCES): New variable.
17721 (loadenv_mod_CFLAGS): Likewise.
17722 (loadenv_mod_LDFLAGS): Likewise.
17723
17724 * include/grub/envblk.h: New file.
17725
17726 * util/envblk.c: New file.
17727
17728 * util/grub-editenv.c: New file.
17729
17730 * commands/loadenv.c: New file.
17731
17732 2008-07-01 Pavel Roskin <proski@gnu.org>
17733
17734 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17735 not unsigned char. This fixes warnings and is consistent with
17736 other tags.
17737
17738 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17739
17740 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17741
17742 * term/tparm.c (analyze): Always set *popcount.
17743
17744 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17745 cast to fix a warning.
17746
17747 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17748 cast to suppress a warning.
17749
17750 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17751 grub_fshelp_read_file() expects.
17752
17753 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17754 write uuid as a 32-bit value in CPU byte order, so declare and
17755 use it as such.
17756
17757 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17758 long if the format specifier expects it.
17759 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17760 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17761 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17762 long to fix a warning.
17763 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17764 grub_dprintf() arguments to fix warnings.
17765
17766 2008-06-30 Pavel Roskin <proski@gnu.org>
17767
17768 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17769 install_bsd_part immediately before core.img is embedded or
17770 modified on disk. This fixes core.img verification if core.img
17771 cannot be embedded.
17772
17773 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17774 core_path to calculate the blocklist.
17775 Patch from Javier Martín <lordhabbit@gmail.com>
17776
17777 2008-06-29 Robert Millan <rmh@aybabtu.com>
17778
17779 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17780 block to disk block.
17781 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17782 Patch from Niels Böhm <bitbucket@arcor.de>
17783
17784 2008-06-29 Robert Millan <rmh@aybabtu.com>
17785
17786 * util/update-grub_lib.in (font_path): Search for fonts in
17787 /boot/grub first, which is more likely to be readable (we aren't
17788 deciding where fonts live, just looking for them).
17789
17790 2008-06-26 Pavel Roskin <proski@gnu.org>
17791
17792 * util/biosdisk.c (read_device_map): Don't leave dead map
17793 entries for devices failing stat() check.
17794
17795 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17796 core_path_dev for the core.img path on the target device.
17797
17798 2008-06-26 Robert Millan <rmh@aybabtu.com>
17799
17800 * disk/fs_uuid.c: New file.
17801 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17802 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17803 (fs_uuid_mod_LDFLAGS): New variables.
17804 * include/grub/disk.h (grub_disk_dev_id): Add
17805 `GRUB_DISK_DEVICE_UUID_ID'.
17806 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17807 implement iterate().
17808
17809 2008-06-26 Robert Millan <rmh@aybabtu.com>
17810
17811 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17812 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17813 Linux image includes no initrd.
17814
17815 2008-06-21 Javier Martín <lordhabbit@gmail.com>
17816
17817 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17818 call to resolve the core image location that effectively appended the
17819 name twice.
17820
17821 2008-06-21 Robert Millan <rmh@aybabtu.com>
17822
17823 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17824 call from here ...
17825
17826 * util/grub.d/10_hurd.in: ... to here ...
17827 * util/grub.d/10_linux.in: ... and here.
17828
17829 2008-06-19 Robert Millan <rmh@aybabtu.com>
17830
17831 * kern/main.c (grub_main): Export `prefix' variable immediately
17832 after it has been set by grub_machine_set_prefix().
17833
17834 2008-06-19 Robert Millan <rmh@aybabtu.com>
17835
17836 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17837 search result when not saving to variable, not the other way around.
17838 When saving to variable, abort iteration as soon as a match is found.
17839
17840 2008-06-19 Robert Millan <rmh@aybabtu.com>
17841
17842 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17843 check for partition that provides /boot/grub. Its logic is flawed,
17844 as it prevents prepare_grub_to_access_device() from being called
17845 multiple times.
17846
17847 2008-06-19 Robert Millan <rmh@aybabtu.com>
17848
17849 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17850 "insmod" command directly when abstraction modules are needed,
17851 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
17852 since it had already been processed).
17853
17854 2008-06-19 Pavel Roskin <proski@gnu.org>
17855
17856 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17857 changed. This is needed in case GRUB_LIBDIR changes.
17858 * conf/i386-ieee1275.rmk: Likewise.
17859 * conf/i386-linuxbios.rmk: Likewise.
17860 * conf/i386-pc.rmk: Likewise.
17861 * conf/powerpc-ieee1275.rmk: Likewise.
17862
17863 2008-06-18 Pavel Roskin <proski@gnu.org>
17864
17865 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17866 kernel_elf_symlist.c to symlist.c for consistency with other
17867 architectures. Update all users.
17868 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17869
17870 2008-06-18 Robert Millan <rmh@aybabtu.com>
17871
17872 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17873 it in prefix.
17874
17875 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17876 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17877 a RAID device, run setup() for all members independently on whether
17878 LVM abstraction is being used.
17879 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17880 If grub-mkimage has set `*install_dos_part == -2', don't override this
17881 value.
17882 Perform *install_dos_part adjustments independently on whether
17883 we're embedding or not.
17884 Clarify error message when image is too big for embedding.
17885 Remove duplicate *install_dos_part stanza.
17886
17887 2008-06-17 Robert Millan <rmh@aybabtu.com>
17888
17889 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17890 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17891 variables.
17892 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17893 values in grub_ofconsole_normal_color and
17894 grub_ofconsole_highlight_color (they're not directly related to
17895 background and foreground).
17896 (grub_ofconsole_setcolorstate): Extract background and foreground
17897 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17898
17899 2008-06-17 Robert Millan <rmh@aybabtu.com>
17900
17901 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17902 /boot/grub for the check in last commit, not /boot (they could be
17903 different partitions).
17904
17905 2008-06-16 Robert Millan <rmh@aybabtu.com>
17906
17907 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17908 asked to setup access for the same partition that provides /boot,
17909 don't bother using UUIDs since our root already has the value we
17910 want.
17911
17912 2008-06-16 Robert Millan <rmh@aybabtu.com>
17913
17914 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17915 I2O devices.
17916 Patch from Sven Mueller <sven@debian.org>.
17917
17918 2008-06-16 Robert Millan <rmh@aybabtu.com>
17919
17920 * util/update-grub.in: Check for $EUID instead of $UID.
17921 Reported by Vincent Zweije.
17922
17923 2008-06-16 Bean <bean123ch@gmail.com>
17924
17925 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
17926 (grub_ext2_read_block): Likewise.
17927 (grub_ext2_read_inode): Likewise.
17928 (grub_ext2_mount): Likewise.
17929 (grub_ext2_close): Likewise.
17930 (grub_ext3_get_journal): Removed.
17931
17932 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
17933 (grub_reiserfs_read_symlink): Likewise.
17934 (grub_reiserfs_mount): Likewise.
17935 (grub_reiserfs_open): Likewise.
17936 (grub_reiserfs_read): Likewise.
17937 (grub_reiserfs_close): Likewise.
17938 (grub_reiserfs_get_journal): Removed.
17939
17940 * fs/fshelp.c (grub_fshelp_read): Removed.
17941 (grub_fshelp_map_block): Likewise.
17942
17943 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17944 (grub_fshelp_journal): Likewise.
17945 (grub_fshelp_read): Likewise.
17946 (grub_fshelp_map_block): Likewise.
17947
17948 2008-06-16 Pavel Roskin <proski@gnu.org>
17949
17950 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17951 floating point anymore.
17952 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17953
17954 2008-06-15 Pavel Roskin <proski@gnu.org>
17955
17956 * commands/ls.c (grub_ls_list_files): Use integer calculations
17957 for human readable format, avoid floating point use.
17958 * kern/misc.c (grub_ftoa): Remove.
17959 (grub_vsprintf): Remove floating point support.
17960
17961 2008-06-15 Robert Millan <rmh@aybabtu.com>
17962
17963 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
17964 devices.
17965 Reported by Max Vozeler.
17966
17967 2008-06-15 Robert Millan <rmh@aybabtu.com>
17968
17969 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17970 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17971 skipped later.
17972 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17973 the beginning of the prefix.
17974
17975 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17976 It is assumed that if we have a memdisk, grub-mkimage has set
17977 grub_prefix to include the "(memdisk)" drive in it.
17978
17979 2008-06-15 Robert Millan <rmh@aybabtu.com>
17980
17981 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17982 Initialize keyboard controller after registering the terminal, so that
17983 grub_printf() can be called from grub_keyboard_controller_init().
17984
17985 2008-06-15 Robert Millan <rmh@aybabtu.com>
17986
17987 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17988 extent-btree which is written as big endian on disk.
17989 Reported by Alain Greppin <al@chilibi.org>.
17990
17991 2008-06-14 Robert Millan <rmh@aybabtu.com>
17992
17993 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17994 * util/i386/pc/grub-install.in (modules): Likewise.
17995
17996 2008-06-13 Pavel Roskin <proski@gnu.org>
17997
17998 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17999
18000 2008-06-13 Bean <bean123ch@gmail.com>
18001
18002 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18003
18004 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18005
18006 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18007 to indicate sparse block.
18008
18009 2008-06-12 Pavel Roskin <proski@gnu.org>
18010
18011 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18012 number, grub_fshelp_read() does it for us.
18013
18014 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18015 linear disk read with journal translation.
18016 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18017 * include/grub/fshelp.h: Declare grub_fshelp_read().
18018
18019 2008-06-09 Pavel Roskin <proski@gnu.org>
18020
18021 * fs/minix.c (grub_minix_mount): Handle error reading
18022 superblock.
18023
18024 2008-06-08 Robert Millan <rmh@aybabtu.com>
18025
18026 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18027 don't append the RAID prefix afterwards.
18028 Reported by Clint Adams.
18029
18030 2008-06-08 Robert Millan <rmh@aybabtu.com>
18031
18032 Based on description from Pavel:
18033 * kern/disk.c (grub_disk_check_range): Rename to ...
18034 (grub_disk_adjust_range): ... this. Add a comment explaining the
18035 tasks performed by this function.
18036
18037 2008-06-08 Robert Millan <rmh@aybabtu.com>
18038
18039 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18040 `num_serial' (for consistency with other variables).
18041 (struct grub_ntfs_data): Add `uuid' member.
18042 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18043 (grub_ntfs_uuid): New function.
18044 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18045
18046 2008-06-07 Pavel Roskin <proski@gnu.org>
18047
18048 * util/biosdisk.c (open_device): Revert last change to the
18049 function, it broke installation. The sector needs to be
18050 different dependent on which device is opened.
18051
18052 2008-06-06 Robert Millan <rmh@aybabtu.com>
18053
18054 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18055 rest of GRUB, and breakage doesn't happen if its value were modified.
18056
18057 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18058 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18059 a constant (same value).
18060 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18061 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18062
18063 2008-06-06 Robert Millan <rmh@aybabtu.com>
18064
18065 * util/biosdisk.c (open_device): Do not modify sector offset when
18066 accessing a partition. kern/disk.c already handles this for us.
18067
18068 2008-06-06 Robert Millan <rmh@aybabtu.com>
18069
18070 * util/grub-emu.c (grub_machine_init): Move code in this function from
18071 here ...
18072 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18073 segfault in case grub_printf() is called).
18074
18075 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18076 grub_probe. Update all users not to explicitly add it again.
18077 (grub_device): New variable; contains corresponding device for grubdir.
18078 (fs_module, partmap_module, devabstraction_module): Pass
18079 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18080 every time.
18081
18082 2008-06-05 Robert Millan <rmh@aybabtu.com>
18083
18084 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18085 is found, print it (same layout as with labels).
18086
18087 2008-06-04 Robert Millan <rmh@aybabtu.com>
18088
18089 * util/biosdisk.c (get_drive): Rename to ...
18090 (find_grub_drive): ... this. Update all users.
18091
18092 (get_os_disk): Rename to ...
18093 (convert_system_partition_to_system_disk): ... this. Update all users.
18094
18095 (find_drive): Rename to ...
18096 (find_system_device): ... this. Update all users.
18097
18098 2008-06-04 Robert Millan <rmh@aybabtu.com>
18099
18100 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18101 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18102 (make_device_map): Likewise.
18103
18104 2008-06-01 Robert Millan <rmh@aybabtu.com>
18105
18106 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18107 before dereferencing it.
18108
18109 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18110 union with fat12/fat16-specific ones. Add some new fields, including
18111 `num_serial' for both versions.
18112 (struct grub_fat_data): Add `uuid' member.
18113 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18114 names. Initialize `data->uuid' using `num_serial'.
18115 (grub_fat_uuid): New function.
18116 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18117
18118 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18119 (grub_reiserfs_uuid): New function.
18120 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18121 member.
18122
18123 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18124 (grub_xfs_uuid): New function.
18125 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18126
18127 2008-06-01 Robert Millan <rmh@aybabtu.com>
18128
18129 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18130 code that is backward compatible with pre-uuid search command.
18131
18132 2008-05-31 Robert Millan <rmh@aybabtu.com>
18133
18134 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18135 floppies after everything else, to ensure floppy drive isn't accessed
18136 unnecessarily (patch from Bean).
18137
18138 2008-05-31 Robert Millan <rmh@aybabtu.com>
18139
18140 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18141 not print device names when we were asked to set a variable.
18142
18143 2008-05-31 Robert Millan <rmh@aybabtu.com>
18144
18145 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18146 using "cursor-on" and "cursor-off" commands (understood at least by
18147 the Open Firmware flavour on OLPC).
18148
18149 2008-05-31 Michael Gorven <michael@gorven.za.net>
18150
18151 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18152 on and off sequences.
18153
18154 2008-05-31 Robert Millan <rmh@aybabtu.com>
18155
18156 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18157 * util/update-grub.in: Likewise.
18158
18159 2008-05-30 Pavel Roskin <proski@gnu.org>
18160
18161 * util/biosdisk.c (linux_find_partition): Simplify logic and
18162 make the code more universal. Keep special processing for
18163 devfs, but use a simple rule for all other devices. If the
18164 device ends with a number, append 'p' and the partition number.
18165 Otherwise, append only the partition number.
18166
18167 2008-05-30 Robert Millan <rmh@aybabtu.com>
18168
18169 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18170 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18171 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18172 the `root' parameter to Linux.
18173
18174 2008-05-30 Robert Millan <rmh@aybabtu.com>
18175
18176 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18177 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18178 --fs_uuid with --fs-uuid.
18179 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18180 all filesystems support them).
18181
18182 2008-05-30 Robert Millan <rmh@aybabtu.com>
18183
18184 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
18185 grub_printf() flags, since we're printing in units of 2 bytes.
18186
18187 2008-05-30 Robert Millan <rmh@aybabtu.com>
18188
18189 * util/grub.d/00_header.in: Remove obsolete comment referencing
18190 convert_system_path_to_grub_path().
18191 * util/update-grub.in: Likewise.
18192 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18193 (convert_system_path_to_grub_path): Add a warning message explaining
18194 that this function is deprecated. Rely on is_path_readable_by_grub()
18195 for the readability checks.
18196 (font_path): Use is_path_readable_by_grub() for the readability
18197 check rather than convert_system_path_to_grub_path().
18198
18199 2008-05-30 Robert Millan <rmh@aybabtu.com>
18200
18201 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18202 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18203 converting it first.
18204 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18205 grub.cfg for access to font file, and afterwards call it again to set
18206 the root device.
18207
18208 2008-05-30 Robert Millan <rmh@aybabtu.com>
18209
18210 * commands/search.c (options): Add --fs_uuid option.
18211 (search_fs_uuid): New function.
18212 (grub_cmd_search): Fix --set argument passing.
18213 Use search_fs_uuid() when requested via --fs_uuid.
18214 (grub_search_init): Update help message.
18215 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18216 and redeclare it as an array of 16-bit words.
18217 (grub_ext2_uuid): New function.
18218 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18219 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18220 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18221 (GRUB_DEVICE_BOOT_UUID): New variables.
18222 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18223 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18224 whenever possible.
18225 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18226 just assume `root' variable has the right value.
18227 * util/grub.d/10_linux.in: Likewise.
18228 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18229 via PRINT_FS_UUID.
18230 (main): Recognise `-t fs_uuid' argument.
18231
18232 2008-05-30 Robert Millan <rmh@aybabtu.com>
18233
18234 * util/biosdisk.c (map): Redefine structure to hold information
18235 about GRUB drive name.
18236 (get_drive): Reimplement without assuming (and verifying) BIOS-like
18237 drive names.
18238 (call_hook): Remove.
18239 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18240 member. Assume drive has partitions.
18241 (grub_util_biosdisk_open): Access device names via `.device' struct
18242 member.
18243 (open_device): Likewise.
18244 (find_drive): Likewise.
18245 (read_device_map): Adjust map[] usage to match the new struct
18246 definition. Don't check for duplicates (still possible, but not cheap
18247 anymore).
18248 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18249 (make_device_name): Remove assumption of BIOS-like drive names.
18250
18251 2008-05-30 Pavel Roskin <proski@gnu.org>
18252
18253 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18254 compiling execute.c doesn't need grub_script.tab.h anymore.
18255 (normal/command.c_DEPENDENCIES): Likewise.
18256 (normal/function.c_DEPENDENCIES): Likewise.
18257 * conf/i386-ieee1275.rmk: Likewise.
18258 * conf/i386-linuxbios.rmk: Likewise.
18259 * conf/i386-pc.rmk: Likewise.
18260 * conf/powerpc-ieee1275.rmk: Likewise.
18261 * conf/sparc64-ieee1275.rmk: Likewise.
18262
18263 2008-05-29 Pavel Roskin <proski@gnu.org>
18264
18265 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18266 when scanning metadata for volume group name.
18267
18268 * include/grub/script.h: Don't include grub_script.tab.h. It's
18269 a generated file, which may only be included from the files with
18270 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18271 use union YYSTYPE, as the later allows forward declaration.
18272 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18273
18274 2008-05-29 Robert Millan <rmh@aybabtu.com>
18275
18276 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18277 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18278 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18279 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18280 scan codes.
18281
18282 2008-05-29 Robert Millan <rmh@aybabtu.com>
18283
18284 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18285 control key combinations.
18286
18287 2008-05-29 Robert Millan <rmh@aybabtu.com>
18288
18289 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18290 * util/ieee1275/grub-install.in: ... to here.
18291 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18292 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18293 (grub_install_SOURCES): Likewise.
18294
18295 2008-05-29 Robert Millan <rmh@aybabtu.com>
18296
18297 * fs/affs.c: Update copyright year.
18298 * fs/ext2.c: Likewise.
18299 * fs/fshelp.c: Likewise.
18300 * fs/hfsplus.c: Likewise.
18301 * fs/ntfs.c: Likewise.
18302 * fs/xfs.c: Likewise.
18303 * include/grub/fshelp.h: Likewise.
18304 * util/grub-mkdevicemap.c: Likewise.
18305
18306 2008-05-28 Robert Millan <rmh@aybabtu.com>
18307
18308 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18309 might need to be fatfs to support some firmware implementations
18310 (e.g. OFW or EFI).
18311
18312 2008-05-28 Robert Millan <rmh@aybabtu.com>
18313
18314 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18315 devices.
18316 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18317 (make_device_map): Likewise.
18318
18319 2008-05-20 Bean <bean123ch@gmail.com>
18320
18321 * fs/fshelp.c (grub_fshelp_map_block): New function.
18322 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18323 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18324
18325 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18326 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18327 (grub_fshelp_journal): New structure.
18328 (grub_fshelp_map_block): New function prototype.
18329 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18330 (grub_fshelp_map_block): Likewise.
18331
18332 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18333 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18334 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18335 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18336 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18337 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18338 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18339 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18340 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18341 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18342 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18343 (grub_ext2_sblock): New members for journal support.
18344 (grub_ext3_journal_header): New structure.
18345 (grub_ext3_journal_revoke_header): Likewise.
18346 (grub_ext3_journal_block_tag): Likewise.
18347 (grub_ext3_journal_sblock): Likewise.
18348 (grub_fshelp_node): New members logfile and journal.
18349 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18350 grub_fshelp_map_block to get real block number.
18351 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18352 number.
18353 (grub_ext2_read_inode): Likewise.
18354 (grub_ext3_get_journal): New function.
18355 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18356 (grub_ext2_close): Release memory used by journal.
18357
18358 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18359 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18360 (grub_reiserfs_transaction_header): Renamed to
18361 grub_reiserfs_description_block, replace field data with real_blocks.
18362 (grub_reiserfs_commit_block): New structure.
18363 (grub_reiserfs_data): New member journal.
18364 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18365 number.
18366 (grub_reiserfs_read_symlink): Likewise.
18367 (grub_reiserfs_iterate_dir): Likewise.
18368 (grub_reiserfs_open): Likewise.
18369 (grub_reiserfs_read): Likewise.
18370 (grub_reiserfs_get_journal): New function.
18371 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18372 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18373 using grub_reiserfs_get_journal.
18374 (grub_reiserfs_close): Release memory used by journal.
18375
18376 * fs/affs.c (grub_affs_read_block): Change block type to
18377 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18378
18379 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18380
18381 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18382
18383 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18384
18385 * fs/udf.c (grub_udf_read_block): Change block type to
18386 grub_disk_addr_t. Use type cast to avoid warning.
18387
18388 * fs/xfs.c (grub_xfs_read_block): Likewise.
18389
18390 2008-05-16 Christian Franke <franke@computer.org>
18391
18392 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18393 to ensure that break with ESC will always work.
18394 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18395 Remove ESC from keyboard queue.
18396
18397 2008-05-16 Christian Franke <franke@computer.org>
18398
18399 * util/biosdisk.c: [__CYGWIN__] Add includes.
18400 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18401 (get_os_disk): Move variable declarations to OS specific
18402 parts to avoid warning.
18403 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18404 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18405 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18406 Cygwin.
18407 * util/getroot.c: [__CYGWIN__] Add includes.
18408 (strip_extra_slashes): Fix "/" case.
18409 [__CYGWIN__] (get_win32_path): New function.
18410 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18411 [__CYGWIN__] (find_root_device): Disable.
18412 [__CYGWIN__] (get_bootsec_serial): New function.
18413 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18414 [__linux__] (grub_guess_root_device): Add early returns to simplify
18415 structure.
18416 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18417 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18418 check for Linux only.
18419
18420 2008-05-15 Bean <bean123ch@gmail.com>
18421
18422 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18423 keyboard hang problem in apple's intel mac.
18424
18425 2008-05-09 Robert Millan <rmh@aybabtu.com>
18426
18427 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18428 devices.
18429 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18430 (make_device_map): Likewise.
18431 Reported by Aurelien Jarno <aurel32@debian.org>
18432
18433 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
18434
18435 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18436 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18437 (make_device_map): Output entries for xvd type disks.
18438
18439 2008-05-07 Robert Millan <rmh@aybabtu.com>
18440
18441 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18442 devices.
18443 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18444 (make_device_map): Likewise.
18445 Reported by Roland Dreier <rdreier@cisco.com>
18446
18447 2008-05-07 Robert Millan <rmh@aybabtu.com>
18448
18449 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18450 grub_strstr() call. Correct a few mistakes in failure path handling.
18451
18452 2008-05-06 Robert Millan <rmh@aybabtu.com>
18453
18454 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18455 Do not print a trailing slash (therefore, the root directory is an
18456 empty string).
18457 (convert_system_path_to_grub_path): Do not remove trailing slash
18458 from make_system_path_relative_to_its_root() output.
18459
18460 * util/i386/pc/grub-install.in: Add trailing slash to output from
18461 make_system_path_relative_to_its_root().
18462
18463 2008-05-06 Robert Millan <rmh@aybabtu.com>
18464
18465 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18466 ensures that output lines aren't intermangled with those sent to
18467 stderr (via grub_util_info()).
18468 * util/grub-probe.c (grub_refresh): Likewise.
18469 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18470
18471 2008-05-05 Christian Franke <franke@computer.org>
18472
18473 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18474 Add Cygwin device names.
18475 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18476 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18477 (check_device): Return error instead of success on empty name.
18478 (make_device_map): Move label inside linux specific code to
18479 prevent compiler warning.
18480
18481 2008-04-30 Robert Millan <rmh@aybabtu.com>
18482
18483 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18484 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18485 first boot option.
18486 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18487
18488 2008-04-29 Robert Millan <rmh@aybabtu.com>
18489
18490 * docs/grub.cfg: New file (example GRUB configuration).
18491
18492 2008-04-26 Robert Millan <rmh@aybabtu.com>
18493
18494 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18495 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18496 and `disk/ieee1275/nand.c'.
18497
18498 2008-04-25 Bean <bean123ch@gmail.com>
18499
18500 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18501 i386-linuxbios.
18502
18503 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18504 change the buffer size to 4096 for cdrom device.
18505
18506 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18507 and nand.mod.
18508 (_linux_mod_SOURCES): New variable.
18509 (_linux_mod_CFLAGS): Likewise.
18510 (_linux_mod_LDFLAGS): Likewise.
18511 (linux_mod_SOURCES): Likewise.
18512 (linux_mod_CFLAGS): Likewise.
18513 (linux_mod_LDFLAGS): Likewise.
18514 (nand_mod_SOURCES): Likewise.
18515 (nand_mod_CFLAGS): Likewise.
18516 (nand_mod_LDFLAGS): Likewise.
18517
18518 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18519 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18520 type property. (nand device in olpc don't have this property)
18521
18522 * include/grub/disk.h (grub_disk_dev_id): New macro
18523 GRUB_DISK_DEVICE_NAND_ID.
18524
18525 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18526 function prototype.
18527 (grub_rescue_cmd_initrd): Likewise.
18528
18529 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18530 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18531 ofw_cif_handler and ofw_idt, adjust padding number.
18532
18533 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18534 GRUB_MACHINE_IEEE1275 is defined.
18535
18536 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18537 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18538
18539 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18540 on nested function heap_init.
18541 (grub_upper_mem): New variable for i386-ieee1275.
18542 (grub_get_extended_memory): New function for i386-ieee1275.
18543 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18544
18545 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18546 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18547 property.
18548
18549 * loader/i386/ieee1275/linux.c: New file.
18550
18551 * loader/i386/ieee1275/linux_normal.c: New file.
18552
18553 * disk/ieee1275/nand.c: New file.
18554
18555 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18556
18557 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18558 value.
18559 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18560
18561 2008-04-18 Robert Millan <rmh@aybabtu.com>
18562
18563 Restructures early code path on ieee1275 to unify grub_main() as
18564 the first C function that is executed in every platform.
18565
18566 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18567 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18568 cmain().
18569 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18570 * kern/ieee1275/cmain.c (cmain): Rename to ...
18571 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18572 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18573 at the beginning.
18574
18575 2008-04-18 Robert Millan <rmh@aybabtu.com>
18576
18577 * util/update-grub.in: Fix syntax error when setting
18578 `GRUB_PRELOAD_MODULES'.
18579 Reported by Stephane Chazelas <stephane@artesyncp.com>
18580
18581 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18582
18583 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18584 section into account, newer toolchains generate unique build ids
18585 * configure.ac: remove the test for --build-id=none acceptance,
18586 we want build ids to be preserved
18587 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18588 far from other sections don't cause the raw binary images grow
18589 size
18590
18591 2008-04-15 Robert Millan <rmh@aybabtu.com>
18592
18593 * disk/lvm.c: Update copyright year.
18594 * kern/misc.c: Likewise.
18595
18596 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18597
18598 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
18599 there is no memory left for physical volume name.
18600
18601 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18602
18603 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18604 volume name mapping to support bigger than 9 character names properly.
18605
18606 2008-04-13 Robert Millan <rmh@aybabtu.com>
18607
18608 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18609 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18610
18611 2008-04-13 Christian Franke <franke@computer.org>
18612
18613 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18614 to create a floppy emulation boot CD when non emulation mode
18615 does not work.
18616 Enable Joliet CD filesystem extension.
18617
18618 2008-04-13 Robert Millan <rmh@aybabtu.com>
18619
18620 * kern/misc.c (grub_strncat): Fix off-by-one error.
18621 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18622
18623 * kern/env.c (grub_env_context_close): Clear current context, not
18624 previous one.
18625 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18626
18627 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18628
18629 2008-04-13 Robert Millan <rmh@aybabtu.com>
18630
18631 Improve robustness when handling LVM.
18632
18633 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
18634 (and leave `*p' unmodified).
18635 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18636 through it.
18637 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18638 iterating through it.
18639 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18640 through it.
18641 (grub_lvm_scan_device): Check the return value (and fail gracefully
18642 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18643 Don't assume `vg->pvs != NULL' when iterating through it.
18644
18645 2008-04-13 Robert Millan <rmh@aybabtu.com>
18646
18647 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18648 * genmk.rb (partmap): New variable.
18649 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18650 (#{partmap}): New target rule.
18651 * genpartmaplist.sh: New file.
18652 * Makefile.in (pkglib_DATA): Add partmap.lst.
18653 (partmap.lst): New target rule.
18654 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18655 modules (including all partition maps), instead of preloading them.
18656
18657 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18658
18659 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18660 `linux-boot-prober' (if installed) to detect other operating
18661 systems which are installed on the computer and add them to
18662 the boot menu.
18663 * conf/common.rmk: Build and install 30_os-prober.
18664
18665 2008-04-12 Robert Millan <rmh@aybabtu.com>
18666
18667 * kern/powerpc/ieee1275/init.c: Move from here ...
18668 * kern/ieee1275/init.c: ... to here. Update all users.
18669
18670 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18671 * kern/ieee1275/cmain.c: ... to here. Update all users.
18672
18673 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18674 * kern/ieee1275/openfw.c: ... to here. Update all users.
18675
18676 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18677 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18678
18679 2008-04-10 Pavel Roskin <proski@gnu.org>
18680
18681 * configure.ac: Always use "_cv_" in cache variables for
18682 compatibility with Autoconf 2.62.
18683
18684 2008-04-07 Robert Millan <rmh@aybabtu.com>
18685
18686 Revert grub/machine/init.h addition by Pavel (since it breaks on
18687 i386-ieee1275 and others):
18688 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18689 * util/powerpc/ieee1275/misc.c: Likewise.
18690
18691 2008-04-07 Robert Millan <rmh@aybabtu.com>
18692
18693 * util/grub-probe.c (probe): Improve error message.
18694
18695 2008-04-07 Robert Millan <rmh@aybabtu.com>
18696
18697 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18698 (this prevents the presence of a bogus entry from ruining the whole
18699 thing).
18700
18701 2008-04-06 Pavel Roskin <proski@gnu.org>
18702
18703 * util/biosdisk.c: Include grub/util/biosdisk.h.
18704 * util/grub-fstest.c (execute_command): Make static.
18705 * util/grub-mkdevicemap.c (check_device): Likewise.
18706 * util/i386/pc/misc.c: Include grub/machine/init.h.
18707 * util/powerpc/ieee1275/misc.c: Likewise.
18708 * util/lvm.c: Include grub/util/lvm.h.
18709 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18710 grub/cache.h.
18711 * util/raid.c: Include grub/util/raid.h.
18712 (grub_util_getdiskname): Make static.
18713
18714 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18715 grub_hostfs_fini(), as they are called from grub_init_all() and
18716 grub_fini_all() respectively. This fixes an infinite loop in
18717 grub-fstest due to double registration of hostfs.
18718 Reported by Christian Franke <Christian.Franke@t-online.de>
18719
18720 2008-04-05 Pavel Roskin <proski@gnu.org>
18721
18722 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18723 all 8 functions. Otherwise, probe function 0 only.
18724
18725 2008-04-04 Pavel Roskin <proski@gnu.org>
18726
18727 * commands/lspci.c (grub_lspci_iter): Print the bus number
18728 correctly.
18729
18730 * commands/lspci.c (grub_pci_classes): Fix typos.
18731 (grub_lspci_iter): Don't print func twice. Print vendor ID
18732 before device ID, as it's normally done.
18733
18734 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18735 Fix signedness warnings.
18736 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18737 Likewise.
18738 * util/ieee1275/get_disk_name.c: Include config.h so that
18739 _GNU_SOURCE is defined and getline() is declared. Mark an
18740 unused argument as such. Fix a signedness warning.
18741
18742 2008-04-02 Pavel Roskin <proski@gnu.org>
18743
18744 * genkernsyms.sh.in: Use more robust assignments for CC and
18745 srcdir. Quote srcdir.
18746 * gensymlist.sh.in: Likewise. Assert at the compile time that
18747 the symbol table is not empty.
18748
18749 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18750 * fs/cpio.c (grub_cpio_read): Likewise.
18751
18752 2008-04-01 Pavel Roskin <proski@gnu.org>
18753
18754 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18755 * disk/host.c (grub_host_open): Likewise.
18756 * disk/loopback.c (grub_loopback_open): Likewise.
18757 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18758 disk->id as in disk/host.c, not a multi-character constant.
18759
18760 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18761 later is obsolete, potentially dangerous and sets a bad example.
18762 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18763 * util/misc.c (grub_util_get_image_size): Likewise.
18764
18765 * disk/loopback.c (options): Improve help for "--partitions".
18766
18767 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18768 options to align them with the short options, e.g. "echo -e".
18769
18770 2008-03-31 Bean <bean123ch@gmail.com>
18771
18772 * video/reader/png.c (grub_png_data): New member is_16bit and
18773 image_data.
18774 (grub_png_decode_image_header): Detect 16 bit png image.
18775 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18776 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18777 (grub_video_reader_png): Release memory occupied by image_data.
18778
18779 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18780 4096 bytes.
18781 (grub_nfs_mount): Skip the test for sector per cluster.
18782
18783 * include/grub/ntfs.h (MAX_SPC): Removed.
18784
18785 2008-03-31 Bean <bean123ch@gmail.com>
18786
18787 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18788 (grub_probe_SOURCES): Add fs/afs.c.
18789 (grub_fstest_SOURCES): Likewise.
18790 (afs_mod_SOURCES): New variable.
18791 (afs_mod_CFLAGS): Likewise.
18792 (afs_mod_LDFLAGS): Likewise.
18793
18794 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18795 (grub_emu_SOURCES): Likewise.
18796
18797 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18798
18799 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18800
18801 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18802
18803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18804
18805 * fs/afs.c: New file.
18806
18807 2008-03-30 Pavel Roskin <proski@gnu.org>
18808
18809 * disk/host.c: Include grub/misc.h to fix a warning.
18810 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18811 warnings about implicit declarations.
18812
18813 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18814 variable.
18815 * include/grub/i386/loader.h: Change declaration of
18816 grub_linux_boot() to match what grub_loader_set() expects.
18817 * util/getroot.c (grub_guess_root_device): Return const char* to
18818 fix a warning.
18819 * util/grub-probe.c (probe): Fix a warning about uninitialized
18820 abstraction_name variable.
18821 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18822 second argument as unused to fix a warning.
18823
18824 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18825 missing grub_error() call.
18826
18827 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18828 2.60 and newer uses it to define datadir.
18829
18830 * commands/sleep.c: Fix warning about implicit declaration.
18831 * disk/memdisk.c: Likewise.
18832 * loader/aout.c: Likewise.
18833 * loader/i386/bsd_normal.c: Likewise.
18834 * util/grub-probe.c: Likewise.
18835
18836 * commands/i386/cpuid.c (has_longmode): Make static.
18837 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18838 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18839
18840 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18841 GDT. This is more robust, as %ds can change.
18842 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18843 calling real_to_prot().
18844 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18845
18846 2008-03-28 Pavel Roskin <proski@gnu.org>
18847
18848 * kern/i386/pc/startup.S: Assert that uncompressed functions
18849 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18850 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18851 code, as they push parts of the code (error handlers) beyond
18852 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18853 code as correctness and size.
18854
18855 2008-03-28 Pavel Roskin <proski@gnu.org>
18856
18857 * kern/i386/pc/startup.S
18858 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18859 data block address to the real mode, keep offset minimal. This
18860 works around a bug in AWARD BIOS on old Athlon systems, which
18861 makes CD detection hang.
18862
18863 2008-03-26 Pavel Roskin <proski@gnu.org>
18864
18865 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18866 const.
18867 * include/grub/normal.h: Add grub_parse_color_name_pair()
18868 declaration.
18869
18870 2008-03-24 Bean <bean123ch@gmail.com>
18871
18872 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18873 (cd_count): Removed.
18874 (cd_drive): New variable.
18875 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18876 (grub_biosdisk_call_hook): Likewise.
18877 (grub_biosdisk_iterate): Change cdrom detection method.
18878 (grub_biosdisk_open): Replace cd_start with cd_drive.
18879 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18880 detect cdrom device.
18881
18882 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18883 Removed.
18884 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18885 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18886 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18887 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18888 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18889 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18890 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18891 (grub_biosdisk_cdrp): New structure.
18892 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18893
18894 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18895
18896 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18897 device.
18898
18899 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18900 New function.
18901
18902 2008-03-20 Robert Millan <rmh@aybabtu.com>
18903
18904 Remove 2 TiB limit in ata.mod.
18905 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18906 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18907 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18908 grub_uint64_t instead of grub_uint32_t.
18909
18910 2008-03-05 Bean <bean123ch@gmail.com>
18911
18912 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18913 (grub_multiboot): Set boot device.
18914
18915 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18916
18917 2008-03-02 Bean <bean123ch@gmail.com>
18918
18919 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18920 symlink_buffer.
18921
18922 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18923
18924 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18925 texinfo.tex.
18926
18927 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18928 modified.
18929
18930 * docs/fdl.texi: New file.
18931
18932 * docs/mdate-sh: New file. Copied from gnulib.
18933 * docs/texinfo.tex: Likewise.
18934
18935 * config.guess: Updated from gnulib.
18936 * install-sh: Likewise.
18937
18938 2008-02-28 Robert Millan <rmh@aybabtu.com>
18939
18940 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18941 (aout_mod_SOURCES): New variable.
18942 (aout_mod_CFLAGS): Likewise.
18943 (aout_mod_LDFLAGS): Likewise.
18944
18945 * conf/i386-ieee1275.rmk: Likewise.
18946
18947 2008-02-28 Robert Millan <rmh@aybabtu.com>
18948
18949 * util/update-grub.in: Reorganise terminal validity check. Accept
18950 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18951 Based on suggestion by Franklin PIAT.
18952
18953 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18954
18955 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18956 function.
18957 * util/getroot.c (grub_util_check_block_device): New function that
18958 returns the given argument if it is a block device and returns NULL else.
18959 * util/grub-probe.c (argument_is_device): New variable.
18960 (probe): Promote device_name from a variable to an argument. Receive
18961 device_name from grub_util_check_block_device() if path is NULL and from
18962 grub_guess_root_device() else. Do not free() device_name anymore.
18963 (options): Introduce new parameter '-d, --device'.
18964 (main): Add description of the new parameter to the help screen.
18965 Rename path variable to argument. Set argument_is_device if the '-d'
18966 option is given. Pass argument to probe() depending on
18967 argument_is_device.
18968
18969 2008-02-24 Bean <bean123ch@gmail.com>
18970
18971 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18972 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18973 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18974 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18975 (GRUB_ISO9660_VOLDESC_END): Likewise.
18976 (grub_iso9660_primary_voldesc): New member escape.
18977 (grub_iso9660_data): New member joliet.
18978 (grub_iso9660_convert_string): New function.
18979 (grub_iso9660_mount): Detect joliet extension.
18980 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18981 (grub_iso9660_iso9660_label): Likewise.
18982
18983 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18984 (grub_setup_SOURCES): Add fs/udf.c.
18985 (grub_fstest_SOURCES): Likewise.
18986 (udf_mod_SOURCES): New variable.
18987 (udf_mod_CFLAGS): Likewise.
18988 (udf_mod_LDFLAGS): Likewise.
18989
18990 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18991 (grub_emu_SOURCES): Likewise.
18992
18993 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18994
18995 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18996
18997 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18998
18999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19000
19001 * fs/udf.c: New file.
19002
19003 2008-02-24 Robert Millan <rmh@aybabtu.com>
19004
19005 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19006 (normal/lexer.c_DEPENDENCIES): New variables.
19007 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19008 (normal/lexer.c_DEPENDENCIES): Likewise.
19009 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19010 (normal/lexer.c_DEPENDENCIES): Likewise.
19011 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19012 (normal/lexer.c_DEPENDENCIES): Likewise.
19013 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19014 (normal/lexer.c_DEPENDENCIES): Likewise.
19015 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19016 (normal/lexer.c_DEPENDENCIES): Likewise.
19017
19018 2008-02-23 Robert Millan <rmh@aybabtu.com>
19019
19020 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19021 since they were intended to be in hex. This didn't break previously
19022 because of a bug in gpt_partition_map_iterate() (see below).
19023
19024 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19025 when checking the validity of GPT header.
19026 Remove `partno', since it always provides the same information as `i'.
19027
19028 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19029
19030 * include/grub/efi/time.h: Fix a wrong comment.
19031
19032 2008-02-19 Pavel Roskin <proski@gnu.org>
19033
19034 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19035 message.
19036
19037 2008-02-19 Bean <bean123ch@gmail.com>
19038
19039 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19040 (aout_mod_SOURCES): New variable.
19041 (aout_mod_CFLAGS): Likewise.
19042 (aout_mod_LDFLAGS): Likewise.
19043 (_bsd_mod_SOURCES): New variable.
19044 (_bsd_mod_CFLAGS): Likewise.
19045 (_bsd_mod_LDFLAGS): Likewise.
19046 (bsd_mod_SOURCES): New variable.
19047 (bsd_mod_CFLAGS): Likewise.
19048 (bsd_mod_LDFLAGS): Likewise.
19049
19050 * include/grub/aout.h: New file.
19051
19052 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19053
19054 * include/grub/i386/bsd.h: New file.
19055
19056 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19057 to make it public.
19058
19059 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19060 function is called, so that it's possible to change it inside the hook.
19061 (grub_elf64_load): Likewise.
19062 (grub_elf_file): Don't close the file if elf header is not found.
19063 (grub_elf_close): Close the file if grub_elf_file fails (The new
19064 grub_elf_file won't close it).
19065 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19066 (grub_elf64_size): Likewise.
19067
19068 * kern/i386/loader.S (grub_unix_real_boot): New function.
19069
19070 * loader/aout.c: New file.
19071
19072 * loader/i386/bsd.c: New file.
19073
19074 * loader/i386/bsd_normal.c: New file.
19075
19076 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19077
19078 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
19079 can test other formats.
19080
19081 2008-02-19 Robert Millan <rmh@aybabtu.com>
19082
19083 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19084 (grub_gpt_partition_type_empty): Redefine with macro from
19085 `<grub/gpt_partition.h>'.
19086 (gpt_partition_map_iterate): Adjust partition type comparison.
19087
19088 Export `entry' as partmap-specific `part.data' struct.
19089 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19090
19091 * include/grub/gpt_partition.h (grub_gpt_header)
19092 (grub_gpt_partentry): ... to here (new file).
19093
19094 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19095
19096 (grub_gpt_partition_type_bios_boot): New const variable, defined
19097 with macro from `<grub/gpt_partition.h>'.
19098
19099 (setup): Replace `first_start' with `embed_region', which keeps
19100 track of the embed region (and is partmap-agnostic).
19101
19102 Replace find_first_partition_start() with find_usable_region(),
19103 which finds a usable region for embedding using partmap-specific
19104 knowledge (supports PC/MSDOS and GPT).
19105
19106 Fix all assumptions that the embed region start at sector 1, using
19107 `embed_region.start' from now on. Similarly, use `embed_region.end'
19108 rather than `first_start' to calculate available size.
19109
19110 In grub_util_info() message, replace "into after the MBR" with an
19111 indication of the specific sector our embed region starts at.
19112
19113 2008-02-19 Robert Millan <rmh@aybabtu.com>
19114
19115 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19116 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19117 `commands/reboot.c'.
19118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19119 (halt_mod_SOURCES): Likewise.
19120 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19121 (halt_mod_SOURCES): Likewise.
19122
19123 2008-02-17 Christian Franke <franke@computer.org>
19124
19125 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19126
19127 2008-02-17 Robert Millan <rmh@aybabtu.com>
19128
19129 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19130 set `first_start' to 0 for non-PC/MSDOS partition maps.
19131
19132 2008-02-16 Robert Millan <rmh@aybabtu.com>
19133
19134 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19135 do not assume partition map is PC/MSDOS before performing checks that
19136 are specific to that layout.
19137
19138 2008-02-13 Robert Millan <rmh@aybabtu.com>
19139
19140 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19141 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19142 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19143
19144 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19145
19146 * configure.ac: Only a cosmetic change on the handling of
19147 -fno-stack-protector.
19148
19149 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
19150
19151 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19152 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19153 reboot.c.
19154 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19155 (halt_mod_SOURCES): New variable.
19156 (halt_mod_CFLAGS): Likewise.
19157 (halt_mod_LDFLAGS): Likewise.
19158 (reboot_mod_SOURCES): Likewise.
19159 (reboot_mod_CFLAGS): Likewise.
19160 (reboot_mod_LDFLAGS): Likewise.
19161
19162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19163 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19164 reboot.c.
19165 (halt_mod_SOURCES): Likewise.
19166 (reboot_mod_SOURCES): Likewise.
19167
19168 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19169 commands/i386/pc/reboot.c by commands/reboot.c.
19170 (reboot_mod_SOURCES): Likewise.
19171
19172 * commands/i386/pc/reboot.c: merge this file ...
19173
19174 * commands/ieee1275/reboot.c: ... and this file ...
19175
19176 * commands/reboot.c: ... to this file.
19177 Add some precompiler directive to include the correct header for
19178 each machine.
19179
19180 * commands/ieee1275/halt.c: move this file ...
19181
19182 * commands/halt.c: ... to here.
19183 Add some precompiler directive to include the correct header for
19184 each machine.
19185
19186 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19187 (grub_halt): Likewise.
19188
19189 * kern/efi/efi.c (grub_reboot): New function.
19190 (grub_halt): Likewise.
19191
19192 2008-02-12 Robert Millan <rmh@aybabtu.com>
19193
19194 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19195 /dev (like it is done for /dev/mapper). This doesn't provide support
19196 for EVMS, but at least it is now easy to identify the problem when it
19197 arises.
19198
19199 2008-02-11 Robert Millan <rmh@aybabtu.com>
19200
19201 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19202 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19203 comparing it with -1, not 0.
19204
19205 2008-02-10 Robert Millan <rmh@aybabtu.com>
19206
19207 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19208 `disk/lvm.c'.
19209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19210 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19211
19212 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19213 `disk/lvm.c' to the end of the list.
19214 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19215 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19216
19217 2008-02-10 Robert Millan <rmh@aybabtu.com>
19218
19219 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19220 grub_print_error() instead. This will let user know why we're entering
19221 rescue mode.
19222 Based on suggestions from Sam Morris.
19223
19224 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
19225
19226 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19227 on remaining N args, instead of "--" arg N times.
19228
19229 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19230
19231 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19232 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19233 pattern for unknown glyphs.
19234
19235 2008-02-09 Robert Millan <rmh@aybabtu.com>
19236
19237 * configure.ac: Probe for `help2man'.
19238 * Makefile.in (builddir): New variable.
19239 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19240 or otherwise add a few flags/options to it.
19241 (install-local): For every executable utility or script that is
19242 installed, invoke $(HELP2MAN) to install a manpage based on --help
19243 output.
19244
19245 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19246 that it doesn't prevent --help from working in build tree.
19247
19248 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19249 with `bug-grub@gnu.org'.
19250 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19251 * util/update-grub.in (usage): New function.
19252 Implement proper argument check, with support for --help and --version
19253 (as well as existing -y).
19254
19255 2008-02-09 Christian Franke <franke@computer.org>
19256
19257 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19258 avoid overwriting previous output.
19259 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19260
19261 2008-02-09 Robert Millan <rmh@aybabtu.com>
19262
19263 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19264 drawing the menu.
19265
19266 2008-02-09 Robert Millan <rmh@aybabtu.com>
19267
19268 * commands/sleep.c: New file.
19269 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19270 (sleep_mod_SOURCES): New variable.
19271 (sleep_mod_CFLAGS): Likewise.
19272 (sleep_mod_LDFLAGS): Likewise.
19273
19274 2008-02-09 Robert Millan <rmh@aybabtu.com>
19275
19276 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19277 situations in which we can deduce the RAID size and the superblock
19278 doesn't match it.
19279
19280 2008-02-09 Robert Millan <rmh@aybabtu.com>
19281
19282 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19283 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19284 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19285
19286 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19287 and return a grub_diskmemberlist_t composed of physical array members.
19288 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19289
19290 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19291 prototype.
19292 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19293 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19294 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19295
19296 * util/grub-probe.c (probe): Move partmap probing code from here ...
19297 (probe_partmap): ... to here.
19298 (probe): Use probe_partmap() once for the disk we're probing, and
19299 additionally, when such disk contains a memberlist() struct member,
19300 once for each disk that is contained in the structure returned by
19301 memberlist().
19302
19303 2008-02-09 Robert Millan <rmh@aybabtu.com>
19304
19305 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19306 environment variable to 'all' in order to obtain debug output from
19307 non-util/ code.
19308 * util/i386/pc/grub-setup.c (main): Likewise.
19309
19310 2008-02-08 Robert Millan <rmh@aybabtu.com>
19311
19312 * disk/raid.c (grub_raid_scan_device): Check for
19313 `array->device[sb.this_disk.number]' rather than for
19314 `array->device[sb.this_disk.number]->name', since the latter is not
19315 guaranteed to be accessible.
19316
19317 2008-02-08 Robert Millan <rmh@aybabtu.com>
19318
19319 * disk/raid.c: Update copyright.
19320 * fs/cpio.c: Likewise.
19321 * include/grub/raid.h: Likewise.
19322 * loader/i386/pc/multiboot.c: Likewise.
19323 * util/hostfs.c: Likewise.
19324
19325 2008-02-08 Robert Millan <rmh@aybabtu.com>
19326
19327 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19328 to a grub_disk_t array.
19329 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19330 `device[x]'.
19331 (grub_raid_scan_device): Replace `device[x].name' accesses with
19332 `device[x]->name'. Simplify initialization of `array->device[x]'.
19333
19334 2008-02-08 Robert Millan <rmh@aybabtu.com>
19335
19336 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19337 grub_dprintf() calls.
19338 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19339 error message.
19340
19341 2008-02-07 Christian Franke <franke@computer.org>
19342
19343 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19344 instead of fseek and ftell to support large files.
19345 (grub_hostfs_read): Likewise.
19346
19347 2008-02-07 Robert Millan <rmh@aybabtu.com>
19348
19349 Patch from Jeroen Dekkers.
19350 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
19351 failure, since successfully reading all array members might not be
19352 required.
19353
19354 2008-02-06 Robert Millan <rmh@aybabtu.com>
19355
19356 * util/grub-probe.c (probe): Simplify partmap probing (with the
19357 assumption that the first word up to the underscore equals to
19358 the module name).
19359
19360 2008-02-06 Christian Franke <franke@computer.org>
19361
19362 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19363 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19364 last block of a cpio or tar stream.
19365 Check for "TRAILER!!!" instead of any empty data
19366 block to detect last block of a cpio stream.
19367 (grub_cpio_dir): Fix constness of variable np.
19368 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19369 cpio or tar trailer is detected. This fixes a crash
19370 on open of a non existing file.
19371
19372 2008-02-05 Bean <bean123ch@gmail.com>
19373
19374 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19375 address of entry.
19376 (grub_multiboot_load_elf64): Likewise.
19377 (grub_multiboot): Initialize mbi structure.
19378
19379 * util/grub-fstest.c: Don't include unused header file script.h.
19380
19381 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
19382 of file.
19383 (grub_fstest_SOURCES): Likewise.
19384
19385 2008-02-05 Robert Millan <rmh@aybabtu.com>
19386
19387 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19388 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19389 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19390 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19391
19392 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19393 (translation_table): Replace hardcoded values with macros
19394 provided by `<grub/term.h>'.
19395
19396 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19397 (keyboard_map): Correct/add a few values, with macros provided
19398 by `<grub/term.h>'.
19399 (keyboard_map_shift): Zero values that don't differ from their
19400 `keyboard_map' equivalents.
19401 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19402 Discard the second scan code that is always sent by Caps lock.
19403 Only use `keyboard_map_shift' when it provides a non-zero value,
19404 otherwise fallback to `keyboard_map'.
19405
19406 2008-02-04 Bean <bean123ch@gmail.com>
19407
19408 * Makefile.in (enable_grub_fstest): New variable.
19409
19410 * conf/common.rmk (grub_fstest_init.lst): New rule.
19411 (grub_fstest_init.h): Likewise.
19412 (grub_fstest_init.c): Likewise.
19413 (util/grub-fstest.c_DEPENDENCIES): New variable.
19414 (grub_fstest_SOURCES): Likewise.
19415
19416 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19417
19418 * util/grub-fstest.c: New file.
19419
19420 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19421
19422 Make grub-setup handle a separate root device.
19423
19424 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19425 so that the root device can be compared with the destination
19426 device.
19427 When embedding the core image, if the root and destination devices
19428 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19429 0xFF.
19430 When not embedding, set ROOT_DRIVE to 0xFF.
19431
19432 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19433
19434 Add support for having a grub directory in a different drive. This
19435 is still only the data handling part.
19436
19437 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19438 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19439 (grub_root_drive): New variable.
19440
19441 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19442 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19443 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19444 as it was.
19445
19446 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19447
19448 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19449 macro.
19450 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19451
19452 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19453 is bogus, because PXE booting does not specify any drive
19454 correctly.
19455
19456 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19457 am not sure if this is really correct.
19458
19459 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19460 is always identical to the boot drive when booting from a CD.
19461
19462 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19463 longer.
19464 (root_drive): New variable.
19465 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19466 (setup_sectors): Push %dx right after popping it, because %dh will
19467 be modified later.
19468 (copy_buffer): Restore %dx.
19469
19470 2008-02-03 Robert Millan <rmh@aybabtu.com>
19471
19472 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19473 use `cdboot.img' for cdrom images.
19474
19475 2008-02-03 Robert Millan <rmh@aybabtu.com>
19476
19477 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19478 only setup gfxterm when `font' command has succeeded.
19479
19480 2008-02-03 Robert Millan <rmh@aybabtu.com>
19481
19482 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19483 (grub_rescue_cmd_multiboot_loader)
19484 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19485
19486 2008-02-03 Pavel Roskin <proski@gnu.org>
19487
19488 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
19489 %edx and %esi from stack only after grub_gate_a20() is called.
19490 grub_gate_a20() clobbers %edx.
19491
19492 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19493
19494 * configure.ac (AC_INIT): Bumped to 1.96.
19495
19496 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19497 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19498 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19499 video/readers/png.c.
19500
19501 2008-02-03 Bean <bean123ch@gmail.com>
19502
19503 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19504 (cdboot_img_SOURCES): New variable.
19505 (cdboot_img_ASFLAGS): New variable.
19506 (cdboot_img_LDFLAGS): New variable.
19507
19508 * boot/i386/pc/cdboot.S: New file.
19509
19510 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19511 (cd_count): Likewise.
19512 (grub_biosdisk_get_drive): Add support for cd device.
19513 (grub_biosdisk_call_hook): Likewise.
19514 (grub_biosdisk_iterate): Likewise.
19515 (grub_biosdisk_open): Likewise.
19516 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19517 (grub_biosdisk_rw): Support reading from cd device.
19518 (GRUB_MOD_INIT): Iterate cd devices.
19519
19520 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19521 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19522 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19523
19524 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19525
19526 2008-02-02 Robert Millan <rmh@aybabtu.com>
19527
19528 * commands/read.c: New file.
19529 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19530 (read_mod_SOURCES): New variable.
19531 (read_mod_CFLAGS): Likewise.
19532 (read_mod_LDFLAGS): Likewise.
19533
19534 2008-02-02 Robert Millan <rmh@aybabtu.com>
19535
19536 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19537 determining whether menu has to be displayed.
19538
19539 2008-02-02 Marco Gerards <marco@gnu.org>
19540
19541 * bus/pci.c: New file.
19542
19543 * include/grub/pci.h: Likewise.
19544
19545 * include/grub/i386/pc/pci.h: Likewise.
19546
19547 * commands/lspci.c: Likewise.
19548
19549 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19550 `lspci.mod'.
19551 (pci_mod_SOURCES): New variable.
19552 (pci_mod_CFLAGS): Likewise.
19553 (pci_mod_LDFLAGS): Likewise.
19554 (lspci_mod_SOURCES): Likewise.
19555 (lspci_mod_CFLAGS): Likewise.
19556 (lspci_mod_LDFLAGS): Likewise.
19557
19558 2008-02-02 Bean <bean123ch@gmail.com>
19559
19560 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19561 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19562
19563 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19564 (grub_xfs_btree_node): New structure.
19565 (grub_xfs_btree_root): New structure.
19566 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19567 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19568 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19569 (GRUB_XFS_EXTENT_SIZE): Likewise.
19570 (grub_xfs_read_block): Support btree format type.
19571 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19572 Use directory block as basic unit.
19573
19574 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19575
19576 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19577 __attribute__ ((__regparm__ (1))).
19578
19579 2008-02-01 Robert Millan <rmh@aybabtu.com>
19580
19581 Correct a mistake in previous commit.
19582
19583 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19584 top.
19585 (normal/command.c_DEPENDENCIES): New variable.
19586
19587 2008-02-01 Robert Millan <rmh@aybabtu.com>
19588
19589 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19590 top.
19591 (normal/command.c_DEPENDENCIES): New variable.
19592 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19593 * conf/i386-ieee1275.rmk: Likewise.
19594 * conf/i386-linuxbios.rmk: Likewise.
19595 * conf/i386-pc.rmk: Likewise.
19596 * conf/sparc64-ieee1275.rmk: Likewise.
19597 * conf/powerpc-ieee1275.rmk: Likewise.
19598 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19599
19600 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19601
19602 2008-02-01 Robert Millan <rmh@aybabtu.com>
19603
19604 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19605 call at beginning of function.
19606
19607 2008-01-31 Pavel Roskin <proski@gnu.org>
19608
19609 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
19610 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19611 (grub_mkrescue_SOURCES): Likewise.
19612 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19613
19614 2008-01-30 Robert Millan <rmh@aybabtu.com>
19615
19616 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19617 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19618 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19619 (grub_probe_SOURCES): ... to here.
19620
19621 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19622 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19623 * conf/i386-ieee1275.rmk: Likewise.
19624 * conf/i386-linuxbios.rmk: Likewise.
19625 * conf/powerpc-ieee1275.rmk: Likewise.
19626
19627 2008-01-30 Tristan Gingold <gingold@free.fr>
19628
19629 * kern/rescue.c: Silently accept empty lines.
19630
19631 2008-01-29 Bean <bean123ch@gmail.com>
19632
19633 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19634 (real_code_2): Code cleanup and change comment style.
19635 (move_memory): Avoid using 32-bit address mode.
19636
19637 2008-01-29 Bean <bean123ch@gmail.com>
19638
19639 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19640 (png_mod_SOURCES): New variable.
19641 (png_mod_CFLAGS): Likewise.
19642 (png_mod_LDFLAGS): Likewise.
19643
19644 * video/readers/png.c: New file.
19645
19646 2008-01-28 Robert Millan <rmh@aybabtu.com>
19647
19648 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19649 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19650 `ifndef GRUB_MOD_GAP' hack.
19651 * util/elf/grub-mkimage.c (add_segments): Likewise.
19652
19653 2008-01-27 Robert Millan <rmh@aybabtu.com>
19654
19655 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19656 `GRUB_MOD_GAP' for platforms in which it's not defined.
19657 * util/elf/grub-mkimage.c (add_segments): Likewise.
19658
19659 2008-01-27 Robert Millan <rmh@aybabtu.com>
19660
19661 Get grub-emu to build again (including parallel builds).
19662
19663 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19664 Split into ...
19665 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19666 (normal/execute.c_DEPENDENCIES): ... this, ...
19667 (grub-emu_DEPENDENCIES): ... and this.
19668
19669 * conf/i386-efi.rmk: Likewise.
19670 * conf/i386-linuxbios.rmk: Likewise.
19671 * conf/i386-ieee1275.rmk: Likewise.
19672 * conf/powerpc-ieee1275.rmk: Likewise.
19673 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19674
19675 2008-01-27 Robert Millan <rmh@aybabtu.com>
19676
19677 * NEWS: Add a few items.
19678
19679 2008-01-27 Robert Millan <rmh@aybabtu.com>
19680
19681 Fix parallel builds with grub-emu. Based on earlier commit for
19682 grub-probe and grub-setup.
19683
19684 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19685 (util/grub-emu.c_DEPENDENCIES): ... this.
19686 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19687 (util/grub-emu.c_DEPENDENCIES): ... this.
19688 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19689 (util/grub-emu.c_DEPENDENCIES): ... this.
19690 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19691 (util/grub-emu.c_DEPENDENCIES): ... this.
19692 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19693 (util/grub-emu.c_DEPENDENCIES): ... this.
19694
19695 2008-01-27 Pavel Roskin <proski@gnu.org>
19696
19697 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19698 to create a gap between _end and the modules added to the image
19699 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19700 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19701 * util/elf/grub-mkimage.c (add_segments): Likewise.
19702
19703 2008-01-26 Pavel Roskin <proski@gnu.org>
19704
19705 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19706 just return an error.
19707
19708 2008-01-26 Bean <bean123ch@gmail.com>
19709
19710 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19711 (grub_reiserfs_get_item): Save offset of the next item.
19712 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19713
19714 2008-01-25 Robert Millan <rmh@aybabtu.com>
19715
19716 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19717 make all filesystem sources appear together (possibly fixing omissions
19718 while at it).
19719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19720 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19721 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19723
19724 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19725 add `kern/file.c'.
19726 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19727 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19728 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19729 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19730
19731 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19732 (probe): Add a sanity check to make sure of our ability to read
19733 requested files when probing for filesystem type.
19734
19735 * genmk.rb: Update copyright year (2007).
19736
19737 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19738 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19739 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19740 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19741 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19742 : Remove function prototypes.
19743
19744 2008-01-25 Robert Millan <rmh@aybabtu.com>
19745
19746 Revert my previous commits (based on wrong assumption of how grub_errno
19747 works).
19748
19749 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
19750 * kern/file.c (grub_file_open): Likewise.
19751
19752 2008-01-24 Pavel Roskin <proski@gnu.org>
19753
19754 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19755 that hang if GRUB tries to setup colors.
19756 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19757 colors for firmwares that don't support it.
19758 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19759 Recognize Open Hack'Ware, set flags to work around its
19760 limitations.
19761
19762 2008-01-24 Robert Millan <rmh@aybabtu.com>
19763
19764 * kern/file.c (grub_file_open): Do not account previous failures of
19765 unrelated functions when grub_errno is checked for.
19766 Reported by Oleg Strikov.
19767
19768 2008-01-24 Bean <bean123ch@gmail.com>
19769
19770 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19771 (grub_ufs_sblock): New member volume name.
19772 (grub_ufs_find_file): Fix string copy bug.
19773 (grub_ufs_label): Implement this function properly.
19774
19775 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19776 (grub_hfs_iterate_records): Use the correct file number for extents
19777 and catalog file. Fix problem in next index calculation.
19778 (grub_hfs_find_node): Replace recursive function call with loop.
19779 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19780
19781 2008-01-23 Robert Millan <rmh@aybabtu.com>
19782
19783 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19784 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19785 (grub_multiboot2_real_boot): New function prototype.
19786
19787 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19788 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19789
19790 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19791 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19792
19793 2008-01-23 Robert Millan <rmh@aybabtu.com>
19794
19795 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19796 #ifdef'ed out grub_printf().
19797
19798 2008-01-23 Robert Millan <rmh@aybabtu.com>
19799
19800 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19801 grub_dprintf calls, since they make "debug=all" mode unusable.
19802 (grub_console_checkkey): Likewise.
19803
19804 2008-01-23 Robert Millan <rmh@aybabtu.com>
19805
19806 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19807 `term/i386/pc/at_keyboard.c'.
19808 (pkglib_MODULES): Add `serial.mod'.
19809 (serial_mod_SOURCES): New variable.
19810 (serial_mod_CFLAGS): Likewise.
19811 (serial_mod_LDFLAGS): Likewise.
19812
19813 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19814 `<grub/powerpc/ieee1275/console.h>'.
19815 (grub_keyboard_controller_init): New function prototype.
19816 (grub_console_checkkey): Likewise.
19817 (grub_console_getkey): Likewise.
19818
19819 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19820 keyboard on i386.
19821
19822 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19823 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19824
19825 2008-01-23 Robert Millan <rmh@aybabtu.com>
19826
19827 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19828 present, "(memdisk)/boot/grub" becomes the default prefix.
19829
19830 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19831 a memdisk tarball with all the modules. Add --overlay=DIR option that
19832 allows users to overlay additional files into the image.
19833
19834 2008-01-23 Robert Millan <rmh@aybabtu.com>
19835
19836 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19837 and `machine/memory.h'.
19838 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19839 (_multiboot_mod_SOURCES): New variable.
19840 (_multiboot_mod_CFLAGS): Likewise.
19841 (_multiboot_mod_LDFLAGS): Likewise.
19842 (multiboot_mod_SOURCES): Likewise.
19843 (multiboot_mod_CFLAGS): Likewise.
19844 (multiboot_mod_LDFLAGS): Likewise.
19845
19846 * include/grub/i386/ieee1275/loader.h: New file.
19847
19848 * include/grub/i386/ieee1275/machine.h: Likewise.
19849
19850 * include/grub/i386/ieee1275/memory.h: Likewise.
19851
19852 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19853 variable declaration.
19854 (grub_os_area_size): Likewise.
19855
19856 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19857 (grub_lower_mem, grub_upper_mem): New variables.
19858 (grub_stop_floppy): New function (just to make
19859 grub_multiboot2_real_boot() happy).
19860
19861 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19862 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19863 (grub_stop): New function.
19864 Include `"../realmode.S"' and `"../loader.S"'.
19865
19866 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19867 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19868
19869 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19870 rely on grub_multiboot2_real_boot() for final boot.
19871
19872 2008-01-22 Robert Millan <rmh@aybabtu.com>
19873
19874 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19875 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19876 device that doesn't look like an SD card.
19877 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19878 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19879 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19880 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19881 found.
19882
19883 2008-01-22 Robert Millan <rmh@aybabtu.com>
19884
19885 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19886 avoid claiming over our own code.
19887
19888 2008-01-22 Bean <bean123ch@gmail.com>
19889
19890 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19891 (jpeg_mod_SOURCES): New variable.
19892 (jpeg_mod_CFLAGS): Likewise.
19893 (jpeg_mod_LDFLAGS): Likewise.
19894
19895 * video/readers/jpeg.c : New file.
19896
19897 2008-01-22 Bean <bean123ch@gmail.com>
19898
19899 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19900 there are no more items.
19901
19902 2008-01-21 Robert Millan <rmh@aybabtu.com>
19903
19904 * kern/mm.c (grub_mm_init_region): Improve debug message.
19905
19906 2008-01-21 Robert Millan <rmh@aybabtu.com>
19907
19908 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19909 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19910 address.
19911 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19912 a C macro.
19913 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19914 Indicates start of upper memory.
19915 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19916 (generate_image): Abort when image size is big enough to corrupt
19917 upper memory.
19918
19919 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19920 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19921 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19922 instead of hardcoding 0xA0000.
19923 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19924 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19925 instead of hardcoding 0xA0000.
19926
19927 2008-01-21 Robert Millan <rmh@aybabtu.com>
19928
19929 * disk/memdisk.c (memdisk_size): New variable.
19930 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19931 `memdisk_size'.
19932 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19933 image to dynamic memory.
19934 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19935 `memdisk_size'. Free memdisk block.
19936
19937 2008-01-21 Robert Millan <rmh@aybabtu.com>
19938
19939 Fix detection of very small filesystems (like tar).
19940
19941 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19942 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19943 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19944 a problem with this disk).
19945
19946 2008-01-21 Robert Millan <rmh@aybabtu.com>
19947
19948 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19949 on grub_biosdisk_rw_standard() error.
19950
19951 2008-01-21 Robert Millan <rmh@aybabtu.com>
19952
19953 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19954 recent changes.
19955 * kern/elf.c: Likewise.
19956 * kern/ieee1275/ieee1275.c: Likewise.
19957 * kern/powerpc/ieee1275/openfw.c: Likewise.
19958 * term/ieee1275/ofconsole.c: Likewise.
19959
19960 2008-01-21 Robert Millan <rmh@aybabtu.com>
19961
19962 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19963
19964 * include/grub/kernel.h (grub_arch_memdisk_addr)
19965 (grub_arch_memdisk_size): Moved from here ...
19966
19967 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19968 (grub_arch_memdisk_size): ... to here.
19969
19970 2008-01-21 Robert Millan <rmh@aybabtu.com>
19971
19972 Mostly based on bugfix from Bean.
19973
19974 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19975 attribute with hook() parameter.
19976 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19977 declaration.
19978 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19979 attribute with hook() parameter.
19980 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19981 declaration.
19982
19983 2008-01-21 Robert Millan <rmh@aybabtu.com>
19984
19985 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19986 (pkglib_MODULES): Add `memdisk.mod'.
19987 (memdisk_mod_SOURCES): New variable.
19988 (memdisk_mod_CFLAGS): Likewise.
19989 (memdisk_mod_LDFLAGS): Likewise.
19990
19991 * disk/memdisk.c: New file.
19992
19993 * include/grub/disk.h (grub_disk_dev_id): Add
19994 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19995
19996 * include/grub/i386/pc/kernel.h
19997 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19998 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19999 (grub_kernel_image_size): New variable declaration.
20000 (grub_total_module_size): Likewise.
20001 (grub_memdisk_image_size): Likewise.
20002
20003 * include/grub/i386/pc/memory.h
20004 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20005
20006 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20007 (grub_arch_memdisk_addr): New variable declaration.
20008 (grub_arch_memdisk_size): Likewise.
20009
20010 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20011 (grub_arch_memdisk_size): Likewise.
20012
20013 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20014 (codestart): Replace hardcoded `0x100000' with
20015 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20016
20017 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20018 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20019 not NULL, append the contents of the file it refers to, at the end of
20020 the compressed kernel image. Initialize `grub_memdisk_image_size'
20021 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20022 (options): Add "memdisk"|'m' option.
20023 (main): Parse --memdisk|-m option, and pass user-provided path as
20024 parameter to generate_image().
20025
20026 2008-01-20 Robert Millan <rmh@aybabtu.com>
20027
20028 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20029 grub_dprintf() calls from here ...
20030 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20031
20032 2008-01-20 Robert Millan <rmh@aybabtu.com>
20033
20034 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20035
20036 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20037 declaration.
20038 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20039 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20040 `GRUB_IEEE1275_FLAG_REAL_MODE'.
20041 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
20042 property).
20043 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20044 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20045
20046 2008-01-19 Robert Millan <rmh@aybabtu.com>
20047
20048 Get rid of confusing function (superseded by
20049 `grub_ieee1275_get_integer_property')
20050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20051 prototype.
20052 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20053 function.
20054 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20055 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
20056 in native endianness from grub_ieee1275_get_integer_property().
20057
20058 2008-01-19 Robert Millan <rmh@aybabtu.com>
20059
20060 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20061 command after "shut-down", since implementations differ on which
20062 the command for halt is.
20063
20064 2008-01-19 Robert Millan <rmh@aybabtu.com>
20065
20066 * include/grub/i386/linuxbios/console.h: Add header protection.
20067 (grub_keyboard_controller_init): New function prototype.
20068 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20069 (KEYBOARD_COMMAND_READ): Likewise.
20070 (KEYBOARD_COMMAND_WRITE): Likewise.
20071 (KEYBOARD_SCANCODE_SET1): Likewise.
20072 (grub_keyboard_controller_write): New function.
20073 (grub_keyboard_controller_read): Likewise.
20074 (grub_keyboard_controller_init): Likewise.
20075
20076 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20077 (grub_console_init): On coreboot/LinuxBIOS, call
20078 grub_keyboard_controller_init().
20079
20080 2008-01-19 Robert Millan <rmh@aybabtu.com>
20081
20082 PowerPC changes provided by Pavel Roskin.
20083
20084 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20085 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20086 don't rely on cmain() doing it.
20087 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20088 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20089
20090 2008-01-16 Robert Millan <rmh@aybabtu.com>
20091
20092 * include/grub/i386/linuxbios/memory.h
20093 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20094 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20095 receive `table_header' as argument. Instead, probe for it in the
20096 known memory ranges where it can be present.
20097 (grub_available_iterate): Do not pass a fixed `table_header' address
20098 to grub_linuxbios_table_iterate().
20099
20100 2008-01-15 Robert Millan <rmh@aybabtu.com>
20101
20102 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20103 * conf/i386-ieee1275.rmk: New file.
20104 * include/grub/i386/ieee1275/console.h: Likewise.
20105 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20106 * include/grub/i386/ieee1275/kernel.h: Likewise.
20107 * include/grub/i386/ieee1275/time.h: Likewise.
20108 * kern/i386/ieee1275/init.c: Likewise.
20109 * kern/i386/ieee1275/startup.S: Likewise.
20110
20111 2008-01-15 Robert Millan <rmh@aybabtu.com>
20112
20113 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20114 when pointers are 32-bit (but still do set it to one when they are
20115 64-bit).
20116
20117 2008-01-15 Robert Millan <rmh@aybabtu.com>
20118
20119 * include/grub/ieee1275/ieee1275.h
20120 (grub_ieee1275_get_integer_property): New function prototype.
20121
20122 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20123 (grub_ieee1275_get_integer_property): New function. Wraps around
20124 grub_ieee1275_get_property() to handle endianness.
20125
20126 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20127 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
20128 where appropriate.
20129 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20130 (grub_map): Likewise.
20131 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20132
20133 2008-01-15 Bean <bean123ch@gmail.com>
20134
20135 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20136 (grub_script_execute_cmdline): Reset grub_errno.
20137
20138 * normal/main.c (read_config_file): Reset grub_errno.
20139
20140 * normal/parse.y (script_init): New.
20141 (script): Move function and menuentry here.
20142 (delimiter): New.
20143 (command): Add delimiter at the end of command.
20144 (commands): Adjust to match the new command.
20145 (commandblock): Remove grub_script_lexer_record_start.
20146 (menuentry): Add grub_script_lexer_record_start, use the new commands.
20147 (if): Use the new commands.
20148
20149 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20150
20151 2008-01-15 Robert Millan <rmh@aybabtu.com>
20152
20153 * normal/menu.c (run_menu): Move timeout message from here ...
20154 (print_timeout): ... to here.
20155 (run_menu): Use print_timeout() once during initial draw to print
20156 the whole message, and again in every clock tick to update only
20157 the number of seconds.
20158
20159 2008-01-15 Robert Millan <rmh@aybabtu.com>
20160
20161 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20162 actual size of `available' from grub_ieee1275_get_property(), and
20163 restrict parsing to that bound.
20164
20165 2008-01-15 Christian Franke <franke@computer.org>
20166
20167 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20168 (argp_program_version): Remove variable.
20169 (argp_program_bug_address): Likewise.
20170 (options): Convert from struct argp_option to struct option.
20171 (struct arguments): Remove.
20172 (parse_opt): Remove.
20173 (usage): New function.
20174 (main): Replace struct args members by simple variables.
20175 Replace argp_parse() by getopt_long().
20176 Add switch to evaluate options.
20177 Add missing "(...)" around root_dev in prefix string.
20178
20179 2008-01-14 Robert Millan <rmh@aybabtu.com>
20180
20181 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20182 for grub_ieee1275_exit(), in order to improve portability.
20183
20184 2008-01-14 Robert Millan <rmh@aybabtu.com>
20185
20186 * util/grub.d/10_linux.in (prefix): Define.
20187 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20188
20189 2008-01-13 Pavel Roskin <proski@gnu.org>
20190
20191 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20192 grub_errno if no errors have been detected.
20193
20194 2008-01-12 Robert Millan <rmh@aybabtu.com>
20195
20196 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20197 (grub_util_get_dev_abstraction): New function prototype.
20198
20199 * util/getroot.c: Include `<grub/util/getroot.h>'
20200 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20201 (grub_util_get_dev_abstraction): ... here (new function).
20202
20203 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20204 `PRINT_ABSTRACTION'.
20205 (probe): Probe for abstraction type when requested.
20206 (main): Understand `--target=abstraction'.
20207
20208 * util/i386/efi/grub-install.in: Add abstraction module to core
20209 image when it is found to be necessary.
20210 * util/i386/pc/grub-install.in: Likewise.
20211 * util/powerpc/ieee1275/grub-install.in: Likewise.
20212
20213 * util/update-grub_lib.in (font_path): Return system path without
20214 converting to GRUB path.
20215 * util/update-grub.in: Convert system path returned by font_path()
20216 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20217 abstraction module is needed for loading fonts (if any). Export
20218 that as `GRUB_PRELOAD_MODULES'.
20219 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20220 insmod commands).
20221
20222 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20223
20224 Remove some unused code from reiserfs.
20225
20226 * fs/reiserfs.c (struct grub_reiserfs_key)
20227 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20228 (struct grub_reiserfs_node_body): Removed.
20229 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20230 Likewise.
20231 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20232 Likewise.
20233 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20234 Likewise.
20235 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20236 Likewise.
20237 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20238 Likewise.
20239 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20240 Likewise.
20241 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20242 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20243 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20244
20245 2008-01-10 Robert Millan <rmh@aybabtu.com>
20246
20247 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20248 Determines if a file is garbage left by packaging systems, etc.
20249 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20250 for processing /etc/grub.d scripts.
20251 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20252 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20253 as a condition for processing Linux images.
20254
20255 2008-01-10 Pavel Roskin <proski@gnu.org>
20256
20257 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20258 to compile reiserfs.c on PowerPC.
20259
20260 2008-01-10 Robert Millan <rmh@aybabtu.com>
20261
20262 * kern/device.c (grub_device_iterate): Do not abort device iteration
20263 when one of the devices cannot be opened.
20264 * kern/disk.c (grub_disk_open): Do not account previous failures of
20265 unrelated functions when grub_errno is checked for.
20266
20267 2008-01-08 Robert Millan <rmh@aybabtu.com>
20268
20269 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20270 `! grub_linux_is_bzimage', change order of address comparison to make
20271 it more intuitive, and improve "too big zImage" error message.
20272
20273 2008-01-08 Robert Millan <rmh@aybabtu.com>
20274
20275 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20276 `$(update-grub_DATA)'.
20277 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20278 targets.
20279
20280 2008-01-07 Robert Millan <rmh@aybabtu.com>
20281
20282 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20283 which instruction is modified by grub-setup during installation
20284 (since it wasn't obvious by only looking at this file).
20285
20286 2008-01-07 Robert Millan <rmh@aybabtu.com>
20287
20288 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20289 listing actual TODO items.
20290
20291 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20292
20293 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20294 correctly.
20295 (grub_reiserfs_get_key_offset): Likewise.
20296 (grub_reiserfs_set_key_offset): Likewise.
20297 (grub_reiserfs_set_key_type): Likewise.
20298 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
20299
20300 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20301 better to remove the bitfield version completely.
20302
20303 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20304
20305 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20306 allocated from the heap, due to the fshelp implementation.
20307 (grub_reiserfs_dir): Free NODE, due to the same reason.
20308
20309 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20310
20311 Mostly from Vincent Pelletier:
20312
20313 * fs/reiserfs.c: New file.
20314
20315 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20316 (reiserfs_mod_SOURCES): New variable.
20317 (reiserfs_mod_CFLAGS): Likewise.
20318 (reiserfs_mod_LDFLAGS): Likewise.
20319
20320 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20321 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20322 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20323 normal/color.c.
20324
20325 2008-01-06 Robert Millan <rmh@aybabtu.com>
20326
20327 * normal/color.c: Remove `<grub/env.h>'.
20328
20329 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20330
20331 * include/grub/normal.h: Include <grub/env.h>.
20332
20333 2008-01-05 Robert Millan <rmh@aybabtu.com>
20334
20335 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20336 usage example with `(hd0,1)'.
20337 Reported by Samuel Thibault.
20338
20339 2008-01-05 Robert Millan <rmh@aybabtu.com>
20340
20341 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20342 (grub_linux_boot_zimage): Rename to ...
20343 (grub_linux_boot): ... this.
20344 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20345 (grub_linux_boot_zimage): Conditionalize zImage copy.
20346
20347 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20348 (grub_linux_boot_bzimage): Remove prototype.
20349 (grub_linux_boot_zimage): Rename to ...
20350 (grub_linux_boot): ... this.
20351
20352 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20353 (grub_linux_boot): Remove function.
20354
20355 2008-01-05 Robert Millan <rmh@aybabtu.com>
20356
20357 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20358 (grub_env_write_color_highlight): Likewise.
20359 (grub_wait_after_message): Likewise.
20360
20361 * normal/color.c: New file.
20362
20363 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20364 (normal_mod_DEPENDENCIES): Likewise.
20365
20366 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20367 (normal_mod_DEPENDENCIES): Likewise.
20368
20369 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20370 (normal_mod_DEPENDENCIES): Likewise.
20371
20372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20373 (normal_mod_DEPENDENCIES): Likewise.
20374
20375 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20376 for waiting after a message is printed.
20377 * normal/main.c (read_config_file): Likewise.
20378 (grub_normal_init): Register grub_env_write_color_normal() and
20379 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20380 `color_highlight' variables as global.
20381
20382 * normal/menu.c (grub_wait_after_message): New function.
20383 (grub_color_menu_normal): New variable. Replaces ...
20384 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20385 (grub_color_menu_highlight): New variable. Replaces ...
20386 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20387 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20388 `GRUB_TERM_COLOR_STANDARD'.
20389 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20390 `normal_code' and `highlight_code' to `old_color_normal' and
20391 `old_color_highlight', respectively.
20392 (grub_menu_init_page): Update colors when drawing the menu, based on
20393 `menu_color_normal' and `menu_color_highlight' variables.
20394 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20395 a message is printed.
20396
20397 2008-01-05 Robert Millan <rmh@aybabtu.com>
20398
20399 * kern/env.c (grub_env_context_open): Propagate hooks for global
20400 variables to new context.
20401
20402 * kern/main.c (grub_set_root_dev): Export `root' variable.
20403
20404 2008-01-05 Robert Millan <rmh@aybabtu.com>
20405
20406 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
20407 discs unconditionally, since udev and others have options to provide
20408 them.
20409
20410 2008-01-05 Robert Millan <rmh@aybabtu.com>
20411
20412 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20413
20414 2008-01-04 Christian Franke <franke@computer.org>
20415
20416 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20417 of eisa_mmap.
20418
20419 2008-01-03 Pavel Roskin <proski@gnu.org>
20420
20421 * kern/i386/linuxbios/init.c: Put "void" to all function
20422 declarations with no arguments.
20423 * kern/powerpc/ieee1275/init.c: Likewise.
20424 * term/i386/pc/at_keyboard.c: Likewise.
20425 * term/i386/pc/vga_text.c: Likewise.
20426 * util/grub-mkdevicemap.c: Likewise.
20427
20428 2008-01-02 Robert Millan <rmh@aybabtu.com>
20429
20430 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20431 message when loaded image is out of bounds.
20432 (grub_multiboot_load_elf64): Likewise.
20433
20434 2008-01-02 Pavel Roskin <proski@gnu.org>
20435
20436 * util/grub.d/10_linux.in: Try version without ".old" when
20437 looking for initrd. It's better to use initrd from the newer
20438 kernel of the same version than no initrd at all.
20439
20440 2008-01-01 Robert Millan <rmh@aybabtu.com>
20441
20442 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20443
20444 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20445
20446 * include/grub/video.h: Added grub_video_unmap_color and
20447 grub_video_get_active_render_target.
20448 (grub_video_adapter): Added unmap_color and get_active_render_target.
20449
20450 * video/video.c: Added grub_video_unmap_color and
20451 grub_video_get_active_render_target.
20452 (grub_video_get_info): Changed method to accept NULL pointer as an
20453 argument to allow detection of active video adapter.
20454
20455 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20456 grub_video_vbe_unmap_color_int.
20457 Added grub_video_vbe_unmap_color and
20458 grub_video_vbe_get_active_render_target.
20459 (grub_video_vbe_adapter): Added unmap_color and
20460 get_active_render_target.
20461
20462 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
20463 with grub_video_vbe_unmap_color_int.
20464
20465 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20466 (DEFAULT_NORMAL_COLOR): Likewise.
20467 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20468 (DEFAULT_FG_COLOR): Removed.
20469 (DEFAULT_BG_COLOR): Likewise.
20470 (DEFAULT_CURSOR_COLOR): Changed value.
20471 (grub_virtual_screen): Added standard_color_setting,
20472 normal_color_setting, highlight_color_setting and term_color.
20473 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20474 (bitmap_width): Added.
20475 (bitmap_height): Likewise.
20476 (bitmap): Likewise.
20477 (set_term_color): Likewise.
20478 (grub_virtual_screen_setup): Changed to use new terminal coloring
20479 settings.
20480 (grub_gfxterm_init): Added init for bitmap.
20481 (grub_gfxterm_fini): Added destroy for bitmap.
20482 (redraw_screen_rect): Updated to use background bitmap and new
20483 terminal coloring.
20484 (scroll_up): Added optimization for case when there is no bitmap.
20485 (grub_gfxterm_cls): Fixed to use correct background color.
20486 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20487 coloring.
20488 (grub_virtual_screen_setcolor): Likewise.
20489 (grub_virtual_screen_getcolor): Added.
20490 (grub_gfxterm_background_image_cmd): Likewise.
20491 (grub_video_term): Added setcolor and getcolor.
20492 (MOD_INIT): Added registration of background_image command.
20493 (MOD_TERM): Added unregistration for background_image command.
20494
20495 2007-12-30 Pavel Roskin <proski@gnu.org>
20496
20497 * loader/multiboot_loader.c: Fix multiboot command
20498 unregistration. Fix all typos in the word "multiboot".
20499
20500 2007-12-29 Pavel Roskin <proski@gnu.org>
20501
20502 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20503 support for initrd names used in Fedora.
20504
20505 2007-12-26 Bean <bean123ch@gmail.com>
20506
20507 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20508 (cpio_mod_SOURCES): New variable.
20509 (cpio_mod_CFLAGS): Likewise.
20510 (cpio_mod_LDFLAGS): Likewise.
20511
20512 * fs/cpio.c: New file.
20513
20514 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20515
20516 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20517
20518 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20519
20520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20521
20522 2007-12-25 Robert Millan <rmh@aybabtu.com>
20523
20524 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20525 (grub_getcolor): New function.
20526
20527 * kern/term.c (grub_getcolor): New function.
20528 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20529 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20530 (print_entry): Set normal and highlight colors to
20531 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20532 respectively, before printing and restore them to old
20533 values afterwards.
20534 (grub_menu_init_page): Likewise. Fill an additional colored space
20535 that would otherwise be left blank.
20536
20537 * term/efi/console.c (grub_console_getcolor): New function.
20538 (struct grub_console_term.getcolor): New variable.
20539 * term/i386/pc/console.c (grub_console_getcolor): New function.
20540 (struct grub_console_term.getcolor): New variable.
20541 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20542 (struct grub_console_term.getcolor): New variable.
20543
20544 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20545 (struct grub_console_term.setcolor): Remove variable.
20546 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20547 (struct grub_console_term.setcolor): Remove variable.
20548 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20549 (struct grub_console_term.setcolor): Remove variable.
20550 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20551 (struct grub_console_term.setcolor): Remove variable.
20552
20553 2007-12-25 Robert Millan <rmh@aybabtu.com>
20554
20555 * configure.ac: Search for possible unifont.hex locations, and
20556 define UNIFONT_HEX if found.
20557
20558 * Makefile.in (UNIFONT_HEX): Define variable.
20559 (DATA): Rename to ...
20560 (PKGLIB): ... this. Update all users.
20561 (PKGDATA): New variable.
20562 (pkgdata_IMAGES): Rename to ...
20563 (pkglib_IMAGES): ... this. Update all users.
20564 (pkgdata_MODULES): Rename to ...
20565 (pkglib_MODULES): ... this. Update all users.
20566 (pkgdata_PROGRAMS): Rename to ...
20567 (pkglib_PROGRAMS): ... this. Update all users.
20568 (pkgdata_DATA): Rename to ...
20569 (pkglib_DATA): ... this. Update all users.
20570 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20571 (unicode.pff, ascii.pff): New rules.
20572 (all-local): Add `$(PKGDATA)' dependency.
20573 (install-local): Process `$(PKGDATA)'.
20574
20575 * util/update-grub_lib.in (font_path): Search for *.pff files in
20576 a few more locations, including `${pkgdata}'.
20577
20578 2007-12-23 Robert Millan <rmh@aybabtu.com>
20579
20580 Patch from Bean <bean123ch@gmail.com>:
20581 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20582 `size'.
20583
20584 2007-12-21 Bean <bean123ch@gmail.com>
20585
20586 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20587 (ntfscomp_mod_SOURCES): New variable.
20588 (ntfscomp_mod_CFLAGS): Likewise.
20589 (ntfscomp_mod_LDFLAGS): Likewise.
20590
20591 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20592 (grub_probe_SOURCES): Likewise.
20593 (grub_emu_SOURCES): Likewise.
20594
20595 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20596 (grub_emu_SOURCES): Likewise.
20597
20598 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20599 (grub_emu_SOURCES): Likewise.
20600
20601 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20602 (grub_emu_SOURCES): Likewise.
20603
20604 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20605 (read_run_list): Renamed to grub_ntfs_read_run_list.
20606 (decomp_nextvcn): Moved to ntfscomp.c.
20607 (decomp_getch): Likewise.
20608 (decomp_get16): Likewise.
20609 (decomp_block): Likewise.
20610 (read_block): Likewise.
20611 (read_data): Partially moved to ntfscomp.c.
20612 (fixup): Change unsigned to grub_uint16_t.
20613 (read_mft): Change unsigned long to grub_uint32_t.
20614 (read_attr): Likewise.
20615 (read_data): Likewise.
20616 (read_run_data): Likewise.
20617 (read_run_list): Likewise.
20618 (read_mft): Likewise.
20619
20620 * fs/ntfscomp.c: New file.
20621
20622 * include/grub/ntfs.h: New file.
20623
20624 2007-12-16 Robert Millan <rmh@aybabtu.com>
20625
20626 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20627 IDE disk check, since Linux is known to support 20 IDE disks.
20628 Reported by Colin Watson.
20629
20630 2007-12-15 Bean <bean123ch@gmail.com>
20631
20632 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20633 (lnxboot_img_SOURCES): New variable.
20634 (lnxboot_img_ASFLAGS): Likewise.
20635 (lnxboot_img_LDFLAGS): Likewise.
20636
20637 * boot/i386/pc/lnxboot.S: New file.
20638
20639 2007-11-24 Pavel Roskin <proski@gnu.org>
20640
20641 * configure.ac: Test if '--build-id=none' is supported by the
20642 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20643 objcopy to generate incorrect binary files (binutils
20644 2.17.50.0.18-1 as shipped by Fedora 8).
20645 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20646 linking, so that build ID doesn't break the test.
20647
20648 2007-11-24 Pavel Roskin <proski@gnu.org>
20649
20650 * include/grub/i386/time.h: use "void" in the argument list
20651 of grub_cpu_idle().
20652 * include/grub/powerpc/time.h: Likewise.
20653 * include/grub/sparc64/time.h: Likewise.
20654
20655 2007-11-18 Christian Franke <franke@computer.org>
20656
20657 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20658 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20659 This fixes the problem that function keys did not work in grub-emu.
20660
20661 2007-11-18 Christian Franke <franke@computer.org>
20662
20663 * disk/host.c (grub_host_open): Remove attribute unused from
20664 name parameter. Add check for "host". This fixes the problem
20665 that grub-emu does not find partitions.
20666
20667 2007-11-18 Christian Franke <franke@computer.org>
20668
20669 * util/hostfs.c (is_dir): New function.
20670 (grub_hostfs_dir): Handle missing dirent.d_type case.
20671 (grub_hostfs_read): Add missing fseek().
20672 (grub_hostfs_label): Clear label pointer. This fixes a crash
20673 of grub-emu on "ls (host)".
20674
20675 2007-11-18 Christian Franke <franke@computer.org>
20676
20677 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20678 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20679 to 64 bit boundary by default.
20680
20681 2007-11-18 Bean <bean123ch@gmail.com>
20682
20683 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20684 (hexdump_mod_SOURCES): New variable.
20685 (hexdump_mod_CFLAGS): Likewise.
20686 (hexdump_mod_LDFLAGS): Likewise.
20687
20688 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20689
20690 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20691
20692 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20693
20694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20695
20696 * include/grub/hexdump.h: New file.
20697
20698 * commands/hexdump.c: New file.
20699
20700 2007-11-10 Robert Millan <rmh@aybabtu.com>
20701
20702 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20703 in grub_outb() calls.
20704 (beep_on): Likewise.
20705
20706 2007-11-10 Christian Franke <franke@computer.org>
20707
20708 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20709 (grub_menu_run): Likewise.
20710
20711 2007-11-10 Robert Millan <rmh@aybabtu.com>
20712
20713 * include/grub/i386/efi/machine.h: New file.
20714 * include/grub/i386/linuxbios/machine.h: Likewise.
20715 * include/grub/i386/pc/machine.h: Likewise.
20716 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20717 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20718
20719 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20720 (serial_hw_io_addr): New variable.
20721 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20722 instead of `(unsigned short *) 0x400'.
20723
20724 2007-11-10 Bean <bean123ch@gmail.com>
20725
20726 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20727
20728 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20729
20730 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20731 (vga_mod_SOURCES): Added.
20732 (vga_mod_CFLAGS): Likewise.
20733 (vga_mod_LDFLAGS): Likewise.
20734
20735 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20736 grub_outb() calls.
20737 (set_map_mask): Likewise.
20738 (set_read_map): Likewise.
20739 (set_read_address): Likewise.
20740 (vga_font): Removed variable.
20741 (get_vga_glyph): Removed function.
20742 (invalidate_char): Likewise.
20743 (write_char): Changed to use grub_font_get_glyph() for font
20744 information.
20745 (grub_vga_putchar): Likewise.
20746 (grub_vga_getcharwidth): Likewise.
20747
20748 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20749
20750 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20751 flags.
20752 (pxeboot_img_LDFLAGS): Likewise.
20753 (diskboot_img_LDFLAGS): Likewise.
20754 (kernel_img_LDFLAGS): Likewise.
20755
20756 2007-11-06 Robert Millan <rmh@aybabtu.com>
20757
20758 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20759 in grub_outb() calls.
20760 (serial_hw_init): Likewise.
20761
20762 2007-11-05 Robert Millan <rmh@aybabtu.com>
20763
20764 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20765 spaces. Skip non-regular files.
20766
20767 2007-11-05 Robert Millan <rmh@aybabtu.com>
20768
20769 * kern/disk.c (grub_disk_firmware_fini)
20770 (grub_disk_firmware_is_tainted): New variables.
20771
20772 * include/grub/disk.h (grub_disk_firmware_fini)
20773 (grub_disk_firmware_is_tainted): Likewise.
20774
20775 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20776 (grub_disk_biosdisk_fini): ... to here.
20777 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20778 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20779 is set. Register grub_disk_biosdisk_fini() in
20780 `grub_disk_firmware_fini'.
20781
20782 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20783 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20784 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20785 to finish existing firmware disk interface.
20786
20787 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20788 (ata_mod_SOURCES): New variable.
20789 (ata_mod_CFLAGS): Likewise.
20790 (ata_mod_LDFLAGS): Likewise.
20791
20792 2007-11-05 Robert Millan <rmh@aybabtu.com>
20793
20794 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20795 (grub_ata_wait): Reimplement using grub_millisleep().
20796
20797 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20798 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20799
20800 2007-11-03 Marco Gerards <marco@gnu.org>
20801
20802 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20803 (CRTC_ADDR_PORT): New macro.
20804 (CRTC_DATA_PORT): Likewise.
20805 (CRTC_CURSOR): Likewise.
20806 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20807 (CRTC_CURSOR_ADDR_LOW): Likewise.
20808 (update_cursor): New function.
20809 (grub_console_real_putchar): Call `update_cursor'.
20810 (grub_console_gotoxy): Likewise.
20811 (grub_console_cls): Set the default color when clearing the
20812 screen.
20813 (grub_console_setcursor): Implemented.
20814
20815 2007-11-03 Marco Gerards <marco@gnu.org>
20816
20817 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20818 become activate.
20819 (grub_ata_pio_write): Likewise.
20820
20821 (grub_atapi_identify): Wait after issuing an ATA command.
20822 (grub_atapi_packet): Likewise.
20823 (grub_ata_identify): Likewise.
20824 (grub_ata_readwrite): Likewise.
20825
20826 2007-11-03 Marco Gerards <marco@gnu.org>
20827
20828 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20829 (grub_ata_pio_write): Likewise.
20830 (grub_ata_readwrite): Use `grub_error', instead of
20831 returning `grub_errno'.
20832
20833 2007-11-03 Marco Gerards <marco@gnu.org>
20834
20835 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20836 grub_ata_pio_write once for every single sector, instead of for
20837 multiple sectors.
20838
20839 2007-10-31 Robert Millan <rmh@aybabtu.com>
20840
20841 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20842
20843 * conf/i386-linuxbios.rmk: New file.
20844
20845 * kern/i386/pc/hardware.c: Likewise.
20846 * term/i386/pc/at_keyboard.c: Likewise.
20847 * term/i386/pc/vga_text.c: Likewise.
20848
20849 * include/grub/i386/linuxbios/boot.h: Likewise.
20850 * include/grub/i386/linuxbios/console.h: Likewise.
20851 * include/grub/i386/linuxbios/init.h: Likewise.
20852 * include/grub/i386/linuxbios/kernel.h: Likewise.
20853 * include/grub/i386/linuxbios/loader.h: Likewise.
20854 * include/grub/i386/linuxbios/memory.h: Likewise.
20855 * include/grub/i386/linuxbios/serial.h: Likewise.
20856 * include/grub/i386/linuxbios/time.h: Likewise.
20857
20858 * kern/i386/linuxbios/init.c: Likewise.
20859 * kern/i386/linuxbios/startup.S: Likewise.
20860 * kern/i386/linuxbios/table.c: Likewise.
20861
20862 2007-10-31 Marco Gerards <marco@gnu.org>
20863
20864 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20865 (ata_mod_SOURCES): New variable.
20866 (ata_mod_CFLAGS): Likewise.
20867 (ata_mod_LDFLAGS): Likewise.
20868
20869 * disk/ata.c: New file.
20870
20871 * include/grub/disk.h (grub_disk_dev_id): Add
20872 `GRUB_DISK_DEV_ATA_ID'.
20873
20874 2007-10-31 Robert Millan <rmh@aybabtu.com>
20875
20876 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20877 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20878
20879 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20880 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20881
20882 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20883 `<grub/types.h>'.
20884
20885 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20886
20887 2007-10-27 Robert Millan <rmh@aybabtu.com>
20888
20889 * include/grub/types.h (ULONG_MAX): Define macro.
20890
20891 2007-10-22 Robert Millan <rmh@aybabtu.com>
20892
20893 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20894 `"../realmode.S"'.
20895 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20896
20897 2007-10-22 Robert Millan <rmh@aybabtu.com>
20898
20899 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20900 (pkgdata_MODULES): Add `biosdisk.mod'.
20901 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20902 variables.
20903
20904 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20905 (grub_biosdisk_init): Replace with ...
20906 (GRUB_MOD_INIT(biosdisk)): ... this.
20907 (grub_biosdisk_fini): Replace with ...
20908 (GRUB_MOD_FINI(biosdisk)): ... this.
20909
20910 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20911 (grub_machine_init): Remove call to grub_biosdisk_init().
20912 (grub_machine_fini): Remove call to grub_machine_fini().
20913
20914 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20915
20916 2007-10-22 Robert Millan <rmh@aybabtu.com>
20917
20918 * include/grub/time.h: New file.
20919 * include/grub/i386/time.h: Likewise.
20920 * include/grub/powerpc/time.h: Likewise.
20921 * include/grub/sparc64/time.h: Likewise.
20922
20923 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20924 instances to ...
20925 (KERNEL_MACHINE_TIME_HEADER): ... this.
20926 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20927 instances to ...
20928 (KERNEL_MACHINE_TIME_HEADER): ... this.
20929 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20930 instances to ...
20931 (KERNEL_MACHINE_TIME_HEADER): ... this.
20932
20933 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20934 (grub_millisleep): New function.
20935 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20936 (grub_millisleep): New function.
20937 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20938 Remove `grub/machine/time.h' include.
20939 (grub_millisleep): New function.
20940 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20941 Remove `grub/machine/time.h' include.
20942 (grub_millisleep): New function.
20943
20944 * include/grub/misc.h (grub_div_roundup): New function.
20945
20946 * kern/misc.c: Include `<grub/time.h>'.
20947 (grub_millisleep_generic): New function.
20948
20949 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20950 Add `time.h'.
20951 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20952 Add `time.h'.
20953 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20954 `machine/time.h'. Add `time.h'.
20955 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20956
20957 2007-10-21 Robert Millan <rmh@aybabtu.com>
20958
20959 * include/grub/misc.h (grub_max): New function.
20960
20961 2007-10-21 Robert Millan <rmh@aybabtu.com>
20962
20963 * util/misc.c (grub_util_info): Call fflush() before returning.
20964
20965 2007-10-20 Robert Millan <rmh@aybabtu.com>
20966
20967 * genmk.rb (Image): Copy `extra_flags' from here ...
20968 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20969
20970 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20971 to `argc' and `args' arguments.
20972
20973 2007-10-17 Robert Millan <rmh@aybabtu.com>
20974
20975 * kern/i386/loader.S: New file.
20976
20977 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20978 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20979 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20980 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20981 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20982 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20983 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20984 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20985 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20986 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20987 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20988 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20989 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20990 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20991
20992 * kern/i386/realmode.S: New file.
20993
20994 * kern/i386/pc/startup.S (protstack): Moved from here ...
20995 * kern/i386/realmode.S (protstack)... to here.
20996 * kern/i386/pc/startup.S (gdt): Moved from here ...
20997 * kern/i386/realmode.S (gdt)... to here.
20998 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20999 * kern/i386/realmode.S (prot_to_real)... to here.
21000
21001 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21002 `kern/i386/realmode.S'.
21003
21004 2007-10-17 Robert Millan <rmh@aybabtu.com>
21005
21006 * include/grub/i386/loader.h: New file.
21007
21008 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21009 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21010 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21011 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21012 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21013 * include/grub/i386/loader.h (grub_linux_prot_size)
21014 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21015 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21016 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21017 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21018
21019 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21020
21021 2007-10-15 Robert Millan <rmh@aybabtu.com>
21022
21023 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21024 filesystem when dev->disk is unset.
21025 Do probe for filesystem even when dev->disk->has_partitions is set.
21026 In case a filesystem is found, always report it.
21027 In case it isn't, if dev->disk->has_partitions is set, report that
21028 a partition table was found instead of reporting that no filesystem
21029 could be identified.
21030
21031 2007-10-12 Robert Millan <rmh@aybabtu.com>
21032
21033 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21034 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21035
21036 * include/grub/types.h (grub_host_to_target16): New macro.
21037 (grub_host_to_target32): Likewise.
21038 (grub_host_to_target64): Likewise.
21039 (grub_target_to_host16): Likewise.
21040 (grub_target_to_host32): Likewise.
21041 (grub_target_to_host64): Likewise.
21042
21043 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21044 Renamed from to ...
21045 (GRUB_MOD_ALIGN): ...this. Update all users.
21046
21047 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21048 grub_host_to_target32.
21049 Replace grub_be_to_cpu32 with grub_target_to_host32.
21050 (load_modules): Likewise.
21051 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21052 Replace grub_be_to_cpu32 with grub_target_to_host32.
21053 Replace grub_cpu_to_be16 with grub_host_to_target16.
21054 Replace grub_cpu_to_be32 grub_host_to_target32.
21055
21056 2007-10-12 Robert Millan <rmh@aybabtu.com>
21057
21058 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21059 * util/elf/grub-mkimage.c: ... here.
21060
21061 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21062 `util/powerpc/ieee1275/grub-mkimage.c'.
21063
21064 2007-10-07 Robert Millan <rmh@aybabtu.com>
21065
21066 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21067 and make it easier to figure out.
21068 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21069 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21070 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21071 leave us with less than HEAP_MIN_SIZE total heap.
21072 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
21073
21074 2007-10-03 Robert Millan <rmh@aybabtu.com>
21075
21076 * include/grub/i386/io.h: New file.
21077 * commands/i386/pc/play.c (inb): Removed.
21078 (outb): Removed.
21079 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21080 with grub_outb().
21081 * term/i386/pc/serial.c (inb): Removed.
21082 (outb): Removed.
21083 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21084 with grub_outb().
21085 * term/i386/pc/vga.c (inb): Removed.
21086 (outb): Removed.
21087 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21088 with grub_outb().
21089
21090 2007-10-02 Robert Millan <rmh@aybabtu.com>
21091
21092 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21094 Reported by Marcin Kurek.
21095
21096 2007-09-07 Robert Millan <rmh@aybabtu.com>
21097
21098 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21099 SmartFirmware version updates (as released by Sven Luther), and avoid
21100 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21101 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21102 known broken.
21103
21104 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21105
21106 From Hitoshi Ozeki:
21107 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21108 when merging two regions.
21109
21110 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21111
21112 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21113 * normal/completion.c (grub_normal_do_completion): Likewise.
21114 Reported by Hitoshi Ozeki.
21115
21116 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21117
21118 Do not use devices at boot in chainloading.
21119
21120 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21121 (boot_part_addr): Likewise.
21122 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21123 with BOOT_DRIVE and BOOT_PART_ADDR.
21124 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21125 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21126
21127 2007-08-29 Robert Millan <rmh@aybabtu.com>
21128
21129 Patch from Simon Peter <dn.tlp@gmx.net>:
21130 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21131 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21132 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21133 util/i386/pc/grub-setup.c_DEPENDENCIES.
21134 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21135 util/grub-probe.c_DEPENDENCIES.
21136 * conf/powerpc-ieee1275.rmk: Likewise.
21137
21138 2007-08-28 Robert Millan <rmh@aybabtu.com>
21139
21140 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21141 to tell grub-mkdevicemap how to name devices.
21142 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21143 feature).
21144
21145 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21146 util/i386/get_disk_name.c.
21147 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21148 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21149 util/ieee1275/get_disk_name.c.
21150
21151 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21152
21153 * DISTLIST: Add util/i386/get_disk_name.c and
21154 util/ieee1275/get_disk_name.c.
21155
21156 * util/grub-mkdevicemap.c: Replace device naming logic with
21157 grub_util_get_disk_name() calls.
21158
21159 2007-08-20 Robert Millan <rmh@aybabtu.com>
21160
21161 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21162 (so that it works for both plural and singular quantities).
21163
21164 2007-08-05 Robert Millan <rmh@aybabtu.com>
21165
21166 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21167 so that [xz] isn't taken into account when determining order.
21168
21169 2007-08-02 Marco Gerards <marco@gnu.org>
21170
21171 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21172 `include/multiboot2.h', `include/grub/elfload.h',
21173 `include/multiboot.h', `include/grub/multiboot.h',
21174 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21175 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21176 `kern/elf.c', `loader/multiboot_loader.c',
21177 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21178 `loader/i386/pc/multiboot2.c',
21179 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21180 `util/i386/pc/grub-mkrescue.in'. Remove
21181 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21182 `include/grub/i386/pc/util/biosdisk.h' and
21183 `include/grub/powerpc/ieee1275/multiboot.h'.
21184
21185 2007-08-02 Bean <bean123ch@gmail.com>
21186
21187 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21188 (ntfs_mod_SOURCES): New variable.
21189 (ntfs_mod_CFLAGS): Likewise.
21190 (ntfs_mod_LDFLAGS): Likewise.
21191
21192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21193 (grub_probe_SOURCES): Likewise.
21194 (grub_emu_SOURCES): Likewise.
21195
21196 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21197 (grub_emu_SOURCES): Likewise.
21198
21199 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21200 (grub_emu_SOURCES): Likewise.
21201
21202 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21203
21204 * fs/ntfs.c: New file.
21205
21206 2007-08-02 Bean <bean123ch@gmail.com>
21207
21208 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21209
21210 * file.h (grub_file): Likewise.
21211
21212 * fshelp.h (grub_fshelp_read_file): Likewise.
21213
21214 * util/i386/pc/grub-setup.c (setup): Likewise.
21215 (save_first_sector): Likewise.
21216 (save_blocklists): Likewise.
21217
21218 * fs/affs.c (grub_affs_read_file): Likewise.
21219
21220 * fs/ext2.c (grub_ext2_read_file): Likewise.
21221
21222 * fs/fat.c (grub_fat_read_data): Likewise.
21223
21224 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21225
21226 * fs/hfs.c (grub_hfs_read_file): Likewise.
21227
21228 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21229
21230 * fs/jfs.c (grub_jfs_read_file): Likewise.
21231
21232 * fs/minix.c (grub_minix_read_file): Likewise.
21233
21234 * fs/sfs.c (grub_sfs_read_file): Likewise.
21235
21236 * fs/ufs.c (grub_ufs_read_file): Likewise.
21237
21238 * fs/xfs.c (grub_xfs_read_file): Likewise.
21239
21240 * command/blocklist.c (read_blocklist): Likewise.
21241 (print_blocklist): Likewise.
21242
21243 2007-08-02 Marco Gerards <marco@gnu.org>
21244
21245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21246 `util/hostfs.c'.
21247
21248 * disk/host.c: New file.
21249
21250 * util/hostfs.c: Likewise.
21251
21252 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21253 return `GRUB_ERR_BAD_FS'.
21254 * fs/sfs.c (grub_sfs_mount): Likewise.
21255 * fs/xfs.c (grub_xfs_mount): Likewise.
21256
21257 * include/grub/disk.h (enum grub_disk_dev_id): Add
21258 `GRUB_DISK_DEVICE_HOST_ID'.
21259
21260 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21261
21262 2007-07-24 Jerone Young <jerone@gmail.com>
21263
21264 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
21265 modules for compilation.
21266 * conf/powerpc-ieee1275.rmk: Likewise.
21267
21268 * include/multiboot.h: Move multiboot definitions to one file. Rename
21269 many definitions to not get grub specific.
21270 * include/multiboot2.h: Create header with multiboot 2 definitions.
21271 * include/grub/multiboot.h: Header for grub specific function
21272 prototypes and definitions.
21273 * include/grub/multiboot2.h: Likewise.
21274 * include/grub/multiboot_loader.h: Likewise.
21275 * include/grub/i386/pc/multiboot.h: Removed.
21276 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21277
21278 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21279 and 2 to allow for one multiboot and module commands.
21280 * loader/multiboot2.c: Add multiboot2 functionality.
21281 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21282 and definition names.
21283 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21284 2 functions.
21285 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21286 ieee1275 specific multiboot2 code.
21287
21288 * kern/i386/pc/startup.S: Change headers and definition names for
21289 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21290
21291 2007-07-22 Robert Millan <rmh@aybabtu.com>
21292
21293 * geninitheader.sh: Process file specified in first parameter rather
21294 than hardcoding grub_modules_init.lst.
21295 * geninit.sh: Likewise. Also, construct header name dynamically rather
21296 than hardcoding grub_modules_init.h.
21297
21298 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21299 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21300 grub_probe_init.[ch] and grub_setup_init.[ch].
21301
21302 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21303 grub_modules_init.h with grub_emu_init.h.
21304 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21305 grub_probe_init.[ch] files.
21306 * conf/i386-efi.rmk: Likewise.
21307 * conf/i386-pc.rmk: Likewise.
21308 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21309 grub_setup_init.[ch] files.
21310
21311 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21312 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21313 to initialize modules rather than a list of hardcoded functions.
21314 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21315 grub_init_all() to initialize modules rather than a list of hardcoded
21316 functions.
21317
21318 2007-07-22 Robert Millan <rmh@aybabtu.com>
21319
21320 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21321 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21322
21323 2007-07-22 Robert Millan <rmh@aybabtu.com>
21324
21325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21326 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21327 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21328 flag when running on SmartFirmware.
21329 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21330 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21331 was set.
21332
21333 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21334 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21335 rather than decreasing it.
21336
21337 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21338 there's not enough space to do it, fail in the same way as when it
21339 can't be done because there are no partitions.
21340
21341 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21342 when nvsetenv failed.
21343
21344 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21345
21346 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21347 because this rule is automatically generated.
21348 (grub-mkrescue): Removed for the same reason as above.
21349
21350 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21351
21352 Migrate to GNU General Public License Version 3.
21353
21354 * COPYING: Replaced with the plain text version of GPLv3.
21355
21356 * config.guess: Updated from gnulib.
21357 * config.sub: Likewise.
21358
21359 * geninit.sh: Output a GPLv3 copyright notice.
21360 * geninitheader.sh: Likewise.
21361 * genmodsrc.sh: Likewise.
21362 * gensymlist.sh.in: Likewise.
21363
21364 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21365 * boot/i386/pc/diskboot.S: Likewise.
21366 * boot/i386/pc/pxeboot.S: Likewise.
21367 * commands/blocklist.c: Likewise.
21368 * commands/boot.c: Likewise.
21369 * commands/cat.c: Likewise.
21370 * commands/cmp.c: Likewise.
21371 * commands/configfile.c: Likewise.
21372 * commands/echo.c: Likewise.
21373 * commands/help.c: Likewise.
21374 * commands/ls.c: Likewise.
21375 * commands/search.c: Likewise.
21376 * commands/terminal.c: Likewise.
21377 * commands/test.c: Likewise.
21378 * commands/videotest.c: Likewise.
21379 * commands/i386/cpuid.c: Likewise.
21380 * commands/i386/pc/halt.c: Likewise.
21381 * commands/i386/pc/play.c: Likewise.
21382 * commands/i386/pc/reboot.c: Likewise.
21383 * commands/i386/pc/vbeinfo.c: Likewise.
21384 * commands/i386/pc/vbetest.c: Likewise.
21385 * commands/ieee1275/halt.c: Likewise.
21386 * commands/ieee1275/reboot.c: Likewise.
21387 * commands/ieee1275/suspend.c: Likewise.
21388 * disk/loopback.c: Likewise.
21389 * disk/lvm.c: Likewise.
21390 * disk/raid.c: Likewise.
21391 * disk/efi/efidisk.c: Likewise.
21392 * disk/i386/pc/biosdisk.c: Likewise.
21393 * disk/ieee1275/ofdisk.c: Likewise.
21394 * font/manager.c: Likewise.
21395 * fs/affs.c: Likewise.
21396 * fs/ext2.c: Likewise.
21397 * fs/fat.c: Likewise.
21398 * fs/fshelp.c: Likewise.
21399 * fs/hfs.c: Likewise.
21400 * fs/hfsplus.c: Likewise.
21401 * fs/iso9660.c: Likewise.
21402 * fs/jfs.c: Likewise.
21403 * fs/minix.c: Likewise.
21404 * fs/sfs.c: Likewise.
21405 * fs/ufs.c: Likewise.
21406 * fs/xfs.c: Likewise.
21407 * hello/hello.c: Likewise.
21408 * include/grub/acorn_filecore.h: Likewise.
21409 * include/grub/arg.h: Likewise.
21410 * include/grub/bitmap.h: Likewise.
21411 * include/grub/boot.h: Likewise.
21412 * include/grub/cache.h: Likewise.
21413 * include/grub/device.h: Likewise.
21414 * include/grub/disk.h: Likewise.
21415 * include/grub/dl.h: Likewise.
21416 * include/grub/elfload.h: Likewise.
21417 * include/grub/env.h: Likewise.
21418 * include/grub/err.h: Likewise.
21419 * include/grub/file.h: Likewise.
21420 * include/grub/font.h: Likewise.
21421 * include/grub/fs.h: Likewise.
21422 * include/grub/fshelp.h: Likewise.
21423 * include/grub/gzio.h: Likewise.
21424 * include/grub/hfs.h: Likewise.
21425 * include/grub/kernel.h: Likewise.
21426 * include/grub/loader.h: Likewise.
21427 * include/grub/lvm.h: Likewise.
21428 * include/grub/misc.h: Likewise.
21429 * include/grub/mm.h: Likewise.
21430 * include/grub/net.h: Likewise.
21431 * include/grub/normal.h: Likewise.
21432 * include/grub/parser.h: Likewise.
21433 * include/grub/partition.h: Likewise.
21434 * include/grub/pc_partition.h: Likewise.
21435 * include/grub/raid.h: Likewise.
21436 * include/grub/rescue.h: Likewise.
21437 * include/grub/script.h: Likewise.
21438 * include/grub/setjmp.h: Likewise.
21439 * include/grub/symbol.h: Likewise.
21440 * include/grub/term.h: Likewise.
21441 * include/grub/terminfo.h: Likewise.
21442 * include/grub/tparm.h: Likewise.
21443 * include/grub/types.h: Likewise.
21444 * include/grub/video.h: Likewise.
21445 * include/grub/efi/api.h: Likewise.
21446 * include/grub/efi/chainloader.h: Likewise.
21447 * include/grub/efi/console.h: Likewise.
21448 * include/grub/efi/console_control.h: Likewise.
21449 * include/grub/efi/disk.h: Likewise.
21450 * include/grub/efi/efi.h: Likewise.
21451 * include/grub/efi/pe32.h: Likewise.
21452 * include/grub/efi/time.h: Likewise.
21453 * include/grub/i386/linux.h: Likewise.
21454 * include/grub/i386/setjmp.h: Likewise.
21455 * include/grub/i386/types.h: Likewise.
21456 * include/grub/i386/efi/kernel.h: Likewise.
21457 * include/grub/i386/efi/loader.h: Likewise.
21458 * include/grub/i386/efi/time.h: Likewise.
21459 * include/grub/i386/pc/biosdisk.h: Likewise.
21460 * include/grub/i386/pc/boot.h: Likewise.
21461 * include/grub/i386/pc/chainloader.h: Likewise.
21462 * include/grub/i386/pc/console.h: Likewise.
21463 * include/grub/i386/pc/init.h: Likewise.
21464 * include/grub/i386/pc/kernel.h: Likewise.
21465 * include/grub/i386/pc/loader.h: Likewise.
21466 * include/grub/i386/pc/memory.h: Likewise.
21467 * include/grub/i386/pc/multiboot.h: Likewise.
21468 * include/grub/i386/pc/serial.h: Likewise.
21469 * include/grub/i386/pc/time.h: Likewise.
21470 * include/grub/i386/pc/vbe.h: Likewise.
21471 * include/grub/i386/pc/vbeblit.h: Likewise.
21472 * include/grub/i386/pc/vbefill.h: Likewise.
21473 * include/grub/i386/pc/vbeutil.h: Likewise.
21474 * include/grub/i386/pc/vga.h: Likewise.
21475 * include/grub/ieee1275/ieee1275.h: Likewise.
21476 * include/grub/ieee1275/ofdisk.h: Likewise.
21477 * include/grub/powerpc/libgcc.h: Likewise.
21478 * include/grub/powerpc/setjmp.h: Likewise.
21479 * include/grub/powerpc/types.h: Likewise.
21480 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21481 * include/grub/powerpc/ieee1275/console.h: Likewise.
21482 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21483 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21484 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21485 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21486 * include/grub/powerpc/ieee1275/time.h: Likewise.
21487 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21488 * include/grub/sparc64/libgcc.h: Likewise.
21489 * include/grub/sparc64/setjmp.h: Likewise.
21490 * include/grub/sparc64/types.h: Likewise.
21491 * include/grub/sparc64/ieee1275/console.h: Likewise.
21492 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21493 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21494 * include/grub/sparc64/ieee1275/time.h: Likewise.
21495 * include/grub/util/biosdisk.h: Likewise.
21496 * include/grub/util/getroot.h: Likewise.
21497 * include/grub/util/lvm.h: Likewise.
21498 * include/grub/util/misc.h: Likewise.
21499 * include/grub/util/raid.h: Likewise.
21500 * include/grub/util/resolve.h: Likewise.
21501 * io/gzio.c: Likewise.
21502 * kern/device.c: Likewise.
21503 * kern/disk.c: Likewise.
21504 * kern/dl.c: Likewise.
21505 * kern/elf.c: Likewise.
21506 * kern/env.c: Likewise.
21507 * kern/err.c: Likewise.
21508 * kern/file.c: Likewise.
21509 * kern/fs.c: Likewise.
21510 * kern/loader.c: Likewise.
21511 * kern/main.c: Likewise.
21512 * kern/misc.c: Likewise.
21513 * kern/mm.c: Likewise.
21514 * kern/parser.c: Likewise.
21515 * kern/partition.c: Likewise.
21516 * kern/rescue.c: Likewise.
21517 * kern/term.c: Likewise.
21518 * kern/efi/efi.c: Likewise.
21519 * kern/efi/init.c: Likewise.
21520 * kern/efi/mm.c: Likewise.
21521 * kern/i386/dl.c: Likewise.
21522 * kern/i386/efi/init.c: Likewise.
21523 * kern/i386/efi/startup.S: Likewise.
21524 * kern/i386/pc/init.c: Likewise.
21525 * kern/i386/pc/lzo1x.S: Likewise.
21526 * kern/i386/pc/startup.S: Likewise.
21527 * kern/ieee1275/ieee1275.c: Likewise.
21528 * kern/powerpc/cache.S: Likewise.
21529 * kern/powerpc/dl.c: Likewise.
21530 * kern/powerpc/ieee1275/cmain.c: Likewise.
21531 * kern/powerpc/ieee1275/crt0.S: Likewise.
21532 * kern/powerpc/ieee1275/init.c: Likewise.
21533 * kern/powerpc/ieee1275/openfw.c: Likewise.
21534 * kern/sparc64/cache.S: Likewise.
21535 * kern/sparc64/dl.c: Likewise.
21536 * kern/sparc64/ieee1275/init.c: Likewise.
21537 * kern/sparc64/ieee1275/openfw.c: Likewise.
21538 * loader/efi/chainloader.c: Likewise.
21539 * loader/efi/chainloader_normal.c: Likewise.
21540 * loader/i386/efi/linux.c: Likewise.
21541 * loader/i386/efi/linux_normal.c: Likewise.
21542 * loader/i386/pc/chainloader.c: Likewise.
21543 * loader/i386/pc/chainloader_normal.c: Likewise.
21544 * loader/i386/pc/linux.c: Likewise.
21545 * loader/i386/pc/linux_normal.c: Likewise.
21546 * loader/i386/pc/multiboot.c: Likewise.
21547 * loader/i386/pc/multiboot_normal.c: Likewise.
21548 * loader/powerpc/ieee1275/linux.c: Likewise.
21549 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21550 * normal/arg.c: Likewise.
21551 * normal/cmdline.c: Likewise.
21552 * normal/command.c: Likewise.
21553 * normal/completion.c: Likewise.
21554 * normal/execute.c: Likewise.
21555 * normal/function.c: Likewise.
21556 * normal/lexer.c: Likewise.
21557 * normal/main.c: Likewise.
21558 * normal/menu.c: Likewise.
21559 * normal/menu_entry.c: Likewise.
21560 * normal/misc.c: Likewise.
21561 * normal/parser.y: Likewise.
21562 * normal/script.c: Likewise.
21563 * normal/i386/setjmp.S: Likewise.
21564 * normal/powerpc/setjmp.S: Likewise.
21565 * normal/sparc64/setjmp.S: Likewise.
21566 * partmap/acorn.c: Likewise.
21567 * partmap/amiga.c: Likewise.
21568 * partmap/apple.c: Likewise.
21569 * partmap/gpt.c: Likewise.
21570 * partmap/pc.c: Likewise.
21571 * partmap/sun.c: Likewise.
21572 * term/gfxterm.c: Likewise.
21573 * term/terminfo.c: Likewise.
21574 * term/efi/console.c: Likewise.
21575 * term/i386/pc/console.c: Likewise.
21576 * term/i386/pc/serial.c: Likewise.
21577 * term/i386/pc/vesafb.c: Likewise.
21578 * term/i386/pc/vga.c: Likewise.
21579 * term/ieee1275/ofconsole.c: Likewise.
21580 * util/biosdisk.c: Likewise.
21581 * util/console.c: Likewise.
21582 * util/genmoddep.c: Likewise.
21583 * util/getroot.c: Likewise.
21584 * util/grub-emu.c: Likewise.
21585 * util/grub-mkdevicemap.c: Likewise.
21586 * util/grub-probe.c: Likewise.
21587 * util/lvm.c: Likewise.
21588 * util/misc.c: Likewise.
21589 * util/raid.c: Likewise.
21590 * util/resolve.c: Likewise.
21591 * util/update-grub.in: Likewise.
21592 * util/update-grub_lib.in: Likewise.
21593 * util/grub.d/00_header.in: Likewise.
21594 * util/grub.d/10_hurd.in: Likewise.
21595 * util/grub.d/10_linux.in: Likewise.
21596 * util/i386/efi/grub-install.in: Likewise.
21597 * util/i386/efi/grub-mkimage.c: Likewise.
21598 * util/i386/pc/grub-install.in: Likewise.
21599 * util/i386/pc/grub-mkimage.c: Likewise.
21600 * util/i386/pc/grub-mkrescue.in: Likewise.
21601 * util/i386/pc/grub-setup.c: Likewise.
21602 * util/i386/pc/misc.c: Likewise.
21603 * util/powerpc/ieee1275/grub-install.in: Likewise.
21604 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21605 * util/powerpc/ieee1275/misc.c: Likewise.
21606 * video/bitmap.c: Likewise.
21607 * video/video.c: Likewise.
21608 * video/i386/pc/vbe.c: Likewise.
21609 * video/i386/pc/vbeblit.c: Likewise.
21610 * video/i386/pc/vbefill.c: Likewise.
21611 * video/i386/pc/vbeutil.c: Likewise.
21612 * video/readers/tga.c: Likewise.
21613
21614 2007-07-02 Robert Millan <rmh@aybabtu.com>
21615
21616 * conf/i386-efi.rmk: Replace obsolete reference to
21617 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21618 with util/getroot.c.
21619 * conf/powerpc-ieee1275.rmk: Likewise.
21620 * conf/sparc64-ieee1275.rmk: Likewise.
21621
21622 * util/grub-emu.c (main): Fix unchecked pointer handling.
21623
21624 2007-07-02 Robert Millan <rmh@aybabtu.com>
21625
21626 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21627 invocation to fail, in order to support partition-less media.
21628
21629 * util/i386/pc/grub-install.in: Likewise.
21630
21631 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21632 which fs or partmap modules are needed (akin to its sister scripts).
21633
21634 Also use grub-probe to get rid of unportable /proc/mounts check.
21635
21636 Print the same informational message that the other scripts do, before
21637 exiting.
21638
21639 2007-06-23 Robert Millan <rmh@aybabtu.com>
21640
21641 * util/update-grub_lib.in (font_path): New function. Determine whether
21642 a font file can be found and, if so, echo the GRUB path to it.
21643
21644 * util/update-grub.in: Handle multiple terminals depending on user
21645 input, platform availability and font file presence. Propagate
21646 variables of our findings to /etc/grub.d/ children.
21647
21648 * util/grub.d/00_header.in: Handle multiple terminals, based on
21649 environment setup by update-grub.
21650
21651 2007-06-23 Robert Millan <rmh@aybabtu.com>
21652
21653 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
21654
21655 2007-06-21 Robert Millan <rmh@aybabtu.com>
21656
21657 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21658 indicate end of data section in kernel image.
21659 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21660 GRUB_KERNEL_MACHINE_DATA_END.
21661
21662 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21663 space for it.
21664 * kern/i386/efi/startup.S: Likewise.
21665
21666 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21667 during image generation. Implement --prefix option to override this
21668 patch.
21669 * util/i386/efi/grub-mkimage.c: Likewise.
21670
21671 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21672 code to make path relative to its root into a separate function.
21673
21674 * util/i386/pc/grub-install.in: Use newly provided
21675 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21676 pass the result to grub-install --prefix.
21677
21678 2007-06-13 Robert Millan <rmh@aybabtu.com>
21679
21680 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21681 DEFAULT_DEVICE_MAP.
21682 * util/grub-emu.c: Use above definitions from misc.h instead of
21683 defining them.
21684 * util/grub-mkdevicemap.c: Likewise.
21685 * util/i386/pc/grub-setup.c: Likewise.
21686 * util/grub-probe.c: Likewise.
21687 (probe): Abort with grub_util_error() when either
21688 grub_guess_root_device or grub_util_get_grub_dev fails.
21689
21690 2007-06-12 Robert Millan <rmh@aybabtu.com>
21691
21692 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21693 "pager" assignment.
21694 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21695 "pcdata".
21696 * util/grub-probe.c (probe): Likewise for "drive_name".
21697
21698 2007-06-11 Robert Millan <rmh@aybabtu.com>
21699
21700 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21701 not just the cdrom one.
21702
21703 2007-06-11 Robert Millan <rmh@aybabtu.com>
21704
21705 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21706 Add --pkglibdir=DIR option to override pkglibdir.
21707 Mention --image-type=TYPE in help output.
21708 Fix --grub-mkimage (it was a no-op).
21709 Abort gracefully when no parameter is given.
21710
21711 2007-06-11 Robert Millan <rmh@aybabtu.com>
21712
21713 * util/i386/pc/grub-mkrescue.in: New file.
21714 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21715 * Makefile.in: Handle bin_SCRIPTS.
21716
21717 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21718
21719 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21720 list of video modes.
21721
21722 2007-06-06 Robert Millan <rmh@aybabtu.com>
21723
21724 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21725 file doesn't exist, or if it is in a filesystem grub can't read.
21726
21727 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21728 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21729 header comment to fit in 80 columns when the variables are resolved.
21730
21731 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21732 could be identified by update-grub. Remove redundant check for
21733 unifont.pff existence (since convert_system_path_to_grub_path now
21734 handles that).
21735
21736 2007-06-04 Robert Millan <rmh@aybabtu.com>
21737
21738 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21739
21740 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21741
21742 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21743
21744 2007-06-04 Robert Millan <rmh@aybabtu.com>
21745
21746 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21747
21748 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21749 grub_apple_partition_map_fini.
21750
21751 * util/biosdisk.c
21752 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21753 to access >2 TiB disks).
21754
21755 Print disk->total_sectors with %llu instead of %lu, since this
21756 variable is always 64-bit (prevents wrong disk size from being displayed
21757 on either >2 TiB disk or big-endian CPU).
21758
21759 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21760 into a generic case that supports all (sane) partition maps.
21761
21762 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21763 breaks big-endian.
21764
21765 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21766 and grub_apple_partition_map_fini() after that.
21767
21768 2007-06-01 Robert Millan <rmh@aybabtu.com>
21769
21770 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21771
21772 * util/grub.d/00_header.in: Only enable gfxterm when
21773 convert_system_path_to_grub_path() succeeds.
21774
21775 2007-05-20 Robert Millan <rmh@aybabtu.com>
21776
21777 * util/update-grub_lib.in: New file.
21778 * DISTLIST: Add update-grub_lib.in.
21779 * conf/common.rmk: Generate update-grub_lib and install it in
21780 $(lib_DATA).
21781 * Makefile.in: Add install routine for $(lib_DATA).
21782
21783 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21784 function provided by update-grub_lib to support arbitrary paths of
21785 unifont.pff.
21786 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21787 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21788
21789 2007-05-19 Robert Millan <rmh@aybabtu.com>
21790
21791 * commands/i386/cpuid.c: New module.
21792 * DISTLIST: Add it.
21793 * conf/i386-efi.rmk: Enable cpuid.mod.
21794 * conf/i386-pc.rmk: Likewise.
21795
21796 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21797
21798 * kern/disk.c (grub_disk_read): Check return value of
21799 grub_realloc().
21800
21801 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21802
21803 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21804 arrays.
21805 * disk/raid.c (grub_raid_open): Likewise.
21806
21807 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21808
21809 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21810 stack instead of on the heap.
21811
21812 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21813 before doing a read on it.
21814
21815 * configure.ac: Only use -fno-stack-protector for the target
21816 environment.
21817
21818 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21819
21820 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21821 __attribute_ ((unused)) to mode_type argument.
21822
21823 * util/getroot.c (grub_guess_root_device): Fix #endif.
21824
21825 * kern/misc.c (memcmp): Fix prototype.
21826
21827 * include/grub/partition.h [GRUB_UTIL]
21828 (grub_gpt_partition_map_init): Add prototype.
21829 (grub_gpt_partition_map_fini): Likewise.
21830
21831 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21832 at the right place.
21833
21834 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21835 (grub_fat_read_data): Likewise.
21836 (grub_fat_find_dir): Likewise.
21837
21838 * font/manager.c (find_glyph): Make table a const.
21839 (grub_font_get_glyph): Remove bitmap from if statement.
21840
21841 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21842
21843 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21844 code, first search for device in /dev/mapper, then in /dev.
21845 (grub_util_get_grub_dev): New function.
21846 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21847 prototype.
21848 * util/grub-probe.c (probe): Remove check for RAID, call
21849 grub_util_get_grub_dev() instead of
21850 grub_util_biosdisk_get_grub_dev().
21851 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21852 grub_util_biosdisk_get_grub_dev().
21853 * util/i386/pc/grub-setup.c (main): Likewise.
21854
21855 2007-05-16 Robert Millan <rmh@aybabtu.com>
21856
21857 * DISTLIST: Update for the latest changes.
21858 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21859 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21860 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21861 grub/util/biosdisk.h.
21862 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21863 grub/util/biosdisk.h.
21864
21865 2007-05-16 Robert Millan <rmh@aybabtu.com>
21866
21867 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21868
21869 2007-05-16 Robert Millan <rmh@aybabtu.com>
21870
21871 * util/i386/efi/grub-install.in: New.
21872 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21873 newly added grub-install.
21874 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21875 include.
21876 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21877 grub/util/biosdisk.h.
21878 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21879 grub/util/biosdisk.h.
21880
21881 2007-05-16 Robert Millan <rmh@aybabtu.com>
21882
21883 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21884 * include/grub/util/biosdisk.h: ... here.
21885 * util/i386/pc/biosdisk.c: Moved to ...
21886 * util/biosdisk.c: ... here.
21887 * util/i386/pc/getroot.c: Moved to ...
21888 * util/getroot.c: ... here.
21889 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21890 * util/grub-mkdevicemap.c: ... here.
21891 * util/i386/pc/grub-probe.c: Moved to ...
21892 * util/grub-probe.c: ... here.
21893
21894 2007-05-15 Robert Millan <rmh@aybabtu.com>
21895
21896 * util/update-grub.in: Remove duplicated line in grub.cfg header
21897 message.
21898
21899 2007-05-13 Robert Millan <rmh@aybabtu.com>
21900
21901 * util/update-grub.in: Fix a few assumptions about the devices holding
21902 /, /boot and /boot/grub being the same.
21903 * util/grub.d/00_header.in: Likewise.
21904 * util/grub.d/10_hurd.in: Likewise.
21905 * util/grub.d/10_linux.in: Likewise.
21906
21907 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21908 patterns. Use that to define the `.old' suffix as older than `'.
21909
21910 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21911
21912 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21913 the grub.cfg header message.
21914
21915 2007-05-11 Robert Millan <rmh@aybabtu.com>
21916
21917 * util/update-grub.in: Create device.map if it doesn't already exist,
21918 before attempting to run grub-probe.
21919 Check for grub-probe and grub-mkdevicemap with the same code
21920 grub-install is using.
21921 Remove test mode.
21922
21923 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21924
21925 * Makefile.in: Add the datarootdir autoconf variable.
21926
21927 2007-05-09 Robert Millan <rmh@aybabtu.com>
21928
21929 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
21930 fail gracefully if dev->disk->partition == NULL.
21931
21932 2007-05-07 Robert Millan <rmh@aybabtu.com>
21933
21934 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21935 determine partition map module.
21936 * util/i386/pc/grub-install.in: Use this feature to decide which
21937 partition module to load, instead of hardcoding pc and gpt.
21938
21939 2007-05-07 Robert Millan <rmh@aybabtu.com>
21940
21941 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21942 source directory differs from build directory.
21943
21944 2007-05-05 Robert Millan <rmh@aybabtu.com>
21945
21946 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21947 initialisation.
21948
21949 2007-05-05 Robert Millan <rmh@aybabtu.com>
21950
21951 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21952
21953 2007-05-05 Robert Millan <rmh@aybabtu.com>
21954
21955 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21956 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21957
21958 2007-05-05 Robert Millan <rmh@aybabtu.com>
21959
21960 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21961 (grub_probe_SOURCES): Likewise.
21962 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21963 GPT and initialize dos_part and bsd_part accordingly.
21964 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21965 install_bsd_part.
21966 (main): Activate gpt module for use during partition identification,
21967 and deactivate it afterwards.
21968 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21969 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21970 partition identification, and deactivate it afterwards.
21971
21972 2007-05-05 Robert Millan <rmh@aybabtu.com>
21973
21974 * term/i386/pc/console.c (grub_console_fini): Call
21975 grub_term_set_current() before grub_term_unregister().
21976
21977 2007-05-04 Robert Millan <rmh@aybabtu.com>
21978
21979 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21980 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21981 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21982 and update-grub_DATA.
21983 * conf/common.rmk: Build and install update-grub components.
21984 * conf/common.mk: Regenerate.
21985 * util/update-grub.in: New. Core of update-grub.
21986 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21987 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21988 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21989 * util/grub.d/README: New. Document grub.d directory layout.
21990
21991 2007-05-01 Robert Millan <rmh@aybabtu.com>
21992
21993 * util/grub-emu.c: Move initialization functions
21994 grub_util_biosdisk_init() and grub_init_all() before
21995 grub_util_biosdisk_get_grub_dev(), which relies on them.
21996
21997 2007-04-19 Robert Millan <rmh@aybabtu.com>
21998
21999 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22000 it is used later.
22001
22002 2007-04-18 Jerone Young <jerone@gmail.com>
22003
22004 * kernel/elf.c: Add missing parenthesis for conditional statement
22005 stanza.
22006
22007 2007-04-10 Jerone Young <jerone@gmail.com>
22008
22009 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22010 continue on and look for device node with real device name.
22011
22012 2007-04-10 Jerone Young <jerone@gmail.com>
22013
22014 * configure.ac: Add argument for autoconf to use transformation
22015 ability.
22016 * Makefile.in: Add autoconf package transformation code.
22017 * util/i386/pc/grub-install.in: Likewise.
22018 * util/powerpc/ieee1275/grub-install.in: Likewise.
22019
22020 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22021
22022 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22023 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22024 (EXT2_REVISION): Likewise.
22025 (EXT2_INODE_SIZE): Likewise.
22026 (struct grub_ext2_block_group): Added a missing member
22027 "used_dirs".
22028 (grub_ext2_read_inode): Divide by the inode size in a superblock
22029 instead of 128 to obtain INODES_PER_BLOCK.
22030 Use the macro EXT2_INODE_SIZE instead of directly using
22031 SBLOCK->INODE_SIZE.
22032
22033 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22034
22035 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22036 superblock instead of the structure size to compute an
22037 offset. This fixes the problem that GRUB could not read a
22038 filesystem when inode size is different from 128-byte.
22039
22040 2007-03-05 Marco Gerards <marco@gnu.org>
22041
22042 * normal/main.c (read_config_file): When "menu" is not set, create
22043 an initial context.
22044
22045 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22046
22047 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22048 (HEAP_LIMIT): New macro.
22049 (grub_claim_heap): Claim memory up to `heaplimit'.
22050
22051 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22052
22053 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22054 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22055 (_start): Likewise.
22056 (grub_arch_modules_addr): Return address after `_end'.
22057 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22058 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22059 (add_segments): Calculate `_end' from phdr size and location.
22060 (ALIGN_UP): Moved to ...
22061 * include/grub/misc.h: here.
22062 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22063 New macro.
22064 (GRUB_IEEE1275_MODULE_BASE): Removed.
22065
22066 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22067
22068 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22069 loop boundary.
22070
22071 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22072
22073 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22074 All users updated.
22075 (grub_elf64_load_hook_t): Likewise.
22076 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22077 debug output.
22078
22079 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22080
22081 * kern/mm.c: Update copyright.
22082 (grub_mm_debug): Correct syntax error.
22083 (grub_mm_dump_free): New function.
22084 (grub_debug_free): Call `grub_free'.
22085 * include/grub/mm.h: Update copyright.
22086 (grub_mm_dump_free): Add declaration.
22087
22088 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22089
22090 * include/grub/ieee1275/ieee1275.h: Update copyright.
22091 * kern/powerpc/ieee1275/init.c: Likewise.
22092 * kern/powerpc/ieee1275/openfw.c: Likewise.
22093
22094 * loader/powerpc/ieee1275/linux.c: Likewise.
22095 * include/grub/elfload.h: Likewise.
22096 * kern/elf.c: Likewise.
22097 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22098 callers.
22099 (grub_elf64_load): Likewise.
22100 (grub_elf32_load_segment): Move to a nested function.
22101 (grub_elf64_load_segment): Likewise.
22102
22103 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22104
22105 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22106 prototype.
22107 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22108 (grub_heap_len): Likewise.
22109 (HEAP_SIZE): New macro.
22110 (grub_claim_heap): New function.
22111 (grub_machine_init): Don't claim heap directly. Call
22112 `grub_claim_heap'.
22113 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22114 (grub_available_iterate): New function.
22115
22116 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22117
22118 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22119 * configure.ac: Use it for testing the HOST and TARGET compilers.
22120
22121 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22122
22123 * Makefile.in (enable_grub_emu): New variable.
22124 * configure.ac (--enable-grub-emu): New option.
22125 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22126 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22127 * conf/i386-pc.rmk: Likewise.
22128 * conf/powerpc-ieee1275.rmk: Likewise.
22129 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22130
22131 2006-12-12 Marco Gerards <marco@gnu.org>
22132
22133 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22134
22135 * kern/env.c (grub_env_unset): Don't free the member `value' when
22136 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22137 pointer.
22138
22139 * normal/main.c (current_menu): Removed.
22140 (free_menu): Unset the `menu' environment variable.
22141 (grub_normal_menu_addentry): Make use of the environment variable
22142 `menu', instead of using the global `current_menu'. Allocate
22143 memory for the sourcecode of this entry.
22144 (read_config_file): New argument `nested', changed all callers.
22145 Only in the case of a new context, initialize a new menu. Set the
22146 `menu' environment variable.
22147 (grub_normal_execute): Don't set and unset the environment
22148 variable `menu' here anymore. Only free the menu when leaving the
22149 context.
22150
22151 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22152 leak.
22153
22154 2006-12-11 Marco Gerards <marco@gnu.org>
22155
22156 * normal/menu_entry.c (run): Fix off by one bug so the last line
22157 is executed. Move the loader check to outside the loop.
22158
22159 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22160
22161 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22162
22163 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22164
22165 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22166 the number of sectors. Reported by Andrey Shuvikov
22167 <mr_hyro@yahoo.com>.
22168
22169 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22170
22171 * kern/disk.c (grub_disk_read): When there is a read error, always
22172 try to read only the necessary data.
22173
22174 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22175 disk/raid.c.
22176 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22177 prototype.
22178 [GRUB_UTIL] (grub_raid_fini): Likewise.
22179 [GRUB_UTIL] (grub_lvm_init): Likewise.
22180 [GRUB_UTIL] (grub_lvm_fini): Likewise.
22181 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22182 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22183 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22184 and grub_raid_fini().
22185
22186 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22187
22188 * include/grub/types.h (__unused): Rename to UNUSED.
22189 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22190 (grub_elf64_size): Likewise.
22191
22192 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22193
22194 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22195 grub_error_push and grub_error_pop in the error-handling path.
22196 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22197 length.
22198
22199 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22200
22201 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22202 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22204 (kernel_elf_SOURCES): Likewise.
22205 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22206 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22207 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22208 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22209 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22210 (elf_mod_SOURCES): New variable.
22211 (elf_mod_CFLAGS): Likewise.
22212 (elf_mod_LDFLAGS): Likewise.
22213 * include/grub/types.h (__unused): New macro.
22214 * include/grub/elfload.h: New file.
22215 * kern/elf.c: Likewise.
22216 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22217 (ELF32_LOADMASK): New macro.
22218 (ELF64_LOADMASK): Likewise.
22219 (vmlinux): Removed.
22220 (grub_linux_load32): New function.
22221 (grub_linux_load64): Likewise.
22222 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22223 Use grub_elf_t instead of grub_file_t.
22224
22225 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22226
22227 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22228 `catch_result' to struct set_color_args.
22229
22230 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22231
22232 * normal/menu.c: Include grub/script.h.
22233 * normal/menu_entry.c: Likewise.
22234 * include/grub/normal.h: Do not include grub/script.h.
22235
22236 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22237
22238 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22239
22240 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22241
22242 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22243 disk.
22244 (grub_disk_close): Print debug messages when closing a disk.
22245 (grub_disk_read): Print debug messages when disk read fails.
22246 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22247 filesystem type.
22248 * kern/partition.c: Include misc.h.
22249 (grub_partition_iterate): Print debug messages when detecting
22250 partition type.
22251
22252 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22253
22254 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22255 is negative.
22256 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22257
22258 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22259
22260 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22261 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22262
22263 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22264
22265 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22266 instead of sizeof(lv). Patch by Michael Guntsche.
22267
22268 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22269
22270 * disk/lvm.c: Rename VGS to VG_LIST.
22271 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22272 (grub_lvm_open): Likewise.
22273 Thanks to Michael Guntsche for finding this bug.
22274
22275 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22276
22277 * configure.ac (AC_INIT): Bumped to 1.95.
22278
22279 2006-10-14 Robert Millan <rmh@aybabtu.com>
22280
22281 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22282 with "/dev/.static/dev/md".
22283
22284 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22285
22286 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22287 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22288 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22289 DRIVE_NAME are always freed.
22290
22291 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22292 DOS_PART, as a DOS partition is counted from one instead of zero
22293 now. Reported by Robert Millan.
22294
22295 2006-10-14 Robert Millan <rmh@aybabtu.com>
22296
22297 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22298 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22299 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22300 string returned by grub_guess_root_device.
22301 * util/i386/pc/grub-setup.c: Likewise.
22302 * util/i386/pc/grub-probefs.c: Likewise.
22303
22304 * util/i386/pc/grub-probefs.c: Rename to ...
22305 * util/i386/pc/grub-probe.c: ... this.
22306 * DISTLIST: Remove grub-probefs, add grub-probe.
22307 * conf/i386-efi.rmk: Likewise.
22308 * conf/i386-pc.rmk: Likewise.
22309 * util/i386/pc/grub-install.in: Likewise.
22310
22311 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22312 choose which information we want to print.
22313
22314 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22315
22316 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22317 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22318 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22319 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22320 video/readers/tga.c and video/i386/pc/vbeutil.c.
22321
22322 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22323
22324 Added support for RAID and LVM.
22325
22326 * disk/lvm.c: New file.
22327 * disk/raid.c: Likewise.
22328 * include/grub/lvm.h: Likewise.
22329 * include/grub/raid.h: Likewise.
22330 * include/grub/util/lvm.h: Likewise.
22331 * include/grub/util/raid.h: Likewise.
22332 * util/lvm.c: Likewise.
22333 * util/raid.c: Likewise.
22334
22335 * include/grub/disk.h (grub_disk_dev_id): Add
22336 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22337 (grub_disk_get_size): New prototype.
22338 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22339 returns a partition.
22340 (grub_disk_get_size): New function.
22341
22342 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22343 verbatim if grub_install_dos_part is -2.
22344
22345 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22346 and LVM devices.
22347
22348 * util/i386/pc/grub-setup.c (setup): New argument
22349 MUST_EMBED. Force embedding of GRUB when the argument is
22350 true. Close FILE before returning.
22351 (main): Add support for RAID and LVM.
22352
22353 * conf/common.rmk: Add RAID and LVM modules.
22354 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22355 util/lvm.c.
22356 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22357
22358 * kern/misc.c (grub_strstr): New function.
22359 * include/grub/misc.h (grub_strstr): New prototype.
22360
22361 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22362
22363 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22364
22365 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22366
22367 * kern/misc.c (grub_strtoull): Guess the base only if not
22368 specified.
22369
22370 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22371
22372 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22373 PowerMac support.
22374
22375 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22376
22377 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22378
22379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22380 Remove `flags' argument. All callers changed.
22381 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22382 (IEEE1275_IHANDLE_INVALID): New variable.
22383 (IEEE1275_CELL_INVALID): New variable.
22384 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22385 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22386 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22387 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22388 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22389 codes from Open Firmware. All callers updated.
22390 (grub_ieee1275_next_property): Directly return Open Firmware return
22391 code.
22392 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22393 Standardize error checking from `grub_ieee1275_get_property'.
22394 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22395 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22396
22397 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22398
22399 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22400 `instance_to_package_args' to `instance_to_path_args'.
22401
22402 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22403 `grub_ieee1275_chosen'.
22404
22405 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22406 `grub_ieee1275_interpret'.
22407
22408 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22409
22410 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22411
22412 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22413
22414 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22415 (__cmpdi): Likewise.
22416
22417 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22418 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22419 `grub_ssize_t'.
22420
22421 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
22422
22423 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22424 to type `grub_ssize_t'.
22425 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22426
22427 2006-09-22 Marco Gerards <marco@gnu.org>
22428
22429 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22430 newlines.
22431
22432 2006-09-22 Marco Gerards <marco@gnu.org>
22433
22434 * commands/echo.c: New file.
22435
22436 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22437
22438 * conf/common.rmk (echo_mod_SOURCES): New variable.
22439 (echo_mod_CFLAGS): Likewise.
22440 (echo_mod_LDFLAGS): Likewise.
22441
22442 2006-09-22 Marco Gerards <marco@gnu.org>
22443
22444 * normal/main.c (get_line): Malloc memory instead of using
22445 preallocated memory. Removed the arguments `cmdline' and
22446 `max_len'. Updated all callers.
22447
22448 2006-09-22 Marco Gerards <marco@gnu.org>
22449
22450 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22451 (normal_mod_DEPENDENCIES): Likewise.
22452
22453 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22454 (normal_mod_DEPENDENCIES): Likewise.
22455
22456 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22457
22458 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
22459
22460 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22461 programs.
22462 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22463 (normal_mod_DEPENDENCIES): Likewise.
22464 * conf/i386-pc.mk: Regenerate.
22465 * conf/i386-efi.mk: Likewise
22466 * conf/common.mk: Likewise.
22467 * conf/powerpc-ieee1275.mk: Likewise.
22468 * conf/sparc64-ieee1275.mk: Likewise.
22469
22470 2006-09-22 Robert Millan <rmh@aybabtu.com>
22471
22472 Sync with i386 version.
22473 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22474 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22475
22476 2006-09-21 Robert Millan <rmh@aybabtu.com>
22477
22478 Import from GRUB Legacy (lib/device.c):
22479 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22480 (init_device_map) [__linux__]: Add support for I2O devices.
22481
22482 2006-09-14 Marco Gerards <marco@gnu.org>
22483
22484 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22485 `-melf_i386'.
22486
22487 2006-09-14 Robert Millan <rmh@aybabtu.com>
22488
22489 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22490 /boot/grub/*.lst.
22491
22492 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
22493
22494 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22495 before adding it to device.map.
22496
22497 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
22498
22499 * genmk.rb: Let GCC generate dependencies the first time it
22500 compiles a file; using the -MD option.
22501 * conf/common.mk: Regenerate.
22502 * conf/i386-pc.mk: Likewise.
22503 * conf/i386-efi.mk: Likewise.
22504 * conf/powerpc-ieee1275.mk: Likewise.
22505 * conf/sparc64-ieee1275.mk: Likewise.
22506
22507 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22508
22509 Move the prototypes of grub_setjmp and grub_longjmp to
22510 cpu/setjmp.h, so that each architecture may specify different
22511 attributes.
22512
22513 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22514 (grub_longjmp): Likewise.
22515 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22516 (grub_longjmp): Likewise.
22517 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22518 (grub_longjmp): Likewise.
22519
22520 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22521 [!GRUB_UTIL] (grub_longjmp): Removed.
22522
22523 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22524
22525 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22526 "color!" method does not return any value.
22527
22528 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22529
22530 * include/grub/bitmap.h: New file.
22531
22532 * include/grub/i386/pc/vbeutil.h: Likewise.
22533
22534 * video/bitmap.c: Likewise.
22535
22536 * video/readers/tga.c: Likewise.
22537
22538 * video/i386/pc/vbeutil.c: Likewise.
22539
22540 * commands/videotest.c: Code cleanup and updated to reflect to new
22541 video API.
22542
22543 * term/gfxterm.c: Likewise.
22544
22545 * video/video.c: Likewise.
22546
22547 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22548 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22549 (bitmap_mod_SOURCES): New entry.
22550 (bitmap_mod_CFLAGS): Likewise.
22551 (bitmap_mod_LDFLAGS): Likewise.
22552 (tga_mod_SOURCES): Likewise.
22553 (tga_mod_CFLAGS): Likewise.
22554 (tga_mod_LDFLAGS): Likewise.
22555
22556 * include/grub/video.h (grub_video_blit_operators): New enum type.
22557 (grub_video_render_target): Changed as forward declaration and moved
22558 actual definition to be video driver specific.
22559 (grub_video_adapter.blit_bitmap): Added blitting operator.
22560 (grub_video_adapter.blit_render_target): Likewise.
22561 (grub_video_blit_bitmap): Likewise.
22562 (grub_video_blit_render_target): Likewise.
22563
22564 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22565 driver specific render target definition.
22566 (grub_video_vbe_map_rgba): Added driver internal helper.
22567 (grub_video_vbe_unmap_color): Updated to use
22568 grub_video_i386_vbeblit_info.
22569 (grub_video_vbe_get_video_ptr): Likewise.
22570
22571 * include/grub/i386/pc/vbeblit.h
22572 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22573 grub_video_i386_vbeblit_info.
22574 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22575 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22576 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22577 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22578 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22579 (grub_video_i386_vbeblit_index_index): Likewise.
22580 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22581 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22582 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22583 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22584 operator.
22585 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22586 operator.
22587
22588 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22589 include/grub/i386/pc/vbeblit.h.
22590
22591 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22592 Updated to use grub_video_i386_vbeblit_info.
22593 (grub_video_i386_vbefill_R8G8B8): Likewise.
22594 (grub_video_i386_vbefill_index): Likewise.
22595 (grub_video_i386_vbefill): Added generic filler.
22596
22597 * video/i386/pc/vbefill.c: Updated to reflect changes on
22598 include/grub/i386/pc/vbefill.h.
22599
22600 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22601 grub_video_i386_vbeblit_info.
22602 (grub_video_vbe_unmap_color): Likewise.
22603 (grub_video_vbe_blit_glyph): Likewise.
22604 (grub_video_vbe_scroll): Likewise.
22605 (grub_video_vbe_draw_pixel): Removed function.
22606 (grub_video_vbe_get_pixel): Likewise.
22607 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22608 updated code to use it.
22609 (common_blitter): Added common blitter for render target and bitmap.
22610 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22611 (grub_video_vbe_blit_render_target): Likewise.
22612
22613 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
22614
22615 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22616 is in text mode if there is no console control protocol instance
22617 available.
22618
22619 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22620
22621 * include/grub/video.h: Code cleanup.
22622
22623 * include/grub/i386/pc/vbe.h: Likewise.
22624
22625 * video/i386/pc/vbe.c: Likewise.
22626
22627 * video/i386/pc/vbeblit.c: Likewise.
22628
22629 * video/i386/pc/vbefill.c: Likewise.
22630
22631 * video/video.c: Likewise. Also added more comments.
22632
22633 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22634
22635 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22636 (struct grub_biosdisk_dap): Likewise.
22637
22638 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22639 linkage settings for all functions.
22640
22641 2006-07-12 Marco Gerards <marco@gnu.org>
22642
22643 * configure.ac (--enable-mm-debug): Fix typo.
22644
22645 * genkernsyms.sh.in: Use proper quoting for `CC'.
22646
22647 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22648
22649 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22650 (normal_mod_ASFLAGS): Remove "-m32".
22651
22652 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22653
22654 * util/misc.c: Include config.h.
22655 [!HAVE_MEMALIGN]: Do not include malloc.h.
22656 (grub_memalign): Use posix_memalign, if present. Then, use
22657 memalign, if present. Otherwise, emit an error.
22658
22659 * util/grub-emu.c: Do not include malloc.h.
22660
22661 * include/grub/util/misc.h: Include unistd.h. This is required for
22662 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22663 D. Eades III <hde@foobar-qux.org>.
22664
22665 * configure.ac (AC_GNU_SOURCE): Added.
22666 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22667 type.
22668
22669 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22670
22671 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22672 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22673
22674 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22675
22676 * include/grub/types.h (grub_host_addr_t): Rename to
22677 grub_target_addr_t.
22678 (grub_host_off_t): Rename to grub_target_off_t.
22679 (grub_host_size_t): Rename to grub_target_size_t.
22680 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22681 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22682
22683 * include/grub/kernel.h (struct grub_module_header): Change type
22684 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22685 (grub_module_info): Likewise.
22686
22687 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22688
22689 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22690 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22691 Velazquez <jesus.velazquez@gmail.com>.
22692
22693 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22694
22695 Count partitions from 1 instead of 0 in the string representation
22696 of partitions. Still use 0-based internally.
22697
22698 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22699 (sun_partition_map_iterate): Use grub_partition_t instead of
22700 struct grub_partition *. Cast DESC->START_CYLINDER to
22701 grub_uint64_t after converting the endian.
22702 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22703 (sun_partition_map_get_name): Add 1 to P->INDEX.
22704
22705 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22706 PCDATA->DOS_PART.
22707 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22708
22709 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22710 zero instead of one.
22711 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22712 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22713
22714 * partmap/apple.c (apple_partition_map_iterate): Change the type
22715 of POS to unsigned.
22716 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22717 (apple_partition_map_get_name): Add 1 into P->INDEX.
22718
22719 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22720 of POS to unsigned.
22721 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22722 calculate the offset of a partition.
22723 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22724 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22725
22726 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22727 SECTOR to grub_disk_addr_t.
22728 (acorn_partition_map_iterate): Likewise.
22729 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22730 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22731 top.
22732 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22733
22734 * kern/i386/pc/init.c (make_install_device): Add 1 into
22735 GRUB_INSTALL_DOS_PART.
22736
22737 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22738 conditional.
22739
22740 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22741
22742 Clean up the code to support 64-bit addressing in disks and
22743 files. This change is not enough for filesystems yet.
22744
22745 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22746 type of "start" to grub_uint64_t.
22747 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22748 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22749 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22750 convert addresses.
22751
22752 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22753 to grub_disk_addr_t.
22754
22755 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22756 string.
22757
22758 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22759
22760 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22761 to char *.
22762
22763 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22764
22765 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22766
22767 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22768
22769 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22770 to grub_off_t, to detect an error from grub_file_seek.
22771 (grub_multiboot_load_elf32): Likewise.
22772
22773 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22774 maximum unsigned long value when an overflow is detected.
22775 (grub_strtoull): New function.
22776 (grub_divmod64): Likewise.
22777 (grub_lltoa): use grub_divmod64.
22778
22779 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22780 grub_disk_addr_t.
22781 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22782 the pointer to next character. Use grub_strtoull instead of
22783 grub_strtoul.
22784 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22785 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22786 respectively.
22787
22788 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
22789 return value is signed.
22790 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22791 test if OFFSET is less than zero, as OFFSET is unsigned now.
22792
22793 * kern/disk.c (struct grub_disk_cache): Change the type of
22794 "sector" to grub_disk_addr_t.
22795 (grub_disk_cache_get_index): Change the type of SECTOR to
22796 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22797 unsigned after shifting.
22798 (grub_disk_cache_invalidate): Change the type of SECTOR to
22799 grub_disk_addr_t.
22800 (grub_disk_cache_unlock): Likewise.
22801 (grub_disk_cache_store): Likewise.
22802 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22803 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22804 grub_disk_addr_t and grub_uint64_t, respectively.
22805 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22806 body, as the value of OFFSET is tweaked by
22807 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22808 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22809 respectively.
22810 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22811 body, as the value of OFFSET is tweaked by
22812 grub_disk_check_range. Change the types of LEN and N to
22813 grub_size_t.
22814
22815 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22816 and "saved_offset" to grub_off_t.
22817 (test_header): Cast BUF to char *.
22818 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22819 to char *.
22820 (grub_gzio_read): Change the types of OFFSET and SIZE to
22821 grub_off_t and grub_size_t, respectively.
22822
22823 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22824 Removed.
22825 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22826 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22827 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22828 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22829 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22830
22831 * include/grub/types.h (grub_off_t): Unconditionally set to
22832 grub_uint64_t.
22833 (grub_disk_addr_t): Changed to grub_uint64_t.
22834
22835 * include/grub/partition.h (struct grub_partition): Change the
22836 types of "start", "len" and "offset" to grub_disk_addr_t,
22837 grub_uint64_t and grub_disk_addr_t, respectively.
22838 (grub_partition_get_start): Return grub_disk_addr_t.
22839 (grub_partition_get_len): Return grub_uint64_t.
22840
22841 * include/grub/misc.h (grub_strtoull): New prototype.
22842 (grub_divmod64): Likewise.
22843
22844 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22845 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22846 grub_off_t, respectively.
22847 All callers and references changed.
22848
22849 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22850 grub_size_t in "read".
22851 All callers and references changed.
22852
22853 * include/grub/file.h (struct grub_file): Change the types of
22854 "offset" and "size" to grub_off_t and grub_off_t,
22855 respectively. Change the type of SECTOR to grub_disk_addr_t in
22856 "read_hook".
22857 (grub_file_read): Change the type of LEN to grub_size_t.
22858 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22859 grub_off_t.
22860 (grub_file_size): Return grub_off_t.
22861 (grub_file_tell): Likewise.
22862 All callers and references changed.
22863
22864 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22865 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22866 "write".
22867 (struct grub_disk): Change the type of "total_sectors" to
22868 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
22869 "read_hook".
22870 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22871 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22872 (grub_disk_write): Likewise.
22873 All callers and references changed.
22874
22875 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22876 char * for grub_strncmp to silence gcc.
22877 (grub_iso9660_mount): Likewise.
22878 (grub_iso9660_mount): Likewise.
22879 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22880 return statement.
22881 (grub_iso9660_iterate_dir): Likewise.
22882 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22883
22884 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22885 LEN to grub_disk_addr_t and grub_size_t, respectively.
22886
22887 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22888
22889 * fs/jfs.c (grub_jfs_read_file): Likewise.
22890
22891 * fs/minix.c (grub_jfs_read_file): Likewise.
22892
22893 * fs/sfs.c (grub_jfs_read_file): Likewise.
22894
22895 * fs/ufs.c (grub_jfs_read_file): Likewise.
22896
22897 * fs/xfs.c (grub_jfs_read_file): Likewise.
22898
22899 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22900 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22901 respectively.
22902
22903 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22904 BLKNR to -1 instead of returning GRUB_ERRNO.
22905 (grub_ext2_read_file): Change the types of SECTOR and
22906 LEN to grub_disk_addr_t and grub_size_t, respectively.
22907
22908 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22909 LEN to grub_disk_addr_t and grub_size_t, respectively.
22910
22911 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22912 grub_file_read.
22913
22914 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22915 string. Do not cast SECTOR explicitly.
22916
22917 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22918 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22919 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22920 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22921 over 2TB and LBA mode is not supported, raise an error.
22922 (get_safe_sectors): New function.
22923 (grub_biosdisk_read): Use get_safe_sectors.
22924 (grub_biosdisk_write): Likewise.
22925
22926 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22927 (grub_efidisk_write): Likewise.
22928
22929 * disk/loopback.c (delete_loopback): Cosmetic changes.
22930 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22931 correctly.
22932 (grub_loopback_open): Likewise.
22933 (grub_loopback_read): Likewise. Also, change the type of POS to
22934 grub_off_t, and fix the usage of grub_memset.
22935
22936 * commands/i386/pc/play.c: Include grub/machine/time.h.
22937
22938 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22939 print FILE->SIZE.
22940
22941 * commands/configfile.c: Include grub/env.h.
22942
22943 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22944 GRUB_ERRNO directly instead. Change the type of POS to
22945 grub_off_t. Follow the coding standard.
22946
22947 * commands/blocklist.c: Include grub/partition.h.
22948 (grub_cmd_blocklist): Return an error if the underlying device is
22949 not a disk. Take the starting sector of a partition into account,
22950 if a partition is used.
22951
22952 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22953 a length field.
22954 (lba_mode): Support 64-bit addresses.
22955 (chs_mode): Likewise.
22956 (copy_buffer): Adapted to the new offsets of a length field and a
22957 segment field.
22958 (blocklist_default_start): Allocate 64-bit space.
22959
22960 * boot/i386/pc/boot.S (force_lba): Removed.
22961 (boot_drive): Moved to under KERNEL_SECTOR.
22962 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
22963 space.
22964 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22965 is useless.
22966 (lba_mode): Refactored to support a 64-bit address. More size
22967 optimization.
22968 (setup_sectors): Likewise.
22969
22970 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22971
22972 * DISTLIST: Added include/grub/i386/linux.h. Removed
22973 include/grub/i386/pc/linux.h
22974
22975 * configure.ac (AC_INIT): Bumped to 1.94.
22976
22977 * config.guess: Updated from gnulib.
22978 * config.sub: Likewise.
22979 * install-sh: Likewise.
22980 * mkinstalldirs: Likewise.
22981
22982 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22983
22984 * conf/common.rmk (grub_modules_init.lst): Depended on
22985 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22986 MODSRCFILES.
22987
22988 * genmk.rb (PModule::rule): Reverted the previous change.
22989
22990 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22991
22992 * conf/common.rmk (grub_modules_init.lst): Depends on
22993 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22994 that the target does not exist before producing.
22995 (grub_modules_init.h): Remove the target before generating.
22996 (grub_emu_init.c): Likewise.
22997
22998 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22999
23000 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23001
23002 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23003 for the target-specific tests. Make sure that we also have the
23004 up-to-date target variables for those tests.
23005
23006 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23007
23008 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23009 (PModule::rule): Likewise.
23010
23011 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23012
23013 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23014 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23015 target-specific flags should be prefixed.
23016 (PModule::rule): Likewise.
23017
23018 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23019
23020 * configure.ac (CMP): Check if cmp is available explicitly.
23021
23022 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23023
23024 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23025 (target_cpu): New variable.
23026 (pkglibdir): Use target_cpu instead of host_cpu.
23027
23028 * util/i386/pc/grub-install.in (host_cpu): Removed.
23029 (target_cpu): New variable.
23030 (pkglibdir): Use target_cpu instead of host_cpu.
23031
23032 * util/genmoddep.c: Removed.
23033
23034 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23035 instead of GRUB_HOST_SIZEOF_VOID_P.
23036 * kern/dl.c: Likewise.
23037
23038 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23039 ...
23040 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23041 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23042 (GRUB_TARGET_SIZEOF_LONG): ... this.
23043 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23044 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23045 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23046 to ...
23047 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23048 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23049 (GRUB_TARGET_SIZEOF_LONG): ... this.
23050 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23051 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23052 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23053 to ...
23054 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23055 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23056 (GRUB_TARGET_SIZEOF_LONG): ... this.
23057 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23058 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23059
23060 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23061 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23062 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23063 instead of GRUB_HOST_SIZEOF_LONG.
23064 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23065 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23066 GRUB_CPU_WORDS_BIGENDIAN.
23067 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23068 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23069 grub_host_ssize_t.
23070
23071 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23072 (genmoddep_SOURCES): Likewise.
23073 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23074 (genmoddep_SOURCES): Likewise.
23075 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23076 (genmoddep_SOURCES): Likewise.
23077 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23078 Likewise.
23079 (genmoddep_SOURCES): Likewise.
23080
23081 * genmoddep.awk: New file.
23082
23083 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23084 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23085 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23086 (PModule::rule): Likewise.
23087 (Program::rule): Likewise.
23088 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23089 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23090 respectively.
23091
23092 * configure.ac: Rewritten intensively to use host and target
23093 instead of build and host, respectively.
23094
23095 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23096 (host_cpu): Removed.
23097 (target_cpu): New variable.
23098 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23099 (BUILD_CC): Removed.
23100 (BUILD_CFLAGS): Likewise.
23101 (BUILD_CPPFLAGS): Likewise.
23102 (TARGET_CC): New variable.
23103 (TARGET_CFLAGS): Likewise.
23104 (TARGET_CPPFLAGS): Likewise.
23105 (TARGET_LDFLAGS): Likewise.
23106 (AWK): Likewise.
23107 (include): Use target_cpu instead of host_cpu.
23108 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
23109
23110 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23111
23112 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23113
23114 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23115 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23116 field 'false' to 'exec_on_false'.
23117 (grub_script_create_cmdif): Renamed argument names to reflect above
23118 changes.
23119
23120 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23121
23122 * normal/script.c (grub_script_create_cmdif): Likewise.
23123
23124 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23125
23126 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23127 top.
23128 (grub_hfsplus_btree_recptr): Likewise.
23129 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23130 FILEBLOCK both to pass a block number and store next block
23131 number.
23132 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23133 overflow file correctly. Specify errors appropriately, because
23134 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23135 grub_hfsplus_btree_recptr to get the pointer to a found key.
23136 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23137 is found.
23138
23139 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23140 linux.mod.
23141 (_linux_mod_SOURCES): New variable.
23142 (_linux_mod_CFLAGS): Likewise.
23143 (_linux_mod_LDFLAGS): Likewise.
23144 (linux_mod_SOURCES): Likewise.
23145 (linux_mod_CFLAGS): Likewise.
23146 (linux_mod_LDFLAGS): Likewise.
23147
23148 * DISTLIST: Added loader/i386/efi/linux.c,
23149 loader/i386/efi/linux_normal.c and
23150 include/grub/i386/efi/loader.h.
23151
23152 * loader/i386/efi/linux.c: New file.
23153 * loader/i386/efi/linux_normal.c: Likewise.
23154 * include/grub/i386/efi/loader.h: Likewise.
23155
23156 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23157
23158 * commands/blocklist.c: New file.
23159
23160 * DISTLIST: Added commands/blocklist.c.
23161
23162 * term/efi/console.c (grub_console_highlight_color): Use a lighter
23163 color for the background, and a darker color for the foreground.
23164 (grub_console_checkkey): Return READ_KEY.
23165 (grub_console_cls): Set the background to
23166 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23167
23168 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23169
23170 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23171 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23172
23173 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23174 prototype.
23175
23176 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23177 BG. The spec is wrong again.
23178
23179 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23180 prototype.
23181 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23182
23183 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23184 commands/blocklist.c.
23185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23186
23187 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23188 (blocklist_mod_SOURCES): New variable.
23189 (blocklist_mod_CFLAGS): Likewise.
23190 (blocklist_mod_LDFLAGS): Likewise.
23191
23192 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23193
23194 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23195 duplication.
23196 (lba_mode): Use %eax more intensively to reduce the code size.
23197
23198 2006-05-20 Marco Gerards <marco@gnu.org>
23199
23200 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23201
23202 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23203 for `menuentry'.
23204 (script): Accept leading newlines.
23205 (newlines): New rule to describe 0 or more newlines.
23206 (commands): Accept `command' with trailing newline. Fixed the
23207 order in which arguments were passed to `grub_script_add_cmd'.
23208 Accept commands separated by newlines.
23209 (function): Changed to accept newlines.
23210 (menuentry) Rewritten.
23211
23212 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23213 front of the list, instead of to the end.
23214
23215 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23216
23217 * util/i386/pc/grub-install.in (bindir): New variable.
23218 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23219 Shaver <lbgwjl@gmail.com>.
23220
23221 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23222
23223 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23224 grub/machine/linux.h
23225 * loader/i386/pc/linux.c: Likewise.
23226
23227 * include/grub/i386/pc/linux.h: Moved to ...
23228 * include/grub/i386/linux.h: ... here.
23229
23230 * include/grub/i386/linux.h (struct linux_kernel_params): New
23231 struct.
23232
23233 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23234
23235 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23236 checking.
23237 (grub_video_vbe_blit_glyph): Likewise.
23238 (grub_video_vbe_blit_bitmap): Likewise.
23239 (grub_video_vbe_blit_render_target): Likewise.
23240
23241 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23242
23243 * configure.ac (--with-platform): Properly quote the square
23244 brackets.
23245
23246 2006-05-08 Marco Gerards <marco@gnu.org>
23247
23248 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23249 this...
23250 (kernel_elf_HEADERS): ...to this. Updated all users.
23251 (grubof_symlist.c): Renamed from this...
23252 (kernel_elf_symlist.c): ...to this. Updated all users.
23253 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23254 (grubof_SOURCES): Renamed from this...
23255 (kernel_elf_SOURCES): ...to this.
23256 (grubof_HEADERS): Renamed from this...
23257 (kernel_elf_HEADERS): ...to this.
23258 (grubof_CFLAGS): Renamed from this...
23259 (kernel_elf_CFLAGS): ...to this.
23260 (grubof_ASFLAGS): Renamed from this...
23261 (kernel_elf_ASFLAGS): ...to this.
23262 (grubof_LDFLAGS): Renamed from this...
23263 (kernel_elf_LDFLAGS): ...to this.
23264
23265 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23266 this...
23267 (kernel_elf_HEADERS): ...to this. Updated all users.
23268 (grubof_symlist.c): Renamed from this...
23269 (kernel_elf_symlist.c): ...to this. Updated all users.
23270 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23271 (grubof_SOURCES): Renamed from this...
23272 (kernel_elf_SOURCES): ...to this.
23273 (grubof_HEADERS): Renamed from this...
23274 (kernel_elf_HEADERS): ...to this.
23275 (grubof_CFLAGS): Renamed from this...
23276 (kernel_elf_CFLAGS): ...to this.
23277 (grubof_ASFLAGS): Renamed from this...
23278 (kernel_elf_ASFLAGS): ...to this.
23279 (grubof_LDFLAGS): Renamed from this...
23280 (kernel_elf_LDFLAGS): ...to this.
23281
23282 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23283 `kernel.elf' instead of `grubof'.
23284
23285 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23286
23287 Add --with-platform to configure. Use pkglibdir instead of
23288 pkgdatadir. This is reported by Roger Leigh.
23289
23290 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23291 (host_vendor): Likewise.
23292 (host_os): Likewise.
23293 (pkgdatadir): Likewise.
23294 (platform): New variable.
23295 (pkglibdir): Likewise.
23296 Use PKGLIBDIR instead of PKGDATADIR.
23297
23298 * util/i386/pc/grub-install.in (datadir): Removed.
23299 (host_vendor): Likewise.
23300 (host_os): Likewise.
23301 (pkgdatadir): Likewise.
23302 (platform): New variable.
23303 (pkglibdir): Likewise.
23304 Use PKGLIBDIR instead of PKGDATADIR.
23305
23306 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23307 instead of GRUB_DATADIR.
23308 (main): Likewise.
23309 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23310 (main): Likewise.
23311 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23312 (main): Likewise.
23313
23314 * configure.ac (--with-platform): New option.
23315 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23316
23317 * Makefile.in: Include a makefile based on PLATFORM instead of
23318 HOST_VENDOR.
23319 (pkgdatadir): Not appended by the machine type.
23320 (pkglibdir): Appended by the machine type.
23321 (host_vendor): Removed.
23322 (platform): New variable.
23323 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23324 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23325 (uninstall): Likewise.
23326
23327 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23328
23329 Use the environment context in the menu. Remove the commands
23330 "default" and "timeout", and use variables instead.
23331
23332 * normal/menu.c: Include grub/env.h.
23333 (print_entry): Cast TITLE to silence gcc.
23334 (get_timeout): New function.
23335 (set_timeout): Likewise.
23336 (get_entry_number): Likewise.
23337 (run_menu): Use a default entry, a fallback entry and a timeout
23338 in the environment variables "default", "fallback" and
23339 "timeout". Also, tweak the default entry if it is not within the
23340 current menu entries.
23341 (grub_menu_run): Use a fallback entry in the environment variable
23342 "fallback".
23343
23344 * normal/main.c (read_config_file): Do not initialize
23345 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23346 NEWMENU->TIMEOUT.
23347 (grub_normal_execute): Use a data slot to store the menu.
23348
23349 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23350 fallback_entry and timeout.
23351 (struct grub_menu_list): Removed.
23352 (grub_menu_list_t): Likewise.
23353 (struct grub_context): Likewise.
23354 (grub_context_t): Likewise.
23355 (grub_context_get): Likewise.
23356 (grub_context_get_current_menu): Likewise.
23357 (grub_context_push_menu): Likewise.
23358 (grub_context_pop_menu): Likewise.
23359 (grub_default_init): Likewise.
23360 (grub_default_fini): Likewise.
23361 (grub_timeout_init): Likewise.
23362 (grub_timeout_fini): Likewise.
23363
23364 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23365 and timeout.mod.
23366 (normal_mod_SOURCES): Removed normal/context.c.
23367
23368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23369 commands/default.c, commands/timeout.c and normal/context.c.
23370 (normal_mod_SOURCES): Removed normal/context.c.
23371
23372 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23373 commands/timeout.c and normal/context.c.
23374 (normal_mod_SOURCES): Removed normal/context.c.
23375
23376 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23377 commands/default.c, commands/timeout.c and normal/context.c.
23378 (normal_mod_SOURCES): Removed normal/context.c.
23379
23380 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23381 timeout.mod.
23382 (default_mod_SOURCES): Removed.
23383 (default_mod_CFLAGS): Likewise.
23384 (default_mod_LDFLAGS): Likewise.
23385 (timeout_mod_SOURCES): Removed.
23386 (timeout_mod_CFLAGS): Likewise.
23387 (timeout_mod_LDFLAGS): Likewise.
23388
23389 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23390 normal/context.c.
23391
23392 * commands/default.c: Removed.
23393 * commands/timeout.c: Likewise.
23394 * normal/context.c: Likewise.
23395
23396 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23397
23398 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23399
23400 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23401
23402 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23403 "next" to "prev" for readability.
23404 (struct grub_env_sorted_var): New struct.
23405 (grub_env_context): Renamed to ...
23406 (initial_context): ... this.
23407 (grub_env_var_context): Renamed to ...
23408 (current_context): ... this.
23409 (grub_env_find): Look only at CURRENT_CONTEXT.
23410 (grub_env_context_open): Rewritten to copy exported variables from
23411 previous context.
23412 (grub_env_context_close): Rewritten according to the new
23413 scheme. Also, add an assertion to prevent the initial context from
23414 removed.
23415 (grub_env_insert): Removed the code for the sorted list.
23416 (grub_env_remove): Likewise.
23417 (grub_env_export): Simply mark the variable with
23418 GRUB_ENV_VAR_GLOBAL.
23419 (grub_env_set): A cosmetic change for naming consistency.
23420 (grub_env_get): Likewise.
23421 (grub_env_unset): Likewise.
23422 (grub_env_iterate): Rewritten to sort variables within this
23423 function.
23424 (grub_register_variable_hook): Fixed for naming consistency. Call
23425 grub_env_find again, only if NAME is not found at the first time.
23426 (mangle_data_slot_name): New function.
23427 (grub_env_set_data_slot): Likewise.
23428 (grub_env_get_data_slot): Likewise.
23429 (grub_env_unset_data_slot): Likewise.
23430
23431 * include/grub/env.h (grub_env_var_type): New enum.
23432 (GRUB_ENV_VAR_LOCAL): New constant.
23433 (GRUB_ENV_VAR_GLOBAL): Likewise.
23434 (GRUB_ENV_VAR_DATA): Likewise.
23435 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23436 "type".
23437 (grub_env_set): Replace VAR with NAME for consistency.
23438 (grub_register_variable_hook): Likewise.
23439 (grub_env_export): Specify the name of the argument.
23440 (grub_env_set_data_slot): New prototype.
23441 (grub_env_get_data_slot): Likewise.
23442 (grub_env_unset_data_slot): Likewise.
23443
23444 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23445
23446 Extend the loader so that GRUB can accept a loader which comes
23447 back to GRUB when a loaded image exits. Also, this change adds
23448 support for a chainloader on EFI.
23449
23450 * term/efi/console.c: Include grub/misc.h.
23451 (grub_console_checkkey): Display a scan code on the top for
23452 debugging. This will be removed once the EFI port gets stable.
23453 Correct the scan code mapping.
23454
23455 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23456 allocate memory from larger regions, in order to reduce the number
23457 of allocated regions. Otherwise, the MacOSX loader panics.
23458 (filter_memory_map): Avoid less than 1MB for compatibility with
23459 other loaders.
23460 (add_memory_regions): Allocate from the tail of a region, if
23461 possible, to avoid allocating a region near to 1MB, for the MacOSX
23462 loader.
23463
23464 * kern/efi/init.c (grub_efi_set_prefix): Specify
23465 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23466
23467 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23468 argument IMAGE_HANDLE and specify it to get a loaded image.
23469 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23470 grub_efi_get_loaded_image.
23471 (grub_efi_get_filename): Divide the length by the size of
23472 grub_efi_char16_t.
23473 (grub_efi_get_device_path): New function.
23474 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23475 the length by the size of grub_efi_char16_t for a file path device
23476 path node.
23477
23478 * kern/loader.c (grub_loader_noreturn): New variable.
23479 (grub_loader_set): Accept a new argument NORETURN. Set
23480 GRUB_LOADER_NORETURN to NORETURN.
23481 All callers changed.
23482 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23483 grub_machine_fini.
23484
23485 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23486 prototype.
23487 (grub_efi_get_loaded_image): Take an argument to specify an image
23488 handle.
23489
23490 * include/grub/loader.h (grub_loader_set): Added one more argument
23491 NORETURN.
23492
23493 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23494 instead of grub_efi_open_protocol.
23495 (grub_efidisk_get_device_name): Likewise.
23496 (grub_efidisk_close): Print a newline.
23497 (grub_efidisk_get_device_handle): Fixed to use
23498 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23499 GRUB_EFI_DEVICE_PATH_TYPE.
23500
23501 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23502 * kern/efi/efi.c (device_path_guid): ... here.
23503
23504 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23505 chain.mod.
23506 (kernel_mod_HEADERS): Added efi/disk.h.
23507 (_chain_mod_SOURCES): New variable.
23508 (_chain_mod_CFLAGS): Likewise.
23509 (_chain_mod_LDFLAGS): Likewise.
23510 (chain_mod_SOURCES): Likewise.
23511 (chain_mod_CFLAGS): Likewise.
23512 (chain_mod_LDFLAGS): Likewise.
23513
23514 * DISTLIST: Added include/grub/efi/chainloader.h,
23515 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23516
23517 * include/grub/efi/chainloader.h: New file.
23518 * loader/efi/chainloader.c: Likewise.
23519 * loader/efi/chainloader_normal.c: Likewise.
23520
23521 2006-04-30 Marco Gerards <marco@gnu.org>
23522
23523 * commands/configfile.c (grub_cmd_source): New function.
23524 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23525 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23526
23527 2006-04-30 Marco Gerards <marco@gnu.org>
23528
23529 * normal/execute.c (grub_script_execute_cmd): Change the return
23530 type to `grub_err_t'. Correctly return the error.
23531 (grub_script_execute_cmdline): In case a command line is not a
23532 command or a function, try to interpret it as an assignment.
23533
23534 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23535
23536 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23537 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23538 skip a node whose name is obviously invalid as UTF-16,
23539 i.e. contains a NUL character. Stop the iteration when the last
23540 directory entry is found. Instead of using the return value of
23541 grub_hfsplus_btree_iterate_node, store the value in RET and use
23542 it, because the iterator can be stopped by the last directory
23543 entry.
23544
23545 2006-04-30 Marco Gerards <marco@gnu.org>
23546
23547 * include/grub/env.h (grub_env_export): New prototype. Reported
23548 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23549
23550 2006-04-30 Marco Gerards <marco@gnu.org>
23551
23552 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23553 size of the extents in a catalog file record.
23554
23555 2006-04-29 Marco Gerards <marco@gnu.org>
23556
23557 * commands/configfile.c (grub_cmd_configfile): Execute the
23558 configfile within its own context.
23559
23560 * include/grub/env.h (grub_env_context_open): New prototype.
23561 (grub_env_context_close): Likewise.
23562
23563 * kern/env.c (grub_env): Removed.
23564 (grub_env_sorted): Likewise.
23565 (grub_env_context): New variable.
23566 (grub_env_var_context): Likewise.
23567 (grub_env_find): Search both the active context and the global
23568 context.
23569 (grub_env_context_open): New function.
23570 (grub_env_context_close): Likewise.
23571 (grub_env_insert): Likewise.
23572 (grub_env_remove): Likewise.
23573 (grub_env_export): Likewise.
23574 (grub_env_set): Changed to use helper functions to avoid code
23575 duplication.
23576 (grub_env_iterate): Rewritten so both the current context and the
23577 global context are being used.
23578
23579 * normal/command.c (export_command): New function.
23580 (grub_command_init): Register the `export' function.
23581
23582 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23583
23584 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23585 explicitly to suppress gcc's warnings.
23586 * fs/fat.c (grub_fat_find_dir): Likewise.
23587 (grub_fat_label): Likewise.
23588 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23589 (grub_xfs_mount): Likewise.
23590 (grub_xfs_label): Likewise.
23591 * fs/affs.c (grub_affs_mount): Likewise.
23592 (grub_affs_label): Likewise.
23593 (grub_affs_iterate_dir): Likewise.
23594 * fs/sfs.c (grub_sfs_mount): Likewise.
23595 (grub_sfs_iterate_dir): Likewise.
23596 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23597 * fs/hfs.c (grub_hfs_mount): Likewise.
23598 (grub_hfs_cmp_catkeys): Likewise.
23599 (grub_hfs_find_dir): Likewise.
23600 (grub_hfs_dir): Likewise.
23601 (grub_hfs_label): Likewise.
23602 * fs/jfs.c (grub_jfs_mount): Likewise.
23603 (grub_jfs_opendir): Likewise.
23604 (grub_jfs_getent): Likewise.
23605 (grub_jfs_lookup_symlink): Likewise.
23606 (grub_jfs_label): Likewise.
23607 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23608 (grub_hfsplus_iterate_dir): Likewise.
23609 (grub_hfsplus_btree_iterate_node): Made static.
23610
23611 * util/grub-emu.c (prefix): New variable.
23612 (grub_machine_set_prefix): New function.
23613 (main): Do not set the environment variable "prefix" here. Only
23614 set PREFIX, which is used later by grub_machine_set_prefix.
23615
23616 * include/grub/video.h: Do not include grub/symbol.h.
23617 (grub_video_register): Not exported. This symbol is not defined in
23618 the kernel.
23619 (grub_video_unregister): Likewise.
23620 (grub_video_iterate): Likewise.
23621 (grub_video_setup): Likewise.
23622 (grub_video_restore): Likewise.
23623 (grub_video_get_info): Likewise.
23624 (grub_video_get_blit_format): Likewise.
23625 (grub_video_set_palette): Likewise.
23626 (grub_video_get_palette): Likewise.
23627 (grub_video_set_viewport): Likewise.
23628 (grub_video_get_viewport): Likewise.
23629 (grub_video_map_color): Likewise.
23630 (grub_video_map_rgb): Likewise.
23631 (grub_video_map_rgba): Likewise.
23632 (grub_video_fill_rect): Likewise.
23633 (grub_video_blit_glyph): Likewise.
23634 (grub_video_blit_bitmap): Likewise.
23635 (grub_video_blit_render_target): Likewise.
23636 (grub_video_scroll): Likewise.
23637 (grub_video_swap_buffers): Likewise.
23638 (grub_video_create_render_target): Likewise.
23639 (grub_video_delete_render_target): Likewise.
23640 (grub_video_set_active_render_target): Likewise.
23641
23642 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23643 Undefined.
23644 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23645
23646 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23647 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23648 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23649 instead of $(srcdir)/genkernsyms.sh.
23650
23651 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23652 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23653 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23654 instead of $(srcdir)/genkernsyms.sh.
23655
23656 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23657 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23658 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23659 instead of $(srcdir)/genkernsyms.sh.
23660
23661 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23662 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23663 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23664 instead of $(srcdir)/genkernsyms.sh.
23665
23666 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23667 genkernsyms.sh.
23668
23669 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23670 genkernsyms.sh.
23671 (gensymlist.sh): New target.
23672 (genkernsyms.sh): Likewise.
23673
23674 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23675 genkernsyms.sh.in and gensymlist.sh.in.
23676
23677 * genkernsyms.sh: Removed.
23678 * gensymlist.sh: Likewise.
23679
23680 * genkernsyms.sh.in: New file.
23681 * gensymlist.sh.in: Likewise.
23682
23683 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23684
23685 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23686 clobber "prefix", since we may have already set it manually.
23687
23688 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23689
23690 * kern/misc.c (abort): New alias for grub_abort.
23691
23692 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23693
23694 A new machine-specific function "grub_machine_set_prefix" is
23695 defined. This is called after loading modules, so that a prefix
23696 initialization can use modules. Also, this change adds an
23697 intensive debugging feature for the memory manager via the
23698 configure option "--enable-mm-debug".
23699
23700 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23701 PART.LEN.
23702
23703 * kern/sparc64/ieee1275/init.c (abort): Removed.
23704 (grub_stop): Likewise.
23705 (grub_exit): New function.
23706 (grub_set_prefix): Renamed to ...
23707 (grub_machine_set_prefix): ... this.
23708 (grub_machine_init): Do not call grub_set_prefix.
23709
23710 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23711 (grub_machine_set_prefix): ... this.
23712 (grub_machine_init): Do not call grub_set_prefix.
23713
23714 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23715 (grub_machine_init): Do not set the prefix here.
23716
23717 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23718
23719 * kern/efi/init.c: Include grub/mm.h.
23720 (grub_efi_set_prefix): New function.
23721
23722 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23723 (grub_efi_get_filename): New function.
23724 (grub_print_device_path): Renamed to ...
23725 (grub_efi_print_device_path): ... this.
23726
23727 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23728 [MM_DEBUG] (grub_realloc): Likewise.
23729 [MM_DEBUG] (grub_free): Likewise.
23730 [MM_DEBUG] (grub_memalign): Likewise.
23731 [MM_DEBUG] (grub_mm_debug): New variable.
23732 [MM_DEBUG] (grub_debug_malloc): New function.
23733 [MM_DEBUG] (grub_debug_free): New function.
23734 [MM_DEBUG] (grub_debug_realloc): New function.
23735 [MM_DEBUG] (grub_debug_memalign): New function.
23736
23737 * kern/misc.c (grub_abort): Print a newline to distinguish
23738 the message.
23739
23740 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23741 grub_set_root_dev after loading modules. This is necessary when
23742 setting a prefix depends on modules.
23743
23744 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23745 (grub_efi_print_device_path): ... this.
23746 (grub_efi_get_filename): New prototype.
23747 (grub_efi_set_prefix): Likewise.
23748
23749 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23750 and grub/disk.h.
23751 (grub_efidisk_get_device_handle): New prototype.
23752 (grub_efidisk_get_device_name): Likewise.
23753
23754 * include/grub/mm.h: Include config.h.
23755 (MM_DEBUG): Removed.
23756 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23757 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23758 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23759 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23760 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23761 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23762 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23763 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23764 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23765
23766 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23767
23768 * disk/efi/efidisk.c: Include grub/partition.h.
23769 (iterate_child_devices): New function.
23770 (add_device): First, compare only last device path nodes, so that
23771 devices are sorted by the types.
23772 (grub_efidisk_get_device_handle): New function.
23773 (grub_efidisk_get_device_name): Likewise.
23774
23775 * configure.ac (--enable-mm-debug): New option to enable the
23776 memory manager debugging feature. This makes the binary much
23777 bigger, so is disabled by default.
23778
23779 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23780
23781 Use grub_abort instead of grub_stop, and grub_exit must be
23782 define in each architecture now. Also, this change adds support
23783 for EFI disks.
23784
23785 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23786 (grub_getkey): New function.
23787 (grub_term_get_current): Likewise.
23788
23789 * util/i386/pc/grub-setup.c: Include grub/term.h.
23790 (grub_getkey): New function.
23791 (grub_term_get_current): Likewise.
23792
23793 * util/misc.c (grub_stop): Renamed to ...
23794 (grub_exit): ... this.
23795
23796 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23797 (grub_exit): ... this.
23798 (grub_machine_init): Use grub_abort instead of abort.
23799 (grub_stop): Removed.
23800
23801 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23802 abort.
23803
23804 * kern/i386/pc/startup.S (grub_exit): New function.
23805 (cold_reboot): New label.
23806
23807 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23808 (grub_efi_init): Call grub_efidisk_init.
23809 (grub_efi_fini): Call grub_efidisk_fini.
23810
23811 * kern/efi/efi.c: Include grub/mm.h.
23812 (grub_efi_console_control_guid): Renamed to ...
23813 (console_control_guid): ... this.
23814 (grub_efi_loaded_image_guid): Renamed to ...
23815 (loaded_image_guid): ... this.
23816 (grub_efi_locate_handle): New function.
23817 (grub_efi_open_protocol): Likewise.
23818 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23819 GRUB_EFI_CONSOLE_CONTROL_GUID.
23820 (grub_efi_exit): Removed.
23821 (grub_stop): Likewise.
23822 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23823 (grub_exit): New function.
23824 (grub_print_device_path): Likewise.
23825
23826 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23827 (grub_enter_rescue_mode): Register "exit".
23828
23829 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23830 (grub_abort): New function.
23831
23832 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23833
23834 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23835
23836 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23837
23838 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23839 (grub_print_device_path): New prototype.
23840 (grub_efi_locate_handle): Likewise.
23841 (grub_efi_open_protocol): Likewise.
23842
23843 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23844 * disk/efi/efidisk.c: Likewise.
23845
23846 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23847
23848 * include/grub/efi/console_control.h
23849 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23850
23851 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23852 last 8 bytes as an array.
23853 (GRUB_EFI_DISK_IO_GUID): New macro.
23854 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23855 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23856 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23857 grub_uint8_t.
23858 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23859 (struct grub_efi_device_path): Rename the member "sub_type" to
23860 "subtype".
23861 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23862 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23863 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23864 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23865 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23866 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23867 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23868 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23869 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23870 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23871 (struct grub_efi_pci_device_path): New structure.
23872 (grub_efi_pci_device_path_t): New type.
23873 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23874 (struct grub_efi_pccard_device_path): New structure.
23875 (grub_efi_pccard_device_path_t): New type.
23876 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23877 (struct grub_efi_memory_mapped_device_path): New structure.
23878 (grub_efi_memory_mapped_device_path_t): New type.
23879 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23880 (struct grub_efi_vendor_device_path): New structure.
23881 (grub_efi_vendor_device_path_t): New type.
23882 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23883 (struct grub_efi_controller_device_path): New structure.
23884 (grub_efi_controller_device_path_t): New type.
23885 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23886 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23887 (struct grub_efi_acpi_device_path): New structure.
23888 (grub_efi_acpi_device_path_t): New type.
23889 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23890 (struct grub_efi_expanded_acpi_device_path): New structure.
23891 (grub_efi_expanded_acpi_device_path_t): New type.
23892 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23893 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23894 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23895 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23896 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23897 (struct grub_efi_atapi_device_path): New structure.
23898 (grub_efi_atapi_device_path_t): New type.
23899 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23900 (struct grub_efi_fibre_channel_device_path): New structure.
23901 (grub_efi_fibre_channel_device_path_t): New type.
23902 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23903 (struct grub_efi_1394_device_path): New structure.
23904 (grub_efi_1394_device_path_t): New type.
23905 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23906 (struct grub_efi_usb_device_path): New structure.
23907 (grub_efi_usb_device_path_t): New type.
23908 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23909 (struct grub_efi_usb_class_device_path): New structure.
23910 (grub_efi_usb_class_device_path_t): New type.
23911 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23912 (struct grub_efi_i2o_device_path): New structure.
23913 (grub_efi_i2o_device_path_t): New type.
23914 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23915 (struct grub_efi_mac_address_device_path): New structure.
23916 (grub_efi_mac_address_device_path_t): New type.
23917 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23918 (struct grub_efi_ipv4_device_path): New structure.
23919 (grub_efi_ipv4_device_path_t): New type.
23920 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23921 (struct grub_efi_ipv6_device_path): New structure.
23922 (grub_efi_ipv6_device_path_t): New type.
23923 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23924 (struct grub_efi_infiniband_device_path): New structure.
23925 (grub_efi_infiniband_device_path_t): New type.
23926 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23927 (struct grub_efi_uart_device_path): New structure.
23928 (grub_efi_uart_device_path_t): New type.
23929 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23930 (struct grub_efi_vendor_messaging_device_path): New structure.
23931 (grub_efi_vendor_messaging_device_path_t): New type.
23932 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23933 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23934 (struct grub_efi_hard_drive_device_path): New structure.
23935 (grub_efi_hard_drive_device_path_t): New type.
23936 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23937 (struct grub_efi_cdrom_device_path): New structure.
23938 (grub_efi_cdrom_device_path_t): New type.
23939 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23940 (struct grub_efi_vendor_media_device_path): New structure.
23941 (grub_efi_vendor_media_device_path_t): New type.
23942 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23943 (struct grub_efi_file_path_device_path): New structure.
23944 (grub_efi_file_path_device_path_t): New type.
23945 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23946 (struct grub_efi_protocol_device_path): New structure.
23947 (grub_efi_protocol_device_path_t): New type.
23948 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23949 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23950 (struct grub_efi_bios_device_path): New structure.
23951 (grub_efi_bios_device_path_t): New type.
23952 (struct grub_efi_disk_io): New structure.
23953 (grub_efi_disk_io_t): New type.
23954 (struct grub_efi_block_io_media): New structure.
23955 (grub_efi_block_io_media_t): New type.
23956 (struct grub_efi_block_io): New structure.
23957 (grub_efi_block_io_t): New type.
23958
23959 * include/grub/misc.h (grub_stop): Removed.
23960 (grub_exit): New prototype.
23961 (grub_abort): Likewise.
23962
23963 * include/grub/disk.h (enum grub_disk_dev_id): Added
23964 GRUB_DISK_DEVICE_EFIDISK_ID.
23965
23966 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23967 disk/efi/efidisk.c.
23968 (kernel_syms.lst): Remove the target if an error occurs.
23969
23970 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23971
23972 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23973 as it was simply too buggy.
23974
23975 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23976
23977 * kern/misc.c (grub_lltoa): New function.
23978 (grub_vsprintf): Added support for the long long suffix,
23979 i.e. "ll".
23980
23981 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23982
23983 * Makefile.in (LDFLAGS): Add variable.
23984 (LD): Remove variable.
23985 * configure.ac: Add -m32 to LDFLAGS.
23986 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23987 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23988 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23989 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23990 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23991 variables.
23992 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23993 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23994 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23995
23996 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23997
23998 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23999 length for unknown glyph.
24000
24001 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24002
24003 Add support for pre-loaded modules into the EFI port.
24004
24005 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24006 completely. Accept one more argument DIR. The caller has changed.
24007
24008 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24009
24010 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24011 (grub_efi_loaded_image_guid): New variable.
24012 (grub_efi_get_loaded_image): New function.
24013 (grub_arch_modules_addr): Likewise.
24014
24015 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24016 prototype.
24017
24018 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24019 (struct grub_efi_loaded_image): New structure.
24020 (grub_efi_loaded_image_t): New type.
24021
24022 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24023
24024 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24025 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24026 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24027
24028 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24029
24030 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24031
24032 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24033
24034 * DISTLIST: Added include/grub/efi/console.h,
24035 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24036 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24037
24038 * include/grub/efi/console.h: New file.
24039 * include/grub/efi/time.h: Likewise.
24040 * include/grub/i386/efi/kernel.h: Likewise.
24041 * kern/efi/init.c: Likewise.
24042 * kern/efi/mm.c: Likewise.
24043 * term/efi/console.c: Likewise.
24044
24045 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24046 (grub_stop): Removed.
24047 (grub_get_rtc): Likewise.
24048 (grub_machine_init): Simply call grub_efi_init.
24049 (grub_machine_fini): Call grub_efi_fini.
24050
24051 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24052 (grub_efi_output_string): Removed.
24053 (grub_efi_stall): New function.
24054 (grub_stop): Likewise.
24055 (grub_get_rtc): Likewise.
24056
24057 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24058 (grub_efi_stall): New prototype.
24059 (grub_efi_allocate_pages): Likewise.
24060 (grub_efi_free_pages): Likewise.
24061 (grub_efi_get_memory_map): Likewise.
24062 (grub_efi_mm_init): Likewise.
24063 (grub_efi_mm_fini): Likewise.
24064 (grub_efi_init): Likewise.
24065 (grub_efi_fini): Likewise.
24066
24067 * include/grub/i386/efi/time.h: Do not include
24068 grub/symbol.h. Include grub/efi/time.h.
24069 (GRUB_TICKS_PER_SECOND): Removed.
24070 (grub_get_rtc): Likewise.
24071
24072 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24073 Added padding. The EFI spec is buggy.
24074 (GRUB_EFI_BLACK): New macro.
24075 (GRUB_EFI_BLUE): Likewise.
24076 (GRUB_EFI_GREEN): Likewise.
24077 (GRUB_EFI_CYAN): Likewise.
24078 (GRUB_EFI_RED): Likewise.
24079 (GRUB_EFI_MAGENTA): Likewise.
24080 (GRUB_EFI_BROWN): Likewise.
24081 (GRUB_EFI_LIGHTGRAY): Likewise.
24082 (GRUB_EFI_BRIGHT): Likewise.
24083 (GRUB_EFI_DARKGRAY): Likewise.
24084 (GRUB_EFI_LIGHTBLUE): Likewise.
24085 (GRUB_EFI_LIGHTGREEN): Likewise.
24086 (GRUB_EFI_LIGHTCYAN): Likewise.
24087 (GRUB_EFI_LIGHTRED): Likewise.
24088 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24089 (GRUB_EFI_YELLOW): Likewise.
24090 (GRUB_EFI_WHITE): Likewise.
24091 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24092 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24093 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24094 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24095 (GRUB_EFI_BACKGROUND_RED): Likewise.
24096 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24097 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24098 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24099 (GRUB_EFI_TEXT_ATTR): Likewise.
24100
24101 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24102 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24103 (kernel_mod_HEADERS): Added efi/time.h.
24104
24105 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24106
24107 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24108 include/grub/efi/api.h, include/grub/efi/console_control.h,
24109 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24110 include/grub/i386/efi/time.h, kern/efi/efi.c,
24111 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24112 and util/i386/efi/grub-mkimage.c.
24113
24114 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24115
24116 * genmk.rb (PModule#rule): Do not export symbols if
24117 #{prefix}_EXPORTS is set to "no".
24118
24119 * conf/i386-efi.mk: New file.
24120 * conf/i386-efi.rmk: Likewise.
24121 * include/grub/efi/api.h: Likewise.
24122 * include/grub/efi/console_control.h: Likewise.
24123 * include/grub/efi/efi.h: Likewise.
24124 * include/grub/efi/pe32.h: Likewise.
24125 * include/grub/i386/efi/time.h: Likewise.
24126 * kern/efi/efi.c: Likewise.
24127 * kern/i386/efi/init.c: Likewise.
24128 * kern/i386/efi/startup.S: Likewise.
24129 * util/i386/efi/grub-mkimage.c: Likewise.
24130
24131 2006-04-17 Marco Gerards <marco@gnu.org>
24132
24133 * include/grub/script.h: Include <grub/parser.h> and
24134 "grub_script.tab.h".
24135 (struct grub_lexer_param): New struct.
24136 (struct grub_parser_param): Likewise.
24137 (grub_script_create_arglist): Pass the state in an argument.
24138 (grub_script_add_arglist): Likewise.
24139 (grub_script_create_cmdline): Likewise.
24140 (grub_script_create_cmdblock): Likewise.
24141 (grub_script_create_cmdif): Likewise.
24142 (grub_script_create_cmdmenu): Likewise.
24143 (grub_script_add_cmd): Likewise.
24144 (grub_script_arg_add): Likewise.
24145 (grub_script_lexer_ref): Likewise.
24146 (grub_script_lexer_deref): Likewise.
24147 (grub_script_lexer_record_start): Likewise.
24148 (grub_script_lexer_record_stop): Likewise.
24149 (grub_script_mem_record): Likewise.
24150 (grub_script_mem_record_stop): Likewise.
24151 (grub_script_malloc): Likewise.
24152 (grub_script_yylex): Likewise.
24153 (grub_script_yyparse): Likewise.
24154 (grub_script_yyerror): Likewise.
24155 (grub_script_yylex): Likewise.
24156 (grub_script_lexer_init): Return the state.
24157
24158 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24159 (grub_script_lexer_done): Likewise.
24160 (grub_script_lexer_getline): Likewise.
24161 (grub_script_lexer_refs): Likewise.
24162 (script): Likewise.
24163 (newscript): Likewise.
24164 (record): Likewise.
24165 (recording): Likewise.
24166 (recordpos): Likewise.
24167 (recordlen): Likewise.
24168 (grub_script_lexer_init): Return the state instead of setting
24169 global variables.
24170 (grub_script_lexer_ref): Use the newly added argument for state
24171 instead of globals.
24172 (grub_script_lexer_deref): Likewise.
24173 (grub_script_lexer_record_start): Likewise.
24174 (grub_script_lexer_record_stop): Likewise.
24175 (recordchar): Likewise.
24176 (nextchar): Likewise.
24177 (grub_script_yylex2): Likewise.
24178 (grub_script_yylex): Likewise.
24179 (grub_script_yyerror): Likewise.
24180
24181 * normal/parser.y (func_mem): Removed variable.
24182 (menu_entry): Likewise.
24183 (err): Likewise.
24184 (%lex-param): New parser option.
24185 (%parse-param): Likewise.
24186 (script): Always return the AST.
24187 (argument): Pass the state around.
24188 (arguments): Likewise.
24189 (grubcmd): Likewise.
24190 (commands): Likewise.
24191 (function): Likewise.
24192 (menuentry): Likewise.
24193 (if_statement): Likewise.
24194 (if): Likewise.
24195
24196 * normal/script.c (grub_script_memused): Removed variable.
24197 (grub_script_parsed): Likewise.
24198 (grub_script_malloc): Added a state argument. Use that instead of
24199 global variables.
24200 (grub_script_mem_record): Likewise.
24201 (grub_script_mem_record_stop): Likewise.
24202 (grub_script_arg_add): Likewise.
24203 (grub_script_add_arglist): Likewise.
24204 (grub_script_create_cmdline): Likewise.
24205 (grub_script_create_cmdif): Likewise.
24206 (grub_script_create_cmdmenu): Likewise.
24207 (grub_script_add_cmd): Likewise.
24208 (grub_script_parse): Setup the state before calling the parser.
24209
24210 2006-04-16 Marco Gerards <marco@gnu.org>
24211
24212 * normal/command.c (grub_command_init): Remove the title command.
24213
24214 * normal/lexer.c (grub_script_yylex): Renamed from this...
24215 (grub_script_yylex2): ... to this.
24216 (grub_script_yylex): New function. Temporary
24217 introduced to filter some tokens.
24218 (grub_script_yyerror): Print a newline.
24219
24220 * normal/main.c (read_config_file): Output information about the
24221 lines that contain errors. Wait for a key after all lines have
24222 been processed. Don't return an empty menu.
24223
24224 * normal/parser.y (func_mem): Don't initialize.
24225 (menu_entry): Likewise.
24226 (err): New variable.
24227 (script): Don't return anything when an error was encountered.
24228 (ws, returns): Removed rules.
24229 (argument): Disabled concatenated variable support.
24230 (arguments): Remove explicit separators.
24231 (grubcmd): Likewise.
24232 (function): Likewise.
24233 (menuentry): Likewise.
24234 (if): Likewise.
24235 (commands): Likewise. Add error handling.
24236
24237 * normal/script.c (grub_script_create_cmdline): If
24238 `grub_script_parsed' is 0, assume the parser encountered an error.
24239
24240 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24241
24242 * configure.ac: Add support for EFI. Fix the typo
24243 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24244
24245 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24246
24247 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24248 foreign multibyte characters should be shown correctly.
24249
24250 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24251
24252 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24253 calculation.
24254 (read_config_file): Made it to close file before returning.
24255
24256 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24257
24258 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24259 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24260 video/i386/pc/vbefill.c.
24261
24262 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24263 video/i386/pc/vbefill.c.
24264
24265 * include/grub/video.h (grub_video_blit_format): New enum.
24266 (grub_video_mode_info): Added new member blit_format.
24267 (grub_video_get_blit_format): New function prototype.
24268
24269 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24270 function prototype.
24271 (grub_video_vbe_map_rgb): Likewise.
24272 (grub_video_vbe_unmap_color): Likewise.
24273
24274 * include/grub/i386/pc/vbeblit.h: New file.
24275
24276 * include/grub/i386/pc/vbefill.h: New file.
24277
24278 * video/video.c (grub_video_get_blit_format): New function.
24279 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24280 (grub_video_vbe_map_rgb): Likewise.
24281 (grub_video_vbe_unmap_color): Likewise.
24282
24283 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24284 optimized fills.
24285 (grub_video_vbe_blit_render_target): Changed to use more optimized
24286 blits.
24287 (grub_video_vbe_setup): Added detection for optimized settings.
24288 (grub_video_vbe_create_render_target): Likewise.
24289
24290 * video/i386/pc/vbeblit.c: New file.
24291
24292 * video/i386/pc/vbefill.c: New file.
24293
24294 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24295
24296 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24297 here...
24298
24299 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24300 parsing to support both hex and dec ranges. If filename was missing
24301 show usage information.
24302
24303 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24304
24305 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24306 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24307
24308 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24309 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24310 (video_mod_SOURCES): Added.
24311 (video_mod_CFLAGS): Likewise.
24312 (video_mod_LDFLAGS): Likewise.
24313 (gfxterm_mod_SOURCES): Likewise.
24314 (gfxterm_mod_CFLAGS): Likewise.
24315 (gfxterm_mod_LDFLAGS): Likewise.
24316 (videotest_mod_SOURCES): Likewise.
24317 (videotest_mod_CFLAGS): Likewise.
24318 (videotest_mod_LDFLAGS): Likewise.
24319 (vesafb_mod_SOURCES): Removed.
24320 (vesafb_mod_CFLAGS): Likewise.
24321 (vesafb_mod_LDFLAGS): Likewise.
24322 (vga_mod_SOURCES): Likewise.
24323 (vga_mod_CFLAGS): Likewise.
24324 (vga_mod_LDFLAGS): Likewise.
24325
24326 * commands/videotest.c: New file.
24327
24328 * font/manager.c (fill_with_default_glyph): Modified to use
24329 grub_font_glyph.
24330 (grub_font_get_glyph): Likewise.
24331 (fontmanager): Renamed from this...
24332 (font_manager): ... to this.
24333
24334 * include/grub/font.h (grub_font_glyph): Added new structure.
24335 (grub_font_get_glyph): Modified to use grub_font_glyph.
24336
24337 * include/grub/misc.h (grub_abs): Added as inline function.
24338
24339 * include/grub/video.h: New file.
24340
24341 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24342 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24343 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24344 (grub_vbe_get_controller_info): Renamed from this...
24345 (grub_vbe_bios_get_controller_info): ... to this.
24346 (grub_vbe_get_mode_info): Renamed from this...
24347 (grub_vbe_bios_get_mode_info): ... to this.
24348 (grub_vbe_set_mode): Renamed from this...
24349 (grub_vbe_bios_set_mode): ... to this.
24350 (grub_vbe_get_mode): Renamed from this...
24351 (grub_vbe_bios_get_mode): ... to this.
24352 (grub_vbe_set_memory_window): Renamed from this...
24353 (grub_vbe_bios_set_memory_window): ... to this.
24354 (grub_vbe_get_memory_window): Renamed from this...
24355 (grub_vbe_bios_get_memory_window): ... to this.
24356 (grub_vbe_set_scanline_length): Renamed from this...
24357 (grub_vbe_set_scanline_length): ... to this.
24358 (grub_vbe_get_scanline_length): Renamed from this...
24359 (grub_vbe_bios_get_scanline_length): ... to this.
24360 (grub_vbe_set_display_start): Renamed from this...
24361 (grub_vbe_bios_set_display_start): ... to this.
24362 (grub_vbe_get_display_start): Renamed from this...
24363 (grub_vbe_bios_get_display_start): ... to this.
24364 (grub_vbe_set_palette_data): Renamed from this...
24365 (grub_vbe_bios_set_palette_data): ... to this.
24366 (grub_vbe_set_pixel_rgb): Removed.
24367 (grub_vbe_set_pixel_index): Likewise.
24368
24369 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24370 from this...
24371 (grub_vbe_bios_get_controller_info): ... to this.
24372 (grub_vbe_get_mode_info): Renamed from this...
24373 (grub_vbe_bios_get_mode_info): ... to this.
24374 (grub_vbe_set_mode): Renamed from this...
24375 (grub_vbe_bios_set_mode): ... to this.
24376 (grub_vbe_get_mode): Renamed from this...
24377 (grub_vbe_bios_get_mode): ... to this.
24378 (grub_vbe_set_memory_window): Renamed from this...
24379 (grub_vbe_bios_set_memory_window): ... to this.
24380 (grub_vbe_get_memory_window): Renamed from this...
24381 (grub_vbe_bios_get_memory_window): ... to this.
24382 (grub_vbe_set_scanline_length): Renamed from this...
24383 (grub_vbe_set_scanline_length): ... to this.
24384 (grub_vbe_get_scanline_length): Renamed from this...
24385 (grub_vbe_bios_get_scanline_length): ... to this.
24386 (grub_vbe_set_display_start): Renamed from this...
24387 (grub_vbe_bios_set_display_start): ... to this.
24388 (grub_vbe_get_display_start): Renamed from this...
24389 (grub_vbe_bios_get_display_start): ... to this.
24390 (grub_vbe_set_palette_data): Renamed from this...
24391 (grub_vbe_bios_set_palette_data): ... to this.
24392 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24393 getting corrupted after calling it. Added more pushes and pops.
24394 (grub_vbe_bios_set_mode): Likewise.
24395 (grub_vbe_bios_get_mode): Likewise.
24396 (grub_vbe_bios_get_memory_window): Likewise.
24397 (grub_vbe_bios_set_scanline_length): Likewise.
24398 (grub_vbe_bios_get_scanline_length): Likewise.
24399 (grub_vbe_bios_get_display_start): Likewise.
24400 (grub_vbe_bios_set_palette_data): Likewise.
24401
24402 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24403 (cl_insert): Likewise.
24404 (cl_delete): Likewise.
24405
24406 * term/gfxterm.c: New file.
24407
24408 * term/i386/pc/vesafb.c: Removed file.
24409
24410 * video/video.c: New file.
24411
24412 * video/i386/pc/vbe.c (real2pm): Added new function.
24413 (grub_video_vbe_draw_pixel): Likewise.
24414 (grub_video_vbe_get_video_ptr): Likewise.
24415 (grub_video_vbe_get_pixel): Likewise
24416 (grub_video_vbe_init): Likewise.
24417 (grub_video_vbe_fini): Likewise.
24418 (grub_video_vbe_setup): Likewise.
24419 (grub_video_vbe_get_info): Likewise.
24420 (grub_video_vbe_set_palette): Likewise.
24421 (grub_video_vbe_get_palette): Likewise.
24422 (grub_video_vbe_set_viewport): Likewise.
24423 (grub_video_vbe_get_viewport): Likewise.
24424 (grub_video_vbe_map_color): Likewise.
24425 (grub_video_vbe_map_rgb): Likewise.
24426 (grub_video_vbe_map_rgba): Likewise.
24427 (grub_video_vbe_unmap_color): Likewise.
24428 (grub_video_vbe_fill_rect): Likewise.
24429 (grub_video_vbe_blit_glyph): Likewise.
24430 (grub_video_vbe_blit_bitmap): Likewise.
24431 (grub_video_vbe_blit_render_target): Likewise.
24432 (grub_video_vbe_scroll): Likewise.
24433 (grub_video_vbe_swap_buffers): Likewise.
24434 (grub_video_vbe_create_render_target): Likewise.
24435 (grub_video_vbe_delete_render_target): Likewise.
24436 (grub_video_vbe_set_active_render_target): Likewise.
24437 (grub_vbe_set_pixel_rgb): Remove function.
24438 (grub_vbe_set_pixel_index): Likewise.
24439 (index_color_mode): Remove static variable.
24440 (active_mode): Likewise.
24441 (framebuffer): Likewise.
24442 (bytes_per_scan_line): Likewise.
24443 (grub_video_vbe_adapter): Added new static variable.
24444 (framebuffer): Likewise.
24445 (render_target): Likewise.
24446 (initial_mode): Likewise.
24447 (mode_in_use): Likewise.
24448 (mode_list): Likewise.
24449
24450 2006-03-10 Marco Gerards <marco@gnu.org>
24451
24452 * configure.ac (AC_INIT): Bumped to 1.93.
24453
24454 * DISTLIST: Added `include/grub/hfs.h'.
24455
24456 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24457
24458 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24459 18H, which might help the BIOS falling back to next boot media.
24460
24461 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24462
24463 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24464 Poe Chen <poe.poechen@gmail.com>.
24465
24466 2006-01-17 Marco Gerards <marco@gnu.org>
24467
24468 * include/grub/normal.h: Include <grub/script.h>.
24469 (grub_command_list): Removed struct.
24470 (grub_command_list_t): Removed type.
24471 (grub_menu_entry): Remove members `num' and `command_list'. Add
24472 members `commands' and `sourcecode'.
24473 * include/grub/script.h: Add inclusion guards.
24474 (grub_script_cmd_menuentry): New struct.
24475 (grub_script_execute_menuentry): New prototype.
24476 (grub_script_lexer_record_start): Likewise.
24477 (grub_script_lexer_record_stop): Likewise.
24478 * normal/execute.c (grub_script_execute_menuentry): New function.
24479 * normal/lexer.c (record, recording, recordpos, recordlen): New
24480 variables.
24481 (grub_script_lexer_record_start): New function.
24482 (grub_script_lexer_record_stop): Likewise.
24483 (recordchar): Likewise.
24484 (nextchar): Likewise.
24485 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24486 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24487 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24488 (current_menu): New variable.
24489 (free_menu): Mainly rewritten.
24490 (grub_normal_menu_addentry): New function.
24491 (read_config_file): Rewritten.
24492 * normal/menu.c (run_menu_entry): Mainly rewritten.
24493 * normal/menu_entry.c (make_screen): Rewritten the code to insert
24494 the menu entry.
24495 (run): Mainly rewritten.
24496 * normal/parser.y (menu_entry): New variable.
24497 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24498 (menuentry): New rule.
24499 (command): Add `menuentry'.
24500 (if_statement): Allow additional returns before `fi'.
24501 * normal/script.c (grub_script_create_cmdmenu): New function.
24502
24503 2006-01-03 Marco Gerards <marco@gnu.org>
24504
24505 * INSTALL: GNU Bison is required.
24506 * configure.ac: Rewritten the test to detect Bison.
24507 * Makefile.in (YACC): New variable. Reported by Xun Sun
24508 <xun.sun.cn@gmail.com>.
24509
24510 2006-01-03 Marco Gerards <marco@gnu.org>
24511
24512 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24513 the HFS+ filesystem to filesystem blocks.
24514 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24515 GCC warning is silenced.
24516
24517 2006-01-03 Marco Gerards <marco@gnu.org>
24518
24519 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24520 read from disk from big endian to host byte order.
24521
24522 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24523
24524 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24525 documentation.
24526 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24527 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24528 embedded HFS+ filesystem.
24529 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24530 (grub_hfs_sblock): Move from here...
24531 * include/grub/hfs.h: To here... New file.
24532 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24533 documentation.
24534 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24535 New macros.
24536 (grub_hfsplus_volheader): Change type of member `magic' to
24537 `grub_uint16_t'.
24538 (grub_hfsplus_data): Add new member `embedded_offset'.
24539 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24540 returned block.
24541 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24542 Calculate the offset.
24543
24544 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24545
24546 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24547 Removed.
24548 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24549
24550 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24551
24552 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24553 ENV->NAME is NULL after allocating ENV->VALUE.
24554
24555 2005-12-25 Marco Gerards <marco@gnu.org>
24556
24557 * kern/env.c (grub_env_set): Rewritten the error handling code.
24558
24559 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24560
24561 * geninit.sh: Made more robust, and more portable.
24562
24563 2005-12-25 Marco Gerards <marco@gnu.org>
24564
24565 Add support for Apple HFS+ filesystems.
24566
24567 * fs/hfsplus.c: New file.
24568
24569 * DISTLIST: Added `fs/hfsplus.c'.
24570
24571 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24572 (hfsplus_mod_SOURCES): New variable.
24573 (hfsplus_mod_CFLAGS): Likewise.
24574 (hfsplus_mod_LDFLAGS): Likewise.
24575 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24576 (grub_setup_SOURCES): Likewise.
24577 (grub_mkdevicemap_SOURCES): Likewise.
24578 (grub_emu_SOURCES): Likewise.
24579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24580
24581 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24582
24583 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24584
24585 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24586
24587 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24588 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24589 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24590 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24591 normal/lexer.c, normal/parser.y, normal/script.c, and
24592 partmap/gpt.c.
24593 Removed kern/sparc64/cache.c.
24594
24595 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24596 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24597 grub_emu_init.c.
24598
24599 * configure.ac (AC_INIT): Bumped to 1.92.
24600
24601 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24602
24603 * kern/err.c (grub_error_push): Added new function to support error
24604 stacks.
24605 (grub_error_pop): Likewise.
24606 (grub_error_stack_items): New local variable to support error stacks.
24607 (grub_error_stack_pos): Likewise.
24608 (grub_error_stack_assert): Likewise.
24609 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24610 stack depth.
24611 (grub_print_error): Added support to print errors from error stack.
24612
24613 * include/grub/err.h (grub_error_push): Added function prototype.
24614 (grub_error_pop): Likewise.
24615
24616 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24617
24618 * configure.ac: Accept `powerpc64' as host_cpu.
24619 (amd64): Rename to `biarch32'.
24620
24621 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24622 non-cacheline-aligned addresses.
24623
24624 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24625 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24626 if `size' is non-zero.
24627
24628 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
24629
24630 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24631 and `cd' to make sure the filename is not prefixed with a
24632 directory name.
24633 (pkgdata_MODULES): Add `gpt.mod'.
24634 (gpt_mod_SOURCES): New variable.
24635 (gpt_mod_CFLAGS): Likewise.
24636 (gpt_mod_LDFLAGS): Likewise.
24637
24638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24639
24640 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24641 New macro.
24642
24643 * partmap/gpt.c: New file.
24644
24645 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24646 GPT partition map is detected.
24647
24648 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24649
24650 * commands/i386/pc/play.c: New file.
24651 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24652 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24653 macros.
24654
24655 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
24656
24657 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24658 ((unused))' to silence gcc warning.
24659
24660 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24661
24662 * configure.ac: Correct `AC_PROG_YACC' test.
24663
24664 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24665
24666 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24667 check before installing files.
24668
24669 2005-11-22 Mike Small <smallm@panix.com>
24670
24671 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24672 number regex so multidigit numbers are recognized correctly.
24673
24674 2005-11-22 Mike Small <smallm@panix.com>
24675
24676 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24677 debugging message before attempting to claim memory.
24678 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24679 multiple addresses in case of failure.
24680
24681 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24682
24683 * term/tparm.c (get_space): Remove empty `if' statement.
24684
24685 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24686
24687 * kern/parser.c (check_varstate): Rename `state' to 's'.
24688
24689 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24690
24691 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24692 variable definitions to the beginning of each function. Sort stack
24693 variables by size.
24694 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24695 `buf' argument to `char *'.
24696
24697 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24698
24699 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24700 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24701 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24702 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24703 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24704 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24705 configfile.mod, search.mod, gzio.mod and test.mod.
24706 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24707 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24708 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24709 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24710 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24711 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24712 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24713 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24714 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24715 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24716 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24717 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24718 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24719 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24720 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24721 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24722 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24723 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24724 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24725 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24726 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24727 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24728 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24729
24730 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24731 `grep --include'.
24732 (pkgdata_MODULES): Add test.mod.
24733
24734 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24735
24736 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24737 appending to variables with "+=".
24738 (PModule): Use full pathname to generate *.lst filenames.
24739
24740 * Makefile.in: Fixed list rules moved from genmk.rb.
24741 (.DELETE_ON_ERROR): New special target.
24742 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24743
24744 * conf/i386-pc.rmk: Include conf/common.mk.
24745 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24746 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24747 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24748 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24749 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24750 configfile.mod, search.mod, gzio.mod and test.mod.
24751 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24752 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24753 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24754 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24755 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24756 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24757 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24758 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24759 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24760 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24761 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24762 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24763 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24764 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24765 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24766 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24767 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24768 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24769 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24770 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24771 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24772 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24773 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24774 here...
24775 * conf/common.rmk: ... to here. New file.
24776
24777 * conf/common.mk: New file.
24778
24779 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24780
24781 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24782 (grub_script.tab.c): ... here.
24783
24784 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24785 (grub_script.tab.c): ... here.
24786
24787 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24788 (grub_script.tab.c): ... here.
24789
24790 * normal/command.c (grub_command_find): Fixed a memory leak of
24791 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24792
24793 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24794
24795 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24796 "@" which marks the start of a comment on ARM.
24797 (VARIABLE): Likewise.
24798
24799 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24800
24801 Add support for Linux/ADFS partition tables.
24802
24803 * partmap/acorn.c: New file.
24804
24805 * include/grub/acorn_filecore.h: Likewise.
24806
24807 * DISTLIST: Added `partmap/acorn.c' and
24808 `include/grub/acorn_filecore.h'.
24809
24810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24811 `partmap/acorn.c'.
24812 (pkgdata_MODULES): Add `acorn.mod'.
24813 (acorn_mod_SOURCES): New variable.
24814 (acorn_mod_CFLAGS): Likewise.
24815
24816 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24817 `partmap/acorn.c'.
24818 (pkgdata_MODULES): Add `acorn.mod'.
24819 (acorn_mod_SOURCES): New variable.
24820 (acorn_mod_CFLAGS): Likewise.
24821
24822 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24823 (pkgdata_MODULES): Add `acorn.mod'.
24824 (acorn_mod_SOURCES): New variable.
24825 (acorn_mod_CFLAGS): Likewise.
24826 (acorn_mod_LDFLAGS): Likewise.
24827
24828 * include/types.h (grub_disk_addr_t): New typedef.
24829
24830 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
24831
24832 * geninit.sh: New file.
24833
24834 * geninitheader.sh: Likewise.
24835
24836 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24837 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24838 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24839 * commands/configfile.c (grub_configfile_init)
24840 (grub_configfile_fini): Likewise.
24841 * commands/default.c (grub_default_init, grub_default_fini):
24842 Likewise.
24843 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24844 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24845 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24846 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24847 Likewise.
24848 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24849 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24850 Likewise.
24851 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
24852 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
24853 Likewise.
24854 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24855 Likewise.
24856 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
24857 Likewise.
24858 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24859 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24860 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24861 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24862 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24863 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24864 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24865 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24866 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24867 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24868 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24869 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24870 * partmap/amiga.c (grub_amiga_partition_map_init)
24871 (grub_amiga_partition_map_fini): Likewise.
24872 * partmap/apple.c (grub_apple_partition_map_init)
24873 (grub_apple_partition_map_fini): Likewise.
24874 * partmap/pc.c (grub_pc_partition_map_init)
24875 (grub_pc_partition_map_fini): Likewise.
24876 * partmap/sun.c (grub_sun_partition_map_init,
24877 grub_sun_partition_map_fini): Likewise.
24878 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24879 Likewise.
24880
24881 * util/grub-emu.c: Include <grub_modules_init.h>.
24882 (main): Don't initialize and de-initialize any modules directly,
24883 use `grub_init_all' and `grub_fini_all' instead.
24884
24885 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24886 `grub_vesafb_mod_init'.
24887 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24888 all users.
24889 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24890 `grub_vga_mod_init'. Updated all users.
24891 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
24892
24893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24894 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24895 rules.
24896
24897 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24898 Generate a function to initialize the module in utilities.
24899 Updated all callers.
24900 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24901 initialize the module in utilities. Updated all callers.
24902
24903 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24904
24905 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24906 escape sequence and a literal ^L to clear the screen.
24907
24908 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24909 when returning from Open Firmware.
24910
24911 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24912
24913 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24914 (grub_ofconsole_height): Likewise.
24915 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24916 manually insert a '\n'.
24917 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24918 `grub_ofconsole_height'. Return early if these are already set.
24919
24920 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24921
24922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24923 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24924 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24925 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24926 and `normal/script.c'.
24927 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24928 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24929 (test_mod_SOURCES): New variable.
24930 (test_mod_CFLAGS): Likewise.
24931 (test_mod_LDFLAGS): Likewise.
24932 (pkgdata_MODULES): Add `test.mod'.
24933 (grub_script.tab.c): New rule.
24934 (grub_script.tab.h): Likewise.
24935
24936 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
24937
24938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24939 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24940 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24941 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24942 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24943 (test_mod_SOURCES): New variable.
24944 (test_mod_CFLAGS): Likewise.
24945 (pkgdata_MODULES): Add `test.mod'.
24946 (grub_script.tab.c): New rule.
24947 (grub_script.tab.h): Likewise.
24948
24949 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
24950
24951 Add initial scripting support.
24952
24953 * commands/test.c: New file.
24954 * include/grub/script.h: Likewise.
24955 * normal/execute.c: Likewise.
24956 * normal/function.c: Likewise.
24957 * normal/lexer.c: Likewise.
24958 * normal/parser.y: Likewise.
24959 * normal/script.c: Likewise.
24960
24961 * configure.ac: Add `AC_PROG_YACC' test.
24962
24963 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24964 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24965 `normal/function.c' and `normal/script.c'.
24966 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24967 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24968 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24969 variables.
24970 (pkgdata_MODULES): Add `test.mod'.
24971 (grub_script.tab.c): New rule.
24972 (grub_script.tab.h): Likewise.
24973
24974 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24975
24976 * include/grub/normal.h (grub_test_init): New prototype.
24977 (grub_test_fini): Likewise.
24978
24979 * normal/command.c: Include <grub/script.h>.
24980 (grub_command_execute): Rewritten.
24981
24982 * util/grub-emu.c (main): Call `grub_test_init' and
24983 `grub_test_fini'.
24984
24985 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24986
24987 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24988 to 0.
24989 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24990 there are no pending characters.
24991
24992 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24993
24994 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24995 `grub_strndup' to drop device arguments. Replace unnecessary
24996 `grub_strndup' with `grub_strdup'.
24997
24998 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24999
25000 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25001 `debug' environment variable has been set.
25002
25003 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
25004
25005 * Makefile.in (install-local): Use $(DATA).
25006 (uninstall): Likewise.
25007 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25008 (sbin_UTILITIES): ... to here.
25009 (sbin_SCRIPTS): New variable.
25010 (grub_install_SOURCES): New variable.
25011 * util/powerpc/ieee1275/grub-install.in: New file.
25012 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25013 variable.
25014 (add_segments): Call `grub_util_get_path'.
25015
25016 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25017
25018 From Timothy Baldwin:
25019 * commands/ls.c (grub_ls_list_files): Close FILE with
25020 grub_file_close.
25021 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25022
25023 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
25024
25025 * include/grub/parser.h: New file.
25026
25027 * kern/parser.c: Likewise.
25028
25029 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25030 (grub_setup_SOURCES): Likewise.
25031 (grub_probefs_SOURCES): Likewise.
25032 (grub_emu_SOURCES): Likewise.
25033 (kernel_img_HEADERS): Add `parser.h'.
25034
25035 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25036 (grub_emu_SOURCES): Add `kern/parser.c'.
25037 (grubof_SOURCES): Likewise.
25038
25039 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25040 (grubof_SOURCES): Add `kern/parser.c'.
25041
25042 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25043
25044 * kern/misc.c (grub_split_cmdline): Removed function.
25045
25046 * kern/rescue.c: Include <grub/parser.h>.
25047 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25048 of `grub_split_cmdline'.
25049
25050 * normal/command.c: Include <grub/parser.h>.
25051 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25052 of `grub_split_cmdline'.
25053
25054 * normal/completion.c: Include <grub/parser.h>.
25055 (cmdline_state): New variable.
25056 (iterate_dir): End the filename with a quote depending on the
25057 command line state.
25058 (get_state): new function.
25059 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25060 split the arguments and determine the current argument. When the
25061 argument string is not quoted, escape all spaces.
25062
25063 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25064
25065 * normal/sparc64/setjmp.S: New file.
25066
25067 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25068
25069 * include/grub/sparc64/libgcc.h: New file.
25070 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25071 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25072 normal/sparc64/setjmp.c.
25073
25074 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25075
25076 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25077 * kern/sparc64/cache.S: New file.
25078 * kern/sparc64/cache.c: Removed.
25079 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25080 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25081 -mtune=ultrasparc.
25082 (COMMON_LDFLAGS): Add -melf64_sparc.
25083 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25084 (grubof_SOURCES): Use cache.S instead of cache.c.
25085 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25086 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25087 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25088 commented though.
25089 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25090 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25091 (linux_mod_CFLAGS): Commented out.
25092 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25093 out because module isn't built.
25094 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25095 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25096 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25097 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25098 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25099 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25100 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25101 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25102 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25103 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25104 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25105 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25106 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25107 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25108
25109 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25110
25111 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25112 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25113 longer, because HFS should not be used on PC.
25114
25115 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25116
25117 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25118 consistently within the loop.
25119
25120 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
25121
25122 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25123 directory can not be read.
25124
25125 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25126
25127 * configure.ac (AC_INIT): Increase the version number to 1.91.
25128
25129 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25130 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25131 term/i386/pc/serial.c.
25132
25133 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25134
25135 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25136 file size must be permitted.
25137
25138 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25139 between %ah and %al.
25140
25141 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25142
25143 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25144 grub_uint64_t.
25145 Call the hook with a NUL-terminated filename.
25146 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25147 grub_cpu_to_be32.
25148
25149 * kern/term.c (cursor_state): New variable.
25150 (grub_term_set_current): Reset the cursor state on a new
25151 terminal.
25152 (grub_setcursor): Rewritten to use CURSOR_STATE.
25153 (grub_getcursor): New function.
25154
25155 * include/grub/term.h (grub_getcursor): New prototype.
25156
25157 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25158 integers on ARM. Reported by Timothy Baldwin
25159 <T.E.Baldwin99@members.leeds.ac.uk>.
25160
25161 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
25162
25163 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25164 allocated.
25165 (grub_sfs_dir): Likewise.
25166
25167 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
25168
25169 Add support for the SFS filesystem.
25170
25171 * fs/sfs.c: New file.
25172
25173 * DISTLIST: Added `fs/sfs.c'.
25174
25175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25176 (grub_probefs_SOURCES): Likewise.
25177 (grub_emu_SOURCES): Likewise.
25178 (pkgdata_MODULES): Add `sfs.mod'.
25179 (sfs_mod_SOURCES): New variable.
25180 (sfs_mod_CFLAGS): Likewise.
25181 (sfs_mod_LDFLAGS): Likewise.
25182
25183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25184 (pkgdata_MODULES): Add `sfs.mod'.
25185 (sfs_mod_SOURCES): New variable.
25186 (sfs_mod_CFLAGS): Likewise.
25187
25188 * util/grub-emu.c (main): Call `grub_sfs_init' and
25189 `grub_sfs_fini'.
25190
25191 * include/grub/fs.h (grub_sfs_init): New prototype.
25192 (grub_sfs_fini): Likewise.
25193
25194 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
25195
25196 Add support for the AFFS filesystem.
25197
25198 * fs/affs.c: New file.
25199
25200 * DISTLIST: Added `fs/affs.c'.
25201
25202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25203 (grub_probefs_SOURCES): Likewise.
25204 (grub_emu_SOURCES): Likewise.
25205 (pkgdata_MODULES): Add `affs.mod'.
25206 (affs_mod_SOURCES): New variable.
25207 (affs_mod_CFLAGS): Likewise.
25208 (affs_mod_LDFLAGS): Likewise.
25209
25210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25211 (pkgdata_MODULES): Add `affs.mod'.
25212 (affs_mod_SOURCES): New variable.
25213 (affs_mod_CFLAGS): Likewise.
25214
25215 * util/grub-emu.c (main): Call `grub_affs_init' and
25216 `grub_affs_fini'.
25217
25218 * include/grub/fs.h (grub_affs_init): New prototype.
25219 (grub_affs_fini): Likewise.
25220
25221 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25222
25223 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25224
25225 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25226
25227 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25228 `-m32' to CFLAGS.
25229
25230 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25231 linking.
25232
25233 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25234 (COMMON_LDFLAGS): New variable.
25235 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25236 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25237 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25238 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25239 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25240 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25241 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25242 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25243 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25244 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25245 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25246 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25247 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25248 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25249 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25250 variables.
25251 (normal_mod_ASFLAGS): Add `-m32'.
25252
25253 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25254 (grub_host_size_t, grub_host_ssize_t): New types.
25255 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
25256 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
25257 `GRUB_HOST_SIZEOF_VOID_P'.
25258
25259 * include/grub/kernel.h (struct grub_module_header): Type of
25260 member offset changed to `grub_host_off_t'. Type of member size
25261 changed to `grub_host_size_t'.
25262 (struct grub_module_info): Type of member offset changed to
25263 `grub_host_off_t'. Type of member size changed to
25264 `grub_host_size_t'.
25265
25266 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25267
25268 Make GRUB's kernel compliant to Multiboot Specification.
25269
25270 * kern/i386/pc/startup.S (multiboot_header): New label.
25271 (multiboot_entry): Likewise.
25272 (multiboot_trampoline): Likewise.
25273
25274 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25275 Increased to 0x4A0.
25276
25277 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25278 put parentheses after a question mark.
25279 [!GRUB_UTIL] (my_mod): New variable.
25280
25281 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25282
25283 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
25284
25285 Adds support for the XFS filesystem. Btrees are not supported
25286 yet.
25287
25288 * fs/xfs.c: New file.
25289
25290 * DISTLIST: Added `fs/xfs.c'.
25291
25292 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25293 (grub_probefs_SOURCES): Likewise.
25294 (grub_emu_SOURCES): Likewise.
25295 (pkgdata_MODULES): Add `xfs.mod'.
25296 (xfs_mod_SOURCES): New variable.
25297 (xfs_mod_CFLAGS): Likewise.
25298
25299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25300 (pkgdata_MODULES): Add `xfs.mod'.
25301 (xfs_mod_SOURCES): New variable.
25302 (xfs_mod_CFLAGS): Likewise.
25303
25304 * util/grub-emu.c (main): Call `grub_xfs_init' and
25305 `grub_xfs_fini'.
25306
25307 * include/grub/fs.h (grub_xfs_init): New prototype.
25308 (grub_xfs_fini): Likewise.
25309
25310
25311 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25312
25313 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25314 color modes, allow greater than 16 colors to be configured as
25315 a default palette.
25316
25317 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25318
25319 * normal/completion.c (complete_arguments): Add the qualifier
25320 const into OPTIONS.
25321
25322 From Omniflux <omniflux+lists@omniflux.com>:
25323 * include/grub/terminfo.h: New file.
25324 * include/grub/tparm.h: Likewise.
25325 * include/grub/i386/pc/serial.h: Likewise.
25326 * term/terminfo.c: Likewise.
25327 * term/tparm.c: Likewise.
25328 * term/i386/pc/serial.c: Likewise.
25329 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25330 serial.mod.
25331 (terminfo_mod_SOURCES): New variable.
25332 (terminfo_mod_CFLAGS): Likewise.
25333 (serial_mod_SOURCES): Likewise.
25334 (serial_mod_CFLAGS): Likewise.
25335
25336 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25337
25338 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25339 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25340 and kern/powerpc/ieee1275/cmain.c, respectively.
25341
25342 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25343 * kern/powerpc/ieee1275/crt0.S: ... here.
25344
25345 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25346 * kern/powerpc/ieee1275/cmain.c: ... here.
25347
25348 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25349 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25350 instead of boot/powerpc/ieee1275/crt0.S and
25351 boot/powerpc/ieee1275/cmain.c, respectively.
25352
25353 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25354 sectors. It was not used anyway.
25355
25356 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25357
25358 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25359 `unused parameter' warning.
25360
25361 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25362
25363 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25364 function.
25365 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25366 getcharwidth.
25367
25368 2005-08-28 Marco Gerards <metgerards@student.han.nl>
25369
25370 * include/grub/normal.h (enum grub_completion_type): Added
25371 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25372
25373 * normal/cmdline.c (print_completion): Handle
25374 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25375 * normal/menu_entry.c (store_completion): Likewise.
25376
25377 * normal/completion.c (complete_arguments): New function.
25378 (grub_normal_do_completion): Call `complete_arguments' when the
25379 current words start with a dash.
25380
25381 2005-08-27 Marco Gerards <metgerards@student.han.nl>
25382
25383 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25384 `gzio.mod' instead of `io.mod').
25385
25386 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25387
25388 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25389 (DISTDIRS): Added io and video.
25390 Rewrite the search routine to make an output consistently.
25391
25392 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25393 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25394 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25395 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25396 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25397 util/powerpc/ieee1275/misc.c.
25398
25399 * include/grub/gzio.h: New file.
25400 * io/gzio.c: Likewise.
25401
25402 * kern/file.c (grub_file_close): Call grub_device_close only if
25403 FILE->DEVICE is not NULL.
25404
25405 * include/grub/mm.h [!NULL] (NULL): New macro.
25406
25407 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25408
25409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25410 (pkgdata_MODULES): Added gzio.mod.
25411 (gzio_mod_SOURCES): New variable.
25412 (gzio_mod_CFLAGS): Likewise.
25413
25414 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25415 (pkgdata_MODULES): Added gzio.mod.
25416 (gzio_mod_SOURCES): New variable.
25417 (gzio_mod_CFLAGS): Likewise.
25418
25419 * commands/cat.c: Include grub/gzio.h.
25420 (grub_cmd_cat): Use grub_gzfile_open instead of
25421 grub_file_open.
25422
25423 * commands/cmp.c: Include grub/gzio.h.
25424 (grub_cmd_cmp): Use grub_gzfile_open instead of
25425 grub_file_open.
25426
25427 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25428 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25429 grub_file_open.
25430 (grub_rescue_cmd_module): Likewise.
25431
25432 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25433
25434 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25435 kern/sparc64/ieee1275/init.c because it contains _start.
25436 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25437
25438 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25439
25440 * configure.ac: Add support for sparc64 host with ieee1275
25441 firmware.
25442 * configure: Generated from configure.ac.
25443 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25444 instead of int.
25445 (grub_ofdisk_read): Likewise.
25446 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25447 pointers as (void *) to remove a warning.
25448 (grub_ofdisk_close): Likewise.
25449 (grub_ofdisk_read): Likewise.
25450 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25451 returns, so make it return void to remove a warning.
25452 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25453 Corresponding prototype change.
25454 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25455 values, and cast the pointers as (void *) to remove a warning.
25456 (grub_mm_dump): Likewise.
25457 * conf/sparc64-ieee1275.mk: New file.
25458 * conf/sparc64-ieee1275.rmk: Likewise.
25459 * include/grub/sparc64/setjmp.h: Likewise.
25460 * include/grub/sparc64/types.h: Likewise.
25461 * include/grub/sparc64/ieee1275/console.h: Likewise.
25462 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25463 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25464 * include/grub/sparc64/ieee1275/time.h: Likewise.
25465 * kern/sparc64/cache.c: Likewise.
25466 * kern/sparc64/dl.c: Likewise.
25467 * kern/sparc64/ieee1275/init.c: Likewise.
25468 * kern/sparc64/ieee1275/openfw.c: Likewise.
25469
25470 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25471
25472 * util/console.c (grub_ncurses_putchar): If C is greater than
25473 0x7f, set C to a question mark.
25474 (grub_ncurses_getcharwidth): New function.
25475 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25476 getcharwidth.
25477
25478 * normal/menu.c (print_entry): Made aware of Unicode. First,
25479 convert TITLE to UCS-4, and predict the cursor position by
25480 grub_getcharwidth.
25481
25482 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25483 const to SRC.
25484 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25485
25486 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25487
25488 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25489 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25490 grub_strcat.
25491
25492 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25493 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25494 grub_strcpy and grub_strlen. Take it into account that a space
25495 character is inserted as a delimiter.
25496
25497 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25498
25499 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
25500 invalid magic in the error.
25501
25502 * commands/search.c: New file.
25503
25504 * util/grub-emu.c (main): Call grub_search_init and
25505 grub_search_fini.
25506
25507 * kern/rescue.c (grub_rescue_print_disks): Removed.
25508 (grub_rescue_print_devices): New function.
25509 (grub_rescue_cmd_ls): Use grub_device_iterate with
25510 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25511 grub_rescue_print_disks.
25512
25513 * kern/partition.c (grub_partition_iterate): Return the result of
25514 PARTMAP->ITERATE instead of GRUB_ERRNO.
25515
25516 * kern/device.c: Include grub/partition.h.
25517 (grub_device_iterate): New function.
25518
25519 * include/grub/partition.h (grub_partition_iterate): Return int
25520 instead of grub_err_t.
25521
25522 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25523 prototype.
25524 [GRUB_UTIL] (grub_search_fini): Likewise.
25525
25526 * include/grub/device.h (grub_device_iterate): New prototype.
25527
25528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25529 commands/search.c.
25530 (pkgdata_MODULES): Added search.mod.
25531 (search_mod_SOURCES): New variable.
25532 (search_mod_CFLAGS): Likewise.
25533
25534 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25535 (pkgdata_MODULES): Added search.mod.
25536 (search_mod_SOURCES): New variable.
25537 (search_mod_CFLAGS): Likewise.
25538
25539 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25540 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25541 All callers changed.
25542
25543 * DISTLIST: Added commands/search.c.
25544
25545 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25546
25547 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25548 conversion.
25549 (grub_getcharwidth): New function.
25550
25551 * kern/misc.c (grub_utf8_to_ucs4): New function.
25552
25553 * include/grub/term.h (struct grub_term): Added a new member
25554 "getcharwidth".
25555 (grub_getcharwidth): New prototype.
25556
25557 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25558
25559 * term/i386/pc/console.c (map_char): New function. Segregated from
25560 grub_console_putchar.
25561 (grub_console_putchar): Use map_char.
25562 (grub_console_getcharwidth): New function.
25563 (grub_console_term): Specified grub_console_getcharwidth as
25564 getcharwidth.
25565
25566 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25567 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25568
25569 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25570 GRUB_ERRNO.
25571 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25572 on grub_strtoul completely.
25573 (write_char): Declare local variables in the beginning of the
25574 function.
25575 (grub_vesafb_getcharwidth): New function.
25576 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25577 getcharwidth.
25578
25579 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25580
25581 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25582 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25583 commands/i386/pc/vbetest.c.
25584
25585 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25586 call grub_vbe_get_controller_info again, because the returned
25587 information is volatile.
25588 (grub_vbe_set_video_mode): Mostly rewritten.
25589 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25590 grub_vbe_status_t correctly.
25591 (grub_vbe_get_video_mode_info): Likewise.
25592 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25593 several if statements.
25594
25595 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25596 * commands/i386/pc/vbeinfo.c: ... this.
25597
25598 * commands/i386/pc/vbe_test.c: Renamed to ...
25599 * commands/i386/pc/vbetest.c: ... this.
25600
25601 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25602 ...
25603 (grub_cmd_vbeinfo): ... this. Save video modes before
25604 iterating. Skip a video mode, if it is not available, not enough
25605 information is given or it is monochrome. Show the memory
25606 model. Leave the interpretation of MODEVAR to grub_strtoul
25607 completely.
25608 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25609 (GRUB_MOD_FINI): Likewise.
25610
25611 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25612 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25613 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25614 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25615 grub_strtoul completely.
25616 (real2pm): Removed.
25617 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25618 (GRUB_MOD_FINI): Likewise.
25619
25620 * normal/misc.c: Include grub/mm.h.
25621
25622 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25623 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25624 (vbe_list_modes_mod_SOURCES): Removed.
25625 (vbe_list_modes_mod_CFLAGS): Likewise.
25626 (vbe_test_mod_SOURCES): Likewise.
25627 (vbe_test_mod_CFLAGS): Likewise.
25628 (vbeinfo_mod_SOURCES): New variable.
25629 (vbeinfo_mod_CFLAGS): Likewise.
25630 (vbetest_mod_SOURCES): Likewise.
25631 (vbetest_mod_CFLAGS): Likewise.
25632
25633 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25634
25635 * normal/misc.c: New file.
25636
25637 * DISTLIST: Added normal/misc.c.
25638
25639 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25640 DISK to HOOK. Call HOOK with DISK.
25641 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25642 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25643 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25644
25645 * normal/menu_entry.c (struct screen): Added a new member
25646 "completion_shown".
25647 (completion_buffer): New global variable.
25648 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25649 (store_completion): New function.
25650 (complete): Likewise.
25651 (clear_completions): Likewise.
25652 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25653 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25654 a tab, call complete.
25655
25656 * normal/completion.c (disk_dev): Removed.
25657 (print_simple_completion): Likewise.
25658 (print_partition_completion): Likewise.
25659 (print_func): New global variable.
25660 (add_completion): Do not take the arguments WHAT or PRINT any
25661 longer. Added a new argument TYPE. Instead of printing directly,
25662 call PRINT_FUNC if not NULL.
25663 All callers changed.
25664 (complete_device): Use a local variable DEV instead of
25665 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25666 (grub_normal_do_completion): Take a new argument HOOK. Do not
25667 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25668 empty string, return NULL instead.
25669 All callers changed.
25670
25671 * normal/cmdline.c (print_completion): New function.
25672
25673 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25674 to HOOK.
25675 All callers changed.
25676
25677 * kern/disk.c (grub_print_partinfo): Removed.
25678
25679 * include/grub/partition.h (struct grub_partition_map): Add a new
25680 argument DISK into HOOK of ITERATE.
25681 (grub_partition_iterate): Add a new argument DISK to HOOK.
25682
25683 * include/grub/normal.h (enum grub_completion_type): New enum.
25684 (grub_completion_type_t): New type.
25685 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25686 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25687 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25688 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25689 (grub_normal_do_completion): Added a new argument HOOK.
25690 (grub_normal_print_device_info): New prototype.
25691
25692 * include/grub/disk.h (grub_print_partinfo): Removed.
25693
25694 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25695 (normal_mod_SOURCES): Likewise.
25696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25697 (normal_mod_SOURCES): Likewise.
25698
25699 * commands/ls.c (grub_ls_list_disks): Use
25700 grub_normal_print_device_info instead of grub_print_partinfo. Free
25701 PNAME.
25702 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25703 duplicating the code.
25704
25705 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25706
25707 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
25708 follow GCS more precisely.
25709 * commands/i386/pc/vbe_test.c: Likewise.
25710 * include/grub/i386/pc/vbe.h: Likewise.
25711 * term/i386/pc/vesafb.c: Likewise.
25712 * video/i386/pc/vbe.c: Likewise.
25713
25714 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25715
25716 * DISTLIST: Added term/i386/pc/vesafb.c
25717 DISTLIST: Added video/i386/pc/vbe.c
25718 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25719 DISTLIST: Added commands/i386/pc/vbe_test.c.
25720 * commands/i386/pc/vbe_list_modes.c: New file.
25721 * commands/i386/pc/vbe_test.c: Likewise.
25722 * term/i386/pc/vesafb.c: Likewise.
25723 * video/i386/pc/vbe.c: Likewise.
25724 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25725 (grub_vbe_probe) Added prototype.
25726 (grub_vbe_set_video_mode) Likewise.
25727 (grub_vbe_get_video_mode) Likewise.
25728 (grub_vbe_get_video_mode_info) Likewise.
25729 (grub_vbe_set_pixel_rgb) Likewise.
25730 (grub_vbe_set_pixel_index) Likewise.
25731 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25732 (pkgdata_MODULES): Added vesafb.mod.
25733 (pkgdata_MODULES): Added vbe_list_modes.mod.
25734 (pkgdata_MODULES): Added vbe_test.mod.
25735 (vbe_mod_SOURCES): Added.
25736 (vbe_mod_CFLAGS): Likewise.
25737 (vesafb_mod_SOURCES): Likewise.
25738 (vesafb_mod_CFLAGS): Likewise.
25739 (vbe_list_modes_mod_SOURCES): Likewise.
25740 (vbe_list_modes_mod_CFLAGS): Likewise.
25741 (vbe_test_mod_SOURCES): Likewise.
25742 (vbe_test_mod_CFLAGS): Likewise.
25743
25744 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25745
25746 * normal/command.c (grub_command_execute): If INTERACTIVE is
25747 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25748 CMDLINE. Disable the pager if INTERACTIVE is true.
25749 All callers are changed.
25750
25751 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25752 before reading a config file.
25753 * normal/main.c (read_config_file): Even if a command is not
25754 found, register it if it is within an entry.
25755
25756 * util/grub-emu.c: Include sys/types.h and unistd.h.
25757 (options): Added --hold.
25758 (struct arguments): Added a new member "hold".
25759 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25760 missing.
25761 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25762 cleared by a debugger, if it is not zero.
25763
25764 * include/grub/normal.h (grub_command_execute): Add an argument
25765 INTERACTIVE.
25766
25767 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25768
25769 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25770
25771 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25772
25773 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25774 program with another one, because the old one didn't detect a bug
25775 in gcc-3.4. Always use regparm 2, because the new test is still
25776 not enough for gcc-4.0. Someone must investigate a simple test
25777 case which detects a bug in gcc-4.0.
25778
25779 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25780
25781 * DISTLIST: Added normal/completion.c.
25782
25783 * normal/completion.c: New file.
25784
25785 * term/i386/pc/console.c (grub_console_getwh): New function.
25786 (grub_console_term): Assign grub_console_getwh to getwh.
25787
25788 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25789 function is defined in normal/completion.c as
25790 grub_normal_do_completion.
25791 (grub_cmdline_get): Use grub_normal_do_completion instead of
25792 grub_tab_complete.
25793
25794 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25795 returns non-zero, otherwise return 0.
25796 (grub_partition_iterate): First, probe the partition map. Then,
25797 call ITERATE only for this partition map.
25798
25799 * kern/misc.c (grub_strncmp): Rewritten.
25800
25801 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25802 returns non-zero. Otherwise return 0.
25803
25804 * include/grub/partition.h (grub_partition_map_iterate): Return
25805 int instead of void.
25806
25807 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25808
25809 * include/grub/misc.h (grub_strncmp): Change the type of N to
25810 grub_size_t.
25811
25812 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25813 of void.
25814
25815 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
25816 unsigned explicitly before comparing it with I.
25817
25818 * kern/main.c (grub_env_write_root): Add the attribute unused into
25819 VAR.
25820
25821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25822 normal/completion.c.
25823 (normal_mod_SOURCES): Likewise.
25824 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25825 (normal_mod_SOURCES): Likewise.
25826
25827 * normal/command.c (grub_iterate_commands): If ITERATE returns
25828 non-zero, return one immediately.
25829
25830 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25831
25832 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25833 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25834 descriptions.
25835 (grub_vbe_get_controller_info): New function.
25836 (grub_vbe_get_mode_info): Likewise.
25837 (grub_vbe_set_mode): Likewise.
25838 (grub_vbe_get_mode): Likewise.
25839 (grub_vbe_set_memory_window): Likewise.
25840 (grub_vbe_get_memory_window): Likewise.
25841 (grub_vbe_set_scanline_length): Likewise.
25842 (grub_vbe_get_scanline_length): Likewise.
25843 (grub_vbe_set_display_start): Likewise.
25844 (grub_vbe_get_display_start): Likewise.
25845 (grub_vbe_set_palette_data): Likewise.
25846 * include/grub/i386/pc/vbe.h: New file.
25847
25848 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25849
25850 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25851 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25852 * DISTLIST: Likewise.
25853 * kern/ieee1275/of.c: Moved to ...
25854 * kern/ieee1275/ieee1275.c: ... here.
25855
25856 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25857
25858 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25859 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25860 Pass 0 as `end' parameter to grub_strtoul().
25861
25862 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25863
25864 * include/grub/powerpc/ieee1275/console.h: Do not include
25865 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25866 ifdef.
25867 (grub_console_cur_color): Remove i386-specific prototype.
25868 (grub_console_real_putchar): Likewise.
25869 (grub_console_checkkey): Likewise.
25870 (grub_console_getkey): Likewise.
25871 (grub_console_getxy): Likewise.
25872 (grub_console_gotoxy): Likewise.
25873 (grub_console_cls): Likewise.
25874 (grub_console_setcursor): Likewise.
25875 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25876 Include <grub/machine/console.h>.
25877 * term/ieee1275/ofconsole.c: Likewise.
25878
25879 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25880
25881 * Makefile.in (LIBLZO): New variable.
25882
25883 * configure.ac: Check for LZO version 2.
25884
25885 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25886 lzo/lzo1x.h instead of lzo1x.h.
25887
25888 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25889 of -llzo.
25890
25891 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25892 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25893
25894 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25895 copying the data from PARTITION to P.
25896
25897 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25898
25899 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25900 negative, unload the module.
25901
25902 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25903 map is "pc_partition_map" but not "pc".
25904 (usage): Fix the description. The options are --boot-image and
25905 --core-image but not --boot-file or --core-file.
25906 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25907 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25908 DEFAULT_DIRECTORY.
25909
25910 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25911 --core-file. Specify INSTALL_DEVICE as an argument.
25912
25913 * util/console.c: Include config.h.
25914 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25915 [HAVE_NCURSES_H]: Include ncurses.h.
25916 [HAVE_CURSES_H]: Include curses.h.
25917 [!A_NORMAL] (A_NORMAL): Defined as zero.
25918 [!A_STANDOUT] (A_STANDOUT): Likewise.
25919
25920 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25921 -lncurses.
25922 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25923
25924 * configure.ac: Check for curses libraries and headers.
25925
25926 * Makefile.in (LIBCURSES): New variable.
25927
25928 * genmk.rb (Script::rule): Set the executable bits.
25929
25930 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25931 name of the PC partition map is "pc_partition_map" but not "pc".
25932
25933 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25934
25935 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25936 (modules): Likewise.
25937 (usage): Added descriptions for --modules and --grub-probefs.
25938 Handle --modules and --grub-probefs. Save the arguments in MODULES
25939 and GRUB_PROBEFS, respectively.
25940 Auto-detect a filesystem module against GRUBDIR. If the result is
25941 empty and modules are not specified explicitly, abort the
25942 installation. Add the result to MODULES.
25943
25944 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25945 disk/powerpc/ieee1275/ofdisk.c,
25946 include/grub/powerpc/ieee1275/init.h and
25947 term/powerpc/ieee1275/ofconsole.c.
25948 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25949 term/ieee1275/ofconsole.c.
25950
25951 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25952
25953 * COPYING: Upgraded to the latest version. Only the address of the
25954 FSF office has changed.
25955
25956 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25957
25958 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25959 kern/ieee1275.c with kern/ieee1275/of.c.
25960
25961 * kern/ieee1275.c: Moved to ...
25962 * kern/ieee1275/of.c: ... here.
25963
25964 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25965
25966 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
25967 readability.
25968
25969 * config.guess: Updated to the latest version from gnulib.
25970 * config.sub: Likewise.
25971 * install.sh: Likewise.
25972 * mkinstalldirs: Likewise.
25973
25974 * include/grub/console.h: Removed. This file is arch-specific. Do
25975 not put this in include/grub.
25976
25977 * include/grub/i386/pc/console.h: Resurrected.
25978
25979 * util/console.c: Include grub/machine/console.h instead of
25980 grub/console.h.
25981 * util/grub-emu.c: Likewise.
25982
25983 2005-08-04 Marco Gerards <metgerards@student.han.nl>
25984
25985 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25986 hardcoded value.
25987
25988 From Vincent Pelletier <subdino2004@yahoo.fr>
25989 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25990 Redefined to use grub_getwh.
25991 (grub_term): New member named getwh.
25992 (grub_getwh): New prototype.
25993 * kern/term.c (grub_getwh): New function.
25994 * term/i386/pc/console.c (grub_console_getwh): New function.
25995 (grub_console_term): New member `getwh'.
25996 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25997 (grub_vga_term): New member `getwh'.
25998 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
25999 grub_ssize_t.
26000 (grub_ofconsole_getw): New function.
26001 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26002 (grub_ofconsole_term): New field named getwh and new initial
26003 value.
26004
26005 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26006
26007 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26008 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26009 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26010 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26011 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26012 of <grub/machine/ieee1275.h>.
26013 * commands/ieee1275/reboot.c: Likewise.
26014 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26015 * kern/ieee1275.c: ... to here. All users updated. Change all
26016 parameter structs to use new type `grub_ieee1275_cell_t'.
26017 * term/powerpc/ieee1275/ofconsole.c: Move ...
26018 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26019 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26020 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26021 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26022 to return int.
26023 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26024 Remove unused prototypes. All users updated.
26025 * include/grub/powerpc/ieee1275/console.h: Removed.
26026 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26027 `grub_ieee1275_cell_t'.
26028 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26029 Cast comparisons with -1 to the correct type.
26030 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26031 type to match `grub_ieee1275_entry_fn'.
26032
26033 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26034
26035 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26036
26037 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26038 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26039 partmap/sun.c.
26040 (grub_probefs_SOURCES): New variable.
26041
26042 * util/i386/pc/grub-probefs.c: New file.
26043
26044 * util/i386/pc/grub-setup.c (main): Call
26045 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26046 grub_hfs_init and grub_jfs_init to initialize the system. Call
26047 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26048 grub_pc_partition_map_fini to finish the system.
26049
26050 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26051
26052 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26053 function.
26054 (grub_multiboot_load_elf32): Likewise.
26055 (grub_multiboot_is_elf64): Likewise.
26056 (grub_multiboot_load_elf64): Likewise.
26057 (grub_multiboot_load_elf): Likewise.
26058 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26059 an ELF32 or ELF64 file.
26060 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26061
26062 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26063 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26064 NULL before calling FS->LABEL.
26065 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26066 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26067 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26068 before calling FS->LABEL.
26069
26070 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26071
26072 * util/i386/pc/grub-install.in (datadir): New variable.
26073 (libdir): Removed.
26074 (pkgdatadir): New variable.
26075 (pkglibdir): Removed.
26076
26077 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26078
26079 * DISTLIST: Added util/i386/pc/grub-install.in.
26080
26081 * util/i386/pc/grub-install.in: New file.
26082
26083 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26084 (grub_install_SOURCES): Likewise.
26085
26086 * genmk.rb: Added support for scripts.
26087 (Script): New class.
26088 (scripts): New variable.
26089
26090 * Makefile.in (install-local): Install sbin_SCRIPTS by
26091 INSTALL_SCRIPT.
26092 (uninstall): Remove sbin_SCRIPTS.
26093
26094 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26095 device, try to get a GRUB device by
26096 grub_util_biosdisk_get_grub_dev.
26097 Free DEST_DEV.
26098
26099 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26100 description for --device-map.
26101
26102 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26103
26104 Change the semantics of variable hooks. They now return strings
26105 instead of error values.
26106
26107 * util/i386/pc/grub-setup.c: Include grub/env.h.
26108 (setup): Use grub_device_set_root instead of grub_env_set.
26109
26110 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26111 grub_env_get instead of grub_device_set_root and
26112 grub_device_get_root, respectively.
26113
26114 * kern/main.c (grub_env_write_root): New function.
26115 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26116 grub_env_set instead of grub_device_set_root.
26117
26118 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26119 many variables.
26120 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26121 rather than calling ENV->WRITE_HOOK afterwards.
26122 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26123 passing a pointer of a pointer.
26124 (grub_register_variable_hook): Change the types of "read_hook" and
26125 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26126 respectively.
26127 Allocate the default empty string on the heap, because this string
26128 may be freed later.
26129
26130 * kern/device.c: Include grub/env.h.
26131 (grub_device_set_root): Removed.
26132 (grub_device_get_root): Likewise.
26133 (grub_device_open): Use grub_env_get instead of
26134 grub_device_get_root.
26135
26136 * include/grub/env.h (grub_env_read_hook_t): New type.
26137 (grub_env_write_hook_t): Likewise.
26138 (grub_env_var): Change the types of "read_hook" and "write_hook"
26139 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26140 (grub_register_variable_hook): Likewise.
26141
26142 * include/grub/device.h (grub_device_set_root): Removed.
26143 (grub_device_set_root): Likewise.
26144
26145 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26146 make sure that DIRNAME terminates with '/', so that
26147 grub_fat_find_dir will fail if PATH is not a directory.
26148
26149 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26150 from DIRNAME.
26151 Use the qualifier auto for print_files and print_files_long.
26152 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26153 as a regular file.
26154 Put a newline only if there is no error.
26155 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26156 used.
26157
26158 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26159
26160 * kern/partition.c (grub_partition_probe): Initialize PART to
26161 NULL. Otherwise, when no partition map is registered, this returns
26162 a garbage.
26163
26164 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26165
26166 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26167 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26168 valid.
26169
26170 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26171
26172 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26173 information on each device, if it does not have partitions. Print
26174 "Device" instead of "Disk", because this function is not specific
26175 to disk devices.
26176
26177 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26178 static to ensure that it is put on the memory rather than a
26179 register.
26180
26181 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26182
26183 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26184 (grub_cat_init): Likewise.
26185 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26186 (options): Likewise.
26187 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26188 (grub_configfile_init): Likewise.
26189 * font/manager.c (GRUB_MOD_INIT): Likewise.
26190 * commands/help.c (GRUB_MOD_INIT): Likewise.
26191 (grub_help_init): Likewise.
26192 * normal/command.c (grub_command_init): Likewise.
26193 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26194 * disk/loopback.c (grub_loop_init): Likewise.
26195 (GRUB_MOD_INIT): Likewise.
26196 * commands/ls.c (grub_ls_init): Likewise.
26197 (GRUB_MOD_INIT): Likewise.
26198 (options): Likewise.
26199 * commands/boot.c (grub_boot_init): Likewise.
26200 (GRUB_MOD_INIT): Likewise.
26201 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26202 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26203 (GRUB_MOD_INIT): Likewise.
26204 * commands/cmp.c (grub_cmp_init): Likewise.
26205 (GRUB_MOD_INIT): Likewise.
26206
26207 * normal/arg.c: Use <> instead of "" to include header files.
26208 (SHORT_ARG_HELP): New macro.
26209 (SHORT_ARG_USAGE): Likewise.
26210 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26211 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26212 descriptions.
26213 (find_short): Check if C is 'h' or 'u' explicitly.
26214 (grub_arg_show_help): Use space characters instead of tabs. Treat
26215 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26216 are shown with --help and --usage only if they are not used for
26217 the command itself.
26218 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26219 'h' and 'u'.
26220
26221 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26222 const into "longarg". Change the type of "shortarg" to int.
26223
26224 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26225
26226 * boot/i386/pc/boot.S (boot_drive_check): New label.
26227
26228 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26229 macro.
26230
26231 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26232 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26233
26234 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26235
26236 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26237 When turning off Gate A20, skip the check and return immediately,
26238 because this is not fatal usually.
26239
26240 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26241
26242 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26243 be 0x7C00 instead of 0x8000.
26244
26245 * boot/i386/pc/pxeboot.S: Rewritten.
26246
26247 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26248 EXT_C.
26249 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26250 result.
26251
26252 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26253
26254 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26255 robustness. This routine now supports a BIOS call and System
26256 Control Port A to modify the gate A20.
26257
26258 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26259 Increased to 0x440.
26260
26261 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26262
26263 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26264 device path and resulting ihandle.
26265 (grub_ofdisk_close): dprintf the ihandle being closed.
26266 (grub_ofdisk_read): dprintf function parameters.
26267 * kern/mm.c (grub_mm_init_region): Likewise.
26268 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26269 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26270 size, and boot arguments.
26271 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26272 before loading into memory.
26273 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26274 before loading into memory.
26275
26276 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26277
26278 * kern/mm.c: Added much documentation.
26279 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26280 8, set to 5 instead of 8.
26281
26282 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26283
26284 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26285
26286 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26287 (grub_mkdevicemap_SOURCES): New variable.
26288
26289 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26290 lib/device.c of GRUB Legacy.
26291
26292 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26293
26294 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26295 instead of PATH is NULL.
26296
26297 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26298
26299 * commands/cmp.c (BUFFER_SIZE): New macro.
26300 (grub_cmd_cmp): Close the right file at the right time. Compare
26301 only data just read. Don't report files of different size as
26302 identical. Dynamically allocate buffers. Move variable
26303 declarations at the beginning of function.
26304
26305 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
26306
26307 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26308 reverse.
26309
26310 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26311
26312 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26313 when backspace is pressed at beginning of line.
26314
26315 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
26316
26317 * DISTLIST: Added genfslist.sh.
26318
26319 * normal/main.c (fs_module_list): New variable.
26320 (autoload_fs_module): New function.
26321 (read_fs_list): Likewise.
26322 (grub_normal_execute): Call read_fs_list.
26323
26324 * kern/fs.c (grub_fs_autoload_hook): New variable.
26325 (grub_fs_probe): Added support for auto-loading.
26326
26327 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26328 (grub_fs_module_list_t): New type.
26329
26330 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26331 (grub_fs_autoload_hook): New prototype.
26332
26333 * genfslist.sh: New file.
26334
26335 * genmk.rb: Added a rule to generate a filesystem list.
26336
26337 2005-06-30 Marco Gerards <metgerards@student.han.nl>
26338
26339 * configure.ac: Fix the test for cross-compiling.
26340
26341 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26342 define GRUB_UTIL anymore.
26343
26344 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26345 so this function works on other systems than just big endian.
26346 (load_modules): Likewise.
26347 (add_segments): Likewise.
26348
26349 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26350
26351 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26352 contains `l' modifier, get a long from va_arg().
26353
26354 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26355
26356 * kern/mm.c (grub_free): If the next free block which is being
26357 merged is the first free block, set the first block to the block
26358 being freed.
26359 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26360
26361 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26362
26363 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26364 `grub_ieee1275_chosen'.
26365
26366 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26367
26368 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26369 (grub_ieee1275_chosen): New variable.
26370 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26371 `chosen'.
26372 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26373 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26374 Rename first argument to `phandle' for consistency.
26375 (grub_ieee1275_get_property_length): Likewise.
26376 (grub_ieee1275_next_property): Likewise. Change type of first argument
26377 to grub_ieee1275_phandle_t.
26378 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26379 Move export next to declaration.
26380 (grub_ieee1275_chosen): New variable.
26381 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26382 Correct cosmetic typo.
26383 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26384 `grub_ieee1275_chosen'.
26385 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26386 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26387 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26388 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26389 `grub_ieee1275_chosen'.
26390
26391 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26392
26393 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26394 /chosen/bootargs.
26395 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26396 /chosen/bootargs as "variable=value" pairs.
26397
26398 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26399
26400 * include/grub/misc.h (grub_dprintf): New macro.
26401 (grub_real_dprintf): New prototype.
26402 (grub_strword): Likewise.
26403 (grub_iswordseparator): Likewise.
26404 * kern/misc.c (grub_real_dprintf): New function.
26405 (grub_strword): Likewise.
26406 (grub_iswordseparator): Likewise.
26407
26408 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26409
26410 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26411 (roundup): Remove macro.
26412 (grub_ieee1275_flags): Make static.
26413 (grub_ieee1275_realmode): Remove.
26414 (grub_ieee1275_test_flag): New function.
26415 (grub_ieee1275_set_flag): Likewise.
26416 (find_options): Rename to `grub_ieee1275_find_options'; update
26417 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26418 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26419 (cmain): New prototype.
26420 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26421 `grub_ieee1275_flags' directly.
26422 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26423 machine/biosdisk.h.
26424 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26425 Don't include grub/machine/init.h.
26426 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26427 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26428 Remove prototype.
26429 (grub_ieee1275_realmode): Likewise.
26430 (grub_ieee1275_flag): New enum.
26431 (grub_ieee1275_test_flag): New prototype.
26432 (grub_ieee1275_set_flag): New prototype.
26433 * include/grub/powerpc/ieee1275/init.h: Remove file.
26434 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26435 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26436 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26437 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26438 comment.
26439 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26440 `grub_ieee1275_test_flag'.
26441 (grub_ieee1275_encode_devname): Likewise.
26442
26443 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26444
26445 * include/grub/powerpc/ieee1275/ieee1275.h
26446 (grub_ieee1275_encode_devname): New prototype.
26447 (grub_ieee1275_get_filename): Likewise.
26448 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26449 function.
26450 (grub_set_prefix): Likewise.
26451 (grub_machine_init): Call grub_set_prefix.
26452 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26453 (grub_parse_type): New enum.
26454 (grub_ieee1275_get_devargs): New function.
26455 (grub_ieee1275_get_devname): Likewise.
26456 (grub_ieee1275_parse_args): Likewise.
26457 (grub_ieee1275_get_filename): Likewise.
26458 (grub_ieee1275_encode_devname): Likewise.
26459
26460 2005-03-30 Marco Gerards <metgerards@student.han.nl>
26461
26462 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26463 `grub_loader_unset'.
26464
26465 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26466
26467 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26468 instead of grub_ieee1275_interpret.
26469 (grub_halt_init): New function.
26470 (grub_halt_fini): Likewise.
26471 (GRUB_MOD_INIT): Correct message grammar.
26472 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26473 instead of grub_ieee1275_interpret.
26474 (grub_reboot_init): New function.
26475 (grub_reboot_fini): Likewise.
26476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26477 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26478 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26479 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26480 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26481 function.
26482 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26483 Add prototype.
26484 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26485 prototype.
26486 (grub_halt): Likewise.
26487 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26488 (cmain): Remove __attribute__((unused)).
26489 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26490 (grub_heap_len): Likewise.
26491 (grub_machine_fini): New function.
26492 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26493 (grub_halt): Likewise.
26494 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26495 function.
26496 * util/powerpc/ieee1275/misc.c: New file.
26497
26498 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26499
26500 * DISTLIST: New file.
26501 * gendistlist.sh: Likewise.
26502
26503 * Makefile.in (COMMON_DISTFILES): Removed.
26504 (BOOT_DISTFILES): Likewise.
26505 (CONF_DISTFILES): Likewise.
26506 (DISK_DISTFILES): Likewise.
26507 (FS_DISTFILES): Likewise.
26508 (INCLUDE_DISTFILES): Likewise.
26509 (KERN_DISTFILES): Likewise.
26510 (LOADER_DISTFILES): Likewise.
26511 (TERM_DISTFILES): Likewise.
26512 (UTIL_DISTFILES): Likewise.
26513 (DISTFILES): Likewise.
26514 (uninstall): Uninstall files in $(pkgdata_DATA).
26515 (DISTLIST): New target.
26516 (distdir): Use the contents of the file DISTLIST to get a list of
26517 distributed files.
26518
26519 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26520
26521 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26522 descriptor. This is ported from GRUB Legacy.
26523
26524 * gencmdlist.sh: Added an extra semicolon to make it work with
26525 old sed versions. Reported by Robert Bihlmeyer
26526 <robbe@orcus.priv.at>.
26527
26528 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
26529
26530 Automatic loading of commands is supported.
26531
26532 * normal/main.c (read_command_list): New function.
26533 (grub_normal_execute): Call read_command_list.
26534
26535 * normal/command.c (grub_register_command): Return zero or CMD.
26536 Allocate CMD->NAME from the heap.
26537 Initialize CMD->MODULE_NAME to zero.
26538 Find the same name as well. If the same command is found and it is
26539 a dummy command, overwrite members. If it is not a dummy command,
26540 return zero.
26541 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26542 (grub_command_find): If a dummy command is found, load a module
26543 and retry to find a command only once.
26544
26545 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26546 make sure that each command is loaded.
26547
26548 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26549 macro.
26550 (struct grub_command): Remove const from the member `name'.
26551 Add a new member `module_name'.
26552 (grub_register_command): Return grub_command_t.
26553
26554 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26555 sure that each command is loaded.
26556
26557 * genmk.rb (PModule::rule): Specify a module name without the
26558 suffix ".mod" to gencmdlist.sh.
26559
26560 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26561
26562 * gencmdlist.sh: New file.
26563
26564 * genmk.rb (PModule::rule): Generate a rule for a command list.
26565 Clean command.lst.
26566 Generate command.lst from $(COMMANDFILES).
26567
26568 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26569 (DATA): Added $(pkgdata_DATA).
26570 (install-local): Install files in $(pkgdata_DATA).
26571
26572 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26573
26574 * term/i386/pc/vga.c (debug_command): Removed.
26575 (GRUB_MOD_INIT): Do not register the command "debug".
26576
26577 From Hollis Blanchard:
26578 * commands/configfile.c: New file.
26579 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26580 commands/configfile.c.
26581 (pkgdata_MODULES): Added configfile.mod.
26582 (configfile_mod_SOURCES): New variable.
26583 (configfile_mod_CFLAGS): Likewise.
26584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26585 commands/configfile.c.
26586 (pkgdata_MODULES): Added configfile.mod.
26587 (configfile_mod_SOURCES): New variable.
26588 (configfile_mod_CFLAGS): Likewise.
26589 * util/grub-emu.c (main): Call grub_configfile_init and
26590 grub_configfile_fini.
26591 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26592 prototype.
26593 [GRUB_UTIL] (grub_configfile_fini): Likewise.
26594
26595 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26596
26597 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26598 address.
26599
26600 * commands/help.c (grub_cmd_help): Do not print newlines after
26601 the last command in print_command_help.
26602
26603 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26604
26605 * commands/default.h: New file.
26606 * commands/timeout.h: Likewise.
26607 * normal/context.c: Likewise.
26608
26609 * util/misc.c: Do not include sys/times.h.
26610 Include sys/time.h and grub/machine/time.h.
26611 (grub_get_rtc): Rewritten with gettimeofday.
26612
26613 * util/grub-emu.c (main): Call grub_default_init and
26614 grub_timeout_init before grub_normal_init, and call
26615 grub_timeout_fini and grub_default_fini after grub_main.
26616
26617 * util/console.c (grub_ncurses_checkkey): Return the read
26618 character or -1.
26619
26620 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26621 timeouts.
26622
26623 * normal/main.c (read_config_file): Push MENU. If this fails,
26624 print an error and wait for a user input.
26625 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26626 If a menu is empty or an error occurs, pop MENU.
26627 (grub_normal_execute): Pop and free MENU after grub_menu_run
26628 returns.
26629
26630 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26631
26632 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26633 include time.h.
26634 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26635 without GRUB_UTIL.
26636 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26637 time.h.
26638 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26639 without GRUB_UTIL.
26640
26641 * include/grub/normal.h (struct grub_menu_list): New struct.
26642 (grub_menu_list_t): New type.
26643 (struct grub_context): New struct.
26644 (grub_context_t): New type.
26645 (grub_register_command): Got rid of EXPORT_FUNC.
26646 (grub_unregister_command): Likewise.
26647 (grub_context_get): New prototype.
26648 (grub_context_get_current_menu): Likewise.
26649 (grub_context_push_menu): Likewise.
26650 (grub_context_pop_menu): Likewise.
26651 [GRUB_UTIL] (grub_default_init): Likewise.
26652 [GRUB_UTIL] (grub_default_fini): Likewise.
26653 [GRUB_UTIL] (grub_timeout_init): Likewise.
26654 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26655
26656 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26657 commands/timeout.c and normal/context.c.
26658 (pkgdata_MODULES): Added default.mod and timeout.mod.
26659 (normal_mod_SOURCES): Added normal/context.c.
26660 (default_mod_SOURCES): New variable.
26661 (default_mod_CFLAGS): Likewise.
26662 (timeout_mod_SOURCES): Likewise.
26663 (timeout_mod_CFLAGS): Likewise.
26664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26665 conf/i386-pc.rmk.
26666 (pkgdata_MODULES): Added default.mod and timeout.mod.
26667 (normal_mod_SOURCES): Added normal/context.c.
26668 (default_mod_SOURCES): New variable.
26669 (default_mod_CFLAGS): Likewise.
26670 (timeout_mod_SOURCES): Likewise.
26671 (timeout_mod_CFLAGS): Likewise.
26672
26673 * Makefile.in (all-local): Added $(MKFILES).
26674
26675 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26676
26677 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26678 (grub_emu_SOURCES): Likewise.
26679 (pkgdata_MODULES): Add `sun.mod'.
26680 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26682 `partmap/sun.c'.
26683 (pkgdata_MODULES): Add `sun.mod'.
26684 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26685 * include/grub/partition.h (grub_sun_partition_map_init): New
26686 prototype.
26687 (grub_sun_partition_map_fini): Likewise.
26688 * partmap/sun.c: New file.
26689 * util/grub-emu.c (main): Initialize and de-initialize the sun
26690 partitionmap support.
26691
26692 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26693
26694 This implements an Emacs-like menu entry editor.
26695
26696 * normal/menu_entry.c: New file.
26697
26698 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26699 characters to ASCII.
26700 (saved_char): New variable.
26701 (grub_ncurses_checkkey): Rewritten completely.
26702 (grub_ncurses_getkey): Likewise.
26703 (grub_ncurses_init): Call raw instead of cbreak.
26704
26705 * normal/menu.c (print_entry): Do not put a space.
26706 (init_page): Renamed to ...
26707 (grub_menu_init_page): ... this. All callers changed.
26708 (edit_menu_entry): Removed.
26709 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26710
26711 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26712
26713 * kern/misc.c (grub_vprintf): Call grub_refresh.
26714
26715 * normal/menu.c (DISP_LEFT): Renamed to ...
26716 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26717 * normal/menu.c (DISP_UP): Renamed to ...
26718 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26719 * normal/menu.c (DISP_RIGHT): Renamed to ...
26720 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26721 * normal/menu.c (DISP_DOWN): Renamed to ...
26722 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26723 * normal/menu.c (DISP_HLINE): Renamed to ...
26724 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26725 * normal/menu.c (DISP_VLINE): Renamed to ...
26726 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26727 * normal/menu.c (DISP_UL): Renamed to ...
26728 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26729 * normal/menu.c (DISP_UR): Renamed to ...
26730 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26731 * normal/menu.c (DISP_LL): Renamed to ...
26732 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26733 * normal/menu.c (DISP_LR): Renamed to ...
26734 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26735 * normal/menu.c (TERM_WIDTH): Renamed to ...
26736 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26737 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26738 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26739 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26740 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26741 * normal/menu.c (TERM_MARGIN): Renamed to ...
26742 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26743 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26744 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26745 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26746 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26747 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26748 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26749 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26750 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26751 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26752 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26753 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26754 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26755 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26756 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26757 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26758 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26759 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26760 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26761 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26762 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26763 All callers changed.
26764
26765 * include/grub/normal.h: New prototype.
26766
26767 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26768 normal/menu_entry.c.
26769 (normal_mod_SOURCES): Likewise.
26770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26771 (normal_mod_SOURCES): Likewise.
26772
26773 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26774
26775 * include/grub/normal.h (grub_halt_init): New prototype.
26776 (grub_halt_fini): Likewise.
26777 (grub_reboot_init): Likewise.
26778 (grub_reboot_fini): Likewise.
26779
26780 * util/grub-emu.c: Include signal.h.
26781 (main_env): New global variable.
26782 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26783 catch C-c.
26784 (grub_machine_fini): New function.
26785 (main): Call grub_halt_init and grub_reboot_init before
26786 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26787 Call setjmp with MAIN_ENV to go back afterwards.
26788 Call grub_machine_fini right before return.
26789
26790 * include/grub/util/misc.h: Include setjmp.h.
26791 (main_env): New prototype.
26792
26793 * include/grub/kernel.h (grub_machine_fini): New prototype.
26794 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26795 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26796
26797 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26798 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26799 * term/i386/pc/console.c (grub_console_fini): Likewise.
26800
26801 * util/i386/pc/misc.c: New file.
26802
26803 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26804 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26805 commands/i386/pc/reboot.c.
26806
26807 2005-02-14 Guillem Jover <guillem@hadrons.org>
26808
26809 * include/grub/dl.h (grub_dl_check_header): New prototype.
26810 (grub_arch_dl_check_header): Change return type to grub_err_t,
26811 remove size parameter and export function. Update all callers.
26812 * kern/dl.c (grub_dl_check_header): New function.
26813 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26814 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26815 are inside the core.
26816 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26817 independent ELF header checks.
26818 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26819 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26820 `grub_dl_check_header' instead of explicit checks. Check for the
26821 ELF type.
26822 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26823 `grub_dl_check_header' instead of explicit checks. Remove arch
26824 specific ELF header checks.
26825
26826 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26827 argument SIZE.
26828
26829 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26830
26831 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26832 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26833
26834 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26835
26836 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
26837 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
26838 (part_map_iterate): Clear `grub_errno' and return 0 if
26839 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
26840 * partmap/amiga.c (amiga_partition_map_iterate): Return
26841 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26842 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26843
26844 2005-02-01 Guillem Jover <guillem@hadrons.org>
26845
26846 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26847 help info.
26848
26849 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26850
26851 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26852 Removed prototype.
26853 (grub_rescue_cmd_linux): New prototype.
26854 (grub_rescue_cmd_initrd): Likewise.
26855 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26856 `bi_rec'.
26857 (grub_linux_release_mem): Release the memory for the initrd.
26858 (grub_load_linux): Renamed from this...
26859 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26860 Changed `entry' not to be static. Loop over memory regions to
26861 find another one when the default fails.
26862 (grub_rescue_cmd_initrd): New function.
26863 (grub_linux_init): Remove function.
26864 (grub_linux_fini): Likewise.
26865 (GRUB_MOD_INIT): Register `initrd'.
26866 (GRUB_MOD_FINI): Unregister `initrd'.
26867 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26868 Function removed.
26869 (grub_linux_normal_fini): Likewise.
26870 (GRUB_MOD_INIT): Register `initrd'.
26871 (GRUB_MOD_FINI): Unregister `initrd'.
26872
26873 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26874
26875 * commands/help.c: New file.
26876 * normal/arg.c (show_help): Renamed to...
26877 (grub_arg_show_help): ... this.
26878 * commands/i386/pc/halt.c: New file.
26879 * commands/i386/pc/reboot.c: Likewise.
26880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26881 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26882 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26883 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26884 variables.
26885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26886 `commands/help.c'.
26887 (pkgdata_MODULES): Add `help.mod'.
26888 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26889 * grub/i386/pc/init.h (grub_reboot): New prototype.
26890 (grub_halt): Likewise.
26891 * include/grub/normal.h (grub_arg_show_help): New prototype.
26892 (grub_help_init): Likewise.
26893 (grub_help_fini): Likewise.
26894 * util/grub-emu.c (main): Initialize and deinitialize the help
26895 command.
26896
26897 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26898
26899 * normal/command.c (grub_command_init): Fixed the description of
26900 the `set' and `unset' commands.
26901
26902 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26903
26904 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26905 function.
26906 * commands/ieee1275/halt.c: New file.
26907 * commands/ieee1275/reboot.c: Likewise.
26908 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26909 `__attribute__ ((unused))'. Some GCS related fixed.
26910 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26911 (grub_suspend_fini): Likewise.
26912 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26913 and `halt.mod'.
26914 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26915 (halt_mod_CFLAGS): New variables.
26916 * include/grub/powerpc/ieee1275/ieee1275.h
26917 (grub_ieee1275_interpret): New prototype.
26918
26919 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26920
26921 * include/grub/misc.h (memmove): New prototype.
26922 (memcpy): Likewise.
26923
26924 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26925
26926 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26927 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26928
26929 2005-01-22 Marco Gerards <metgerards@student.han.nl>
26930
26931 * kern/misc.c (grub_strndup): Function rewritten.
26932
26933 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26934
26935 * normal/menu.c (TERM_WIDTH): Macro redefined.
26936 (TERM_TOP_BORDER_Y): Likewise.
26937 (draw_border): Replaced while-loop by a for-loop. Make the number
26938 of lines consistent with the number of lines displayed in
26939 print_entries. Added a margin below the rectangle.
26940 (print_entry): Make the entry fit in the rectangle.
26941 (print_entries): Display the scroll arrows next to the right
26942 border.
26943
26944 2005-01-21 Marco Gerards <metgerards@student.han.nl>
26945
26946 * fs/minix.c (grub_minix_find_file): Reserve more space for
26947 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26948 `grub_strncpy' to copy `path' into it.
26949
26950 2005-01-21 Marco Gerards <metgerards@student.han.nl>
26951
26952 Add the loopback device, a device via which files can be accessed
26953 as devices.
26954
26955 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26956 (pkgdata_MODULES): Add loopback.mod.
26957 (loopback_mod_SOURCES): New variable.
26958 (loopback_mod_CFLAGS): Likewise.
26959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26960 `disk/loopback.c'.
26961 (pkgdata_MODULES): Add loopback.mod.
26962 (loopback_mod_SOURCES): New variable.
26963 (loopback_mod_CFLAGS): Likewise.
26964 * disk/loopback.c: new file.
26965 * include/grub/normal.h (grub_loop_init): New prototype.
26966 (grub_loop_fini): New prototype.
26967 * util/grub-emu.c (main): Initialize and de-initialize loopback
26968 support.
26969 * include/grub/disk.h (grub_disk_dev_id): Add
26970 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26971
26972 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26973
26974 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26975 function.
26976 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26977 (suspend_mod_SOURCES): New variable.
26978 (suspend_mod_CFLAGS): Likewise.
26979 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26980 New prototype.
26981 * commands/ieee1275/suspend.c: New file.
26982
26983 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26984
26985 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
26986 ((unused))' to `__attribute__ ((used))'.
26987 (GRUB_MOD_FINI): Likewise.
26988 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26989 * genmk.rb (PModule): Assign space to common symbols when linking
26990 modules.
26991
26992 2005-01-20 Marco Gerards <metgerards@student.han.nl>
26993
26994 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26995 `unsigned' arguments to `grub_size_t'.
26996 (grub_malloc): Likewise.
26997 (grub_realloc): Likewise.
26998 (grub_memalign): Likewise.
26999 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27000 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27001 * util/misc.c (grub_malloc): Likewise.
27002 (grub_realloc): Likewise.
27003 * kern/mm.c (get_header_from_pointer): Change the casts to
27004 `unsigned' into a cast to `grub_size_t'.
27005
27006 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27007 point to `currnode' when `currnode' is changed.
27008
27009 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27010 Schottelius <nico-linux@schottelius.org>.
27011
27012 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27013
27014 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27015 (note_path): Remove variable.
27016 (GRUB_IEEE1275_NOTE_NAME): New macro.
27017 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27018 (grub_ieee1275_note_hdr): New structure.
27019 (grub_ieee1275_note_desc): Likewise.
27020 (grub_ieee1275_note): Likewise.
27021 (load_note): Remove `dir' argument. All callers updated. Remove
27022 `note_img' and `path'. Do not load a file from `note_path'.
27023 Initialize a struct grub_ieee1275_note and write that to `out'.
27024 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27025
27026 2005-01-05 Marco Gerards <metgerards@student.han.nl>
27027
27028 * util/misc.c (grub_util_read_image): Revert last change. It
27029 called `grub_util_read_at', which seeks from the beginning of the
27030 file.
27031
27032 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27033
27034 * TODO: Add note about endianness in grub-mkimage.
27035 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27036 section.
27037 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27038 (grub_mkimage_SOURCES): New target.
27039 * include/grub/kernel.h (grub_start_addr): Remove variable.
27040 (grub_end_addr): Likewise.
27041 (grub_total_module_size): Likewise.
27042 (grub_kernel_image_size): Likewise.
27043 (GRUB_MODULE_MAGIC): New constant.
27044 (grub_module_info): New structure.
27045 (grub_arch_modules_addr): New prototype.
27046 (grub_get_end_addr): Remove prototype.
27047 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27048 * include/grub/powerpc/ieee1275/kernel.h: New file.
27049 * include/grub/util/misc.h (grub_util_get_fp_size): New
27050 prototype.
27051 (grub_util_read_at): Likewise.
27052 (grub_util_write_image_at): Likewise.
27053 * kern/main.c (grub_get_end_addr): Remove function.
27054 (grub_load_modules): Call grub_arch_modules_addr instead of using
27055 grub_end_addr. Look for a grub_module_info struct in memory. Use
27056 the grub_module_info fields instead of calling grub_get_end_addr
27057 as loop conditions. Move grub_add_unused_region code here.
27058 (grub_add_unused_region): Remove function.
27059 * kern/i386/pc/init.c: Include grub/cache.h.
27060 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27061 one call to add_mem_region.
27062 (grub_arch_modules_addr): New function.
27063 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27064 (grub_total_module_size): Likewise.
27065 Include grub/machine/kernel.h.
27066 (grub_arch_modules_addr): New function.
27067 * util/grub-emu.c (grub_end_addr): Remove variable.
27068 (grub_total_module_size): Likewise.
27069 (grub_arch_modules_addr): New function.
27070 * util/misc.c: Include unistd.h.
27071 (grub_util_get_fp_size): New function.
27072 (grub_util_read_at): Likewise.
27073 (grub_util_write_image_at): Likewise.
27074 (grub_util_read_image): Call grub_util_read_at.
27075 (grub_util_write_image): Call grub_util_write_image_at.
27076 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27077 additional memory in kernel_img for a struct grub_module_info.
27078 Fill in that grub_module_info.
27079 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27080
27081 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27082
27083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27084 New function.
27085 * include/grub/powerpc/ieee1275/ieee1275.h
27086 (grub_ieee1275_milliseconds): New prototype.
27087 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27088 Change to 1000.
27089 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27090 grub_ieee1275_milliseconds.
27091
27092 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27093
27094 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27095 variable.
27096 (find_options): New function.
27097 (cmain): Call find_options.
27098 * include/grub/powerpc/ieee1275/ieee1275.h
27099 (grub_ieee1275_realmode): New extern variable.
27100 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27101 grub_map if grub_ieee1275_realmode is false.
27102
27103 2004-12-29 Marco Gerards <metgerards@student.han.nl>
27104
27105 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27106 lines are inserted and make it work like readline. Reported by
27107 Vincent Pelletier <subdino2004@yahoo.fr>.
27108
27109 2004-12-28 Marco Gerards <metgerards@student.han.nl>
27110
27111 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27112
27113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27114 `kern/powerpc/cache.S'.
27115
27116 2004-12-27 Marco Gerards <metgerards@student.han.nl>
27117
27118 * genmk.rb: Handle the `Program' class in the main loop. Written
27119 by Johan Rydberg <jrydberg@gnu.org>.
27120 (Program): New class.
27121 (programs): New variable.
27122 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27123 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27124 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27125 (help_arch): Function removed.
27126 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27127 `powerpc/libgcc.h' and `loader.h'.
27128 (pkgdata_PROGRAMS): New variable.
27129 (sbin_UTILITIES): Variable removed.
27130 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27131 (grubof_SOURCES): Variable re-defined so it only includes the
27132 core functionality.
27133 (grubof_CFLAGS): Remove `-DGRUBOF'.
27134 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27135 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27136 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27137 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27138 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27139 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27140 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27141 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27142 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27143 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27144 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27145 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27146 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27147 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27148 (pc_mod_CFLAGS): New variables.
27149 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27150 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27151 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27152 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27153 Moved from here...
27154 * include/grub/i386/pc/init.h (grub_os_area_addr)
27155 (rub_os_area_size): ... to here.
27156 * include/grub/powerpc/ieee1275/ieee1275.h
27157 (grub_ieee1275_entry_fn): Export symbol.
27158 * include/grub/powerpc/ieee1275/init.h: New file.
27159 * include/grub/powerpc/libgcc.h: Likewise.
27160 * include/grub/cache.h: Likewise.
27161 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27162 <hollis@penguinppc.org>.
27163 * kern/dl.c: Include <grub/cache.h>.
27164 (grub_dl_flush_cache): New function.
27165 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27166 for this module.
27167 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27168 (grub_console_init): Removed prototypes.
27169 (grub_machine_init): Don't initialize the modules anymore.
27170 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27171 static.
27172 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27173 Macro undef removed.
27174 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27175 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27176 relocation `R_PPC_REL32'. Return an error when the relocation is
27177 unknown.
27178 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27179 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27180 * util/misc.c (grub_arch_sync_caches): Likewise.
27181
27182 2004-12-19 Marco Gerards <metgerards@student.han.nl>
27183
27184 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27185 `symlist.c', add `grubof_symlist.c'.
27186 (symlist.c): Variable removed.
27187 (grubof_HEADERS): Variable added.
27188 (grubof_symlist.c): New target.
27189 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27190 `kernel_img_HEADERS'.
27191 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27192 * kern/powerpc/dl.c: New file.
27193 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27194 Function removed.
27195 (grub_arch_dl_relocate_symbols): Likewise.
27196 (grub_register_exported_symbols): Likewise.
27197
27198 2004-12-13 Marco Gerards <metgerards@student.han.nl>
27199
27200 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27201 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27202 to fail instead. Reported by Vincent Pelletier
27203 <subdino2004@yahoo.fr>.
27204
27205 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27206 it is not allocated. Reported by Vincent Pelletier
27207 <subdino2004@yahoo.fr>.
27208
27209 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27210 output so the output looks better.
27211
27212 2004-12-04 Marco Gerards <metgerards@student.han.nl>
27213
27214 Modulize the partition map support and add support for the amiga
27215 partition map.
27216
27217 * commands/ls.c: Include <grub/partition.h> instead of
27218 <grub/machine/partition.h>.
27219 * kern/disk.c: Likewise.
27220 * kern/rescue.c: Likewise.
27221 * loader/i386/pc/chainloader.c: Likewise.
27222 * normal/cmdline.c: Likewise.
27223 * kern/powerpc/ieee1275/init.c: Likewise.
27224 (grub_machine_init): Call `grub_pc_partition_map_init',
27225 `grub_amiga_partition_map_init' and
27226 `grub_apple_partition_map_init'.
27227 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27228 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27229 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27230 `partition.h' and `pc_partition.h'.
27231 (grub_setup_SOURCES): Remove
27232 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27233 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27234 (grub_emu_SOURCES): Likewise.
27235 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27236 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27237 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27239 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27240 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27241 (grubof_SOURCES): Likewise.
27242 * disk/i386/pc/partition.c: File removed.
27243 * disk/powerpc/ieee1275/partition.c: Likewise.
27244 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27245 * include/grub/i386/pc/partition.h: Likewise.
27246 * kern/partition.c: New file.
27247 * partmap/amiga.c: Likewise.
27248 * partmap/apple.c: Likewise.
27249 * partmap/pc.c: Likewise.
27250 * include/grub/partition.h: Likewise..
27251 * include/grub/pc_partition.h: Likewise.
27252 * util/grub-emu.c: Include <grub/partition.h> instead of
27253 <grub/machine/partition.h>.
27254 (main): Call `grub_pc_partition_map_init',
27255 `grub_amiga_partition_map_init' and
27256 `grub_apple_partition_map_init' and deinitialize afterwards.
27257 * util/i386/pc/biosdisk.c: Include `#include
27258 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27259 `<grub/machine/partition.h>'.
27260 * util/i386/pc/grub-setup.c: Likewise.
27261 * util/i386/pc/biosdisk.c: Likewise.
27262 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27263 partition information in case of a PC partition.
27264 * util/i386/pc/grub-setup.c: Include `#include
27265 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27266 `<grub/machine/partition.h>'.
27267 (setup): Only access the PC specific partition information in case
27268 of a PC partition.
27269
27270 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
27271
27272 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27273 (grub_longjmp): Likewise.
27274 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27275 20.
27276 * normal/powerpc/setjmp.S: New file.
27277 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27278 `normal/powerpc/setjmp.S'.
27279 (grubof_CFLAGS): Add `-DGRUBOF'.
27280 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27281 [GRUB_UTIL && !GRUBOF].
27282
27283 2004-11-16 Marco Gerards <metgerards@student.han.nl>
27284
27285 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27286 property named `name'. Correctly handle the error returned by
27287 `grub_ieee1275_finddevice' if a device can not be opened.
27288
27289 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27290
27291 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27292 `actual' for negativity.
27293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27294 kern/fshelp.c.
27295
27296 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27297
27298 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27299 (PAGE_OFFSET): New macro.
27300 (CRTC_ADDR_PORT): Likewise.
27301 (CRTC_DATA_PORT): Likewise.
27302 (START_ADDR_HIGH_REGISTER): Likewise.
27303 (START_ADDR_LOW_REGISTER): Likewise.
27304 (GRAPHICS_ADDR_PORT): Likewise.
27305 (GRAPHICS_DATA_PORT): Likewise.
27306 (READ_MAP_REGISTER): Likewise.
27307 (INPUT_STATUS1_REGISTER): Likewise.
27308 (INPUT_STATUS1_VERTR_BIT): Likewise.
27309 (page): New variable.
27310 (wait_vretrace): New function.
27311 (set_read_map): Likewise.
27312 (set_start_address): Likewise.
27313 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27314 the right page.
27315 (check_vga_mem): Take the page into account.
27316 (write_char): Likewise.
27317 (write_cursor): Likewise.
27318 (scroll_up): Likewise. Copy the page to the page that is not
27319 shown and switch between both pages.
27320 (grub_vga_putchar): Fix off by one error.
27321 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27322 account.
27323
27324 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27325
27326 Add support for iso9660 (including rockridge).
27327
27328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27329 (iso9660_mod_SOURCES): New variable.
27330 (iso9660_mod_CFLAGS): Likewise.
27331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27332 * include/grub/fs.h (grub_iso9660_init): New prototype.
27333 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27334 * fs/iso9660.c: New file.
27335
27336 * include/grub/misc.h (grub_strncat): New prototype.
27337 * kern/misc.c (grub_strncat): New function.
27338
27339 * fs/hfs.c (grub_hfs_mount): Translate the error
27340 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27341 * fs/jfs.c (grub_jfs_mount): Likewise.
27342 * fs/ufs.c (grub_ufs_mount): Likewise.
27343
27344 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27345
27346 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27347 which initialized BAT registers.
27348 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27349 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27350 Move from here...
27351 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27352 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27353 ... to here.
27354 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27355 (grub_mapclaim): Likewise.
27356 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27357 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27358 hand.
27359
27360 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27361
27362 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27363 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27364 -ffreestanding and -msoft-float.
27365
27366 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27367
27368 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27369 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27370 set in grub_ieee1275_flags.
27371
27372 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27373
27374 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27375 prototype.
27376 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27377 grub_console_init first.
27378 Change the memory range used for grub_ieee1275_claim and
27379 grub_mm_init_region.
27380 Print an error message if the claim fails.
27381 Include <grub/misc.h>.
27382
27383 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27384
27385 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27386 Call grub_children_iterate for device nodes of type `scsi',
27387 `ide', or `ata'.
27388 (grub_ofdisk_open): Remove manual device alias resolution.
27389 Fix memory leak when device cannot be opened.
27390 * include/grub/powerpc/ieee1275/ieee1275.h
27391 (grub_children_iterate): New prototype.
27392 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27393 New function.
27394 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27395 Return -1 if args.size was -1.
27396
27397 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27398
27399 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27400 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27401 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27402 Open Firmware's memory for it; claim memory from _start to _end.
27403 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27404 (_end): New extern.
27405 (_start): Zero BSS from __bss_start to _end.
27406 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27407 New extern.
27408 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27409
27410 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27411
27412 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27413 -1 if args.base was -1.
27414
27415 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27416
27417 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27418 escape sequence instead of a literal ^L. Also call
27419 grub_ofconsole_gotoxy.
27420
27421 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27422
27423 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27424 void * arguments to grub_addr_t. All callers updated. Also make
27425 the `result' argument optional.
27426 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27427 All callers updated.
27428
27429 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27430
27431 * commands/ls.c (grub_ls_list_files): Use the string following the
27432 initial ')', if present, as the filesystem path.
27433 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27434
27435 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27436
27437 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27438
27439 Make the source code of the menu interface more readable.
27440
27441 * normal/menu.c: Include grub/mm.h.
27442 (TERM_WIDTH): New macro.
27443 (TERM_HEIGHT): Likewise.
27444 (TERM_INFO_HEIGHT): Likewise.
27445 (TERM_MARGIN): Likewise.
27446 (TERM_SCROLL_WIDTH): Likewise.
27447 (TERM_TOP_BORDER_Y): Likewise.
27448 (TERM_LEFT_BORDER_X): Likewise.
27449 (TERM_BORDER_WIDTH): Likewise.
27450 (TERM_MESSAGE_HEIGHT): Likewise.
27451 (TERM_BORDER_HEIGHT): Likewise.
27452 (TERM_NUM_ENTRIES): Likewise.
27453 (TERM_FIRST_ENTRY_Y): Likewise.
27454 (TERM_ENTRY_WIDTH): Likewise.
27455 (TERM_CURSOR_X): Likewise.
27456 (draw_border): Use macros instead of magic numbers.
27457 (print_entry): Likewise.
27458 (print_entries): Likewise.
27459 (run_menu): Likewise. Also, handle the key 'e'.
27460 (run_menu_entry): Ignore empty command lines.
27461 (print_message): Added a new argument EDIT. If EDIT is true,
27462 print a different message.
27463 (init_page): Likewise.
27464 (edit_menu_entry): New function. Not implemented yet.
27465
27466 2004-09-17 Marco Gerards <metgerards@student.han.nl>
27467
27468 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27469 can be loaded from normal mode.
27470
27471 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27472 `multiboot.mod'.
27473 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27474 (multiboot_mod_CFLAGS): New variables.
27475 * loader/i386/pc/linux_normal.c: New file.
27476 * loader/i386/pc/multiboot_normal.c: Likewise.
27477
27478 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27479 attribute `unused'.
27480
27481 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27482 `fdiro' to read the mode information from instead of `diro'.
27483
27484 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27485 looking up a symlink.
27486
27487 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27488 macro.
27489 * normal/command.c (grub_command_execute): Don't parse the
27490 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27491 flags of the command.
27492
27493 * normal/menu.c (grub_menu_run): Fix typo.
27494
27495 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27496
27497 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27498
27499 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27500 `y + 1' instead of `y - 1'.
27501
27502 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
27503
27504 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27505
27506 From Hollis Blanchard <hollis@penguinppc.org>:
27507 * kern/misc.c (memmove): New alias for grub_memmove.
27508 (memcmp): New alias for grub_memcmp.
27509 (memset): New alias for grub_memset.
27510 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27511 Change "int handle" to "grub_ieee1275_phandle_t handle".
27512 * include/grub/powerpc/ieee1275/ieee1275.h
27513 (grub_ieee1275_get_property): Likewise.
27514
27515 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27516
27517 Added normal mode command `chainloader' as module chain.mod, which
27518 depends on normal.mod and _chain.mod.
27519
27520 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27521 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27522 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27523 Deleted prototype.
27524 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27525 but arguments parsing moved to ...
27526 (grub_chainloader_cmd): ... here. New function.
27527 * include/grub/i386/pc/chainloader.h: New file.
27528 * loader/i386/pc/chainloader_normal.c: Likewise.
27529
27530 2004-09-11 Marco Gerards <metgerards@student.han.nl>
27531
27532 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27533 (grub_mkimage_LDFLAGS): Likewise.
27534 (grub_emu_SOURCES): Likewise.
27535 (kernel_img_HEADERS): Added fshelp.h.
27536 * fs/ext2.c: Include <grub/fshelp.h>.
27537 (FILETYPE_REG): New macro.
27538 (FILETYPE_INO_REG): Likewise.
27539 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27540 Changed all users.
27541 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27542 all users.
27543 (grub_fshelp_node): New struct.
27544 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27545 to a pointer.
27546 (grub_ext2_get_file_block): Removed function.
27547 (grub_ext2_read_block): New function.
27548 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27549 This function was written.
27550 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27551 (grub_ext2_find_file): Removed function.
27552 (grub_ext2_read_symlink): New function.
27553 (grub_ext2_iterate_dir): Likewise.
27554 (grub_ext2_open): Rewritten.
27555 (grub_ext2_dir): Rewritten.
27556 * include/grub/fshelp.h: New file.
27557 * fs/fshelp.c: Likewise.
27558
27559 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27560
27561 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27562 (print_message): Add a missing newline.
27563 (run_menu): Added timeout support.
27564 (run_menu_entry): New local function.
27565 (grub_menu_run): Added support for booting.
27566
27567 * kern/loader.c (grub_loader_is_loaded): New function.
27568
27569 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27570 (grub_get_rtc): Exported.
27571
27572 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27573 (grub_get_rtc): Exported.
27574
27575 * include/grub/normal.h (struct grub_command_list): Remove
27576 constant from the member `command'.
27577
27578 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27579
27580 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27581
27582 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27583
27584 2004-08-28 Marco Gerards <metgerards@student.han.nl>
27585
27586 Add support for the JFS filesystem.
27587
27588 * fs/jfs.c: New file.
27589 * include/grub/fs.h (grub_jfs_init): New prototype.
27590 (grub_jfs_fini): New prototype.
27591 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27592 (grub_emu_SOURCES): Likewise.
27593 (pkgdata_MODULES): Add jfs.mod.
27594 (jfs_mod_SOURCES): New variable.
27595 (jfs_mod_CFLAGS): Likewise.
27596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27597 (grubof_SOURCES): Likewise.
27598 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27599
27600 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27601 endian to the host endian.
27602 (grub_fat_utf16_to_utf8): Move function from there...
27603 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
27604 the endianness of the source string anymore.
27605 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27606
27607 2004-08-24 Marco Gerards <metgerards@student.han.nl>
27608
27609 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27610 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27611 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27612 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
27613
27614 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27615 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27616 for `node_found' and `it_dir'.
27617 (grub_hfs_dir): Add prototype for `dir_hook'.
27618
27619 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27620 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27621 and `indir32' to silence a gcc warning.
27622
27623 * include/grub/fs.h (grub_hfs_init): New prototype.
27624 (grub_hfs_fini): Likewise.
27625
27626
27627 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27628
27629 Each disk device has its own id now. This is useful to make use
27630 of multiple disk devices.
27631
27632 * include/grub/disk.h (grub_disk_dev_id): New enum.
27633 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27634 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27635
27636 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27637 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27638
27639 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27640 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27641
27642 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27643 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27644
27645 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27646 "id" which is used by the cache manager.
27647
27648 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27649 of just "GRUB".
27650
27651 2004-08-18 Marco Gerards <metgerards@student.han.nl>
27652
27653 * fs/hfs.c: New file.
27654 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27655 (grub_emu_SOURCES): Likewise.
27656 (pkgdata_MODULES): Add hfs.mod.
27657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27658 (grubof_SOURCES): Likewise.
27659 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27660
27661 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27662 * kern/misc.c (grub_strncasecmp): Add function.
27663
27664 2004-08-14 Marco Gerards <metgerards@student.han.nl>
27665
27666 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27667 with parentheses.
27668
27669 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27670 (grub_ext2_dir): In case the directory entry type is unknown, read
27671 it from the inode.
27672
27673 2004-08-02 Peter Bruin <pjbruin@dds.nl>
27674
27675 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27676 grub_load_linux instead of grub_rescue_cmd_linux as second
27677 argument of grub_rescue_register_command.
27678
27679 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27680
27681 2004-07-27 Marco Gerards <metgerards@student.han.nl>
27682
27683 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27684 function.
27685 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27686 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27687 `loader/powerpc/ieee1275/linux.c',
27688 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27689 * include/grub/powerpc/ieee1275/ieee1275.h
27690 (grub_ieee1275_release): New prototype.
27691 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27692 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27693 normal, boot, linux and linux_normal.
27694 * loader/powerpc/ieee1275/linux.c: New file.
27695 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27696
27697 2004-07-12 Marco Gerards <metgerards@student.han.nl>
27698
27699 * normal/arg.c (grub_arg_parse): Correct error handling after
27700 reallocating the argumentlist (check if `argl' is not null instead
27701 of checking if `args' is not null).
27702 * kern/mm.c (grub_realloc): Return the same pointer when using the
27703 same region, instead of returning the header address.
27704
27705 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27706
27707 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27708 one block instead of two when looking for the initial partition.
27709 (grub_partition_probe): Initialize the local variable `p' with 0.
27710 Use base 10 for the grub_strtoul call.
27711 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27712 need for one local variable.
27713 (grub_strtoul): Don't add the new value to `num', instead of that
27714 just assign it.
27715
27716 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27717
27718 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27719 (pxeboot_img_SOURCES): New variable.
27720 (pxeboot_img_ASFLAGS): Likewise.
27721 (pxeboot_img_LDFLAGS): Likewise.
27722 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27723 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27724 <lode_leroy@hotmail.com>.
27725
27726 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27727
27728 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27729 there was no input.
27730
27731 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27732
27733 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27734 the history buffer logic.
27735
27736 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27737
27738 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27739 (FILETYPE_INO_SYMLINK): New macros.
27740 (grub_ext2_find_file): Check if the node is a directory using the
27741 inode stat information instead of using the filetype in the
27742 dirent. Exclude the first character of an absolute symlink.
27743 (grub_ext2_dir): Mask out the filetype part of the mode member of
27744 the inode.
27745
27746 2004-05-24 Marco Gerards <metgerards@student.han.nl>
27747
27748 Add support for UFS version 1 and 2. Add support for the minix
27749 filesystem version 1 and 2, both the variants with 14 and 30 long
27750 filenames.
27751
27752 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27753 fs/minix.c.
27754 (grub_emu_SOURCES): Likewise.
27755 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27756 (ufs_mod_SOURCES): New variable.
27757 (ufs_mod_CFLAGS): Likewise.
27758 (minix_mod_SOURCES): Likewise.
27759 (minix_mod_CFLAGS): Likewise.
27760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27761 fs/minix.c.
27762 (grubof_SOURCES): Likewise.
27763 * fs/ufs.c: New file.
27764 * fs/minix.c: New file.
27765 * include/grub/fs.h (grub_ufs_init): New prototype.
27766 (grub_ufs_fini): Likewise.
27767 (grub_minix_init): Likewise.
27768 (grub_minix_fini): Likewise.
27769 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27770 minix fs.
27771
27772 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27773
27774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27775 commands/ls.c, commands/terminal.c, commands/boot.c,
27776 commands/cmp.c and commands/cat.c.
27777 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27778
27779 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27780 "env.h"
27781
27782 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27783
27784 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27785 and grub_, respectively. Because the conversion is trivial and
27786 mechanical, I omit the details here. Please refer to the CVS
27787 if you need more information.
27788
27789 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27790
27791 * include/pupa: Renamed to ...
27792 * include/grub: ... this.
27793 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27794 * util/i386/pc/grub-mkimage.c: ... this.
27795 * util/i386/pc/pupa-setup.c: Renamed to ...
27796 * util/i386/pc/grub-setup.c: ... this.
27797 * util/pupa-emu.c: Renamed to ...
27798 * util/grub-emu.c: ... this.
27799
27800 2004-03-29 Marco Gerards <metgerards@student.han.nl>
27801
27802 Add support for the newworld apple macintosh (PPC). This has been
27803 tested on the powerbook 2000 only. It only adds support for
27804 generic ieee1275 functions, console and disk support. This should
27805 be easy to port to other architectures with support for Open
27806 Firmware.
27807
27808 * configure.ac: Accept the powerpc as host_cpu. In the case of
27809 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27810 specific tests are only executed while building for the i386.
27811 Inverse test for crosscompile.
27812 * genmk.rb (Utility): Allow assembler files.
27813 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27814 * conf/powerpc-ieee1275.rmk: New file.
27815 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27816 * disk/powerpc/ieee1275/partition.c: Likewise.
27817 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27818 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27819 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27820 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27821 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27822 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27823 * include/pupa/powerpc/ieee1275/loader.h
27824 * include/pupa/powerpc/setjmp.h: Likewise.
27825 * include/pupa/powerpc/types.h: Likewise.
27826 * kern/powerpc/ieee1275/init.c: Likewise.
27827 * kern/powerpc/ieee1275/openfw.c: Likewise.
27828 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27829
27830 These files were written by Johan Rydberg
27831 (jrydberg@night.trouble.net) and I only modified them slightly.
27832
27833 * boot/powerpc/ieee1275/cmain.c: New file.
27834 * boot/powerpc/ieee1275/crt0.S: Likewise.
27835 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27836 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27837
27838 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27839
27840 * Makefile.in: Update copyright.
27841 * genmodsrc.sh: Likewise.
27842 * gensymlist.sh: Likewise.
27843 * term/i386/pc/vga.c: Indent correctly.
27844
27845 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27846 bugreporting address.
27847 * util/i386/pc/pupa-setup.c (usage): Likewise,
27848 (main): Call pupa_ext2_init and pupa_ext2_fini.
27849
27850 * fs/fat.c (log2): Renamed to ...
27851 (fat_log2): ... this.
27852 All callers changed.
27853 * kern/misc.c (memcpy): Alias to pupa_memmove.
27854 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27855 lvalue cast.
27856 * util/console.c (pupa_ncurses_fini): Return 0.
27857
27858 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27859 Move fail label here.
27860 [__GNU__]: Don't warn when using stat.
27861 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27862 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27863 long int. Use strtol instead of strtoul.
27864
27865 2004-03-14 Marco Gerards <metgerards@student.han.nl>
27866
27867 * commands/boot.c: New file.
27868 * commands/cat.c: Likewise.
27869 * commands/cmp.c: Likewise.
27870 * commands/ls.c: Likewise.
27871 * commands/terminal.c: Likewise.
27872 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27873 (pupa_register_command): Changed interface to match the new
27874 argument parser.
27875 (pupa_command_execute): Changed (almost rewritten) so it uses
27876 pupa_split_command. Added support for setting variables using the
27877 syntax `foo=bar'.
27878 (rescue_command): Changed to work with the new argument parser.
27879 (terminal_command): Moved from here to commands/terminal.c.
27880 (set_command): New function.
27881 (unset_command): New function.
27882 (insmod_command): New function.
27883 (rmmod_command): New function.
27884 (lsmod_command): New function.
27885 (pupa_command_init): Don't initialize the command terminal
27886 anymore. Initialize the commands set, unset, insmod, rmmod and
27887 lsmod.
27888 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27889 (kernel_img_HEADERS): Add arg.h and env.h.
27890 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27891 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27892 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27893 normal/arg.c.
27894 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27895 terminal.mod.
27896 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27897 (boot_mod_SOURCES): New variable.
27898 (terminal_mod_SOURCES): Likewise.
27899 (ls_mod_SOURCES): Likewise.
27900 (cmp_mod_SOURCES): Likewise.
27901 (cat_mod_SOURCES): Likewise.
27902
27903 * normal/arg.c: New file.
27904 * kern/env.c: Likewise.
27905 * include/pupa/arg.h: Likewise.
27906 * include/pupa/env.h: Likewise.
27907 * font/manager.c (font_command): Changed to match argument parsing
27908 interface changes.
27909 (PUPA_MOD_INIT): Likewise.
27910 * hello/hello.c (pupa_cmd_hello): Likewise.
27911 (PUPA_MOD_INIT): Likewise.
27912 * include/pupa/disk.h: Include <pupa/device.h>.
27913 (pupa_print_partinfo): New prototype.
27914 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27915 (pupa_dl_get_prefix): Likewise.
27916 * include/pupa/misc.h: Include <pupa/err.h>.
27917 (pupa_isgraph): New prototype.
27918 (pupa_isdigit): Likewise.
27919 (pupa_split_cmdline): Likewise.
27920 * include/pupa/normal.h: Include <pupa/arg.h>.
27921 (pupa_command): Changed the prototype of the member `func' to
27922 match the argument parsing interface. Added member `options'.
27923 (pupa_register_command): Updated to match function.
27924 (pupa_arg_parse): New prototype.
27925 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27926 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27927 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27928 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27929 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27930 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27931 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27932 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27933 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27934 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27935 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27936 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27937 * kern/disk.c: Include <pupa/file.h>.
27938 (pupa_print_partinfo): New function.
27939 * kern/dl.c: Include <pupa/env.h>.
27940 (pupa_dl_dir): Variable removed.
27941 (pupa_dl_load): Use the environment variable `prefix' instead of
27942 the variable pupa_dl_dir.
27943 (pupa_dl_set_prefix): Function removed.
27944 (pupa_dl_get_prefix): Likewise.
27945 * kern/i386/pc/init.c: Include <pupa/env.h>.
27946 (pupa_machine_init): Use the environment variable `prefix' instead of
27947 using pupa_dl_set_prefix to set the prefix.
27948 * kern/main.c: Include <pupa/env.h>.
27949 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27950 using pupa_dl_get_prefix to get the prefix.
27951 * kern/misc.c: Include <pupa/env.h>.
27952 (pupa_isdigit): New function.
27953 (pupa_isgraph): Likewise.
27954 (pupa_ftoa): Likewise.
27955 (pupa_vsprintf): Added support for printing values of the type
27956 `double'. Make it possible to format variable output when using
27957 formatting like `%1.2%f'.
27958 (pupa_split_cmdline): New function.
27959 * kern/rescue.c: Include <pupa/env.h>.
27960 (next_word): Removed function.
27961 (pupa_rescue_cmd_prefix): Likewise.
27962 (pupa_rescue_cmd_set): New function.
27963 (pupa_rescue_cmd_unset): New function.
27964 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27965 split the command line instead of splitting it here. Added
27966 support for setting variables using the syntax `foo=bar'. Don't
27967 initialize the prefix command anymore. Initialized the set and
27968 unset commands.
27969 * normal/cmdline.c: Include <pupa/env.h>.
27970 (pupa_tab_complete): Added prototypes for print_simple_completion,
27971 print_partition_completion, add_completion, iterate_commands,
27972 iterate_dev, iterate_part and iterate_dir. Moved code to print
27973 partition information from here to kern/disk.c.
27974 (pupa_cmdline_run): Don't check if the function exists anymore.
27975 * normal/main.c: Include <pupa/env.h>.
27976 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27977 instead of using pupa_dl_get_prefix to get the prefix.
27978 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27979 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27980 warning.
27981 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27982 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27983 ((unused))' to silence a gcc warning.
27984 (pupa_vga_setcolor): Likewise.
27985 (debug_command): Changed to match argument parsing
27986 interface changes.
27987 * util/pupa-emu.c: Include <pupa/env.h>.
27988 (options): Added 0's for unused fields to silence a gcc warning.
27989 (argp): Likewise.
27990 (main): Use the environment variable `prefix' instead of using
27991 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27992 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27993 and terminal.
27994
27995 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27996 * util/misc.c: Include <malloc.h>.
27997 (pupa_malloc): Rewritten so errors are correctly reported.
27998 (pupa_realloc): Likewise.
27999 (pupa_memalign): Likewise.
28000 (pupa_mm_init_region): Declare unused variables with
28001 `__attribute__ ((unused))' to silence a gcc warning.
28002 * normal/i386/setjmp.S: Remove tab at the end of the file to
28003 silence a gcc warning.
28004 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28005 variables with `__attribute__ ((unused))' to silence a gcc
28006 warning.
28007 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28008 local variable i unsigned to silence a gcc warning.
28009
28010 * kern/term.c: Include <pupa/misc.h>.
28011 (pupa_more_lines): New variable.
28012 (pupa_more): Likewise.
28013 (pupa_putcode): When the pager is active pause at the end of every
28014 screen.
28015 (pupa_set_more): New function.
28016 * include/pupa/term.h (pupa_set_more): New prototype.
28017
28018
28019 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28020
28021 Now this project is GRUB 2 rather than PUPA. The location of
28022 the CVS repository was moved to GRUB's.
28023
28024 * configure.ac: Use bug-grub as the reporting address.
28025 Use GRUB instead of PUPA.
28026 Change the version number to 1.90.
28027
28028 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28029
28030 * genkernsyms.sh: Updated copyright information.
28031 * genmk.rb: Likewise.
28032 * genmodsrc.sh: Likewise.
28033 * gensymlist.sh: Likewise.
28034 * boot/i386/pc/boot.S: Likewise.
28035 * boot/i386/pc/diskboot.S: Likewise.
28036 * disk/i386/pc/biosdisk.c: Likewise.
28037 * disk/i386/pc/partition.c: Likewise.
28038 * font/manager.c: Likewise.
28039 * fs/ext2.c: Likewise.
28040 * fs/fat.c: Likewise.
28041 * include/pupa/boot.h: Likewise.
28042 * include/pupa/device.h: Likewise.
28043 * include/pupa/disk.h: Likewise.
28044 * include/pupa/dl.h: Likewise.
28045 * include/pupa/elf.h: Likewise.
28046 * include/pupa/err.h: Likewise.
28047 * include/pupa/file.h: Likewise.
28048 * include/pupa/font.h: Likewise.
28049 * include/pupa/fs.h: Likewise.
28050 * include/pupa/kernel.h: Likewise.
28051 * include/pupa/loader.h: Likewise.
28052 * include/pupa/misc.h: Likewise.
28053 * include/pupa/mm.h: Likewise.
28054 * include/pupa/net.h: Likewise.
28055 * include/pupa/normal.h: Likewise.
28056 * include/pupa/rescue.h: Likewise.
28057 * include/pupa/setjmp.h: Likewise.
28058 * include/pupa/symbol.h: Likewise.
28059 * include/pupa/term.h: Likewise.
28060 * include/pupa/types.h: Likewise.
28061 * include/pupa/i386/setjmp.h: Likewise.
28062 * include/pupa/i386/types.h: Likewise.
28063 * include/pupa/i386/pc/biosdisk.h: Likewise.
28064 * include/pupa/i386/pc/boot.h: Likewise.
28065 * include/pupa/i386/pc/console.h: Likewise.
28066 * include/pupa/i386/pc/init.h: Likewise.
28067 * include/pupa/i386/pc/kernel.h: Likewise.
28068 * include/pupa/i386/pc/linux.h: Likewise.
28069 * include/pupa/i386/pc/loader.h: Likewise.
28070 * include/pupa/i386/pc/memory.h: Likewise.
28071 * include/pupa/i386/pc/multiboot.h: Likewise.
28072 * include/pupa/i386/pc/partition.h: Likewise.
28073 * include/pupa/i386/pc/time.h: Likewise.
28074 * include/pupa/i386/pc/vga.h: Likewise.
28075 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28076 * include/pupa/util/getroot.h: Likewise.
28077 * include/pupa/util/misc.h: Likewise.
28078 * include/pupa/util/resolve.h: Likewise.
28079 * kern/device.c: Likewise.
28080 * kern/disk.c: Likewise.
28081 * kern/dl.c: Likewise.
28082 * kern/err.c: Likewise.
28083 * kern/file.c: Likewise.
28084 * kern/fs.c: Likewise.
28085 * kern/loader.c: Likewise.
28086 * kern/main.c: Likewise.
28087 * kern/misc.c: Likewise.
28088 * kern/mm.c: Likewise.
28089 * kern/rescue.c: Likewise.
28090 * kern/term.c: Likewise.
28091 * kern/i386/dl.c: Likewise.
28092 * kern/i386/pc/init.c: Likewise.
28093 * kern/i386/pc/lzo1x.S: Likewise.
28094 * kern/i386/pc/startup.S: Likewise.
28095 * loader/i386/pc/chainloader.c: Likewise.
28096 * loader/i386/pc/linux.c: Likewise.
28097 * loader/i386/pc/multiboot.c: Likewise.
28098 * normal/cmdline.c: Likewise.
28099 * normal/command.c: Likewise.
28100 * normal/main.c: Likewise.
28101 * normal/menu.c: Likewise.
28102 * normal/i386/setjmp.S: Likewise.
28103 * term/i386/pc/console.c: Likewise.
28104 * term/i386/pc/vga.c: Likewise.
28105 * util/console.c: Likewise.
28106 * util/genmoddep.c: Likewise.
28107 * util/misc.c: Likewise.
28108 * util/pupa-emu.c: Likewise.
28109 * util/resolve.c: Likewise.
28110 * util/unifont2pff.rb: Likewise.
28111 * util/i386/pc/biosdisk.c: Likewise.
28112 * util/i386/pc/getroot.c: Likewise.
28113 * util/i386/pc/pupa-mkimage.c: Likewise.
28114 * util/i386/pc/pupa-setup.c: Likewise.
28115
28116 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28117
28118 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28119 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28120 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28121 reading and reset it after reading.
28122 (pupa_ext2_close): Return PUPA_ERR_NONE.
28123
28124 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28125 Correct value.
28126 (struct linux_kernel_header): Add kernel_version and
28127 initrd_addr_max.
28128 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28129 pupa_file_read succeeds.
28130 (pupa_rescue_cmd_initrd): Implement.
28131
28132 2003-12-03 Marco Gerards <metgerards@student.han.nl>
28133
28134 * fs/ext2.c (pupa_ext2_label): New function.
28135 (pupa_ext2_fs): Added label.
28136 * fs/fat.c (pupa_fat_label): New function.
28137 (pupa_fat_fs): Added label.
28138 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28139
28140 * kern/misc.c (pupa_strndup): New function.
28141 * include/pupa/misc.h (pupa_strndup): New prototype.
28142
28143 * include/pupa/normal.h: Include <pupa/err.h>.
28144 (pupa_set_history): New prototype.
28145 (pupa_iterate_commands): New prototype.
28146 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28147 <pupa/disk.h>, <pupa/file.h>.
28148 (hist_size): New variable.
28149 (hist_lines): Likewise.
28150 (hist_end): Likewise.
28151 (hist_used): Likewise.
28152 (pupa_set_history): New function.
28153 (pupa_history_get): Likewise.
28154 (pupa_history_add): Likewise.
28155 (pupa_history_replace): Likewise.
28156 (pupa_tab_complete): Likewise.
28157 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28158 completion shows partitionnames while completing partitions, this
28159 feature was suggested by Jeff Bailey.
28160 * normal/command.c (pupa_iterate_commands): New function.
28161 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28162 (pupa_normal_init): Initialize history buffer.
28163 (PUPA_MOD_INIT): Likewise.
28164 (pupa_normal_fini): Free the history buffer.
28165 (PUPA_MOD_FINI): Likewise.
28166
28167 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28168 key.
28169
28170 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28171 * configure.ac [i386]: Check for regparam bug.
28172 (NESTED_FUNC_ATTR) [! i386]: Defined.
28173
28174 2003-11-17 Marco Gerards <metgerards@student.han.nl>
28175
28176 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28177 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28178 (pupa_emu_SOURCES): New variable.
28179 (pupa_emu_LDFLAGS): Likewise.
28180 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28181 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28182 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28183 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28184 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28185 (pupa_jmp_buf): New typedef.
28186 (pupa_setjmp) [PUPA_UTIL]: New macro.
28187 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28188 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28189 (pupa_refresh): New prototype.
28190 * include/pupa/util/getroot.h: New file.
28191 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28192 it.
28193 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28194 (pupa_rescue_cmd_cat): Likewise.
28195 (pupa_rescue_cmd_ls): Likewise.
28196 (pupa_rescue_cmd_testload): Likewise.
28197 (pupa_rescue_cmd_lsmod): Likewise.
28198 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28199 * normal/menu.c (run_menu): Likewise.
28200 * kern/term.c (pupa_cls): Likewise.
28201 (pupa_refresh): New function.
28202 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28203 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28204 * util/console.c: New file.
28205
28206 * util/i386/pc/getroot.c: New file.
28207 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28208 (pupa_putchar): New function.
28209 (pupa_refresh): Likewise.
28210 (xgetcwd): Function moved to ...
28211 (strip_extra_slashes): Likewise.
28212 (get_prefix): Likewise.
28213 * util/i386/pc/getroot.c: ... here.
28214 (find_root_device): Function moved and renamed to...
28215 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28216 Changed all callers.
28217 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28218 and renamed to...
28219 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28220 Changed all callers.
28221 * util/misc.c (pupa_memalign): New function.
28222 (pupa_mm_init_region): Likewise.
28223 (pupa_register_exported_symbols): Likewise.
28224 (pupa_putchar): Function removed.
28225 * util/pupa-emu.c: New file.
28226
28227 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28228
28229 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28230 (_multiboot_mod_SOURCES): New variable.
28231 (_multiboot_mod_CFLAGS): Likewise.
28232 * loader/i386/pc/multiboot.c: New file.
28233 * include/pupa/i386/pc/multiboot.h: Likewise.
28234 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28235 (pupa_multiboot_real_boot): New function.
28236 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28237 (pupa_multiboot_real_boot): New prototype.
28238 (pupa_rescue_cmd_multiboot): Likewise
28239 (pupa_rescue_cmd_module): Likewise.
28240
28241 * kern/loader.c (pupa_loader_set): Continue when
28242 pupa_loader_unload_func() fails.
28243 (pupa_loader_unset): New function.
28244 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28245
28246 * kern/misc.c (pupa_stpcpy): New function.
28247 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28248
28249 2003-11-12 Marco Gerards <metgerards@student.han.nl>
28250
28251 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28252 for available extensions.
28253
28254 * include/pupa/i386/pc/time.h: New file.
28255 * kern/disk.c: Include <pupa/machine/time.h>.
28256 (PUPA_CACHE_TIMEOUT): New macro.
28257 (pupa_last_time): New variable.
28258 (pupa_disk_open): Flush the cache when there was a timeout.
28259 (pupa_disk_close): Reset the timer.
28260 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28261 pupa_currticks.
28262 * util/misc.c: Include <sys/times.h>
28263 (pupa_get_rtc): New function.
28264
28265 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28266
28267 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28268 as blocks.
28269 (pupa_ext2_get_file_block): Use blocks member.
28270
28271 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28272 first block. Return -1 instead of pupa_errno on error.
28273
28274 2003-10-27 Marco Gerards <metgerards@student.han.nl>
28275
28276 * README: In the pupa-mkimage example use _chain instead of chain
28277 and ext2 instead of fat.
28278 * TODO: Replace ext2fs with jfs as an example. Add an item for
28279 adding journal playback for ext2fs.
28280 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28281 (pkgdata_MODULES): Added ext2.mod.
28282 (ext2_mod_SOURCES): New variable.
28283 (ext2_mod_CFLAGS): Likewise.
28284 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28285 * include/pupa/misc.h (pupa_strncpy): New prototype.
28286 (pupa_strcat): Likewise.
28287 (pupa_strncmp): Likewise.
28288 * kern/misc.c (pupa_strcat): Enable function.
28289 (pupa_strncpy): New function.
28290 (pupa_strncmp): Likewise.
28291 * fs/ext2.c: New file.
28292
28293 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28294 when the read failed before retrying.
28295 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28296 (_FILE_OFFSET_BITS): Likewise.
28297 * configure.ac: Added AC_SYS_LARGEFILE.
28298
28299 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28300
28301 * genmk.rb (PModule#rule): Make sure to get only symbol names
28302 from the output of nm.
28303 Reported by Robert Millan <rmh.grub@aybabtu.com>.
28304
28305 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28306
28307 I forgot to check in these changes for a long time. This adds
28308 incomplete support for VGA console, and this is still very
28309 buggy. Also, a lot of consideration is required for I18N,
28310 UNICODE, and VGA font issues. Therefore, assume that this is
28311 such that "better than nothing".
28312
28313 * font/manager.c: New file.
28314 * include/pupa/font.h: Likewise.
28315 * include/pupa/i386/pc/vga.h: Likewise.
28316 * term/i386/pc/vga.c: Likewise.
28317 * util/unifont2pff.rb: Likewise.
28318
28319 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28320 (pkgdata_MODULES): Added vga.mod and font.mod.
28321 (vga_mod_SOURCES): New variables.
28322 (vga_mod_CFLAGS): Likewise.
28323 (font_mod_SOURCES): Likewise.
28324 (font_mod_CFLAGS): Likewise.
28325
28326 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28327
28328 * include/pupa/term.h: Include pupa/err.h.
28329 (struct pupa_term): Added init and fini.
28330 Changed the argument of putchar to pupa_uint32_t.
28331
28332 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28333 (pupa_console_real_putchar): New prototype.
28334 (pupa_console_putchar): Removed.
28335 (pupa_console_checkkey): Exported.
28336 (pupa_console_getkey): Likewise.
28337
28338 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28339 characters.
28340
28341 * kern/term.c (pupa_term_set_current): Rewritten.
28342 (pupa_putchar): Likewise.
28343 (pupa_putcode): New function.
28344
28345 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28346 (pupa_console_real_putchar): ... this.
28347 (pupa_vga_set_mode): New function.
28348 (pupa_vga_get_font): Likewise.
28349
28350 * normal/command.c: Include pupa/term.h.
28351 (terminal_command): New function.
28352 (pupa_command_init): Register the command "terminal".
28353
28354 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28355 (DISP_UP): Likewise.
28356 (DISP_RIGHT): Likewise.
28357 (DISP_DOWN): Likewise.
28358 (DISP_HLINE): Likewise.
28359 (DISP_VLINE): Likewise.
28360 (DISP_UL): Likewise.
28361 (DISP_UR): Likewise.
28362 (DISP_LL): Likewise.
28363 (DISP_LR): Likewise.
28364
28365 * term/i386/pc/console.c (pupa_console_putchar): New function.
28366
28367 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28368
28369 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28370 FIX. Reverse the path_list.
28371
28372 * include/pupa/normal.h: Export pupa_register_command and
28373 pupa_unregister_command.
28374
28375 * hello/hello.c (pupa_cmd_hello): New module.
28376 * conf/i386-pc.rmk: Added hello.mod.
28377
28378 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28379
28380 * kern/i386/pc/lzo1x.S: New file.
28381
28382 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28383 (compress_kernel): New variable.
28384 (generate_image): Heavily modified to support compressing a
28385 large part of the core image.
28386
28387 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28388 leak.
28389 (pupa_util_load_image): New function.
28390
28391 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28392 (pupa_compressed_size): New variable.
28393 (codestart): Enable Gate A20 here.
28394 Decompress the compressed part of the core image.
28395 Rearrange the code to put functions and variables which are
28396 required for initialization in the non-compressed part.
28397 Include lzo1x.S.
28398
28399 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28400 here.
28401
28402 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28403
28404 * include/pupa/i386/pc/kernel.h
28405 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28406 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28407 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28408 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28409 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28410
28411 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28412
28413 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28414 (Utility#rule): Likewise.
28415
28416 * configure.ac: Check if LZO is available.
28417
28418 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28419
28420 * include/pupa/normal.h: New file.
28421 * include/pupa/setjmp.h: Likewise.
28422 * include/pupa/i386/setjmp.h: Likewise.
28423 * normal/cmdline.c: Likewise.
28424 * normal/command.c: Likewise.
28425 * normal/main.c: Likewise.
28426 * normal/menu.c: Likewise.
28427 * normal/i386/setjmp.S: Likewise.
28428
28429 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28430 (pupa_rescue_cmd_initrd): Likewise.
28431
28432 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28433 Likewise.
28434
28435 * kern/i386/pc/startup.S (translation_table): New variable.
28436 (translate_keycode): New function.
28437 (pupa_console_getkey): Call translate_keycode.
28438
28439 * kern/rescue.c (attempt_normal_mode): New function.
28440 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28441 it failed, print a message.
28442
28443 * kern/mm.c (pupa_real_malloc): Print more information when a
28444 free magic is broken.
28445 (pupa_free): If the first free header is not free actually, set
28446 it to P.
28447
28448 * kern/main.c (pupa_load_normal_mode): Just load the module
28449 "normal".
28450 (pupa_main): Don't print the message
28451 "Entering into rescue mode..." here.
28452
28453 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28454 Declared.
28455 (pupa_rescue_cmd_initrd): Likewise.
28456 (pupa_rescue_cmd_initrd): Likewise.
28457
28458 * include/pupa/symbol.h (FUNCTION): Specify the type.
28459 (VARIABLE): Likewise.
28460
28461 * include/pupa/err.h (pupa_err_t): Added
28462 PUPA_ERR_UNKNOWN_COMMAND.
28463
28464 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28465 (pupa_dl_get_prefix): Likewise.
28466
28467 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28468 Added _chain.mod and _linux.mod instead of chain.mod and
28469 linux.mod.
28470 (chain_mod_SOURCES): Renamed to ...
28471 (_chain_mod_SOURCES): ... this.
28472 (chain_mod_CFLAGS): Renamed to ...
28473 (_chain_mod_CFLAGS): ... this.
28474 (linux_mod_SOURCES): Renamed to ...
28475 (_linux_mod_SOURCES): ... this.
28476 (linux_mod_CFLAGS): Renamed to ...
28477 (_linux_mod_CFLAGS): ... this.
28478 (normal_mod_SOURCES): New variable.
28479 (normal_mod_CFLAGS): Likewise.
28480 (normal_mod_ASFLAGS): Likewise.
28481
28482 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28483
28484 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28485 possible.
28486
28487 * kern/dl.c (pupa_dl_ref): Refer depending modules
28488 recursively.
28489 (pupa_dl_unref): Unrefer depending modules recursively.
28490 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28491 a module is unloaded before one depending on that module is
28492 unloaded.
28493 (pupa_dl_unload): Unload depending modules explicitly,
28494 if possible.
28495
28496 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28497
28498 * include/pupa/i386/pc/linux.h: New file.
28499 * loader/i386/pc/linux.c: Likewise.
28500
28501 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28502 Removed.
28503 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28504 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28505 of PUPA_CHAINLOADER_BOOT_SECTOR.
28506
28507 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28508 (pupa_linux_prot_size): New variable.
28509 (pupa_linux_tmp_addr): Likewise.
28510 (pupa_linux_real_addr): Likewise.
28511 (pupa_linux_boot_zimage): New function.
28512 (pupa_linux_boot_bzimage): Likewise.
28513
28514 * kern/i386/pc/init.c (struct mem_region): New structure.
28515 (MAX_REGIONS): New macro.
28516 (mem_regions): New variable.
28517 (num_regions): Likewise.
28518 (pupa_os_area_addr): Likewise.
28519 (pupa_os_area_size): Likewise.
28520 (pupa_lower_mem): Likewise.
28521 (pupa_upper_mem): Likewise.
28522 (add_mem_region): New function.
28523 (compact_mem_regions): Likewise.
28524 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28525 the size of the conventional memory and that of so-called upper
28526 memory (before the first memory hole).
28527 Instead of adding each found region to free memory, use
28528 add_mem_region and add them after removing overlaps.
28529 Also, add only 1/4 of the upper memory to free memory. The rest
28530 is used for loading OS images. Maybe this is ad hoc, but this
28531 makes it much easier to relocate OS images when booting.
28532
28533 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28534 (pupa_enter_rescue_mode): Don't register initrd and module.
28535
28536 * kern/mm.c: Include pupa/dl.h.
28537
28538 * kern/main.c: Include pupa/file.h and pupa/device.h.
28539
28540 * kern/loader.c (pupa_loader_load_module_func): Removed.
28541 (pupa_loader_load_module): Likewise.
28542
28543 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28544 ``.o''.
28545
28546 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28547 (pupa_linux_tmp_addr): Likewise.
28548 (pupa_linux_real_addr): Likewise.
28549 (pupa_linux_boot_zimage): Likewise.
28550 (pupa_linux_boot_bzimage): Likewise.
28551
28552 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28553 (pupa_upper_mem): Likewise.
28554 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28555 module is too dangerous.
28556
28557 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28558 (pupa_os_area_size): Likewise.
28559 (pupa_loader_set): Remove the first argument. Loader doesn't
28560 manage modules or initrd any longer.
28561 (pupa_loader_load_module): Removed.
28562
28563 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28564 (linux_mod_SOURCES): New variable.
28565 (linux_mod_CFLAGS): Likewise.
28566
28567 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28568
28569 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28570 the length of a blocklist correctly.
28571
28572 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28573 Use ioctl only if the OS file is a block device.
28574 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28575 not very useful for normal files.
28576
28577 * kern/main.c (pupa_set_root_dev): New function.
28578 (pupa_load_normal_mode): Likewise.
28579 (pupa_main): Call those above.
28580
28581 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28582 pupa_uint16_t.
28583
28584 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28585
28586 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28587
28588 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28589 (setup): Configure the installed partition information and the
28590 dl prefix.
28591
28592 * loader/i386/pc/chainloader.c (my_mod): New variable.
28593 (pupa_chainloader_unload): New function.
28594 (pupa_rescue_cmd_chainloader): Refer itself.
28595 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28596
28597 * kern/i386/pc/startup.S (install_partition): Removed.
28598 (version_string): Likewise.
28599 (config_file): Likewise.
28600 (pupa_install_dos_part): New variable.
28601 (pupa_install_bsd_part): Likewise.
28602 (pupa_prefix): Likewise.
28603 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28604
28605 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28606 and pupa/misc.h.
28607 (make_install_device): New function.
28608 (pupa_machine_init): Set the dl prefix.
28609
28610 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28611 (buf): Renamed to ...
28612 (linebuf): ... this.
28613 (pupa_rescue_cmd_prefix): New function.
28614 (pupa_rescue_cmd_insmod): Likewise.
28615 (pupa_rescue_cmd_rmmod): Likewise.
28616 (pupa_rescue_cmd_lsmod): Likewise.
28617 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28618 rmmod and lsmod.
28619
28620 * kern/mm.c (pupa_memalign): If failed even after invalidating
28621 disk caches, unload unneeded modules and retry.
28622
28623 * kern/misc.c (pupa_memmove): New function.
28624 (pupa_memcpy): Removed.
28625 (pupa_strcpy): New function.
28626 (pupa_itoa): Made static.
28627
28628 * kern/dl.c (pupa_dl_iterate): New function.
28629 (pupa_dl_ref): Likewise.
28630 (pupa_dl_unref): Likewise.
28631 (pupa_dl_unload): Return if succeeded or not.
28632 (pupa_dl_unload_unneeded): New function.
28633 (pupa_dl_unload_all): Likewise.
28634 (pupa_dl_init): Renamed to ...
28635 (pupa_dl_set_prefix): ... this.
28636 (pupa_dl_get_prefix): New function.
28637
28638 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28639 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28640 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28641 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28642 (pupa_install_dos_part): Declared.
28643 (pupa_install_bsd_part): Likewise.
28644 (pupa_prefix): Likewise.
28645 (pupa_boot_drive): Likewise.
28646
28647 * include/pupa/types.h: Fix a typo.
28648
28649 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28650 pupa_memmove.
28651 (pupa_memmove): Declared.
28652 (pupa_strcpy): Likewise.
28653
28654 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28655 pupa_mod_init takes one argument, its own module.
28656 (pupa_dl_unload_unneeded): Declared.
28657 (pupa_dl_unload_all): Likewise.
28658 (pupa_dl_ref): Likewise.
28659 (pupa_dl_unref): Likewise.
28660 (pupa_dl_iterate): Likewise.
28661 (pupa_dl_init): Renamed to ...
28662 (pupa_dl_set_prefix): ... this.
28663 (pupa_dl_get_prefix): Declared.
28664
28665 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
28666 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
28667 unloaded.
28668 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28669 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28670
28671 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28672 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28673
28674 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28675
28676 * util/i386/pc/pupa-setup.c (setup): Define the internal
28677 function find_first_partition_start at the top level, because GCC
28678 3.0.x cannot compile internal functions in deeper scopes
28679 correctly.
28680 (find_root_device): Use lstat instead of stat.
28681 Don't follow symbolic links.
28682 Fix the path-constructing code.
28683
28684 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28685 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28686 by a BLKGETSIZE ioctl first, because block devices don't fill
28687 the member st_mode of the structure stat on Linux.
28688 [__linux__] (linux_find_partition): Use a temporary buffer
28689 REAL_DEV for the working space. Copy it to DEV before returning.
28690 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28691 buffer cache consistent.
28692 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28693 strncmp. The previous value was merely wrong.
28694 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28695
28696 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28697 FAT size is 12. The previous value was merely wrong.
28698
28699 * kern/main.c (pupa_main): Don't split the starting message from
28700 newlines.
28701
28702 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28703 LF, because BIOS goes crazy about character attributes in this
28704 case.
28705
28706 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28707
28708 * include/i386/pc/util/biosdisk.h: New file.
28709 * util/i386/pc/biosdisk.c: Likewise.
28710 * util/i386/pc/pupa-setup.c: Likewise.
28711
28712 * Makefile.in (INCLUDE_DISTFILES): Added
28713 include/pupa/i386/pc/util/biosdisk.h.
28714 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28715 directory util/i386/pc.
28716 (install-local): Added a rule for sbin_UTILITIES.
28717 (uninstall): Likewise.
28718
28719 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28720
28721 * util/misc.c (xrealloc): New function.
28722 (pupa_malloc): Likewise.
28723 (pupa_free): Likewise.
28724 (pupa_realloc): Likewise.
28725 (pupa_stop): Likewise.
28726 (pupa_putchar): Likewise.
28727
28728 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28729
28730 * include/pupa/util/misc.h (xrealloc): Declared.
28731
28732 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28733 macro.
28734 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28735 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28736
28737 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28738 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28739
28740 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28741 way should be implemented.
28742 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28743
28744 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28745 the size of NAME for safety.
28746 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28747 0x88.
28748
28749 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28750 (pupa_setup_SOURCES): Likewise.
28751
28752 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28753
28754 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28755
28756 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28757 bunch of pushl's from pusha, because this destroys the return
28758 value.
28759
28760 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28761
28762 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28763 This means that any missing prototypes could be fatal. Also, you
28764 must take care when writing assembly code. See the comments at
28765 the beginning of startup.S, for more details.
28766
28767 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28768 compilation mechanism.
28769 (pupa_chainloader_real_boot): Likewise.
28770 (pupa_biosdisk_rw_int13_extensions): Likewise.
28771 (pupa_biosdisk_rw_standard): Likewise.
28772 (pupa_biosdisk_check_int13_extensions): Likewise.
28773 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28774 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28775 (pupa_get_memsize): Likewise.
28776 (pupa_get_mmap_entry): Likewise.
28777 (pupa_console_putchar): Likewise.
28778 (pupa_console_setcursor): Likewise.
28779 (pupa_getrtsecs): Use pushl instead of push.
28780
28781 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28782 memory instead of the stack for a mmap entry, because some
28783 BIOSes may ignore the maximum size and overflow.
28784
28785 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28786
28787 * genmk.rb (PModule#rule): Compile automatically generated
28788 sources with module-specific CFLAGS as well as other sources.
28789
28790 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28791
28792 * configure.ac: Check ld.
28793 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28794 respectively, before checking endianness and sizes.
28795
28796 * Makefile.in (LD): New variable.
28797
28798 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28799
28800 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28801
28802 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28803
28804 * Changelog: New file.
28805